Auth - Login
Doc da API: ver APIs
Diagrama de sequencia
sequenceDiagram
participant Client as Cliente
participant Ctrl as AuthV1Controller
participant Login as LoginService
participant AuthDB as PostgreSQL Auth
participant JWT as JwtService
participant Detail as UserDetailService
Client->>Ctrl: POST /api/v1/auth/login email password
Ctrl->>Login: loginWithEmailPassword
Login->>AuthDB: findOne user by email
alt user ou password invalidos
Login-->>Client: 401 Credenciais invalidas
else status nao ativo
Login-->>Client: 403 Conta indisponivel
else OK
Login->>Login: bcrypt.compare
Login->>JWT: sign payload sub jti email tenantId opcional
Login->>AuthDB: update sessoesAtivas ultimoAcesso
Login->>Detail: getUserFullById
Detail->>AuthDB: load perfil e tabelas relacionadas
Detail-->>Login: UserFullResponse
Login-->>Ctrl: accessToken tokenType expiresIn user
Ctrl-->>Client: 200 LoginResponse
end