slack-edge
Version:
Slack app development framework for edge functions with streamlined TypeScript support
59 lines • 2.69 kB
TypeScript
import { AuthTestResponse } from "slack-web-api-client";
import { OAuthErrorCode } from "./error-codes";
import { Installation } from "./installation";
export interface OAuthStartPageRendererArgs {
url: string;
immediateRedirect: boolean;
}
/**
* Start page (/slack/install) content renderer.
*/
export type OAuthStartPageRenderer = (args: OAuthStartPageRendererArgs) => Promise<string>;
/**
* Generates an HTML data for the /slack/install page.
* @param url the URL to start the OAuth flow
* @returns HTML data
*/
export declare function renderDefaultOAuthStartPage({ url, immediateRedirect }: OAuthStartPageRendererArgs): Promise<string>;
export declare function renderSimpleCSSOAuthStartPage({ url, immediateRedirect }: OAuthStartPageRendererArgs): Promise<string>;
export interface OAuthErrorPageRendererArgs {
installPath: string;
reason: OAuthErrorCode;
}
/**
* Error page content renderer.
*/
export type OAuthErrorPageRenderer = (args: OAuthErrorPageRendererArgs) => Promise<string>;
/**
* Generates an HTML data indicating an error for the /slack/oauth_redirect page.
* @param installPath the path to start the OAuth flow again
* @param reason the error reason code
* @returns HTML data
*/
export declare function renderDefaultOAuthErrorPage({ installPath, reason }: OAuthErrorPageRendererArgs): Promise<string>;
export declare function renderSimpleCSSOAuthErrorPage({ installPath, reason }: OAuthErrorPageRendererArgs): Promise<string>;
export interface OAuthCompletionPageRendererArgs {
appId: string;
teamId: string;
isEnterpriseInstall: boolean | undefined;
enterpriseUrl: string | undefined;
installation: Installation;
authTestResponse: AuthTestResponse;
}
/**
* Error page content renderer.
*/
export type OAuthCompletionPageRenderer = (args: OAuthCompletionPageRendererArgs) => Promise<string>;
/**
* Generates an HTML data indicating app installation successfully completed for the /slack/oauth_redirect page.
* @param appId the app's ID
* @param teamId workspace ID to head to
* @param isEnterpriseInstall org-wide installation or not
* @param enterpriseUrl the management console URL for Enterprise Grid admins
* @param installation installation data
* @param authTestResponse auth.test API response
* @returns HTML data
*/
export declare function renderDefaultOAuthCompletionPage({ appId, teamId, isEnterpriseInstall, enterpriseUrl, }: OAuthCompletionPageRendererArgs): Promise<string>;
export declare function renderSimpleCSSOAuthCompletionPage({ appId, teamId, isEnterpriseInstall, enterpriseUrl, }: OAuthCompletionPageRendererArgs): Promise<string>;
//# sourceMappingURL=oauth-page-renderer.d.ts.map