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

@@ -12,6 +12,7 @@ import (
)
type ImageTags struct {
TagID uuid.UUID
ID uuid.UUID `sql:"primary_key"`
Tag string
ImageID uuid.UUID
}

View File

@@ -1,18 +0,0 @@
//
// Code generated by go-jet DO NOT EDIT.
//
// WARNING: Changes to this file may cause incorrect behavior
// and will be lost if the code is regenerated
//
package model
import (
"github.com/google/uuid"
)
type UserTags struct {
ID uuid.UUID `sql:"primary_key"`
Tag string
UserID uuid.UUID
}

View File

@@ -17,7 +17,8 @@ type imageTagsTable struct {
postgres.Table
// Columns
TagID postgres.ColumnString
ID postgres.ColumnString
Tag postgres.ColumnString
ImageID postgres.ColumnString
AllColumns postgres.ColumnList
@@ -59,17 +60,19 @@ func newImageTagsTable(schemaName, tableName, alias string) *ImageTagsTable {
func newImageTagsTableImpl(schemaName, tableName, alias string) imageTagsTable {
var (
TagIDColumn = postgres.StringColumn("tag_id")
IDColumn = postgres.StringColumn("id")
TagColumn = postgres.StringColumn("tag")
ImageIDColumn = postgres.StringColumn("image_id")
allColumns = postgres.ColumnList{TagIDColumn, ImageIDColumn}
mutableColumns = postgres.ColumnList{TagIDColumn, ImageIDColumn}
allColumns = postgres.ColumnList{IDColumn, TagColumn, ImageIDColumn}
mutableColumns = postgres.ColumnList{TagColumn, ImageIDColumn}
)
return imageTagsTable{
Table: postgres.NewTable(schemaName, tableName, alias, allColumns...),
//Columns
TagID: TagIDColumn,
ID: IDColumn,
Tag: TagColumn,
ImageID: ImageIDColumn,
AllColumns: allColumns,

View File

@@ -14,6 +14,5 @@ func UseSchema(schema string) {
ImageTags = ImageTags.FromSchema(schema)
ImageText = ImageText.FromSchema(schema)
UserImages = UserImages.FromSchema(schema)
UserTags = UserTags.FromSchema(schema)
Users = Users.FromSchema(schema)
}

View File

@@ -1,81 +0,0 @@
//
// Code generated by go-jet DO NOT EDIT.
//
// WARNING: Changes to this file may cause incorrect behavior
// and will be lost if the code is regenerated
//
package table
import (
"github.com/go-jet/jet/v2/postgres"
)
var UserTags = newUserTagsTable("haystack", "user_tags", "")
type userTagsTable struct {
postgres.Table
// Columns
ID postgres.ColumnString
Tag postgres.ColumnString
UserID postgres.ColumnString
AllColumns postgres.ColumnList
MutableColumns postgres.ColumnList
}
type UserTagsTable struct {
userTagsTable
EXCLUDED userTagsTable
}
// AS creates new UserTagsTable with assigned alias
func (a UserTagsTable) AS(alias string) *UserTagsTable {
return newUserTagsTable(a.SchemaName(), a.TableName(), alias)
}
// Schema creates new UserTagsTable with assigned schema name
func (a UserTagsTable) FromSchema(schemaName string) *UserTagsTable {
return newUserTagsTable(schemaName, a.TableName(), a.Alias())
}
// WithPrefix creates new UserTagsTable with assigned table prefix
func (a UserTagsTable) WithPrefix(prefix string) *UserTagsTable {
return newUserTagsTable(a.SchemaName(), prefix+a.TableName(), a.TableName())
}
// WithSuffix creates new UserTagsTable with assigned table suffix
func (a UserTagsTable) WithSuffix(suffix string) *UserTagsTable {
return newUserTagsTable(a.SchemaName(), a.TableName()+suffix, a.TableName())
}
func newUserTagsTable(schemaName, tableName, alias string) *UserTagsTable {
return &UserTagsTable{
userTagsTable: newUserTagsTableImpl(schemaName, tableName, alias),
EXCLUDED: newUserTagsTableImpl("", "excluded", ""),
}
}
func newUserTagsTableImpl(schemaName, tableName, alias string) userTagsTable {
var (
IDColumn = postgres.StringColumn("id")
TagColumn = postgres.StringColumn("tag")
UserIDColumn = postgres.StringColumn("user_id")
allColumns = postgres.ColumnList{IDColumn, TagColumn, UserIDColumn}
mutableColumns = postgres.ColumnList{TagColumn, UserIDColumn}
)
return userTagsTable{
Table: postgres.NewTable(schemaName, tableName, alias, allColumns...),
//Columns
ID: IDColumn,
Tag: TagColumn,
UserID: UserIDColumn,
AllColumns: allColumns,
MutableColumns: mutableColumns,
}
}