@httpc/kit
Version:
httpc toolbox for building function-based API with minimal code and end-to-end type safety
11 lines (10 loc) • 416 B
TypeScript
import { Authorization } from "../permissions";
export interface IAuthenticationService<T = any> {
authenticate(arg: T): Promise<IUser>;
}
export interface IAuthorizationService<T = Authorization> {
authorize(user: IUser): Promise<T>;
createAuthorization(authorization: string | T): T;
assert(authorization: T, assertion: any): void;
check(authorization: T, assertion: any): boolean;
}