feat: returning events and locations from end point
This commit is contained in:
@ -30,6 +30,11 @@ type ImageWithProperties struct {
|
|||||||
Text []model.ImageText
|
Text []model.ImageText
|
||||||
|
|
||||||
Locations []model.Locations
|
Locations []model.Locations
|
||||||
|
|
||||||
|
Events []struct {
|
||||||
|
model.Events
|
||||||
|
Location model.Locations
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func getUserIdFromImage(ctx context.Context, dbPool *sql.DB, imageId uuid.UUID) (uuid.UUID, error) {
|
func getUserIdFromImage(ctx context.Context, dbPool *sql.DB, imageId uuid.UUID) (uuid.UUID, error) {
|
||||||
@ -58,20 +63,56 @@ func (m UserModel) ListWithProperties(ctx context.Context, userId uuid.UUID) ([]
|
|||||||
ImageTags.AllColumns,
|
ImageTags.AllColumns,
|
||||||
UserTags.AllColumns,
|
UserTags.AllColumns,
|
||||||
ImageText.AllColumns,
|
ImageText.AllColumns,
|
||||||
ImageLinks.AllColumns).
|
ImageLinks.AllColumns,
|
||||||
|
).
|
||||||
FROM(
|
FROM(
|
||||||
UserImages.INNER_JOIN(Image, Image.ID.EQ(UserImages.ImageID)).
|
UserImages.INNER_JOIN(Image, Image.ID.EQ(UserImages.ImageID)).
|
||||||
LEFT_JOIN(ImageTags, ImageTags.ImageID.EQ(Image.ID)).
|
LEFT_JOIN(ImageTags, ImageTags.ImageID.EQ(Image.ID)).
|
||||||
INNER_JOIN(UserTags, UserTags.ID.EQ(ImageTags.TagID)).
|
LEFT_JOIN(UserTags, UserTags.ID.EQ(ImageTags.TagID)).
|
||||||
LEFT_JOIN(ImageText, ImageText.ImageID.EQ(Image.ID)).
|
LEFT_JOIN(ImageText, ImageText.ImageID.EQ(Image.ID)).
|
||||||
LEFT_JOIN(ImageLinks, ImageLinks.ImageID.EQ(Image.ID)).
|
LEFT_JOIN(ImageLinks, ImageLinks.ImageID.EQ(Image.ID))).
|
||||||
LEFT_JOIN(ImageLocations, ImageLocations.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)),
|
||||||
|
).
|
||||||
WHERE(UserImages.UserID.EQ(UUID(userId)))
|
WHERE(UserImages.UserID.EQ(UUID(userId)))
|
||||||
|
|
||||||
fmt.Println(listWithPropertiesStmt.DebugSql())
|
fmt.Println(listWithPropertiesStmt.DebugSql())
|
||||||
|
|
||||||
images := []ImageWithProperties{}
|
images := []ImageWithProperties{}
|
||||||
|
|
||||||
err := listWithPropertiesStmt.QueryContext(ctx, m.dbPool, &images)
|
err := listWithPropertiesStmt.QueryContext(ctx, m.dbPool, &images)
|
||||||
|
if err != nil {
|
||||||
|
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
|
return images, err
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user