Files
cfw-autumn/server/tests/utils/cusProductUtils/cusProductUtils.ts
2025-12-13 12:18:06 +00:00

41 lines
834 B
TypeScript

import {
type AppEnv,
CusProductStatus,
type FullCusProduct,
} from "@autumn/shared";
import type { DrizzleCli } from "@/db/initDrizzle.js";
import { CusService } from "@/internal/customers/CusService.js";
export const getMainCusProduct = async ({
db,
customerId,
orgId,
env,
productGroup,
}: {
db: DrizzleCli;
customerId: string;
orgId: string;
env: AppEnv;
productGroup?: string;
}) => {
const customer = await CusService.getFull({
db,
idOrInternalId: customerId,
orgId,
env,
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;
};