86 lines
2.3 KiB
TypeScript

import { isEmpty } from 'lodash';
import {
Discount,
History,
Image,
Job,
Partner,
Select,
Station,
Team,
TextResponse,
} from '../@types';
export const presentImage = (images: Image[]) =>
isEmpty(images) ? null : `${process.env.TAYLOR_MEDIA_URL}/${images[0].url}`;
export const presentSelect = (selectItems: Select[]) =>
!isEmpty(selectItems) ? selectItems[0].name : null;
export const presentPartners = (partners: Partner) =>
partners.records.map((record, index) => ({
id: index + 1,
name: record._name,
poster: presentImage(record._image),
}));
export const presentJobs = (jobs: Job) =>
jobs.records.map((job, index) => ({
id: index + 1,
name: job._name,
tags: job._tags.map((tag) => tag.name),
location: presentSelect(job._localtio),
type: presentSelect(job._type),
}));
export const presentTeamMembers = (members: Team) =>
members.records.map((member) => ({
name: member._name,
photo: presentImage(member._foto),
profession: member._zvanie,
}));
export const presentHistoryItems = (historyItems: History) =>
historyItems.records.map((item) => ({
name: item._name,
year: item._god,
description: item._opisanie,
}));
export const presentDiscounts = (discounts: Discount) =>
discounts.records.map((discount, index) => ({
id: index + 1,
name: discount._name,
description: discount._opisanie,
expiresAt: discount._do,
image: presentImage(discount._foto),
}));
export const presentStations = (stations: Station) =>
stations.records.map((station, index) => ({
id: index + 1,
name: station._name,
description: station._opisanie,
address: station._adress,
workingHours: station._chasyRaboty?.name || null,
latitude: station._lat,
longitude: station._long,
carWash: station._avtomojka || false,
ai92: station._dtCopy || false,
ai95: station._ai92Copy || false,
z100: station._ai95Copy || false,
propan: station._z100Copy || false,
electricCharge: station._propanCopy || false,
miniMarket: station._zaryadnayaStanci || false,
toilet: station._miniMarketCop || false,
region: presentSelect(station._region),
image: presentImage(station._foto),
}));
export const presentTexts = (texts: TextResponse) =>
texts.records.map((item) => ({
key: item._name,
value: item._znachenie,
}));