From a2299b0bae21c8f05f091732a78fc250cbd5e016 Mon Sep 17 00:00:00 2001 From: Aldrik Ramaekers Date: Sun, 28 Sep 2025 17:41:50 +0200 Subject: openAI invoice importing v0.1 --- include/administration.hpp | 4 ++-- include/administration_reader.hpp | 3 ++- include/ai_service.hpp | 10 ++++++++++ 3 files changed, 14 insertions(+), 3 deletions(-) (limited to 'include') 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 -- cgit v1.2.3-70-g09d2