package data import ( "github.com/go-kratos/kratos/v2/log" "github.com/google/wire" "wallet-system/internal/conf" "wallet-system/internal/data/tron" "wallet-system/internal/pkg/aws/kms" "wallet-system/internal/pkg/aws/s3" "wallet-system/internal/pkg/leveldb" "wallet-system/internal/pkg/wallet/tron/grpc" kmsClient "wallet-system/internal/data/aws/kms" s3Client "wallet-system/internal/data/aws/s3" levelClient "wallet-system/internal/data/leveldb" ) // ProviderSet is data providers. var ProviderSet = wire.NewSet( NewData, NewWalletRepo, s3Client.NewClientS3, kmsClient.NewClientKms, levelClient.NewLevelDB, tron.NewTronGrpc) // Data // @Description: type Data struct { aws *conf.Aws s3C *s3.S3Client kmsC *kms.KmsClient levelC *leveldb.LevelDB grpcT *grpc.Client } // NewData // // @Description: // @param c // @param aws // @param s3C // @param kmsC // @param levelC // @param grpcT // @param logger // @return *Data // @return func() // @return error func NewData( c *conf.Data, aws *conf.Aws, s3C *s3.S3Client, kmsC *kms.KmsClient, levelC *leveldb.LevelDB, grpcT *grpc.Client, logger log.Logger) (*Data, func(), error) { cleanup := func() { log.NewHelper(logger).Info("closing the data resources") } return &Data{ aws: aws, s3C: s3C, kmsC: kmsC, levelC: levelC, grpcT: grpcT}, cleanup, nil }