Frontend: - Refatoração completa do [GestaoUsuarioModal](cci:1://file:///c:/Projetos/saveinmed/saveinmed-frontend/src/components/GestaoUsuarioModal.tsx:17:0-711:2) para melhor visibilidade e UX. - Correção de erro (crash) ao carregar endereços vazios. - Nova interface de Configuração de Frete com abas para Entrega e Retirada. - Correção na busca de dados completos da empresa (CEP, etc). - Ajuste na chave de autenticação (`access_token`) no serviço de endereços. Backend: - Correção do erro 500 em [GetShippingSettings](cci:1://file:///c:/Projetos/saveinmed/backend-old/internal/repository/postgres/postgres.go:1398:0-1405:1) (tratamento de `no rows`). - Ajustes nos handlers de endereço para suportar Admin/EntityID corretamente. - Migrações de banco de dados para configurações de envio e coordenadas. - Atualização da documentação Swagger e testes.
55 lines
1.2 KiB
Go
55 lines
1.2 KiB
Go
package main
|
|
|
|
import (
|
|
"context"
|
|
"log"
|
|
"os"
|
|
"os/signal"
|
|
"syscall"
|
|
|
|
_ "github.com/jackc/pgx/v5/stdlib"
|
|
|
|
"github.com/saveinmed/backend-go/docs"
|
|
"github.com/saveinmed/backend-go/internal/config"
|
|
"github.com/saveinmed/backend-go/internal/server"
|
|
)
|
|
|
|
// @title SaveInMed Performance Core API
|
|
// @version 1.0
|
|
// @description API REST B2B para marketplace farmacêutico com split de pagamento e rastreabilidade.
|
|
// @BasePath /
|
|
// @Schemes http
|
|
// @contact.name Engenharia SaveInMed
|
|
// @contact.email devops@saveinmed.com
|
|
// @securityDefinitions.apikey BearerAuth
|
|
// @in header
|
|
// @name Authorization
|
|
func main() {
|
|
cfg, err := config.Load()
|
|
if err != nil {
|
|
log.Fatalf("failed to load config: %v", err)
|
|
}
|
|
|
|
// swagger metadata overrides
|
|
docs.SwaggerInfo.Title = cfg.AppName
|
|
docs.SwaggerInfo.BasePath = "/"
|
|
if cfg.BackendHost != "" {
|
|
docs.SwaggerInfo.Host = cfg.BackendHost
|
|
}
|
|
if len(cfg.SwaggerSchemes) > 0 {
|
|
docs.SwaggerInfo.Schemes = cfg.SwaggerSchemes
|
|
}
|
|
|
|
srv, err := server.New(*cfg)
|
|
if err != nil {
|
|
log.Fatalf("boot failure: %v", err)
|
|
}
|
|
|
|
ctx, stop := signal.NotifyContext(context.Background(), syscall.SIGINT, syscall.SIGTERM)
|
|
defer stop()
|
|
|
|
if err := srv.Start(ctx); err != nil {
|
|
log.Printf("server stopped: %v", err)
|
|
os.Exit(1)
|
|
}
|
|
}
|