fix(subscription): event TS types

This commit is contained in:
Ahmed Bouhuolia
2024-08-24 21:51:15 +02:00
parent 8e94c7a755
commit 60f03f534b
3 changed files with 15 additions and 6 deletions

View File

@@ -4,8 +4,8 @@ import { configureLemonSqueezy } from './utils';
import { PlanSubscription } from '@/system/models'; import { PlanSubscription } from '@/system/models';
import { ServiceError } from '@/exceptions'; import { ServiceError } from '@/exceptions';
import { EventPublisher } from '@/lib/EventPublisher/EventPublisher'; import { EventPublisher } from '@/lib/EventPublisher/EventPublisher';
import { ERRORS, IOrganizationSubscriptionCancel } from './types';
import events from '@/subscribers/events'; import events from '@/subscribers/events';
import { ERRORS, IOrganizationSubscriptionCancelled } from './types';
@Service() @Service()
export class LemonCancelSubscription { export class LemonCancelSubscription {
@@ -41,7 +41,7 @@ export class LemonCancelSubscription {
// Triggers `onSubscriptionCancelled` event. // Triggers `onSubscriptionCancelled` event.
await this.eventPublisher.emitAsync( await this.eventPublisher.emitAsync(
events.subscription.onSubscriptionCancel, events.subscription.onSubscriptionCancel,
{ tenantId, subscriptionId } as IOrganizationSubscriptionCancelled { tenantId, subscriptionId } as IOrganizationSubscriptionCancel
); );
} }
} }

View File

@@ -1,11 +1,11 @@
import { Inject, Service } from 'typedi'; import { Inject, Service } from 'typedi';
import { updateSubscription } from '@lemonsqueezy/lemonsqueezy.js';
import { EventPublisher } from '@/lib/EventPublisher/EventPublisher'; import { EventPublisher } from '@/lib/EventPublisher/EventPublisher';
import events from '@/subscribers/events'; import events from '@/subscribers/events';
import { configureLemonSqueezy } from './utils'; import { configureLemonSqueezy } from './utils';
import { PlanSubscription } from '@/system/models'; import { PlanSubscription } from '@/system/models';
import { ServiceError } from '@/exceptions'; import { ServiceError } from '@/exceptions';
import { ERRORS, IOrganizationSubscriptionResumed } from './types'; import { ERRORS, IOrganizationSubscriptionResume } from './types';
import { updateSubscription } from '@lemonsqueezy/lemonsqueezy.js';
@Service() @Service()
export class LemonResumeSubscription { export class LemonResumeSubscription {
@@ -39,7 +39,7 @@ export class LemonResumeSubscription {
// Triggers `onSubscriptionResume` event. // Triggers `onSubscriptionResume` event.
await this.eventPublisher.emitAsync( await this.eventPublisher.emitAsync(
events.subscription.onSubscriptionResume, events.subscription.onSubscriptionResume,
{ tenantId, subscriptionId } as IOrganizationSubscriptionResumed { tenantId, subscriptionId } as IOrganizationSubscriptionResume
); );
} }
} }

View File

@@ -4,7 +4,7 @@ export const ERRORS = {
SUBSCRIPTION_NOT_EXIST: 'SUBSCRIPTION_NOT_EXIST', SUBSCRIPTION_NOT_EXIST: 'SUBSCRIPTION_NOT_EXIST',
SUBSCRIPTION_ALREADY_CANCELED: 'SUBSCRIPTION_ALREADY_CANCELED', SUBSCRIPTION_ALREADY_CANCELED: 'SUBSCRIPTION_ALREADY_CANCELED',
SUBSCRIPTION_ALREADY_ACTIVE: 'SUBSCRIPTION_ALREADY_ACTIVE', SUBSCRIPTION_ALREADY_ACTIVE: 'SUBSCRIPTION_ALREADY_ACTIVE',
SOMETHING_WENT_WRONG_WITH_LS: 'SOMETHING_WENT_WRONG_WITH_LS' SOMETHING_WENT_WRONG_WITH_LS: 'SOMETHING_WENT_WRONG_WITH_LS',
}; };
export interface IOrganizationSubscriptionChanged { export interface IOrganizationSubscriptionChanged {
@@ -13,11 +13,20 @@ export interface IOrganizationSubscriptionChanged {
newVariantId: number; newVariantId: number;
} }
export interface IOrganizationSubscriptionCancel {
tenantId: number;
subscriptionId: string;
}
export interface IOrganizationSubscriptionCancelled { export interface IOrganizationSubscriptionCancelled {
tenantId: number; tenantId: number;
subscriptionId: string; subscriptionId: string;
} }
export interface IOrganizationSubscriptionResume {
tenantId: number;
subscriptionId: number;
}
export interface IOrganizationSubscriptionResumed { export interface IOrganizationSubscriptionResumed {
tenantId: number; tenantId: number;
subscriptionId: number; subscriptionId: number;