"foreign key (default_collection_id) references collections(collection_id), " \
"unique (host, user, profile_name)" \
");"
+#define SQL_CREATE_TABLE_RESOURCE "create table resources( " \
+ "resource_id integer primary key, " \
+ "parent_id integer, " \
+ "name text, " \
+ "title text, " \
+ "lastmodified text, " \
+ "creationdate text, " \
+ "contentlength integer, " \
+ "content text, " \
+ "bin_content blob, " \
+ "note_item integer, " \
+ "created_by text, " \
+ "foreign key (parent_id) references collections(collection_id), " \
+ "unique (parent_id, name) " \
+ ");"
int store_sqlite_init_db(DBUConnection *connection) {
char *sql[] = {
SQL_CREATE_TABLE_NOTEDB,
SQL_CREATE_TABLE_REPOSITORIES,
SQL_CREATE_TABLE_COLLECTIONS,
- SQL_CREATE_TABLE_USER_SETTINGS
+ SQL_CREATE_TABLE_USER_SETTINGS,
+ SQL_CREATE_TABLE_RESOURCE
};
int nsql = sizeof(sql) / sizeof(char*);
DBUClass *usersettings_class;
DBUClass *repository_class;
DBUClass *collection_class;
+DBUClass *resource_class;
DBUContext* get_dbu_context() {
return ctx;
dbuClassAdd(collection_class, Collection, name);
dbuClassAdd(collection_class, Collection, display_name);
dbuClassAdd(collection_class, Collection, type);
+
+ resource_class = dbuRegisterClass(ctx, "resources", Resource, resource_id);
+ dbuClassAdd(resource_class, Resource, resource_id);
+ dbuClassAdd(resource_class, Resource, parent_id);
+ dbuClassAdd(resource_class, Resource, name);
+ dbuClassAdd(resource_class, Resource, title);
+ dbuClassAdd(resource_class, Resource, lastmodified);
+ dbuClassAdd(resource_class, Resource, creationdate);
+ dbuClassAdd(resource_class, Resource, contentlength);
+ dbuClassAdd(resource_class, Resource, content);
+ dbuClassAdd(resource_class, Resource, bin_content);
+ dbuClassAdd(resource_class, Resource, note_item);
+ dbuClassAdd(resource_class, Resource, created_by);
}
\ No newline at end of file
#define APP_TYPES_H
#include "../dbutils/dbutils/dbutils.h"
+#include <cx/string.h>
#ifdef __cplusplus
extern "C" {
typedef struct UserSettings UserSettings;
typedef struct Repository Repository;
typedef struct Collection Collection;
+typedef struct Resource Resource;
struct UserSettings {
char *host;
CxList *children;
};
+struct Resource {
+ int64_t resource_id;
+ int64_t parent_id;
+ char *name;
+ char *title;
+ char *lastmodified;
+ char *creationdate;
+ uint64_t contentlength;
+ cxmutstr content;
+ cxmutstr bin_content;
+ bool note_item;
+ char *created_by;
+};
+
extern DBUClass *usersettings_class;
extern DBUClass *repository_class;
extern DBUClass *collection_class;
+extern DBUClass *resource_class;
void register_types();