diff options
| author | 2023-10-22 09:00:37 +0200 | |
|---|---|---|
| committer | 2023-10-22 09:00:37 +0200 | |
| commit | 0d78deef42cd1e5d461d98d2acefd4266d323046 (patch) | |
| tree | a6187aa52656349b707fa48f266d040361ab65cb /utils.c | |
| parent | Backport from xs. (diff) | |
| download | penes-snac2-0d78deef42cd1e5d461d98d2acefd4266d323046.tar.gz penes-snac2-0d78deef42cd1e5d461d98d2acefd4266d323046.tar.xz penes-snac2-0d78deef42cd1e5d461d98d2acefd4266d323046.zip | |
New function deluser(), to delete a user.
Only unfollows by now.
Diffstat (limited to '')
| -rw-r--r-- | utils.c | 26 |
1 files changed, 26 insertions, 0 deletions
| @@ -337,3 +337,29 @@ int resetpwd(snac *snac) | |||
| 337 | 337 | ||
| 338 | return ret; | 338 | return ret; |
| 339 | } | 339 | } |
| 340 | |||
| 341 | |||
| 342 | int deluser(snac *user) | ||
| 343 | /* deletes a user */ | ||
| 344 | { | ||
| 345 | int ret = 0; | ||
| 346 | xs *fwers = following_list(user); | ||
| 347 | xs_list *p = fwers; | ||
| 348 | xs_str *v; | ||
| 349 | |||
| 350 | while (xs_list_iter(&p, &v)) { | ||
| 351 | xs *object = NULL; | ||
| 352 | |||
| 353 | if (valid_status(following_get(user, v, &object))) { | ||
| 354 | xs *msg = msg_undo(user, xs_dict_get(object, "object")); | ||
| 355 | |||
| 356 | following_del(user, v); | ||
| 357 | |||
| 358 | enqueue_output_by_actor(user, msg, v, 0); | ||
| 359 | |||
| 360 | printf("Unfollowing actor %s\n", v); | ||
| 361 | } | ||
| 362 | } | ||
| 363 | |||
| 364 | return ret; | ||
| 365 | } | ||