add user and jwt module

This commit is contained in:
liuyi 2025-06-22 14:49:54 +08:00
parent 46253b3a4f
commit 6fa6e1f076
4 changed files with 12 additions and 7 deletions

View File

@ -1,15 +1,17 @@
import { PickType } from '@nestjs/swagger';
import { Length } from 'class-validator';
import { IsDefined, IsUUID, Length } from 'class-validator';
import { IsPassword } from '@/modules/core/constraints/password.constraint';
import { DtoValidation } from '@/modules/core/decorator/dto.validation.decorator';
import { UserCommonDto } from '@/modules/user/dtos/user.common.dto';
import { UserValidateGroup } from '../constants';
/**
*
*/
@DtoValidation({ whitelist: false, groups: [UserValidateGroup.ACCOUNT_UPDATE] })
@DtoValidation({ groups: [UserValidateGroup.ACCOUNT_UPDATE] })
export class UpdateAccountDto extends PickType(UserCommonDto, ['username', 'nickname']) {
/**
* ID

View File

@ -61,7 +61,7 @@ export class UserCommonDto {
)
@IsMatchPhone(
undefined,
{ strictMode: trus },
{ strictMode: true },
{ message: '手机格式错误,示例: +86.15005255555', always: true },
)
@IsOptional({

View File

@ -4,7 +4,7 @@ import { IsDefined, IsEnum, IsUUID } from 'class-validator';
import { DtoValidation } from '@/modules/core/decorator/dto.validation.decorator';
import { PaginateWithTrashedDto } from '@/modules/restful/dtos/paginate-width-trashed.dto';
import { UserOrderType } from '@/modules/user/constants';
import { UserOrderType, UserValidateGroup } from '@/modules/user/constants';
import { UserCommonDto } from '@/modules/user/dtos/user.common.dto';
/**

View File

@ -1,8 +1,12 @@
/* eslint-disable import/no-extraneous-dependencies */
import { Injectable } from '@nestjs/common';
import { JwtService } from '@nestjs/jwt';
import dayjs from 'dayjs';
import { FastifyReply as Response } from 'fastify';
import jwt from 'jsonwebtoken';
import { v4 as uuid } from 'uuid';
import { Configure } from '@/modules/config/configure';
import { getTime } from '@/modules/core/helpers/time';
@ -11,7 +15,6 @@ import { UserEntity } from '@/modules/user/entities/UserEntity';
import { AccessTokenEntity } from '@/modules/user/entities/access.token.entity';
import { RefreshTokenEntity } from '@/modules/user/entities/refresh.token.entity';
import { JwtConfig, JwtPayload } from '@/modules/user/types';
/**
*
*/
@ -79,7 +82,7 @@ export class TokenService {
const config = await getUserConfig<JwtConfig>(this.configure, 'jwt');
const refreshTokenPayload = { uuid: uuid() };
const refreshToken = new RefreshTokenEntity();
refreshToken.value = this.jwtService.sign(
refreshToken.value = jwt.sign(
refreshTokenPayload,
this.configure.env.get('USER_REFRESH_TOKEN_EXPIRED', 'my-refresh-secret'),
);
@ -130,7 +133,7 @@ export class TokenService {
* @param token
*/
async verifyAccessToken(token: AccessTokenEntity) {
const result = this.jwtService.verify(
const result = jwt.verify(
token.value,
this.configure.env.get('USER_TOKEN_SECRET', 'my-access-secret'),
);