This commit is contained in:
2026-07-03 13:19:17 +03:30
parent fb4ddb4dac
commit e55d57047d
5 changed files with 101 additions and 4 deletions
@@ -154,25 +154,34 @@ export class SalonSubscriptionsService {
}
async hasActiveSubscriptionForOwner(ownerId: string): Promise<boolean> {
const subscription = await this.findActiveSubscriptionForOwner(ownerId);
return subscription !== null;
}
async findActiveSubscriptionForOwner(
ownerId: string,
): Promise<SalonSubscription | null> {
const subscriptions = await this.subscriptionsRepository
.createQueryBuilder('subscription')
.innerJoin('subscription.salon', 'salon')
.innerJoinAndSelect('subscription.salon', 'salon')
.innerJoinAndSelect('subscription.plan', 'plan')
.where('salon.ownerId = :ownerId', { ownerId })
.andWhere('subscription.status = :status', {
status: SalonSubscriptionStatus.ACTIVE,
})
.orderBy('subscription.createdAt', 'DESC')
.getMany();
const now = new Date();
for (const subscription of subscriptions) {
if (subscription.endDate > now) {
return true;
return subscription;
}
subscription.status = SalonSubscriptionStatus.EXPIRED;
await this.subscriptionsRepository.save(subscription);
}
return false;
return null;
}
async consumeSms(salonId: string, count = 1): Promise<void> {