UNPKG

unleash-server

Version:

Unleash is an enterprise ready feature flag service. It provides different strategies for handling feature flags.

27 lines 1.17 kB
import { ALL_PROJECT_ACCESS, } from './privateProjectStore.js'; export class PrivateProjectChecker { constructor({ privateProjectStore }, { isEnterprise }) { this.privateProjectStore = privateProjectStore; this.isEnterprise = isEnterprise; } async getUserAccessibleProjects(userId) { return this.isEnterprise ? this.privateProjectStore.getUserAccessibleProjects(userId) : Promise.resolve(ALL_PROJECT_ACCESS); } async filterUserAccessibleProjects(userId, projects) { if (!this.isEnterprise) { return projects; } const accessibleProjects = await this.privateProjectStore.getUserAccessibleProjects(userId); if (accessibleProjects.mode === 'all') return projects; return projects.filter((project) => accessibleProjects.projects.includes(project)); } async hasAccessToProject(userId, projectId) { const projectAccess = await this.getUserAccessibleProjects(userId); return (projectAccess.mode === 'all' || projectAccess.projects.includes(projectId)); } } //# sourceMappingURL=privateProjectChecker.js.map