mirror of
https://git.checksum.fail/alec/slon.git
synced 2025-12-08 20:19:56 +02:00
@@ -133,6 +133,20 @@ JsonObject* @slon_api_account_by_remote_actor(U8* remote_actor)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
JsonObject* @slon_api_announcement_by_id(U8* id)
|
||||
{
|
||||
if (!id || !StrLen(id))
|
||||
return NULL;
|
||||
JsonArray* announcements = db->a("announcements");
|
||||
I64 i;
|
||||
for (i = 0; i < announcements->length; i++) {
|
||||
if (!StrICmp(announcements->o(i)->@("id"), id)) {
|
||||
return announcements->o(i);
|
||||
}
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
U0 @slon_api_async_upload_to_catbox(SlonCatboxUpload* cb)
|
||||
{
|
||||
if (!cb) {
|
||||
|
||||
@@ -51,6 +51,13 @@ U0 @slon_db_load_apps_from_disk()
|
||||
db->set("apps", Json.ParseFile(scratch_buffer, slon_db_mem_task), JSON_OBJECT);
|
||||
}
|
||||
|
||||
U0 @slon_db_load_announcements_from_disk()
|
||||
{
|
||||
U8 scratch_buffer[256];
|
||||
StrPrint(scratch_buffer, "%s/announcements.json", SLON_DB_PATH);
|
||||
db->set("announcements", Json.ParseFile(scratch_buffer, slon_db_mem_task), JSON_ARRAY);
|
||||
}
|
||||
|
||||
U0 @slon_db_load_instance_from_disk()
|
||||
{
|
||||
U8 scratch_buffer[256];
|
||||
@@ -230,6 +237,13 @@ U0 @slon_db_save_apps_to_disk()
|
||||
Json.DumpToFile(scratch_buffer, db->o("apps"), slon_db_mem_task);
|
||||
}
|
||||
|
||||
U0 @slon_db_save_announcements_to_disk()
|
||||
{
|
||||
U8 scratch_buffer[256];
|
||||
StrPrint(scratch_buffer, "%s/announcements.json", SLON_DB_PATH);
|
||||
Json.DumpToFile(scratch_buffer, db->a("announcements"), slon_db_mem_task);
|
||||
}
|
||||
|
||||
U0 @slon_db_save_instance_to_disk()
|
||||
{
|
||||
U8 scratch_buffer[256];
|
||||
@@ -328,6 +342,7 @@ U0 @slon_db_save_to_disk()
|
||||
{
|
||||
@slon_db_save_accounts_to_disk();
|
||||
@slon_db_save_actors_to_disk();
|
||||
@slon_db_save_announcements_to_disk();
|
||||
@slon_db_save_apps_to_disk();
|
||||
@slon_db_save_followers_to_disk();
|
||||
@slon_db_save_following_to_disk();
|
||||
@@ -344,6 +359,7 @@ U0 @slon_db_load_from_defaults()
|
||||
{
|
||||
db->set("accounts", Json.CreateArray(slon_db_mem_task), JSON_ARRAY);
|
||||
db->set("actors", Json.CreateObject(slon_db_mem_task), JSON_OBJECT);
|
||||
db->set("announcements", Json.CreateArray(slon_db_mem_task), JSON_ARRAY);
|
||||
db->set("apps", Json.CreateObject(slon_db_mem_task), JSON_OBJECT);
|
||||
db->set("idempotency_keys", Json.CreateObject(slon_db_mem_task), JSON_OBJECT);
|
||||
db->set("private_keys", Json.CreateObject(slon_db_mem_task), JSON_OBJECT);
|
||||
@@ -372,6 +388,7 @@ U0 @slon_db_load_from_disk()
|
||||
{
|
||||
@slon_db_load_accounts_from_disk();
|
||||
@slon_db_load_actors_from_disk();
|
||||
@slon_db_load_announcements_from_disk();
|
||||
@slon_db_load_apps_from_disk();
|
||||
db->set("idempotency_keys", Json.CreateObject(slon_db_mem_task), JSON_OBJECT);
|
||||
@slon_db_load_private_keys_from_disk();
|
||||
|
||||
Reference in New Issue
Block a user