@vini-wine/offer-core-models
Version:
Core package for Vini models related to the offer API.
169 lines (156 loc) • 4.72 kB
JavaScript
// src/models/country.ts
var createCountryDtoFromOfferCountryModel = (country) => {
return {
codeAlpha2: country.codeAlpha2
};
};
// src/models/image.ts
var createImageDtoFromOfferImageModel = (image) => {
return {
name: image.name,
mime: image.mime,
height: image.height,
width: image.width,
url: image.url,
variation: {
id: image.variation.id
},
type: {
id: image.type.id
},
size: 0
};
};
// src/models/vatTax.ts
var createVatTaxDtoFromOfferVatTaxModel = (vatTax) => {
return {
countryCode: vatTax.countryCode,
value: vatTax.value
};
};
// src/models/organisation.ts
var createOrganisationDtoFromOfferOrganisationModel = (organisation) => {
return {
name: organisation.name,
legalName: organisation.legalName,
vatTax: createVatTaxDtoFromOfferVatTaxModel(organisation.vatTax),
defaultTimezone: organisation.defaultTimezone,
uuid: organisation.uuid
};
};
// src/models/supplier.ts
var createSupplierDtoFromOfferSupplierModel = (supplier) => {
return {
uuid: supplier.uuid,
name: supplier.name,
supplierOrganisation: supplier.supplierOrganisation ? createOrganisationDtoFromOfferOrganisationModel(
supplier.supplierOrganisation
) : void 0
};
};
// src/models/seller.ts
var createSellerDtoFromOfferSellerModel = (seller) => {
return {
name: seller.name,
uuid: seller.uuid
};
};
// src/models/region.ts
var createRegionDtoFromOfferRegionModel = (region) => {
return {
name: region.name,
country: createCountryDtoFromOfferCountryModel(region.country)
};
};
// src/models/wineType.ts
var createWineTypeDtoFromOfferWineTypeModel = (wineType) => {
return {
uuid: wineType.uuid,
name: wineType.name
};
};
// src/models/winery.ts
var createWineryDtoFromOfferWineryModel = (winery) => {
return {
uuid: winery.uuid,
name: winery.name
};
};
// src/models/wine.ts
var createWineDtoFromOfferWineModel = (wine) => {
return {
uuid: wine.uuid,
name: wine.name,
region: wine.region ? createRegionDtoFromOfferRegionModel(wine.region) : void 0,
winery: wine.winery ? createWineryDtoFromOfferWineryModel(wine.winery) : void 0,
wineType: wine.wineType ? createWineTypeDtoFromOfferWineTypeModel(wine.wineType) : void 0
};
};
// src/models/vintage.ts
var createVintageDtoFromOfferVintageModel = (vintage) => {
return {
uuid: vintage.uuid,
year: vintage.year,
wine: vintage.wine ? createWineDtoFromOfferWineModel(vintage.wine) : void 0,
bottleImage: vintage.bottleImage ? createImageDtoFromOfferImageModel(vintage.bottleImage) : null
};
};
// src/models/vintageProduct.ts
var createVintageProductDtoFromOfferVintageProductModel = (vintageProduct) => {
return {
uuid: vintageProduct.uuid,
milliliters: vintageProduct.milliliters,
vintage: vintageProduct.vintage ? createVintageDtoFromOfferVintageModel(vintageProduct.vintage) : void 0
};
};
// src/models/price.ts
var createPriceDtoFromOfferPriceModel = (price) => {
return {
priceMicros: price.priceMicros,
currency: price.currency,
visibility: {
id: price.visibility.id
}
};
};
// src/models/offer.ts
var createOfferDtoFromOfferOfferModel = (offer) => {
const vintageProducts = [];
if (offer.vintageProducts && offer.vintageProducts.length) {
for (let i = 0; i < offer.vintageProducts.length; i += 1) {
vintageProducts.push(
createVintageProductDtoFromOfferVintageProductModel(
offer.vintageProducts[i]
)
);
}
}
return {
uuid: offer.uuid,
createdAt: offer.createdAt,
package: offer.package,
price: offer.price ? createPriceDtoFromOfferPriceModel(offer.price) : null,
quantity: offer.quantity,
seller: offer.seller ? createSellerDtoFromOfferSellerModel(offer.seller) : void 0,
supplier: offer.supplier ? createSupplierDtoFromOfferSupplierModel(offer.supplier) : void 0,
shippedFromCountry: offer.shippedFromCountry ? createCountryDtoFromOfferCountryModel(offer.shippedFromCountry) : void 0,
vintageProducts
};
};
export {
createCountryDtoFromOfferCountryModel,
createImageDtoFromOfferImageModel,
createOfferDtoFromOfferOfferModel,
createOrganisationDtoFromOfferOrganisationModel,
createPriceDtoFromOfferPriceModel,
createRegionDtoFromOfferRegionModel,
createSellerDtoFromOfferSellerModel,
createSupplierDtoFromOfferSupplierModel,
createVatTaxDtoFromOfferVatTaxModel,
createVintageDtoFromOfferVintageModel,
createVintageProductDtoFromOfferVintageProductModel,
createWineDtoFromOfferWineModel,
createWineTypeDtoFromOfferWineTypeModel,
createWineryDtoFromOfferWineryModel
};
//# sourceMappingURL=index.mjs.map