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 },