User
Get current session user (For web browsers)
GET
/me
Autenticação via cookiesA request pode tanto ser feita pelo JavaScript rodando no navegador (client-side), quanto pelo runtime Node.js atravẽs do body, que irá verificar o id da sessão (sessionId) para retornar o usuário atual da sessão.
Request
// Browser
type RequestCookies = {
  sessionId: string;
};
// Nodejs ou Browser pelo Body da Request
type RequestBody = {
  sessionId: string;
};
Response
Status: 200type User = {
    id: string;
    email: string;
    fullName: string;
    sector: string | null;
    edv: string;
    avatarUrl: string | null;
    createdAt: Date;
    updatedAt: Date;
    roleName: string;
}
type SessionUser: {
    message: "User retrieved successfully";
    user: User;
}
Edit current session user
A request pode tanto ser feita pelo JavaScript rodando no navegador (client-side), quanto pelo runtime Node.js atravẽs do body, que irá verificar o id da sessão (sessionId) para retornar o usuário atual da sessão.
PATCH
/me
Autenticação via cookiesRequest
type RequestCookies = {
  sessionId: string;
};
// você deve mandar pelo menos uma das propriedades. O tipo Partial transforma todas em opcionais.
type RequestBody = Partial<{
      avatarUrl: string;
      password: {
        old: string;
        new: string;
      };
      fullName: string;
      email: string;
      sector: string;
    }>;
Response
Status: 200type User = {
    id: string;
    email: string;
    fullName: string;
    sector: string | null;
    edv: string;
    avatarUrl: string | null;
    createdAt: Date;
    updatedAt: Date;
    roleName: string;
}
type SessionUser: {
    message: "User edited successfully";
    user: User;
}
Get current session user (For services)
GET
/ms/me
Request
type RequestBody = {
  sessionId: string;
};
Response
Status: 200type User = {
    id: string;
    email: string;
    fullName: string;
    sector: string | null;
    edv: string;
    avatarUrl: string | null;
    createdAt: Date;
    updatedAt: Date;
    roleName: string;
}
type SessionUser: {
    message: "User retrieved successfully";
    user: User;
}
User Sign In
POST
/signin
Ao criar uma sessão, ela será armazenada no banco de dados (Redis) e um identificador será gerado a partir da sessão (sessionId), que será colocado no cookies do navegador.
Request
type RequestBody = {
  email: string;
  password: string;
};
Response
Status: 200type SignInResponseBody: {
    message: "User session created succesfully"
}
type SignInResponseCookies: {
    sessionId: string;
}
User Sign Out
DELETE
/signout
Autenticação via cookiesRequest
type RequestCookies = {
  sessionId: string;
};
Response
Status: 200type SignOutResponseBody: {
    message: "Sign out succesfully";
}