summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/administration.hpp4
-rw-r--r--include/administration_reader.hpp3
-rw-r--r--include/ai_service.hpp10
3 files changed, 14 insertions, 3 deletions
diff --git a/include/administration.hpp b/include/administration.hpp
index ec64833..3d6a88c 100644
--- a/include/administration.hpp
+++ b/include/administration.hpp
@@ -27,8 +27,8 @@
#define MAX_LEN_FILENAME 255
#define MAX_LEN_PATH 4096
#define MAX_LEN_CURRENCY 8
-#define MAX_LEN_SHORT_DESC 32
-#define MAX_LEN_LONG_DESC 64
+#define MAX_LEN_SHORT_DESC 64
+#define MAX_LEN_LONG_DESC 256
#define MAX_LEN_EMAIL 64
#define MAX_LEN_PHONE 16
#define MAX_LEN_BANK 35
diff --git a/include/administration_reader.hpp b/include/administration_reader.hpp
index 7765680..d650855 100644
--- a/include/administration_reader.hpp
+++ b/include/administration_reader.hpp
@@ -25,4 +25,5 @@ bool administration_reader_import_tax_rate(char* buffer, size_t buffer_size);
bool administration_reader_import_cost_center(char* buffer, size_t buffer_size);
bool administration_reader_import_project(char* buffer, size_t buffer_size);
bool administration_reader_import_contact(char* buffer, size_t buffer_size);
-bool administration_reader_import_invoice(char* buffer, size_t buffer_size); \ No newline at end of file
+bool administration_reader_import_invoice(char* buffer, size_t buffer_size);
+bool administration_reader_read_invoice_from_xml(invoice* result, char* buffer, size_t buffer_size); \ No newline at end of file
diff --git a/include/ai_service.hpp b/include/ai_service.hpp
index b481b58..cf0b67a 100644
--- a/include/ai_service.hpp
+++ b/include/ai_service.hpp
@@ -16,6 +16,8 @@
#pragma once
+#include "administration.hpp"
+
typedef struct
{
time_t started_at;
@@ -23,4 +25,12 @@ typedef struct
char* result;
} ai_request;
+typedef struct
+{
+ bool (*upload_file)(char* file_path, char* file_id, size_t file_id_len);
+ bool (*query_with_file)(char* query, size_t query_length, char* file_id, char** response);
+} ai_provider_impl;
+
+extern ai_provider_impl _chatgpt_api_provider;
+
ai_request* ai_document_to_invoice(char* file_path); \ No newline at end of file