implemented server database and api for client database

This commit is contained in:
2025-12-21 20:29:35 +05:00
parent 49793e2929
commit d461cae077
32 changed files with 538 additions and 413 deletions

View File

@@ -0,0 +1,30 @@
#pragma once
#include "tcp-chat/tcp-chat.h"
#include "tsqlite.h"
#include "network/tcp-chat-protocol/v1.h"
#include "tlibc/collections/List.h"
/// @brief open DB and create tables
Result(tsqlite_connection* db) ClientDatabase_open(cstr file_path);
typedef struct ClientQueries ClientQueries;
Result(ClientQueries*) ClientQueries_compile(tsqlite_connection* db);
void ClientQueries_free(ClientQueries* self);
typedef struct SavedServer {
str address;
str pk_base64;
str name;
str description;
} SavedServer;
List_declare(SavedServer);
void SavedServer_destroy(SavedServer* self);
/// @brief insert new DB row or update existing
Result(void) SavedServer_save(ClientQueries* q, SavedServer* server);
/// @param dst_list there SavedServer values are pushed
Result(void) SavedServer_getAll(ClientQueries* q, List(SavedServer)* dst_list);