UNPKG

@httpc/kit

Version:

httpc toolbox for building function-based API with minimal code and end-to-end type safety

22 lines (21 loc) 1.35 kB
import type { ILogger } from "../logging"; import { Assertion, Authorization, PermissionsChecker, PermissionsModel } from "../permissions"; import { IAuthorizationService } from "./types"; export type PermissionsAuthorizationServiceOptions = { model: PermissionsModel; authorize(user: IUser): string | Authorization | Promise<string | Authorization>; }; declare const PermissionsAuthorizationService_base: { new (logger: ILogger, ...args: any[]): import("../services")._BaseService<"not_found" | "invalid_param" | "unauthorized" | "forbidden" | "not_allowed" | "invalid_state" | "misconfiguration" | "not_supported" | "processing_error">; }; export declare class PermissionsAuthorizationService extends PermissionsAuthorizationService_base implements IAuthorizationService<Authorization> { protected options: PermissionsAuthorizationServiceOptions; protected permissions: PermissionsChecker; constructor(logger: ILogger, options: PermissionsAuthorizationServiceOptions); authorize(user: IUser): Promise<Authorization>; createAuthorization(authorization: string | Authorization): Authorization; check(authorization: Authorization, assertion: any): boolean; assert(authorization: Authorization, assertion: any): void; protected _getAssertion(assertion: any): Assertion; } export {};