diff --git a/src/models/User.ts b/src/models/User.ts index b039d20..5f153b7 100644 --- a/src/models/User.ts +++ b/src/models/User.ts @@ -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 } }