node-calendly
Version:
Node module to access calendly api.
156 lines • 4.33 kB
TypeScript
/******************************************
* Author : Dr. Sebastian Herden
* Created On : Fri Sep 16 2022
* File : Event.ts
*******************************************/
import { Cancellation } from './Cancellation';
export declare type EventDefinition = {
uri: string;
name: string;
status: 'active' | 'canceled';
start_time: Date;
end_time: Date;
event_type: string;
location: PhysicalLocation | OutboundCallLocation | InboundCallLocation | GoogleConferenceLocation | ZoomConferenceLocation | GoToMeetingLocation | MicrosoftTeamsConferenceLocation | WebexConferenceLocation | CustomLocation | AskInviteeLocation;
invitees_counter: {
total: number;
active: number;
limit: number;
};
created_at: Date;
updated_at: Date;
event_memberships: [
{
user: string;
}
];
event_guests: [
{
email: string;
created_at: Date;
updated_at: Date;
}
];
cancellation?: Cancellation;
};
/**
* Information about a scheduled meeting. Provides one more method:
* - fromJson: Creates an event object from a json object.
* @export default
* @interface CalendlyEvent
* @implements {EventType}
* @see https://developer.calendly.com/api-docs/504508461e486-event
*/
export default class CalendlyEvent implements EventDefinition {
uri: string;
name: string;
status: 'active' | 'canceled';
start_time: Date;
end_time: Date;
event_type: string;
location: PhysicalLocation | OutboundCallLocation | InboundCallLocation | GoogleConferenceLocation | ZoomConferenceLocation | GoToMeetingLocation | MicrosoftTeamsConferenceLocation | WebexConferenceLocation | CustomLocation | AskInviteeLocation;
invitees_counter: {
total: number;
active: number;
limit: number;
};
created_at: Date;
updated_at: Date;
event_memberships: [
{
user: string;
}
];
event_guests: [
{
email: string;
created_at: Date;
updated_at: Date;
}
];
cancellation?: Cancellation;
uuid: string | undefined;
private constructor();
static fromJSON(event: EventDefinition): CalendlyEvent;
}
export declare type PhysicalLocation = {
type: 'physical';
location: string;
};
export declare type OutboundCallLocation = {
type: 'outbound_call';
location: string;
};
export declare type InboundCallLocation = {
type: 'inbound_call';
location: string;
};
export declare type GoogleConferenceLocation = WebConferenceLocation & {
type: 'google_conference';
};
export declare type ZoomConferenceLocation = WebConferenceLocation & {
type: 'zoom_conference';
data: {
id: string;
password: string;
settings: {
global_dial_in_numbers: [global_dial_in_number];
};
extra: {
intl_numbers_url: string;
};
};
};
export declare type GoToMeetingLocation = WebConferenceLocation & {
type: 'gotomeeting';
data: {
uniqueMeetingId: string;
conferenceCallInfo: string;
};
};
export declare type MicrosoftTeamsConferenceLocation = WebConferenceLocation & {
type: 'microsoft_teams_conference';
data: {
id: string;
audioConferencing: {
conferenceId: string;
dialinUrl: string;
tollNumber: string;
};
};
};
export declare type WebexConferenceLocation = WebConferenceLocation & {
type: 'webex_conference';
data: {
id: string;
password: string;
telephony: {
callInNumbers: [callInNumber];
};
};
};
export declare type CustomLocation = {
type: 'custom';
location: string;
};
export declare type AskInviteeLocation = {
type: 'ask_invitee';
location: string;
};
export declare type WebConferenceLocation = {
status: 'initiated' | 'processing' | 'pushed' | 'failed';
join_url: string;
};
export declare type global_dial_in_number = {
number: string;
country: string;
type: string;
city: string;
country_name: string;
};
export declare type callInNumber = {
label: string;
callInNumber: string;
tollType: string;
};
//# sourceMappingURL=Event.d.ts.map