chore: complete the discount service and test the logic to create
This commit is contained in:
@@ -6,7 +6,7 @@ import { UserSubscription } from "./user-subscription.entity";
|
||||
import { BaseEntity } from "../../../common/entities/base.entity";
|
||||
import { DecimalTransformer } from "../../../common/transformers/decimal.transformer";
|
||||
import { DanakService } from "../../danak-services/entities/danak-service.entity";
|
||||
import { DirectDiscount } from "../../discounts/entities/direct-discount.entity";
|
||||
import { Discount } from "../../discounts/entities/discount.entity";
|
||||
|
||||
@Entity()
|
||||
@Index(["service", "name"], { unique: true })
|
||||
@@ -29,8 +29,8 @@ export class SubscriptionPlan extends BaseEntity {
|
||||
@OneToMany(() => UserSubscription, (userSubscription) => userSubscription.plan)
|
||||
userSubscriptions: UserSubscription[];
|
||||
|
||||
@ManyToOne(() => DirectDiscount, (directDiscount) => directDiscount.subscriptionPlans, { nullable: true })
|
||||
directDiscount?: DirectDiscount;
|
||||
@ManyToOne(() => Discount, (discount) => discount.subscriptionPlans, { nullable: true })
|
||||
directDiscount?: Discount;
|
||||
|
||||
@DeleteDateColumn({ nullable: true })
|
||||
deletedAt?: Date;
|
||||
|
||||
@@ -2,7 +2,7 @@ import { BadRequestException, Injectable } from "@nestjs/common";
|
||||
import dayjs from "dayjs";
|
||||
// eslint-disable-next-line import/no-named-as-default
|
||||
import Decimal from "decimal.js";
|
||||
import { DataSource, In, Not } from "typeorm";
|
||||
import { DataSource, In, Not, QueryRunner } from "typeorm";
|
||||
|
||||
import { ServiceMessage, SubscriptionMessage } from "../../../common/enums/message.enum";
|
||||
import { DanakServicesService } from "../../danak-services/providers/danak-services.service";
|
||||
@@ -269,9 +269,10 @@ export class SubscriptionsService {
|
||||
}
|
||||
//************************************ */
|
||||
|
||||
async getAllServiceSubscriptions(serviceIds: string[]) {
|
||||
const subscriptions = await this.subscriptionsPlanRepository.find({
|
||||
async getAllServiceSubscriptions(serviceIds: string[], queryRunner: QueryRunner) {
|
||||
const subscriptions = await queryRunner.manager.find(this.subscriptionsPlanRepository.target, {
|
||||
where: { service: { id: In(serviceIds) }, isActive: true },
|
||||
relations: { directDiscount: true, service: true },
|
||||
});
|
||||
return subscriptions;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user