Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // domain layer
- type ListeningNonEvmObject struct {
- ChainID *big.Int
- Name string
- ListeningTopicName string
- TransactorTopicName string
- Handler NonEvmEventHandlerFunc
- Repository database.Repositorier
- }
- // database
- type Repositorier interface {
- NetworkData() networkData.Repository
- ObjectData() objectData.Repository
- }
- // вот такой класс реализует networkData.Repository
- type MongoDBRepository struct {
- coll *mongo.Collection
- }
- type Repository interface {
- Get(ctx context.Context, name string) (*NetworkData, error)
- Create(ctx context.Context, networkData *NetworkData) (*NetworkData, error)
- Update(ctx context.Context, networkData *NetworkData) (*NetworkData, error)
- UpdateNonce(ctx context.Context, name string, nonce uint64) (*NetworkData, error)
- }
- // вот такой - objectData.Repository
- type MongoDBRepository struct {
- coll *mongo.Collection
- }
- type Repository interface {
- Get(ctx context.Context, name string) (*ObjectData, error)
- UpdateBlockNumber(ctx context.Context, name string, blockNumber string) (*ObjectData, error)
- UpdateBlockNumberByChain(ctx context.Context, chain string, blockNumber string) (*ObjectData, error)
- UpdateBlockNumberByChainAndDirection(ctx context.Context, chain, blockNumber, direction string) (*ObjectData, error)
- UpdateLastWatchedBlockNumberByChainAndDirection(ctx context.Context, chain, blockNumber, direction string) (*ObjectData, error)
- UpdateLastWatchedBlockNumberByChain(ctx context.Context, chain string, blockNumber string) (*ObjectData, error)
- Create(ctx context.Context, obj *ObjectData) (*ObjectData, error)
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement