493 lines
9.9 KiB
JavaScript
493 lines
9.9 KiB
JavaScript
const {
|
|
AD_CATEGORY,
|
|
ACCESS_ROAD_TYPE,
|
|
HEATING_TYPE,
|
|
FURNISHING_TYPE
|
|
} = require("./enums");
|
|
|
|
const BASIC_BOOLEAN_PUBLISH = [
|
|
{
|
|
dbField: "newBuilding",
|
|
title: "Novogradnja",
|
|
categoriesToShow: [
|
|
AD_CATEGORY.FLAT,
|
|
AD_CATEGORY.HOUSE,
|
|
AD_CATEGORY.APARTMENT,
|
|
AD_CATEGORY.COTTAGE,
|
|
AD_CATEGORY.OFFICE,
|
|
AD_CATEGORY.GARAGE
|
|
]
|
|
},
|
|
{
|
|
dbField: "balcony",
|
|
title: "Balkon",
|
|
categoriesToShow: [
|
|
AD_CATEGORY.FLAT,
|
|
AD_CATEGORY.HOUSE,
|
|
AD_CATEGORY.APARTMENT,
|
|
AD_CATEGORY.COTTAGE
|
|
]
|
|
},
|
|
|
|
{
|
|
dbField: "elevator",
|
|
title: "Lift",
|
|
categoriesToShow: [
|
|
AD_CATEGORY.FLAT,
|
|
AD_CATEGORY.APARTMENT,
|
|
AD_CATEGORY.OFFICE
|
|
]
|
|
},
|
|
{
|
|
dbField: "recentlyAdapted",
|
|
title: "Nedavno adaptirano",
|
|
categoriesToShow: [
|
|
AD_CATEGORY.FLAT,
|
|
AD_CATEGORY.HOUSE,
|
|
AD_CATEGORY.APARTMENT,
|
|
AD_CATEGORY.COTTAGE,
|
|
AD_CATEGORY.OFFICE
|
|
]
|
|
}
|
|
];
|
|
|
|
const BASIC_INPUT_PUBLISH = [
|
|
{
|
|
dbField: "title",
|
|
title: "Naslov",
|
|
categoriesToShow: [
|
|
AD_CATEGORY.FLAT,
|
|
AD_CATEGORY.HOUSE,
|
|
AD_CATEGORY.APARTMENT,
|
|
AD_CATEGORY.COTTAGE,
|
|
AD_CATEGORY.OFFICE,
|
|
AD_CATEGORY.LAND,
|
|
AD_CATEGORY.GARAGE
|
|
],
|
|
constraint: ["required"]
|
|
},
|
|
{
|
|
dbField: "shortDescription",
|
|
title: "Opis",
|
|
categoriesToShow: [
|
|
AD_CATEGORY.FLAT,
|
|
AD_CATEGORY.HOUSE,
|
|
AD_CATEGORY.APARTMENT,
|
|
AD_CATEGORY.COTTAGE,
|
|
AD_CATEGORY.OFFICE,
|
|
AD_CATEGORY.LAND,
|
|
AD_CATEGORY.GARAGE
|
|
],
|
|
constraint: []
|
|
},
|
|
{
|
|
dbField: "price",
|
|
title: "Cijena (KM)",
|
|
categoriesToShow: [
|
|
AD_CATEGORY.FLAT,
|
|
AD_CATEGORY.HOUSE,
|
|
AD_CATEGORY.APARTMENT,
|
|
AD_CATEGORY.COTTAGE,
|
|
AD_CATEGORY.OFFICE,
|
|
AD_CATEGORY.LAND,
|
|
AD_CATEGORY.GARAGE
|
|
],
|
|
constraint: ["numerical"]
|
|
},
|
|
{
|
|
dbField: "area",
|
|
title: "Površina (m\xB2)",
|
|
categoriesToShow: [
|
|
AD_CATEGORY.FLAT,
|
|
AD_CATEGORY.HOUSE,
|
|
AD_CATEGORY.APARTMENT,
|
|
AD_CATEGORY.COTTAGE,
|
|
AD_CATEGORY.OFFICE,
|
|
AD_CATEGORY.LAND,
|
|
AD_CATEGORY.GARAGE
|
|
],
|
|
constraint: ["numerical"]
|
|
},
|
|
{
|
|
dbField: "gardenSize",
|
|
title: "Površina okućnice (m\xB2)",
|
|
categoriesToShow: [AD_CATEGORY.HOUSE, AD_CATEGORY.COTTAGE],
|
|
constraint: ["numerical"]
|
|
},
|
|
{
|
|
dbField: "streetName",
|
|
title: "Adresa",
|
|
categoriesToShow: [
|
|
AD_CATEGORY.FLAT,
|
|
AD_CATEGORY.HOUSE,
|
|
AD_CATEGORY.APARTMENT,
|
|
AD_CATEGORY.COTTAGE,
|
|
AD_CATEGORY.OFFICE,
|
|
AD_CATEGORY.LAND,
|
|
AD_CATEGORY.GARAGE
|
|
],
|
|
constraint: []
|
|
},
|
|
{
|
|
dbField: "numberOfRooms",
|
|
title: "Broj soba",
|
|
categoriesToShow: [
|
|
AD_CATEGORY.FLAT,
|
|
AD_CATEGORY.HOUSE,
|
|
AD_CATEGORY.APARTMENT,
|
|
AD_CATEGORY.COTTAGE,
|
|
AD_CATEGORY.OFFICE
|
|
],
|
|
constraint: ["integer"]
|
|
},
|
|
{
|
|
dbField: "numberOfFloors",
|
|
title: "Broj spratova",
|
|
categoriesToShow: [
|
|
AD_CATEGORY.FLAT,
|
|
AD_CATEGORY.HOUSE,
|
|
AD_CATEGORY.APARTMENT,
|
|
AD_CATEGORY.COTTAGE
|
|
],
|
|
constraint: ["integer"]
|
|
},
|
|
{
|
|
dbField: "floor",
|
|
title: "Sprat",
|
|
categoriesToShow: [
|
|
AD_CATEGORY.FLAT,
|
|
AD_CATEGORY.APARTMENT,
|
|
AD_CATEGORY.OFFICE
|
|
],
|
|
constraint: ["integer"]
|
|
}
|
|
];
|
|
|
|
const BASIC_SEGMENT_PUBLISH = [
|
|
{
|
|
dbField: "furnishingType",
|
|
title: "Namještaj",
|
|
values: Object.keys(FURNISHING_TYPE).map(key => FURNISHING_TYPE[key]),
|
|
categoriesToShow: [
|
|
AD_CATEGORY.FLAT,
|
|
AD_CATEGORY.HOUSE,
|
|
AD_CATEGORY.APARTMENT,
|
|
AD_CATEGORY.COTTAGE,
|
|
AD_CATEGORY.OFFICE
|
|
]
|
|
}
|
|
];
|
|
|
|
const ADDITIONAL_BOOLEAN_PUBLISH = [
|
|
{
|
|
dbField: "water",
|
|
title: "Voda",
|
|
categoriesToShow: [
|
|
AD_CATEGORY.FLAT,
|
|
AD_CATEGORY.HOUSE,
|
|
AD_CATEGORY.APARTMENT,
|
|
AD_CATEGORY.COTTAGE,
|
|
AD_CATEGORY.OFFICE
|
|
]
|
|
},
|
|
{
|
|
dbField: "electricity",
|
|
title: "Struja",
|
|
categoriesToShow: [
|
|
AD_CATEGORY.FLAT,
|
|
AD_CATEGORY.HOUSE,
|
|
AD_CATEGORY.APARTMENT,
|
|
AD_CATEGORY.COTTAGE,
|
|
AD_CATEGORY.OFFICE,
|
|
AD_CATEGORY.GARAGE
|
|
]
|
|
},
|
|
{
|
|
dbField: "drainageSystem",
|
|
title: "Kanalizacija",
|
|
categoriesToShow: [
|
|
AD_CATEGORY.FLAT,
|
|
AD_CATEGORY.HOUSE,
|
|
AD_CATEGORY.APARTMENT,
|
|
AD_CATEGORY.COTTAGE,
|
|
AD_CATEGORY.OFFICE
|
|
]
|
|
},
|
|
{
|
|
dbField: "registeredInZkBooks",
|
|
title: "Uknjiženo",
|
|
categoriesToShow: [
|
|
AD_CATEGORY.FLAT,
|
|
AD_CATEGORY.HOUSE,
|
|
AD_CATEGORY.APARTMENT,
|
|
AD_CATEGORY.COTTAGE,
|
|
AD_CATEGORY.OFFICE,
|
|
AD_CATEGORY.LAND,
|
|
AD_CATEGORY.GARAGE
|
|
]
|
|
},
|
|
|
|
{
|
|
dbField: "parking",
|
|
title: "Parking",
|
|
categoriesToShow: [
|
|
AD_CATEGORY.FLAT,
|
|
AD_CATEGORY.HOUSE,
|
|
AD_CATEGORY.APARTMENT,
|
|
AD_CATEGORY.COTTAGE,
|
|
AD_CATEGORY.OFFICE
|
|
]
|
|
},
|
|
{
|
|
dbField: "garage",
|
|
title: "Garaža",
|
|
categoriesToShow: [
|
|
AD_CATEGORY.FLAT,
|
|
AD_CATEGORY.HOUSE,
|
|
AD_CATEGORY.APARTMENT,
|
|
AD_CATEGORY.COTTAGE,
|
|
AD_CATEGORY.OFFICE
|
|
]
|
|
},
|
|
{
|
|
dbField: "gas",
|
|
title: "Plin",
|
|
categoriesToShow: [
|
|
AD_CATEGORY.FLAT,
|
|
AD_CATEGORY.HOUSE,
|
|
AD_CATEGORY.APARTMENT,
|
|
AD_CATEGORY.COTTAGE,
|
|
AD_CATEGORY.OFFICE
|
|
]
|
|
},
|
|
{
|
|
dbField: "antiTheftDoor",
|
|
title: "Blindirana vrata",
|
|
categoriesToShow: [
|
|
AD_CATEGORY.FLAT,
|
|
AD_CATEGORY.HOUSE,
|
|
AD_CATEGORY.APARTMENT,
|
|
AD_CATEGORY.COTTAGE,
|
|
AD_CATEGORY.OFFICE
|
|
]
|
|
},
|
|
{
|
|
dbField: "airCondition",
|
|
title: "Klimatizirano",
|
|
categoriesToShow: [
|
|
AD_CATEGORY.FLAT,
|
|
AD_CATEGORY.HOUSE,
|
|
AD_CATEGORY.APARTMENT,
|
|
AD_CATEGORY.COTTAGE,
|
|
AD_CATEGORY.OFFICE
|
|
]
|
|
},
|
|
{
|
|
dbField: "phoneConnection",
|
|
title: "Telefon",
|
|
categoriesToShow: [
|
|
AD_CATEGORY.FLAT,
|
|
AD_CATEGORY.HOUSE,
|
|
AD_CATEGORY.APARTMENT,
|
|
AD_CATEGORY.COTTAGE,
|
|
AD_CATEGORY.OFFICE
|
|
]
|
|
},
|
|
{
|
|
dbField: "cableTV",
|
|
title: "Kablovska",
|
|
categoriesToShow: [
|
|
AD_CATEGORY.FLAT,
|
|
AD_CATEGORY.HOUSE,
|
|
AD_CATEGORY.APARTMENT,
|
|
AD_CATEGORY.COTTAGE,
|
|
AD_CATEGORY.OFFICE
|
|
]
|
|
},
|
|
{
|
|
dbField: "internet",
|
|
title: "Internet",
|
|
categoriesToShow: [
|
|
AD_CATEGORY.FLAT,
|
|
AD_CATEGORY.HOUSE,
|
|
AD_CATEGORY.APARTMENT,
|
|
AD_CATEGORY.COTTAGE,
|
|
AD_CATEGORY.OFFICE
|
|
]
|
|
},
|
|
{
|
|
dbField: "basementAttic",
|
|
title: "Podrum-Tavan",
|
|
categoriesToShow: [
|
|
AD_CATEGORY.FLAT,
|
|
AD_CATEGORY.HOUSE,
|
|
AD_CATEGORY.APARTMENT,
|
|
AD_CATEGORY.COTTAGE
|
|
]
|
|
},
|
|
{
|
|
dbField: "storeRoom",
|
|
title: "Ostava",
|
|
categoriesToShow: [
|
|
AD_CATEGORY.FLAT,
|
|
AD_CATEGORY.HOUSE,
|
|
AD_CATEGORY.APARTMENT,
|
|
AD_CATEGORY.COTTAGE
|
|
]
|
|
},
|
|
{
|
|
dbField: "videoSurveillance",
|
|
title: "Video nadzor",
|
|
categoriesToShow: [
|
|
AD_CATEGORY.FLAT,
|
|
AD_CATEGORY.HOUSE,
|
|
AD_CATEGORY.APARTMENT,
|
|
AD_CATEGORY.COTTAGE,
|
|
AD_CATEGORY.OFFICE,
|
|
AD_CATEGORY.GARAGE
|
|
]
|
|
},
|
|
{
|
|
dbField: "alarm",
|
|
title: "Alarm",
|
|
categoriesToShow: [
|
|
AD_CATEGORY.FLAT,
|
|
AD_CATEGORY.HOUSE,
|
|
AD_CATEGORY.APARTMENT,
|
|
AD_CATEGORY.COTTAGE,
|
|
AD_CATEGORY.OFFICE,
|
|
AD_CATEGORY.GARAGE
|
|
]
|
|
},
|
|
{
|
|
dbField: "suitableForStudents",
|
|
title: "Za studente",
|
|
categoriesToShow: [
|
|
AD_CATEGORY.FLAT,
|
|
AD_CATEGORY.HOUSE,
|
|
AD_CATEGORY.APARTMENT,
|
|
AD_CATEGORY.COTTAGE
|
|
]
|
|
},
|
|
{
|
|
dbField: "includingBills",
|
|
title: "Uključen trošak režija",
|
|
categoriesToShow: [
|
|
AD_CATEGORY.FLAT,
|
|
AD_CATEGORY.HOUSE,
|
|
AD_CATEGORY.APARTMENT,
|
|
AD_CATEGORY.COTTAGE,
|
|
AD_CATEGORY.OFFICE,
|
|
AD_CATEGORY.GARAGE
|
|
]
|
|
},
|
|
{
|
|
dbField: "animalsAllowed",
|
|
title: "Kućni ljubimci dozvoljeni",
|
|
categoriesToShow: [
|
|
AD_CATEGORY.FLAT,
|
|
AD_CATEGORY.HOUSE,
|
|
AD_CATEGORY.APARTMENT,
|
|
AD_CATEGORY.COTTAGE
|
|
]
|
|
},
|
|
{
|
|
dbField: "pool",
|
|
title: "Bazen",
|
|
categoriesToShow: [AD_CATEGORY.HOUSE, AD_CATEGORY.COTTAGE]
|
|
},
|
|
{
|
|
dbField: "exchange",
|
|
title: "Zamjena",
|
|
categoriesToShow: [
|
|
AD_CATEGORY.FLAT,
|
|
AD_CATEGORY.HOUSE,
|
|
AD_CATEGORY.APARTMENT,
|
|
AD_CATEGORY.COTTAGE,
|
|
AD_CATEGORY.OFFICE,
|
|
AD_CATEGORY.LAND,
|
|
AD_CATEGORY.GARAGE
|
|
]
|
|
},
|
|
{
|
|
dbField: "urbanPlanPermit",
|
|
title: "Urbanistička dozvola",
|
|
categoriesToShow: [
|
|
AD_CATEGORY.FLAT,
|
|
AD_CATEGORY.HOUSE,
|
|
AD_CATEGORY.APARTMENT,
|
|
AD_CATEGORY.COTTAGE,
|
|
AD_CATEGORY.OFFICE,
|
|
AD_CATEGORY.LAND,
|
|
AD_CATEGORY.GARAGE
|
|
]
|
|
},
|
|
{
|
|
dbField: "buildingPermit",
|
|
title: "Građevinska dozvola",
|
|
categoriesToShow: [
|
|
AD_CATEGORY.FLAT,
|
|
AD_CATEGORY.HOUSE,
|
|
AD_CATEGORY.APARTMENT,
|
|
AD_CATEGORY.COTTAGE,
|
|
AD_CATEGORY.OFFICE,
|
|
AD_CATEGORY.LAND,
|
|
AD_CATEGORY.GARAGE
|
|
]
|
|
}
|
|
];
|
|
|
|
const ADDITIONAL_INPUT_PUBLISH = [
|
|
{
|
|
dbField: "longDescription",
|
|
title: "Detaljan opis",
|
|
categoriesToShow: [
|
|
AD_CATEGORY.FLAT,
|
|
AD_CATEGORY.HOUSE,
|
|
AD_CATEGORY.APARTMENT,
|
|
AD_CATEGORY.COTTAGE,
|
|
AD_CATEGORY.OFFICE,
|
|
AD_CATEGORY.LAND,
|
|
AD_CATEGORY.GARAGE
|
|
]
|
|
}
|
|
];
|
|
|
|
const ADDITIONAL_SEGMENT_PUBLISH = [
|
|
{
|
|
dbField: "accessRoadType",
|
|
title: "Pristupni put",
|
|
values: Object.keys(ACCESS_ROAD_TYPE).map(key => ACCESS_ROAD_TYPE[key]),
|
|
categoriesToShow: [
|
|
AD_CATEGORY.FLAT,
|
|
AD_CATEGORY.HOUSE,
|
|
AD_CATEGORY.APARTMENT,
|
|
AD_CATEGORY.COTTAGE,
|
|
AD_CATEGORY.OFFICE,
|
|
AD_CATEGORY.LAND,
|
|
AD_CATEGORY.GARAGE
|
|
]
|
|
},
|
|
{
|
|
dbField: "heatingType",
|
|
title: "Grijanje",
|
|
values: Object.keys(HEATING_TYPE).map(key => HEATING_TYPE[key]),
|
|
categoriesToShow: [
|
|
AD_CATEGORY.FLAT,
|
|
AD_CATEGORY.HOUSE,
|
|
AD_CATEGORY.APARTMENT,
|
|
AD_CATEGORY.COTTAGE,
|
|
AD_CATEGORY.OFFICE
|
|
]
|
|
}
|
|
];
|
|
|
|
module.exports = {
|
|
BASIC_INPUT_PUBLISH,
|
|
BASIC_SEGMENT_PUBLISH,
|
|
BASIC_BOOLEAN_PUBLISH,
|
|
ADDITIONAL_BOOLEAN_PUBLISH,
|
|
ADDITIONAL_INPUT_PUBLISH,
|
|
ADDITIONAL_SEGMENT_PUBLISH
|
|
};
|