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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions