unleash-server
Version:
Unleash is an enterprise ready feature flag service. It provides different strategies for handling feature flags.
43 lines • 2.71 kB
TypeScript
import type { IEnvironment, IProject, IProjectApplications, IProjectLinkTemplate, IProjectStore } from '../../lib/types/index.js';
import type { IEnvironmentProjectLink, ProjectModeCount } from '../../lib/features/project/project-store.js';
import type { CreateFeatureStrategySchema } from '../../lib/openapi/index.js';
import type { IProjectApplicationsSearchParams, IProjectHealthUpdate, IProjectInsert, ProjectEnvironment } from '../../lib/features/project/project-store-type.js';
type ArchivableProject = Omit<IProject, 'archivedAt'> & {
archivedAt: null | Date;
};
export default class FakeProjectStore implements IProjectStore {
projects: ArchivableProject[];
projectEnvironment: Map<string, Set<string>>;
getEnvironmentsForProject(): Promise<ProjectEnvironment[]>;
getProjectLinksForEnvironments(_environments: string[]): Promise<IEnvironmentProjectLink[]>;
addEnvironmentToProject(id: string, environment: string): Promise<void>;
private createInternal;
create(project: IProjectInsert): Promise<IProject>;
delete(key: string): Promise<void>;
deleteAll(): Promise<void>;
deleteEnvironmentForProject(id: string, environment: string): Promise<void>;
destroy(): void;
count(): Promise<number>;
get(key: string): Promise<IProject>;
getAll(): Promise<IProject[]>;
getMembersCountByProject(_projectId: string): Promise<number>;
exists(key: string): Promise<boolean>;
hasProject(id: string): Promise<boolean>;
hasActiveProject(id: string): Promise<boolean>;
importProjects(projects: IProjectInsert[], _environments?: IEnvironment[]): Promise<IProject[]>;
update(update: IProjectInsert): Promise<void>;
updateHealth(healthUpdate: IProjectHealthUpdate): Promise<void>;
addEnvironmentToProjects(_environment: string, _projects: string[]): Promise<void>;
getMembersCountByProjectAfterDate(_projectId: string, _date: string): Promise<number>;
updateDefaultStrategy(_projectId: string, _environment: string, _strategy: CreateFeatureStrategySchema): Promise<CreateFeatureStrategySchema>;
getDefaultStrategy(_projectId: string, _environment: string): Promise<CreateFeatureStrategySchema | undefined>;
isFeatureLimitReached(_id: string): Promise<boolean>;
getProjectLinkTemplates(_id: string): Promise<IProjectLinkTemplate[]>;
getProjectModeCounts(): Promise<ProjectModeCount[]>;
updateProjectEnterpriseSettings(_update: IProjectInsert): Promise<void>;
getApplicationsByProject(_searchParams: IProjectApplicationsSearchParams): Promise<IProjectApplications>;
archive(id: string): Promise<void>;
revive(id: string): Promise<void>;
}
export {};
//# sourceMappingURL=fake-project-store.d.ts.map