Checkpoint: Ajout de la possibilité de joindre un fichier dans l'envoi des rappels par email
Modifications apportées : - Ajout des colonnes nomFichier, urlFichier, s3Key, typeFichier, tailleFichier dans la table rappels - Création du composant FileUpload pour l'upload de fichiers vers S3 (max 10 Mo) - Création de l'endpoint API /api/upload-file pour gérer l'upload - Intégration du composant FileUpload dans les formulaires de création et modification de rappels - Mise à jour des procédures tRPC create et update pour gérer les informations de fichier - Modification des fonctions sendRappelJ7Email et sendRappelJ1Email pour inclure les pièces jointes - Mise à jour du scheduler de rappels pour passer les informations de fichier lors de l'envoi - Les fichiers sont téléchargés depuis S3 et convertis en base64 pour être attachés aux emails
This commit is contained in:
90
.manus/db/db-query-1767869551826.json
Normal file
90
.manus/db/db-query-1767869551826.json
Normal file
@@ -0,0 +1,90 @@
|
||||
{
|
||||
"query": "DESCRIBE rappels;",
|
||||
"command": "mysql --batch --raw --column-names --default-character-set=utf8mb4 --host gateway02.us-east-1.prod.aws.tidbcloud.com --port 4000 --user 4CrrYuB5tme73Qo.root --database 7PAT67UmWoxv8vwp8Bbcv6 --execute DESCRIBE rappels;",
|
||||
"rows": [
|
||||
{
|
||||
"Field": "id",
|
||||
"Type": "int(11)",
|
||||
"Null": "NO",
|
||||
"Key": "PRI",
|
||||
"Default": "NULL",
|
||||
"Extra": "auto_increment"
|
||||
},
|
||||
{
|
||||
"Field": "nom",
|
||||
"Type": "varchar(255)",
|
||||
"Null": "NO",
|
||||
"Key": "",
|
||||
"Default": "NULL",
|
||||
"Extra": ""
|
||||
},
|
||||
{
|
||||
"Field": "templateType",
|
||||
"Type": "varchar(50)",
|
||||
"Null": "NO",
|
||||
"Key": "",
|
||||
"Default": "NULL",
|
||||
"Extra": ""
|
||||
},
|
||||
{
|
||||
"Field": "timing",
|
||||
"Type": "enum('pre_formation','post_formation')",
|
||||
"Null": "NO",
|
||||
"Key": "",
|
||||
"Default": "pre_formation",
|
||||
"Extra": ""
|
||||
},
|
||||
{
|
||||
"Field": "joursAvant",
|
||||
"Type": "int(11)",
|
||||
"Null": "NO",
|
||||
"Key": "",
|
||||
"Default": "NULL",
|
||||
"Extra": ""
|
||||
},
|
||||
{
|
||||
"Field": "heureEnvoi",
|
||||
"Type": "varchar(5)",
|
||||
"Null": "NO",
|
||||
"Key": "",
|
||||
"Default": "09:00",
|
||||
"Extra": ""
|
||||
},
|
||||
{
|
||||
"Field": "actif",
|
||||
"Type": "tinyint(1)",
|
||||
"Null": "NO",
|
||||
"Key": "",
|
||||
"Default": "1",
|
||||
"Extra": ""
|
||||
},
|
||||
{
|
||||
"Field": "derniereExecution",
|
||||
"Type": "timestamp",
|
||||
"Null": "YES",
|
||||
"Key": "",
|
||||
"Default": "NULL",
|
||||
"Extra": ""
|
||||
},
|
||||
{
|
||||
"Field": "createdAt",
|
||||
"Type": "timestamp",
|
||||
"Null": "NO",
|
||||
"Key": "",
|
||||
"Default": "CURRENT_TIMESTAMP",
|
||||
"Extra": ""
|
||||
},
|
||||
{
|
||||
"Field": "updatedAt",
|
||||
"Type": "timestamp",
|
||||
"Null": "NO",
|
||||
"Key": "",
|
||||
"Default": "CURRENT_TIMESTAMP",
|
||||
"Extra": "DEFAULT_GENERATED on update CURRENT_TIMESTAMP"
|
||||
}
|
||||
],
|
||||
"messages": [],
|
||||
"stdout": "Field\tType\tNull\tKey\tDefault\tExtra\nid\tint(11)\tNO\tPRI\tNULL\tauto_increment\nnom\tvarchar(255)\tNO\t\tNULL\t\ntemplateType\tvarchar(50)\tNO\t\tNULL\t\ntiming\tenum('pre_formation','post_formation')\tNO\t\tpre_formation\t\njoursAvant\tint(11)\tNO\t\tNULL\t\nheureEnvoi\tvarchar(5)\tNO\t\t09:00\t\nactif\ttinyint(1)\tNO\t\t1\t\nderniereExecution\ttimestamp\tYES\t\tNULL\t\ncreatedAt\ttimestamp\tNO\t\tCURRENT_TIMESTAMP\t\nupdatedAt\ttimestamp\tNO\t\tCURRENT_TIMESTAMP\tDEFAULT_GENERATED on update CURRENT_TIMESTAMP\n",
|
||||
"stderr": "",
|
||||
"execution_time_ms": 48
|
||||
}
|
||||
Reference in New Issue
Block a user