outline model inits/getter
This commit is contained in:
parent
b5773c0a03
commit
bcb08712c6
5 changed files with 76 additions and 16 deletions
|
@ -2,21 +2,27 @@
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
|
||||||
|
#include "util.h"
|
||||||
|
|
||||||
struct klist_user {
|
struct klist_user {
|
||||||
u_int id;
|
ssize_t id;
|
||||||
char *name;
|
char *name;
|
||||||
u_int local_id;
|
ssize_t local_id;
|
||||||
u_int discord_id;
|
ssize_t discord_id;
|
||||||
u_int google_id;
|
ssize_t google_id;
|
||||||
};
|
};
|
||||||
typedef struct klist_user klist_user;
|
typedef struct klist_user klist_user;
|
||||||
|
|
||||||
klist_user *klist_user_init();
|
klist_user *klist_user_init();
|
||||||
|
klist_user *klist_user_get_by_id(klist *, u_int);
|
||||||
|
klist_user *klist_user_get_by_local(klist *, char *);
|
||||||
|
klist_user *klist_user_get_by_discord(klist *, char *);
|
||||||
|
klist_user *klist_user_get_by_google(klist *, char *);
|
||||||
void klist_user_deinit(klist_user *);
|
void klist_user_deinit(klist_user *);
|
||||||
|
|
||||||
|
|
||||||
struct klist_stage {
|
struct klist_stage {
|
||||||
u_int id;
|
ssize_t id;
|
||||||
char *name;
|
char *name;
|
||||||
char *desc;
|
char *desc;
|
||||||
};
|
};
|
||||||
|
@ -27,7 +33,7 @@ void klist_stage_deinit(klist_stage *);
|
||||||
|
|
||||||
|
|
||||||
struct klist_list {
|
struct klist_list {
|
||||||
u_int id;
|
ssize_t id;
|
||||||
char *name;
|
char *name;
|
||||||
char *desc;
|
char *desc;
|
||||||
|
|
||||||
|
@ -39,7 +45,7 @@ void klist_list_deinit(klist_list *);
|
||||||
|
|
||||||
|
|
||||||
struct klist_task {
|
struct klist_task {
|
||||||
u_int id;
|
ssize_t id;
|
||||||
char *name;
|
char *name;
|
||||||
char *desc;
|
char *desc;
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
#include <sqlite3.h>
|
#include <sqlite3.h>
|
||||||
|
#include <stdbool.h>
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -48,10 +49,12 @@ struct klist_list_context {
|
||||||
enum klist_user_command cmd;
|
enum klist_user_command cmd;
|
||||||
char *name;
|
char *name;
|
||||||
char **stages;
|
char **stages;
|
||||||
|
size_t stages_len;
|
||||||
};
|
};
|
||||||
typedef struct klist_list_context klist_list_context;
|
typedef struct klist_list_context klist_list_context;
|
||||||
|
|
||||||
klist_list_context *klist_list_context_init(klist *list);
|
klist_list_context *klist_list_context_init(klist *list);
|
||||||
|
klist_list_context *klist_list_context_get_by_id(klist_list_context *ctx, u_int id);
|
||||||
void klist_list_context_deinit(klist_list_context *ctx);
|
void klist_list_context_deinit(klist_list_context *ctx);
|
||||||
|
|
||||||
|
|
||||||
|
@ -86,6 +89,6 @@ void klist_sql_prepare(klist *, char *);
|
||||||
* assuring things
|
* assuring things
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void klist_assure_user(klist *, __uid_t, char *);
|
bool klist_assure_user(klist *, __uid_t, char *);
|
||||||
void klist_assure_list(klist *, char *);
|
void klist_assure_list(klist *, char *);
|
||||||
void klist_assure_task(klist *, char *);
|
void klist_assure_task(klist *, char *);
|
|
@ -22,6 +22,7 @@ int main(int argc, char **argv) {
|
||||||
case USER:
|
case USER:
|
||||||
switch (((klist_list_context *)ctx->cmd_ctx)->cmd) {
|
switch (((klist_list_context *)ctx->cmd_ctx)->cmd) {
|
||||||
case USER_GET:
|
case USER_GET:
|
||||||
|
|
||||||
case USER_DELETE:
|
case USER_DELETE:
|
||||||
default: ;
|
default: ;
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
#include "models.h"
|
||||||
|
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
klist_user *klist_user_init() {
|
||||||
|
klist_user *user = malloc(sizeof(klist_user));
|
||||||
|
user->id = -1;
|
||||||
|
user->name = NULL;
|
||||||
|
user->local_id = -1;
|
||||||
|
user->discord_id = -1;
|
||||||
|
user->google_id = -1;
|
||||||
|
return user;
|
||||||
|
}
|
||||||
|
klist_user *klist_user_get_by_id(klist *ctx, u_int id);
|
||||||
|
void klist_user_deinit(klist_user *user) {
|
||||||
|
free(user->name);
|
||||||
|
free(user);
|
||||||
|
}
|
|
@ -27,16 +27,40 @@ void klist_deinit(klist *ctx) {
|
||||||
|
|
||||||
klist_user_context *klist_user_context_init(klist *list) {
|
klist_user_context *klist_user_context_init(klist *list) {
|
||||||
klist_user_context *ctx = malloc(sizeof(klist_user_context));
|
klist_user_context *ctx = malloc(sizeof(klist_user_context));
|
||||||
|
ctx->cmd = -1;
|
||||||
return ctx;
|
return ctx;
|
||||||
}
|
}
|
||||||
void klist_user_context_deinit(klist_user_context *ctx);
|
void klist_user_context_deinit(klist_user_context *ctx) {
|
||||||
|
free(ctx);
|
||||||
|
}
|
||||||
|
|
||||||
klist_list_context *klist_list_context_init(klist *list);
|
klist_list_context *klist_list_context_init(klist *list) {
|
||||||
void klist_list_context_deinit(klist_list_context *ctx);
|
klist_list_context *ctx = malloc(sizeof(klist_list_context));
|
||||||
|
ctx->cmd = -1;
|
||||||
|
ctx->name = NULL;
|
||||||
|
ctx->stages = NULL;
|
||||||
|
ctx->stages_len = 0;
|
||||||
|
return ctx;
|
||||||
|
}
|
||||||
|
void klist_list_context_deinit(klist_list_context *ctx) {
|
||||||
|
int i = 0;
|
||||||
|
for (; i < ctx->stages_len; i++) free(ctx->stages[i]);
|
||||||
|
free(ctx->stages);
|
||||||
|
free(ctx);
|
||||||
|
}
|
||||||
|
|
||||||
klist_task_context *klist_task_context_init(klist *list);
|
klist_task_context *klist_task_context_init(klist *list) {
|
||||||
void klist_task_context_deinit(klist_task_context *ctx);
|
klist_task_context *ctx = malloc(sizeof(klist_task_context));
|
||||||
|
ctx->cmd = -1;
|
||||||
|
ctx->name = NULL;
|
||||||
|
ctx->stage = NULL;
|
||||||
|
return ctx;
|
||||||
|
}
|
||||||
|
void klist_task_context_deinit(klist_task_context *ctx) {
|
||||||
|
free(ctx->name);
|
||||||
|
free(ctx->stage);
|
||||||
|
free(ctx);
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* sql preparations
|
* sql preparations
|
||||||
|
@ -47,8 +71,16 @@ void klist_sql_prepare(klist *ctx, char *db) {
|
||||||
sqlite3_open(db ? db : ":memory:", &ctx->db);
|
sqlite3_open(db ? db : ":memory:", &ctx->db);
|
||||||
|
|
||||||
int i = 0;
|
int i = 0;
|
||||||
for (i; i < _KLIST_SQL_COUNT; i++)
|
for (; i < _KLIST_SQL_COUNT; i++)
|
||||||
if (sqlite3_prepare(ctx->db, klist_sql_get(i), 0, &ctx->stmts[i], NULL) != SQLITE_OK)
|
if (sqlite3_prepare(ctx->db, klist_sql_get(i), 0, &ctx->stmts[i], NULL) != SQLITE_OK)
|
||||||
fprintf(stderr, "sqlite3_prepare: %s\n", sqlite3_errmsg(ctx->db));
|
fprintf(stderr, "sqlite3_prepare: %s\n", sqlite3_errmsg(ctx->db));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* assuring things
|
||||||
|
*/
|
||||||
|
|
||||||
|
bool klist_assure_user(klist *, __uid_t, char *);
|
||||||
|
void klist_assure_list(klist *, char *);
|
||||||
|
void klist_assure_task(klist *, char *);
|
Loading…
Add table
Reference in a new issue