2020-02-18 08:57:00 +01:00
|
|
|
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[];
|
2020-06-15 18:12:49 +02:00
|
|
|
participations: Paginate<IParticipant>;
|
2020-02-18 08:57:00 +01:00
|
|
|
memberships: Paginate<IMember>;
|
2020-06-11 19:13:21 +02:00
|
|
|
user?: ICurrentUser;
|
2019-04-26 15:22:16 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
export class Person extends Actor implements IPerson {
|
|
|
|
feedTokens: IFeedToken[] = [];
|
2020-02-18 08:57:00 +01:00
|
|
|
|
2019-04-26 15:22:16 +02:00
|
|
|
goingToEvents: IEvent[] = [];
|
2020-02-18 08:57:00 +01:00
|
|
|
|
2020-06-15 18:12:49 +02:00
|
|
|
participations!: Paginate<IParticipant>;
|
2019-04-26 15:22:16 +02:00
|
|
|
|
2020-02-18 08:57:00 +01:00
|
|
|
memberships!: Paginate<IMember>;
|
|
|
|
|
2020-06-11 19:13:21 +02:00
|
|
|
user!: ICurrentUser;
|
|
|
|
|
2019-04-26 15:22:16 +02:00
|
|
|
constructor(hash: IPerson | {} = {}) {
|
|
|
|
super(hash);
|
|
|
|
|
2019-06-17 17:15:27 +02:00
|
|
|
this.patch(hash);
|
|
|
|
}
|
|
|
|
|
2020-02-18 08:57:00 +01:00
|
|
|
patch(hash: any) {
|
2019-04-26 15:22:16 +02:00
|
|
|
Object.assign(this, hash);
|
|
|
|
}
|
|
|
|
}
|