78 lines
No EOL
2.5 KiB
C
78 lines
No EOL
2.5 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(const klist *, u_int);
|
|
klist_user *klist_user_get_by_local(const klist *, u_int);
|
|
klist_user *klist_user_get_by_discord(const klist *, u_int);
|
|
klist_user *klist_user_get_by_google(const klist *, u_int);
|
|
void klist_user_save(const klist *, klist_user *);
|
|
void klist_user_delete(const klist *, const klist_user *);
|
|
void klist_user_deinit(klist_user *);
|
|
|
|
struct klist_list {
|
|
ssize_t id;
|
|
unsigned char *name;
|
|
unsigned char *desc;
|
|
bool is_preset;
|
|
};
|
|
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(const klist *, u_int);
|
|
klist_list **klist_list_get_all_by_user(const klist *, u_int, size_t *);
|
|
klist_list *klist_list_get_by_user_and_name(const klist *, u_int, const char *);
|
|
void klist_list_save(const klist *, klist_list *, const klist_user *);
|
|
void klist_list_delete(const klist *, klist_list *);
|
|
void klist_list_deinit(klist_list *);
|
|
|
|
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(const klist *, u_int);
|
|
klist_stage **klist_stage_get_all_for_list(const klist *, u_int, size_t *);
|
|
void klist_stage_save(const klist *, klist_stage *);
|
|
void klist_stage_delete(const klist *, const klist_stage *);
|
|
void klist_stage_deinit(klist_stage *);
|
|
|
|
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(const klist *, u_int);
|
|
klist_task **klist_task_get_for_list(const klist *, u_int, size_t *);
|
|
klist_task *klist_task_get_for_list_by_name(const klist *, u_int, const char *);
|
|
void klist_task_save(const klist *, klist_task *);
|
|
void klist_task_delete(const klist *, const klist_task *);
|
|
void klist_task_deinit(klist_task *);
|
|
|
|
void klist_print_user(klist *, const klist_user *);
|
|
void klist_print_list(klist *, klist_list *, klist_task **, size_t);
|
|
void klist_print_task(klist *, klist_task **, size_t); |