/
register_cota_kv_pair.go
42 lines (34 loc) · 1.34 KB
/
register_cota_kv_pair.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
package biz
import (
"context"
"github.com/nervina-labs/cota-syncer/internal/logger"
ckbTypes "github.com/nervosnetwork/ckb-sdk-go/types"
)
type RegisterCotaKvPair struct {
BlockNumber uint64
LockHash string
}
type RegisterCotaKvPairRepo interface {
CreateRegisterCotaKvPair(ctx context.Context, register *RegisterCotaKvPair) error
DeleteRegisterCotaKvPairs(ctx context.Context, blockNumber uint64) error
ParseRegistryEntries(ctx context.Context, blockNumber uint64, tx *ckbTypes.Transaction) ([]RegisterCotaKvPair, error)
}
type RegisterCotaKvPairUsecase struct {
repo RegisterCotaKvPairRepo
logger *logger.Logger
}
func NewRegisterCotaKvPairUsecase(repo RegisterCotaKvPairRepo, logger *logger.Logger) *RegisterCotaKvPairUsecase {
return &RegisterCotaKvPairUsecase{
repo: repo,
logger: logger,
}
}
func (uc *RegisterCotaKvPairUsecase) Create(ctx context.Context, register *RegisterCotaKvPair) error {
return uc.repo.CreateRegisterCotaKvPair(ctx, register)
}
func (uc *RegisterCotaKvPairUsecase) DeleteByBlockNumber(ctx context.Context, blockNumber uint64) error {
return uc.repo.DeleteRegisterCotaKvPairs(ctx, blockNumber)
}
func (uc *RegisterCotaKvPairUsecase) ParseRegistryEntries(ctx context.Context, blockNumber uint64, tx *ckbTypes.Transaction) ([]RegisterCotaKvPair, error) {
return uc.repo.ParseRegistryEntries(ctx, blockNumber, tx)
}