* Implement credential sync secret * Create auth middleware for credential syncing * Create GET endpoint * Update swagger comment * Add verifyCredentialSyncEnabled middleware * Fix middleware input * Fix APP_CREDENTIAL_SHARING_ENABLED to return boolean * Add check for admin API key * Add GET method * Middleware require credential sync secret * Return only the credentialId * Update default CALCOM_CREDENTIAL_SYNC_HEADER_NAME value * Add post endpoint * Return credential object for get endpoint * Require a userId in the param * POST add keys to body * Add PATCH endpoint * Add DELETE endpoint * Fix minimumTokenResponseSchema * Add encrypted key * Remove prototype * Add swagger doc comments * Fix parsing and error handling * Add create selectedCalendar and destinationCalendar params
49 lines
1.2 KiB
TypeScript
49 lines
1.2 KiB
TypeScript
import { label } from "next-api-middleware";
|
|
|
|
import { addRequestId } from "./addRequestid";
|
|
import { captureErrors } from "./captureErrors";
|
|
import { extendRequest } from "./extendRequest";
|
|
import {
|
|
HTTP_POST,
|
|
HTTP_DELETE,
|
|
HTTP_PATCH,
|
|
HTTP_GET,
|
|
HTTP_GET_OR_POST,
|
|
HTTP_GET_DELETE_PATCH,
|
|
} from "./httpMethods";
|
|
import { rateLimitApiKey } from "./rateLimitApiKey";
|
|
import { verifyApiKey } from "./verifyApiKey";
|
|
import { verifyCredentialSyncEnabled } from "./verifyCredentialSyncEnabled";
|
|
import { withPagination } from "./withPagination";
|
|
|
|
const middleware = {
|
|
HTTP_GET_OR_POST,
|
|
HTTP_GET_DELETE_PATCH,
|
|
HTTP_GET,
|
|
HTTP_PATCH,
|
|
HTTP_POST,
|
|
HTTP_DELETE,
|
|
addRequestId,
|
|
verifyApiKey,
|
|
rateLimitApiKey,
|
|
extendRequest,
|
|
pagination: withPagination,
|
|
captureErrors,
|
|
verifyCredentialSyncEnabled,
|
|
};
|
|
|
|
type Middleware = keyof typeof middleware;
|
|
|
|
const middlewareOrder = [
|
|
// The order here, determines the order of execution
|
|
"extendRequest",
|
|
"captureErrors",
|
|
"verifyApiKey",
|
|
"rateLimitApiKey",
|
|
"addRequestId",
|
|
] as Middleware[]; // <-- Provide a list of middleware to call automatically
|
|
|
|
const withMiddleware = label(middleware, middlewareOrder);
|
|
|
|
export { withMiddleware, middleware, middlewareOrder };
|