fix: simplifying query
I do have some learning to do about go-jet specifically. I can't include the Location field on events, because the QRM will add any location to the events
This commit is contained in:
@ -31,10 +31,7 @@ type ImageWithProperties struct {
|
||||
|
||||
Locations []model.Locations
|
||||
|
||||
Events []struct {
|
||||
model.Events
|
||||
Location model.Locations
|
||||
}
|
||||
Events []model.Events
|
||||
}
|
||||
|
||||
func getUserIdFromImage(ctx context.Context, dbPool *sql.DB, imageId uuid.UUID) (uuid.UUID, error) {
|
||||
@ -64,35 +61,21 @@ func (m UserModel) ListWithProperties(ctx context.Context, userId uuid.UUID) ([]
|
||||
UserTags.AllColumns,
|
||||
ImageText.AllColumns,
|
||||
ImageLinks.AllColumns,
|
||||
ImageLocations.AllColumns,
|
||||
Locations.AllColumns,
|
||||
ImageEvents.AllColumns,
|
||||
Events.AllColumns,
|
||||
).
|
||||
FROM(
|
||||
UserImages.INNER_JOIN(Image, Image.ID.EQ(UserImages.ImageID)).
|
||||
LEFT_JOIN(ImageTags, ImageTags.ImageID.EQ(Image.ID)).
|
||||
LEFT_JOIN(UserTags, UserTags.ID.EQ(ImageTags.TagID)).
|
||||
LEFT_JOIN(ImageText, ImageText.ImageID.EQ(Image.ID)).
|
||||
LEFT_JOIN(ImageLinks, ImageLinks.ImageID.EQ(Image.ID))).
|
||||
WHERE(UserImages.UserID.EQ(UUID(userId)))
|
||||
|
||||
listLocationsStmt := SELECT(
|
||||
UserImages.AllColumns,
|
||||
ImageLocations.AllColumns,
|
||||
Locations.AllColumns,
|
||||
).
|
||||
FROM(
|
||||
UserImages.INNER_JOIN(ImageLocations, ImageLocations.ImageID.EQ(UserImages.ImageID)).
|
||||
INNER_JOIN(Locations, Locations.ID.EQ(ImageLocations.LocationID)),
|
||||
).
|
||||
WHERE(UserImages.UserID.EQ(UUID(userId)))
|
||||
|
||||
listEventsStmt := SELECT(
|
||||
UserImages.AllColumns,
|
||||
ImageLocations.AllColumns,
|
||||
Locations.AllColumns,
|
||||
).
|
||||
FROM(
|
||||
UserImages.INNER_JOIN(ImageLocations, ImageLocations.ImageID.EQ(UserImages.ImageID)).
|
||||
INNER_JOIN(Locations, Locations.ID.EQ(ImageLocations.LocationID)),
|
||||
).
|
||||
LEFT_JOIN(ImageLinks, ImageLinks.ImageID.EQ(Image.ID)).
|
||||
LEFT_JOIN(ImageLocations, ImageLocations.ImageID.EQ(UserImages.ImageID)).
|
||||
LEFT_JOIN(Locations, Locations.ID.EQ(ImageLocations.LocationID)).
|
||||
LEFT_JOIN(ImageEvents, ImageEvents.ImageID.EQ(UserImages.ImageID)).
|
||||
LEFT_JOIN(Events, Events.ID.EQ(ImageEvents.ID))).
|
||||
WHERE(UserImages.UserID.EQ(UUID(userId)))
|
||||
|
||||
fmt.Println(listWithPropertiesStmt.DebugSql())
|
||||
@ -104,16 +87,6 @@ func (m UserModel) ListWithProperties(ctx context.Context, userId uuid.UUID) ([]
|
||||
return images, err
|
||||
}
|
||||
|
||||
err = listLocationsStmt.QueryContext(ctx, m.dbPool, &images)
|
||||
if err != nil {
|
||||
return images, err
|
||||
}
|
||||
|
||||
err = listEventsStmt.QueryContext(ctx, m.dbPool, &images)
|
||||
if err != nil {
|
||||
return images, err
|
||||
}
|
||||
|
||||
return images, err
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user