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

46 lines
789 B
TypeScript

export interface IActor {
id?: string;
url: string;
name: string;
domain: string|null;
summary: string;
preferredUsername: string;
suspended: boolean;
avatarUrl: string;
bannerUrl: string;
}
export class Actor implements IActor {
avatarUrl: string = '';
bannerUrl: string = '';
domain: string | null = null;
name: string = '';
preferredUsername: string = '';
summary: string = '';
suspended: boolean = false;
url: string = '';
}
export interface IPerson extends IActor {
}
export interface IGroup extends IActor {
members: IMember[];
}
export class Person extends Actor implements IPerson {}
export enum MemberRole {
PENDING,
MEMBER,
MODERATOR,
ADMIN,
}
export interface IMember {
role: MemberRole;
parent: IGroup;
actor: IActor;
}