diff options
| author | Aldrik Ramaekers <aldrikboy@gmail.com> | 2025-08-09 15:51:45 +0200 |
|---|---|---|
| committer | Aldrik Ramaekers <aldrikboy@gmail.com> | 2025-08-09 15:51:45 +0200 |
| commit | 66d21e5fef32f64219f0f0b86c3b4b4a74623ba1 (patch) | |
| tree | ef04496d4712d69eaf4dd56aec9195db9a6e952d /include/administration.hpp | |
| parent | 94e52baaed095f571c41cabe80d3a6b7e03653d2 (diff) | |
cost center crud
Diffstat (limited to 'include/administration.hpp')
| -rw-r--r-- | include/administration.hpp | 76 |
1 files changed, 44 insertions, 32 deletions
diff --git a/include/administration.hpp b/include/administration.hpp index aca0131..196e674 100644 --- a/include/administration.hpp +++ b/include/administration.hpp @@ -6,12 +6,19 @@ typedef struct { char country_code[3]; - float rate; + float rate; // 0-100 char description[32]; } country_tax_bracket; typedef struct { + char id[16]; + char code[5]; + char description[64]; +} cost_center; + +typedef struct +{ char address1[128]; char address2[128]; char country[128]; @@ -31,9 +38,9 @@ typedef struct typedef enum { - RUNNING, - PAUSED, - CANCELLED, + PROJECT_RUNNING, + PROJECT_PAUSED, + PROJECT_CANCELLED, } project_state; typedef struct @@ -61,7 +68,8 @@ typedef struct char description[128]; country_tax_bracket tax_bracket; char tax_section[16]; - s32 amount; + float amount; + bool amount_is_percentage; s32 net_per_item; s32 net; s32 discount; @@ -85,7 +93,6 @@ typedef struct list_t billing_items; char project_id[16]; char cost_center_id[16]; - char cost_unit_id[16]; s32 total; s32 tax; s32 net; @@ -109,34 +116,39 @@ typedef struct list_t projects; list_t invoices; list_t tax_brackets; - char ai_service[16]; - char ai_key[32]; - char email_service[16]; - char email_key[32]; + list_t cost_centers; } administration; -void administration_create(); -void administration_destroy(); +void administration_create(); +void administration_destroy(); -char* administration_get_file_path(); -s32 administration_create_id(); +char* administration_get_file_path(); +s32 administration_create_id(); contact administration_get_company_info(); -void administration_set_company_info(contact data); - -bool administration_remove_contact(contact data); -bool administration_create_contact(contact data); -bool administration_update_contact(contact data); -u32 administration_get_contact_count(); -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); - -u32 administration_get_tax_bracket_count(); -u32 administration_get_tax_brackets(country_tax_bracket* buffer);
\ No newline at end of file +void administration_set_company_info(contact data); + +bool administration_can_contact_be_deleted(contact data); +bool administration_remove_contact(contact data); +bool administration_create_contact(contact data); +bool administration_update_contact(contact data); +u32 administration_get_contact_count(); +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); + +u32 administration_get_tax_bracket_count(); +u32 administration_get_tax_brackets(country_tax_bracket* buffer); + +u32 administration_get_cost_center_count(); +u32 administration_get_cost_centers(cost_center* buffer); +bool administration_verify_cost_center_code(char* code); +bool administration_verify_cost_center_description(char* text); +bool administration_add_cost_center(cost_center data); +bool administration_update_cost_center(cost_center data);
\ No newline at end of file |
