🚧 UserGroups

ref #14
This commit is contained in:
2020-12-04 18:34:14 +01:00
parent 5b7f3ae12f
commit 3275b5fd80
4 changed files with 154 additions and 4 deletions

View File

@@ -0,0 +1,28 @@
import { IsOptional, IsString } from 'class-validator';
import { GroupNameNeededError } from '../../errors/UserGroupErrors';
import { UserGroup } from '../entities/UserGroup';
export class CreateUserGroup {
@IsOptional()
@IsString()
name: string;
@IsOptional()
@IsString()
description?: string;
public async toUserGroup(): Promise<UserGroup> {
let newUserGroup: UserGroup = new UserGroup();
if (this.name === undefined) {
throw new GroupNameNeededError();
}
newUserGroup.name = this.name
if (this.description) {
newUserGroup.description = this.description
}
console.log(newUserGroup)
return newUserGroup;
}
}

View File

@@ -1,17 +1,17 @@
import { PrimaryGeneratedColumn, Column, OneToMany, Entity, ManyToOne } from "typeorm";
import {
IsInt,
IsNotEmpty,
IsOptional,
IsString,
IsString
} from "class-validator";
import { Column, Entity, ManyToOne, PrimaryGeneratedColumn } from "typeorm";
import { Permission } from "./Permission";
/**
* Defines the UserGroup interface.
*/
@Entity()
export abstract class UserGroup {
export class UserGroup {
/**
* Autogenerated unique id (primary key).
*/
@@ -37,7 +37,7 @@ export abstract class UserGroup {
/**
* The group's description
*/
@Column({nullable: true})
@Column({ nullable: true })
@IsOptional()
@IsString()
description?: string;