OpenSlides/client/src/app/shared/models/users/group.ts

31 lines
763 B
TypeScript
Raw Normal View History

import { BaseModel } from '../base.model';
import { User } from './user';
2018-06-30 16:56:18 +02:00
/**
* Representation of user group.
* @ignore
*/
2018-06-30 16:56:18 +02:00
export class Group extends BaseModel {
protected _collectionString: string;
2018-08-29 13:21:25 +02:00
public id: number;
public name: string;
public permissions: string[];
2018-06-30 16:56:18 +02:00
2018-09-04 11:33:28 +02:00
public constructor(input?: any) {
super();
this._collectionString = 'users/group';
2018-09-04 11:33:28 +02:00
if (input) {
this.deserialize(input);
}
2018-06-30 16:56:18 +02:00
}
public get users() {
// We have to use the string version to avoid circular dependencies.
return this.DS.filter<User>('users/user', user => {
return user.groups_id.includes(this.id);
});
}
2018-06-30 16:56:18 +02:00
}
2018-08-24 13:05:03 +02:00
BaseModel.registerCollectionElement('users/group', Group);