加入权限模块、用户模块加入userRole实体
This commit is contained in:
@@ -10,6 +10,7 @@ import { NotificationModule } from './notification/notification.module';
|
||||
import { PassportModule } from '@nestjs/passport';
|
||||
import { ResourceModule } from './resource/resource.module';
|
||||
import { BlogModule } from './blog/blog.module';
|
||||
import { RoleModule } from './role/role.module';
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
@@ -31,7 +32,8 @@ import { BlogModule } from './blog/blog.module';
|
||||
VerificationModule,
|
||||
NotificationModule,
|
||||
ResourceModule,
|
||||
BlogModule
|
||||
BlogModule,
|
||||
RoleModule,
|
||||
],
|
||||
controllers: [AppController],
|
||||
providers: [AppService],
|
||||
|
||||
13
tone-page-server/src/role/entities/permission.entity.ts
Normal file
13
tone-page-server/src/role/entities/permission.entity.ts
Normal file
@@ -0,0 +1,13 @@
|
||||
import { Column, Entity, PrimaryGeneratedColumn } from "typeorm";
|
||||
|
||||
@Entity()
|
||||
export class Permission {
|
||||
@PrimaryGeneratedColumn('uuid')
|
||||
id: string;
|
||||
|
||||
@Column({ unique: true })
|
||||
name: string;
|
||||
|
||||
@Column()
|
||||
description: string;
|
||||
}
|
||||
11
tone-page-server/src/role/entities/role-permission.entity.ts
Normal file
11
tone-page-server/src/role/entities/role-permission.entity.ts
Normal file
@@ -0,0 +1,11 @@
|
||||
import { Entity, Index, PrimaryColumn } from "typeorm";
|
||||
|
||||
@Entity()
|
||||
@Index(['roleId', 'permissionId'])
|
||||
export class RolePermission {
|
||||
@PrimaryColumn('uuid')
|
||||
roleId: string;
|
||||
|
||||
@PrimaryColumn('uuid')
|
||||
permissionId: string;
|
||||
}
|
||||
10
tone-page-server/src/role/entities/role.entity.ts
Normal file
10
tone-page-server/src/role/entities/role.entity.ts
Normal file
@@ -0,0 +1,10 @@
|
||||
import { Column, Entity, PrimaryGeneratedColumn } from "typeorm";
|
||||
|
||||
@Entity()
|
||||
export class Role {
|
||||
@PrimaryGeneratedColumn('uuid')
|
||||
id: string;
|
||||
|
||||
@Column({ unique: true })
|
||||
name: string;
|
||||
}
|
||||
10
tone-page-server/src/role/role.module.ts
Normal file
10
tone-page-server/src/role/role.module.ts
Normal file
@@ -0,0 +1,10 @@
|
||||
import { Module } from '@nestjs/common';
|
||||
import { TypeOrmModule } from '@nestjs/typeorm';
|
||||
import { Role } from './entities/role.entity';
|
||||
import { Permission } from './entities/permission.entity';
|
||||
import { RolePermission } from './entities/role-permission.entity';
|
||||
|
||||
@Module({
|
||||
imports: [TypeOrmModule.forFeature([Role, Permission, RolePermission])]
|
||||
})
|
||||
export class RoleModule { }
|
||||
23
tone-page-server/src/user/entities/user-role.entity.ts
Normal file
23
tone-page-server/src/user/entities/user-role.entity.ts
Normal file
@@ -0,0 +1,23 @@
|
||||
import { Column, CreateDateColumn, Entity, Index, PrimaryGeneratedColumn } from "typeorm";
|
||||
|
||||
@Entity()
|
||||
@Index(['userId', 'roleId'])
|
||||
export class UserRole {
|
||||
@PrimaryGeneratedColumn('uuid')
|
||||
id: string;
|
||||
|
||||
@Column('uuid')
|
||||
roleId: string;
|
||||
|
||||
@Column('uuid')
|
||||
userId: string
|
||||
|
||||
@Column()
|
||||
isEnabled: boolean;
|
||||
|
||||
@CreateDateColumn({ precision: 3 })
|
||||
createdAt: Date;
|
||||
|
||||
@Column({ nullable: true, precision: 3 })
|
||||
expiredAt?: Date;
|
||||
}
|
||||
@@ -6,10 +6,11 @@ import { UserService } from './user.service';
|
||||
import { UserSession } from './entities/user-session.entity';
|
||||
import { AuthModule } from 'src/auth/auth.module';
|
||||
import { UserSessionService } from './services/user-session.service';
|
||||
import { UserRole } from './entities/user-role.entity';
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
TypeOrmModule.forFeature([User, UserSession]),
|
||||
TypeOrmModule.forFeature([User, UserSession, UserRole]),
|
||||
forwardRef(() => AuthModule),// 解决循环依赖问题
|
||||
],
|
||||
controllers: [UserController],
|
||||
|
||||
Reference in New Issue
Block a user