import { IAccessService, IRuntimeDepsService } from "@certd/pipeline"; export type AccessRuntimeDepsService = IRuntimeDepsService; export class AccessGetter implements IAccessService { userId: number; projectId?: number; runtimeDepsService?: AccessRuntimeDepsService; getter: (id: any, userId?: number, projectId?: number, ignorePermission?: boolean, runtimeDepsService?: AccessRuntimeDepsService) => Promise; constructor( userId: number, projectId: number, getter: (id: any, userId: number, projectId?: number, ignorePermission?: boolean, runtimeDepsService?: AccessRuntimeDepsService) => Promise, runtimeDepsService?: AccessRuntimeDepsService ) { this.userId = userId; this.projectId = projectId; this.getter = getter; this.runtimeDepsService = runtimeDepsService; } async getById(id: any) { return await this.getter(id, this.userId, this.projectId, false, this.runtimeDepsService); } async getCommonById(id: any) { return await this.getter(id, 0, null, false, this.runtimeDepsService); } }