Files
ocean/gallery/internal/model/imagesmodel_gen.go
2025-05-31 21:44:34 +08:00

98 lines
3.2 KiB
Go

// Code generated by goctl. DO NOT EDIT.
// versions:
// goctl version: 1.8.3
package model
import (
"context"
"database/sql"
"fmt"
"strings"
"time"
"github.com/lib/pq"
"github.com/zeromicro/go-zero/core/stores/builder"
"github.com/zeromicro/go-zero/core/stores/sqlx"
"github.com/zeromicro/go-zero/core/stringx"
)
var (
imagesFieldNames = builder.RawFieldNames(&Images{}, true)
imagesRows = strings.Join(imagesFieldNames, ",")
imagesRowsExpectAutoSet = strings.Join(stringx.Remove(imagesFieldNames, "create_at", "create_time", "created_at", "update_at", "update_time", "updated_at"), ",")
imagesRowsWithPlaceHolder = builder.PostgreSqlJoin(stringx.Remove(imagesFieldNames, "image_id", "create_at", "create_time", "created_at", "update_at", "update_time", "updated_at"))
)
type (
imagesModel interface {
Insert(ctx context.Context, data *Images) (sql.Result, error)
FindOne(ctx context.Context, imageId string) (*Images, error)
Update(ctx context.Context, data *Images) error
Delete(ctx context.Context, imageId string) error
}
defaultImagesModel struct {
conn sqlx.SqlConn
table string
}
Images struct {
ImageId string `db:"image_id"`
StorageKey string `db:"storage_key"`
FileName string `db:"file_name"`
MimeType string `db:"mime_type"`
FileSize int64 `db:"file_size"`
Width sql.NullInt64 `db:"width"`
Height sql.NullInt64 `db:"height"`
CategoryId sql.NullString `db:"category_id"`
Tags pq.StringArray `db:"tags"`
CreatedAt time.Time `db:"created_at"`
UpdatedAt time.Time `db:"updated_at"`
IsDeleted bool `db:"is_deleted"`
}
)
func newImagesModel(conn sqlx.SqlConn) *defaultImagesModel {
return &defaultImagesModel{
conn: conn,
table: `"public"."images"`,
}
}
func (m *defaultImagesModel) Delete(ctx context.Context, imageId string) error {
query := fmt.Sprintf("delete from %s where image_id = $1", m.table)
_, err := m.conn.ExecCtx(ctx, query, imageId)
return err
}
func (m *defaultImagesModel) FindOne(ctx context.Context, imageId string) (*Images, error) {
query := fmt.Sprintf("select %s from %s where image_id = $1 limit 1", imagesRows, m.table)
var resp Images
err := m.conn.QueryRowCtx(ctx, &resp, query, imageId)
switch err {
case nil:
return &resp, nil
case sqlx.ErrNotFound:
return nil, ErrNotFound
default:
return nil, err
}
}
func (m *defaultImagesModel) Insert(ctx context.Context, data *Images) (sql.Result, error) {
query := fmt.Sprintf("insert into %s (%s) values ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10)", m.table, imagesRowsExpectAutoSet)
ret, err := m.conn.ExecCtx(ctx, query, data.ImageId, data.StorageKey, data.FileName, data.MimeType, data.FileSize, data.Width, data.Height, data.CategoryId, data.Tags, data.IsDeleted)
return ret, err
}
func (m *defaultImagesModel) Update(ctx context.Context, data *Images) error {
query := fmt.Sprintf("update %s set %s where image_id = $1", m.table, imagesRowsWithPlaceHolder)
_, err := m.conn.ExecCtx(ctx, query, data.ImageId, data.StorageKey, data.FileName, data.MimeType, data.FileSize, data.Width, data.Height, data.CategoryId, data.Tags, data.IsDeleted)
return err
}
func (m *defaultImagesModel) tableName() string {
return m.table
}