dry-node
Version:
Initialiseur de structure Node Express typée et modulaire
47 lines (37 loc) • 1.63 kB
JavaScript
const DryPersonModel = require("../../dry-module/dry-person/model/dry-person.model");
const DryMakeObject = require("./dry-make-object.function");
const DrySaveAddress = require("./dry-save-address.function");
const DrySaveLog = require("./dry-save-log.function");
const DryGenerateSlug = require("./dry-generate-slug.function");
const DryGenerateId = require("./dry-generate-id.function");
async function DrySavePerson(__person, req) {
let person;
if (typeof __person === 'string') {
const _p = await DryPersonModel.findById(__person);
if(_p){
return _p
}
}
if (__person?._id && __person?._id !== "") {
person = __person;
} else if (__person && !__person?._id && __person.label !== '') {
let _person = {};
_person.email = __person.email?.toLowerCase();
_person.name = __person.name;
_person.firstName = __person.firstName;
_person.label = __person.firstName + " " + _person.name;
_person.gender = __person.gender;
if (!person?.picture) {
_person.picture = __person.gender === 'M' ? "m.png" : "f.png";
}
_person.phone = __person.phone?.toLowerCase();
_person.fixPhone = __person.fixPhone?.toLowerCase();
_person.address = await DrySaveAddress(__person?.address, req);
person = await DryPersonModel.create(_person);
DrySaveLog(req, 'create', 'dry-person', person?._id, {}, {}).then({});
} else {
person = null;
}
return person
}
module.exports = DrySavePerson;