mirror of
https://github.com/github/codeql-action.git
synced 2025-12-27 01:30:10 +08:00
38 lines
1.2 KiB
JavaScript
38 lines
1.2 KiB
JavaScript
const PATHS = [
|
|
"/app",
|
|
"/app/hook/config",
|
|
"/app/hook/deliveries",
|
|
"/app/hook/deliveries/{delivery_id}",
|
|
"/app/hook/deliveries/{delivery_id}/attempts",
|
|
"/app/installations",
|
|
"/app/installations/{installation_id}",
|
|
"/app/installations/{installation_id}/access_tokens",
|
|
"/app/installations/{installation_id}/suspended",
|
|
"/app/installation-requests",
|
|
"/marketplace_listing/accounts/{account_id}",
|
|
"/marketplace_listing/plan",
|
|
"/marketplace_listing/plans",
|
|
"/marketplace_listing/plans/{plan_id}/accounts",
|
|
"/marketplace_listing/stubbed/accounts/{account_id}",
|
|
"/marketplace_listing/stubbed/plan",
|
|
"/marketplace_listing/stubbed/plans",
|
|
"/marketplace_listing/stubbed/plans/{plan_id}/accounts",
|
|
"/orgs/{org}/installation",
|
|
"/repos/{owner}/{repo}/installation",
|
|
"/users/{username}/installation"
|
|
];
|
|
function routeMatcher(paths) {
|
|
const regexes = paths.map(
|
|
(p) => p.split("/").map((c) => c.startsWith("{") ? "(?:.+?)" : c).join("/")
|
|
);
|
|
const regex = `^(?:${regexes.map((r) => `(?:${r})`).join("|")})$`;
|
|
return new RegExp(regex, "i");
|
|
}
|
|
const REGEX = routeMatcher(PATHS);
|
|
function requiresAppAuth(url) {
|
|
return !!url && REGEX.test(url.split("?")[0]);
|
|
}
|
|
export {
|
|
requiresAppAuth
|
|
};
|