mobilizon.chapril.org-mobil.../js/src/types/actor/group.model.ts

33 lines
507 B
TypeScript
Raw Normal View History

2019-04-26 15:22:16 +02:00
import { Actor, IActor } from '@/types/actor/actor.model';
export enum MemberRole {
PENDING,
MEMBER,
MODERATOR,
ADMIN,
}
export interface IGroup extends IActor {
members: IMember[];
}
export interface IMember {
role: MemberRole;
parent: IGroup;
actor: IActor;
}
export class Group extends Actor implements IGroup {
members: IMember[] = [];
2019-09-02 10:50:00 +02:00
constructor(hash: IGroup | {} = {}) {
super(hash);
this.patch(hash);
}
patch (hash: any) {
Object.assign(this, hash);
}
2019-04-26 15:22:16 +02:00
}