import { SetupLink, SetupLinkCreatePayload, Storable, PaginationParams, SetupLinkService, JacksonOption } from '../typings'; interface FilterByParams extends PaginationParams { service?: SetupLinkService; tenant?: string; product?: string; } export type RemoveSetupLinkParams = { id: string; } | { service: SetupLinkService; tenant: string; product: string; }; export declare class SetupLinkController { setupLinkStore: Storable; opts: JacksonOption; constructor({ setupLinkStore, opts }: { setupLinkStore: any; opts: any; }); /** * @openapi * components: * schemas: * SetupLink: * type: object * properties: * setupID: * type: string * description: Setup link ID * tenant: * type: string * description: Tenant * product: * type: string * description: Product * validTill: * type: string * description: Valid till timestamp * url: * type: string * description: Setup link URL * example: * data: * setupID: 0689f76f7b5aa22f00381a124cb4b153fc1a8c08 * tenant: acme * product: my-app * service: sso * validTill: 1689849146690 * url: http://localhost:5225/setup/0b96a483ebfe0af0b561dda35a96647074d944631ff9e070 * parameters: * setupLinkId: * name: id * in: query * description: Setup link ID * schema: * type: string * idParamGet: * name: id * in: query * description: Setup Link ID * schema: * type: string * */ /** * @openapi * /api/v1/sso/setuplinks: * post: * tags: * - Setup Links | Single Sign On * summary: Create a Setup Link * operationId: create-sso-setup-link * requestBody: * content: * application/json: * schema: * required: * - defaultRedirectUrl * - product * - redirectUrl * - tenant * type: object * properties: * name: * type: string * description: Name of connection * tenant: * type: string * description: Tenant * product: * type: string * description: Product * defaultRedirectUrl: * type: string * description: The redirect URL to use in the IdP login flow * redirectUrl: * type: string * description: JSON encoded array containing a list of allowed redirect URLs * expiryDays: * type: number * description: Days in number for the setup link to expire * default: 3 * regenerate: * type: boolean * description: If passed as true, it will remove the existing setup link and create a new one. * default: false * required: true * responses: * 200: * description: Success * content: * application/json: * schema: * $ref: "#/components/schemas/SetupLink" * /api/v1/dsync/setuplinks: * post: * tags: * - Setup Links | Directory Sync * summary: Create a Setup Link * operationId: create-dsync-setup-link * requestBody: * content: * application/json: * schema: * required: * - product * - tenant * - webhook_secret * - webhook_url * type: object * properties: * name: * type: string * description: Name of connection * tenant: * type: string * description: Tenant * product: * type: string * description: Product * webhook_url: * type: string * description: The URL to send the directory sync events to * webhook_secret: * type: string * description: The secret to sign the directory sync events * expiryDays: * type: number * description: Days in number for the setup link to expire * default: 3 * regenerate: * type: boolean * description: If passed as true, it will remove the existing setup link and create a new one. * default: false * required: true * responses: * 200: * description: Success * content: * application/json: * schema: * $ref: "#/components/schemas/SetupLink" * x-ory-ratelimit-bucket: polis-public-medium */ create(body: SetupLinkCreatePayload): Promise; getByToken(token: string): Promise; /** * @openapi * /api/v1/sso/setuplinks: * delete: * tags: * - Setup Links | Single Sign On * summary: Delete the Setup Link * operationId: delete-sso-setup-link * parameters: * - name: tenant * in: query * description: Tenant * required: true * schema: * type: string * - name: product * in: query * description: Product * required: true * schema: * type: string * - name: id * in: query * description: Setup link ID * schema: * type: string * responses: * 200: * description: Success * content: * application/json: * schema: * type: object * example: * data: {} * /api/v1/dsync/setuplinks: * delete: * tags: * - Setup Links | Directory Sync * summary: Delete the Setup Link * operationId: delete-dsync-setup-link * parameters: * - name: tenant * in: query * description: Tenant * required: true * schema: * type: string * - name: product * in: query * description: Product * required: true * schema: * type: string * - name: id * in: query * description: Setup link ID * schema: * type: string * responses: * 200: * description: Success * content: * application/json: * schema: * type: object * example: * data: {} * x-ory-ratelimit-bucket: polis-public-medium */ remove(params: RemoveSetupLinkParams): Promise; isExpired(setupLink: SetupLink): boolean; /** * @openapi * /api/v1/sso/setuplinks/product: * get: * tags: * - Setup Links | Single Sign On * summary: Get the Setup Links by product * operationId: get-sso-setup-link-by-product * parameters: * - $ref: '#/components/parameters/productParamGet' * - $ref: '#/components/parameters/pageOffset' * - $ref: '#/components/parameters/pageLimit' * - $ref: '#/components/parameters/pageToken' * responses: * 200: * description: Success * content: * application/json: * schema: * type: array * items: * $ref: "#/components/schemas/SetupLink" * /api/v1/dsync/setuplinks/product: * get: * tags: * - Setup Links | Directory Sync * summary: Get the Setup Links by product * operationId: get-dsync-setup-link-by-product * parameters: * - $ref: '#/components/parameters/productParamGet' * - $ref: '#/components/parameters/pageOffset' * - $ref: '#/components/parameters/pageLimit' * - $ref: '#/components/parameters/pageToken' * responses: * 200: * description: Success * content: * application/json: * schema: * type: array * items: * $ref: "#/components/schemas/SetupLink" * x-ory-ratelimit-bucket: polis-public-low */ filterBy(params: FilterByParams): Promise<{ data: SetupLink[]; pageToken?: string; }>; /** * @openapi * /api/v1/sso/setuplinks: * get: * tags: * - Setup Links | Single Sign On * summary: Get the Setup Link * operationId: get-sso-setup-link * parameters: * - name: tenant * in: query * description: Tenant * required: true * schema: * type: string * - name: product * in: query * description: Product * required: true * schema: * type: string * - name: id * in: query * description: Setup Link ID * schema: * type: string * responses: * 200: * description: Success * content: * application/json: * schema: * $ref: "#/components/schemas/SetupLink" * /api/v1/dsync/setuplinks: * get: * tags: * - Setup Links | Directory Sync * summary: Get the Setup Link * operationId: get-dsync-setup-link * parameters: * - name: tenant * in: query * description: Tenant * required: true * schema: * type: string * - name: product * in: query * description: Product * required: true * schema: * type: string * - name: id * in: query * description: Setup Link ID * schema: * type: string * responses: * 200: * description: Success * content: * application/json: * schema: * $ref: "#/components/schemas/SetupLink" * x-ory-ratelimit-bucket: polis-public-low */ get(id: string): Promise; } export {};