github.com/mundipagg/boleto-api@v0.0.0-20230620145841-3f9ec742599f/bradescoNetEmpresa/validations.go (about) 1 package bradescoNetEmpresa 2 3 import ( 4 "github.com/mundipagg/boleto-api/models" 5 "github.com/mundipagg/boleto-api/validations" 6 ) 7 8 func bradescoNetEmpresaValidateAgency(b interface{}) error { 9 switch t := b.(type) { 10 case *models.BoletoRequest: 11 err := t.Agreement.IsAgencyValid() 12 if err != nil { 13 return models.NewErrorResponse("MP400", err.Error()) 14 } 15 return nil 16 default: 17 return validations.InvalidType(t) 18 } 19 } 20 21 func bradescoNetEmpresaValidateAccount(b interface{}) error { 22 switch t := b.(type) { 23 case *models.BoletoRequest: 24 err := t.Agreement.IsAccountValid(7) 25 if err != nil { 26 return models.NewErrorResponse("MP400", err.Error()) 27 } 28 return nil 29 default: 30 return validations.InvalidType(t) 31 } 32 } 33 34 func bradescoNetEmpresaValidateWallet(b interface{}) error { 35 switch t := b.(type) { 36 case *models.BoletoRequest: 37 if t.Agreement.Wallet != 4 && t.Agreement.Wallet != 9 && t.Agreement.Wallet != 19 { 38 return models.NewErrorResponse("MP400", "a carteira deve ser 4, 9 ou 19 para o bradescoNetEmpresa") 39 } 40 return nil 41 default: 42 return validations.InvalidType(t) 43 } 44 } 45 46 func bradescoNetEmpresaBoletoTypeValidate(b interface{}) error { 47 bt := bradescoNetEmpresaBoletoTypes() 48 49 switch t := b.(type) { 50 51 case *models.BoletoRequest: 52 if len(t.Title.BoletoType) > 0 && bt[t.Title.BoletoType] == "" { 53 return models.NewErrorResponse("MP400", "espécie de boleto informada não existente") 54 } 55 return nil 56 default: 57 return validations.InvalidType(t) 58 } 59 }