{"version":3,"sources":["../src/models/country.ts","../src/models/image.ts","../src/models/vatTax.ts","../src/models/organisation.ts","../src/models/supplier.ts","../src/models/seller.ts","../src/models/region.ts","../src/models/wineType.ts","../src/models/winery.ts","../src/models/wine.ts","../src/models/vintage.ts","../src/models/vintageProduct.ts","../src/models/price.ts","../src/models/offer.ts"],"sourcesContent":["import { CountryEnum } from \"@vini-wine/core-enums\";\nimport { CountryDto } from \"@vini-wine/core-dtos\";\n\nexport interface CountryModel {\n  // transform\n  codeAlpha2: CountryEnum;\n  codeAlpha3: string;\n  codeUn: string;\n}\n\nexport const createCountryDtoFromOfferCountryModel = (\n  country: CountryModel,\n): CountryDto => {\n  return {\n    codeAlpha2: country.codeAlpha2,\n  };\n};\n","import { ImageVariationModel } from \"./imageVariation\";\nimport { ImageTypeModel } from \"./imageType\";\nimport { UUID } from \"../generic/uuid\";\nimport { ImageDto } from \"@vini-wine/core-dtos\";\n\nexport interface ImageModel extends UUID {\n  // transform\n  name: string;\n  mime: string;\n  height: number;\n  width: number;\n  url: string;\n  variation: ImageVariationModel;\n  type: ImageTypeModel;\n}\n\nexport const createImageDtoFromOfferImageModel = (\n  image: ImageModel,\n): ImageDto => {\n  return {\n    name: image.name,\n    mime: image.mime,\n    height: image.height,\n    width: image.width,\n    url: image.url,\n    variation: {\n      id: image.variation.id,\n    },\n    type: {\n      id: image.type.id,\n    },\n    size: 0,\n  };\n};\n","import { CountryEnum } from \"@vini-wine/core-enums\";\nimport { VatTaxDto } from \"@vini-wine/core-dtos\";\n\nexport interface VatTaxModel {\n  // transform\n  countryCode: CountryEnum;\n  value: string;\n}\n\nexport const createVatTaxDtoFromOfferVatTaxModel = (\n  vatTax: VatTaxModel,\n): VatTaxDto => {\n  return {\n    countryCode: vatTax.countryCode,\n    value: vatTax.value,\n  };\n};\n","import { UUID } from \"../generic/uuid\";\nimport { createVatTaxDtoFromOfferVatTaxModel, VatTaxModel } from \"./vatTax\";\nimport { ImageModel } from \"./image\";\nimport { OrganisationDto } from \"@vini-wine/core-dtos\";\nimport { UserOrganisationModel } from \"./userOrganisation\";\n\nexport interface OrganisationModel extends UUID {\n  // transform\n  name: string;\n  legalName: string;\n  vatTax: VatTaxModel;\n  defaultTimezone: string;\n\n  // available includes\n  avatar?: ImageModel;\n  defaultSalesContactUserOrganisation?: UserOrganisationModel;\n}\n\nexport const createOrganisationDtoFromOfferOrganisationModel = (\n  organisation: OrganisationModel,\n): OrganisationDto => {\n  return {\n    name: organisation.name,\n    legalName: organisation.legalName,\n    vatTax: createVatTaxDtoFromOfferVatTaxModel(organisation.vatTax),\n    defaultTimezone: organisation.defaultTimezone,\n    uuid: organisation.uuid,\n  };\n};\n\nexport const organisationNameIdentifier = (organisation: OrganisationModel) =>\n  `${organisation.name} (${organisation.legalName})`;\n","import { UUID } from \"../generic/uuid\";\nimport {\n  createOrganisationDtoFromOfferOrganisationModel,\n  OrganisationModel,\n} from \"./organisation\";\nimport { SupplierDto } from \"@vini-wine/core-dtos\";\n\nexport interface SupplierModel extends UUID {\n  // transform\n  name: string;\n\n  // available includes\n  organisation?: OrganisationModel;\n  supplierOrganisation?: OrganisationModel;\n}\n\nexport const createSupplierDtoFromOfferSupplierModel = (\n  supplier: SupplierModel,\n): SupplierDto => {\n  return {\n    uuid: supplier.uuid,\n    name: supplier.name,\n    supplierOrganisation: supplier.supplierOrganisation\n      ? createOrganisationDtoFromOfferOrganisationModel(\n          supplier.supplierOrganisation,\n        )\n      : undefined,\n  };\n};\n","import { UUID } from \"../generic/uuid\";\nimport { OrganisationModel } from \"./organisation\";\nimport { SellerDto } from \"@vini-wine/core-dtos\";\n\nexport interface SellerModel extends UUID {\n  // transform\n  name: string;\n\n  // available includes\n  organisation?: OrganisationModel;\n}\n\nexport const createSellerDtoFromOfferSellerModel = (\n  seller: SellerModel,\n): SellerDto => {\n  return {\n    name: seller.name,\n    uuid: seller.uuid,\n  };\n};\n","import { UUID } from \"../generic/uuid\";\nimport { CountryModel, createCountryDtoFromOfferCountryModel } from \"./country\";\nimport { RegionDto } from \"@vini-wine/core-dtos\";\n\nexport interface RegionModel extends UUID {\n  // transform\n  name: string;\n\n  // available includes\n  country: CountryModel;\n}\n\nexport const createRegionDtoFromOfferRegionModel = (\n  region: RegionModel,\n): RegionDto => {\n  return {\n    name: region.name,\n    country: createCountryDtoFromOfferCountryModel(region.country),\n  };\n};\n","import { UUID } from \"../generic/uuid\";\nimport { WineTypeDto } from \"@vini-wine/core-dtos\";\n\nexport interface WineTypeModel extends UUID {\n  // transform\n  name: string;\n}\n\nexport const createWineTypeDtoFromOfferWineTypeModel = (\n  wineType: WineTypeModel,\n): WineTypeDto => {\n  return {\n    uuid: wineType.uuid,\n    name: wineType.name,\n  };\n};\n","import { UUID } from \"../generic/uuid\";\nimport { WineryDto } from \"@vini-wine/core-dtos\";\n\nexport interface WineryModel extends UUID {\n  // transform\n  name: string;\n}\n\nexport const createWineryDtoFromOfferWineryModel = (\n  winery: WineryModel,\n): WineryDto => {\n  return {\n    uuid: winery.uuid,\n    name: winery.name,\n  };\n};\n","import { UUID } from \"../generic/uuid\";\n\nimport { createRegionDtoFromOfferRegionModel, RegionModel } from \"./region\";\nimport {\n  createWineTypeDtoFromOfferWineTypeModel,\n  WineTypeModel,\n} from \"./wineType\";\nimport { createWineryDtoFromOfferWineryModel, WineryModel } from \"./winery\";\nimport { WineDto } from \"@vini-wine/core-dtos\";\n\nexport interface WineModel extends UUID {\n  // transform\n  name: string;\n\n  // available includes\n  region?: RegionModel;\n  wineType?: WineTypeModel;\n  winery?: WineryModel;\n}\n\nexport const createWineDtoFromOfferWineModel = (wine: WineModel): WineDto => {\n  return {\n    uuid: wine.uuid,\n    name: wine.name,\n    region: wine.region\n      ? createRegionDtoFromOfferRegionModel(wine.region)\n      : undefined,\n    winery: wine.winery\n      ? createWineryDtoFromOfferWineryModel(wine.winery)\n      : undefined,\n    wineType: wine.wineType\n      ? createWineTypeDtoFromOfferWineTypeModel(wine.wineType)\n      : undefined,\n  };\n};\n","import { UUID } from \"../generic/uuid\";\nimport { createWineDtoFromOfferWineModel, WineModel } from \"./wine\";\nimport { createImageDtoFromOfferImageModel, ImageModel } from \"./image\";\nimport { VintageDto } from \"@vini-wine/core-dtos\";\n\nexport interface VintageModel extends UUID {\n  // transform\n  year: number;\n\n  // default includes\n  bottleImage: ImageModel | null;\n\n  // available includes\n  wine?: WineModel;\n  labelImage?: ImageModel | null;\n}\n\nexport const createVintageDtoFromOfferVintageModel = (\n  vintage: VintageModel,\n): VintageDto => {\n  return {\n    uuid: vintage.uuid,\n    year: vintage.year,\n    wine: vintage.wine\n      ? createWineDtoFromOfferWineModel(vintage.wine)\n      : undefined,\n    bottleImage: vintage.bottleImage\n      ? createImageDtoFromOfferImageModel(vintage.bottleImage)\n      : null,\n  };\n};\n","import { UUID } from \"../generic/uuid\";\nimport { createVintageDtoFromOfferVintageModel, VintageModel } from \"./vintage\";\nimport { OfferModel } from \"./offer\";\nimport { VintageProductDto } from \"@vini-wine/core-dtos\";\n\nexport interface VintageProductModel extends UUID {\n  // transform\n  milliliters: number;\n\n  // available includes\n  vintage?: VintageModel;\n  bestOffer?: OfferModel | null;\n}\n\nexport const createVintageProductDtoFromOfferVintageProductModel = (\n  vintageProduct: VintageProductModel,\n): VintageProductDto => {\n  return {\n    uuid: vintageProduct.uuid,\n    milliliters: vintageProduct.milliliters,\n    vintage: vintageProduct.vintage\n      ? createVintageDtoFromOfferVintageModel(vintageProduct.vintage)\n      : undefined,\n  };\n};\n","import {\n  CurrencyCodeEnum,\n  UploadVisibilityTypeEnum,\n} from \"@vini-wine/core-enums\";\nimport { PriceDto } from \"@vini-wine/core-dtos\";\n\nexport interface PriceModel {\n  // transform\n  priceMicros: number;\n  currency: CurrencyCodeEnum;\n  visibility: { id: UploadVisibilityTypeEnum };\n}\n\nexport const createPriceDtoFromOfferPriceModel = (\n  price: PriceModel,\n): PriceDto => {\n  return {\n    priceMicros: price.priceMicros,\n    currency: price.currency,\n    visibility: {\n      id: price.visibility.id,\n    },\n  };\n};\n","import { UUID } from \"../generic/uuid\";\nimport {\n  createSupplierDtoFromOfferSupplierModel,\n  SupplierModel,\n} from \"./supplier\";\nimport { createSellerDtoFromOfferSellerModel, SellerModel } from \"./seller\";\nimport {\n  createVintageProductDtoFromOfferVintageProductModel,\n  VintageProductModel,\n} from \"./vintageProduct\";\nimport { createPriceDtoFromOfferPriceModel, PriceModel } from \"./price\";\nimport { PackageEnum } from \"@vini-wine/core-enums\";\nimport { CountryModel, createCountryDtoFromOfferCountryModel } from \"./country\";\nimport { OfferDto, VintageProductDto } from \"@vini-wine/core-dtos\";\n\nexport interface OfferModel extends UUID {\n  // default includes\n  price: PriceModel | null;\n\n  // transform\n  quantity: number;\n  package: PackageEnum | null;\n  createdAt: Date;\n\n  // available includes\n  supplier?: SupplierModel | null;\n  seller?: SellerModel;\n  vintageProducts?: VintageProductModel[];\n  shippedFromCountry?: CountryModel | null;\n}\n\nexport const createOfferDtoFromOfferOfferModel = (\n  offer: OfferModel,\n): OfferDto => {\n  const vintageProducts: VintageProductDto[] = [];\n  if (offer.vintageProducts && offer.vintageProducts.length) {\n    for (let i = 0; i < offer.vintageProducts.length; i += 1) {\n      vintageProducts.push(\n        createVintageProductDtoFromOfferVintageProductModel(\n          offer.vintageProducts[i],\n        ),\n      );\n    }\n  }\n  return {\n    uuid: offer.uuid,\n    createdAt: offer.createdAt,\n    package: offer.package,\n    price: offer.price ? createPriceDtoFromOfferPriceModel(offer.price) : null,\n    quantity: offer.quantity,\n    seller: offer.seller\n      ? createSellerDtoFromOfferSellerModel(offer.seller)\n      : undefined,\n    supplier: offer.supplier\n      ? createSupplierDtoFromOfferSupplierModel(offer.supplier)\n      : undefined,\n    shippedFromCountry: offer.shippedFromCountry\n      ? createCountryDtoFromOfferCountryModel(offer.shippedFromCountry)\n      : undefined,\n    vintageProducts,\n  };\n};\n"],"mappings":"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","names":[]}