Created
October 31, 2023 19:26
-
-
Save rodrigorodriguescosta/e9ab566bc446085c1119a7ee831397b4 to your computer and use it in GitHub Desktop.
use example for go API framework
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package main | |
import ( | |
"comps/app" | |
appversion "comps/apps/app" | |
"comps/apps/auth" | |
"comps/apps/config" | |
"comps/apps/dfe/cce" | |
"comps/apps/dfe/cfop" | |
"comps/apps/dfe/inutilizacao" | |
"comps/apps/dfe/mdfe" | |
"comps/apps/dfe/ncm" | |
"comps/apps/dfe/nfe" | |
"comps/apps/dfe/tributacao" | |
"comps/apps/endereco" | |
"comps/apps/estoque/ajusteestoque" | |
"comps/apps/estoque/categoria" | |
"comps/apps/estoque/entradaavulsa" | |
"comps/apps/estoque/fabricante" | |
"comps/apps/estoque/inventario" | |
"comps/apps/estoque/produto" | |
"comps/apps/etiqueta" | |
"comps/apps/filemanager" | |
"comps/apps/financeiro/caixa/caixa" | |
"comps/apps/financeiro/caixa/fechamentocaixa" | |
"comps/apps/financeiro/caixa/movimentocaixa" | |
"comps/apps/financeiro/cartacredito" | |
"comps/apps/financeiro/centrocusto" | |
"comps/apps/financeiro/contas" | |
"comps/apps/financeiro/planoconta" | |
"comps/apps/financeiro/recibo" | |
"comps/apps/fiscal/spedfiscal" | |
"comps/apps/grupopessoa" | |
"comps/apps/grupousuario" | |
"comps/apps/importacao" | |
"comps/apps/person" | |
"comps/apps/posto/bico" | |
"comps/apps/posto/bomba" | |
"comps/apps/report" | |
"comps/apps/servico" | |
"comps/apps/suporte/departamento" | |
"comps/apps/suporte/ticket" | |
"comps/apps/vendas/desconto" | |
"comps/apps/vendas/devolucao" | |
"comps/apps/vendas/formapagamento" | |
"comps/apps/vendas/ordemservico/marca" | |
"comps/apps/vendas/ordemservico/tipoobjeto" | |
"comps/apps/vendas/otica/oticatipos" | |
"comps/apps/vendas/pedido" | |
sorteio "comps/apps/vendas/sorteios" | |
fiber2 "github.com/gofiber/fiber/v2" | |
"github.com/linksoft-dev/single/comps/go/api" | |
"github.com/linksoft-dev/single/comps/go/api/adapters/grpc" | |
"github.com/linksoft-dev/single/comps/go/api/adapters/rest" | |
"github.com/linksoft-dev/single/comps/go/api/adapters/rest/fiber" | |
"sigeflex/apps/licenca" | |
) | |
func main() { | |
type allApps interface { | |
grpc.AppI | |
rest.AppInterface | |
} | |
// seta os parametros iniciais da aplicacao | |
// TODO depois fazer uma analise se é interessante a cada main de aplicacao, carregar | |
// parametros especificos da aplicacao baseado em um pacote | |
app.ApplicationName = "sigeflex" | |
app.LoadAppConfig() | |
app.ConnectDatabase() | |
apps := []allApps{ | |
// geral | |
appversion.App, | |
person.App, | |
grupopessoa.App, | |
auth.App, | |
grupousuario.App, | |
filemanager.App, | |
config.App, | |
endereco.App, | |
ticket.App, | |
departamento.App, | |
importacao.App, | |
licenca.App, | |
report.App, | |
// | |
////nfe | |
nfe.App, | |
mdfe.App, | |
ncm.App, | |
cfop.App, | |
cce.App, | |
tributacao.App, | |
inutilizacao.App, | |
// | |
//// fiscal | |
spedfiscal.App, | |
// | |
//// vendas | |
pedido.App, | |
servico.App, | |
desconto.App, | |
formapagamento.App, | |
marca.App, | |
tipoobjeto.App, | |
oticatipos.App, | |
sorteio.App, | |
devolucao.App, | |
// | |
//// posto | |
bico.App, | |
bomba.App, | |
// | |
//// estoque | |
etiqueta.App, | |
produto.App, | |
categoria.App, | |
fabricante.App, | |
inventario.App, | |
entradaavulsa.App, | |
ajusteestoque.App, | |
// financeiro | |
centrocusto.App, | |
planoconta.App, | |
contas.App, | |
movimentocaixa.App, | |
fechamentocaixa.App, | |
cartacredito.App, | |
recibo.App, | |
caixa.App, | |
} | |
fiberServer := fiber.New(app.AppConfig.ApiPort, "/api", fiber2.Config{ | |
BodyLimit: 40 * 1024 * 1024, // 40 mb de limite na resposta | |
}) | |
grpcServer := grpc.New(app.AppConfig.GrpcPort) | |
for _, app := range apps { | |
fiberServer.AddApp(app) | |
grpcServer.Add(app) | |
} | |
api.AddAdapter(fiberServer) | |
api.AddAdapter(grpcServer) | |
api.Start(app.ApplicationName) | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment