* chore: version existing bookings as 2024-04-15 * feat: initialize bookings version 2024-08-13 * feat: Create and reschedule booking inputs logic * feat: create booking * refactor: create booking response * feat: reschedule booking * chore: update language input * feat: recurring booking * refactor: add booking status in response * refactor: recurring bookings * feat: get booking by uid * wip: get event types * feat: fetch by multiple status filters and sort * feat: fetch by teamId, teamIds, eventTypeId, eventTypeIds * wip: filter by attendee email * feat: filter by attendee email * feat: filter by attendee name * feat: date range filter * chore: format get bookings output * chore: finish main merge * feat: handle instant bookings * refactor: separate reschedule endpoint * feat: cancel endpoint * feat: mark absent host or attendees * chore: dont expose metadata for now * chore: add hostId to response * fix: metadata * feat: bill bookings * feat: cancellationReason * feat: rescheduling reason * handle already busy booking error * test: create new booking * fix: handleNewRecurringBooking ignoring noEmail * test: recurring bookings * test: get individual bookings * fix: cancel email sent if arePlatformEmailsEnabled=false but platformClientId is undefined * tests: cancel, reschedule, mark absent * fix: generateIcsFile null pointer exception * cancel test * error msg improve * tests: team event type creation and teamId, teamIds filters * test: cancel recurring booking * refactor: make hosts and attendees an array * sort by asc start * simplify * refactor: absent * fix: make work with api key * test * ts remove any * feat: BookingUidGuard * fix: recurring booking no email * fix: legacy bookings recurring noEmail * add swagger * retrigger build * fix: atom booker work with v2 * docs: exclude old controller from docs * refactor: make eventTypeIds and teamIds getBookings query params comma separated string * docs: swagger for get bookings query * swagger docs * swagger docs * docs: document authorization header * refactor: remove unused attendee variable * refactor: remove unused check * refactor: remove unused attendee variable * refactor: spelling * use published platform libraries * fix: ci * fix: ci * fix: ci * fix: ci * cleanup script platform types * fix: use libraries from npm * chore: set test env vapid keys * fix: event type tests * fix: remove location from system fields * fix legacy event types * Revert "fix legacy event types" This reverts commit e64b473b73f7ef0fe88942cd87277d29a512b946. * Revert "fix: remove location from system fields" This reverts commit bee9a15cb27cd34705f34c427b6b50d51e3b7ee7. * Revert "fix: event type tests" This reverts commit fab1cb0f5eeb65e4f542bfbeb83849ceed7ba428. * update libraries * fix: increase node space for ci runner * fix: increase node space for ci runner * fix: increase node space for ci runner * readd swagger * ci * ci * refactor: increase idle worker memory jest e2e * fixup! refactor: increase idle worker memory jest e2e * fixup! fixup! refactor: increase idle worker memory jest e2e * refactor: split bookings e2e into smaller e2e files * fixup! refactor: split bookings e2e into smaller e2e files * fixup! fixup! refactor: split bookings e2e into smaller e2e files * fixup! fixup! fixup! refactor: split bookings e2e into smaller e2e files * fixup! Merge branch 'main' into v2-refactor-bookings * revert event types service * fix: remove resetModule, maxWorker 2 jest e2e config --------- Co-authored-by: Morgan Vernay <morgan@cal.com> Co-authored-by: Morgan <33722304+ThyMinimalDev@users.noreply.github.com>
69 lines
2.0 KiB
TypeScript
69 lines
2.0 KiB
TypeScript
export const BASE_URL = "http://localhost:5555";
|
|
export const V2_ENDPOINTS = {
|
|
me: "me",
|
|
availability: "schedules",
|
|
eventTypes: "event-types",
|
|
bookings: "bookings",
|
|
};
|
|
|
|
export const SUCCESS_STATUS = "success";
|
|
export const ERROR_STATUS = "error";
|
|
export const REDIRECT_STATUS = "redirect";
|
|
// Client Errors (4xx)
|
|
export const BAD_REQUEST = "BAD_REQUEST";
|
|
export const UNAUTHORIZED = "UNAUTHORIZED";
|
|
export const FORBIDDEN = "FORBIDDEN";
|
|
export const NOT_FOUND = "NOT_FOUND";
|
|
export const METHOD_NOT_ALLOWED = "METHOD_NOT_ALLOWED";
|
|
export const UNPROCESSABLE_ENTITY = "UNPROCESSABLE_ENTITY";
|
|
export const ACCESS_TOKEN_EXPIRED = "ACCESS_TOKEN_IS_EXPIRED";
|
|
export const INVALID_ACCESS_TOKEN = "Invalid Access Token.";
|
|
|
|
// Server Errors (5xx)
|
|
export const INTERNAL_SERVER_ERROR = "INTERNAL_SERVER_ERROR";
|
|
|
|
// Custom Errors
|
|
export const INVALID_PARAMETER = "INVALID_PARAMETER";
|
|
export const MISSING_PARAMETER = "MISSING_PARAMETER";
|
|
export const INVALID_API_KEY = "INVALID_API_KEY";
|
|
export const RESOURCE_NOT_FOUND = "RESOURCE_NOT_FOUND";
|
|
export const DUPLICATE_RESOURCE = "DUPLICATE_RESOURCE";
|
|
|
|
export const API_ERROR_CODES = [
|
|
BAD_REQUEST,
|
|
UNAUTHORIZED,
|
|
FORBIDDEN,
|
|
NOT_FOUND,
|
|
METHOD_NOT_ALLOWED,
|
|
UNPROCESSABLE_ENTITY,
|
|
INTERNAL_SERVER_ERROR,
|
|
INVALID_PARAMETER,
|
|
MISSING_PARAMETER,
|
|
INVALID_API_KEY,
|
|
RESOURCE_NOT_FOUND,
|
|
DUPLICATE_RESOURCE,
|
|
] as const;
|
|
|
|
// Request headers
|
|
export const X_CAL_SECRET_KEY = "x-cal-secret-key";
|
|
export const X_CAL_CLIENT_ID = "x-cal-client-id";
|
|
|
|
// HTTP status codes
|
|
export const HTTP_CODE_TOKEN_EXPIRED = 498;
|
|
|
|
export const VERSION_2024_06_14 = "2024-06-14";
|
|
export const VERSION_2024_06_11 = "2024-06-11";
|
|
export const VERSION_2024_04_15 = "2024-04-15";
|
|
export const VERSION_2024_08_13 = "2024-08-13";
|
|
|
|
export const API_VERSIONS = [
|
|
VERSION_2024_06_14,
|
|
VERSION_2024_06_11,
|
|
VERSION_2024_04_15,
|
|
VERSION_2024_08_13,
|
|
] as const;
|
|
|
|
export type API_VERSIONS_ENUM = (typeof API_VERSIONS)[number];
|
|
export type API_VERSIONS_TYPE = typeof API_VERSIONS;
|
|
export const CAL_API_VERSION_HEADER = "cal-api-version";
|