From 288432244bff32f227243466ed416d1a42ecbe46 Mon Sep 17 00:00:00 2001 From: Alexis <35.alexis.pele@gmail.com> Date: Tue, 3 Aug 2021 17:15:31 +0200 Subject: [PATCH] Updated models with unique columns constraints --- src/database/models/spells/Ingredient.ts | 12 ++++++++---- src/database/models/spells/MetaSchool.ts | 12 ++++++++---- src/database/models/spells/School.ts | 14 +++++++++----- src/database/models/spells/Spell.ts | 14 +++++++++----- src/database/models/spells/Variable.ts | 6 ++++-- src/database/models/users/Permission.ts | 6 ++++-- src/database/models/users/Role.ts | 12 ++++++++---- src/database/models/users/User.ts | 10 ++++++---- 8 files changed, 56 insertions(+), 30 deletions(-) diff --git a/src/database/models/spells/Ingredient.ts b/src/database/models/spells/Ingredient.ts index a221bbd..e6c5eb1 100644 --- a/src/database/models/spells/Ingredient.ts +++ b/src/database/models/spells/Ingredient.ts @@ -7,10 +7,14 @@ export class Ingredient { @PrimaryGeneratedColumn('uuid') public readonly uuid!: string - @Column() - public name!: string - @Column() - public description!: string + @Column({ + unique: true + }) + public name: string + @Column({ + unique: true + }) + public description: string @Column() public published: boolean diff --git a/src/database/models/spells/MetaSchool.ts b/src/database/models/spells/MetaSchool.ts index e3f36d6..daf65bb 100644 --- a/src/database/models/spells/MetaSchool.ts +++ b/src/database/models/spells/MetaSchool.ts @@ -7,10 +7,14 @@ export class MetaSchool { @PrimaryGeneratedColumn('uuid') public readonly uuid!: string - @Column() - public name!: string - @Column() - public description!: string + @Column({ + unique: true + }) + public name: string + @Column({ + unique: true + }) + public description: string @Column() public published: boolean diff --git a/src/database/models/spells/School.ts b/src/database/models/spells/School.ts index bc0fdaf..6ccb9c5 100644 --- a/src/database/models/spells/School.ts +++ b/src/database/models/spells/School.ts @@ -1,4 +1,4 @@ -import { Column, CreateDateColumn, Entity, JoinTable, ManyToMany, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from "typeorm"; +import { BaseEntity, Column, CreateDateColumn, Entity, JoinTable, ManyToMany, ManyToOne, PrimaryGeneratedColumn, Unique, UpdateDateColumn } from "typeorm"; import { User } from "../users/User"; import { MetaSchool } from "./MetaSchool"; import { Spell } from "./Spell"; @@ -8,10 +8,14 @@ export class School { @PrimaryGeneratedColumn('uuid') public readonly uuid!: string - @Column() - public name!: string - @Column() - public description!: string + @Column({ + unique: true + }) + public name: string + @Column({ + unique: true + }) + public description: string @Column() public published: boolean diff --git a/src/database/models/spells/Spell.ts b/src/database/models/spells/Spell.ts index 965ffd1..f68bdc5 100644 --- a/src/database/models/spells/Spell.ts +++ b/src/database/models/spells/Spell.ts @@ -9,14 +9,18 @@ export class Spell { @PrimaryGeneratedColumn('uuid') public readonly uuid!: string - @Column() - public name!: string + @Column({ + unique: true + }) + public name: string + + @Column({ + unique: true + }) + public description: string - @Column() - public description!: string @Column() public level?: number - @Column() public charge?: number @Column() diff --git a/src/database/models/spells/Variable.ts b/src/database/models/spells/Variable.ts index c11e4ad..deeb5fe 100644 --- a/src/database/models/spells/Variable.ts +++ b/src/database/models/spells/Variable.ts @@ -7,8 +7,10 @@ export class Variable { @PrimaryGeneratedColumn('uuid') public readonly uuid!: string - @Column() - public description!: string + @Column({ + unique: true + }) + public description: string @Column() public published: boolean diff --git a/src/database/models/users/Permission.ts b/src/database/models/users/Permission.ts index 0df2c36..22a3921 100644 --- a/src/database/models/users/Permission.ts +++ b/src/database/models/users/Permission.ts @@ -6,8 +6,10 @@ export class Permission { @PrimaryGeneratedColumn('uuid') public readonly uuid!: string - @Column() - public slug!: string + @Column({ + unique: true + }) + public slug: string @ManyToOne(() => Role, role => role.permissions) public roles: Role[] diff --git a/src/database/models/users/Role.ts b/src/database/models/users/Role.ts index 4aefe10..8f64409 100644 --- a/src/database/models/users/Role.ts +++ b/src/database/models/users/Role.ts @@ -7,10 +7,14 @@ export class Role { @PrimaryGeneratedColumn('uuid') public readonly uuid!: string - @Column() - public name!: string - @Column() - public description!: string + @Column({ + unique: true + }) + public name: string + @Column({ + unique: true + }) + public description: string @OneToMany(() => Permission, permission => permission.roles) public permissions: Permission[] diff --git a/src/database/models/users/User.ts b/src/database/models/users/User.ts index be09e5f..cf8e39f 100644 --- a/src/database/models/users/User.ts +++ b/src/database/models/users/User.ts @@ -11,13 +11,15 @@ export class User { @PrimaryGeneratedColumn('uuid') public readonly uuid!: string + @Column({ + unique: true + }) + public readonly mail: string @Column() - public readonly mail!: string - @Column() - public readonly password!: string + public readonly password: string @Column() - public name!: string + public name: string @Column() public avatar: string @Column()