Files
cfw-autumn/server/tests/utils/cusProductUtils/cusProductUtils.ts
2026-02-23 12:28:33 +00:00

31 lines
769 B
TypeScript

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