all repos — caroster @ c953ea1f553a9e6e31003bcc99086c9fb24574af

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

fix: :bug: Link event to existing user event if not logged in

#537
Tim Izzo tim@5ika.ch
Fri, 23 Aug 2024 13:33:16 +0200
commit

c953ea1f553a9e6e31003bcc99086c9fb24574af

parent

a9d0686cf07dbe09780984ed5efe5cc12fdaed49

1 files changed, 14 insertions(+), 2 deletions(-)

jump to
M backend/src/api/event/content-types/event/lifecycles.tsbackend/src/api/event/content-types/event/lifecycles.ts

@@ -5,8 +5,20 @@ export default {

async beforeCreate(event) { const { data } = event.params; if (!data.uuid) data.uuid = uuid(); + + const userCreator = await strapi.db + .query("plugin::users-permissions.user") + .findOne({ + where: { email: data.email }, + }); + + if (userCreator) { + data.creator = userCreator.id; + data.users = [userCreator.id]; + } + // If user provides an address, get its lat/lng position using OSM API - if (data.address) data.position = getPosition(data.address); + if (data.address) data.position = await getPosition(data.address); }, async afterCreate({ result }) { await strapi

@@ -25,7 +37,7 @@ params.data.position = getPosition(params.data.address);

}, }; -const getPosition = async (address) => { +const getPosition = async (address: string): Promise<[string, string]> => { try { const query = encodeURI(address); const { data } = await axios.get(