TorbatYar/frontend/modules/commercial/adapters/recommendations.ts
2026-07-28 20:39:10 +03:30

26 lines
908 B
TypeScript

import type { AdapterResult, RecommendationResult } from "../types";
import { commercialPost, failResult } from "./http";
export type RecommendationAnswers = Record<string, unknown>;
const EMPTY: RecommendationResult = {
recommended_products: [],
recommended_bundles: [],
recommended_capabilities: [],
recommended_pricing: [],
rule_trace: [],
};
export async function requestRecommendations(
answers: RecommendationAnswers
): Promise<AdapterResult<RecommendationResult>> {
const result = await commercialPost<RecommendationResult>("/api/v1/commercial/recommendations", {
answers,
version: "recommendation.v1",
});
if (!result.ok) {
return failResult(result.availability, result.message || "موتور پیشنهاد در دسترس نیست", EMPTY);
}
return { availability: "ready", data: result.data, source: "commercial.recommendations" };
}