feat: saving AI information to database

This commit is contained in:
2025-02-24 21:00:05 +00:00
parent e26835861d
commit c36fb1c0d6
8 changed files with 80 additions and 118 deletions

View File

@@ -34,12 +34,71 @@ func GetImage(imageId string) (model.UserImages, error) {
return images[0], err
}
func GetUserImages(userId string) ([]model.UserImages, error) {
type UserImagesWithInfo struct {
model.UserImages
Tags []model.ImageTags
Links []model.ImageLinks
Text []model.ImageText
}
func GetUserImages(userId string) ([]UserImagesWithInfo, error) {
id := uuid.MustParse(userId)
stmt := UserImages.SELECT(UserImages.ID, UserImages.ImageName).WHERE(UserImages.UserID.EQ(UUID(id)))
images := []model.UserImages{}
images := []UserImagesWithInfo{}
err := stmt.Query(db, &images)
return images, err
}
func SaveImageTags(imageId string, tags []string) ([]model.ImageTags, error) {
id := uuid.MustParse(imageId)
stmt := ImageTags.INSERT(ImageTags.ImageID, ImageTags.Tag)
for _, t := range tags {
stmt = stmt.VALUES(id, t)
}
stmt.RETURNING(ImageTags.AllColumns)
imageTags := []model.ImageTags{}
err := stmt.Query(db, &imageTags)
return imageTags, err
}
func SaveImageLinks(imageId string, links []string) ([]model.ImageLinks, error) {
id := uuid.MustParse(imageId)
stmt := ImageTags.INSERT(ImageLinks.ImageID, ImageLinks.Link)
for _, t := range links {
stmt = stmt.VALUES(id, t)
}
stmt.RETURNING(ImageLinks.AllColumns)
imageLinks := []model.ImageLinks{}
err := stmt.Query(db, &imageLinks)
return imageLinks, err
}
func SaveImageTexts(imageId string, texts []string) ([]model.ImageText, error) {
id := uuid.MustParse(imageId)
stmt := ImageTags.INSERT(ImageText.ImageID, ImageText.ImageText)
for _, t := range texts {
stmt = stmt.VALUES(id, t)
}
stmt.RETURNING(ImageText.AllColumns)
imageTags := []model.ImageText{}
err := stmt.Query(db, &imageTags)
return imageTags, err
}