/**
 * BuildingType Enum
 * Backend values are numeric
 * Used in: PropertyInformation.buildingType
 */
const BuildingType = Object.freeze({
  APARTMENT: 0,
  VILLA: 1,
  HOUSE: 2,
  SWEET: 3,
  ROOM: 4,
  STUDIO: 5,
  OFFICE: 6,
  FARMS: 7,
  SHOP: 8,
  WAREHOUSE: 9,
});

const BuildingTypeLabels = Object.freeze({
  [BuildingType.APARTMENT]: 'شقة',
  [BuildingType.VILLA]: 'فيلا',
  [BuildingType.HOUSE]: 'بيت',
  [BuildingType.SWEET]: 'سويت',
  [BuildingType.ROOM]: 'غرفة',
  [BuildingType.STUDIO]: 'استوديو',
  [BuildingType.OFFICE]: 'مكتب',
  [BuildingType.FARMS]: 'مزرعة',
  [BuildingType.SHOP]: 'متجر',
  [BuildingType.WAREHOUSE]: 'مستودع',
});

const BuildingTypeKeys = Object.freeze({
  [BuildingType.APARTMENT]: 'apartment',
  [BuildingType.VILLA]: 'villa',
  [BuildingType.HOUSE]: 'house',
  [BuildingType.SWEET]: 'sweet',
  [BuildingType.ROOM]: 'room',
  [BuildingType.STUDIO]: 'studio',
  [BuildingType.OFFICE]: 'office',
  [BuildingType.FARMS]: 'farms',
  [BuildingType.SHOP]: 'shop',
  [BuildingType.WAREHOUSE]: 'warehouse',
});

const BuildingTypeByKey = Object.freeze({
  apartment: BuildingType.APARTMENT,
  villa: BuildingType.VILLA,
  house: BuildingType.HOUSE,
  sweet: BuildingType.SWEET,
  suite: BuildingType.SWEET,
  room: BuildingType.ROOM,
  studio: BuildingType.STUDIO,
  office: BuildingType.OFFICE,
  farms: BuildingType.FARMS,
  shop: BuildingType.SHOP,
  warehouse: BuildingType.WAREHOUSE,
});

const BuildingTypeTranslationKeys = Object.freeze({
  [BuildingType.APARTMENT]: 'buildingType.apartment',
  [BuildingType.VILLA]: 'buildingType.villa',
  [BuildingType.HOUSE]: 'buildingType.house',
  [BuildingType.SWEET]: 'buildingType.sweet',
  [BuildingType.ROOM]: 'buildingType.room',
  [BuildingType.STUDIO]: 'buildingType.studio',
  [BuildingType.OFFICE]: 'buildingType.office',
  [BuildingType.FARMS]: 'buildingType.farms',
  [BuildingType.SHOP]: 'buildingType.shop',
  [BuildingType.WAREHOUSE]: 'buildingType.warehouse',
});

export { BuildingType, BuildingTypeLabels, BuildingTypeKeys, BuildingTypeByKey, BuildingTypeTranslationKeys };
