From 0d88ccf0c4b424ae2aaa3867c7ec909e927c49eb Mon Sep 17 00:00:00 2001 From: Alec Murphy Date: Fri, 21 Mar 2025 09:18:51 -0400 Subject: [PATCH] Slon/Api/V1/Statuses: Don't require authorization for 'context' endpoint --- Slon/Api/V1/Statuses.HC | 44 ++++++++++++++++++++--------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/Slon/Api/V1/Statuses.HC b/Slon/Api/V1/Statuses.HC index 18a5092..394948f 100644 --- a/Slon/Api/V1/Statuses.HC +++ b/Slon/Api/V1/Statuses.HC @@ -213,31 +213,31 @@ U0 @slon_api_v1_statuses_get(SlonHttpSession* session) JsonItem* poll_choice = NULL; JsonArray* own_votes = NULL; + if (session->path_count() > 4 && !StrICmp("context", session->path(4))) { + JsonObject* context = Json.CreateObject(slon_mem_task); + context->set("ancestors", Json.CreateArray(slon_mem_task), JSON_ARRAY); + + // Get ancestors + id = session->path(3); + status = @slon_api_find_status_by_id(id, NULL); + while (status && status->@("in_reply_to_id")) { + status = @slon_api_find_status_by_id(status->@("in_reply_to_id"), status->@("in_reply_to_acct_id")); + if (status) { + context->a("ancestors")->append(status); + } + } + + // Get descendants + id = session->path(3); + context->set("descendants", @slon_api_v1_statuses_find_descendants_by_id(id), JSON_ARRAY); + + session->send(context); + return; + } + if (@slon_api_authorized(session)) { SLON_AUTH_ACCOUNT_ID - if (session->path_count() > 4 && !StrICmp("context", session->path(4))) { - JsonObject* context = Json.CreateObject(slon_mem_task); - context->set("ancestors", Json.CreateArray(slon_mem_task), JSON_ARRAY); - - // Get ancestors - id = session->path(3); - status = @slon_api_find_status_by_id(id, NULL); - while (status && status->@("in_reply_to_id")) { - status = @slon_api_find_status_by_id(status->@("in_reply_to_id"), status->@("in_reply_to_acct_id")); - if (status) { - context->a("ancestors")->append(status); - } - } - - // Get descendants - id = session->path(3); - context->set("descendants", @slon_api_v1_statuses_find_descendants_by_id(id), JSON_ARRAY); - - session->send(context); - return; - } - status = @slon_api_find_status_by_id(id, NULL); if (status) { status = Json.Clone(status, session->mem_task);