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