summaryrefslogtreecommitdiff
path: root/src/administration.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/administration.hpp')
-rw-r--r--src/administration.hpp39
1 files changed, 29 insertions, 10 deletions
diff --git a/src/administration.hpp b/src/administration.hpp
index c20bbfb..9506246 100644
--- a/src/administration.hpp
+++ b/src/administration.hpp
@@ -1,10 +1,5 @@
#pragma once
-#include <string.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <assert.h>
-
#include "config.hpp"
#include "simclist.h"
@@ -22,6 +17,22 @@ typedef struct
char bank_account[32];
} contact;
+typedef enum
+{
+ RUNNING,
+ PAUSED,
+ CANCELLED,
+} project_state;
+
+typedef struct
+{
+ char id[16];
+ char description[64];
+ project_state state;
+ time_t start_date;
+ time_t end_date;
+} project;
+
typedef struct
{
contact company_info;
@@ -30,7 +41,7 @@ typedef struct
char program_version[10];
char country_code[2];
list_t contacts;
- // projects
+ list_t projects;
// invoices
char ai_service[16];
char ai_key[32];
@@ -41,11 +52,19 @@ typedef struct
void administration_create();
void administration_destroy();
+char* administration_get_file_path();
+s32 administration_create_id();
+
bool administration_remove_contact(contact data);
bool administration_create_contact(contact data);
bool administration_update_contact(contact data);
-
-char* administration_get_file_path();
-s32 administration_create_id();
u32 administration_get_contact_count();
-u32 administration_get_contacts(u32 page_index, u32 page_size, contact* buffer); // Buffer size atleast be page_size * sizeof contact \ No newline at end of file
+u32 administration_get_contacts(u32 page_index, u32 page_size, contact* buffer);
+
+void administration_cancel_project(project data);
+bool administration_remove_project(project data);
+bool administration_create_project(project data);
+bool administration_update_project(project data);
+char* administration_project_get_status_string(project data);
+u32 administration_get_project_count();
+u32 administration_get_projects(u32 page_index, u32 page_size, project* buffer); \ No newline at end of file