Files
cfw-autumn/shared/utils/cusEntUtils/classifyCusEntUtils.ts
2025-12-12 12:42:42 +00:00

33 lines
950 B
TypeScript

import type { FullCustomerEntitlement } from "../../models/cusProductModels/cusEntModels/cusEntModels";
import type { FullCusEntWithFullCusProduct } from "../../models/cusProductModels/cusEntModels/cusEntWithProduct";
import { AllowanceType } from "../../models/productModels/entModels/entModels";
import { cusEntToCusPrice } from "../productUtils/convertUtils";
import { notNullish } from "../utils";
export const isUnlimitedCusEnt = ({
cusEnt,
}: {
cusEnt: FullCustomerEntitlement;
}) => {
return cusEnt.entitlement.allowance_type === AllowanceType.Unlimited;
};
export const isEntityScopedCusEnt = ({
cusEnt,
}: {
cusEnt: FullCustomerEntitlement;
}) => {
return notNullish(cusEnt.entitlement.entity_feature_id);
};
export const cusEntsHavePrice = ({
cusEnts,
}: {
cusEnts: FullCusEntWithFullCusProduct[];
}) => {
return cusEnts.some((cusEnt) => {
const cusPrice = cusEntToCusPrice({ cusEnt });
return notNullish(cusPrice);
});
};