Référence des utils serveur BrainCloud

Carte générale

Fichier/dossierResponsabilité
utils.jsHelpers transversaux, UIDs, calculs simples, copie/merge, équipes/étudiants, rôles, CRC, logging.
utils_documents.jsLecture, query, création, sauvegarde, suppression, increments et versioning des Custom Entities.
utils_message.jsEnvoi de messages RTT à user/team/sim/activity et messages spécialisés.
utils_eval.jsStubs et scores d'évaluation communs.
utils_rankings.jsScores, tops et mise à jour des rankings.
utils_RNG.jsRandom déterministe utilisé par la génération serveur.
utils_redis.jsHelpers d'accès Redis lorsque la feature l'utilise.
utils_game_specific_base.jsBase des utils game-specific et accès aux static data/chunks.
utils_by_module.jsCharge/initialise le socle By Module.
utils_by_year.jsCycle annuel, jobs, bots et transitions By Year.
by_module/Moteurs Accounting : création data, bills, answer key, grading, results, inventory.
command/Implémentations réutilisables appelées par les wrappers command.
factory/Sélection game-specific des utils, évaluations et générateurs de résultats.
version/Migrations par type de document.

utils.js — fonctions structurantes

Parmi les helpers importants : getTeamActUid, getActUid, dates/mois/années, deleteTeam, getDisplayName, getActEvalTeamData, getTeamDecisionsData, getTeamsOfActivity, getStudentsOfActivity, hasRole, getUserUid, mergeObjects, copyOf/deepCopyOf, logging Discord et validation CRC avant sauvegarde équipe.

command/

factory/

Principe de placement

Un wrapper sous _command doit rester mince. Dès qu'une logique est partagée entre plusieurs entrées, elle doit être placée dans _utils ou dans la famille métier adéquate. Les règles propres à ENT1/MK1/etc. restent dans leurs dossiers game-specific.


Revision #1
Created 2026-09-18 19:26:49 UTC by Mathis
Updated 2026-09-18 19:26:51 UTC by Mathis