feat: 装饰器测试

This commit is contained in:
2024-11-28 13:08:11 +08:00
parent 3b61cf42ce
commit 36c8fb6980
9 changed files with 48 additions and 9 deletions

View File

@@ -80,7 +80,7 @@ model SysPermission {
id String @id @default(cuid()) /// 主键id
createdAt DateTime @default(now()) @map("created_at") /// 创建时间
updatedAt DateTime @updatedAt @map("updated_at") /// 修改时间
type Int
type Int /// 权限类型
sysRolePermission SysRolePermission[]
sysMenuPermission SysMenuPermission[]

View File

@@ -43,11 +43,12 @@ export class AuthGuard implements CanActivate {
secret: this.configService.get('jwt.secret'),
});
const isTokenPresent = await this.cacheService.get(
// 查看redis中是否缓存有jti 若不存在 表示登录已失效
const isJtiCached = await this.cacheService.get(
`${RedisGroup.JwtJti}:${user.sub}:${user.jti}`,
);
if (!isTokenPresent) {
if (!isJtiCached) {
throw new UnauthorizedException('登录已失效,请重新登录!');
}

View File

@@ -7,6 +7,7 @@ import { FileModule } from '@/modules/system/file/file.module';
import { MenuModule } from './menu/menu.module';
import { ConfigModule } from './config/config.module';
import { PermissionModule } from './permission/permission.module';
import { TestModule } from './test/test.module';
@Module({
imports: [
@@ -43,6 +44,10 @@ import { PermissionModule } from './permission/permission.module';
path: 'permission',
module: PermissionModule,
},
{
path: 'test',
module: TestModule,
},
],
},
]),
@@ -53,6 +58,7 @@ import { PermissionModule } from './permission/permission.module';
MenuModule,
ConfigModule,
PermissionModule,
TestModule,
],
})
export class SystemModule {}

View File

@@ -0,0 +1 @@
export class CreateTestDto {}

View File

@@ -0,0 +1,4 @@
import { PartialType } from '@nestjs/mapped-types';
import { CreateTestDto } from './create-test.dto';
export class UpdateTestDto extends PartialType(CreateTestDto) {}

View File

@@ -0,0 +1,15 @@
import { Controller, Get } from '@nestjs/common';
import { TestService } from './test.service';
import { SkipAuth } from '@/common/decorators/skip-auth.decorator';
@Controller()
@SkipAuth()
export class TestController {
constructor(private readonly testService: TestService) {}
@Get()
findAll() {
return this.testService.findAll();
}
}

View File

@@ -0,0 +1,9 @@
import { Module } from '@nestjs/common';
import { TestService } from './test.service';
import { TestController } from './test.controller';
@Module({
controllers: [TestController],
providers: [TestService],
})
export class TestModule {}

View File

@@ -0,0 +1,8 @@
import { Injectable } from '@nestjs/common';
@Injectable()
export class TestService {
findAll() {
return `This action returns all test`;
}
}

View File

@@ -59,12 +59,7 @@ export class UserService {
gender: true,
createdAt: true,
updatedAt: true,
avatar: {
select: {
id: true,
path: true,
},
},
avatar: true,
userRole: {
select: { roleId: true },
},