Add leave/join/delete event logic
This commit is contained in:
@@ -1,13 +1,13 @@
|
||||
export interface IActor {
|
||||
id: string;
|
||||
url: string;
|
||||
name: string;
|
||||
domain: string|null;
|
||||
summary: string;
|
||||
preferredUsername: string;
|
||||
suspended: boolean;
|
||||
avatarUrl: string;
|
||||
bannerUrl: string;
|
||||
id: string;
|
||||
url: string;
|
||||
name: string;
|
||||
domain: string|null;
|
||||
summary: string;
|
||||
preferredUsername: string;
|
||||
suspended: boolean;
|
||||
avatarUrl: string;
|
||||
bannerUrl: string;
|
||||
}
|
||||
|
||||
export interface IPerson extends IActor {
|
||||
@@ -15,15 +15,18 @@ export interface IPerson extends IActor {
|
||||
}
|
||||
|
||||
export interface IGroup extends IActor {
|
||||
members: IMember[];
|
||||
members: IMember[];
|
||||
}
|
||||
|
||||
export enum MemberRole {
|
||||
PENDING, MEMBER, MODERATOR, ADMIN
|
||||
PENDING,
|
||||
MEMBER,
|
||||
MODERATOR,
|
||||
ADMIN,
|
||||
}
|
||||
|
||||
export interface IMember {
|
||||
role: MemberRole;
|
||||
parent: IGroup;
|
||||
actor: IActor;
|
||||
}
|
||||
role: MemberRole;
|
||||
parent: IGroup;
|
||||
actor: IActor;
|
||||
}
|
||||
|
||||
@@ -1,62 +1,70 @@
|
||||
import { IActor } from "./actor.model";
|
||||
import { IActor } from './actor.model';
|
||||
|
||||
export enum EventStatus {
|
||||
TENTATIVE,
|
||||
CONFIRMED,
|
||||
CANCELLED
|
||||
TENTATIVE,
|
||||
CONFIRMED,
|
||||
CANCELLED,
|
||||
}
|
||||
|
||||
export enum EventVisibility {
|
||||
PUBLIC,
|
||||
UNLISTED,
|
||||
RESTRICTED,
|
||||
PRIVATE
|
||||
PUBLIC,
|
||||
UNLISTED,
|
||||
RESTRICTED,
|
||||
PRIVATE,
|
||||
}
|
||||
|
||||
export enum EventJoinOptions {
|
||||
FREE,
|
||||
RESTRICTED,
|
||||
INVITE
|
||||
FREE,
|
||||
RESTRICTED,
|
||||
INVITE,
|
||||
}
|
||||
|
||||
export enum ParticipantRole {
|
||||
NOT_APPROVED = 'not_approved',
|
||||
PARTICIPANT = 'participant',
|
||||
MODERATOR = 'moderator',
|
||||
ADMINSTRATOR = 'administrator',
|
||||
CREATOR = 'creator'
|
||||
NOT_APPROVED = 'not_approved',
|
||||
PARTICIPANT = 'participant',
|
||||
MODERATOR = 'moderator',
|
||||
ADMINISTRATOR = 'administrator',
|
||||
CREATOR = 'creator',
|
||||
}
|
||||
|
||||
export interface ICategory {
|
||||
title: string;
|
||||
description: string;
|
||||
picture: string;
|
||||
title: string;
|
||||
description: string;
|
||||
picture: string;
|
||||
}
|
||||
|
||||
export interface IParticipant {
|
||||
role: ParticipantRole,
|
||||
actor: IActor,
|
||||
event: IEvent
|
||||
role: ParticipantRole;
|
||||
actor: IActor;
|
||||
event: IEvent;
|
||||
}
|
||||
|
||||
export interface IEvent {
|
||||
uuid: string;
|
||||
url: string;
|
||||
local: boolean;
|
||||
title: string;
|
||||
description: string;
|
||||
begins_on: Date;
|
||||
ends_on: Date;
|
||||
status: EventStatus;
|
||||
visibility: EventVisibility;
|
||||
join_options: EventJoinOptions;
|
||||
thumbnail: string;
|
||||
large_image: string;
|
||||
publish_at: Date;
|
||||
// online_address: Adress;
|
||||
// phone_address: string;
|
||||
organizerActor: IActor;
|
||||
attributedTo: IActor;
|
||||
participants: IParticipant[];
|
||||
category: ICategory;
|
||||
}
|
||||
id?: number;
|
||||
uuid: string;
|
||||
url: string;
|
||||
local: boolean;
|
||||
|
||||
title: string;
|
||||
description: string;
|
||||
category: ICategory;
|
||||
|
||||
begins_on: Date;
|
||||
ends_on: Date;
|
||||
publish_at: Date;
|
||||
|
||||
status: EventStatus;
|
||||
visibility: EventVisibility;
|
||||
|
||||
join_options: EventJoinOptions;
|
||||
|
||||
thumbnail: string;
|
||||
large_image: string;
|
||||
|
||||
organizerActor: IActor;
|
||||
attributedTo: IActor;
|
||||
participants: IParticipant[];
|
||||
|
||||
// online_address: Address;
|
||||
// phone_address: string;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user