Files
cfw-autumn/server/tests/utils/cusProductUtils/cusProductUtils.ts
2025-09-22 14:45:25 +01:00

37 lines
809 B
TypeScript

import { DrizzleCli } from "@/db/initDrizzle.js";
import { CusService } from "@/internal/customers/CusService.js";
import { AppEnv, CusProductStatus, FullCusProduct } from "@autumn/shared";
export const getMainCusProduct = async ({
db,
customerId,
orgId,
env,
productGroup,
}: {
db: DrizzleCli;
customerId: string;
orgId: string;
env: AppEnv;
productGroup?: string;
}) => {
let customer = await CusService.getFull({
db,
idOrInternalId: customerId,
orgId,
env,
withEntities: true,
inStatuses: [CusProductStatus.Active],
});
let cusProducts = customer.customer_products;
let mainCusProduct = cusProducts.find(
(cusProduct: FullCusProduct) =>
!cusProduct.product.is_add_on &&
(productGroup ? cusProduct.product.group === productGroup : true),
);
return mainCusProduct;
};