45 lines
1.2 KiB
Go
Executable File
45 lines
1.2 KiB
Go
Executable File
package model
|
|
|
|
import (
|
|
"context"
|
|
"errors"
|
|
"github.com/zeromicro/go-zero/core/stores/sqlx"
|
|
)
|
|
|
|
var _ NhNftStakeModel = (*customNhNftStakeModel)(nil)
|
|
|
|
type (
|
|
// NhNftStakeModel is an interface to be customized, add more methods here,
|
|
// and implement the added methods in customNhNftStakeModel.
|
|
NhNftStakeModel interface {
|
|
nhNftStakeModel
|
|
withSession(session sqlx.Session) NhNftStakeModel
|
|
AllStakeNft(ctx context.Context) ([]NhNftStake, error)
|
|
}
|
|
|
|
customNhNftStakeModel struct {
|
|
*defaultNhNftStakeModel
|
|
}
|
|
)
|
|
|
|
func (m *customNhNftStakeModel) AllStakeNft(ctx context.Context) ([]NhNftStake, error) {
|
|
query := "SELECT * FROM `nh_nft_stake` WHERE `status` = 'staked'"
|
|
var result []NhNftStake
|
|
err := m.conn.QueryRowsCtx(ctx, &result, query)
|
|
if err != nil && !errors.Is(err, sqlx.ErrNotFound) {
|
|
return nil, err
|
|
}
|
|
return result, nil
|
|
}
|
|
|
|
// NewNhNftStakeModel returns a model for the database table.
|
|
func NewNhNftStakeModel(conn sqlx.SqlConn) NhNftStakeModel {
|
|
return &customNhNftStakeModel{
|
|
defaultNhNftStakeModel: newNhNftStakeModel(conn),
|
|
}
|
|
}
|
|
|
|
func (m *customNhNftStakeModel) withSession(session sqlx.Session) NhNftStakeModel {
|
|
return NewNhNftStakeModel(sqlx.NewSqlConnFromSession(session))
|
|
}
|