UNPKG

unleash-server

Version:

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

64 lines 3.44 kB
import type { IEnvironment, IProject, IProjectApplications, IProjectLinkTemplate, IProjectUpdate, IUnleashConfig, ProjectMode } from '../../types/index.js'; import type { IProjectHealthUpdate, IProjectInsert, IProjectQuery, IProjectSettings, IProjectEnterpriseSettingsUpdate, IProjectStore, ProjectEnvironment, IProjectApplicationsSearchParams } from '../../features/project/project-store-type.js'; import type EventEmitter from 'events'; import type { Db } from '../../db/db.js'; import type { CreateFeatureStrategySchema } from '../../openapi/index.js'; export interface IEnvironmentProjectLink { environmentName: string; projectId: string; } export interface ProjectModeCount { mode: ProjectMode; count: number; } export interface IProjectMembersCount { count: number; project: string; } declare class ProjectStore implements IProjectStore { private db; private logger; private flagResolver; private timer; private isOss; constructor(db: Db, eventBus: EventEmitter, { getLogger, flagResolver, isOss, }: Pick<IUnleashConfig, 'getLogger' | 'flagResolver' | 'isOss'>); fieldToRow(data: any): Omit<IProjectInsert, 'mode'>; destroy(): void; isFeatureLimitReached(id: string): Promise<boolean>; getProjectLinkTemplates(id: string): Promise<IProjectLinkTemplate[]>; getAll(query?: IProjectQuery): Promise<IProject[]>; get(id: string): Promise<IProject>; exists(id: string): Promise<boolean>; hasProject(id: string): Promise<boolean>; hasActiveProject(id: string): Promise<boolean>; updateHealth(healthUpdate: IProjectHealthUpdate): Promise<void>; create(project: IProjectInsert & IProjectSettings): Promise<IProject>; private hasProjectSettings; update(data: IProjectUpdate): Promise<void>; updateProjectEnterpriseSettings(data: IProjectEnterpriseSettingsUpdate): Promise<void>; importProjects(projects: IProjectInsert[], environments?: IEnvironment[]): Promise<IProject[]>; addDefaultEnvironment(projects: any[]): Promise<void>; deleteAll(): Promise<void>; delete(id: string): Promise<void>; archive(id: string): Promise<void>; revive(id: string): Promise<void>; getProjectLinksForEnvironments(environments: string[]): Promise<IEnvironmentProjectLink[]>; deleteEnvironmentForProject(id: string, environment: string): Promise<void>; addEnvironmentToProject(id: string, environment: string): Promise<void>; addEnvironmentToProjects(environment: string, projects: string[]): Promise<void>; getEnvironmentsForProject(id: string): Promise<ProjectEnvironment[]>; getMembersCountByProject(projectId: string): Promise<number>; getMembersCountByProjectAfterDate(projectId: string, date: string): Promise<number>; getApplicationsByProject(params: IProjectApplicationsSearchParams): Promise<IProjectApplications>; getDefaultStrategy(projectId: string, environment: string): Promise<CreateFeatureStrategySchema | undefined>; updateDefaultStrategy(projectId: string, environment: string, strategy: CreateFeatureStrategySchema): Promise<CreateFeatureStrategySchema>; count(): Promise<number>; getProjectModeCounts(): Promise<ProjectModeCount[]>; private mapProjectModeCount; private mapLinkRow; private mapRow; private mapProjectEnvironmentRow; private getAggregatedApplicationsData; } export default ProjectStore; //# sourceMappingURL=project-store.d.ts.map