🚧 Permissions
This commit is contained in:
parent
f50e7f0b3a
commit
1cf35f016b
|
@ -10,90 +10,90 @@ import { UserAction } from './UserAction';
|
|||
@Entity()
|
||||
export class User {
|
||||
/**
|
||||
* autogenerated unique id (primary key).
|
||||
*/
|
||||
* autogenerated unique id (primary key).
|
||||
*/
|
||||
@PrimaryGeneratedColumn()
|
||||
@IsOptional()
|
||||
@IsInt()
|
||||
id: number;
|
||||
|
||||
/**
|
||||
* autogenerated uuid
|
||||
*/
|
||||
* autogenerated uuid
|
||||
*/
|
||||
@IsOptional()
|
||||
@IsInt()
|
||||
@Generated("uuid")
|
||||
uuid: string;
|
||||
|
||||
/**
|
||||
* user email
|
||||
*/
|
||||
* user email
|
||||
*/
|
||||
@IsEmail()
|
||||
email: string;
|
||||
|
||||
/**
|
||||
* username
|
||||
*/
|
||||
* username
|
||||
*/
|
||||
@IsString()
|
||||
username: string;
|
||||
|
||||
/**
|
||||
* firstname
|
||||
*/
|
||||
* firstname
|
||||
*/
|
||||
@IsString()
|
||||
@IsNotEmpty()
|
||||
firstname: string;
|
||||
|
||||
/**
|
||||
* middlename
|
||||
*/
|
||||
* middlename
|
||||
*/
|
||||
@IsString()
|
||||
@IsOptional()
|
||||
middlename: string;
|
||||
|
||||
/**
|
||||
* lastname
|
||||
*/
|
||||
* lastname
|
||||
*/
|
||||
@IsString()
|
||||
@IsNotEmpty()
|
||||
lastname: string;
|
||||
|
||||
/**
|
||||
* password
|
||||
*/
|
||||
* password
|
||||
*/
|
||||
@IsString()
|
||||
@IsNotEmpty()
|
||||
password: string;
|
||||
|
||||
/**
|
||||
* permissions
|
||||
*/
|
||||
* permissions
|
||||
*/
|
||||
@ManyToOne(() => Permission, permission => permission.users)
|
||||
permissions: Permission[];
|
||||
|
||||
/**
|
||||
* groups
|
||||
*/
|
||||
* groups
|
||||
*/
|
||||
@ManyToMany(() => UserGroup)
|
||||
@JoinTable()
|
||||
groups: UserGroup[];
|
||||
|
||||
/**
|
||||
* is user enabled?
|
||||
*/
|
||||
* is user enabled?
|
||||
*/
|
||||
@IsBoolean()
|
||||
enabled: boolean;
|
||||
|
||||
/**
|
||||
* jwt refresh count
|
||||
*/
|
||||
* jwt refresh count
|
||||
*/
|
||||
@IsInt()
|
||||
@Column({ default: 1 })
|
||||
refreshTokenCount: number;
|
||||
|
||||
/**
|
||||
* profilepic
|
||||
*/
|
||||
* profilepic
|
||||
*/
|
||||
@IsString()
|
||||
profilepic: string;
|
||||
|
||||
|
@ -107,10 +107,17 @@ export class User {
|
|||
* 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
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue