docs+fix(#173): API cards sans couleur ; alignement evenements_agenda

Couleur = mapping front (type_code). Spec §32 / mini-spec bulles.
Rebase sur develop (#205).

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-10-01 17:11:39 +02:00
co-authored by Cursor
parent 32f6eeeeed
commit 72982f792b
5 changed files with 146 additions and 95 deletions
+25 -3
View File
@@ -53,9 +53,32 @@ export class CardsService {
private readonly realtime: CardsRealtimeService,
) {}
async listerTypes(role: RoleType): Promise<CardType[]> {
async listerTypes(role: RoleType): Promise<
Pick<
CardType,
| 'code'
| 'system'
| 'titre'
| 'emitter_roles'
| 'recipient_roles'
| 'audience_resolver'
| 'response_mode'
| 'retention_days'
>[]
> {
const all = await this.typesRepo.find({ where: { system: true } });
return all.filter((t) => t.emitter_roles.includes(role));
return all
.filter((t) => t.emitter_roles.includes(role))
.map((t) => ({
code: t.code,
system: t.system,
titre: t.titre,
emitter_roles: t.emitter_roles,
recipient_roles: t.recipient_roles,
audience_resolver: t.audience_resolver,
response_mode: t.response_mode,
retention_days: t.retention_days,
}));
}
async lister(
@@ -469,7 +492,6 @@ export class CardsService {
id: card.id,
type_code: card.type_code,
titre: card.type?.titre ?? card.type_code,
couleur: card.type?.couleur ?? null,
id_placement: card.id_placement,
id_evenement: card.id_evenement ?? null,
operation: card.operation,