-
-
Notifications
You must be signed in to change notification settings - Fork 2
Description
En el proyecto, se maneja una relación many-to-many entre eventos y comunidades.
Esta relación se evidencia en la siguiente imagen, específicamente en la tabla events_communities:

Sin embargo, el código actual devuelve solo la primera comunidad asociada a cada evento, lo cual parece incoherente con la naturaleza de la relación many-to-many. El fragmento de código que está causando este comportamiento es el siguiente:
Lines 72 to 88 in f90245c
| community: t.field({ | |
| type: CommunityRef, | |
| nullable: true, | |
| resolve: async (root, args, ctx) => { | |
| const community = await ctx.DB.query.communitySchema.findFirst({ | |
| with: { | |
| eventsToCommunities: { | |
| where: (etc, { eq }) => eq(etc.eventId, root.id), | |
| }, | |
| }, | |
| }); | |
| if (!community) { | |
| return null; | |
| } | |
| return selectCommunitySchema.parse(community); | |
| }, | |
| }), |
Además, en algunas consultas, la comunidad devuelta no corresponde a la asociada al evento, similar al problema reportado en el issue #81.
Un ejemplo concreto de este problema se observa en la siguiente query y sus resultados, donde el evento con id 9d38e167-e376-476d-829d-10953675921e está vinculado incorrectamente a la comunidad con id c012d08f-e8e5-40ea-997a-d78bc1de4952:
query events {
events {
id
name
community {
id
name
}
}
}
