加入权限模块、用户模块加入userRole实体
This commit is contained in:
@@ -10,6 +10,7 @@ import { NotificationModule } from './notification/notification.module';
|
|||||||
import { PassportModule } from '@nestjs/passport';
|
import { PassportModule } from '@nestjs/passport';
|
||||||
import { ResourceModule } from './resource/resource.module';
|
import { ResourceModule } from './resource/resource.module';
|
||||||
import { BlogModule } from './blog/blog.module';
|
import { BlogModule } from './blog/blog.module';
|
||||||
|
import { RoleModule } from './role/role.module';
|
||||||
|
|
||||||
@Module({
|
@Module({
|
||||||
imports: [
|
imports: [
|
||||||
@@ -31,7 +32,8 @@ import { BlogModule } from './blog/blog.module';
|
|||||||
VerificationModule,
|
VerificationModule,
|
||||||
NotificationModule,
|
NotificationModule,
|
||||||
ResourceModule,
|
ResourceModule,
|
||||||
BlogModule
|
BlogModule,
|
||||||
|
RoleModule,
|
||||||
],
|
],
|
||||||
controllers: [AppController],
|
controllers: [AppController],
|
||||||
providers: [AppService],
|
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 { UserSession } from './entities/user-session.entity';
|
||||||
import { AuthModule } from 'src/auth/auth.module';
|
import { AuthModule } from 'src/auth/auth.module';
|
||||||
import { UserSessionService } from './services/user-session.service';
|
import { UserSessionService } from './services/user-session.service';
|
||||||
|
import { UserRole } from './entities/user-role.entity';
|
||||||
|
|
||||||
@Module({
|
@Module({
|
||||||
imports: [
|
imports: [
|
||||||
TypeOrmModule.forFeature([User, UserSession]),
|
TypeOrmModule.forFeature([User, UserSession, UserRole]),
|
||||||
forwardRef(() => AuthModule),// 解决循环依赖问题
|
forwardRef(() => AuthModule),// 解决循环依赖问题
|
||||||
],
|
],
|
||||||
controllers: [UserController],
|
controllers: [UserController],
|
||||||
|
|||||||
Reference in New Issue
Block a user