snac2

Fork of https://codeberg.org/grunfink/snac2
git clone https://git.inz.fi/snac2
Log | Files | Refs | README | LICENSE

commit bec8e88fb9082eda0b1a86bf15e0398d51a34dd6
parent a3eb84b932656e24823e2b886ef8fcd9265ea806
Author: default <nobody@localhost>
Date:   Wed, 31 May 2023 11:13:06 +0200

Started voting on mastoapi (non-working).

Diffstat:
Mmastoapi.c | 37+++++++++++++++++++++++++++++++++++++
1 file changed, 37 insertions(+), 0 deletions(-)

diff --git a/mastoapi.c b/mastoapi.c @@ -2120,6 +2120,43 @@ int mastoapi_post_handler(const xs_dict *req, const char *q_path, else status = 401; } + else + if (xs_startswith(cmd, "/v1/polls")) { /** **/ + if (logged_in) { + /* operations on a status */ + xs *l = xs_split(cmd, "/"); + const char *mid = xs_list_get(l, 3); + const char *op = xs_list_get(l, 4); + + if (!xs_is_null(mid)) { + xs *msg = NULL; + xs *out = NULL; + + /* skip the 'fake' part of the id */ + mid = MID_TO_MD5(mid); + + if (valid_status(timeline_get_by_md5(&snac, mid, &msg))) { + if (op == NULL) { + } + else + if (strcmp(op, "votes") == 0) { + const char *opts = xs_dict_get(args, "choices[]"); + + if (xs_type(opts) == XSTYPE_LIST) { + } + } + } + + if (out != NULL) { + *body = xs_json_dumps_pp(out, 4); + *ctype = "application/json"; + status = 200; + } + } + } + else + status = 401; + } /* user cleanup */ if (logged_in)