mirror of
https://github.com/Unleash/unleash.git
synced 2025-02-04 00:18:01 +01:00
feat: export transactional user subscriptions service (#8651)
This commit is contained in:
parent
1cedc374c1
commit
b5a2befec7
@ -12,3 +12,4 @@ export * from './instance-stats/createInstanceStatsService';
|
||||
export * from './feature-lifecycle/createFeatureLifecycle';
|
||||
export * from './playground/createPlaygroundService';
|
||||
export * from './personal-dashboard/createPersonalDashboardService';
|
||||
export * from './user-subscriptions/createUserSubscriptionsService';
|
||||
|
@ -1,5 +1,5 @@
|
||||
import type { Db, IUnleashConfig } from '../../server-impl';
|
||||
import UserSubscriptionService from './user-subscriptions-service';
|
||||
import { UserSubscriptionsService } from './user-subscriptions-service';
|
||||
import { UserUnsubscribeStore } from './user-unsubscribe-store';
|
||||
import {
|
||||
createEventsService,
|
||||
@ -9,11 +9,11 @@ import { FakeUserUnsubscribeStore } from './fake-user-unsubscribe-store';
|
||||
|
||||
export const createUserSubscriptionsService =
|
||||
(config: IUnleashConfig) =>
|
||||
(db: Db): UserSubscriptionService => {
|
||||
(db: Db): UserSubscriptionsService => {
|
||||
const userUnsubscribeStore = new UserUnsubscribeStore(db);
|
||||
const eventService = createEventsService(db, config);
|
||||
|
||||
const userSubscriptionsService = new UserSubscriptionService(
|
||||
const userSubscriptionsService = new UserSubscriptionsService(
|
||||
{ userUnsubscribeStore },
|
||||
config,
|
||||
eventService,
|
||||
@ -22,11 +22,13 @@ export const createUserSubscriptionsService =
|
||||
return userSubscriptionsService;
|
||||
};
|
||||
|
||||
export const createFakeUserSubscriptionsService = (config: IUnleashConfig) => {
|
||||
export const createFakeUserSubscriptionsService = (
|
||||
config: IUnleashConfig,
|
||||
): UserSubscriptionsService => {
|
||||
const userUnsubscribeStore = new FakeUserUnsubscribeStore();
|
||||
const eventService = createFakeEventsService(config);
|
||||
|
||||
const userSubscriptionsService = new UserSubscriptionService(
|
||||
const userSubscriptionsService = new UserSubscriptionsService(
|
||||
{ userUnsubscribeStore },
|
||||
config,
|
||||
eventService,
|
||||
|
@ -4,7 +4,7 @@ import {
|
||||
type IUser,
|
||||
TEST_AUDIT_USER,
|
||||
} from '../../types';
|
||||
import type UserSubscriptionService from './user-subscriptions-service';
|
||||
import type { UserSubscriptionsService } from './user-subscriptions-service';
|
||||
import dbInit, { type ITestDb } from '../../../test/e2e/helpers/database-init';
|
||||
import { createTestConfig } from '../../../test/config/test-config';
|
||||
import getLogger from '../../../test/fixtures/no-logger';
|
||||
@ -13,7 +13,7 @@ import type { IUserSubscriptionsReadModel } from './user-subscriptions-read-mode
|
||||
|
||||
let stores: IUnleashStores;
|
||||
let db: ITestDb;
|
||||
let userSubscriptionService: UserSubscriptionService;
|
||||
let userSubscriptionService: UserSubscriptionsService;
|
||||
let userSubscriptionsReadModel: IUserSubscriptionsReadModel;
|
||||
let config: IUnleashConfig;
|
||||
let user: IUser;
|
||||
|
@ -7,7 +7,7 @@ import type {
|
||||
} from './user-unsubscribe-store-type';
|
||||
import type EventService from '../events/event-service';
|
||||
|
||||
export default class UserSubscriptionService {
|
||||
export class UserSubscriptionsService {
|
||||
private userUnsubscribeStore: IUserUnsubscribeStore;
|
||||
|
||||
private eventService: EventService;
|
||||
|
@ -70,9 +70,11 @@ import {
|
||||
createFakeEnvironmentService,
|
||||
createFakeEventsService,
|
||||
createFakeProjectService,
|
||||
createFakeUserSubscriptionsService,
|
||||
createFeatureLifecycleService,
|
||||
createFeatureToggleService,
|
||||
createProjectService,
|
||||
createUserSubscriptionsService,
|
||||
} from '../features';
|
||||
import EventAnnouncerService from './event-announcer-service';
|
||||
import { createGroupService } from '../features/group/createGroupService';
|
||||
@ -127,6 +129,7 @@ import {
|
||||
createProjectInsightsService,
|
||||
} from '../features/project-insights/createProjectInsightsService';
|
||||
import { JobService } from '../features/scheduler/job-service';
|
||||
import { UserSubscriptionsService } from '../features/user-subscriptions/user-subscriptions-service';
|
||||
import { JobStore } from '../features/scheduler/job-store';
|
||||
import { FeatureLifecycleService } from '../features/feature-lifecycle/feature-lifecycle-service';
|
||||
import { createFakeFeatureLifecycleService } from '../features/feature-lifecycle/createFeatureLifecycle';
|
||||
@ -426,6 +429,10 @@ export const createServices = (
|
||||
? createPersonalDashboardService(db, config, stores)
|
||||
: createFakePersonalDashboardService(config);
|
||||
|
||||
const transactionalUserSubscriptionsService = db
|
||||
? withTransactional(createUserSubscriptionsService(config), db)
|
||||
: withFakeTransactional(createFakeUserSubscriptionsService(config));
|
||||
|
||||
return {
|
||||
transactionalAccessService,
|
||||
accessService,
|
||||
@ -492,6 +499,7 @@ export const createServices = (
|
||||
onboardingService,
|
||||
personalDashboardService,
|
||||
projectStatusService,
|
||||
transactionalUserSubscriptionsService,
|
||||
};
|
||||
};
|
||||
|
||||
@ -544,4 +552,5 @@ export {
|
||||
OnboardingService,
|
||||
PersonalDashboardService,
|
||||
ProjectStatusService,
|
||||
UserSubscriptionsService,
|
||||
};
|
||||
|
@ -58,6 +58,7 @@ import type { IntegrationEventsService } from '../features/integration-events/in
|
||||
import type { OnboardingService } from '../features/onboarding/onboarding-service';
|
||||
import type { PersonalDashboardService } from '../features/personal-dashboard/personal-dashboard-service';
|
||||
import type { ProjectStatusService } from '../features/project-status/project-status-service';
|
||||
import type { UserSubscriptionsService } from '../features/user-subscriptions/user-subscriptions-service';
|
||||
|
||||
export interface IUnleashServices {
|
||||
transactionalAccessService: WithTransactional<AccessService>;
|
||||
@ -128,4 +129,5 @@ export interface IUnleashServices {
|
||||
onboardingService: OnboardingService;
|
||||
personalDashboardService: PersonalDashboardService;
|
||||
projectStatusService: ProjectStatusService;
|
||||
transactionalUserSubscriptionsService: WithTransactional<UserSubscriptionsService>;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user