Merge branch 'feature/11-new_classes' of git.odit.services:lfk/backend into feature/11-new_classes

# Conflicts:
#	src/models/User.ts
This commit is contained in:
Nicolai Ort 2020-12-02 19:45:30 +01:00
commit 6464033a58
2 changed files with 131 additions and 113 deletions

View File

@ -2,6 +2,7 @@ import { Entity, Column, OneToMany, ManyToOne, PrimaryGeneratedColumn, Generated
import { IsBoolean, IsEmail, IsInt, IsNotEmpty, IsOptional, IsString, isUUID, } from "class-validator";
import { UserGroup } from './UserGroup';
import { Permission } from './Permission';
import { UserAction } from './UserAction';
/**
* Defines a admin user.
@ -96,14 +97,27 @@ export class User {
@IsString()
profilepic: string;
/**
* actions
*/
@OneToMany(() => UserAction, action => action.user)
actions: UserAction
/**
* calculate all permissions
*/
public get calc_permissions(): Permission[] {
let final_permissions = this.groups.forEach((permission) => {
console.log(permission);
let final_permissions = []
this.groups.forEach((permission) => {
if (!final_permissions.includes(permission)) {
final_permissions.push(permission)
}
})
// TODO: add user permissions on top of group permissions + return
return []
this.permissions.forEach((permission) => {
if (!final_permissions.includes(permission)) {
final_permissions.push(permission)
}
})
return final_permissions
}
}

View File

@ -1,10 +1,11 @@
import { PrimaryGeneratedColumn, Column, OneToMany, Entity } from "typeorm";
import { PrimaryGeneratedColumn, Column, OneToMany, Entity, ManyToOne } from "typeorm";
import {
IsInt,
IsNotEmpty,
IsOptional,
IsString,
} from "class-validator";
import { User } from './User';
/**
* Defines the UserAction interface.
@ -19,8 +20,11 @@ export class UserAction {
@IsInt()
id: number;
// TODO:
// user: relation
/**
* user
*/
@ManyToOne(() => User, user => user.actions)
user: User
/**
* The actions's target (e.g. Track#2)