summaryrefslogtreecommitdiff
path: root/upgrade.c
diff options
context:
space:
mode:
authorGravatar default2022-12-03 18:41:44 +0100
committerGravatar default2022-12-03 18:41:44 +0100
commit67a81a7bf9c65b1d7ec5cb5ac255169222be24ac (patch)
tree1dac593df32695b98a69389003843903142c1610 /upgrade.c
parentAlways show who boosted something, not only when it's on level 0. (diff)
downloadpenes-snac2-67a81a7bf9c65b1d7ec5cb5ac255169222be24ac.tar.gz
penes-snac2-67a81a7bf9c65b1d7ec5cb5ac255169222be24ac.tar.xz
penes-snac2-67a81a7bf9c65b1d7ec5cb5ac255169222be24ac.zip
Upgrade timeline/ to private/.
Diffstat (limited to 'upgrade.c')
-rw-r--r--upgrade.c58
1 files changed, 58 insertions, 0 deletions
diff --git a/upgrade.c b/upgrade.c
index dbf878b..4eb211e 100644
--- a/upgrade.c
+++ b/upgrade.c
@@ -230,6 +230,64 @@ int db_upgrade(d_char **error)
230 230
231 nf = 2.6; 231 nf = 2.6;
232 } 232 }
233 else
234 if (f < 2.7) {
235 /* upgrade timeline/ to private/ */
236 xs *users = user_list();
237 char *p, *v;
238
239 p = users;
240 while (xs_list_iter(&p, &v)) {
241 snac snac;
242
243 if (user_open(&snac, v)) {
244 xs *spec = xs_fmt("%s/timeline/" "*.json", snac.basedir);
245 xs *dir = xs_glob(spec, 0, 0);
246 char *p, *v;
247
248 p = dir;
249 while (xs_list_iter(&p, &v)) {
250 FILE *f;
251
252 if ((f = fopen(v, "r")) != NULL) {
253 xs *s = xs_readall(f);
254 xs *o = xs_json_loads(s);
255 fclose(f);
256
257 xs *meta = xs_dup(xs_dict_get(o, "_snac"));
258 o = xs_dict_del(o, "_snac");
259
260 char *id = xs_dict_get(o, "id");
261
262 /* store object */
263 object_add_ow(id, o);
264
265 {
266 char *p, *v;
267
268 object_user_cache_add(&snac, id, "private");
269
270 p = xs_dict_get(meta, "announced_by");
271 while (xs_list_iter(&p, &v))
272 object_admire(id, v, 0);
273 p = xs_dict_get(meta, "liked_by");
274 while (xs_list_iter(&p, &v))
275 object_admire(id, v, 1);
276 }
277
278 unlink(v);
279 }
280 }
281
282 xs *od = xs_fmt("%s/timeline", snac.basedir);
283 rmdir(od);
284
285 user_free(&snac);
286 }
287 }
288
289 nf = 2.7;
290 }
233 291
234 if (f < nf) { 292 if (f < nf) {
235 f = nf; 293 f = nf;