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";
}