Skip to main content

User

Get current session user (For web browsers)

GET
/me
Autenticação via cookies

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.

Request

// Browser
type RequestCookies = {
sessionId: string;
};
// Nodejs ou Browser pelo Body da Request
type RequestBody = {
sessionId: string;
};

Response

Status: 200
type 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 cookies

Request

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: 200
type 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: 200
type 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: 200
type SignInResponseBody: {
message: "User session created succesfully"
}

type SignInResponseCookies: {
sessionId: string;
}

User Sign Out

DELETE
/signout
Autenticação via cookies

Request

type RequestCookies = {
sessionId: string;
};

Response

Status: 200
type SignOutResponseBody: {
message: "Sign out succesfully";
}