feat: allow dynamically enabling and disabling extensions

Signed-off-by: aramissennyeydd <aramis.sennyey@doordash.com>
This commit is contained in:
aramissennyeydd
2026-03-08 18:08:09 -04:00
committed by Patrik Oldsberg
parent 00381fa7b2
commit 25b7ddd664
23 changed files with 458 additions and 21 deletions
@@ -52,11 +52,18 @@ export class IdentityPermissionApi implements PermissionApi {
async authorize(
request: AuthorizePermissionRequest,
): Promise<AuthorizePermissionResponse> {
const response = await this.permissionClient.authorize(
[request],
): Promise<AuthorizePermissionResponse>;
async authorize(
requests: AuthorizePermissionRequest[],
): Promise<AuthorizePermissionResponse[]>;
async authorize(
request: AuthorizePermissionRequest | AuthorizePermissionRequest[],
): Promise<AuthorizePermissionResponse | AuthorizePermissionResponse[]> {
const requests = Array.isArray(request) ? request : [request];
const responses = await this.permissionClient.authorize(
requests,
await this.identityApi.getCredentials(),
);
return response[0];
return Array.isArray(request) ? responses : responses[0];
}
}
@@ -30,6 +30,9 @@ export type PermissionApi = {
authorize(
request: EvaluatePermissionRequest,
): Promise<EvaluatePermissionResponse>;
authorize(
requests: EvaluatePermissionRequest[],
): Promise<EvaluatePermissionResponse[]>;
};
/**