1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-02-14 00:19:16 +01:00
unleash.unleash/src/lib/features/feature-search/feature-search-service.ts

36 lines
1020 B
TypeScript
Raw Normal View History

import { Logger } from '../../logger';
import {
IFeatureStrategiesStore,
IUnleashConfig,
IUnleashStores,
2023-10-31 14:10:31 +01:00
serializeDates,
} from '../../types';
2023-10-26 15:29:30 +02:00
import { IFeatureSearchParams } from '../feature-toggle/types/feature-toggle-strategies-store-type';
export class FeatureSearchService {
private featureStrategiesStore: IFeatureStrategiesStore;
private logger: Logger;
constructor(
{
featureStrategiesStore,
}: Pick<IUnleashStores, 'featureStrategiesStore'>,
{ getLogger }: Pick<IUnleashConfig, 'getLogger'>,
) {
this.featureStrategiesStore = featureStrategiesStore;
this.logger = getLogger('services/feature-search-service.ts');
}
2023-10-26 15:29:30 +02:00
async search(params: IFeatureSearchParams) {
const { features, total } =
await this.featureStrategiesStore.searchFeatures({
...params,
limit: params.limit,
});
2023-10-31 14:10:31 +01:00
return {
features,
total,
2023-10-31 14:10:31 +01:00
};
}
}