@sourceloop/ctrl-plane-subscription-service
Version:
Subscription management microservice for SaaS control plane.
20 lines (19 loc) • 867 B
TypeScript
import { Subscription } from '../models';
import { BillingCycleRepository, PlanRepository, SubscriptionRepository } from '../repositories';
export declare class SubscriptionService {
private readonly subscriptionRepository;
private readonly planRepository;
private readonly billingCycleRepository;
constructor(subscriptionRepository: SubscriptionRepository, planRepository: PlanRepository, billingCycleRepository: BillingCycleRepository);
createSubscription(subscription: Omit<Subscription, 'id' | 'startDate' | 'endDate'>): Promise<Subscription>;
private _unitMap;
getExpireSoonSubscriptions(): Promise<{
id: string;
daysRemainingToExpiry: number;
subscriberId: string;
}[]>;
handleExpiredSubscriptions(dayCount: number): Promise<{
subscriptionId: string;
subscriberId: string;
}[]>;
}