75 lines
2 KiB
C
75 lines
2 KiB
C
#pragma once
|
|
|
|
#include <sys/types.h>
|
|
|
|
#include "util.h"
|
|
|
|
struct klist_user {
|
|
ssize_t id;
|
|
unsigned char *name;
|
|
ssize_t local_id;
|
|
};
|
|
typedef struct klist_user klist_user;
|
|
|
|
klist_user *klist_user_init();
|
|
klist_user *klist_user_init_from_sql(sqlite3_stmt *);
|
|
klist_user *klist_user_get_by_id(klist *, u_int);
|
|
klist_user *klist_user_get_by_local(klist *, u_int);
|
|
klist_user *klist_user_get_by_discord(klist *, u_int);
|
|
klist_user *klist_user_get_by_google(klist *, u_int);
|
|
void klist_user_save(klist *, klist_user *);
|
|
void klist_user_delete(klist *, klist_user *);
|
|
void klist_user_deinit(klist_user *);
|
|
|
|
|
|
struct klist_stage {
|
|
ssize_t id;
|
|
unsigned char *name;
|
|
unsigned char *desc;
|
|
ssize_t list_id;
|
|
};
|
|
typedef struct klist_stage klist_stage;
|
|
|
|
klist_stage *klist_stage_init();
|
|
klist_stage *klist_stage_init_from_sql(sqlite3_stmt *);
|
|
klist_stage *klist_stage_get_by_id(klist *, u_int);
|
|
void klist_stage_save(klist *, klist_stage *);
|
|
void klist_stage_delete(klist *, klist_stage *);
|
|
void klist_stage_deinit(klist_stage *);
|
|
|
|
|
|
struct klist_list {
|
|
ssize_t id;
|
|
unsigned char *name;
|
|
unsigned char *desc;
|
|
};
|
|
typedef struct klist_list klist_list;
|
|
|
|
klist_list *klist_list_init();
|
|
klist_list *klist_list_init_from_sql(sqlite3_stmt *);
|
|
klist_list *klist_list_get_by_id(klist *, u_int);
|
|
klist_list **klist_list_get_all_by_user(klist *, u_int, size_t *);
|
|
klist_list *klist_list_get_by_user_and_name(klist *, u_int, const char *);
|
|
void klist_list_save(klist *, klist_list *);
|
|
void klist_list_delete(klist *, klist_list *);
|
|
void klist_list_deinit(klist_list *);
|
|
|
|
|
|
struct klist_task {
|
|
ssize_t id;
|
|
unsigned char *name;
|
|
unsigned char *desc;
|
|
int stage_id;
|
|
time_t due;
|
|
int target_stage;
|
|
|
|
};
|
|
typedef struct klist_task klist_task;
|
|
|
|
klist_task *klist_task_init();
|
|
klist_task *klist_task_init_from_sql(sqlite3_stmt *);
|
|
klist_task *klist_task_get_by_id(klist *, u_int);
|
|
klist_task **klist_task_get_for_list(klist *, u_int, u_int *);
|
|
void klist_task_save(klist *, klist_task *);
|
|
void klist_task_delete(klist *, klist_task *);
|
|
void klist_task_deinit(klist_task *);
|