"""Constantes partagées de la couche données.""" import os PROJECTS_DIR = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), "projects") # Types de champ exposés dans l'interface -> type de colonne SQLite réel. FIELD_TYPES = { "texte": {"label": "Texte court", "sql": "TEXT"}, "texte_long": {"label": "Texte long", "sql": "TEXT"}, "nombre_entier": {"label": "Nombre entier", "sql": "INTEGER"}, "nombre_decimal": {"label": "Nombre décimal", "sql": "REAL"}, "booleen": {"label": "Oui / Non", "sql": "INTEGER"}, "date": {"label": "Date", "sql": "TEXT"}, "relation": {"label": "Relation vers un autre objet", "sql": "INTEGER"}, } # Types disponibles pour une variable globale (voir db/global_vars/) — un # sous-ensemble de FIELD_TYPES : ni "relation" (une variable globale n'a pas # d'objet à pointer) ni "texte_long"/"date" (pas gérés par # apply_variable_action.py, qui ne coerce que ces 4 types). GLOBAL_VARIABLE_TYPES = { "texte": FIELD_TYPES["texte"], "nombre_entier": FIELD_TYPES["nombre_entier"], "nombre_decimal": FIELD_TYPES["nombre_decimal"], "booleen": FIELD_TYPES["booleen"], }