implemented server database and api for client database
This commit is contained in:
30
src/cli/ClientCLI/db/client_db.h
Normal file
30
src/cli/ClientCLI/db/client_db.h
Normal 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);
|
||||
Reference in New Issue
Block a user