dry-node
Version:
Initialiseur de structure Node Express typée et modulaire
45 lines (37 loc) • 1.43 kB
JavaScript
const DryCityModel = require("../../dry-module/dry-group-location/dry-city/model/dry-city.model");
const DryMakeObject = require("./dry-make-object.function");
const DrySaveLog = require("./dry-save-log.function");
const DryGenerateSlug = require("./dry-generate-slug.function");
const DryAddressModel = require("../../dry-module/dry-group-location/dry-address/model/dry-address.model");
const DryGenerateId = require("./dry-generate-id.function");
async function DrySaveCity(__city, req) {
if (typeof __city === "string") {
const _c = await DryAddressModel.findById(__city);
if (_c) {
return _c;
}
}
let city;
if (__city?._id && __city?._id !== "") {
city = __city;
} else if (__city && !__city?._id && __city.label !== "") {
let _city = await DryCityModel.findOne({ label: __city.label });
if (!_city) {
_city = {};
_city.label = __city?.label;
_city.country = __city.country;
_city.isExternal = true;
_city.id = DryMakeObject("city");
// _city.slug = await DryGenerateSlug(_city.label, DryCityModel);
// _city.id = await DryGenerateId("ADD", DryCityModel);
city = await DryCityModel.create(_city);
//await DrySaveLog(req, 'create', 'dry-city', city._id, {}, {});
} else {
city = _city;
}
} else {
city = null;
}
return city;
}
module.exports = DrySaveCity;