From e168b6c826464c80abd14da43100fc8948f29e9a Mon Sep 17 00:00:00 2001 From: julien vdb Date: Mon, 27 Jul 2026 11:51:36 +0200 Subject: [PATCH] 0.13.21 : create the owner membership when a choral is created MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Le créateur d'une chorale n'avait aucune adhésion : la chorale n'apparaissait pas dans « Mes chorales » et son créateur n'en était pas propriétaire — il n'avait donc aucun droit sur ce qu'il venait de créer. Seule la recherche la montrait. Le controller crée désormais une choral-membership `owner` / `active` après la création, et journalise l'anomalie si l'id de la chorale n'est pas exploitable. Co-Authored-By: Claude Opus 5 --- package.json | 2 +- src/api/choral/controllers/choral.ts | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index a6625bb..7f641b9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "harmony-back", - "version": "0.13.20", + "version": "0.13.21", "private": true, "description": "A Strapi application", "scripts": { diff --git a/src/api/choral/controllers/choral.ts b/src/api/choral/controllers/choral.ts index ff7ee3c..4e82de8 100644 --- a/src/api/choral/controllers/choral.ts +++ b/src/api/choral/controllers/choral.ts @@ -44,6 +44,28 @@ export default factories.createCoreController( ctx.request.body = { data }; const result = await super.create(ctx); + const choralId = (result as any)?.data?.id; + + // Adhésion propriétaire : sans elle, le créateur n'apparaît pas dans + // « Mes chorales » et n'a aucun droit sur ce qu'il vient de créer. + if (choralId) { + await strapi.db.query("api::choral-membership.choral-membership").create({ + data: { + user: user.id, + choral: choralId, + role: "owner", + state: "active", + }, + }); + strapi.log.info( + `✅ Chorale ${choralId} créée par l'utilisateur ${user.id}, adhésion propriétaire enregistrée`, + ); + } else { + strapi.log.error( + `❌ Chorale créée sans id exploitable : aucune adhésion propriétaire pour l'utilisateur ${user.id}`, + ); + } + // Décrémente le crédit de création une fois la chorale créée. await strapi.db.query("plugin::users-permissions.user").update({ where: { id: user.id },