From 749cae8820638f02c9474242f2a9068a15a9edf2 Mon Sep 17 00:00:00 2001 From: Abdul Rahman Reza Date: Fri, 10 Jan 2025 19:30:58 +0700 Subject: [PATCH] update users set relation many to many and it's related changed roles --- src/entity/users.ts | 16 +++++++--------- src/entity/users_roles.ts | 3 ++- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/src/entity/users.ts b/src/entity/users.ts index 9057eef..e942abf 100644 --- a/src/entity/users.ts +++ b/src/entity/users.ts @@ -1,5 +1,5 @@ import bcrypt from 'bcryptjs'; -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, OneToOne, JoinColumn, ManyToOne } from 'typeorm'; +import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Index, OneToOne, JoinColumn, ManyToOne, OneToMany, ManyToMany, JoinTable } from 'typeorm'; import { Status } from '../types/status'; import { UserRole } from './users_roles'; @@ -11,7 +11,7 @@ export class User { @Column({ nullable: false, - unique: true, + unique: false, length: 64 }) email: string; @@ -25,7 +25,7 @@ export class User { @Column({ nullable: false, - unique: true, + unique: false, length: 64 }) username: string; @@ -33,15 +33,13 @@ export class User { @Column({ nullable: true, length: 64, - unique: true, + unique: false, }) name: string; - @Column({ - nullable: true, - type: 'uuid' - }) - id_role: string; + @ManyToMany(() => UserRole, { onDelete: 'CASCADE' }) + @JoinTable() + roles: UserRole[] @Index() @Column({ diff --git a/src/entity/users_roles.ts b/src/entity/users_roles.ts index 940fd76..9fa0f38 100644 --- a/src/entity/users_roles.ts +++ b/src/entity/users_roles.ts @@ -1,7 +1,8 @@ -import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, JoinColumn, ManyToOne } from 'typeorm'; +import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, DeleteDateColumn, JoinColumn, ManyToOne, ManyToMany } from 'typeorm'; import { Status } from '../types/status'; import { Application } from './application'; +import { User } from './users'; @Entity('user_roles') export class UserRole {