very-express
Version:
based on json schema and openapi, generate Express RestApi server with mongoDb
30 lines (26 loc) • 974 B
text/typescript
// {{headerComment}}
import { generateToken } from "./../auth/jwt.gen";
import { UserDocument } from "./../../_models/UserModel.gen";
export default function returnToken(userProfile: UserDocument){
const sanitizedProfile = sanitizeUser(userProfile);
const accessToken = generateToken(sanitizedProfile, undefined, process.env.ACCESS_TOKEN_EXPIRE_TIME);
const refreshToken = generateToken({_id: userProfile._id }, 0, process.env.REFRESH_TOKEN_EXPIRE_TIME);
return {
profile: sanitizedProfile,
accessToken: accessToken.token,
accessTokenIndex: accessToken.index,
clientIndex: accessToken.clientIndex,
refreshToken: refreshToken.token
};
}
export function sanitizeUser(user: UserDocument){
return {
_id: user._id,
email: user.email,
name: user.name,
locale: user.locale,
roles: user.roles,
profileErrors: user.profileErrors,
active: user.active
};
}