From 2e68ae30b8499ae91ac0d8ebc75ee7079073b3f1 Mon Sep 17 00:00:00 2001 From: Till Tomczak Date: Sat, 10 May 2025 18:07:49 +0200 Subject: [PATCH] "Update .env and migration files for database schema" --- .env | 2 +- __pycache__/app.cpython-313.pyc | Bin 82369 -> 79657 bytes app.py | 224 ++++++++++++-------------------- database/systades.db | Bin 147456 -> 147456 bytes 4 files changed, 82 insertions(+), 144 deletions(-) diff --git a/.env b/.env index 5c0217e..e83c73b 100644 --- a/.env +++ b/.env @@ -7,7 +7,7 @@ FLASK_ENV=development SECRET_KEY=your-secret-key-replace-in-production # OpenAI API - +OPENAI_API_KEY=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 # Datenbank # Bei Bedarf kann hier eine andere Datenbank-URL angegeben werden diff --git a/__pycache__/app.cpython-313.pyc b/__pycache__/app.cpython-313.pyc index 4acc7dd2428552e77d6ea27fa8cff77282a34146..6b1dbbcda68796025e9fd213551e4c5a08accc13 100644 GIT binary patch delta 7431 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 EFN*BfCIA2c delta 10019 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