UNPKG

unleash-server

Version:

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

36 lines 1.36 kB
import { UserPreferenceUpdatedEvent, } from '../../types/index.js'; export class UserSubscriptionsService { constructor({ userUnsubscribeStore, userSubscriptionsReadModel, }, { getLogger: _getLogger }, eventService) { this.userUnsubscribeStore = userUnsubscribeStore; this.userSubscriptionsReadModel = userSubscriptionsReadModel; this.eventService = eventService; } async getUserSubscriptions(userId) { return this.userSubscriptionsReadModel.getUserSubscriptions(userId); } async subscribe(userId, subscription, auditUser) { const entry = { userId, subscription, }; await this.userUnsubscribeStore.delete(entry); await this.eventService.storeEvent(new UserPreferenceUpdatedEvent({ userId, data: { subscription, action: 'subscribed' }, auditUser, })); } async unsubscribe(userId, subscription, auditUser) { const entry = { userId, subscription, }; await this.userUnsubscribeStore.insert(entry); await this.eventService.storeEvent(new UserPreferenceUpdatedEvent({ userId, data: { subscription, action: 'unsubscribed' }, auditUser, })); } } //# sourceMappingURL=user-subscriptions-service.js.map