all repos — caroster @ af1cc163f83aa7a171a4b1ee8a4ce6b095d10660

[Octree] Group carpool to your event https://caroster.io

fix: :bug: Link creator to event on sign-up
Tim Izzo tim@octree.ch
Mon, 02 Sep 2024 15:52:27 +0200
commit

af1cc163f83aa7a171a4b1ee8a4ce6b095d10660

parent

14aa569691fa352558026139510056a49df29b07

A backend/src/extensions/users-permissions/content-types/user/lifecycles.ts

@@ -0,0 +1,25 @@

+export default { + async afterCreate(event) { + const { result } = event; + if (result.email) { + const linkedEvents = await strapi.entityService.findMany( + "api::event.event", + { + filters: { email: result.email }, + populate: ["users"], + } + ); + for (const event of linkedEvents) { + strapi.log.info( + `Set user ${result.id} (${result.email}) as creator of event ${event.id} (${event.uuid})` + ); + await strapi.entityService.update("api::event.event", event.id, { + data: { + creator: result.id, + users: [...(event.users || []), result.id], + }, + }); + } + } + }, +};
M backend/src/index.tsbackend/src/index.ts

@@ -1,5 +1,6 @@

import bootstrapActions from "./bootstrap"; import graphqlExtends from "./graphql"; +import userLifecycles from "./extensions/users-permissions/content-types/user/lifecycles"; export default { /**

@@ -42,5 +43,10 @@ async bootstrap(context) {

for (let action of bootstrapActions) { await action(context); } + + strapi.db.lifecycles.subscribe({ + models: ["plugin::users-permissions.user"], + ...userLifecycles, + }); }, };