@gouvfr-anct/lieux-de-mediation-numerique
Version:
📚 Bibliothèque pour la modélisation des lieux de médiation numérique respectant le standard du schéma de données des lieux de médiation numériques
41 lines (40 loc) • 4.1 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.fromSchemaLieuxDeMediationNumerique = exports.fromSchemaLieuDeMediationNumerique = void 0;
const models_1 = require("../../../models");
const from_schema_lieux_de_mediation_numerique_fields_1 = require("./from-schema-lieux-de-mediation-numerique-fields");
const optionalFields = (schemaLieuMediationNumeriqueItem) => {
const servicesFound = (0, from_schema_lieux_de_mediation_numerique_fields_1.servicesIfAny)(schemaLieuMediationNumeriqueItem.services);
return {
...servicesFound,
...(0, from_schema_lieux_de_mediation_numerique_fields_1.localisationIfAny)(schemaLieuMediationNumeriqueItem.latitude, schemaLieuMediationNumeriqueItem.longitude),
...(0, from_schema_lieux_de_mediation_numerique_fields_1.typologiesIfAny)(schemaLieuMediationNumeriqueItem.typologie),
...(0, from_schema_lieux_de_mediation_numerique_fields_1.contactIfAny)(schemaLieuMediationNumeriqueItem),
...(0, from_schema_lieux_de_mediation_numerique_fields_1.horairesIfAny)(schemaLieuMediationNumeriqueItem.horaires),
...(0, from_schema_lieux_de_mediation_numerique_fields_1.presentationIfAny)(schemaLieuMediationNumeriqueItem),
...(0, from_schema_lieux_de_mediation_numerique_fields_1.sourceIfAny)(schemaLieuMediationNumeriqueItem.source),
...(0, from_schema_lieux_de_mediation_numerique_fields_1.structureParenteIfAny)(schemaLieuMediationNumeriqueItem.structure_parente),
...(0, from_schema_lieux_de_mediation_numerique_fields_1.publicsSpecifiquementAdressesIfAny)(schemaLieuMediationNumeriqueItem.publics_specifiquement_adresses, servicesFound.services),
...(0, from_schema_lieux_de_mediation_numerique_fields_1.priseEnChargeSpecifiqueIfAny)(schemaLieuMediationNumeriqueItem.prise_en_charge_specifique, servicesFound.services),
...(0, from_schema_lieux_de_mediation_numerique_fields_1.fraisAChargeIfAny)(schemaLieuMediationNumeriqueItem.frais_a_charge, servicesFound.services),
...(0, from_schema_lieux_de_mediation_numerique_fields_1.itinerancesIfAny)(schemaLieuMediationNumeriqueItem.itinerance, servicesFound.services),
...(0, from_schema_lieux_de_mediation_numerique_fields_1.dispositifProgrammesNationauxIfAny)(schemaLieuMediationNumeriqueItem.dispositif_programmes_nationaux),
...(0, from_schema_lieux_de_mediation_numerique_fields_1.formationsLabelsIfAny)(schemaLieuMediationNumeriqueItem.formations_labels),
...(0, from_schema_lieux_de_mediation_numerique_fields_1.autresFormationsLabelsIfAny)(schemaLieuMediationNumeriqueItem.autres_formations_labels),
...(0, from_schema_lieux_de_mediation_numerique_fields_1.modalitesAccompagnementIfAny)(schemaLieuMediationNumeriqueItem.modalites_accompagnement, servicesFound.services),
...(0, from_schema_lieux_de_mediation_numerique_fields_1.modalitesAccessIfAny)(schemaLieuMediationNumeriqueItem.modalites_acces, servicesFound.services),
...(0, from_schema_lieux_de_mediation_numerique_fields_1.ficheAccedLibreIfAny)(schemaLieuMediationNumeriqueItem.fiche_acces_libre),
...(0, from_schema_lieux_de_mediation_numerique_fields_1.priseRdvIfAny)(schemaLieuMediationNumeriqueItem.prise_rdv)
};
};
const fromSchemaLieuDeMediationNumerique = (schemaLieuMediationNumeriqueItem) => ({
id: (0, models_1.Id)(schemaLieuMediationNumeriqueItem.id),
pivot: (0, models_1.Pivot)(schemaLieuMediationNumeriqueItem.pivot),
nom: (0, models_1.Nom)(schemaLieuMediationNumeriqueItem.nom),
...(0, from_schema_lieux_de_mediation_numerique_fields_1.adresse)(schemaLieuMediationNumeriqueItem),
date_maj: new Date(schemaLieuMediationNumeriqueItem.date_maj),
...optionalFields(schemaLieuMediationNumeriqueItem)
});
exports.fromSchemaLieuDeMediationNumerique = fromSchemaLieuDeMediationNumerique;
const fromSchemaLieuxDeMediationNumerique = (schemaLieuxMediationNumerique) => schemaLieuxMediationNumerique.map(exports.fromSchemaLieuDeMediationNumerique);
exports.fromSchemaLieuxDeMediationNumerique = fromSchemaLieuxDeMediationNumerique;