mirror of
https://github.com/outline/outline.git
synced 2026-01-04 10:09:52 -06:00
* wip * Refactor, tasks, processors, routes loading * Move Slack settings config to plugin * Fix translations in plugins * Move Slack auth to plugin * test * Move other slack-related files into plugin * Forgot to save * refactor
54 lines
1.3 KiB
TypeScript
54 lines
1.3 KiB
TypeScript
import env from "../env";
|
|
|
|
export function slackAuth(
|
|
state: string,
|
|
scopes: string[] = [
|
|
"identity.email",
|
|
"identity.basic",
|
|
"identity.avatar",
|
|
"identity.team",
|
|
],
|
|
clientId: string,
|
|
redirectUri = `${env.URL}/auth/slack.callback`
|
|
): string {
|
|
const baseUrl = "https://slack.com/oauth/authorize";
|
|
const params = {
|
|
client_id: clientId,
|
|
scope: scopes ? scopes.join(" ") : "",
|
|
redirect_uri: redirectUri,
|
|
state,
|
|
};
|
|
const urlParams = Object.keys(params)
|
|
.map((key) => `${key}=${encodeURIComponent(params[key])}`)
|
|
.join("&");
|
|
return `${baseUrl}?${urlParams}`;
|
|
}
|
|
|
|
export function githubUrl(): string {
|
|
return "https://www.github.com/outline";
|
|
}
|
|
|
|
export function githubIssuesUrl(): string {
|
|
return "https://www.github.com/outline/outline/issues";
|
|
}
|
|
|
|
export function twitterUrl(): string {
|
|
return "https://twitter.com/getoutline";
|
|
}
|
|
|
|
export function feedbackUrl(): string {
|
|
return "https://www.getoutline.com/contact";
|
|
}
|
|
|
|
export function developersUrl(): string {
|
|
return "https://www.getoutline.com/developers";
|
|
}
|
|
|
|
export function changelogUrl(): string {
|
|
return "https://www.getoutline.com/changelog";
|
|
}
|
|
|
|
export const SLUG_URL_REGEX = /^(?:[0-9a-zA-Z-_~]*-)?([a-zA-Z0-9]{10,15})$/;
|
|
|
|
export const SHARE_URL_SLUG_REGEX = /^[0-9a-z-]+$/;
|