diff options
| author | Aldrik Ramaekers <aldrikboy@gmail.com> | 2025-09-27 14:23:56 +0200 |
|---|---|---|
| committer | Aldrik Ramaekers <aldrikboy@gmail.com> | 2025-09-27 14:23:56 +0200 |
| commit | fa088bb60692ba02d30d39affa9a31d9e2b688e2 (patch) | |
| tree | a2d51585c0f86407709b834bd7a82a5672d2c17b /include/administration.hpp | |
| parent | aa7b5ef6ab4f45d2e8e0caa7942db31fc60b3861 (diff) | |
ai service settings
Diffstat (limited to 'include/administration.hpp')
| -rw-r--r-- | include/administration.hpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/include/administration.hpp b/include/administration.hpp index e926aa6..145bb5d 100644 --- a/include/administration.hpp +++ b/include/administration.hpp @@ -35,6 +35,7 @@ #define MAX_LEN_TAXID 32 #define MAX_LEN_BUSINESSID 32 #define MAX_LEN_TAX_SECTION 16 +#define MAX_LEN_API_KEY 64 #define MAX_LEN_INCOME_STATEMENT_REPORT_QUARTERS 400 #define MAX_LEN_QUARTERLY_REPORT_PROJECTS 200 @@ -336,6 +337,18 @@ typedef void (*taxrate_changed_event)(tax_rate* rate); typedef void (*costcenter_changed_event)(cost_center* cost_center); typedef void (*project_changed_event)(project* project); +typedef enum +{ + AI_PROVIDER_OPENAI = 0, +} ai_provider; + +typedef struct +{ + ai_provider provider; + char api_key_public[MAX_LEN_API_KEY]; + char api_key_private[MAX_LEN_API_KEY]; +} ai_service; + typedef struct { contact company_info; // Company info used for invoices. User cannot create invoices when this is empty/invalid. @@ -354,6 +367,9 @@ typedef struct u32 invoice_count; u32 expense_count; list_t invoices; + + // Service providers. + ai_service ai_service; } administration; // Add/Update result codes. @@ -409,10 +425,12 @@ s32 administration_get_next_id(); s32 administration_get_next_sequence_number(); char* administration_get_currency_symbol_for_currency(char* code); char* administration_get_default_currency(); +ai_service administration_get_ai_service(); void administration_set_file_path(char* path); void administration_set_next_id(s32 nr); void administration_set_next_sequence_number(s32 nr); +void administration_set_ai_service(ai_service provider); void administration_create_income_statement(income_statement* statement); bool administration_can_create_invoices(); |
