node-calendly
Version:
Node module to access calendly api.
79 lines • 3.3 kB
TypeScript
/******************************************
* Author : Dr. Sebastian Herden
* Created On : Fri Sep 16 2022
* File : EventTypes.ts
*******************************************/
import { Options } from './CalendlyApiEndpoint';
import CalendlyApiEndpointWithOrganization from './CalendlyApiEndpointWithOrganization';
import { PaginationResponse } from './PaginationResponse';
import { MeProvider, OrganizationProvider } from './Provider';
import EventType from './types/EventType';
import { EventTypeAvailableTime } from './types/EventTypeAvailableTime';
/**
* The event types endpoint.
* @export default
* @class EventTypes
* @extends {CalendlyApiEndpointWithOrganization}
* @see https://developer.calendly.com/api-docs/25a4ece03c1bc-list-user-s-event-types
*/
export default class EventTypes extends CalendlyApiEndpointWithOrganization {
meProvider: MeProvider;
constructor(ACCESS_TOKEN: string, organizationProvider: OrganizationProvider, meProvider: MeProvider, params?: Options);
/**
* Returns all Event Types associated with a specified User. If user is not specified, the current user is used.
* @param params
* @returns {Promise<PaginationResponse<EventType>>} A paginated list of Event Types.
*/
listUsersEventTypes(params: EventTypeUserRequest): Promise<PaginationResponse<EventType>>;
/**
* Returns all Event Types associated with a specified Organization. If organization is not specified, the current organization is used.
* @param params The request parameters.
* @returns {Promise<PaginationResponse<EventType>>} A paginated list of Event Types.
*/
listOrganisationEventTypes(params: EventTypeOrganisationRequest): Promise<PaginationResponse<EventType>>;
/**
* Returns information about a specified Event Type.
* @param param The uuid of the event type.
* @returns {Promise<EventType>} The event type.
*/
getEventType({ uuid }: {
uuid: string;
}): Promise<EventType>;
/**
* Returns a list of available times for an event type within a specified date range.
* Date range can be no greater than 1 week (7 days).
*
* NOTE:
*
* This endpoint does not support traditional keyset pagination.
* @param params The request parameters.
* @returns {Promise<EventTypeAvailableTimeResponse>} The available times.
* @note This endpoint does not support traditional keyset pagination.
* @todo has errors
*/
listEventAvailableTimes(params: EventTypeAvailableTimeRequest): Promise<EventTypeAvailableTimeResponse>;
private listEventTypes;
private getListEventTypesRequestParams;
private getEventTypeAvailableTimeRequestParams;
}
export declare type EventTypeUserRequest = EventTypeRequest & {
user?: string;
};
export declare type EventTypeOrganisationRequest = EventTypeRequest & {
organization?: string;
};
export declare type EventTypeRequest = {
active?: boolean;
count?: number;
page_token?: string;
sort?: string;
};
export declare type EventTypeAvailableTimeRequest = {
end_time?: Date;
start_time?: Date;
event_type: string;
};
export declare type EventTypeAvailableTimeResponse = {
collection: EventTypeAvailableTime[];
};
//# sourceMappingURL=EventTypes.d.ts.map