UNPKG

@churchapps/apihelper

Version:

Library of helper functions not specific to any one ChurchApps project or framework.

38 lines (30 loc) 885 B
import { interfaces } from "inversify-express-utils"; export interface PrincipalDetails { jwt?: string; id?: string; churchId?: string; permissions?: string[]; apiName?: string; email?: string; personId?: string; firstName?: string; lastName?: string; membershipStatus?: string; groupIds?: string[]; [key: string]: unknown; } export class Principal implements interfaces.Principal { public details: PrincipalDetails; public constructor(details: PrincipalDetails) { this.details = details; } public isAuthenticated(): Promise<boolean> { return Promise.resolve(true); } public isResourceOwner(resourceId: string | number): Promise<boolean> { return Promise.resolve(resourceId === 1111); } public isInRole(role: string): Promise<boolean> { return Promise.resolve(role === "admin"); } }