@selfcommunity/types
Version:
Types to integrate a community created with SelfCommunity.
196 lines (195 loc) • 4.05 kB
TypeScript
/**
* Interface SCGroupEventType.
* Event Schema.
*/
import { SCUserType } from './user';
import { SCLiveStreamType } from './liveStream';
/**
* SCEventPrivacyType enum
*/
export declare enum SCEventPrivacyType {
PUBLIC = "public",
PRIVATE = "private"
}
/**
* SCGroupSubscriptionStatusType enum
*/
export declare enum SCEventSubscriptionStatusType {
SUBSCRIBED = "subscribed",
REQUESTED = "requested",
INVITED = "invited",
GOING = "going",
NOT_GOING = "not_going"
}
/**
* SCEventLocationType enum
*/
export declare enum SCEventLocationType {
PERSON = "in person",
ONLINE = "virtual",
LIVESTREAM = "live_stream"
}
/**
* SCEventLocationFilterType enum
*/
export declare enum SCEventLocationFilterType {
ANY = "any",
PERSON = "in person",
ONLINE = "virtual"
}
/**
* SCEventRecurrenceType enum
*/
export declare enum SCEventRecurrenceType {
NEVER = "never",
DAILY = "daily",
WEEKLY = "weekly",
MONTHLY = "monthly"
}
/**
* SCEventRecurrenceType enum
*/
export declare enum SCEventDateFilterType {
ALL = "all",
TODAY = "today",
TOMORROW = "tomorrow",
THIS_WEEK = "this_week",
NEXT_WEEK = "next_week",
THIS_MONTH = "this_month",
NOT_PAST = "not_past",
PAST = "past"
}
export interface SCEventType {
/**
* The ID of the event.
*/
id: number;
/**
* The name of the event.
*/
name: string;
/**
* The description of the event.
*/
description: string;
/**
* The slug for the event.
*/
slug: string;
/**
* The color of the event.
*/
color: string;
/**
* The event privacy.
*/
privacy: SCEventPrivacyType;
/**
* The event visibility.
*/
visible: boolean;
/**
* The event active status.
*/
active: boolean;
/**
* If the event is showed in the feed.
*/
show_on_feed: boolean;
/**
* The event subscription status.
*/
subscription_status: SCEventSubscriptionStatusType;
/**
* The event image, bigger format.
*/
image_bigger: string;
/**
* The event image, big format.
*/
image_big: string;
/**
* The event image, medium format.
*/
image_medium: string;
/**
* The event image, small format.
*/
image_small: string;
/**
* The number of event members
*/
subscribers_counter: number;
/**
* The number of participating members
*/
goings_counter: number;
/**
* The event start date.
*/
start_date: string;
/**
* The event end date.
*/
end_date: string | null;
/**
* If the event is currently running
*/
running: boolean;
/**
* The start date and time when the event running period began.
*/
running_start_date: string;
/**
* The expected or actual end date and time for the event running period.
*/
running_end_date: string;
/**
* The start date when the next event running period is scheduled to begin (for recurrent events).
*/
next_start_date: string;
/**
* The end date for the next event running period (for recurrent events).
*/
next_end_date: string;
/**
* The event recurrence
*/
recurring: SCEventRecurrenceType;
/**
* The event location (in person, online)
*/
location: SCEventLocationType;
/**
* The event live stream if exist
*/
live_stream?: SCLiveStreamType;
/**
* The event place
*/
geolocation: string | null;
/**
* The event latitude
*/
geolocation_lat: number | null;
/**
* The event longitude
*/
geolocation_lng: number | null;
/**
* The event link(if virtual)
*/
link: string | null;
/**
* The event creation date.
*/
created_at: string;
/**
* The event creator.
*/
created_by: SCUserType;
/**
* The event admin.
*/
managed_by: SCUserType;
}