Split accounting into groups and users

This commit is contained in:
2020-10-09 10:23:49 +01:00
parent 296eb47198
commit 2f0a9caa77
9 changed files with 827 additions and 838 deletions

View File

@@ -10,39 +10,6 @@ struct modb_ref_t {
};
typedef struct modb_ref_t modb_ref;
struct user_t {
unsigned int id;
char *username;
size_t username_len;
char *email;
size_t email_len;
int64_t created_on;
int64_t updated_on;
int64_t deleted_on;
unsigned int *group_ids;
struct group_t **groups;
size_t n_groups;
};
struct group_t {
unsigned int id;
char *name;
size_t name_len;
int64_t created_on;
int64_t updated_on;
int64_t deleted_on;
unsigned int *member_ids;
struct user_t **members;
size_t n_members;
};
struct metadata_t {
unsigned int id;
@@ -108,16 +75,6 @@ struct metadata_ext_t {
// size_t value_len;
//};
struct user_t *allocUser(void);
struct user_t **allocUsers(size_t n_users);
void freeUser(struct user_t **user);
void freeUsers(struct user_t ***users_ptr, size_t n_users);
struct group_t *allocGroup(void);
struct group_t **allocGroups(size_t n_groups);
void freeGroup(struct group_t **group);
void freeGroups(struct group_t ***groups_ptr, size_t n_groups);
struct metadata_t *allocMetadata(void);
struct metadata_t **allocMetadataList(size_t n_metadatas);
void freeMetadata(struct metadata_t **metadata);