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

39 lines
839 B
TypeScript
Raw Normal View History

import { ICurrentUser } from "../current-user.model";
import { IEvent, IParticipant } from "../event.model";
import { Actor, IActor } from "./actor.model";
import { Paginate } from "../paginate";
import { IMember } from "./group.model";
2019-04-26 15:22:16 +02:00
export interface IFeedToken {
token: string;
actor?: IPerson;
user: ICurrentUser;
}
export interface IPerson extends IActor {
feedTokens: IFeedToken[];
goingToEvents: IEvent[];
participations: IParticipant[];
memberships: Paginate<IMember>;
2019-04-26 15:22:16 +02:00
}
export class Person extends Actor implements IPerson {
feedTokens: IFeedToken[] = [];
2019-04-26 15:22:16 +02:00
goingToEvents: IEvent[] = [];
participations: IParticipant[] = [];
2019-04-26 15:22:16 +02:00
memberships!: Paginate<IMember>;
2019-04-26 15:22:16 +02:00
constructor(hash: IPerson | {} = {}) {
super(hash);
this.patch(hash);
}
patch(hash: any) {
2019-04-26 15:22:16 +02:00
Object.assign(this, hash);
}
}