@vini-wine/offer-core-models
Version:
Core package for Vini models related to the offer API.
1 lines • 12 kB
Source Map (JSON)
{"version":3,"sources":["../src/models/country.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 { 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 { 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 };\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":";AAUO,IAAM,wCAAwC,CACnD,YACe;AACf,SAAO;AAAA,IACL,YAAY,QAAQ;AAAA,EACtB;AACF;;;ACPO,IAAM,sCAAsC,CACjD,WACc;AACd,SAAO;AAAA,IACL,aAAa,OAAO;AAAA,IACpB,OAAO,OAAO;AAAA,EAChB;AACF;;;ACEO,IAAM,kDAAkD,CAC7D,iBACoB;AACpB,SAAO;AAAA,IACL,MAAM,aAAa;AAAA,IACnB,WAAW,aAAa;AAAA,IACxB,QAAQ,oCAAoC,aAAa,MAAM;AAAA,IAC/D,iBAAiB,aAAa;AAAA,IAC9B,MAAM,aAAa;AAAA,EACrB;AACF;;;ACZO,IAAM,0CAA0C,CACrD,aACgB;AAChB,SAAO;AAAA,IACL,MAAM,SAAS;AAAA,IACf,MAAM,SAAS;AAAA,IACf,sBAAsB,SAAS,uBAC3B;AAAA,MACE,SAAS;AAAA,IACX,IACA;AAAA,EACN;AACF;;;AChBO,IAAM,sCAAsC,CACjD,WACc;AACd,SAAO;AAAA,IACL,MAAM,OAAO;AAAA,IACb,MAAM,OAAO;AAAA,EACf;AACF;;;ACPO,IAAM,sCAAsC,CACjD,WACc;AACd,SAAO;AAAA,IACL,MAAM,OAAO;AAAA,IACb,SAAS,sCAAsC,OAAO,OAAO;AAAA,EAC/D;AACF;;;ACXO,IAAM,0CAA0C,CACrD,aACgB;AAChB,SAAO;AAAA,IACL,MAAM,SAAS;AAAA,IACf,MAAM,SAAS;AAAA,EACjB;AACF;;;ACPO,IAAM,sCAAsC,CACjD,WACc;AACd,SAAO;AAAA,IACL,MAAM,OAAO;AAAA,IACb,MAAM,OAAO;AAAA,EACf;AACF;;;ACKO,IAAM,kCAAkC,CAAC,SAA6B;AAC3E,SAAO;AAAA,IACL,MAAM,KAAK;AAAA,IACX,MAAM,KAAK;AAAA,IACX,QAAQ,KAAK,SACT,oCAAoC,KAAK,MAAM,IAC/C;AAAA,IACJ,QAAQ,KAAK,SACT,oCAAoC,KAAK,MAAM,IAC/C;AAAA,IACJ,UAAU,KAAK,WACX,wCAAwC,KAAK,QAAQ,IACrD;AAAA,EACN;AACF;;;ACjBO,IAAM,wCAAwC,CACnD,YACe;AACf,SAAO;AAAA,IACL,MAAM,QAAQ;AAAA,IACd,MAAM,QAAQ;AAAA,IACd,MAAM,QAAQ,OACV,gCAAgC,QAAQ,IAAI,IAC5C;AAAA,EACN;AACF;;;ACbO,IAAM,sDAAsD,CACjE,mBACsB;AACtB,SAAO;AAAA,IACL,MAAM,eAAe;AAAA,IACrB,aAAa,eAAe;AAAA,IAC5B,SAAS,eAAe,UACpB,sCAAsC,eAAe,OAAO,IAC5D;AAAA,EACN;AACF;;;ACXO,IAAM,oCAAoC,CAC/C,UACa;AACb,SAAO;AAAA,IACL,aAAa,MAAM;AAAA,IACnB,UAAU,MAAM;AAAA,IAChB,YAAY;AAAA,MACV,IAAI,MAAM,WAAW;AAAA,IACvB;AAAA,EACF;AACF;;;ACQO,IAAM,oCAAoC,CAC/C,UACa;AACb,QAAM,kBAAuC,CAAC;AAC9C,MAAI,MAAM,mBAAmB,MAAM,gBAAgB,QAAQ;AACzD,aAAS,IAAI,GAAG,IAAI,MAAM,gBAAgB,QAAQ,KAAK,GAAG;AACxD,sBAAgB;AAAA,QACd;AAAA,UACE,MAAM,gBAAgB,CAAC;AAAA,QACzB;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACA,SAAO;AAAA,IACL,MAAM,MAAM;AAAA,IACZ,WAAW,MAAM;AAAA,IACjB,SAAS,MAAM;AAAA,IACf,OAAO,MAAM,QAAQ,kCAAkC,MAAM,KAAK,IAAI;AAAA,IACtE,UAAU,MAAM;AAAA,IAChB,QAAQ,MAAM,SACV,oCAAoC,MAAM,MAAM,IAChD;AAAA,IACJ,UAAU,MAAM,WACZ,wCAAwC,MAAM,QAAQ,IACtD;AAAA,IACJ,oBAAoB,MAAM,qBACtB,sCAAsC,MAAM,kBAAkB,IAC9D;AAAA,IACJ;AAAA,EACF;AACF;","names":[]}