package initial import ( "git.gocasts.ir/ebhomengo/niki/adapter/redis" "git.gocasts.ir/ebhomengo/niki/config" "git.gocasts.ir/ebhomengo/niki/repository/mysql" adminvalidator "git.gocasts.ir/ebhomengo/niki/validator/admin/admin" adminkindboxvalidator "git.gocasts.ir/ebhomengo/niki/validator/admin/kind_box" adminkindboxreqvalidator "git.gocasts.ir/ebhomengo/niki/validator/admin/kind_box_req" benefactoraddressvalidator "git.gocasts.ir/ebhomengo/niki/validator/benefactor/address" benefactorvalidator "git.gocasts.ir/ebhomengo/niki/validator/benefactor/benefactor" benefactorkindboxvalidator "git.gocasts.ir/ebhomengo/niki/validator/benefactor/kind_box" benefactorkindboxreqvalidator "git.gocasts.ir/ebhomengo/niki/validator/benefactor/kind_box_req" ) type Validators struct { BenefactorVld benefactorvalidator.Validator BenefactorKindBoxReqVld benefactorkindboxreqvalidator.Validator BenefactorAddressVld benefactoraddressvalidator.Validator BenefactorKindBoxVld benefactorkindboxvalidator.Validator AdminKindBoxReqVld adminkindboxreqvalidator.Validator AdminVld adminvalidator.Validator AdminKindBoxVld adminkindboxvalidator.Validator } func InitAdminKindBoxReqValidator(db *mysql.DB, cfg config.Config) adminkindboxreqvalidator.Validator { return adminkindboxreqvalidator.New(InitBenefactorKindBoxReqDB(db), InitAdminService(cfg, db), InitBenefactorForAdminService(db), InitAdminReferTimeService(db), InitBenefactorAddressService(db)) } func InitAdminValidator(db *mysql.DB) adminvalidator.Validator { return adminvalidator.New(InitAdminMysql(db)) } func InitBenefactorValidator() benefactorvalidator.Validator { return benefactorvalidator.New() } func InitBenefactorKindBoxReqValidator(cfg config.Config, redisAdapter redis.Adapter, db *mysql.DB) benefactorkindboxreqvalidator.Validator { return benefactorkindboxreqvalidator.New( InitBenefactorService(cfg, redisAdapter, db), InitBenefactorAddressService(db), InitAdminReferTimeService(db), InitBenefactorKindBoxReqDB(db), ) } func InitBenefactorAddressValidator(cfg config.Config, redisAdapter redis.Adapter, db *mysql.DB) benefactoraddressvalidator.Validator { return benefactoraddressvalidator.New( InitBenefactorService(cfg, redisAdapter, db), InitBenefactorAddressDB(db), ) } func InitAdminKindBoxValidator(db *mysql.DB, cfg config.Config) adminkindboxvalidator.Validator { return adminkindboxvalidator.New(InitKindBoxRepo(db), InitAdminService(cfg, db)) } func InitBenefactorKindBoxValidator(cfg config.Config, redisAdapter redis.Adapter, db *mysql.DB) benefactorkindboxvalidator.Validator { return benefactorkindboxvalidator.New( InitKindBoxRepo(db), InitBenefactorService(cfg, redisAdapter, db), InitBenefactorAddressService(db), InitAdminReferTimeService(db), ) }