mirror of
https://github.com/cheveguerra/whaticket-community.git
synced 2026-04-19 12:19:16 +00:00
improvement: moved user data from localstorage to context
This commit is contained in:
@@ -1,4 +1,6 @@
|
||||
import { verify } from "jsonwebtoken";
|
||||
|
||||
import User from "../../models/User";
|
||||
import AppError from "../../errors/AppError";
|
||||
import ShowUserService from "../UserServices/ShowUserService";
|
||||
import authConfig from "../../config/auth";
|
||||
@@ -13,6 +15,7 @@ interface RefreshTokenPayload {
|
||||
}
|
||||
|
||||
interface Response {
|
||||
user: User;
|
||||
newToken: string;
|
||||
refreshToken: string;
|
||||
}
|
||||
@@ -37,5 +40,5 @@ export const RefreshTokenService = async (token: string): Promise<Response> => {
|
||||
const newToken = createAccessToken(user);
|
||||
const refreshToken = createRefreshToken(user);
|
||||
|
||||
return { newToken, refreshToken };
|
||||
return { user, newToken, refreshToken };
|
||||
};
|
||||
|
||||
@@ -4,6 +4,16 @@ import {
|
||||
createAccessToken,
|
||||
createRefreshToken
|
||||
} from "../../helpers/CreateTokens";
|
||||
import { SerializeUser } from "../../helpers/SerializeUser";
|
||||
import Queue from "../../models/Queue";
|
||||
|
||||
interface SerializedUser {
|
||||
id: number;
|
||||
name: string;
|
||||
email: string;
|
||||
profile: string;
|
||||
queues: Queue[];
|
||||
}
|
||||
|
||||
interface Request {
|
||||
email: string;
|
||||
@@ -11,7 +21,7 @@ interface Request {
|
||||
}
|
||||
|
||||
interface Response {
|
||||
user: User;
|
||||
serializedUser: SerializedUser;
|
||||
token: string;
|
||||
refreshToken: string;
|
||||
}
|
||||
@@ -21,7 +31,8 @@ const AuthUserService = async ({
|
||||
password
|
||||
}: Request): Promise<Response> => {
|
||||
const user = await User.findOne({
|
||||
where: { email }
|
||||
where: { email },
|
||||
include: ["queues"]
|
||||
});
|
||||
|
||||
if (!user) {
|
||||
@@ -35,8 +46,10 @@ const AuthUserService = async ({
|
||||
const token = createAccessToken(user);
|
||||
const refreshToken = createRefreshToken(user);
|
||||
|
||||
const serializedUser = SerializeUser(user);
|
||||
|
||||
return {
|
||||
user,
|
||||
serializedUser,
|
||||
token,
|
||||
refreshToken
|
||||
};
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import * as Yup from "yup";
|
||||
|
||||
import AppError from "../../errors/AppError";
|
||||
import { SerializeUser } from "../../helpers/SerializeUser";
|
||||
import User from "../../models/User";
|
||||
|
||||
interface Request {
|
||||
@@ -63,13 +64,7 @@ const CreateUserService = async ({
|
||||
|
||||
await user.reload();
|
||||
|
||||
const serializedUser = {
|
||||
id: user.id,
|
||||
name: user.name,
|
||||
email: user.email,
|
||||
profile: user.profile,
|
||||
queues: user.queues
|
||||
};
|
||||
const serializedUser = SerializeUser(user);
|
||||
|
||||
return serializedUser;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user