diff options
Diffstat (limited to 'include/administration.hpp')
| -rw-r--r-- | include/administration.hpp | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/include/administration.hpp b/include/administration.hpp index 5c39d59..2179301 100644 --- a/include/administration.hpp +++ b/include/administration.hpp @@ -44,6 +44,8 @@ #define MAX_LEN_PROJECT_REPORT_COSTCENTERS 50 #define MAX_BILLING_ITEMS 50 +#define MAX_AI_SERVICES AI_PROVIDER_END + #define ACTIVITY_MAX_PARAMS 3 #define ACTIVITY_USER "user" #define ACTIVITY_SYSTEM "system" @@ -394,7 +396,8 @@ typedef void (*project_changed_event)(project* project); typedef enum { AI_PROVIDER_OPENAI = 0, - //AI_PROVIDER_DEEPSEEK = 1, + AI_PROVIDER_GEMINI = 1, + AI_PROVIDER_PERPLEXITY = 2, AI_PROVIDER_END, } ai_provider; @@ -403,7 +406,7 @@ typedef struct { ai_provider provider; char model_name[MAX_LEN_SHORT_DESC]; - char api_key_public[MAX_LEN_API_KEY]; + char api_key_public[MAX_LEN_API_KEY]; // @TODO rename to api_key } ai_service; typedef enum @@ -449,7 +452,10 @@ typedef struct list_t invoices; // Service providers. - ai_service ai_service; + u32 ai_service_count; + ai_service all_ai_services[MAX_AI_SERVICES]; + ai_service ai_service; // @TODO rename to active_ai_service + email_service email_service; } ledger; @@ -518,12 +524,14 @@ namespace administration { char* get_currency_symbol_for_currency(char* code); char* get_default_currency(); time_t get_default_invoice_expire_duration(); - ai_service get_ai_service(); + ai_service get_active_ai_service(); + ai_service get_ai_service(ai_provider provider); email_service get_email_service(); void set_file_path(char* path); void set_next_id(s32 nr); void set_next_sequence_number(s32 nr); - void set_ai_service(ai_service provider); + void set_active_ai_service(ai_service provider); + void import_ai_service(ai_service provider); void set_email_service(email_service provider); void create_income_statement(income_statement* statement); bool company_info_is_valid(); |
