unleash-server
Version:
Unleash is an enterprise ready feature flag service. It provides different strategies for handling feature flags.
37 lines • 2.19 kB
TypeScript
import type { IUnleashConfig } from '../../types/option.js';
import type { IUnleashStores } from '../../types/stores.js';
import type { IEventSearchParams } from '../../types/stores/event-store.js';
import type { IApiUser, IUser } from '../../types/index.js';
import type EventEmitter from 'node:events';
import type { IQueryParam } from '../feature-toggle/types/feature-toggle-strategies-store-type.js';
import type { IPrivateProjectChecker } from '../private-project/privateProjectCheckerType.js';
import type { ProjectAccess } from '../private-project/privateProjectStore.js';
import type { IAccessReadModel } from '../access/access-read-model-type.js';
import type { IEventList, IBaseEvent } from '../../events/index.js';
export default class EventService {
private logger;
private eventStore;
private featureTagStore;
private accessReadModel;
private privateProjectChecker;
private eventBus;
private isEnterprise;
constructor({ eventStore, featureTagStore, }: Pick<IUnleashStores, 'eventStore' | 'featureTagStore'>, { getLogger, eventBus, isEnterprise, }: Pick<IUnleashConfig, 'getLogger' | 'eventBus' | 'isEnterprise'>, privateProjectChecker: IPrivateProjectChecker, accessReadModel: IAccessReadModel);
getEvents(): Promise<IEventList>;
searchEvents(search: IEventSearchParams, userId: number): Promise<IEventList>;
onEvent(eventName: string | symbol, listener: (...args: any[]) => void): EventEmitter;
off(eventName: string | symbol, listener: (...args: any[]) => void): EventEmitter;
private enhanceEventsWithTags;
isAdminToken(user: IUser | IApiUser): boolean;
storeEvent(event: IBaseEvent): Promise<void>;
storeEvents(events: IBaseEvent[]): Promise<void>;
setEventCreatedByUserId(): Promise<void>;
convertToDbParams: (params: IEventSearchParams) => IQueryParam[];
getEventCreators(): Promise<{
id: number;
name: string;
}[]>;
getProjectFilterForNonAdmins(userId: number): Promise<IQueryParam[]>;
}
export declare const filterAccessibleProjects: (projectParam: string | undefined, projectAccess: ProjectAccess) => string | undefined;
//# sourceMappingURL=event-service.d.ts.map