UNPKG

@procraft/widget-order

Version:

Order widget for landing

70 lines 3.16 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getCatalogItemData = void 0; /** * Формирование коммерческих данных для элементов каталога. * Это надо, чтобы определять можно ли предоставить составную скидку. */ const getCatalogItemData = ( // catalogItem: Omit<WidgetOrderCourseItem['catalogItem'], 'sales'>, fieldValue // course: CourseFragment, ) => { // const course = courses.find((n) => n.uid === catalogItem.course?.courseId) // if (!course) { // return null // } // console.log('getCatalogItemData course', course); // console.log('getCatalogItemData catalogItem', catalogItem); // TODO Удалить иэ схемы АПИ // const tariffPerFlowDataItem = course.tariffPerFlowDataItems?.find( // (tariffPerFlowDataItem) => { // return ( // // tariffPerFlowDataItem.courseId === course.uid && // tariffPerFlowDataItem.courseId === catalogItem.course?.courseId && // // tariffPerFlowDataItem.flowId === flow.uid && // tariffPerFlowDataItem.flowId === catalogItem.course.flowId && // // tariffPerFlowDataItem.courseTariffId === tariff.uid // tariffPerFlowDataItem.courseTariffId === catalogItem.course.tariffId // ) // } // ) // console.log('getCatalogItemData tariffPerFlowDataItem', tariffPerFlowDataItem); // if (!tariffPerFlowDataItem) { // return null // } // const tariff = course.tariffs?.find( // (n) => n.uid === catalogItem.course?.tariffId // ) // console.log('getCatalogItemData tariff', tariff); // if (!tariff) { // return null // } // const flow = course.flows?.find((n) => n.uid === tariffPerFlowDataItem.flowId) // // TODO Сейчас пока добавил проверу по дате завршения, но вообще на бэке // // должны доработать и отдавать только актуальные данные, так что // // в дальнейшем можно будет исключить эту проверку. // if (!flow || (flow.finishesAt && flow.finishesAt < new Date())) { // return null // } /** * !!! Если null, то без ограничения мест */ // const placesLeft = // tariffPerFlowDataItem?.computed?.capacityRemainder !== undefined // ? tariffPerFlowDataItem?.computed?.capacityRemainder // : null // TODO Сейчас сервер не возвращает эти данные, ждем фикса const placesLeft = fieldValue.availableCount || null; /** * Доступность для покупки. * Если нет свободных мест и места ограничены, то нельзя купить */ const available = typeof placesLeft !== 'number' || placesLeft > 0; return { available, placesLeft, }; }; exports.getCatalogItemData = getCatalogItemData; //# sourceMappingURL=index.js.map