add : remove subscription

This commit is contained in:
2026-02-07 12:36:02 +03:30
parent 4c8ad2c359
commit ef9860cf12
4 changed files with 26 additions and 4 deletions
@@ -288,7 +288,7 @@ export class SubscriptionsService {
slug = slugify(subscribeDto.businessName, { lower: true, strict: true });
}
const existingSlug = await queryRunner.manager.findOne(UserSubscription, { where: { slug } });
const existingSlug = await queryRunner.manager.findOne(UserSubscription, { where: { slug, deletedAt: undefined } });
if (existingSlug) throw new BadRequestException(SubscriptionMessage.SLUG_EXISTS);
let staff: User[] = [];
@@ -309,7 +309,7 @@ export class SubscriptionsService {
await queryRunner.manager.save(UserSubscription, userSubscription);
const invoiceDueDate = dayjs(userSubscription.startDate).add(INVOICE.DUEDATE, "day").toDate();
const invoice = await this.invoicesService.createInvoiceForSubscription(user, plan, userSubscription, invoiceDueDate, queryRunner,InvoicePurpose.NEW);
const invoice = await this.invoicesService.createInvoiceForSubscription(user, plan, userSubscription, invoiceDueDate, queryRunner, InvoicePurpose.NEW);
userSubscription.status = SubscriptionStatus.INACTIVE;
await queryRunner.manager.save(UserSubscription, userSubscription);
@@ -367,7 +367,7 @@ export class SubscriptionsService {
const invoiceDueDate = dayjs().add(INVOICE.DUEDATE, "day").toDate();
const invoice = await this.invoicesService.createInvoiceForSubscription(user, plan, userSubscription, invoiceDueDate, queryRunner,InvoicePurpose.RENEW);
const invoice = await this.invoicesService.createInvoiceForSubscription(user, plan, userSubscription, invoiceDueDate, queryRunner, InvoicePurpose.RENEW);
// userSubscription.plan = plan;
@@ -689,4 +689,15 @@ export class SubscriptionsService {
}
//************************************ */
async softDeleteUSerSubscription(userSubscriptionId: string) {
const usersubscription = await this.userSubscriptionsRepository.findOne({ where: { id: userSubscriptionId } })
if (!usersubscription) {
throw new BadRequestException(SubscriptionMessage.NOT_FOUND)
}
await this.userSubscriptionsRepository.softDelete(userSubscriptionId)
return {
message: SubscriptionMessage.SUBSCRIPTION_DELETED
}
}
}