0.13.21 : create the owner membership when a choral is created
Build release Docker image / Build Docker Images (push) Successful in 7m57s

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 <noreply@anthropic.com>
This commit is contained in:
2026-07-27 11:51:36 +02:00
parent c0a0966557
commit e168b6c826
2 changed files with 23 additions and 1 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "harmony-back", "name": "harmony-back",
"version": "0.13.20", "version": "0.13.21",
"private": true, "private": true,
"description": "A Strapi application", "description": "A Strapi application",
"scripts": { "scripts": {
+22
View File
@@ -44,6 +44,28 @@ export default factories.createCoreController(
ctx.request.body = { data }; ctx.request.body = { data };
const result = await super.create(ctx); 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. // Décrémente le crédit de création une fois la chorale créée.
await strapi.db.query("plugin::users-permissions.user").update({ await strapi.db.query("plugin::users-permissions.user").update({
where: { id: user.id }, where: { id: user.id },