Procházet zdrojové kódy

In mastoapi, notes can be pinned / unpinned.

default před 3 roky
rodič
revize
d1add0598a
1 změnil soubory, kde provedl 10 přidání a 3 odebrání
  1. 10 3
      mastoapi.c

+ 10 - 3
mastoapi.c

@@ -863,7 +863,8 @@ xs_dict *mastoapi_status(snac *snac, const xs_dict *msg)
         st = xs_dict_append(st, "poll", xs_stock_null);
 
     st = xs_dict_append(st, "bookmarked", xs_stock_false);
-    st = xs_dict_append(st, "pinned", xs_stock_false);
+
+    st = xs_dict_append(st, "pinned", is_pinned(snac, id) ? xs_stock_true : xs_stock_false);
 
     return st;
 }
@@ -1932,11 +1933,17 @@ int mastoapi_post_handler(const xs_dict *req, const char *q_path,
                     }
                     else
                     if (strcmp(op, "pin") == 0) { /** **/
-                        /* snac does not support pinning */
+                        /* pin this message */
+                        if (pin(&snac, id))
+                            out = mastoapi_status(&snac, msg);
+                        else
+                            status = 422;
                     }
                     else
                     if (strcmp(op, "unpin") == 0) { /** **/
-                        /* snac does not support pinning */
+                        /* unpin this message */
+                        unpin(&snac, id);
+                        out = mastoapi_status(&snac, msg);
                     }
                     else
                     if (strcmp(op, "mute") == 0) { /** **/