// 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 }