diff --git a/src/modules/content/entities/comment.entity.ts b/src/modules/content/entities/comment.entity.ts index 394ad37..153082b 100644 --- a/src/modules/content/entities/comment.entity.ts +++ b/src/modules/content/entities/comment.entity.ts @@ -13,7 +13,7 @@ import { } from 'typeorm'; import { PostEntity } from '@/modules/content/entities/post.entity'; -import { UserEntity } from '@/modules/user/entities/UserEntity'; +import { UserEntity } from '@/modules/user/entities/user.entity'; @Exclude() @Entity('content_comment') diff --git a/src/modules/content/entities/post.entity.ts b/src/modules/content/entities/post.entity.ts index 770e5ef..90db0da 100644 --- a/src/modules/content/entities/post.entity.ts +++ b/src/modules/content/entities/post.entity.ts @@ -18,7 +18,7 @@ import { PostBodyType } from '@/modules/content/constants'; import { CategoryEntity } from '@/modules/content/entities/category.entity'; import { CommentEntity } from '@/modules/content/entities/comment.entity'; import { TagEntity } from '@/modules/content/entities/tag.entity'; -import { UserEntity } from '@/modules/user/entities/UserEntity'; +import { UserEntity } from '@/modules/user/entities/user.entity'; @Exclude() @Entity('content_posts') diff --git a/src/modules/user/controllers/account.controller.ts b/src/modules/user/controllers/account.controller.ts index 6e8752d..a4e4549 100644 --- a/src/modules/user/controllers/account.controller.ts +++ b/src/modules/user/controllers/account.controller.ts @@ -18,7 +18,7 @@ import { Guest } from '../decorators/guest.decorator'; import { RequestUser } from '../decorators/user.request.decorator'; import { UpdateAccountDto, UpdatePasswordDto } from '../dtos/account.dto'; import { CredentialDto, RegisterDto } from '../dtos/auth.dto'; -import { UserEntity } from '../entities/UserEntity'; +import { UserEntity } from '../entities/user.entity'; import { LocalAuthGuard } from '../guards/local.auth.guard'; import { AuthService } from '../services/auth.service'; import { UserService } from '../services/user.service'; diff --git a/src/modules/user/decorators/user.request.decorator.ts b/src/modules/user/decorators/user.request.decorator.ts index 350f317..8ad83d6 100644 --- a/src/modules/user/decorators/user.request.decorator.ts +++ b/src/modules/user/decorators/user.request.decorator.ts @@ -1,6 +1,6 @@ import { createParamDecorator, ExecutionContext } from '@nestjs/common'; -import { UserEntity } from '../entities/UserEntity'; +import { UserEntity } from '../entities/user.entity'; export const RequestUser = createParamDecorator(async (_data: unknown, ctx: ExecutionContext) => { const request = ctx.switchToHttp().getRequest(); diff --git a/src/modules/user/dtos/user.common.dto.ts b/src/modules/user/dtos/user.common.dto.ts index cea08ac..4c3750e 100644 --- a/src/modules/user/dtos/user.common.dto.ts +++ b/src/modules/user/dtos/user.common.dto.ts @@ -6,7 +6,7 @@ import { IsPassword } from '@/modules/core/constraints/password.constraint'; import { IsMatchPhone } from '@/modules/core/constraints/phone.number.constraint'; import { IsUnique, IsUniqueExist } from '@/modules/database/constraints'; import { UserValidateGroup } from '@/modules/user/constants'; -import { UserEntity } from '@/modules/user/entities/UserEntity'; +import { UserEntity } from '@/modules/user/entities/user.entity'; /** * 用户模块DTO的通用基础字段 diff --git a/src/modules/user/entities/access.token.entity.ts b/src/modules/user/entities/access.token.entity.ts index e172e23..e821ad8 100644 --- a/src/modules/user/entities/access.token.entity.ts +++ b/src/modules/user/entities/access.token.entity.ts @@ -1,8 +1,8 @@ import { Entity, ManyToOne, OneToOne, Relation } from 'typeorm'; -import { UserEntity } from '@/modules/user/entities/UserEntity'; import { BaseToken } from '@/modules/user/entities/base.token'; import { RefreshTokenEntity } from '@/modules/user/entities/refresh.token.entity'; +import { UserEntity } from '@/modules/user/entities/user.entity'; /** * 用户认证token模型 diff --git a/src/modules/user/entities/index.ts b/src/modules/user/entities/index.ts new file mode 100644 index 0000000..aab8d4a --- /dev/null +++ b/src/modules/user/entities/index.ts @@ -0,0 +1,3 @@ +export * from './user.entity'; +export * from './access.token.entity'; +export * from './refresh.token.entity'; diff --git a/src/modules/user/entities/UserEntity.ts b/src/modules/user/entities/user.entity.ts similarity index 100% rename from src/modules/user/entities/UserEntity.ts rename to src/modules/user/entities/user.entity.ts diff --git a/src/modules/user/guards/index.ts b/src/modules/user/guards/index.ts new file mode 100644 index 0000000..466827a --- /dev/null +++ b/src/modules/user/guards/index.ts @@ -0,0 +1,2 @@ +export * from './local.auth.guard'; +export * from './jwt.auth.guard'; diff --git a/src/modules/user/interceptors/index.ts b/src/modules/user/interceptors/index.ts new file mode 100644 index 0000000..e18af05 --- /dev/null +++ b/src/modules/user/interceptors/index.ts @@ -0,0 +1 @@ +export * from './userId.interceptor'; diff --git a/src/modules/user/interceptors/user.interceptor.ts b/src/modules/user/interceptors/userId.interceptor.ts similarity index 74% rename from src/modules/user/interceptors/user.interceptor.ts rename to src/modules/user/interceptors/userId.interceptor.ts index 4db30d5..5c1bc4a 100644 --- a/src/modules/user/interceptors/user.interceptor.ts +++ b/src/modules/user/interceptors/userId.interceptor.ts @@ -1,8 +1,9 @@ -import { CallHandler, ExecutionContext, NestInterceptor } from '@nestjs/common'; +import { CallHandler, ExecutionContext, Injectable, NestInterceptor } from '@nestjs/common'; import { isNil } from 'lodash'; import { Observable } from 'rxjs'; -export class UserInterceptor implements NestInterceptor { +@Injectable() +export class UserIdInterceptor implements NestInterceptor { intercept(context: ExecutionContext, next: CallHandler): Observable { const request: any = context.switchToHttp().getRequest(); if (!isNil(request.user?.id)) { diff --git a/src/modules/user/repositories/index.ts b/src/modules/user/repositories/index.ts new file mode 100644 index 0000000..9fb5d34 --- /dev/null +++ b/src/modules/user/repositories/index.ts @@ -0,0 +1 @@ +export * from './user.repository'; diff --git a/src/modules/user/repositories/UserRepository.ts b/src/modules/user/repositories/user.repository.ts similarity index 86% rename from src/modules/user/repositories/UserRepository.ts rename to src/modules/user/repositories/user.repository.ts index 4f2a8f3..b3d3bd0 100644 --- a/src/modules/user/repositories/UserRepository.ts +++ b/src/modules/user/repositories/user.repository.ts @@ -1,6 +1,6 @@ import { BaseRepository } from '@/modules/database/base/repository'; import { CustomRepository } from '@/modules/database/decorators/repository.decorator'; -import { UserEntity } from '@/modules/user/entities/UserEntity'; +import { UserEntity } from '@/modules/user/entities/user.entity'; @CustomRepository(UserEntity) export class UserRepository extends BaseRepository { diff --git a/src/modules/user/services/auth.service.ts b/src/modules/user/services/auth.service.ts index 9bb3ae5..f8cf5f8 100644 --- a/src/modules/user/services/auth.service.ts +++ b/src/modules/user/services/auth.service.ts @@ -9,12 +9,12 @@ import { Configure } from '@/modules/config/configure'; import { getTime } from '@/modules/core/helpers/time'; import { RegisterDto } from '@/modules/user/dtos/auth.dto'; -import { UserEntity } from '@/modules/user/entities/UserEntity'; +import { UserEntity } from '@/modules/user/entities/user.entity'; +import { UserRepository } from '@/modules/user/repositories'; import { TokenService } from '@/modules/user/services/token.service'; import { decrypt } from '@/modules/user/utils'; import { UpdatePasswordDto } from '../dtos/account.dto'; -import { UserRepository } from '../repositories/UserRepository'; import { UserService } from './user.service'; diff --git a/src/modules/user/services/index.ts b/src/modules/user/services/index.ts new file mode 100644 index 0000000..7ae242b --- /dev/null +++ b/src/modules/user/services/index.ts @@ -0,0 +1,3 @@ +export * from './user.service'; +export * from './token.service'; +export * from './auth.service'; diff --git a/src/modules/user/services/token.service.ts b/src/modules/user/services/token.service.ts index ff47e8b..27b9094 100644 --- a/src/modules/user/services/token.service.ts +++ b/src/modules/user/services/token.service.ts @@ -11,9 +11,9 @@ import { v4 as uuid } from 'uuid'; import { Configure } from '@/modules/config/configure'; import { getTime } from '@/modules/core/helpers/time'; import { defaultUserConfig, getUserConfig } from '@/modules/user/config'; -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 { UserEntity } from '@/modules/user/entities/user.entity'; import { JwtConfig, JwtPayload, UserConfig } from '@/modules/user/types'; import { TokenConst } from '../constants'; diff --git a/src/modules/user/services/user.service.ts b/src/modules/user/services/user.service.ts index 99a44fa..9d71930 100644 --- a/src/modules/user/services/user.service.ts +++ b/src/modules/user/services/user.service.ts @@ -8,9 +8,10 @@ import { BaseService } from '@/modules/database/base/service'; import { QueryHook } from '@/modules/database/types'; +import { UserRepository } from '@/modules/user/repositories'; + import { CreateUserDto, QueryUserDto, UpdateUserDto } from '../dtos/user.dto'; -import { UserEntity } from '../entities/UserEntity'; -import { UserRepository } from '../repositories/UserRepository'; +import { UserEntity } from '../entities/user.entity'; @Injectable() export class UserService extends BaseService { diff --git a/src/modules/user/strategies/index.ts b/src/modules/user/strategies/index.ts new file mode 100644 index 0000000..c1a1dbe --- /dev/null +++ b/src/modules/user/strategies/index.ts @@ -0,0 +1,2 @@ +export * from './jwt.strategy'; +export * from './local.strategy'; diff --git a/src/modules/user/strategies/jwt.strategy.ts b/src/modules/user/strategies/jwt.strategy.ts index fe26c94..29684e6 100644 --- a/src/modules/user/strategies/jwt.strategy.ts +++ b/src/modules/user/strategies/jwt.strategy.ts @@ -1,3 +1,4 @@ +import { Injectable } from '@nestjs/common'; import { PassportStrategy } from '@nestjs/passport'; import { instanceToPlain } from 'class-transformer'; @@ -5,10 +6,12 @@ import { ExtractJwt, Strategy } from 'passport-jwt'; import { Configure } from '@/modules/config/configure'; +import { UserRepository } from '@/modules/user/repositories'; + import { TokenConst } from '../constants'; -import { UserRepository } from '../repositories/UserRepository'; import { JwtPayload } from '../types'; +@Injectable() export class JwtStrategy extends PassportStrategy(Strategy) { constructor( protected configure: Configure, diff --git a/src/modules/user/strategies/local.strategy.ts b/src/modules/user/strategies/local.strategy.ts index c5059f7..51ca3fe 100644 --- a/src/modules/user/strategies/local.strategy.ts +++ b/src/modules/user/strategies/local.strategy.ts @@ -2,7 +2,7 @@ import { Injectable, UnauthorizedException } from '@nestjs/common'; import { PassportStrategy } from '@nestjs/passport'; import { Strategy } from 'passport-local'; -import { AuthService } from '../services/auth.service'; +import { AuthService } from '@/modules/user/services'; /** * 用户认证本地策略 diff --git a/src/modules/user/subscribers/index.ts b/src/modules/user/subscribers/index.ts new file mode 100644 index 0000000..9c4daf0 --- /dev/null +++ b/src/modules/user/subscribers/index.ts @@ -0,0 +1 @@ +export * from './UserSubscriber'; diff --git a/src/modules/user/subscribers/UserSubscriber.ts b/src/modules/user/subscribers/user.subscriber.ts similarity index 95% rename from src/modules/user/subscribers/UserSubscriber.ts rename to src/modules/user/subscribers/user.subscriber.ts index 708524e..f9487f9 100644 --- a/src/modules/user/subscribers/UserSubscriber.ts +++ b/src/modules/user/subscribers/user.subscriber.ts @@ -3,7 +3,7 @@ import { randomBytes } from 'node:crypto'; import { EventSubscriber, InsertEvent, UpdateEvent } from 'typeorm'; import { BaseSubscriber } from '@/modules/database/base/subscriber'; -import { UserEntity } from '@/modules/user/entities/UserEntity'; +import { UserEntity } from '@/modules/user/entities/user.entity'; import { encrypt } from '@/modules/user/utils'; @EventSubscriber()