summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/administration.hpp129
1 files changed, 77 insertions, 52 deletions
diff --git a/include/administration.hpp b/include/administration.hpp
index 96d528f..e7cb9b0 100644
--- a/include/administration.hpp
+++ b/include/administration.hpp
@@ -141,60 +141,85 @@ typedef struct
list_t cost_centers;
} administration;
+// Setup functions.
+// =======================
void administration_create();
void administration_destroy();
-char* administration_get_file_path();
-
-contact administration_get_company_info();
-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);
-contact administration_create_empty_contact();
-bool administration_is_contact_valid(contact data);
-int administration_get_contact_recommendations(contact* buffer, int buf_size, char* name);
-
-void administration_cancel_project(project data);
-bool administration_remove_project(project data);
-bool administration_create_project(project data);
-bool administration_update_project(project data);
+// General functions.
+// =======================
+char* administration_file_path_get();
+contact administration_company_info_get();
+void administration_company_info_set(contact data);
+
+// Contact functions.
+// =======================
+u32 administration_contact_count();
+contact administration_contact_create_empty();
+bool administration_contact_add(contact data);
+bool administration_contact_update(contact data);
+bool administration_contact_remove(contact data);
+
+bool administration_contact_is_valid(contact data);
+bool administration_contact_can_be_deleted(contact data);
+
+int administration_contact_get_autocompletions(contact* buffer, int buf_size, char* name);
+u32 administration_contact_get_partial_list(u32 page_index, u32 page_size, contact* buffer);
+
+// Project functions.
+// =======================
+u32 administration_project_count();
+project administration_project_create_empty();
+bool administration_project_add(project data);
+bool administration_project_update(project data);
+bool administration_project_remove(project data);
+void administration_project_cancel(project data);
+
+bool administration_project_is_valid(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);
-bool administration_is_project_valid(project data);
-project administration_create_empty_project();
-u32 administration_get_all_projects(project* buffer);
-
-u32 administration_get_tax_bracket_count();
-u32 administration_get_tax_brackets(country_tax_bracket* buffer);
-u32 administration_get_tax_brackets_for_country(country_tax_bracket* buffer, char* country_code);
-bool administration_add_tax_bracket(country_tax_bracket data);
-bool administration_update_tax_bracket(country_tax_bracket data);
-
-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);
-
-u32 administration_get_invoice_count();
-invoice administration_create_empty_invoice();
+u32 administration_project_get_all(project* buffer);
+u32 administration_project_get_partial_list(u32 page_index, u32 page_size, project* buffer);
+
+// Tax bracket functions.
+// =======================
+u32 administration_tax_bracket_count();
+bool administration_tax_bracket_add(country_tax_bracket data);
+bool administration_tax_bracket_update(country_tax_bracket data);
+
+u32 administration_tax_bracket_get_all(country_tax_bracket* buffer);
+u32 administration_tax_bracket_get_by_country(country_tax_bracket* buffer, char* country_code);
+
+// Cost center functions.
+// =======================
+u32 administration_cost_center_count();
+bool administration_cost_center_add(cost_center data);
+bool administration_cost_center_update(cost_center data);
+
+bool administration_cost_center_verify_code(char* code);
+bool administration_cost_center_verify_description(char* text);
+
+u32 administration_cost_center_get_all(cost_center* buffer);
+
+// Invoice functions.
+// =======================
+u32 administration_invoice_count();
+invoice administration_invoice_create_empty();
+bool administration_invoice_add(invoice* invoice);
+bool administration_invoice_update(invoice* invoice);
void administration_invoice_set_currency(invoice* invoice, char* currency);
-bool administration_is_invoice_valid(invoice* invoice);
-bool administration_add_invoice(invoice* invoice);
-bool administration_update_invoice(invoice* invoice);
-u32 administration_get_invoices(u32 page_index, u32 page_size, invoice* buffer);
-char* administration_get_invoice_status_string(invoice* invoice);
-
-billing_item administration_create_empty_billing_item();
-u32 administration_get_all_billing_items_for_invoice(invoice* invoice, billing_item* buffer);
-u32 administration_get_billing_items_count(invoice* invoice);
-bool administration_add_billing_item_to_invoice(invoice* invoice, billing_item item);
-bool administration_update_billing_item_of_invoice(invoice* invoice, billing_item item);
-bool administration_remove_billing_item_from_invoice(invoice* invoice, billing_item item); \ No newline at end of file
+
+bool administration_invoice_is_valid(invoice* invoice);
+
+char* administration_invoice_get_status_string(invoice* invoice);
+u32 administration_invoice_get_partial_list(u32 page_index, u32 page_size, invoice* buffer);
+
+// Billing item functions.
+// =======================
+u32 administration_billing_items_count(invoice* invoice);
+billing_item administration_billing_item_create_empty();
+bool administration_billing_item_add_to_invoice(invoice* invoice, billing_item item);
+bool administration_billing_item_update_in_invoice(invoice* invoice, billing_item item);
+bool administration_billing_item_remove_from_invoice(invoice* invoice, billing_item item);
+
+u32 administration_billing_item_get_all_for_invoice(invoice* invoice, billing_item* buffer); \ No newline at end of file