Skip to content

[BUG] Resolver de Eventos: Retorno Incorrecto de Comunidades Asociadas #101

@TextC0de

Description

@TextC0de

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:

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

Resultado Incorrecto de Query
Validación de Datos

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions