Now with cleaner participants in the responses

ref #6
This commit is contained in:
2020-12-18 15:26:54 +01:00
parent dc485c02ea
commit 145a08b1b4
5 changed files with 63 additions and 3 deletions

View File

@@ -1,5 +1,6 @@
import { IsInt, IsOptional } from 'class-validator';
import { Entity, OneToMany, PrimaryGeneratedColumn, TableInheritance } from 'typeorm';
import { ResponsePrincipal } from '../responses/ResponsePrincipal';
import { Permission } from './Permission';
/**
@@ -21,4 +22,6 @@ export abstract class Principal {
@IsOptional()
@OneToMany(() => Permission, permission => permission.principal, { nullable: true })
permissions?: Permission[];
public abstract toResponse(): ResponsePrincipal;
}

View File

@@ -1,6 +1,8 @@
import { IsBoolean, IsEmail, IsInt, IsNotEmpty, IsOptional, IsPhoneNumber, IsString, IsUUID } from "class-validator";
import { ChildEntity, Column, JoinTable, ManyToMany, OneToMany } from "typeorm";
import { config } from '../../config';
import { ResponsePrincipal } from '../responses/ResponsePrincipal';
import { ResponseUser } from '../responses/ResponseUser';
import { Permission } from './Permission';
import { Principal } from './Principal';
import { UserAction } from './UserAction';
@@ -126,4 +128,8 @@ export class User extends Principal {
})
return final_permissions
}
public toResponse(): ResponsePrincipal {
return new ResponseUser(this);
}
}

View File

@@ -4,6 +4,8 @@ import {
IsString
} from "class-validator";
import { ChildEntity, Column } from "typeorm";
import { ResponsePrincipal } from '../responses/ResponsePrincipal';
import { ResponseUserGroup } from '../responses/ResponseUserGroup';
import { Principal } from './Principal';
/**
@@ -27,4 +29,8 @@ export class UserGroup extends Principal {
@IsOptional()
@IsString()
description?: string;
public toResponse(): ResponsePrincipal {
return new ResponseUserGroup(this);
}
}