2021-08-22 15:34:28 -04:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <quickjs.h>
|
|
|
|
#include <stdbool.h>
|
|
|
|
|
|
|
|
typedef struct _tf_ssb_t tf_ssb_t;
|
|
|
|
|
|
|
|
void tf_ssb_db_init(tf_ssb_t* ssb);
|
2022-02-02 21:00:05 -05:00
|
|
|
bool tf_ssb_db_store_message(tf_ssb_t* ssb, JSContext* context, const char* id, JSValue val, const char* signature, bool sequence_before_author);
|
2021-08-22 15:41:27 -04:00
|
|
|
bool tf_ssb_db_message_content_get(tf_ssb_t* ssb, const char* id, uint8_t** out_blob, size_t* out_size);
|
|
|
|
bool tf_ssb_db_blob_get(tf_ssb_t* ssb, const char* id, uint8_t** out_blob, size_t* out_size);
|
|
|
|
bool tf_ssb_db_blob_store(tf_ssb_t* ssb, const uint8_t* blob, size_t size, char* out_id, size_t out_id_size);
|
2021-08-22 15:34:28 -04:00
|
|
|
|
2021-08-22 15:41:27 -04:00
|
|
|
bool tf_ssb_db_get_message_by_author_and_sequence(tf_ssb_t* ssb, const char* author, int64_t sequence, char* out_message_id, size_t out_message_id_size, int64_t* out_timestamp, char** out_content);
|
|
|
|
bool tf_ssb_db_get_latest_message_by_author(tf_ssb_t* ssb, const char* author, int64_t* out_sequence, char* out_message_id, size_t out_message_id_size);
|
|
|
|
void tf_ssb_db_visit_query(tf_ssb_t* ssb, const char* query, const JSValue binds, void (*callback)(JSValue row, void* user_data), void* user_data);
|
2022-02-09 22:58:33 -05:00
|
|
|
|
|
|
|
typedef struct sqlite3 sqlite3;
|
|
|
|
bool tf_ssb_db_check(sqlite3* db);
|