github.com/mundipagg/boleto-api@v0.0.0-20230620145841-3f9ec742599f/boleto/config.go (about) 1 package boleto 2 3 import ( 4 "html/template" 5 6 "github.com/mundipagg/boleto-api/models" 7 ) 8 9 //ConfigBank configure html template for each bank 10 type ConfigBank struct { 11 Logo template.HTML 12 EspecieDoc string 13 Aceite string 14 Quantidade string 15 ValorCotacao string 16 Moeda string 17 } 18 19 //GetConfig returns boleto configution for each bank 20 func GetConfig(boleto models.BoletoRequest) ConfigBank { 21 switch boleto.BankNumber { 22 case models.BancoDoBrasil: 23 return configBB(boleto) 24 case models.Santander: 25 return configSantander(boleto) 26 case models.Citibank: 27 return configCiti(boleto) 28 case models.Bradesco: 29 return configBradesco(boleto) 30 case models.Caixa: 31 return configCaixa(boleto) 32 case models.Itau: 33 return configItau(boleto) 34 case models.Pefisa: 35 return configPefisa(boleto) 36 case models.Stone: 37 return configStone(boleto) 38 case models.JPMorgan: 39 return configJPMorgan(boleto) 40 default: 41 return configBB(boleto) 42 } 43 } 44 45 func configCiti(boleto models.BoletoRequest) ConfigBank { 46 return ConfigBank{Logo: template.HTML(LogoCiti), EspecieDoc: boleto.Title.BoletoType, Aceite: "N", Quantidade: "", ValorCotacao: "", Moeda: "R$"} 47 } 48 49 func configBB(boleto models.BoletoRequest) ConfigBank { 50 return ConfigBank{Logo: template.HTML(LogoBB), EspecieDoc: boleto.Title.BoletoType, Aceite: "N", Quantidade: "N", ValorCotacao: "", Moeda: "R$"} 51 } 52 53 func configCaixa(boleto models.BoletoRequest) ConfigBank { 54 return ConfigBank{Logo: template.HTML(LogoCaixa), EspecieDoc: boleto.Title.BoletoType, Aceite: "N", Quantidade: "", ValorCotacao: "", Moeda: "R$"} 55 } 56 57 func configSantander(boleto models.BoletoRequest) ConfigBank { 58 return ConfigBank{Logo: template.HTML(LogoSantander), EspecieDoc: boleto.Title.BoletoType, Aceite: "N", Quantidade: "N", ValorCotacao: "", Moeda: "R$"} 59 } 60 61 func configItau(boleto models.BoletoRequest) ConfigBank { 62 return ConfigBank{Logo: template.HTML(LogoItau), EspecieDoc: boleto.Title.BoletoType, Aceite: "N", Quantidade: "N", ValorCotacao: "", Moeda: "R$"} 63 } 64 65 func configPefisa(boleto models.BoletoRequest) ConfigBank { 66 return ConfigBank{Logo: template.HTML(LogoPefisa), EspecieDoc: boleto.Title.BoletoType, Aceite: "N", Quantidade: "", ValorCotacao: "", Moeda: "R$"} 67 } 68 69 func configStone(boleto models.BoletoRequest) ConfigBank { 70 return ConfigBank{Logo: template.HTML(LogoStone), EspecieDoc: boleto.Title.BoletoType, Aceite: "N", Quantidade: "", ValorCotacao: "", Moeda: "R$"} 71 } 72 73 func configJPMorgan(boleto models.BoletoRequest) ConfigBank { 74 return ConfigBank{Logo: template.HTML(LogoJPMorgan), EspecieDoc: boleto.Title.BoletoType, Aceite: "N", Quantidade: "", ValorCotacao: "", Moeda: "R$"} 75 } 76 77 func configBradesco(boleto models.BoletoRequest) ConfigBank { 78 switch boleto.Agreement.Wallet { 79 case 4, 9, 19: 80 return ConfigBank{Logo: template.HTML(LogoBradesco), EspecieDoc: boleto.Title.BoletoType, Aceite: "N", Quantidade: "", ValorCotacao: "", Moeda: "Real"} 81 case 25, 26: 82 return ConfigBank{Logo: template.HTML(LogoBradesco), EspecieDoc: boleto.Title.BoletoType, Aceite: "N", Quantidade: "", ValorCotacao: "", Moeda: "Real"} 83 default: 84 return ConfigBank{Logo: template.HTML(LogoBradesco), EspecieDoc: boleto.Title.BoletoType, Aceite: "N", Quantidade: "", ValorCotacao: "", Moeda: "Real"} 85 } 86 }