""" db — toute la logique base de données du moteur Forge, organisée en un sous-module par responsabilité (un fichier = une fonction, un dossier = un domaine) plutôt qu'un seul gros fichier. Ce fichier réexporte l'intégralité de l'API publique historique : le reste du moteur continue simplement d'écrire `import db` puis `db.ma_fonction(...)`, sans rien savoir de cette organisation interne. Chaque JEU créé a SA PROPRE base SQLite (fichier .db dans son dossier de projet). Cette base contient : - des tables "méta" (_definitions, _fields) qui décrivent les objets que l'utilisateur a définis via l'interface (l'équivalent d'un schéma de base de données, mais construit à la souris plutôt qu'en SQL) ; - une VRAIE table SQL par objet défini (obj_), avec des colonnes du bon type SQLite selon le type choisi pour chaque champ, y compris des colonnes de clé étrangère pour les champs de type "relation". Rien n'est une simulation : créer une "définition d'objet" avec des champs exécute un vrai CREATE TABLE, et remplir le formulaire généré exécute un vrai INSERT dans cette table. """ from .connection import connect from .constants import FIELD_TYPES, GLOBAL_VARIABLE_TYPES, PROJECTS_DIR, SCORE_STATUS_CHOICES, SCORE_STATUS_LABELS from .custom_events.create_custom_event import create_custom_event from .custom_events.get_custom_event import get_custom_event from .custom_events.list_custom_events import list_custom_events from .custom_events.update_custom_event import update_custom_event from .db_path import db_path from .definitions.create_definition import create_definition from .definitions.definitions_referencing import definitions_referencing from .definitions.delete_definition import delete_definition from .definitions.get_definition import get_definition from .definitions.list_definitions import list_definitions from .dialogue_lines import QUESTION_REWARD_TYPES, sanitize_dialogue_lines, sum_question_rewards from .game_dir import game_dir from .games.create_game import create_game from .games.delete_game import delete_game from .games.game_meta import game_meta from .games.game_type_catalog import ( DEFAULT_ONBOARDING_TYPE, ONBOARDING_TYPES, get_onboarding_type, get_onboarding_type_raw, is_restricted, set_onboarding_type, ) from .games.get_game_type import DEFAULT_GAME_TYPE, get_game_type from .games.get_scorm_version import get_scorm_version from .games.get_success_threshold import get_success_threshold from .games.get_xapi_settings import get_xapi_settings from .games.list_games import list_games from .games.move_game import move_game from .games.set_scorm_version import set_scorm_version from .games.set_success_threshold import set_success_threshold from .games.set_xapi_settings import set_xapi_settings from .games.update_game_name import update_game_name from .global_vars.create_global_variable import create_global_variable from .global_vars.delete_global_variable import delete_global_variable from .global_vars.delete_global_variable_by_id import delete_global_variable_by_id from .global_vars.ensure_global_vars_schema import PLAYER_SHARED from .global_vars.get_global_variable import get_global_variable from .global_vars.list_global_variables import list_global_variables from .global_vars.list_global_variables_for_player import list_global_variables_for_player from .global_vars.update_global_variable import update_global_variable from .global_vars.update_global_variable_value import update_global_variable_value from .json_for_script import json_for_script from .rows.delete_row import delete_row from .rows.get_row import get_row from .rows.insert_row import insert_row from .rows.list_rows import list_rows from .rows.update_row import update_row from .rows.update_row_field import update_row_field from .scoring.get_score import get_score from .scoring.set_score_value import set_score_value from .scoring.set_status import set_status from .slugify import slugify from .table_name_for import table_name_for __all__ = [ "PROJECTS_DIR", "FIELD_TYPES", "GLOBAL_VARIABLE_TYPES", "PLAYER_SHARED", "SCORE_STATUS_CHOICES", "SCORE_STATUS_LABELS", "get_score", "set_score_value", "set_status", "slugify", "table_name_for", "json_for_script", "game_dir", "db_path", "connect", "list_games", "game_meta", "create_game", "update_game_name", "delete_game", "move_game", "get_game_type", "DEFAULT_GAME_TYPE", "get_xapi_settings", "set_xapi_settings", "get_success_threshold", "set_success_threshold", "get_scorm_version", "set_scorm_version", "ONBOARDING_TYPES", "DEFAULT_ONBOARDING_TYPE", "get_onboarding_type", "get_onboarding_type_raw", "set_onboarding_type", "is_restricted", "list_definitions", "get_definition", "create_definition", "definitions_referencing", "delete_definition", "list_rows", "insert_row", "get_row", "update_row", "update_row_field", "delete_row", "list_global_variables", "list_global_variables_for_player", "get_global_variable", "create_global_variable", "update_global_variable_value", "update_global_variable", "delete_global_variable", "delete_global_variable_by_id", "list_custom_events", "get_custom_event", "create_custom_event", "update_custom_event", "sanitize_dialogue_lines", "QUESTION_REWARD_TYPES", "sum_question_rewards", ]