hk-service/model/config_api/configapimodel.go
2025-02-20 17:32:53 +08:00

51 lines
1.2 KiB
Go

package config_api
import (
"context"
"fmt"
"github.com/zeromicro/go-zero/core/stores/sqlx"
)
var _ ConfigApiModel = (*customConfigApiModel)(nil)
type (
// ConfigApiModel is an interface to be customized, add more methods here,
// and implement the added methods in customConfigApiModel.
ConfigApiModel interface {
configApiModel
withSession(session sqlx.Session) ConfigApiModel
FindList(ctx context.Context) ([]ConfigApi, error)
}
customConfigApiModel struct {
*defaultConfigApiModel
}
)
func (m *customConfigApiModel) FindList(ctx context.Context) ([]ConfigApi, error) {
query := fmt.Sprintf("select %s from %s", configApiRows, m.table)
var resp []ConfigApi
err := m.conn.QueryRowsCtx(ctx, &resp, query)
switch err {
case nil:
return resp, nil
case sqlx.ErrNotFound:
return nil, ErrNotFound
default:
return nil, err
}
}
// NewConfigApiModel returns a model for the database table.
func NewConfigApiModel(conn sqlx.SqlConn) ConfigApiModel {
return &customConfigApiModel{
defaultConfigApiModel: newConfigApiModel(conn),
}
}
func (m *customConfigApiModel) withSession(session sqlx.Session) ConfigApiModel {
return NewConfigApiModel(sqlx.NewSqlConnFromSession(session))
}