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

34 lines
854 B
TypeScript

import { IActor, IGroup } from "./actor";
import { IMember } from "./actor/member.model";
import {
ActivityDiscussionSubject,
ActivityEventSubject,
ActivityGroupSubject,
ActivityMemberSubject,
ActivityPostSubject,
ActivityResourceSubject,
ActivityType,
} from "./enums";
import { IEvent } from "./event.model";
import { IPost } from "./post.model";
import { IResource } from "./resource";
export type ActivitySubject =
| ActivityEventSubject
| ActivityPostSubject
| ActivityMemberSubject
| ActivityResourceSubject
| ActivityDiscussionSubject
| ActivityGroupSubject;
export interface IActivity {
id: string;
type: ActivityType;
subject: ActivitySubject;
subjectParams: { key: string; value: string }[];
author: IActor;
group: IGroup;
object: IEvent | IPost | IGroup | IMember | IResource;
insertedAt: string;
}