{"version":3,"sources":["assets/img/portail/password_validation.png","../../../../../Shared/src/adel-shared/dist/components/basics/InputSelect.js","assets/logo/logo_spedidam.png","assets/img/portail/mail.png","assets/logo/logo_spedidam_colored.png","assets/img/undraw-throw-away-ldjd.png","assets/img/categorieDossier/AUTRE.png","assets/img/undraw-season-change-f-99-v.png","enums/Language.ts","i18n.js","components/fontawesome/Fontawesome.tsx","context/SignupSteps.ts","components/logo/WhiteLogo.tsx","components/basics/Subtitles.tsx","context/ActionType.ts","components/basics/Signup.tsx","services/generated/FrontOffice-api.ts","context/InitializeContextFromStorage.ts","context/AppReducer.ts","context/AppContext.tsx","components/basics/Footer.tsx","components/basics/Lang.tsx","components/basics/Input.tsx","components/basics/InputPassword.tsx","../../../../../Shared/src/adel-shared/dist/components/basics/FormButton.js","utils/functions.ts","validators/ValidationPropertyType.ts","utils/validatorFunctions.ts","clients/AdelValidationClient.ts","context/context-helpers.ts","custom-hooks/useAxios.ts","custom-hooks/useValidation.ts","components/signup/StepCreatePassword.tsx","components/structures/portail/Connection.tsx","components/structures/portail/mdp/PasswordValidation.tsx","components/structures/portail/mdp/ResetPassword.tsx","components/structures/portail/mdp/CreatePassword.tsx","components/signup/StepResetPassword.tsx","components/structures/portail/mdp/ResetChangePassword.tsx","context/CreationDossierSteps.ts","containers/Portal.tsx","custom-hooks/useSteps.ts","components/signup/signup-items/SignupList.tsx","components/basics/Login.tsx","components/basics/InputValidation.tsx","components/signup/signup-items/StepCounter.tsx","components/signup/StepOne.tsx","components/basics/Textarea.tsx","components/signup/StepTwo.tsx","components/basics/CheckboxRound.tsx","../../../../../Shared/src/adel-shared/dist/utils/functions.js","components/signup/StepFour.tsx","constants/config.constant.ts","components/signup/StepFive.tsx","../../../../../Shared/src/adel-shared/dist/components/basics/InputCalendar.js","helpers/parseToDuration.ts","helpers/tryParseToDate.ts","components/basics/InputDocuments/InputDocumentInfoDeSaisie.tsx","../../../../../Shared/src/adel-shared/dist/custom-hooks/usePrevious.js","components/basics/InputDocuments/InputDocumentV2.tsx","components/basics/InputDocuments/InputSelectDocumentV2.tsx","components/signup/StepSix.tsx","components/signup/StepSeven.tsx","clients/AdelStructureClient.ts","components/signup/signup-items/SignupEnd.tsx","enums/DossierFilterTypes.ts","components/signup/StepHeight.tsx","containers/Signup.tsx","components/structures/messagerie/ListCards.tsx","components/structures/dossiers/SearchBar.tsx","constants/filters.constants.ts","components/logo/ColoredLogo.tsx","components/basics/MenuBurger.tsx","components/structures/dossiers/StructuresHeader.tsx","containers/structures/Structure.tsx","../../../../../Shared/src/adel-shared/dist/components/basics/MessageSeparateur.js","../../../../../Shared/src/adel-shared/dist/components/basics/Message.js","components/structures/messagerie/MessagesList.tsx","containers/AuthenticatedRoute.tsx","../../../../../Shared/src/adel-shared/dist/components/InputReadOnly.js","../../../../../Shared/src/adel-shared/dist/components/WysiwygEditor.js","components/structures/messagerie/MailBox.tsx","components/structures/dossiers/StructuresFolderAddButton.tsx","components/basics/Chip.tsx","components/basics/Tooltip.tsx","components/basics/Filters.tsx","components/basics/InfiniteScroll.tsx","components/basics/ModalValidateCancel.tsx","components/structures/dossiers/StructuresFolderCardHeaderActions.tsx","../../../../../Shared/src/adel-shared/dist/custom-hooks/useBooleanState.js","../../../../../Shared/src/adel-shared/dist/components/basics/Table.js","components/structures/dossiers/StructuresFolderCard.tsx","components/structures/dossiers/DossiersGrid.tsx","../../../../../Shared/src/adel-shared/dist/components/basics/Pagination.js","../../../../../Shared/src/adel-shared/dist/enums/CategorieDossier.js","enums/Dossiers.ts","components/structures/dossiers/DossiersTable.tsx","components/structures/dossiers/StructuresContent.tsx","../../../../../Shared/src/adel-shared/dist/components/basics/Input.js","components/dossiers/creationDossier/ValidationPart1.tsx","components/basics/InputDocuments/InputDocument.tsx","components/basics/InputDocuments/InputSelectDocument.tsx","components/basics/InputDocuments/InputDocuments.tsx","components/dossiers/creationDossier/ValidationPart2.tsx","components/dossiers/creationDossier/Criteres.tsx","components/dossiers/creationDossier/TypeDossier.tsx","components/dossiers/creationDossier/ChiffresCles.tsx","../../../../../Shared/src/adel-shared/dist/components/basics/CollapsibleSection.js","components/basics/Modal.tsx","components/dossiers/creationDossier/lieuxDates/LieuxDatesEdition.tsx","components/basics/ModalErrorInformation.tsx","components/dossiers/creationDossier/lieuxDates/ModalValidationLieuxDates.tsx","components/dossiers/creationDossier/LieuxDates.tsx","clients/AdelDossierClient.ts","components/dossiers/creationDossier/enseignants/EditEnseignant.tsx","components/dossiers/creationDossier/Enseignants.tsx","components/dossiers/creationDossier/enseignants/ModalDeleteEnseignant.tsx","components/dossiers/creationDossier/enseignants/EnseignantList.tsx","components/dossiers/creationDossier/enseignants/ModalValidationEnseignants.tsx","../../../../../Shared/src/adel-shared/dist/components/basics/InputFileSingle.js","components/dossiers/creationDossier/DonneesBancaires.tsx","helpers/questionHelpers.ts","components/dossiers/creationDossier/questions/SimpleQuestionInput.tsx","components/dossiers/creationDossier/questions/MultilineTextQuestionInput.tsx","../../../../../Shared/src/adel-shared/dist/components/basics/InputRadioButton.js","../../../../../Shared/src/adel-shared/dist/enums/Language.js","components/dossiers/creationDossier/questions/YesNoQuestionInput.tsx","components/dossiers/creationDossier/questions/ChoiceListQuestionInput.tsx","helpers/getAsDate.ts","components/dossiers/creationDossier/questions/DateQuestionInput.tsx","components/dossiers/creationDossier/questions/PeriodQuestionInput.tsx","components/dossiers/creationDossier/questions/BlockingQuestionInput.tsx","models/FileRef.ts","components/dossiers/creationDossier/questions/FileQuestionInput.tsx","components/dossiers/creationDossier/questions/ArrayQuestionInputItem.tsx","components/dossiers/creationDossier/questions/ArrayQuestionInput.tsx","components/dossiers/creationDossier/questionsBlock/RenderBlockContent.tsx","components/monCompte/bancaire/DonneesBancaireReadonly.tsx","components/dossiers/creationDossier/Description.tsx","components/dossiers/detailsDossier/DocumentValidationLight.tsx","../../../../../Shared/src/adel-shared/dist/i18n.js","../../../../../Shared/src/adel-shared/dist/models/generated/BackOffice-api.js","../../../../../Shared/src/adel-shared/dist/components/basics/TotalAmountsTable.js","../../../../../Shared/src/adel-shared/dist/models/generated/FrontOffice-api.js","../../../../../Shared/src/adel-shared/dist/components/DossierDetails/Artistes.js","../../../../../Shared/src/adel-shared/dist/components/DossierDetails/DeplacementsTable.js","../../../../../Shared/src/adel-shared/dist/components/DossierDetails/Programmation.js","../../../../../Shared/src/adel-shared/dist/utils/translationHelpers.js","../../../../../Shared/src/adel-shared/dist/components/DossierDetails/BudgetsPrevisionnels.js","../../../../../Shared/src/adel-shared/dist/components/DossierDetails/InformationsBudget.js","../../../../../Shared/src/adel-shared/dist/components/DossierDetails/Structure.js","../../../../../Shared/src/adel-shared/dist/components/DossierDetails/Enseignants.js","../../../../../Shared/src/adel-shared/dist/components/DossierDetails/Salaries.js","../../../../../Shared/src/adel-shared/dist/components/DossierDetails/ChiffresCles.js","../../../../../Shared/src/adel-shared/dist/utils/questionHelpers.js","enums/StyleMusical.ts","../../../../../Shared/src/adel-shared/dist/components/DossierDetails/infosProjet/questions/SimpleQuestionInput.js","../../../../../Shared/src/adel-shared/dist/components/DossierDetails/infosProjet/questions/YesNoQuestionInput.js","../../../../../Shared/src/adel-shared/dist/components/DossierDetails/infosProjet/questions/ChoiceListQuestionInput.js","../../../../../Shared/src/adel-shared/dist/components/DossierDetails/infosProjet/questions/DateQuestionInput.js","../../../../../Shared/src/adel-shared/dist/components/DossierDetails/infosProjet/questions/PeriodQuestionInput.js","../../../../../Shared/src/adel-shared/dist/components/DossierDetails/infosProjet/questions/FileQuestionInput.js","../../../../../Shared/src/adel-shared/dist/components/DossierDetails/infosProjet/questions/ArrayQuestionInputItem.js","../../../../../Shared/src/adel-shared/dist/components/DossierDetails/infosProjet/questions/ArrayQuestionInput.js","../../../../../Shared/src/adel-shared/dist/components/DossierDetails/infosProjet/RenderBlockContent.js","../../../../../Shared/src/adel-shared/dist/components/DossierDetails/InfosProjet.js","../../../../../Shared/src/adel-shared/dist/components/DossierDetails/DescriptionProjet.js","../../../../../Shared/src/adel-shared/dist/components/DossierDetails/Contenu.js","components/dossiers/detailsDossier/DetailsDossierContent.tsx","components/dossiers/creationDossier/Validation.tsx","components/dossiers/creationDossier/artistes/ModalDeleteArtiste.tsx","components/dossiers/creationDossier/artistes/ArtisteList.tsx","components/dossiers/creationDossier/artistes/MontantBrutInput.tsx","components/dossiers/creationDossier/artistes/Cachets.tsx","components/dossiers/creationDossier/artistes/SalairesDatesBlock.tsx","components/dossiers/creationDossier/artistes/Salaires.tsx","../../../../../Shared/src/adel-shared/dist/components/basics/InputRadioYesNo.js","components/dossiers/creationDossier/ContratsCachets.tsx","components/dossiers/creationDossier/artistes/EditArtiste.tsx","components/dossiers/creationDossier/artistes/ModalValidationArtiste.tsx","custom-hooks/useIsMounted.ts","components/dossiers/creationDossier/SalarieArtistes.tsx","components/dossiers/InfosResponsableDossier.tsx","components/dossiers/creationDossier/questions/fakeQuestionsData.ts","components/dossiers/creationDossier/InfosProjet.tsx","../../../../../Shared/src/adel-shared/dist/components/basics/InputCalendarManual.js","../../../../../Shared/src/adel-shared/dist/components/basics/InputCalendarLabelled.js","components/dossiers/creationDossier/salarie/Salarie.tsx","components/dossiers/creationDossier/salarie/Artistes.tsx","components/dossiers/creationDossier/trajets/EditTrajet.tsx","components/dossiers/creationDossier/trajets/EscaleCheckbox.tsx","components/dossiers/creationDossier/trajets/RenderTrajetBlock.tsx","components/dossiers/creationDossier/Trajets.tsx","components/dossiers/creationDossier/trajets/ModalDeleteTrajet.tsx","utils/budgetFunctions.ts","components/dossiers/creationDossier/budget/BudgetInput.tsx","components/dossiers/creationDossier/budget/BudgetBlock.tsx","components/dossiers/creationDossier/Budget.tsx","components/dossiers/MessageValidation.tsx","components/dossiers/CreationDossier.tsx","components/dossiers/DetailsDossier.tsx","components/monCompte/InputValidationMonCompteStructure.tsx","components/monCompte/MonCompteStructure.tsx","components/monCompte/bancaire/BancaireEdit.tsx","components/monCompte/bancaire/MonCompteBancaire.tsx","../../../../../Shared/src/adel-shared/dist/custom-hooks/useToggleState.js","components/monCompte/MonCompteInfos.tsx","components/basics/InputSelect.tsx","components/monCompte/MonCompte.tsx","components/monCompte/MonCompteAdministratif.tsx","components/monCompte/correspondant/CorrespondantEdit.tsx","components/monCompte/correspondant/MonCompteCorrespondant.tsx","components/monCompte/MonCompteFichier.tsx","components/PagesVitrines/PublicHeader.tsx","components/PagesVitrines/PagesVitrines.tsx","components/versements/VersementsListe.tsx","components/versements/VersementStatut.tsx","components/versements/creationVersement/etapes/InformationsDossier.tsx","clients/AdelVersementClient.ts","components/versements/creationVersement/etapes/artistes/DepenseItem.tsx","components/versements/creationVersement/etapes/artistes/ArtisteList.tsx","components/versements/creationVersement/etapes/artistes/ModalAddArtist.tsx","components/versements/creationVersement/etapes/ContratsCachets.tsx","components/versements/creationVersement/etapes/Enseignants.tsx","components/versements/creationVersement/etapes/enseignants/EditEnseignant.tsx","components/versements/creationVersement/etapes/enseignants/ModalDeleteEnseignant.tsx","components/versements/creationVersement/etapes/enseignants/EnseignantList.tsx","components/versements/creationVersement/etapes/enseignants/ModalValidationEnseignants.tsx","components/versements/creationVersement/etapes/trajets/EditTrajet.tsx","components/versements/creationVersement/etapes/trajets/EscaleCheckbox.tsx","components/versements/creationVersement/etapes/trajets/RenderTrajetBlock.tsx","components/versements/creationVersement/etapes/Trajets.tsx","components/versements/creationVersement/etapes/trajets/ModalDeleteTrajet.tsx","components/versements/creationVersement/etapes/PiecesJointes.tsx","components/versements/creationVersement/etapes/Rib.tsx","components/versements/creationVersement/etapes/Recapitulatif.tsx","components/versements/creationVersement/CreationVersement.tsx","components/structures/portail/StructureDisabled.tsx","components/structures/portail/StructurePending.tsx","components/validationMail/ValidationMail.tsx","containers/Toaster.tsx","components/AppInitialize.tsx","App.tsx","serviceWorker.ts","index.tsx","assets/img/categorieDossier/AIDERES.png","assets/img/categorieDossier/ASA.png","assets/img/categorieDossier/BO.png","assets/img/categorieDossier/DIFFAVIG.png","assets/img/categorieDossier/DIFFLIEU.png","assets/img/categorieDossier/DRAMA.png","assets/img/categorieDossier/ECOLE.png","assets/img/categorieDossier/FEST.png","assets/img/categorieDossier/FILM.png","assets/img/categorieDossier/FORTI.png","assets/img/categorieDossier/INT.png","assets/img/categorieDossier/INTGEN.png","assets/img/categorieDossier/MUSICAL.png","assets/img/categorieDossier/PROMO.png","assets/img/categorieDossier/SOIRART.png","assets/img/undraw-not-found.png"],"names":["module","exports","arrayToOptions","items","nameEval","t","map","item","label","eval","value","InputSelect","hasHtmlInLabel","name","classname","options","onChange","position","errors","customMatchValue","onTryToSelectADisabledValue","isSearchable","isMulti","isClearable","errorMessageCusto","readonly","selectAll","placeholder","isDisabled","styles","isNomcourt","useState","selectedValue","setSelectedValue","selectOptions","setSelectOptions","allOption","useEffect","selectedOption","filter","option","length","some","x","getAdelOptionFromReactSelectValue","selectValue","find","colorInput","setColorInput","focusInput","setFocusInput","isLocalhost","Boolean","window","location","hostname","match","url","href","link","substring","indexOf","customStyles","base","state","backgroundColor","isSelected","isFocused","color","Option","components","SingleValue","React","createElement","className","dangerouslySetInnerHTML","__html","Select","actionMeta","slice","adelOption","disabled","console","debug","props","Object","assign","data","hasClass","title","labelLong","icon","img","src","alt","button","menuIsOpen","undefined","ErrorMessage","message","Language","defaultLanguage","FR","resources","en","translation","translationEN","fr","translationFR","i18n","use","LanguageDetector","initReactI18next","init","lng","keySeparator","interpolation","escapeValue","library","add","fab","faCalendarAlt","faTimes","faChevronLeft","faTrash","SignupStep","WhiteLogo","Logo","Subtitles","ActionTypeEnum","Signup","linkLabel","to","One","AnswerType","ChampDepense","ChampFinancement","Civilite","ConditionOperator","DocumentScope","Emploi","Groupe","GroupeCodeValues","Equipements","EtapeCreationDossier","EtapeDemandeVersement","FilterOperator","GroupeCommission","ModeVersement","ObjetDiscussion","QualificationEnseignant","StatutCommission","StatutDiscussion","StatutDossier","StatutEnseignant","StatutGenerationPdf","StatutStructure","StatutVersement","TypeContrat","TypeDeDocumentExtraInfoValueType","TypeDepense","TypeFinancement","TypePoste","TypePrestation","TypesAdresses","TypeTransport","TypeVersement","ProblemDetailsCode","AdresseClient","baseUrl","instance","jsonParseReviver","this","axios","create","query","postcode","cancelToken","url_","Error","encodeURIComponent","options_","method","replace","headers","request","catch","_error","isAxiosError","response","then","_response","processSearchAdresse","status","_headers","k","hasOwnProperty","result200","Promise","resolve","throwException","ArtisteClient","artisteId","processGetArtiste","_responseText","body","JSON","stringify","processUpdateArtiste","processDeleteArtiste","dossierId","search","processAutocompleteArtiste","AuthClient","processLogin","processLogout","processChangePassword","processResetPassword","processChangePasswordWithResetToken","BanqueClient","iban","processValidateIban","DossierClient","filters","sorts","page","pageSize","disablePagination","processGetDossiers","processCreateDossier","processGetCurrentDossierInfo","processGetDossierDetails","processRenonciationDossier","processDuplicationDossier","categorieId","processGetCurrentCritereDossier","processGetDossierCommission","processCreatePrestation","result201","processCreateArtiste","nom","prenom","ville","disciplines","otherDiscipline","instrumentId","qualification","typeContrat","statut","remunerationBruteAnnuelle","montantChargesPatronales","tarifHoraireBrut","remunerationPremierTrimestre","contratEngagement_Id","contratEngagement_TypeId","contratEngagement_PartName","contratEngagement_ExtraInfos","contratEngagement_FileName","contratEngagement_ContentType","contratEngagement_Content_CanRead","contratEngagement_Content_CanWrite","contratEngagement_Content_CanSeek","contratEngagement_Content_CanTimeout","contratEngagement_Content_Length","contratEngagement_Content_Position","contratEngagement_Content_ReadTimeout","contratEngagement_Content_WriteTimeout","justificatifRemuneration_Id","justificatifRemuneration_TypeId","justificatifRemuneration_PartName","justificatifRemuneration_ExtraInfos","justificatifRemuneration_FileName","justificatifRemuneration_ContentType","justificatifRemuneration_Content_CanRead","justificatifRemuneration_Content_CanWrite","justificatifRemuneration_Content_CanSeek","justificatifRemuneration_Content_CanTimeout","justificatifRemuneration_Content_Length","justificatifRemuneration_Content_Position","justificatifRemuneration_Content_ReadTimeout","justificatifRemuneration_Content_WriteTimeout","documents","content_","FormData","append","toString","forEach","item_","fileName","processCreateEnseignant","enseignantId","processUpdateEnseignant","processDeleteEnseignant","prestationId","processUpdatePrestation","processDeletePrestation","processGetEtapesCreationDossier","answers","files","processSubmitInfosProjetAnswers","processSetResponsableDossier","processSubmitDescriptionProjetAnswers","commentaire","depenses","financements","processCreateBudget","processUpdateBudget","processGetDossierBudget","processGetBudgetViewModel","processGetPrestationsViewModel","processGetLieux","processGetDossierPays","processValidatePrestations","processValidateArtistes","processValidateEnseignants","processCreateChiffresCles","processCreateOrUpdateAidesFonctionnement","processGetChiffresClesViewModel","email","adresse_Line1","adresse_Line2","adresse_CodePostal","adresse_Ville","dateNaissance","dateEmbauchePrevue","salaireBrut","cV_Id","cV_TypeId","cV_PartName","cV_ExtraInfos","cV_FileName","cV_ContentType","cV_Content_CanRead","cV_Content_CanWrite","cV_Content_CanSeek","cV_Content_CanTimeout","cV_Content_Length","cV_Content_Position","cV_Content_ReadTimeout","cV_Content_WriteTimeout","diplome_Id","diplome_TypeId","diplome_PartName","diplome_ExtraInfos","diplome_FileName","diplome_ContentType","diplome_Content_CanRead","diplome_Content_CanWrite","diplome_Content_CanSeek","diplome_Content_CanTimeout","diplome_Content_Length","diplome_Content_Position","diplome_Content_ReadTimeout","diplome_Content_WriteTimeout","conventionCollective","equipements","autresEquipements","typesAdresses","autreAdresse_Line1","autreAdresse_Line2","autreAdresse_CodePostal","autreAdresse_Ville","toJSON","processCreateSalarie","processGetSalarie","salarieId","processUpdateSalarie","processDeleteSalarie","processDeleteDossier","processGetMasseSalariale","processSoumettreDossier","processCreateTrajet","trajetId","processDeleteTrajet","processUpdateTrajet","versementId","processGetTrajets","document_Id","document_TypeId","document_PartName","document_ExtraInfos","document_FileName","document_ContentType","document_Content_CanRead","document_Content_CanWrite","document_Content_CanSeek","document_Content_CanTimeout","document_Content_Length","document_Content_Position","document_Content_ReadTimeout","document_Content_WriteTimeout","processValidateTrajets","processGetEnseignantsViewModel","processGetEnseignants","processGetArtistes","processGetArtistesViewModel","processGetInfosProjetViewModel","processGetDescriptionProjetViewModel","MessageAlerteClient","processGetMessageAlerte","processGetAllMessageAlerte","MessagerieClient","processGetMessagerie","discussionId","processCreateMessageDiscussion","processSetDiscussionLu","NotificationClient","processGetNotifications","PageVitrineClient","processGetPagesVitrine","PaysClient","processGetPays","StructureClient","json","document1","document2","documentN","processCreateStructure","siret","structureId","processGetStructureInfoFromSiret","processGetFormesJuridiques","formeJuridiqueId","codeAPE","nomenclatureAPE","processGetRequiredTypesDeDocument","processGetStructureTypesDeDocument","processResendValidationEmail","processGetDocuments","processGetStructureValidationContacts","processUpdateStructureValidationContacts","bic","banque","rIB_Id","rIB_TypeId","rIB_PartName","rIB_ExtraInfos","rIB_FileName","rIB_ContentType","rIB_Content_CanRead","rIB_Content_CanWrite","rIB_Content_CanSeek","rIB_Content_CanTimeout","rIB_Content_Length","rIB_Content_Position","rIB_Content_ReadTimeout","rIB_Content_WriteTimeout","processCreateOrUpdateDonneesBancaires","processUpdateStructureJuridique","processUpdateStructureContact","processUpdateStructureAdresse","processGetStructureCategoriesDossier","processGetStructureCorrespondantAdministratif","processGetStructureDetails","processUpdateStructureDocuments","processUpdateStructureInformations","UserClient","processChangeUserEmail","processGetMe","VersementClient","processCreateVersement","processGetVersements","processGetEtapesDemandeVersement","processDeleteVersement","processGetDemandeVersementDetails","processGetDemandeVersementInfos","isDeleted","hasSendDocPromoImage","file","formData","post","processUpdateHasSendDocPromoImage","processGetDemandeVersementLieuxDates","processCreatePrestationOnDemandeVersement","lieuId","processUpdatePrestationOnDemandeVersement","processDeletePrestationOnDemandeVersement","processGetContratsCachetsOnDemandeVersement","depensesSpecifiques","autresDepenses","processCreateOrUpdateDepenses","processUpdateVersementCommentaire","processGetVersementArtistes","processCreateVersementArtiste","versementArtisteId","processUpdateVersementArtiste","processGetVersementArtiste","processDeleteVersementArtiste","processCreateEnseignantOnDemandeVersement","processUpdateEnseignantOnDemandeVersement","versementArtistes","processUpdateArtisteDocument","enseignants","processUpdateEnseignantRemuneration","processDeleteEnseignantOnDemandeVersement","processGetPiecesJointesOnDemandeVersement","processGetInfoBancaireOnDemandeVersement","piecesJointes","processCreateOrUpdatePieceJointes","processGetRecapitulatifDemandeVersement","processSoumettreVersement","ApiException","result","isApiException","obj","defaultContextValue","user","structure","signupStepOne","adresse","line2","codePostal","civilite","Monsieur","formeJuridique","id","code","presidentPrenom","presidentNom","raisonSociale","isValidated","formeJuridiqueReadOnly","signupStepTwo","signupStepThree","line1","pays","rue","signupStepFour","hasCorrespondantParDefaut","poste","Administrateur","signupStepFive","hasAdresseParDefaut","complementAdresse","codeLangue","signupStepSix","signupStepSeven","newEmail","signupHighestStep","formesJuridiques","error","type","canCreateStructure","creationDossierAnswers","creationDossierResponsable","dossierStates","currentEditingDossier","categorieCode","numero","dossierToDelete","isLoading","dossiersNeedRefresh","dossiers","noDossiersMessage","versementStates","currentEditingVersement","originalDossierId","pagesVitrine","appReducer","dispatchedAction","UPDATE_STRUCTURE","payload","UPDATE_STRUCTURE_INFOS","informations","UPDATE_STRUCTURE_ADDRESS","payloadAddress","adresseCorrespondance","parDefaut","autre","SET_USER","UNSET_USER","LOGOUT_USER","SET_SIGNUP_STEP_ONE","SET_SIGNUP_STEP_TWO","SET_SIGNUP_STEP_THREE","SET_SIGNUP_STEP_FOUR","SET_SIGNUP_STEP_FIVE","SET_SIGNUP_STEP_SIX","SET_SIGNUP_STEP_SIX_DOCUMENT_DATE","typeDocument","extraInfoCode","dateValue","documentIndex","findIndex","push","typeId","extraInfos","SET_SIGNUP_STEP_SIX_DOCUMENT_FILE","fileValue","SET_SIGNUP_STEP_SIX_DOCUMENT_TYPE","typeDeDocumentSelected","SET_SIGNUP_STEP_SIX_DOCUMENT_EXTRA_INFO","SET_SIGNUP_STEP_SEVEN","SET_SIGNUP_HIGHEST_STEP","ERROR_OCCURRED","CAN_CREATE_STRUCTURE","REINIT_TOASTER","START_NEW_DOSSIER_CREATION","CREATE_DOSSIER_REQUEST","CREATE_DOSSIER_SUCCESS","UPDATE_DOSSIER_STATE","newDossierStates","EDIT_DOSSIER","DELETE_DOSSIER_REQUEST","DELETE_DOSSIER_SUCCESS","dossierIdToDelete","fromEntries","entries","entry","DOSSIER_REFRESHED","SET_DOSSIERS_LIST_SUCCESS","SEARCH_DOSSIERS_SUCCESS","START_NEW_VERSEMENT_CREATION","CREATE_VERSEMENT_REQUEST","CREATE_VERSEMENT_SUCCESS","UPDATE_VERSEMENT_STATE","payloadVersement","newVersementStates","versementType","EDIT_VERSEMENT","GET_PAGES_VITRINE_SUCCESS","localStorage","contextJSON","getItem","context","parse","InitializeContextFromStorage","AppStateContext","createContext","AppContext","children","useReducer","setContext","setItem","Provider","Footer","useTranslation","useContext","key","urlSlug","language","info","data-text","Lang","lang","setLang","event","target","EN","changeLanguage","toLocaleUpperCase","Input","autoComplete","placeHolder","maxLength","reference","dataList","ref","readOnly","e","list","index","InputPassword","showPass","setShowPass","onClick","FormButton","clsx","ValidationPropertyType","convertIFilesBudgetToDocumentUploadInfoDto","doc","partName","isDateOrDateString","Date","timestamp","isNaN","toISOString","euroPrefix","bicRgx","RegExp","ibanValidate","messageCountry","prefix","includes","trimIban","Array","from","fourcharacters","splice","calculateMod","str","mod","n","parseInt","first","second","Math","pow","charCodeAt","join","checkRegex","regex","messageError","test","AdelValidationClient","err","useAppStateContext","useAppDispatch","useUserContext","useStepOneContext","useStepTwoContext","useStepThreeContext","useStepFiveContext","axiosInstance","useAxios","dispatch","interceptors","handlers","errorResponse","reject","errorResponseType","keys","additionalDetails","InvalidParameters","PreconditionFailed","AccessDenied","Forbidden","EntityNotFound","EmailingServiceUnavailable","SiretNotFound","MinimumRemuneration","remuneration","montantMinimum","typePrestation","MontantAideMustBeInferior","montantAide","montant","Unknown","useValidation","StepCreatePasswordQueryParams","validationData","setValidationData","client","validation","r","transformValidations","validatorInfos","validationOptions","NotNull","required","NotEmpty","DefaultValueForType","validate","notZero","parseFloat","minLength","UniqueCharCountProperty","RegularExpression","Expression","haveGoodFormat","startsWith","pattern","RequiredUniqueChars","isUpper","isLower","isDigit","isSpecial","isUnique","validator","array","Set","requiredUniqueCharValidate","number","ExactLength","Min","Max","Email","MaximumLength","MinimumLength","AspNetCoreCompatibleEmail","lastIndexOf","emailValidate","Siret","trim","split","every","siretValidate","Phone","Iban","Bic","GreaterThan","valueInput","ValueToCompare","greaterThan","ComparaisonValue","GreaterThanOrEqual","greaterThanOrEqual","LessThan","lessThan","LessThanOrEqual","lessThanOrEqual","getRootValidator","selector","selectedData","Connection","setResetPassword","useForm","register","getValues","triggerValidation","loginValidator","setMessage","messageAlerteClient","userName","navigate","a","getMessageAlerte","login","preventDefault","stopPropagation","username","password","statutStructure","exception","toast","pathname","action","PasswordValidation","setValidPass","paragraph","afterSubmit","PassValidation","ResetPassword","validPass","userNameValidator","sendResetMail","resetPasswordDto","resetPassword","CreatePassword","token","defaultValues","watch","createPasswordValidator","useRef","current","validationNotMatchMessage","onSubmit","changePasswordWithResetTokenDto","newPassword","changePasswordWithResetToken","StepResetPasswordQueryParams","StepCreatePassword","setToken","setUsername","searchParams","URLSearchParams","get","Token","UserName","ResetChangePassword","EtapeCreationPlus","StepResetPassword","Portal","path","useSteps","orderedSteps","steps","setSteps","initialSteps","isHigherStep","sourceStep","targetStep","sourceStepIndex","element","targetStepIndex","getNextStep","step","nextStepIndex","getPreviousStep","previousStepIndex","mergeSteps","additionalSteps","newSteps","isHigherOrCurrentStep","getStepIndex","useSignupSteps","Two","Four","Five","Six","Seven","SignupList","navigateToStep","highestStep","Login","InputValidation","buttonLabel","validated","onValidate","onPaste","onInput","width","height","StepCounter","counter","StepOne","forwardRef","setCanGoNext","handleSubmit","setValue","control","siretValidated","setSiretValidated","setIsLoading","setFormeJuridique","formeJuridiques","setFormesJuridiques","setFormeJuridiqueReadOnly","raisonSocialeReadonly","setRaisonSocialeReadonly","setCivilite","createStructureValidator","adresseValidator","contactValidator","geoAdresse","setGeoAdresse","optionsPoste","useCallback","gerant","Gerant","president","President","directeur","Directeur","useImperativeHandle","validateForm","telephoneFixe","telephonePortable","presidentPoste","validateSiret","structureClient","getStructureInfoFromSiret","isRegisteredWithAdel","nomPresident","getFormesJuridiques","invalidateSiret","getOptionsFromFormeJuridique","optionArray","selectResult","getOptionFromFormeJuridique","onAdresseChange","geoAdresseFiltered","selectedAdresse","noValidate","clipboardContent","clipboardData","getData","_","debounce","input","searchAdresse","results","as","source","rules","allOptions","Textarea","messages","StepTwo","createStructureDto","myProp","CheckboxRound","checked","htmlFor","sublabel","scrollToBottom","messageBody","document","getElementById","scrollTop","scrollHeight","clientHeight","normalizeDate","date","getTime","abs","getTimezoneOffset","escapeName","formatNumber","style","Number","round","toLocaleString","formatPhone","nb","_a","_b","sortArrayAsc","b","formaterDate","moment","format","StepFour","defaultCheckbox","setDefaultCheckbox","otherCheckbox","setOtherCheckbox","defaultContact","useStepFourContext","handleCheckbox","posteOptions","onBlur","modalCustomStyles","content","overflow","minWidth","overlay","zIndex","modalSmallerCustomStyles","top","left","right","bottom","marginRight","transform","maxWidth","padding","modalLargeCustomStyles","inputAutocompleteDisabled","navigator","userAgent","nomFrance","paginationNumbers","p1","p2","p3","p4","p5","StepFive","defaultAdresse","langue","setLangue","InputCalendar","defaultDate","onDateSelected","onResetExtraInfos","unlock","minDate","maxDate","setDate","showCalendar","setShowCalendar","useOnClickOutside","handleShowCalendar","handleReset","Fragment","Moment","Calendar","locale","parseToDuration","iso8601Duration","tryParseToDate","InputDocumentInfoDeSaisie","internalValue","setInternalValue","usePrevious","getDocumentMinDateString","expirationPeriodString","expirationPeriod","now","nowYear","getFullYear","nowMonth","getMonth","nowDay","getDate","expiredYear","years","expiredMonth","months","expiredDay","days","getDocumentMinDate","getDocumentMaxDateString","docDate","docYear","docMonth","docDay","getDocumentMaxDate","isDocumentExpired","documentDate","expirationDate","isBefore","InputDocumentV2","onDocumentChange","typeDeDocument","defaultFile","onFileChange","onDateChange","onValueChange","onReset","form","setFile","isUploadDocumentButtonDisabled","setIsUploadDocumentButtonDisabled","values","setValues","prevDate","inputFileRef","docExpirationDate","documentRequired","setDocumentRequired","dateRequired","setDateRequired","dateLabel","setDateLabel","valueRequired","setValueRequired","infosSaisies","setInfosSaisies","handleChangeRequiredValues","findString","valueType","hasDate","hasValue","isRequired","hasAttachment","isSame","resetExtraInfos","extraInfo","existingDate","evaluateUploadDocumentButton","reset","customFileValidation","expirationRelativeTo","fileAdded","expiredDate","valuesAreValid","handleDateChange","existingExtraInfoDate","extraInfoDateFromType","updatedExtraInfo","handleValueChange","infoSaisieCode","existingExtraInfoString","modifiedDate","evaluatedDate","isDocExpired","uri","open","opacity","selectedFile","infoSaisie","InputSelectDocument","defaultSelection","defaultDates","defaultFiles","onTypeDocumentChange","onExtraInfoChange","selection","setSelection","currentDocument","setCurrentDocument","inputDocumentRef","handleTypeDocumentChange","typeDoc","choix","documentCode","StepSix","useStepSixContext","typesDocument","setTypesDocument","datesDic","setDatesDic","filesDic","setFilesDic","selectDic","setSelectDic","valuesDic","setValuesDic","getRequiredTypesDeDocument","d","normalize","f","g","_selectDic","_datesDic","_valuesDic","_filesDic","handleSelectTypeDocumentChange","handleFileChange","fileList","handleExtraInfoChange","resetFileAttachment","fieldName","isValid","StepSeven","useStepSevenContext","isEmailWrong","setIsEmailWrong","setEmail","sendEmail","resendValidationEmail","success","Mail","AdelStructureClient","set","processStructure","size","i18next","maxTotalFilesSize","put","FilterType","SignupEnd","EndImg","StepHeight","canGoNext","currentStep","setCurrentStep","refs","nextStep","validateFinalStep","createStructure","correspondant","canClear","clear","previousStep","Height","ListCards","messageList","selectedDiscussion","setSelectedDiscussion","messagerieClient","discussionsLu","setDiscussionsLu","discussionsStructure","discussionsDossiers","aMessageNonLu","cardIsActive","setDiscussionLu","discussion","categorieTypeImgDic","FEST","BO","DRAMA","ECOLE","FILM","INT","MUSICAL","PROMO","FORTI","INTGEN","SOIRART","ASA","DIFFLIEU","AIDERES","DIFFAVIG","objet","data-tip","data-for","place","effect","dossierNumero","SearchBar","dossierClient","searchDebounced","searchDossier","getDossiers","log","handleChange","ColoredLogo","MenuBurger","menuCheckbox","setMenuCheckbox","logout","notifications","StructuresHeader","isStructurePendingOrDisabled","setNotifications","setUser","notificationClient","authClient","getNotifMessages","getNotifications","messagesNotifications","Partial","Structures","cloneElement","MessageSeparateur","Messages","createdAt","fromMe","contenu","pj","MessagesList","m","messageId","Message","auteur","AuthenticatedRoute","InputReadOnly","theme","hasHtmlLabel","WysiwygEditor","editorValueContent","setEditorValueContent","isReadonly","customButtons","setOptions","config","Jodit","defaultOptions","buttons","concat","limitChars","removeButtons","processPasteHTML","processPasteFromWord","askBeforePasteFromWord","askBeforePasteHTML","JoditEditor","newContent","innerHTML","StructuresMailBoxContent","sendingMessage","setSendingMessage","discussions","setDiscussions","isDiscussionDossier","isDiscussionStructure","editorContent","setEditorContent","exchange","setExchange","getDiscussions","getMessagerie","messagerie","sendMessage","createMessageDiscussion","selectedDisc","unshift","interlocuteur","Termine","StructuresFolderAddButton","pathLink","colorInverted","Chip","onRemoveChip","dates","dateRange","extendMoment","start","end","range","handleRemoveChip","aria-hidden","Tooltip","visible","statutOptions","categoriesOptions","onSelectFilter","onTooltipVisibleChange","tooltipRef","setDateRange","isVisible","setIsVisible","addEventListener","handleClick","removeEventListener","contains","classList","Statut","Categorie","selectRange","Filters","setFilters","chips","setChips","setTooltipPosX","setTooltipPosY","tooltipVisible","setTooltipVisible","useMemo","typeOptions","setTypeOptions","getStructureCategoriesDossier","newData","removeChip","newChips","chip","statutFilter","typeFilter","datesFilter","updateFilters","chipOption","posX","getBoundingClientRect","offsetWidth","posY","offsetHeight","updateTooltipPosition","filterType","chipToAdd","updateChips","i","InfiniteScroll","callback","classNames","scrollRef","handleScroll","ModalValidateCancel","isOpen","onCancel","validateButtonLabel","cancelButtonLabel","hasValidateButton","Modal","setAppElement","StructuresFolderCardHeaderActions","onView","onDuplicate","onEdit","onAbandon","role","useBooleanState","styleTable","defaultValue","StructuresFolderCard","dossier","categorieNom","canVersement","convention","courrierAgreement","lettreRefus","blocageAvis","alert","actions","categorieTypeImg","debounceFetchDossiers","isDeleteModalOpened","showDeleteModal","closeDeleteModal","isDeleteLoading","setIsDeleteLoading","handleView","goToVersement","handleDuplicate","duplicationDossier","Brouillon","rel","Accepte","Solde","Reaffecte","deleteDossier","StructuresContent","sort","disabledPagination","NoFolder","Pagination","hasNext","hasPrevious","isFirst","isLast","totalPageCount","totalItemCount","initPageSize","initPage","pageNumbers","pagesSelect","handleSelectChange","elem","CategorieDossier","DossierView","defaultPropGetter","Table","getTableProps","getTableBodyProps","getCellProps","getRowProps","headerGroups","rows","prepareRow","footerGroups","onglet","headerGroup","getHeaderGroupProps","column","getHeaderProps","getSortByToggleProps","disableSortBy","isSorted","isSortedDesc","render","row","cells","cell","Header","hasEllipsis","group","getFooterGroupProps","getFooterProps","setData","isModalOpen","opeModal","closeModal","setDossierIdToDelete","setSort","setPage","setPageSize","setHasNext","setHasPrevious","setIsFirst","setIsLast","setTotalPageCount","setTotalItemCount","alerte","courrierAgrement","columns","accessor","sortType","Cell","openDeleteModal","useTable","initialState","hiddenColumns","manualSortBy","useSortBy","sortBy","onChangeSort","desc","gridView","setGridView","messageAlerte","setMessageAlerte","changeView","DossiersGrid","DossiersTable","min","max","dataListIsOpen","setDataListIsOpen","onWheel","currentTarget","blur","dataListOnclick","ValidationPart1","formCheckbox","setFormCheckbox","addressValidator","correspondanceVille","correspondanceCodePostal","presidentTelephoneFixe","presidentTelephonePortable","correspondantTelephoneFixe","correspondantTelephonePortable","presidentEmail","presidentCivilite","correspondantPoste","correspondantNom","correspondantPrenom","correspondantEmail","correspondantCivilite","correspondanceLine1","correspondanceLine2","updateStructureValidationContacts","getContactInfos","getStructureValidationContacts","correspondantFinal","adresseCorrespondanceFinale","scrollTo","optionsCivilite","None","optionsPosteRepLegal","Tresorier","SecretaireAdministratif","optionsPosteCorrespondant","correspondance","adresseClient","searchString","codePostalString","InputDocument","isVersement","isRequiredInVersement","maxFileSize","setIsSelectionEmpty","onDocumentSelected","handleSelection","selectedDocument","InputDocuments","typeDeDocuments","defaultSelections","onSelect","existingDocument","hasChoix","selectedDocumentCode","ValidationPart2","validateOnLoad","adelStructureClient","setTypeDeDocuments","setDocuments","dirtyFields","setDirtyFields","isDirty","setIsDirty","getStructureTypesDeDocument","types","getDocuments","docs","timer","setTimeout","clearTimeout","convertDocumentsAndFilesToDtosByRef","modifiedDocuments","updateStructureDocuments","formFiles","correspondingDocument","modifiedDocument","correspondingFile","modifiedFile","upsertDocument","updatedDocuments","field","Criteres","categorieDossierId","setCriteriaRead","isDossierExist","criteresDossier","setCriteresDossier","getCriteres","getCurrentCritereDossier","criteres","hasVerticalScrollbar","gradient","querySelector","display","backgroundImage","checkbox","setCheckbox","categorie","onScroll","defaultChecked","TypeDossier","setTypes","typesOptions","setTypesOptions","typeSelected","setTypeSelected","getTypes","typeOptionsList","selectedType","canBeCreated","localeCompare","setCategorieDossierId","p","ChiffreCles","nombreEnseignantCDI","nombreEnseignantCDD","nombreEnseignantCDII","nombreEtudiantCyclePro","nombreEtudiantAFDAS","nombreEtudiantCNFPT","nombreEtudiantCIF","nombreEtudiantFormationContinue","nombreEtudiantFormationInitiale","nombreEleveAmateur","chiffresClesValidator","nombreEtudiantCycleProTotal","setNombreEtudiantCycleProTotal","setNombreEleveAmateur","dateDebut","setDateDebut","dateFin","setDateFin","initChiffresClesAides","setInitChiffresClesAides","initWithCurrentValues","chiffresClesViewModel","chiffresCles","aidesByYear","anneeScolaireDebut","renderAnneesScolairesObject","dracN4","champ","Drac","conseilGeneralN4","ConseilGeneral","conseilRegionalN4","ConseilRegional","villeN4","Ville","montantDemandeSPEDIDAMN4","MontantDemandeSPEDIDAM","fcmN4","Fcm","sacemN4","Sacem","adamiN4","Adami","dracN3","conseilGeneralN3","conseilRegionalN3","villeN3","montantDemandeSPEDIDAMN3","fcmN3","sacemN3","adamiN3","dracN2","conseilGeneralN2","conseilRegionalN2","villeN2","montantDemandeSPEDIDAMN2","fcmN2","sacemN2","adamiN2","dracN1","conseilGeneralN1","conseilRegionalN1","villeN1","montantDemandeSPEDIDAMN1","fcmN1","sacemN1","adamiN1","drac","conseilGeneral","conseilRegional","montantDemandeSPEDIDAM","fcm","sacem","adami","initWithLatestDossierValues","currentDossierCurrentYear","currentDossierYears","diff","latestDossierCurrentYear","previousChiffresCles","latestDossierYears","year","currentDossierIndex","latestDossierIndex","currentDossierChiffreAffaireKey","latestDossierChiffreAffaireValue","currentDossierSalairesKey","latestDossierSalairesValue","currentDossierNombreEtudiantCycleLoisirKey","latestDossierNombreEtudiantCycleLoisirValue","currentDossierNombreEtudiantCycleProfessionnelKey","latestDossierNombreEtudiantCycleProfessionnelValue","getChiffresClesViewModel","total","projectChiffreCleModelToCreateChiffreCleDto","chiffreCleModel","nombreMusicienIntermittent","nombreEmployeAdministratif","nombreEmployeAdministratifETP","nombreTotalEnseignant","nombreTotalEnseignantETP","nombreEtudiantCycleProfessionnelN1","nombreEtudiantCycleLoisirN1","nombreEtudiantCycleProfessionnelN2","nombreEtudiantCycleLoisirN2","nombreEtudiantCycleProfessionnelN3","nombreEtudiantCycleLoisirN3","nombreEtudiantCycleProfessionnelN4","nombreEtudiantCycleLoisirN4","chiffreAffaire","salaires","chiffreAffaireN1","salairesN1","chiffreAffaireN2","salairesN2","chiffreAffaireN3","salairesN3","chiffreAffaireN4","salairesN4","aidesFonctionnementByYearToSend","aideN4","anneeScolaireFin","aideN3","aideN2","aideN1","aide","model","createChiffresClesDto","aidesFonctionnementByYearDto","createChiffresCles","createOrUpdateAidesFonctionnement","renderAnneesScolaires","yearsToSubstract","debut","fin","setNombreTotalEtudiantPro","CollapsibleSection","setIsOpen","validateLabel","cancelLabel","onValidateChange","LieuxDatesEdition","franceByDefault","hasDisableAdresse","setCurrentView","setIsFormValid","addNewPrestation","setModifyPrestation","existingLieu","setExistingLieu","existingDates","setExistingDates","categorieDossierCode","isEditMode","setIsEditMode","paysOptions","prestationValidator","prestationsViewModel","typesPrestation","dateMinimum","isSelectDisabled","setIsSelectDisabled","setPays","defaultActiveStartDate","setDefaultActiveStartDate","lieu","jauge","codepostal","validateAndSend","departement","paysId","adresseLabel","adresseId","Repetition","nomLieu","description","setDates","setAdresseId","setAdresseLabel","List","isCalendarOpen","closeCalendar","calendarRef","AidePromotionImage","selected","onPaysChange","Concert","setUTCMinutes","setHours","dateArray","startDate","endDate","returnValue","deleteDate","deleteExistingDate","ModalErrorInformation","ModalValidationLieuxDates","errorsValidation","count","maxDuration","minPrestation","withDifferentPlace","maxMonthDuration","allRepresentationsMustBeDuringEvenement","LieuxDates","paysClient","deleteModalOpen","setDeleteModalOpen","deleteLieu","setDeleteLieu","lieuxList","setLieuxList","modifyPrestation","setFranceByDefault","setErrorsValidation","openValidation","setOpenValidation","lieuxDatesEditMode","editPrestation","dataRepresentation","setDataRepresentation","dataRepetition","setDataRepetition","dataEnregistrement","setDataEnregistrement","dataDiffusion","setDataDiffusion","dataConcert","setDataConcert","tableRepresentation","tableRepetition","tableEnregistrement","tableDiffusion","tableConcert","tableDic","Representation","table","Enregistrement","Diffusion","setPrestationsViewModel","getTypePrestations","getPrestationsViewModel","setPrestationResult","lieux","Pays","Lieu","DateSpectacle","Description","Actions","Id","lieuxDatesEditRef","currentView","setLieuxDatesEditMode","Edit","validatePrestations","valid","setHasDisableAdresse","DeplacementInternational","getPrestations","getLieux","fetchPays","setPrestationsTable","setPaysOptions","getPays","addLieuDates","createPrestation","idx","editLieuDates","updatePrestation","deletePrestation","Fortissimo","DeleteImg","AdelDossierClient","appendFileDictionary","View","EnseignantFormMode","EditEnseignant","adelDossierClient","disciplineOptions","setDisciplineOptions","instrumentOptions","setInstrumentOptions","showInstrument","setShowInstrument","showOtherDiscipline","setShowOtherDiscipline","fileWasModified","setFileWasModified","instrument","existingEnseignant","enseignantValidator","contratOptions","contrat","qualificationOptions","setDisciplines","setDisciplinesValue","o","getOptionForDisciplinesValue","initializeView","getEnseignantsViewModel","vm","discipline","text","instruments","intitule","currentFormMode","Creation","Duplication","contratEngagement","createOrUpdateEnseignantDto","contratEngagementFile","Edition","updateEnseignant","createEnseignant","closeView","resetFile","selectedDiscipline","selectedInstrument","selectedQualification","selectedContrat","selectedStatut","ModalDeleteEnseignant","EnseignantList","modalDeleteEnseignantIsOpen","setModalDeleteEnseignantIsOpen","selectedEnseignantId","setSelectedEnseignantId","duplicateEnseignant","editEnseignant","openModalDeleteEnseignant","confirmDeleteEnseignant","deleteEnseignant","onAddEnseignant","ModalValidationEnseignants","numberEnseignantRequired","Enseignants","setCurrentFormMode","setEnseignants","setExistingEnseignant","modalValidationIsOpen","setModalValidationIsOpen","tryGetEnseignants","getEnseignants","setEditMode","editEnseignantRef","enseignantToDuplicate","enseignant","enseignantToEdit","renderSwitchView","InputFileSingle","answer","errorMessage","currentValue","labelButton","extensions","hasExtensions","File","accept","DonneesBancaires","donneesBancairesValidator","isIbanValid","setIsIbanValid","ribPJ","setRibPJ","validateIBan","validateIban","invalidateIban","shouldDisplayQuestion","question","questions","conditions","c","isConditionSatisfied","condition","questionId","operator","Empty","Equal","isArray","operandQuestionId","operand","presetAnswer","AnyOf","arr","intersection","operands","LesserThan","isAnswerValid","answerValue","answerType","allowUndefined","isModifiable","Text","MultilineText","Url","Link","Html","answerMaxLength","answerMinLength","answerMaxValue","answerMinValue","IntegerNumber","DecimalNumber","isFinite","isInteger","SingleChoiceList","choices","MultipleChoiceList","YesNo","YesNoDontKnow","Period","currentFileExtension","pop","fileExtensions","formats","itemResults","itemResult","arrayItemsQuestions","q","Blocking","SimpleQuestionInput","onAnswerChange","attributes","MultilineTextQuestionInput","InputRadioButton","YesNoQuestionInput","isChecked","ChoiceListQuestionInput","choiceFilter","textWithoutTraduction","choice","selectedValues","doSetValue","valueAsId","noneOption","isNone","getAsDate","DateQuestionInput","PeriodQuestionInput","renderCurrentValue","BlockingQuestionInput","isFileRef","FileQuestionInput","errorValidation","setErrorValidation","fontSize","marginLeft","downloadFile","setIsValideDocuments","ArrayQuestionInputItem","renderQuestionInput","onItemChange","deleteItem","delete","validationResults","newItem","getAnswer","ArrayQuestionInput","validationResult","newItems","addRow","deleteRow","renderAddButton","getQuestions","block","removedAny","parseAnswerValue","toLowerCase","RenderBlockContent","setAnswers","messageValidation","newAnswers","s","shouldDisplayChoice","warn","cssClass","renderQuestion","DonneesBancaireReadonly","donneesBancaires","rib","blocks","setBlocks","setMessageValidation","isValideDocuments","commandesInvalid","setcommandesInvalid","defaultDonneesBancaires","setDefaultDonneesBancaires","fetchViewModel","getDescriptionProjetViewModel","viewModel","questionsBlocks","submitData","contentType","newArray","canEditRib","createOrUpdateDonneesBancaires","submitDescriptionProjetAnswers","validateAnswers","itemIndex","reduce","acc","v","itemToCheck","aa","answerToCheck","getParsedAnswers","flatMap","donnesBancairesResult","answersResult","donneesBancairesValues","isShown","DocumentValidationLight","isChoix","Uri","Type","Nom","Validee","validee","Commentaires","commentaires","useRowSelect","CommissionTimeSlot","CritereDossierSortProperty","CritereDossierVersion","GenerationsSpedidamSortProperty","RemunerationSortProperty","Role","SortDirection","StatutBordereau","StatutPageVitrine","TypeBordereau","VueType","TotalAmountsTable","Artistes","_c","_d","_e","_f","_g","_h","details","isResponsableAndMembreCommission","isBo","isEngagementDirect","openModal","categoryWithEngagementDirect","Festival","SoireeArtistes","IsCategoryWithEngagementDirect","isAssociated","hasConcert","hasEnregistrement","hasMensualisation","hasRepresentation","hasRepetition","artistes","artiste","charges","emploi","mensualisations","montantConcert","montantRepetitions","montantEnregistrement","montantRepresentations","montantCharge","setTotalAmountTable","getArtistesCountByEmploi","chanteursCount","Chanteur","danseursCount","Danseur","musiciensCount","Musicien","chefsOrchestreCount","ChefOrchestre","choristesCount","Choriste","comediensCount","Comedien","circassiensCount","Circassien","marionettistesCount","Marionnettiste","totalsData","setTotalsData","updatedData","curr","DeplacementsTable","trajets","trajetsTable","setTrajetsTable","setTable","trajet","etapes","arrivee","destinations","depart","etape","fullName","Programmation","categorieDossier","rowA","rowB","valueOf","getArtistesListByDate","artistePrincipal","accumulator","currentVal","Departement","getHiddenColumns","getChampDepenseKey","SalairesArtisteEnregistrement","SalairesArtisteRepetition","InteretGeneral","ContratsVentes","Contenu","budget","getBudgetByType","budgetType","budgetByType","y","getTotalByBudgetType","depensesByType","financementsByType","totalDepenses","totalFinancements","scope","colSpan","AutresDepenses","RecettesPropres","InformationsBudget","isDetailDossierTab","Structure","_j","_k","_l","_m","_o","_p","_q","_r","_s","codeStructure","representantLegal","selectedEnseignant","setSelectedEnseignant","Salaries","salarie","autreAdresse","cv","diplome","ChiffresCles","chiffres","nombreEtudiantCycleProfessionnelCurrentYear","nombreEtudiantCycleLoisirCurrentYear","StyleMusical","isUrl","InfosProjet","showResponsableDossier","showBlockTitle","questionBlocks","responsableDossier","DescriptionProjet","renderBlockContent","DetailsDossierContent","dossierDetails","descrProj","infosProjet","datesByPrestation","pieceObligatoires","setPieceObligatoires","pieceJointe","setPieceJointe","docO","docJ","salaries","BudgetsPrevisionnels","print","Validation","setDossierDetails","setDescrProj","setInfosProjet","getDossierDetails","resultDetails","getInfosProjetViewModel","resultProjet","resulDescr","soumettreDossier","stepWithValidationErrors","ValidationStructure","ValidationStructure2","ModalDeleteArtiste","ArtisteList","onAddArtist","duplicateArtiste","editArtiste","informDeleteArtiste","stats","artisteClient","modalDeletePageVitrineIsOpen","setModalDeletePageVitrineIsOpen","setArtisteId","openDeleteArtiste","montantCachets","montantSalaires","chargesPatronales","deleteArtiste","MontantBrutInput","handleChangeObject","estSalaire","groupesEmploi","styleMusical","salaire","datesSelectOptions","prestation","pasDeMusiqueId","musiciens","gr","groupe","Musiciens","charAt","basicValidator","emploiValidator","Autre","estSalaireValidator","salaireTypePrestaValidator","lieuDateByPresta","typePresta","typePrestaValidator","DiffusionAvignon","BODramatiqueChoregraphique","SpectacleDramatiqueChoregraphiqueCirque","DiffusionLieu","MusiqueFilm","AideResidences","SpectacleMusical","montantMinValidator","Cachets","cachets","setCachets","cachetType","codeCategorie","setDatesSelectOptions","cachetValidator","selectedDates","setSelectedDates","selectedDate","setSelectedDate","hasDateLimite","setHasDateLimite","AideSpecifique","addCachet","newCachet","uniqueId","montantBrut","tauxChargesPatronales","updateCachets","propertyName","selectedAll","update","optionsDate","opts","allDates","datesToAddToOptions","deleteCachet","itemClicked","updatedDates","datesCurrentPresta","SalairesDatesBlock","setSalaires","enregistrementOptions","setEnregistrementOptions","salairesDates","generationDatesOptions","selectedSalaire","dateFromSelect","updateSalaires","currentSalaire","currentDates","l","addedDates","z","updatedOptions","changeDates","lieuDate","Salaires","setInvalidSalaireDates","isSalaireDatesInvalid","datesToAdd","deleteSalaire","newSalaire","InputRadioYesNo","formMode","radioLabels","setChecked","EditArtiste","artisteSelected","formation","artisteValidator","isArtistePrincipal","setIsArtistePrincipal","isArtisteTitulaire","setIsArtisteTitulaire","isArtisteAdditionnel","setIsArtisteAdditionnel","isArtistGenerationSpedidam","setIsArtistGenerationSpedidam","YesNotOptions","enregistrements","setEnregistrements","repetitions","setRepetitions","representations","setRepresentations","diffusion","setDiffusion","concert","setConcert","setViewModel","instrumentsOptions","setInstrumentsOptions","stylesMusicauxOptions","setStylesMusicauxOptions","emploisOptions","setEmploisOptions","invalidSalaireDates","remunerations","setRemunerations","setGroupesEmploi","getArtistesViewModel","stylesMusicaux","emplois","IS_CREATION","IS_EDIT","lieuHabitation","isTitulaire","isGenerationSpedidam","modifiedSalaires","enregistrementCachets","repetitionCachets","representationCachets","diffusionCachets","concertCachets","modifiedElem","salaireDates","newValue","settingDatesOptions","lieuDatesByType","defaultOpt","cachetDate","existingSalaireDates","salaireDate","getAllCachets","cachetsForThisType","whichCachetValue","lieuDateIds","formValues","allCachets","allSalaires","salairesAcc","finalLieuDateIds","styleMusicalId","formationRequired","IS_DUPLICATE","createArtiste","updateArtiste","nbJourMax","nbCachet","whichCachetModifier","artistePrincipalInfoRequired","getArtistPrincipalLabel","generationSpedidamInfoRequired","artisteTitulaireInfoRequired","mensualisation","ModalValidationArtiste","hasDateWithoutCachet","hasMinimumNbArtisteEngagement","nombreLimiteArtisteEngagementDirect","emploiComparisonConstraint","more","less","shouldHaveLess","than","surpassedMensualisationLimit","typeCachetRequired","minimumEmploiCountConstraint","minimum","numberOfArtisteMustBeTheSameForEachRepresentationDate","numberOfAudioArtistMustBeInferiorToVisualArtist","artisteWithLessDateInDifferentPlaceThan","artisteWithLessDateInDifferentPlaceThanFullName","nombreLimiteArtiste","useIsMounted","mountedRef","isMounted","SalarieFormMode","ContratsCachets","setArtistes","setArtisteSelected","setStats","modalValidationArtisteIsOpen","setModalValidationArtisteIsOpen","debounceFetchArtists","getArtistes","getAllStats","addArtisteRef","validateArtistes","getArtiste","getMasseSalariale","InfosResponsableDossier","setFullYear","responsableForm","fortissimoTitleCorrect","setFortissimoTitleCorrect","setResponsable","responsable","responsableValues","getStructureCorrespondantAdministratif","resp","submitInfosProjet","setResponsableDossier","submitInfosProjetAnswers","responsableResult","nomCategorie","dateLimite","InputCalendarManual","DatePicker","clearIcon","calendarIcon","InputCalendarLabelled","Salarie","salarieSelected","salarieValidator","nextDay","adresses","setAdresses","setEquipements","setDateNaissance","dateEmbauche","setDateEmbauche","villeAutre","codePostalAutre","isAutreAdresse","line1Autre","handleDateNaissanceChange","equipementOptions","getOptionForValue","adresseOptions","getOptionAdresseForValue","isFilePDF","equipementSplitted","adressesSplitted","arrayAdresses","adresseLieuTravail","line2Autre","dataToSend","createSalarie","updateSalarie","isMin","setAdressesValue","setEquipementsValue","setArtistePrincipal","hasArtistePrincipal","setHasArtistePrincipal","errorArtistePrincipalTriggered","setErrorArtistePrincipalTriggered","getArtistViewModel","siteInternet","CategorieLieu","SalarieAristes","salarieRef","artistesRef","setSalarie","setSalarieSelected","showDeleteArtiste","setShowDeleteArtiste","artisteDeleteId","setArtisteDeleteId","isArtistLoading","setIsArtistLoading","fetchSalarie","getSalarie","Artiste","deleteSalarie","listView","editSalarie","EscaleCheckbox","RenderTrajetBlock","isDepart","isDestination","paysList","paysFull","paysPrestations","isSelectWithoutCar","setIsSelectWithoutCar","etapeValidator","setSelectedTransport","watchPaysDepart","watchAller","Escale","watchRetour","watchPaysAller","watchPaysRetour","paysOptionsFull","setPaysOptionsFull","estAimable","transportOptions","transportNoCarOptions","transportOnlyCarOptions","renderSelect","selectedTransport","Voiture","TrajetsFormMode","EditTrajet","trajetSelected","trajetValidator","escaleValidator","artisteOptions","setArtisteOptions","setEtapes","setDepart","setArrivee","watchArtistes","getArtistsList","fetchPaysPresta","setPaysPrestations","getDossierPays","order","updateFields","finish","typeTransport","escaleAllerPays","escaleRetourPays","hasNoDestination","setHasNoDestination","hasTooManyArtists","setHasTooManyArtists","checkValidationDestination","etapesFromForm","nest","isFormValid","escale","aller","boolean","retour","etapesToSend","artisteIds","createDepart","createArrivee","createEtapes","trajetToSend","createTrajet","updateTrajet","stepArray","escaleRetourPaysId","escaleAllerPaysId","transport","Depart","removeEtape","Etapes","temporaryId","random","substr","addEtape","Arrivee","ModalDeleteTrajet","Trajets","trajetsRef","setTrajets","setTrajetSelected","trajetDeleteId","setTrajetDeleteId","setDocument","showDeleteTrajet","setShowDeleteTrajet","isTableLoading","setIsTableLoading","debounceFetchTrajets","getTrajets","editTrajet","deleteTrajet","documentToSend","validateTrajets","dossierWithoutTrajet","noTrajetFromAimableToAimable","trajetWithoutArtiste","calculBlockBudget","isDepense","itemViewModel","isIG","totalBlock","BigNumber","dataInput","plus","toNumber","calculDepensesBudget","calculFinancementsBudget","totalFinances","BudgetInput","isTypeOther","onCommentChange","commentsChamp","setFiles","defaultConfirmationMontantChamp","onConfirmationMontantChange","onValidation","openComment","setOpenComment","comment","setComment","confirmationMontant","setConfirmationMontant","idKeyOther","idKey","montantMin","initializeComment","customValidation","montantMax","commentChamp","currentCommKeyOther","currentCommKey","initializeConfirmation","confChamp","bool","currentConfKey","currentConfKeyOther","commentChampFilteredOther","commentChampFiltered","needConfirmation","BudgetBlock","isEditBudgetMode","setBudget","setCommentsChamp","confirmationMontantChamp","setConfirmationMontantChamp","setTotalDepenses","setTotalFinancements","showBaseCalcul","baseCalcul","setIsBudgetValid","montantBlock","setMontantBlock","setMontantBlockDeplacement","isIGDerivates","DiffusionSpectacleVivantLabelisationReseauSPEDIDAM1","DiffusionSpectacleVivantLabelisationReseauSPEDIDAM2","CreationAideSalons","CreationSoutienFestival","EducationArtistiqueCulturelleAideActionsEducation","DiffusionSpectacleVivantRemisePrixArtistique","DiffusionSpectacleVivantRemiseEmissionTeleviseeMusicale","FraisDeplacement","sumBlock","calculMaxAide","pourcentageAide","BudgetPrevisionnelDepenses","FraisDeRealisationDuDocumentDePromotion","BudgetRepetitionsEtEnregistrements","Ecole","FraisDePersonnel","ContratsVenteEtAutreSalairePersonnel","validationInput","maxValue","toFixed","CommandesMusicales","baseCalculCurrentCategorie","montantMaxAide","DevisRealisation","renderChamp","budgetItem","categorieCodes","champsExclus","SalairesArtisteRepresentation","ChargesSocialesPatronalesArtistes","isEditable","confirmation","renderDelete","deleteAutre","renderAdd","addAutre","renderBlockRow","viewModelDepenseArray","viewModelFinancementArray","Budget","watchCommandesMusicales","baseCalculFields","setIsEditBudgetMode","budgetOldState","setBudgetOldState","setDefaultConfirmationMontantChamp","commentGeneral","setCommentGeneral","isBudgetValid","fetchBudget","hasBalance","resultBalance","getBudgetViewModel","getDossierBudget","setDefaultValues","getBalanceValues","comms","conf","createAllValues","comments","confirmations","commentsFiltered","confirmationFiltered","createBudget","budgetCreate","updateBudget","budgetUpdate","depenseDatas","financementDatas","depense","financement","finance","isBalanceInvalid","messagePt1","messagePt2","minus","deleteFile","MessageValidation","commission","setCommission","fullDateOptions","month","day","getDossierCommission","toLocaleDateString","dateFinSoumission","CreationDossier","setNewPrestation","setDossierId","stepsInitialized","setStepsInitialized","isRedirectedFromValidationStep","setIsRedirectedFromValidationStep","setCategorieDossier","dynamicStepsLoaded","criteriaRead","InformationsProjet","SalarieArtistes","AUTRE","goBackToViewMode","createDossier","firstStepAfterDossierCreation","getInfosDossier","getEtapesCreationDossier","infoDossier","setInfoDossier","getCurrentDossierInfo","structureNom","commissionNom","renderMenu","showQuotaAtteintError","labelValidateButton","DetailsDossier","useParams","isRenoncerLoading","setIsRenoncerLoading","isSubmitLoading","setIsSubmitLoading","resultInfosDossier","resultResponsable","exists","handleRenoncerDossierClick","renonciationDossier","dossierNom","dossierStatut","InputValidationMonCompteStructure","background","MonCompteStructure","structureDetails","setStructureDetails","watchFields","updateStructureJuridiqueValidator","isUpdateModalOpen","setIsUpdateModalOpen","editInput","setEditInput","dataUpdated","setDataUpdated","oldSiretValue","setOldSiretValue","isSiretValidated","setIsSiretValidated","siren","updatesRequiringDocuments","CheckSirenValidation","codeFormeJuridique","adresseLine1","adresseLine2","updateStructureJuridique","nomResponsable","prenomResponsable","emailResponsable","getStructureDetails","structureDetailsDto","BancaireEdit","setDefaultValue","isDonneesLoading","setIsDonneesLoading","send","MonCompteBancaire","useToggleState","MonCompteInfos","toggleEditInput","infos","setInfos","updateStructureInformations","MonCompteRoutes","MonCompteAdministratif","updateStructureContactValidator","representant","updateStructureContact","CorrespondantEdit","updateStructureAdresse","MonCompteCorrespondant","getAdresse","MonCompteFichier","edit","initialStructureValues","documentList","setDocumentList","requiredDocuments","initDocumentList","initSiretOrResponsable","requiredDoc","selectedNom","docsToExclude","dirtyField","newStructureDetails","newDoc","jsonValue","documentId","extraInfoDefinition","getExtraInfoNameFromCode","MonCompte","useLocation","setInitialStructureValues","isMobile","useMediaQuery","linkRoute","route","pages","StructureJuridique","panel","InfoStructure","CorrespondantAdministratif","Adresse","PiecesJointes","InfosBanque","PublicHeader","PagesVitrines","pageVitrine","setPageVitrine","VersementsListe","originalId","versementClient","isVersementLoading","setIsVersementLoading","buttonList","setButtonList","isModalDeleteOpen","setModalDeleteOpen","versementDeleteId","numeroDossier","setNumeroDossier","numeroDossierModal","setNumeroDossierModal","getVersements","versements","statutVersement","dateDerniereSoumission","Soumis","data-type","typeVersement","DateDeSoumission","dateSoumission","StatutOrigin","DossierId","OriginalDossierId","numeroDossierToDo","arrayTypes","typesVersements","arrayModes","modesVersements","mode","onCloseNumeroModal","goToStatut","goToCreateVersement","createVersement","newVersement","Automatique","handleDeleteValidate","deleteVersement","handleDeleteClick","handleCancelDelete","Modification","goToEditVersement","Acompte","VersementStatut","getVersementsDetails","getDemandeVersementDetails","dateProjet","dateDebutProjet","dateFinProjet","domiciliation","donneeBancaire","Reaffectation","PriseEnCharge","Valide","Verse","nomDossier","baseCalculSpedidam","montantDemande","montantAttribue","montantVerse","InformationsDossier","isValidateModalOpen","setIsValidateModalOpen","setIsDeleted","getInfos","getDemandeVersementInfos","infosVersement","documentAPI","isApi","sendValidate","updateHasSendDocPromoImage","ValidationArtiste","responsableFullName","mailResponsable","telResponsable","commissionsDebut","commissionFin","dateProjetDebut","dateProjetFin","montantPercu","AdelVersementClient","DepenseItem","deleteDepense","isDepenseAutre","hideFileInput","handChangeMontant","handChangeMontantName","editFile","isMontantDirty","setMontantDirty","montantRealise","setMontantRealise","depenseId","handleMontantChange","idFile","contratsCachets","totalMontantPrevisionnel","totalRemunerationBrut","totalChargePatronales","categoryDossierId","depensesSpe","autreDepenses","depensesDocuments","setDepensesSpecifiques","setDepensesAutres","setDepensesDocuments","onUpdateDocuments","artistesDocumentsFiles","onUpdateContratsCachets","isCommentMandatory","validationRequired","setValidationRequired","versementeClient","versement","unregister","useFieldArray","fields","remove","docsToUpdate","artisteDocument","actionType","datesTravailles","totalCharges","totalSalairesBruts","bulletin","Complet","fieldNameBulletin","watchedValues","deleteVersementArtiste","idDepense","isDelete","arrayDocs","SalaireArtistes","AutresSalairesChargesSocialesIncluses","ModalAddArtist","isDuplicating","onClose","dateSelected","setDateSelected","submit","updateVersementArtiste","localizedError","dateMin","createVersementArtiste","handleDateSelected","toDateString","getMinDate","toDate","getMaxDate","contratsCachetsReducer","updatedCachets","merge","updatedArtistes","adelVersementClient","contratsCachet","dispatchContratsCachet","isDuplicatingArtist","setDuplicatingArtist","isOpenAddArtiste","openAddArtiste","closeAddArtiste","depensesAutres","setArtistesDocumentsFiles","setIsCommentMandatory","dossierCommission","setDossierCommission","getContratsCachetsOnDemandeVersement","submitForm","validationNotRequired","hasNanDepenseSpe","artistesDocs","updateArtisteDocument","depensesDocs","createOrUpdateDepenses","updateVersementCommentaire","getVersementArtiste","fileContrat","setFileContrat","fileRemuneration","setFileRemuneration","justificatifRemuneration","initFormValues","updateEnseignantOnDemandeVersement","createEnseignantOnDemandeVersement","totalAmounts","setTotalAmounts","deleteEnseignantOnDemandeVersement","watchVersementArtistes","getVersementArtistes","versementArtisteIds","createOrUpdatePieceJointes","getPiecesJointesOnDemandeVersement","setPiecesJointes","typeIdDoc","isFieldDirty","Rib","getInfoBancaireOnDemandeVersement","Recapitulatif","recap","setRecap","getRecapitulatifDemandeVersement","soumettreVersement","totalMontantRealise","pourcentageRealise","montantAccorde","montantDejaVerse","aideEstimee","CreationVersement","ValidationDocumentStructure","handleMenuItemClick","firstStepAfterVersementCreation","getEtapesDemandeVersement","PieceJointe","ValidationEnseignant","ValidationDeplacement","ConfirmationRIB","StructureDisabled","StructurePending","ValidationMail","userClient","params","URL","changeUserEmail","Toaster","autoClose","hideProgressBar","newestOnTop","closeOnClick","rtl","draggable","pauseOnHover","AppInitialize","userContext","pageVitrineClient","getPagesVitrine","App","ReactDOM","serviceWorker","ready","registration"],"mappings":"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AA,E,qEAAAA,M,cAwFAC,K,YAAAA,E,cAAAA,E,wCAAAA,E,wBAAAA,E,kCAAAA,E,8EAAAA,E,sDAAAA,E,gCAAAA,E,4CAAAA,E,YAAAA,E,kCAAAA,E,gCAAAA,E,4CAAAA,E,4BAAAA,E,UAAAA,E,gEAAAA,E,YAAAA,E,wBAAAA,E,cAAAA,E,gDAAAA,E,kCAAAA,E,4CAAAA,E,kDAAAA,E,4BAAAA,E,gBAAAA,E,cAAAA,E,UAAAA,E,8FAAAA,E,wEAAAA,E,sCAAAA,E,cAAAA,E,4CAAAA,E,UAAAA,E,cAAAA,E,sBAAAA,E,8BAAAA,E,wDAAAA,E,cAAAA,E,wCAAAA,E,oCAAAA,E,wCAAAA,E,gDAAAA,E,wEAAAA,E,qEAAAA,M,cAgHAC,K,YAAAA,E,oBAAAA,E,iBAAAA,M,cAgDAC,K,cAAAA,E,cAAAA,E,cAAAA,E,yBAAAA,M,cA0YAC,K,YAAAA,E,sBAAAA,E,kBAAAA,E,yBAAAA,M,cAuJAC,K,YAAAA,E,oBAAAA,E,oBAAAA,E,8BAAAA,E,oBAAAA,E,oBAAAA,E,wBAAAA,E,kBAAAA,E,iCAAAA,M,cAWAC,K,YAAAA,E,sBAAAA,E,eAAAA,M,cAMAC,K,eAAAA,E,aAAAA,M,cAkEAC,K,YAAAA,E,oBAAAA,E,wBAAAA,E,oBAAAA,E,wBAAAA,E,sCAAAA,E,eAAAA,M,cAUAC,K,YAAAA,E,0CAAAA,E,YAAAA,E,oBAAAA,E,wCAAAA,E,4BAAAA,E,kCAAAA,E,wBAAAA,E,kCAAAA,E,kBAAAA,E,0BAAAA,E,gBAAAA,E,sCAAAA,E,yBAAAA,M,cAiBAC,K,YAAAA,E,0CAAAA,E,0DAAAA,E,wCAAAA,E,sCAAAA,E,4CAAAA,E,8CAAAA,E,0BAAAA,E,kCAAAA,E,+BAAAA,M,cA6BAC,K,gBAAAA,E,sBAAAA,E,0BAAAA,E,oBAAAA,E,4CAAAA,E,sCAAAA,E,oBAAAA,E,yBAAAA,M,cAgFAC,K,YAAAA,E,MAAAA,E,MAAAA,E,MAAAA,E,uBAAAA,M,cA2GAC,K,YAAAA,E,0BAAAA,E,gBAAAA,E,uBAAAA,M,cAWAC,K,YAAAA,E,wCAAAA,E,kCAAAA,E,0BAAAA,E,8CAAAA,E,kDAAAA,E,wCAAAA,E,0CAAAA,E,sCAAAA,E,0DAAAA,E,wEAAAA,E,oEAAAA,E,gDAAAA,E,mDAAAA,E,oCAAAA,E,oDAAAA,E,4DAAAA,E,wDAAAA,E,oDAAAA,E,0EAAAA,E,sFAAAA,E,4CAAAA,E,wDAAAA,E,0DAAAA,E,4CAAAA,E,gEAAAA,E,kEAAAA,E,wCAAAA,E,sCAAAA,E,wEAAAA,E,oCAAAA,E,8BAAAA,E,4CAAAA,E,iEAAAA,M,cA4FAC,K,YAAAA,E,0BAAAA,E,wCAAAA,E,0BAAAA,E,eAAAA,M,cA+FAC,K,YAAAA,E,sBAAAA,E,cAAAA,E,kBAAAA,E,0BAAAA,E,sBAAAA,E,qBAAAA,M,cAUAC,K,YAAAA,E,kBAAAA,E,mBAAAA,M,cAMAC,K,YAAAA,E,sBAAAA,E,sBAAAA,E,gBAAAA,E,4BAAAA,E,4BAAAA,E,4BAAAA,E,8CAAAA,E,gBAAAA,E,kBAAAA,E,cAAAA,E,uBAAAA,M,cAeAC,K,YAAAA,E,sBAAAA,E,uBAAAA,M,cAMAC,K,YAAAA,E,kBAAAA,E,YAAAA,E,iBAAAA,Q,cAOAC,K,YAAAA,E,kBAAAA,E,kBAAAA,E,oBAAAA,E,mBAAAA,Q,cAQAC,K,YAAAA,E,sBAAAA,E,gBAAAA,E,4BAAAA,E,gBAAAA,E,cAAAA,E,8BAAAA,E,sBAAAA,E,+BAAAA,Q,cA8HAC,K,YAAAA,E,UAAAA,E,UAAAA,E,YAAAA,E,eAAAA,Q,cAkCAC,K,gBAAAA,E,aAAAA,Q,cAKAC,K,YAAAA,E,cAAAA,E,wDAAAA,E,8CAAAA,E,gCAAAA,E,wEAAAA,E,gCAAAA,E,sBAAAA,E,gBAAAA,E,oCAAAA,E,4EAAAA,E,0CAAAA,E,oCAAAA,E,gDAAAA,E,wCAAAA,E,0BAAAA,E,kFAAAA,E,gBAAAA,E,+DAAAA,Q,cAsBAC,K,YAAAA,E,cAAAA,E,kCAAAA,E,sCAAAA,E,0EAAAA,E,uFAAAA,Q,cASAC,K,YAAAA,E,gCAAAA,E,sBAAAA,E,kDAAAA,E,sBAAAA,E,sBAAAA,E,iBAAAA,Q,cAUAC,K,YAAAA,E,wBAAAA,E,gCAAAA,E,gCAAAA,E,sBAAAA,E,mBAAAA,Q,cASAC,K,Y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","file":"static/js/main.83f1e8fd.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/password_validation.ae5e7349.png\";","import React, { useState, useEffect } from \"react\";\r\nimport Select, { components } from \"react-select\";\r\nimport { ErrorMessage } from \"react-hook-form\";\r\nexport function arrayToOptions(items, nameEval, t) {\r\n return items.map(item => {\r\n return {\r\n label: eval(nameEval),\r\n value: item\r\n };\r\n });\r\n}\r\nfunction InputSelect({ label, hasHtmlInLabel = false, name, classname, options, onChange, position, value, errors, customMatchValue, onTryToSelectADisabledValue, isSearchable = false, isMulti = false, isClearable = false, errorMessageCusto, readonly, selectAll = false, placeholder, isDisabled = false, styles = {}, isNomcourt = false }) {\r\n const [selectedValue, setSelectedValue] = useState(value);\r\n const [selectOptions, setSelectOptions] = useState(options);\r\n const allOption = {\r\n value: 'all',\r\n label: typeof selectAll === 'string' ? selectAll : 'Toutes les options'\r\n };\r\n const handleChange = (value, actionMeta) => {\r\n if (isMulti) {\r\n if (value && value.some(x => x.value === 'all')) {\r\n setSelectedValue(options);\r\n onChange(options);\r\n setSelectOptions(selectOptions.slice(1));\r\n }\r\n else {\r\n onChange(value);\r\n setSelectedValue(value);\r\n }\r\n }\r\n else {\r\n let adelOption = getAdelOptionFromReactSelectValue(value);\r\n setSelectOptions(options);\r\n if (adelOption && !adelOption.disabled) {\r\n setSelectedValue(value);\r\n if (onChange && (adelOption === null || adelOption === void 0 ? void 0 : adelOption.value)) {\r\n onChange(adelOption.value);\r\n }\r\n }\r\n else {\r\n console.debug(\"Trying to select a disabled value\");\r\n onTryToSelectADisabledValue && onTryToSelectADisabledValue(adelOption.value);\r\n }\r\n }\r\n };\r\n useEffect(() => {\r\n setSelectedValue(value);\r\n }, [value]);\r\n useEffect(() => {\r\n if (selectOptions && value && !isMulti) {\r\n let selectedOption = selectOptions === null || selectOptions === void 0 ? void 0 : selectOptions.filter(option => {\r\n if (!customMatchValue) { // Aucune comparaison custom de définie = type simple (string, number, bool, etc.))\r\n return option.value === value;\r\n }\r\n else { // Comparaison de type complexe (objets, etc.)\r\n return customMatchValue(option.value, value);\r\n }\r\n });\r\n if (selectedOption.length > 0) {\r\n setSelectedValue(selectedOption[0]);\r\n }\r\n else {\r\n //TODO: Replace this ?\r\n // console.debug(\"value could not be found\", value);\r\n }\r\n }\r\n }, [value, selectOptions, customMatchValue]); // Executed only once for default value\r\n useEffect(() => {\r\n if (isMulti && selectAll && (selectedValue === null || selectedValue === void 0 ? void 0 : selectedValue.length) < (options.length - 1) && !selectOptions.some(x => x.value === 'all')) {\r\n setSelectOptions([\r\n allOption,\r\n ...selectOptions\r\n ]);\r\n }\r\n }, [selectedValue]);\r\n const getAdelOptionFromReactSelectValue = (selectValue) => {\r\n if (selectValue) {\r\n if (isMulti) {\r\n return selectOptions.find(option => option.value == selectValue.value);\r\n }\r\n else {\r\n return options.find(option => option.value == selectValue.value);\r\n }\r\n }\r\n else {\r\n return null;\r\n }\r\n };\r\n const [colorInput, setColorInput] = useState('');\r\n const [focusInput, setFocusInput] = useState('');\r\n const isLocalhost = Boolean(window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.0/8 are considered localhost for IPv4.\r\n window.location.hostname.match(/^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/));\r\n useEffect(() => {\r\n const url = window.location.href;\r\n if (isLocalhost) {\r\n setColorInput(\"#5E6A6D\");\r\n setFocusInput(\"#EDEDED\");\r\n }\r\n else {\r\n const link = url.substring(0, url.indexOf('.net'));\r\n if (link.indexOf('dev') != -1) {\r\n setColorInput(\"#5E6A6D\");\r\n setFocusInput(\"#EDEDED\");\r\n }\r\n else if (link.indexOf('int') != -1) {\r\n setColorInput(\"#760E0E\");\r\n setFocusInput(\"#F1F1F1\");\r\n }\r\n else if (link.indexOf('prod') != -1) {\r\n setColorInput(\"#5B788C\");\r\n setFocusInput(\"#EDEDED\");\r\n }\r\n }\r\n }, []);\r\n const customStyles = {\r\n option: (base, state) => ({\r\n ...base,\r\n backgroundColor: state.isSelected ? colorInput : state.isFocused ? focusInput : \"white\",\r\n color: state.isSelected ? \"white\" : \"#333\"\r\n })\r\n };\r\n const { Option, SingleValue } = components;\r\n const customOption = (props) => (React.createElement(Option, Object.assign({}, props),\r\n React.createElement(\"div\", { className: `inputSelect__option ${props.data.hasClass} ${props.data.disabled && \"inputSelect__option--disabled\"}` },\r\n React.createElement(\"div\", { className: \"inputSelect-option__item\", title: props.data.labelLong },\r\n props.data.icon &&\r\n React.createElement(\"i\", { className: `${props.data.icon} ${selectedValue.value === props.data.value ? \"item--active\" : \"\"}` }),\r\n props.data.img &&\r\n React.createElement(\"img\", { className: \"inputSelect__img\", src: props.data.img, alt: \"\" }),\r\n React.createElement(\"span\", null, props.data.label)),\r\n React.createElement(\"div\", null, props.data.button))));\r\n const singleValue = (props) => (React.createElement(SingleValue, Object.assign({}, props),\r\n React.createElement(\"div\", { className: props.data.img ? \"inputSelect__singleValue-wrapper\" : \"\" },\r\n props.data.img &&\r\n React.createElement(\"img\", { className: \"inputSelect__img\", src: props.data.img, alt: \"\" }),\r\n props.data.label)));\r\n return (React.createElement(\"div\", { className: \"input\" },\r\n label &&\r\n hasHtmlInLabel\r\n ? React.createElement(\"label\", { className: \"input__label\" },\r\n React.createElement(\"span\", { dangerouslySetInnerHTML: { __html: label } }))\r\n : React.createElement(\"label\", { className: \"input__label\" }, label),\r\n React.createElement(Select, { className: `${classname} ${readonly && 'inputSelect--readonly'} ${position ? `inputSelect--${position}` : ''}`, options: isMulti ? selectOptions : options, value: selectedValue, onChange: handleChange, isSearchable: isSearchable, isMulti: isMulti, isClearable: isClearable, styles: { ...customStyles, ...styles }, components: { Option: customOption, SingleValue: singleValue }, menuIsOpen: readonly ? false : undefined, placeholder: placeholder || \"\", isDisabled: isDisabled }),\r\n errors &&\r\n React.createElement(ErrorMessage, { errors: errors, name: name }, ({ message }) => React.createElement(\"p\", { className: \"input__errorMessage\" }, message)),\r\n errorMessageCusto && errorMessageCusto !== '' &&\r\n React.createElement(\"p\", { className: `input__errorMessage input__errorMessage--selectBox` }, errorMessageCusto)));\r\n}\r\nexport default InputSelect;\r\n","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/mail.980fff66.png\";","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKsAAABwCAYAAABhEYD1AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAHIpJREFUeNrsXQmYFNW1PtV7z8YyMCDrsC/KqogQkRBAibsmgqIY96hJnuAz4jOoiYCGaNyiaEKMO4KKWxaQiKgsIiA7KPsMMzADCLP3TG9V7z/V1UNPr9XLdI96z/cdqqm6VVN166//nnPuufdKJCRpmTJ1Xg4250MHQk3Q49DVixfO3CpqJ3UiiSpIGqi3YvMYtFWYwyug1wO0R0RNCbBmGqi3Y/N8jGI7oSMB2DpRY8mJQVRBwkDths3TOoqeDr1d1JgAayblTqhFIkWRXVXk9TREK3upqK7kxSSqIDGpd1T2qK4sVaqqyiXZ6yGrLZc6dR1CVmuOetzrdRPvJ0kik8lyHph4CQMc5sBRUXvCZk2bDBk8zmo1m8qdbk9r/v/j0y6nngX5tOqb/fThpj1UWlFDRpOV7PZWZDJnqYDNzW3HoN2L4mcBsNWiFuMXo6iC+KVjhx7jvbJ864DOHWjGReNo0tAB1CYni4YWdqHJ5wyhvh3b0Ma9e+nYiXK1vMWSrW3t+djs3bn94y2iFoUZkDZyzbJYPH+77RpTrt3atKlCWzV2YG8a3L0TvfDfNbRx/6HNNbLXZLVkDdKKuEX1CbCmU769YuTgEwBqh0gF2mRn0czLJpBBkmZf+Jdlm01m60vYzcheIqpP2KxpE2XZsuuweU1H0VpoF2nSpCpRa8mLCF3FD9QfY/MPncVnCaAKMyCtMmXqPPb6pxbkWgZtO1Jz3eBOueYYp7Bd+hCA+rSoPWEGpBOoPbBZAz3Nv29UYWv61bndyGQIqb7N0Feg7wGoh0TtCbCmA6BsHo3T9BZoiCM1snsrmj62MLACi6CDANJaUYPNIyLOGgrUXuTLlroXeh40J1y5w1VOaptlpp75Wf5dVwKoe0QNCgcrXUC1Y7MMOlRP+dc3HqEap4d/LgBQV4oaFGBNp3CT31tv4Xq3TG9vOVqDn/eIqhPRgHTLlfGesGLPCdPy3d8qouoEs6bTBLCxox/veV5FYdNhmKhBAdZ0yjnk6w5NRAaK6hNgTaeMT+JcAVYB1rTKOH3FFB4bELzzDFF9Aqzpsle5+R+hp6zH4yZJMghmFWDNmJwJtcTkVCUsq7J00PIHhAiwNrucq6eQy+UgkymiD3a6qEYB1nTIaD2sKssyTABJOFkCrC0brE5nHVkstmhFBLMKsDa7c9UXm/axWNXjcZLRGDWNVTCrAGuzy8jYrFpLFrM9VrH+oioFWJtbRsViVWdDHZktMcHaFSydJ6pTgLU55exYrMpAjeJYCVNAgDUt9irT5dBorNpQX0tWa7beSwqwCrA2m3BnQMTREg0NtWQ0meFYmQRYBVgzLudENQEaanjKn3iuN0BASoA1I5EANgMMhriGqYlYqwBrs4kUGai+HACDIa7BFN219QWECLCmXA5FY1UfWOMeACzirQKszSJFUYwANRVQZ8hKOFkCrJkDqyLDXjUmNK2CAKsAa5rBSkoiJgDLTwSsBFjTbLPKCYHV63WPuOiSe+/UW373qPGii1aANbYsXjizEpuaCGiNNxKgCncgwHx4bsrUef+rA6hdsNmL7RQBRQFWPVIZKRqQmBkgwSlTz3scgJ0LjeahTYAWQBcBsB9q4BUiwBpRPCm2WXFeY7XeD30BgI10oYsDfl8C3QXA3gEVszsKsOqvg8SZFRdsOvr1NuibAKwlyATI1wAaKLnQ+dDPcVzEawVYQ8QWKR6QOLOa1PMD5CroPwHYrIB911LkEbU8gHELADsLahavSID1lJEZbmfQ3ADVVWX6KxVOFg8uDBSL0TBuYIecMzVWZZA2zjxYIplovRQyapZ3zIZ+hfIjxGsSYGU5pqMpp6NHdkWaMyAM0CUZdmt5AFDp/ok9zQ9e0OslZdmyfth1A7QrH2vAt9JR8VI2ybTQkE0nQ18Jr5+1DoB9ApolwPrDlpWxmJXXYWV11J2Mo16lK7BdbjRIdPePC6l/gZrA3UtucK6RDIZH/QXrAdbFhizitv5nsoNWGWz0KVQJfU8zoDsB2ImJPujYMZN7CbB+t+WFsGA95dGT2+VQt7U1x6NeiJ0yALoePyYvXjhzHXZNmjG2+5NDO+c2lvl25ep8RZbbqr/xQWw1WGiqXEfH8ftfBjudL9dTN8VDb4Bly6QQm7mQPwAA9mXNQYsHqDyKdye2S6Cdvjf22g9J4PRwDuqO4P2y7G10sCpPllD5kZ3q/zt1HUoWazZ5PS6wrYtcTge0Vh2r1VBf7TcVRmzdtnKjCuBly7iOeXXBX9QXl1DJK4vVDgc3qp5jZgzItbBXxysNlI39/wFg+ytuOkNx0ccGX+L3RADYGN58mdrvixUrdACV74HL+Sef44WO74P+9bNVb8nflXclZr4mCtvdeeL4/ka2rKoobQRwafFXeq55KVQFqzRpkgLA3uiuqDxUtuRfs3BBlSB4oawP0fwzMK8Gs6rAxJGr8HubZKF3wKwXAqR1kkT/xbFJ+B0kh6HbdD7jDdR0lkR+Zg6RXQcg3wbA7hTM+h0RgImdocblgx5esoze/XJrMpfcBmYd4v8PmmwmxqVMkqo5gWpfA7t0AgDIwNwtmRuBuUKy0WjFSafB6WKW7Uhe+pHsDL4+r7c1Dqwac/VCgJEn8PgG2jZCEf5u/gh9BKBtEMzasoHajYLWuXI4XcledtCQwePaArB+j+wpP1C5zVUA1sFo5t8EezIwL4Nj5Qcm26+fA8jbAeKLAeCq0Ok1i6AX6gGqJn+OAlQW9u0eYIsIwP4lAPupTrPCX2+cW7EX53mEg9X80jd4R1lFdSparB9prMq24a/9BzzEzbqNDkgmFZiHsF0OoDIw2yu+8NVAmAZj5AZ1fwEYNkA4j+ECALU8jnthsG7QWQ8rAcQXoW0jgDQX+gf8LNY+mi+hu9hqwv6XmjvaIMAatCibLCu0p+xYKq57LoD6G2wfPdXeSvQRAHhRGGAugf3K7fEUsOwGsOpXBgtdIjuCrzkNQG1cGK66unoi9BJoITSsSQfGY3uGZ525i3yrdMeSm6BfA3hXBwGVHdHt0AcZnNDfQ2+G/ha6mh1INn9Q7iphszafGfATzVP2vdxd++iul5ckfd12EhXPzzJ0b/w70AqNG5YBsENgBvRVPGBPG1lwdDwAu1GyUhGY9kKAtAH2a7umnRBzAdRZgTsAUO7h8u/j5ninFtnY7te8vLxvAwDHTfezFJqTEEl4Abvbtdtnz5I7JW7BB/BmGNblyULegjK7XowySwVYUw9WDoIeYHy5vV7PtGdfM+0qKQvMnEpI2BB8NdvQGHJi2C0FSMMBs0Iy0mf4/3mwX/PR7LP3z3ZswMvZBD0HYHUHgZXZ7OUYt3JUA24jiKdePb1fTU3tY/jdUcejOLT64eE6EwDClVFs2dO0KAjfel+UTek6tj94M0CaNIkZifver732mVff/ebwUfItcpHcOmyMqlK5aUVz898fbMrNPztTFwGQS9H8lwHSbL/uAXhXgmkvbQpUvtT1wUD1m9c6boWdIM6bnQ59Ebp+4aKnXl246OmGc0YNK9JxPrMpL/DBzmJUpw7gLNPMAgbtVGGzNg9gi6ALYauqGOHgv8eTdESA3nYpz5EvHtooXQHWQGBeDmByXgBHBobLLhotO4ObuycA1Ehx0CahJoejXvcj5+ZmF/5u1q8K5/1pJlksloN6LBsGOtjzz9BoOQpva6CeJMDavNLoBfPwlGQBu96rmLTm84XgSp8AU2Ak7FbOC+BCPwdoVwO8OWpgq1EY6LOj/Ikmzex/l6+mV195l16Bzf36a+/TihVraf/+YnK53BEvMPD0PutdLtcAzWGK9cBs1dzNEQAAdlIEdnVrEYKeqX45ogerqTT2t/vY1a2m+iVhvw4DK3IcjLP/F2K7ANrPf7A97NNrlTpaa7DSDskXvrI0TWGZjfProly/sfetsrKauhd2pu7dO1ObNq3U+y4rO05FB0tpw/rtAKwPh0OHDqTBQ5rkdb8EgHGvwx8AwMXY/g06JsZzseO4FOUXcZQB5weHT5plLVvRgxUgQwaPK8GmcRwU9/M7XQ1ksyacmcfOSe7WbStV6xWAtWne+8xgoqgG3+bAHAj4LLi/tz/AGjHYDgfrMmze599Op4t2f3OAiopKVeCqwBw2kAYM6E1utwdNvZlMppAMA752x7y8vBMBThJjglcH/xNUz3JJFeTLzWXQKzif/whHIFbh/5cKZk2DGaB+yZJBZVW320lmc0LLujLKeUl4NTYK4LGNydn/b2nOzlmnKDIkn+SxaEDVpPHD2rFjDx08WKIy66jRw6l9+7aqk8gzypjNEV8zdzLcC9D7IwVfA7jMsgsAun9i+zR0cox7aKM9yzTuAeNvXgP5MsGszceqzHohHoo6oXBDHVmt9kSHuVwFZn0neKeWL8CB+jnQ4Hk12fPuCrA6ol0YIHtS8/JVqaurp2Iwa3HxYTp+/CQVdGhHkyadF8+9cnfZ3oBQ17b773us3fbtu7kjoKuO811aHfJH2QfMWiOYNQ2seopdJTSfFth89eoM2AnMfcVMEwJWAJGBwdn/72l24oSAw/8IBKqWfxoyXutQ8ZFhNptv9/KPVlFNrUNt7jt37kDDhg+kgvbt6NjRb+O5V/6A+muq9kRNn3Ej7dt/aM6jc+fzPdwQwym3aMp2CI9wWCvA2szOVbCYzWY1d9Xtboh3cmGWwdEOApQHAdjzyddd6U86eTWoGNuEnzeJKBgMUklJ2VlGo0HtIu6G5p+ByvYps+raNZvRIjTQyJGnZqFf+8Um8ri9lN+uNYCcT23btiY+P5rAUWtY8LdFX5OvB4u3PHlHrM4EZuHV+Mg4CnIfGLY6FS9ImAGnzAB2Bj6IdJwjAwxWs8VGJmNcA06LYQYU6ikI0HIA/9cA8AOB+/HSZ+CFPxlkAnBITI2/1oJR//PvlQCnL5XQZDJRl64dqXfvQurUqSDoObxUWlKmOmKHD5erQGdTx263AfCdqG/fHmo0IUAWwI69LeBe7tYY+A9hzJdwcgT6G9z/uwKsqQEq97hwZlLnaOXYdsWL3Wa357QNdG50SCsANmF2AUCm42U/pYWKVFaDPdqloCBfzXJyAqQer5dsNiuY0uhbDsnpAot6KCfXt3gH/z5xoqLxtVutZrW81WpRh/DIOL8B5xhg5tjstgBT4/DW6upadsRW4x5m+T8cbDmO+jz0fJ2P8b4G2lJhBiQOVK6DRbGA6jMHrBwZeIJ8Xf2vxvFnmAXXpYBUuFtYDbazLRqnPZpwFWnbIr/Pyf8AdJwvcAFAex22zPrtYlzncuh4lOdZauYnMpxG9GD5pvjR5TIbjaYimy37dfx8XbPh4gFrKqQmg/XkCdcaA3Svaw7ZKzquwUlDf4GuAWgHCbDGx6o86cQDcZwyG825F8rsMiOO885I8laVgNBQpqRWC/h7gw8AsCegN2gRjX06rsWr5GzC9eZCbQKssYHKzz4/DlNod2DTD8Cuwkav09A7Rb6FI4NV5tSYMaLtDcCu0EJWj1KECe+CTFBu1bYDsOMFWKMLZ8SfHUf5BwDQ4BfA3aZuHed2TPJe/cxan8H64r9tjcXuPOgQyiAcTr5hL3o+5I+1YTH5AqyhrMqB6wfjOIWTn0MC+wDvvmjhrgBJdt5VKYDdTr08ePG9+xSqyjHTSJKXl9NYLkrXK512WoFapmu3sHNgMKvb9bI7AMu9YKM5AqDT1p4ay0n7oTIrJ2p0jaP8/ZqdGhYLOs4v0MyOpJhVkqSQzHsGLKtkkKJi3V8uWk45X4PLGMNnmTGjZsXD7uzxQ5/VHMxYHzUPBd8twNqUVfmt3hXHKZ8BqB9FOd5OxzXYMSlIllkVRfFksOrYVrUEs7tO0JZCOXT1Mwo/uoHnNfijsFlDhec+7RtH+ftiHG+r8zrJzC/l58PKDNabV3OwEh5XpfVicZjrBWqa83qbllMrwBok18dR9kOwaqxgvt5ewGScrCo4H60pTNgojVKlefBJsTvnCUDv0EiDRxQswP9X6Tm3RfVgbd5YxGPTL9O+YG/AxyRpXvebw84q/DrJP3NhHGz2uxQ+XjJOllczJTLZKcD1z0kDB1NxMQB0rTZ8W3eisKkFAJTtIM444vgcTzQ2H4CsDFOOAXwLtjz5wmyUifsLh71aGEdz/AZYdYfOl9jczFqtfcDODL6qOs0+Txm7a+O13N8JsAJ4bHRzIsQCgG9BtLI4zqzyJM7hlDse8z4jgT85Kg4W+b3OsnrZLhmb1a05N5mMs3JCdU4m2d2QIZC2gT7DzTtAeCd0s95zUZbZ93Ocf2kzgnUBWHW/zrLlaQArsxqHjRwZBmvMToHvFVgBMm7ueTDaHADvvUSuoZ2XyBqpI3WUYfaaE8c1D6XBDKjXwJrJ3AD+YOxouh0/CLACqAwwXlLndgAu2dnP6nE93fm4sFfZ5huuo+jTYNWyOO7jmzQ4WE7NDMi0g5XR/GdTGoF6EYMFIA2JW2or6nHX3E/JNwykwNSlk8GQn1/i2rqdpzj/d78vVihhGI0nGivWeQvjdTwvh2fmxfloG3SWU3ux/MOy4xSObXKPWyY7BaqomeYDaFFgBVDHYnMmgPpwEEj573NCCY8x6nPqroxk6tKZGtZt4GTjK6ErUfZKADYwSlCmead6wapnOpt5AFO8gfdNGohi1aW/F6s8gSr0aOdnulMgo8xqSANQucfisjBA5ZxGdpb+2gSobMWfOYwaNmwK3MXz4b8VdGmHFs7RYwJwJceKrzKInon3+QButic/bWYni1mtdSaZNVWD/losWAHUdhpr3hfY5EP/Dz/XQAeE0E/HDuQtO8qLTwUfmojzAr35rDhsuFEUO3FlDoBXl+CjLmpmJ8vP3LUZwon/I1G+l2AFUDnMwckJvwWrujSg8rBQHv7wSKS/beramTyHSiJdNjACkEv6447XxDjOvTILknjctzRvuVmcLG2yiBwKmjUwzZEA+l6aAQAq21c8Bv4RALVCAyp7szyl9LSIBnSXTuQpPRzt0j0CfmfrYVZtQGCsqcMfAqsmHBbCuTVhzJRUMqsfKJkCa31LYFZTFMAxc/HIRR71adeA8Rl0VbSuzgCg/hXlDgR4+8xcUacHN3YoIOdXW6IVCUzHa6UHrFaz6Uqn29MhShEee/9GCuqS53u6sZlsVj9Q6jKEE2eLZVYtcM9DjlcCcLOgPAvH4xqbPYHjv4SaIgCck21fxDnbA5mLYmQ7SXY7yXWOeJkmprTJzoo1IuB3CYaTgtmVbfC9zQhWflfuDOGktkUyq+YU/Yp8gftGLwe/+Yb/xYoyPHbpOWw5KflDDTgXQC+GzkXZkgCH6hoNrFHF3Lc3ubbFzBsJRDOHrHpqoaOwzb/RYDi3sq5+QJTrfQmQfZDC+uR8zZnNZAbwB5Upj9zTEpg1nBnALPpAIFCDBcfWA6gcDOeht3O063wMvQPHlACgjid948l9wzJiz+NfEfD73xxqwn2wHcy9YdzUc4phnsfjUeY+MveKqoqTXZfee6th1Tf76ZMde+izr/dTXUOTxKX7UlyfS2KANZleLImHiYwdM1nJAGiqWhyz4sVz0NoJwIUs/wzgtbGcMfBPrh27hrF5Sb+5mZs8nhLmwX5frHCFKc8r6jFrxZwYSsrK0msCuAM+mGrcL8/BxP39PP0PdxJ8esNNN7Idq068wFPhWEwmmjCon6ouj5e+2HOQVu7cS5/s3Lt01br/fJri+uSVSkqjgDKZXiy/VGv2+g+OWYNt1inQ18IAj8Mmn8vV1beYCrvxxBBDNQ+bHZNd3LukOVFqrxT0fzXm0zXlnrlXD3LvO6CnaHYQw7ug7PC9D/2SAUy+9EF1pRAZTP2zJ16kt9dtpipHA/FslbzUZZ7dRv9z681ZAPuwVFamNqgw2irVyYzFUoI/2DRKJnMSIpoBPfHCw6XGsc15hudQKVmHDSFv+TFSGhqjKL205u9rgJRdeV4Gsltcd8HTLsq6yOYq/A1eDYSn7uEFdP1ziTIADMvdStu/u5QmobEDR7+lue8upz++/zG1z8uhcm0K8+wvt7R9dv4LVwOweXjmz1JYp2wO/SKGk5VIl6uf1epI3yDFVIqrJZgBhgATQKIw3XkAB3fz3dEYw9iyjSyDTw93LXZkrokbqD4K1FuSmz926nhGMh7ewqmCPPsHJ2LftVOOHMP14mPwA1V9407XoBtvvomb7Svx7J1TWKcrYxzvkCSzZiLW6mhpZgCvIhIu3e2SJs0vmla5sooMebkpuQHJaiHFlZo0TXv8p8w9cPAA5yz8NoWmwGGz0RiNORP9MKQWANYW093KsdVwsaOJIV7Onn1k7pOaBZBNhd3Jc7AoJdeaZpFoQHzT/vd5ePbsnzNTg13bp6pSC1rlhGSCdWydR1ecPVi+fuzZiY6j8gMlE/kBrrFjJtspcz1oIWDl5jvcyMURSTbdsZnVmRpmzQb3PGgz0PnmuFqr35eXl3PTPT5VlWoxmdZbTSYa3bcH3XPJT+i9e26hZfffQWP69zK888WWl88ePvF5bQLjRJg1E5lX7GBZWxJY2wdn72v9+X3CxpCKisnUrUvyd5DihoWJ9c4Rg+mOPLveZN2ODzz04LhIz5mIHD5ZKX8w8zaaf8tkum7MCOpRkK/ay/e+8QE5XC6D0+Phlab3AbBzoK3irKmqDODEP8FFXUsBqzGCMxC2YZUrKsnQunXyd5Bik93YLp8Uh4PGeZ30sN1A7XVc3+12T6+urral4u8DfB1cHu9dd7/yruvgsRP08fbd9Pg/P6Gbnl9IHm+TiAenOPK8BPtxzl3aZHEtlVkrNRy4MwnWQPIJVwnRuweVFNCiLKf2gXoWknO9b1Lq3vgU5wGwzzkV+sob9V7zFy5686wU3YI6rfmu0nLLFY//XU95nubxKeh0APYeOGhLdDTJjWRbWeEj2vr6yC00L4XpLxdtte+6Woe69gCv+BIkvKN1hlg9LLOG615tT98hMffuGdK5kAM+utcm0Y1wvqQozLBx48aR2sJtycqgBM8rhL6De/gUOjCKGeA69Z0rdAzszeqoi5zay6u4+Mt5vZHnqKiqqlHLVFSEYLJWY1ZvSwFrOGaN3jR5k7t3yWpNmXOlPkyrPJJPVoRtP38Kp+s8k8SJNtvCnevxeNh2nJaC20h2lmser7YVgH0EGji1jgceuZkyM3dAzFmv020GhLNNozKN4nYnD66q1Dy/qXs38hSXRCtS/MymT5YDANxbxTMz89Ca4LwFzjZbkOSt2FP0Xvj+for7nQLTYI/Gbhzv5hyI4jTj5IQWDWgxNqs3ghcYmRntybWahuxs8hw9lpIHMbZtTc7iqPNNqKtH48UzSzwEEHBmPy9DOTrQ3sT+ISizNYlb2ZbC98M5GGtwT/20sBFPMsFDxeelGyhg9cszHQ0w4SY4ScVUWVnVRptW8VQIxltpaaNEdoA8bhkGVOLuvMVmI5ejPvmQgNFIHpc72r0oeyTza0HPdxjOxsWjR4946aPlH50uy7LafEuSYQLKJcxcTmf94gZn3WBc+0daNCXZrr6tdnuOTWv5zsW9lWcIK/zh7ArGSBrFI+GP83j6jiPOGj4yNze3SaDaIHstFrc74jTkRrPR5HV7Ew6lGIwGo+yVkzbaDQbJwP6HLFPYLwueiddptVWEO1ZbW3t0/Yav1gFkvb1ed1eL1b7JZDSnbHy+osgWj9fTSpa9eYosZwHEduzLUtgfUBSzEmSKSJLkwONUGQyGSpPJcsRoNPm9fyaVLpRZYXNEztDfLv9/AQYAhSJD5Tww3hkAAAAASUVORK5CYII=\"","module.exports = __webpack_public_path__ + \"static/media/AUTRE.748790ee.png\";","module.exports = __webpack_public_path__ + \"static/media/undraw-season-change-f-99-v.08df94d3.png\";","export enum Language {\n FR = \"fr\",\n EN = \"en\",\n}","import i18n from \"i18next\";\nimport { initReactI18next } from \"react-i18next\";\nimport LanguageDetector from 'i18next-browser-languagedetector';\nimport { Language } from \"./enums/Language\";\nimport translationEN from './i18n/en.json';\nimport translationFR from './i18n/fr.json';\n\nlet defaultLanguage = Language.FR;\n\n// the translations\nconst resources = {\n en: {\n translation: translationEN\n },\n fr: {\n translation: translationFR\n }\n};\n\ni18n\n .use(LanguageDetector)\n .use(initReactI18next) // passes i18n down to react-i18next\n .init({\n resources,\n lng: defaultLanguage,\n\n keySeparator: \".\", // to support nested translations\n\n interpolation: {\n escapeValue: false // react already safes from xss\n }\n });\n\n export default i18n;","import { library } from '@fortawesome/fontawesome-svg-core'\nimport { fab } from '@fortawesome/free-brands-svg-icons'\nimport { faCalendarAlt, faTimes, faChevronLeft, faTrash } from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(fab, faCalendarAlt, faTimes, faChevronLeft, faTrash);\n","// Note: Step values are used in the Inscription routes\nenum SignupStep {\n\tOne = \"Step1\",\n\tTwo = \"Step2\",\n\t// Three = \"Step3\",\n\tFour = \"Step3\",\n\tFive = \"Step4\",\n\tSix = \"Step5\",\n\tSeven = \"Step6\",\n\tHeight = \"Step7\",\n\tCreatePassword = \"/validation-mail\",\n\tResetPassword = \"/password-reset\"\n};\n\nexport default SignupStep;","import React from \"react\"\nimport Logo from \"../../assets/logo/logo_spedidam.png\"\n\nconst WhiteLogo = () => {\n return(\n \n )\n}\n\nexport default WhiteLogo;","import React from \"react\";\n\ninterface WelcomeProps {\n title: string,\n}\n\nconst Subtitles: React.FunctionComponent = ({title}) => {\n return (\n

{title}

\n )\n}\n\nexport default Subtitles;","import { IStepOneModel, IStepTwoModel, IStepThreeModel, IStepFourModel, IStepFiveModel, IStepSevenModel, IStepSixModel } from '../models/signup';\nimport SignupStep from './SignupSteps';\nimport { Context } from './context';\nimport { FOCurrentUserDto, EtapeDemandeVersement, StructureDetailsDto, TypeVersement, UpdateStructureAdresseDto, TypeDeDocumentDto, DossierDtoSortedFilteredPage } from '../services/generated/FrontOffice-api';\nimport DossierState from '../models/dossiers/DossierState';\nimport { PageVitrineDto } from 'adel-shared/dist/models/generated/BackOffice-api';\nimport { CategorieDossier } from 'adel-shared/dist/enums/CategorieDossier';\n\nexport enum ActionTypeEnum {\n\tUPDATE_STRUCTURE = \"UPDATE_STRUCTURE\",\n\tUPDATE_STRUCTURE_ADDRESS = \"UPDATE_STRUCTURE_ADDRESS\",\n\tUPDATE_STRUCTURE_INFOS = \"UPDATE_STRUCTURE_INFOS\",\n\tSET_USER = \"SET_USER\",\n\tUNSET_USER = \"UNSET_USER\",\n\tLOGOUT_USER = \"USER_LOGOUT\",\n\tSET_SIGNUP_STEP_ONE = \"SET_SIGNUP_STEP_ONE\",\n\tSET_SIGNUP_STEP_TWO = \"SET_SIGNUP_STEP_TWO\",\n\tSET_SIGNUP_STEP_THREE = \"SET_SIGNUP_STEP_THREE\",\n\tSET_SIGNUP_STEP_FOUR = \"SET_SIGNUP_STEP_FOUR\",\n\tSET_SIGNUP_STEP_FIVE = \"SET_SIGNUP_STEP_FIVE\",\n\tSET_SIGNUP_STEP_SIX = \"SET_SIGNUP_STEP_SIX\",\n\t\tSET_SIGNUP_STEP_SIX_DOCUMENT_DATE = \"SET_SIGNUP_STEP_SIX_DOCUMENT_DATE\",\n\t\tSET_SIGNUP_STEP_SIX_DOCUMENT_FILE = \"SET_SIGNUP_STEP_SIX_DOCUMENT_FILE\",\n\t\tSET_SIGNUP_STEP_SIX_DOCUMENT_TYPE = \"SET_SIGNUP_STEP_SIX_DOCUMENT_TYPE\",\n\t\tSET_SIGNUP_STEP_SIX_DOCUMENT_EXTRA_INFO = \"SET_SIGNUP_STEP_SIX_DOCUMENT_EXTRA_INFO\",\n\n\tSET_SIGNUP_STEP_SEVEN = \"SET_SIGNUP_STEP_SEVEN\",\n\tSET_SIGNUP_HIGHEST_STEP = \"SET_SIGNUP_HIGHEST_STEP\",\n\n\tSTART_NEW_DOSSIER_CREATION = \"START_NEW_DOSSIER_CREATION\",\n\tCREATE_DOSSIER_REQUEST = \"CREATE_DOSSIER_REQUEST\",\n\tCREATE_DOSSIER_SUCCESS = \"CREATE_DOSSIER_SUCCESS\",\n\tUPDATE_DOSSIER_STATE = \"UPDATE_DOSSIER_STATE\",\n\n\tEDIT_DOSSIER = \"EDIT_DOSSIER\",\n\tDELETE_DOSSIER_REQUEST = \"DELETE_DOSSIER_REQUEST\",\n\tDELETE_DOSSIER_SUCCESS = \"DELETE_DOSSIER_SUCCESS\",\n\tDOSSIER_REFRESHED = \"DOSSIER_REFRESHED\",\n\tSET_DOSSIERS_LIST_SUCCESS = \"SET_DOSSIERS_LIST_SUCCESS\",\n\tSEARCH_DOSSIERS_SUCCESS = \"SEARCH_DOSSIERS_SUCCESS\",\n\t\n\tSTART_NEW_VERSEMENT_CREATION = \"START_NEW_VERSEMENT_CREATION\",\n\tCREATE_VERSEMENT_REQUEST = \"CREATE_VERSEMENT_REQUEST\",\n\tCREATE_VERSEMENT_SUCCESS = \"CREATE_VERSEMENT_SUCCESS\",\n\tUPDATE_VERSEMENT_STATE = \"UPDATE_VERSEMENT_STATE\",\n\tEDIT_VERSEMENT = \"EDIT_VERSEMENT\",\n\n\tDO_SOMETHING = \"DO_SOMETHING\",\n\tERROR_OCCURRED = \"ERROR_OCCURRED\",\n\tREINIT_TOASTER = \"REINIT_TOASTER\",\n\tCAN_CREATE_STRUCTURE = \"CAN_CREATE_STRUCTURE\",\n\n\tGET_PAGES_VITRINE_SUCCESS = \"GET_PAGES_VITRINE_SUCCESS\"\n}\n\nexport interface LogoutAction {\n\ttype: typeof ActionTypeEnum.LOGOUT_USER;\n}\n\nexport interface UpdateStructureAction {\n\ttype: typeof ActionTypeEnum.UPDATE_STRUCTURE;\n\tpayload: StructureDetailsDto;\n}\n\nexport interface UpdateStructureInfosAction {\n\ttype: typeof ActionTypeEnum.UPDATE_STRUCTURE_INFOS;\n\tpayload: StructureDetailsDto;\n}\n\nexport interface UpdateStructureAddressAction {\n\ttype: typeof ActionTypeEnum.UPDATE_STRUCTURE_ADDRESS;\n\tpayload: UpdateStructureAdresseDto;\n}\n\nexport interface DoSomethingAction {\n\ttype: typeof ActionTypeEnum.DO_SOMETHING;\n\tpayload: any;\n}\n\nexport interface SetUserAction {\n\ttype: typeof ActionTypeEnum.SET_USER;\n\tpayload: FOCurrentUserDto;\n}\n\nexport interface UnSetUserAction {\n\ttype: typeof ActionTypeEnum.UNSET_USER;\n}\n\nexport interface SetSignupStepOneAction {\n\ttype: typeof ActionTypeEnum.SET_SIGNUP_STEP_ONE;\n\tpayload: IStepOneModel;\n}\n\nexport interface SetSignupStepTwoAction {\n\ttype: typeof ActionTypeEnum.SET_SIGNUP_STEP_TWO;\n\tpayload: IStepTwoModel;\n}\n\nexport interface SetSignupStepThreeAction {\n\ttype: typeof ActionTypeEnum.SET_SIGNUP_STEP_THREE;\n\tpayload: IStepThreeModel;\n}\n\nexport interface SetSignupStepFourAction {\n\ttype: typeof ActionTypeEnum.SET_SIGNUP_STEP_FOUR;\n\tpayload: IStepFourModel;\n}\n\nexport interface SetSignupStepFiveAction {\n\ttype: typeof ActionTypeEnum.SET_SIGNUP_STEP_FIVE;\n\tpayload: IStepFiveModel;\n}\n\nexport interface SetSignupStepSixAction {\n\ttype: typeof ActionTypeEnum.SET_SIGNUP_STEP_SIX;\n\tpayload: IStepSixModel;\n}\n\nexport interface SetSignupStepSixActionDocumentDate {\n\ttype: typeof ActionTypeEnum.SET_SIGNUP_STEP_SIX_DOCUMENT_DATE;\n\tpayload: {\n\t\ttypeDocument: TypeDeDocumentDto;\n\t\textraInfoCode: string;\n\t\tdateValue: Date;\n\t};\n}\n\nexport interface SetSignupStepSixActionDocumentFile {\n\ttype: typeof ActionTypeEnum.SET_SIGNUP_STEP_SIX_DOCUMENT_FILE;\n\tpayload: {\n\t\ttypeDocument: TypeDeDocumentDto;\n\t\tfileValue: any;\n\t};\n}\n\nexport interface SetSignupStepSixActionDocumentType {\n\ttype: typeof ActionTypeEnum.SET_SIGNUP_STEP_SIX_DOCUMENT_TYPE;\n\tpayload: {\n\t\ttypeDocument: TypeDeDocumentDto;\n\t\tvalue: TypeDeDocumentDto;\n\t};\n}\nexport interface SetSignupStepSixActionDocumentExtraInfo {\n\ttype: typeof ActionTypeEnum.SET_SIGNUP_STEP_SIX_DOCUMENT_EXTRA_INFO;\n\tpayload: {\n\t\ttypeDocument: TypeDeDocumentDto;\n\t\textraInfoCode: string;\n\t\tvalue: string;\n\t};\n}\n\nexport interface SetSignupStepSevenAction {\n\ttype: typeof ActionTypeEnum.SET_SIGNUP_STEP_SEVEN;\n\tpayload: IStepSevenModel;\n}\n\nexport interface SetSignupHighestStepAction {\n\ttype: typeof ActionTypeEnum.SET_SIGNUP_HIGHEST_STEP;\n\tpayload: SignupStep;\n}\n\nexport interface ErrorOccurredAction {\n\ttype: typeof ActionTypeEnum.ERROR_OCCURRED;\n\tpayload: Context.IAppError;\n}\n\nexport interface ReinitToasterAction {\n\ttype: typeof ActionTypeEnum.REINIT_TOASTER;\n}\n\nexport interface CanCreateStructure {\n\ttype: typeof ActionTypeEnum.CAN_CREATE_STRUCTURE;\n\tpayload: boolean;\n}\n\nexport interface StartNewDossierCreationAction {\n\ttype: typeof ActionTypeEnum.START_NEW_DOSSIER_CREATION;\n}\n\nexport interface CreateDossierRequestAction {\n\ttype: typeof ActionTypeEnum.CREATE_DOSSIER_REQUEST;\n}\n\nexport interface CreateDossierSuccessOrUpdateAction {\n\ttype: typeof ActionTypeEnum.CREATE_DOSSIER_SUCCESS | typeof ActionTypeEnum.UPDATE_DOSSIER_STATE;\n\tpayload: { dossierId: string, categorieId: string, categorieCode?: CategorieDossier, state: DossierState }\n}\n\nexport interface EditDossierAction {\n\ttype: typeof ActionTypeEnum.EDIT_DOSSIER;\n\tpayload: { dossierId: string, categorieId: string, categorieCode?: CategorieDossier, nom?: string, numero?: string }\n}\n\nexport interface DeleteDossierRequestAction {\n\ttype: typeof ActionTypeEnum.DELETE_DOSSIER_REQUEST;\n}\n\nexport interface DeleteDossierSuccessAction {\n\ttype: typeof ActionTypeEnum.DELETE_DOSSIER_SUCCESS;\n\tpayload: { dossierId: string }\n}\n\nexport interface DossierRefreshedAction {\n\ttype: typeof ActionTypeEnum.DOSSIER_REFRESHED;\n}\n\n/** Versements */\nexport interface StartNewVersementCreationAction {\n\ttype: typeof ActionTypeEnum.START_NEW_VERSEMENT_CREATION;\n}\nexport interface CreateVersementRequestAction {\n\ttype: typeof ActionTypeEnum.CREATE_VERSEMENT_REQUEST;\n}\nexport interface CreateVersementSuccessOrUpdateAction {\n\ttype: typeof ActionTypeEnum.CREATE_VERSEMENT_SUCCESS | typeof ActionTypeEnum.UPDATE_VERSEMENT_STATE;\n\tpayload: {\n\t\tversementId: string;\n\t\tversementType: TypeVersement;\n\t\tdossierId: string;\n\t\toriginalDossierId: string;\n\t\tstate: { currentStep : EtapeDemandeVersement}\n\t}\n}\nexport interface EditVersementAction {\n\ttype: typeof ActionTypeEnum.EDIT_VERSEMENT;\n\tpayload: {\n\t\tversementId: string;\n\t\tversementType: TypeVersement;\n\t\tdossierId: string;\n\t\toriginalDossierId: string;\n\t\tnom?: string;\n\t}\n}\n\nexport interface SetPagesVitrineAction {\n\ttype: typeof ActionTypeEnum.GET_PAGES_VITRINE_SUCCESS;\n\tpayload: { pagesVitrine: PageVitrineDto[] }\n}\n\nexport interface SetDossiersListAction {\n\ttype: typeof ActionTypeEnum.SET_DOSSIERS_LIST_SUCCESS,\n\tpayload: {\n\t\tdossiers: DossierDtoSortedFilteredPage;\n\t}\n}\n\nexport interface SearchDossiersAction {\n\ttype: typeof ActionTypeEnum.SEARCH_DOSSIERS_SUCCESS,\n\tpayload: {\n\t\tdossiers: DossierDtoSortedFilteredPage;\n\t}\n}\n\n\nexport type ActionType = UpdateStructureAction\n\t| UpdateStructureInfosAction\n\t| UpdateStructureAddressAction\n\t| SetUserAction\n\t| UnSetUserAction\n\t| LogoutAction\n\t| SetSignupStepOneAction\n\t| SetSignupStepTwoAction\n\t| SetSignupStepThreeAction\n\t| SetSignupStepFourAction\n\t| SetSignupStepFiveAction\n\t| SetSignupStepSixAction\n\t| SetSignupStepSixActionDocumentDate\n\t| SetSignupStepSixActionDocumentFile\n\t| SetSignupStepSixActionDocumentType\n\t| SetSignupStepSixActionDocumentExtraInfo\n\t| SetSignupStepSevenAction\n\t| SetSignupHighestStepAction\n\t| DoSomethingAction\n\t| ErrorOccurredAction\n\t| CanCreateStructure\n\t| StartNewDossierCreationAction\n\t| CreateDossierRequestAction\n\t| CreateDossierSuccessOrUpdateAction\n\t| EditDossierAction\n\t| DeleteDossierRequestAction\n\t| DeleteDossierSuccessAction\n\t| DossierRefreshedAction\n\t| SetDossiersListAction\n\t| SearchDossiersAction\n\t| ReinitToasterAction\n\t| StartNewVersementCreationAction\n\t| CreateVersementRequestAction\n\t| CreateVersementSuccessOrUpdateAction\n\t| EditVersementAction\n\t| SetPagesVitrineAction;\n","import React from \"react\"\nimport { Link } from \"@reach/router\";\nimport SignupStep from \"../../context/SignupSteps\";\n\ninterface SignupProps {\n title: string,\n linkLabel: string,\n}\n\nconst Signup: React.SFC = ({ title, linkLabel }) => {\n return (\n
\n {title}\n \n

{linkLabel}

\n \n
\n )\n}\n\nexport default Signup;","/* tslint:disable */\r\n/* eslint-disable */\r\n//----------------------\r\n// \r\n// Generated using the NSwag toolchain v13.15.3.0 (NJsonSchema v10.6.4.0 (Newtonsoft.Json v13.0.0.0)) (http://NSwag.org)\r\n// \r\n//----------------------\r\n// ReSharper disable InconsistentNaming\r\n\r\nimport axios, { AxiosError, AxiosInstance, AxiosRequestConfig, AxiosResponse, CancelToken } from 'axios';\r\nimport { Dictionary } from '../../models';\r\n\r\nexport class AdresseClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n\r\n }\r\n\r\n /**\r\n * @param postcode (optional) \r\n * @return Success\r\n */\r\n searchAdresse(query: string, postcode: string | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Adresse/search?\";\r\n if (query === undefined || query === null)\r\n throw new Error(\"The parameter 'query' must be defined and cannot be null.\");\r\n else\r\n url_ += \"query=\" + encodeURIComponent(\"\" + query) + \"&\";\r\n if (postcode === null)\r\n throw new Error(\"The parameter 'postcode' cannot be null.\");\r\n else if (postcode !== undefined)\r\n url_ += \"postcode=\" + encodeURIComponent(\"\" + postcode) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSearchAdresse(_response);\r\n });\r\n }\r\n\r\n protected processSearchAdresse(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class ArtisteClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n getArtiste(artisteId: string, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Artiste/{artisteId}\";\r\n if (artisteId === undefined || artisteId === null)\r\n throw new Error(\"The parameter 'artisteId' must be defined.\");\r\n url_ = url_.replace(\"{artisteId}\", encodeURIComponent(\"\" + artisteId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetArtiste(_response);\r\n });\r\n }\r\n\r\n protected processGetArtiste(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n updateArtiste(artisteId: string, body: UpdateArtisteDto | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Artiste/{artisteId}\";\r\n if (artisteId === undefined || artisteId === null)\r\n throw new Error(\"The parameter 'artisteId' must be defined.\");\r\n url_ = url_.replace(\"{artisteId}\", encodeURIComponent(\"\" + artisteId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processUpdateArtiste(_response);\r\n });\r\n }\r\n\r\n protected processUpdateArtiste(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n deleteArtiste(artisteId: string, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Artiste/{artisteId}\";\r\n if (artisteId === undefined || artisteId === null)\r\n throw new Error(\"The parameter 'artisteId' must be defined.\");\r\n url_ = url_.replace(\"{artisteId}\", encodeURIComponent(\"\" + artisteId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDeleteArtiste(_response);\r\n });\r\n }\r\n\r\n protected processDeleteArtiste(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param dossierId (optional) \r\n * @param search (optional) \r\n * @return Success\r\n */\r\n autocompleteArtiste(dossierId: string | undefined, search: string | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Artiste/autocomplete?\";\r\n if (dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' cannot be null.\");\r\n else if (dossierId !== undefined)\r\n url_ += \"dossierId=\" + encodeURIComponent(\"\" + dossierId) + \"&\";\r\n if (search === null)\r\n throw new Error(\"The parameter 'search' cannot be null.\");\r\n else if (search !== undefined)\r\n url_ += \"search=\" + encodeURIComponent(\"\" + search) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processAutocompleteArtiste(_response);\r\n });\r\n }\r\n\r\n protected processAutocompleteArtiste(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n let result403: any = null;\r\n let resultData403 = _responseText;\r\n result403 = resultData403;\r\n return throwException(\"Forbidden\", status, _responseText, _headers, result403);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class AuthClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n login(body: LoginDto | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Auth/login\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processLogin(_response);\r\n });\r\n }\r\n\r\n protected processLogin(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401: any = null;\r\n let resultData401 = _responseText;\r\n result401 = resultData401;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers, result401);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n logout(cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Auth/logout\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processLogout(_response);\r\n });\r\n }\r\n\r\n protected processLogout(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n changePassword(body: ChangePasswordDto | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Auth/password/change\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processChangePassword(_response);\r\n });\r\n }\r\n\r\n protected processChangePassword(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n resetPassword(body: PasswordResetRequestDto | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Auth/password/reset\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processResetPassword(_response);\r\n });\r\n }\r\n\r\n protected processResetPassword(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n changePasswordWithResetToken(body: ChangePasswordWithResetTokenDto | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Auth/password/reset/change\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processChangePasswordWithResetToken(_response);\r\n });\r\n }\r\n\r\n protected processChangePasswordWithResetToken(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class BanqueClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n\r\n }\r\n\r\n /**\r\n * @param iban (optional) \r\n * @return Success\r\n */\r\n validateIban(iban: string | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Banque/validate-account?\";\r\n if (iban === null)\r\n throw new Error(\"The parameter 'iban' cannot be null.\");\r\n else if (iban !== undefined)\r\n url_ += \"iban=\" + encodeURIComponent(\"\" + iban) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processValidateIban(_response);\r\n });\r\n }\r\n\r\n protected processValidateIban(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class DossierClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n\r\n }\r\n\r\n /**\r\n * @param filters (optional) \r\n * @param sorts (optional) \r\n * @param page (optional) \r\n * @param pageSize (optional) \r\n * @param disablePagination (optional) \r\n * @return Success\r\n */\r\n getDossiers(filters: string | undefined, sorts: string | undefined, page: number | undefined, pageSize: number | undefined, disablePagination: boolean | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier?\";\r\n if (filters === null)\r\n throw new Error(\"The parameter 'filters' cannot be null.\");\r\n else if (filters !== undefined)\r\n url_ += \"Filters=\" + encodeURIComponent(\"\" + filters) + \"&\";\r\n if (sorts === null)\r\n throw new Error(\"The parameter 'sorts' cannot be null.\");\r\n else if (sorts !== undefined)\r\n url_ += \"Sorts=\" + encodeURIComponent(\"\" + sorts) + \"&\";\r\n if (page === null)\r\n throw new Error(\"The parameter 'page' cannot be null.\");\r\n else if (page !== undefined)\r\n url_ += \"Page=\" + encodeURIComponent(\"\" + page) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n if (disablePagination === null)\r\n throw new Error(\"The parameter 'disablePagination' cannot be null.\");\r\n else if (disablePagination !== undefined)\r\n url_ += \"DisablePagination=\" + encodeURIComponent(\"\" + disablePagination) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetDossiers(_response);\r\n });\r\n }\r\n\r\n protected processGetDossiers(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n createDossier(body: CreateDossierDto | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCreateDossier(_response);\r\n });\r\n }\r\n\r\n protected processCreateDossier(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n getCurrentDossierInfo(dossierId: string, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/currentDossier/{dossierId}\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetCurrentDossierInfo(_response);\r\n });\r\n }\r\n\r\n protected processGetCurrentDossierInfo(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n getDossierDetails(dossierId: string, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/details\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetDossierDetails(_response);\r\n });\r\n }\r\n\r\n protected processGetDossierDetails(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n renonciationDossier(dossierId: string, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/renonciation\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processRenonciationDossier(_response);\r\n });\r\n }\r\n\r\n protected processRenonciationDossier(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n duplicationDossier(dossierId: string, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/duplicate\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDuplicationDossier(_response);\r\n });\r\n }\r\n\r\n protected processDuplicationDossier(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n getCurrentCritereDossier(categorieId: string, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/categorie/{categorieId}/critere\";\r\n if (categorieId === undefined || categorieId === null)\r\n throw new Error(\"The parameter 'categorieId' must be defined.\");\r\n url_ = url_.replace(\"{categorieId}\", encodeURIComponent(\"\" + categorieId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetCurrentCritereDossier(_response);\r\n });\r\n }\r\n\r\n protected processGetCurrentCritereDossier(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n getDossierCommission(dossierId: string, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/commission\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetDossierCommission(_response);\r\n });\r\n }\r\n\r\n protected processGetDossierCommission(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n createPrestation(dossierId: string, body: CreateLieuDto | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/prestation\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCreatePrestation(_response);\r\n });\r\n }\r\n\r\n protected processCreatePrestation(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 201) {\r\n const _responseText = response.data;\r\n let result201: any = null;\r\n let resultData201 = _responseText;\r\n result201 = resultData201;\r\n return Promise.resolve(result201);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n createArtiste(dossierId: string, body: CreateArtisteDto | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/artiste\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCreateArtiste(_response);\r\n });\r\n }\r\n\r\n protected processCreateArtiste(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 201) {\r\n const _responseText = response.data;\r\n let result201: any = null;\r\n let resultData201 = _responseText;\r\n result201 = resultData201;\r\n return Promise.resolve(result201);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param nom (optional) \r\n * @param prenom (optional) \r\n * @param ville (optional) \r\n * @param disciplines (optional) \r\n * @param otherDiscipline (optional) \r\n * @param instrumentId (optional) \r\n * @param qualification (optional) \r\n * @param typeContrat (optional) \r\n * @param statut (optional) \r\n * @param remunerationBruteAnnuelle (optional) \r\n * @param montantChargesPatronales (optional) \r\n * @param tarifHoraireBrut (optional) \r\n * @param remunerationPremierTrimestre (optional) \r\n * @param contratEngagement_Id (optional) \r\n * @param contratEngagement_TypeId (optional) \r\n * @param contratEngagement_PartName (optional) \r\n * @param contratEngagement_ExtraInfos (optional) \r\n * @param contratEngagement_FileName (optional) \r\n * @param contratEngagement_ContentType (optional) \r\n * @param contratEngagement_Content_CanRead (optional) \r\n * @param contratEngagement_Content_CanWrite (optional) \r\n * @param contratEngagement_Content_CanSeek (optional) \r\n * @param contratEngagement_Content_CanTimeout (optional) \r\n * @param contratEngagement_Content_Length (optional) \r\n * @param contratEngagement_Content_Position (optional) \r\n * @param contratEngagement_Content_ReadTimeout (optional) \r\n * @param contratEngagement_Content_WriteTimeout (optional) \r\n * @param justificatifRemuneration_Id (optional) \r\n * @param justificatifRemuneration_TypeId (optional) \r\n * @param justificatifRemuneration_PartName (optional) \r\n * @param justificatifRemuneration_ExtraInfos (optional) \r\n * @param justificatifRemuneration_FileName (optional) \r\n * @param justificatifRemuneration_ContentType (optional) \r\n * @param justificatifRemuneration_Content_CanRead (optional) \r\n * @param justificatifRemuneration_Content_CanWrite (optional) \r\n * @param justificatifRemuneration_Content_CanSeek (optional) \r\n * @param justificatifRemuneration_Content_CanTimeout (optional) \r\n * @param justificatifRemuneration_Content_Length (optional) \r\n * @param justificatifRemuneration_Content_Position (optional) \r\n * @param justificatifRemuneration_Content_ReadTimeout (optional) \r\n * @param justificatifRemuneration_Content_WriteTimeout (optional) \r\n * @param documents (optional) \r\n * @return Success\r\n */\r\n createEnseignant(dossierId: string, nom: string | undefined, prenom: string | undefined, ville: string | undefined, disciplines: string[] | undefined, otherDiscipline: string | undefined, instrumentId: string | undefined, qualification: QualificationEnseignant | undefined, typeContrat: TypeContrat | undefined, statut: StatutEnseignant | undefined, remunerationBruteAnnuelle: number | undefined, montantChargesPatronales: number | undefined, tarifHoraireBrut: number | undefined, remunerationPremierTrimestre: number | undefined, contratEngagement_Id: string | undefined, contratEngagement_TypeId: string | undefined, contratEngagement_PartName: string | undefined, contratEngagement_ExtraInfos: { [key: string]: any; } | undefined, contratEngagement_FileName: string | undefined, contratEngagement_ContentType: string | undefined, contratEngagement_Content_CanRead: boolean | undefined, contratEngagement_Content_CanWrite: boolean | undefined, contratEngagement_Content_CanSeek: boolean | undefined, contratEngagement_Content_CanTimeout: boolean | undefined, contratEngagement_Content_Length: number | undefined, contratEngagement_Content_Position: number | undefined, contratEngagement_Content_ReadTimeout: number | undefined, contratEngagement_Content_WriteTimeout: number | undefined, justificatifRemuneration_Id: string | undefined, justificatifRemuneration_TypeId: string | undefined, justificatifRemuneration_PartName: string | undefined, justificatifRemuneration_ExtraInfos: { [key: string]: any; } | undefined, justificatifRemuneration_FileName: string | undefined, justificatifRemuneration_ContentType: string | undefined, justificatifRemuneration_Content_CanRead: boolean | undefined, justificatifRemuneration_Content_CanWrite: boolean | undefined, justificatifRemuneration_Content_CanSeek: boolean | undefined, justificatifRemuneration_Content_CanTimeout: boolean | undefined, justificatifRemuneration_Content_Length: number | undefined, justificatifRemuneration_Content_Position: number | undefined, justificatifRemuneration_Content_ReadTimeout: number | undefined, justificatifRemuneration_Content_WriteTimeout: number | undefined, documents: FileParameter[] | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/enseignant\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = new FormData();\r\n if (nom === null || nom === undefined)\r\n throw new Error(\"The parameter 'nom' cannot be null.\");\r\n else\r\n content_.append(\"Nom\", nom.toString());\r\n if (prenom === null || prenom === undefined)\r\n throw new Error(\"The parameter 'prenom' cannot be null.\");\r\n else\r\n content_.append(\"Prenom\", prenom.toString());\r\n if (ville === null || ville === undefined)\r\n throw new Error(\"The parameter 'ville' cannot be null.\");\r\n else\r\n content_.append(\"Ville\", ville.toString());\r\n if (disciplines === null || disciplines === undefined)\r\n throw new Error(\"The parameter 'disciplines' cannot be null.\");\r\n else\r\n disciplines.forEach(item_ => content_.append(\"Disciplines\", item_.toString()));\r\n if (otherDiscipline === null || otherDiscipline === undefined)\r\n throw new Error(\"The parameter 'otherDiscipline' cannot be null.\");\r\n else\r\n content_.append(\"OtherDiscipline\", otherDiscipline.toString());\r\n if (instrumentId === null || instrumentId === undefined)\r\n throw new Error(\"The parameter 'instrumentId' cannot be null.\");\r\n else\r\n content_.append(\"InstrumentId\", instrumentId.toString());\r\n if (qualification === null || qualification === undefined)\r\n throw new Error(\"The parameter 'qualification' cannot be null.\");\r\n else\r\n content_.append(\"Qualification\", qualification.toString());\r\n if (typeContrat === null || typeContrat === undefined)\r\n throw new Error(\"The parameter 'typeContrat' cannot be null.\");\r\n else\r\n content_.append(\"TypeContrat\", typeContrat.toString());\r\n if (statut === null || statut === undefined)\r\n throw new Error(\"The parameter 'statut' cannot be null.\");\r\n else\r\n content_.append(\"Statut\", statut.toString());\r\n if (remunerationBruteAnnuelle === null || remunerationBruteAnnuelle === undefined)\r\n throw new Error(\"The parameter 'remunerationBruteAnnuelle' cannot be null.\");\r\n else\r\n content_.append(\"RemunerationBruteAnnuelle\", remunerationBruteAnnuelle.toString());\r\n if (montantChargesPatronales === null || montantChargesPatronales === undefined)\r\n throw new Error(\"The parameter 'montantChargesPatronales' cannot be null.\");\r\n else\r\n content_.append(\"MontantChargesPatronales\", montantChargesPatronales.toString());\r\n if (tarifHoraireBrut === null || tarifHoraireBrut === undefined)\r\n throw new Error(\"The parameter 'tarifHoraireBrut' cannot be null.\");\r\n else\r\n content_.append(\"TarifHoraireBrut\", tarifHoraireBrut.toString());\r\n if (remunerationPremierTrimestre === null || remunerationPremierTrimestre === undefined)\r\n throw new Error(\"The parameter 'remunerationPremierTrimestre' cannot be null.\");\r\n else\r\n content_.append(\"RemunerationPremierTrimestre\", remunerationPremierTrimestre.toString());\r\n if (contratEngagement_Id === null || contratEngagement_Id === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Id' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Id\", contratEngagement_Id.toString());\r\n if (contratEngagement_TypeId === null || contratEngagement_TypeId === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_TypeId' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.TypeId\", contratEngagement_TypeId.toString());\r\n if (contratEngagement_PartName === null || contratEngagement_PartName === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_PartName' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.PartName\", contratEngagement_PartName.toString());\r\n if (contratEngagement_ExtraInfos === null || contratEngagement_ExtraInfos === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_ExtraInfos' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.ExtraInfos\", JSON.stringify(contratEngagement_ExtraInfos));\r\n if (contratEngagement_FileName === null || contratEngagement_FileName === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_FileName' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.FileName\", contratEngagement_FileName.toString());\r\n if (contratEngagement_ContentType === null || contratEngagement_ContentType === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_ContentType' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.ContentType\", contratEngagement_ContentType.toString());\r\n if (contratEngagement_Content_CanRead === null || contratEngagement_Content_CanRead === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_CanRead' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.CanRead\", contratEngagement_Content_CanRead.toString());\r\n if (contratEngagement_Content_CanWrite === null || contratEngagement_Content_CanWrite === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_CanWrite' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.CanWrite\", contratEngagement_Content_CanWrite.toString());\r\n if (contratEngagement_Content_CanSeek === null || contratEngagement_Content_CanSeek === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_CanSeek' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.CanSeek\", contratEngagement_Content_CanSeek.toString());\r\n if (contratEngagement_Content_CanTimeout === null || contratEngagement_Content_CanTimeout === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_CanTimeout' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.CanTimeout\", contratEngagement_Content_CanTimeout.toString());\r\n if (contratEngagement_Content_Length === null || contratEngagement_Content_Length === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_Length' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.Length\", contratEngagement_Content_Length.toString());\r\n if (contratEngagement_Content_Position === null || contratEngagement_Content_Position === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_Position' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.Position\", contratEngagement_Content_Position.toString());\r\n if (contratEngagement_Content_ReadTimeout === null || contratEngagement_Content_ReadTimeout === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_ReadTimeout' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.ReadTimeout\", contratEngagement_Content_ReadTimeout.toString());\r\n if (contratEngagement_Content_WriteTimeout === null || contratEngagement_Content_WriteTimeout === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_WriteTimeout' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.WriteTimeout\", contratEngagement_Content_WriteTimeout.toString());\r\n if (justificatifRemuneration_Id === null || justificatifRemuneration_Id === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Id' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Id\", justificatifRemuneration_Id.toString());\r\n if (justificatifRemuneration_TypeId === null || justificatifRemuneration_TypeId === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_TypeId' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.TypeId\", justificatifRemuneration_TypeId.toString());\r\n if (justificatifRemuneration_PartName === null || justificatifRemuneration_PartName === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_PartName' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.PartName\", justificatifRemuneration_PartName.toString());\r\n if (justificatifRemuneration_ExtraInfos === null || justificatifRemuneration_ExtraInfos === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_ExtraInfos' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.ExtraInfos\", JSON.stringify(justificatifRemuneration_ExtraInfos));\r\n if (justificatifRemuneration_FileName === null || justificatifRemuneration_FileName === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_FileName' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.FileName\", justificatifRemuneration_FileName.toString());\r\n if (justificatifRemuneration_ContentType === null || justificatifRemuneration_ContentType === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_ContentType' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.ContentType\", justificatifRemuneration_ContentType.toString());\r\n if (justificatifRemuneration_Content_CanRead === null || justificatifRemuneration_Content_CanRead === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_CanRead' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.CanRead\", justificatifRemuneration_Content_CanRead.toString());\r\n if (justificatifRemuneration_Content_CanWrite === null || justificatifRemuneration_Content_CanWrite === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_CanWrite' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.CanWrite\", justificatifRemuneration_Content_CanWrite.toString());\r\n if (justificatifRemuneration_Content_CanSeek === null || justificatifRemuneration_Content_CanSeek === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_CanSeek' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.CanSeek\", justificatifRemuneration_Content_CanSeek.toString());\r\n if (justificatifRemuneration_Content_CanTimeout === null || justificatifRemuneration_Content_CanTimeout === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_CanTimeout' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.CanTimeout\", justificatifRemuneration_Content_CanTimeout.toString());\r\n if (justificatifRemuneration_Content_Length === null || justificatifRemuneration_Content_Length === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_Length' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.Length\", justificatifRemuneration_Content_Length.toString());\r\n if (justificatifRemuneration_Content_Position === null || justificatifRemuneration_Content_Position === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_Position' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.Position\", justificatifRemuneration_Content_Position.toString());\r\n if (justificatifRemuneration_Content_ReadTimeout === null || justificatifRemuneration_Content_ReadTimeout === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_ReadTimeout' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.ReadTimeout\", justificatifRemuneration_Content_ReadTimeout.toString());\r\n if (justificatifRemuneration_Content_WriteTimeout === null || justificatifRemuneration_Content_WriteTimeout === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_WriteTimeout' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.WriteTimeout\", justificatifRemuneration_Content_WriteTimeout.toString());\r\n if (documents === null || documents === undefined)\r\n throw new Error(\"The parameter 'documents' cannot be null.\");\r\n else\r\n documents.forEach(item_ => content_.append(\"documents\", item_.data, item_.fileName ? item_.fileName : \"documents\"));\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCreateEnseignant(_response);\r\n });\r\n }\r\n\r\n protected processCreateEnseignant(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 201) {\r\n const _responseText = response.data;\r\n let result201: any = null;\r\n let resultData201 = _responseText;\r\n result201 = resultData201;\r\n return Promise.resolve(result201);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param nom (optional) \r\n * @param prenom (optional) \r\n * @param ville (optional) \r\n * @param disciplines (optional) \r\n * @param otherDiscipline (optional) \r\n * @param instrumentId (optional) \r\n * @param qualification (optional) \r\n * @param typeContrat (optional) \r\n * @param statut (optional) \r\n * @param remunerationBruteAnnuelle (optional) \r\n * @param montantChargesPatronales (optional) \r\n * @param tarifHoraireBrut (optional) \r\n * @param remunerationPremierTrimestre (optional) \r\n * @param contratEngagement_Id (optional) \r\n * @param contratEngagement_TypeId (optional) \r\n * @param contratEngagement_PartName (optional) \r\n * @param contratEngagement_ExtraInfos (optional) \r\n * @param contratEngagement_FileName (optional) \r\n * @param contratEngagement_ContentType (optional) \r\n * @param contratEngagement_Content_CanRead (optional) \r\n * @param contratEngagement_Content_CanWrite (optional) \r\n * @param contratEngagement_Content_CanSeek (optional) \r\n * @param contratEngagement_Content_CanTimeout (optional) \r\n * @param contratEngagement_Content_Length (optional) \r\n * @param contratEngagement_Content_Position (optional) \r\n * @param contratEngagement_Content_ReadTimeout (optional) \r\n * @param contratEngagement_Content_WriteTimeout (optional) \r\n * @param justificatifRemuneration_Id (optional) \r\n * @param justificatifRemuneration_TypeId (optional) \r\n * @param justificatifRemuneration_PartName (optional) \r\n * @param justificatifRemuneration_ExtraInfos (optional) \r\n * @param justificatifRemuneration_FileName (optional) \r\n * @param justificatifRemuneration_ContentType (optional) \r\n * @param justificatifRemuneration_Content_CanRead (optional) \r\n * @param justificatifRemuneration_Content_CanWrite (optional) \r\n * @param justificatifRemuneration_Content_CanSeek (optional) \r\n * @param justificatifRemuneration_Content_CanTimeout (optional) \r\n * @param justificatifRemuneration_Content_Length (optional) \r\n * @param justificatifRemuneration_Content_Position (optional) \r\n * @param justificatifRemuneration_Content_ReadTimeout (optional) \r\n * @param justificatifRemuneration_Content_WriteTimeout (optional) \r\n * @param documents (optional) \r\n * @return Success\r\n */\r\n updateEnseignant(dossierId: string, enseignantId: string, nom: string | undefined, prenom: string | undefined, ville: string | undefined, disciplines: string[] | undefined, otherDiscipline: string | undefined, instrumentId: string | undefined, qualification: QualificationEnseignant | undefined, typeContrat: TypeContrat | undefined, statut: StatutEnseignant | undefined, remunerationBruteAnnuelle: number | undefined, montantChargesPatronales: number | undefined, tarifHoraireBrut: number | undefined, remunerationPremierTrimestre: number | undefined, contratEngagement_Id: string | undefined, contratEngagement_TypeId: string | undefined, contratEngagement_PartName: string | undefined, contratEngagement_ExtraInfos: { [key: string]: any; } | undefined, contratEngagement_FileName: string | undefined, contratEngagement_ContentType: string | undefined, contratEngagement_Content_CanRead: boolean | undefined, contratEngagement_Content_CanWrite: boolean | undefined, contratEngagement_Content_CanSeek: boolean | undefined, contratEngagement_Content_CanTimeout: boolean | undefined, contratEngagement_Content_Length: number | undefined, contratEngagement_Content_Position: number | undefined, contratEngagement_Content_ReadTimeout: number | undefined, contratEngagement_Content_WriteTimeout: number | undefined, justificatifRemuneration_Id: string | undefined, justificatifRemuneration_TypeId: string | undefined, justificatifRemuneration_PartName: string | undefined, justificatifRemuneration_ExtraInfos: { [key: string]: any; } | undefined, justificatifRemuneration_FileName: string | undefined, justificatifRemuneration_ContentType: string | undefined, justificatifRemuneration_Content_CanRead: boolean | undefined, justificatifRemuneration_Content_CanWrite: boolean | undefined, justificatifRemuneration_Content_CanSeek: boolean | undefined, justificatifRemuneration_Content_CanTimeout: boolean | undefined, justificatifRemuneration_Content_Length: number | undefined, justificatifRemuneration_Content_Position: number | undefined, justificatifRemuneration_Content_ReadTimeout: number | undefined, justificatifRemuneration_Content_WriteTimeout: number | undefined, documents: FileParameter[] | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/enseignant/{enseignantId}\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n if (enseignantId === undefined || enseignantId === null)\r\n throw new Error(\"The parameter 'enseignantId' must be defined.\");\r\n url_ = url_.replace(\"{enseignantId}\", encodeURIComponent(\"\" + enseignantId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = new FormData();\r\n if (nom === null || nom === undefined)\r\n throw new Error(\"The parameter 'nom' cannot be null.\");\r\n else\r\n content_.append(\"Nom\", nom.toString());\r\n if (prenom === null || prenom === undefined)\r\n throw new Error(\"The parameter 'prenom' cannot be null.\");\r\n else\r\n content_.append(\"Prenom\", prenom.toString());\r\n if (ville === null || ville === undefined)\r\n throw new Error(\"The parameter 'ville' cannot be null.\");\r\n else\r\n content_.append(\"Ville\", ville.toString());\r\n if (disciplines === null || disciplines === undefined)\r\n throw new Error(\"The parameter 'disciplines' cannot be null.\");\r\n else\r\n disciplines.forEach(item_ => content_.append(\"Disciplines\", item_.toString()));\r\n if (otherDiscipline === null || otherDiscipline === undefined)\r\n throw new Error(\"The parameter 'otherDiscipline' cannot be null.\");\r\n else\r\n content_.append(\"OtherDiscipline\", otherDiscipline.toString());\r\n if (instrumentId === null || instrumentId === undefined)\r\n throw new Error(\"The parameter 'instrumentId' cannot be null.\");\r\n else\r\n content_.append(\"InstrumentId\", instrumentId.toString());\r\n if (qualification === null || qualification === undefined)\r\n throw new Error(\"The parameter 'qualification' cannot be null.\");\r\n else\r\n content_.append(\"Qualification\", qualification.toString());\r\n if (typeContrat === null || typeContrat === undefined)\r\n throw new Error(\"The parameter 'typeContrat' cannot be null.\");\r\n else\r\n content_.append(\"TypeContrat\", typeContrat.toString());\r\n if (statut === null || statut === undefined)\r\n throw new Error(\"The parameter 'statut' cannot be null.\");\r\n else\r\n content_.append(\"Statut\", statut.toString());\r\n if (remunerationBruteAnnuelle === null || remunerationBruteAnnuelle === undefined)\r\n throw new Error(\"The parameter 'remunerationBruteAnnuelle' cannot be null.\");\r\n else\r\n content_.append(\"RemunerationBruteAnnuelle\", remunerationBruteAnnuelle.toString());\r\n if (montantChargesPatronales === null || montantChargesPatronales === undefined)\r\n throw new Error(\"The parameter 'montantChargesPatronales' cannot be null.\");\r\n else\r\n content_.append(\"MontantChargesPatronales\", montantChargesPatronales.toString());\r\n if (tarifHoraireBrut === null || tarifHoraireBrut === undefined)\r\n throw new Error(\"The parameter 'tarifHoraireBrut' cannot be null.\");\r\n else\r\n content_.append(\"TarifHoraireBrut\", tarifHoraireBrut.toString());\r\n if (remunerationPremierTrimestre === null || remunerationPremierTrimestre === undefined)\r\n throw new Error(\"The parameter 'remunerationPremierTrimestre' cannot be null.\");\r\n else\r\n content_.append(\"RemunerationPremierTrimestre\", remunerationPremierTrimestre.toString());\r\n if (contratEngagement_Id === null || contratEngagement_Id === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Id' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Id\", contratEngagement_Id.toString());\r\n if (contratEngagement_TypeId === null || contratEngagement_TypeId === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_TypeId' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.TypeId\", contratEngagement_TypeId.toString());\r\n if (contratEngagement_PartName === null || contratEngagement_PartName === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_PartName' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.PartName\", contratEngagement_PartName.toString());\r\n if (contratEngagement_ExtraInfos === null || contratEngagement_ExtraInfos === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_ExtraInfos' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.ExtraInfos\", JSON.stringify(contratEngagement_ExtraInfos));\r\n if (contratEngagement_FileName === null || contratEngagement_FileName === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_FileName' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.FileName\", contratEngagement_FileName.toString());\r\n if (contratEngagement_ContentType === null || contratEngagement_ContentType === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_ContentType' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.ContentType\", contratEngagement_ContentType.toString());\r\n if (contratEngagement_Content_CanRead === null || contratEngagement_Content_CanRead === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_CanRead' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.CanRead\", contratEngagement_Content_CanRead.toString());\r\n if (contratEngagement_Content_CanWrite === null || contratEngagement_Content_CanWrite === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_CanWrite' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.CanWrite\", contratEngagement_Content_CanWrite.toString());\r\n if (contratEngagement_Content_CanSeek === null || contratEngagement_Content_CanSeek === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_CanSeek' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.CanSeek\", contratEngagement_Content_CanSeek.toString());\r\n if (contratEngagement_Content_CanTimeout === null || contratEngagement_Content_CanTimeout === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_CanTimeout' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.CanTimeout\", contratEngagement_Content_CanTimeout.toString());\r\n if (contratEngagement_Content_Length === null || contratEngagement_Content_Length === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_Length' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.Length\", contratEngagement_Content_Length.toString());\r\n if (contratEngagement_Content_Position === null || contratEngagement_Content_Position === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_Position' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.Position\", contratEngagement_Content_Position.toString());\r\n if (contratEngagement_Content_ReadTimeout === null || contratEngagement_Content_ReadTimeout === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_ReadTimeout' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.ReadTimeout\", contratEngagement_Content_ReadTimeout.toString());\r\n if (contratEngagement_Content_WriteTimeout === null || contratEngagement_Content_WriteTimeout === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_WriteTimeout' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.WriteTimeout\", contratEngagement_Content_WriteTimeout.toString());\r\n if (justificatifRemuneration_Id === null || justificatifRemuneration_Id === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Id' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Id\", justificatifRemuneration_Id.toString());\r\n if (justificatifRemuneration_TypeId === null || justificatifRemuneration_TypeId === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_TypeId' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.TypeId\", justificatifRemuneration_TypeId.toString());\r\n if (justificatifRemuneration_PartName === null || justificatifRemuneration_PartName === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_PartName' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.PartName\", justificatifRemuneration_PartName.toString());\r\n if (justificatifRemuneration_ExtraInfos === null || justificatifRemuneration_ExtraInfos === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_ExtraInfos' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.ExtraInfos\", JSON.stringify(justificatifRemuneration_ExtraInfos));\r\n if (justificatifRemuneration_FileName === null || justificatifRemuneration_FileName === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_FileName' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.FileName\", justificatifRemuneration_FileName.toString());\r\n if (justificatifRemuneration_ContentType === null || justificatifRemuneration_ContentType === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_ContentType' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.ContentType\", justificatifRemuneration_ContentType.toString());\r\n if (justificatifRemuneration_Content_CanRead === null || justificatifRemuneration_Content_CanRead === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_CanRead' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.CanRead\", justificatifRemuneration_Content_CanRead.toString());\r\n if (justificatifRemuneration_Content_CanWrite === null || justificatifRemuneration_Content_CanWrite === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_CanWrite' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.CanWrite\", justificatifRemuneration_Content_CanWrite.toString());\r\n if (justificatifRemuneration_Content_CanSeek === null || justificatifRemuneration_Content_CanSeek === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_CanSeek' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.CanSeek\", justificatifRemuneration_Content_CanSeek.toString());\r\n if (justificatifRemuneration_Content_CanTimeout === null || justificatifRemuneration_Content_CanTimeout === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_CanTimeout' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.CanTimeout\", justificatifRemuneration_Content_CanTimeout.toString());\r\n if (justificatifRemuneration_Content_Length === null || justificatifRemuneration_Content_Length === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_Length' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.Length\", justificatifRemuneration_Content_Length.toString());\r\n if (justificatifRemuneration_Content_Position === null || justificatifRemuneration_Content_Position === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_Position' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.Position\", justificatifRemuneration_Content_Position.toString());\r\n if (justificatifRemuneration_Content_ReadTimeout === null || justificatifRemuneration_Content_ReadTimeout === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_ReadTimeout' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.ReadTimeout\", justificatifRemuneration_Content_ReadTimeout.toString());\r\n if (justificatifRemuneration_Content_WriteTimeout === null || justificatifRemuneration_Content_WriteTimeout === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_WriteTimeout' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.WriteTimeout\", justificatifRemuneration_Content_WriteTimeout.toString());\r\n if (documents === null || documents === undefined)\r\n throw new Error(\"The parameter 'documents' cannot be null.\");\r\n else\r\n documents.forEach(item_ => content_.append(\"documents\", item_.data, item_.fileName ? item_.fileName : \"documents\"));\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processUpdateEnseignant(_response);\r\n });\r\n }\r\n\r\n protected processUpdateEnseignant(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n deleteEnseignant(dossierId: string, enseignantId: string, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/enseignant/{enseignantId}\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n if (enseignantId === undefined || enseignantId === null)\r\n throw new Error(\"The parameter 'enseignantId' must be defined.\");\r\n url_ = url_.replace(\"{enseignantId}\", encodeURIComponent(\"\" + enseignantId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDeleteEnseignant(_response);\r\n });\r\n }\r\n\r\n protected processDeleteEnseignant(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n updatePrestation(prestationId: string, body: UpdateLieuDto | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/prestation/{prestationId}\";\r\n if (prestationId === undefined || prestationId === null)\r\n throw new Error(\"The parameter 'prestationId' must be defined.\");\r\n url_ = url_.replace(\"{prestationId}\", encodeURIComponent(\"\" + prestationId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processUpdatePrestation(_response);\r\n });\r\n }\r\n\r\n protected processUpdatePrestation(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n deletePrestation(prestationId: string, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/prestation/{prestationId}\";\r\n if (prestationId === undefined || prestationId === null)\r\n throw new Error(\"The parameter 'prestationId' must be defined.\");\r\n url_ = url_.replace(\"{prestationId}\", encodeURIComponent(\"\" + prestationId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDeletePrestation(_response);\r\n });\r\n }\r\n\r\n protected processDeletePrestation(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n getEtapesCreationDossier(categorieId: string, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/categorie/{categorieId}/etapes\";\r\n if (categorieId === undefined || categorieId === null)\r\n throw new Error(\"The parameter 'categorieId' must be defined.\");\r\n url_ = url_.replace(\"{categorieId}\", encodeURIComponent(\"\" + categorieId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetEtapesCreationDossier(_response);\r\n });\r\n }\r\n\r\n protected processGetEtapesCreationDossier(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param answers (optional) \r\n * @param files (optional) \r\n * @return Success\r\n */\r\n submitInfosProjetAnswers(dossierId: string, answers: { [key: string]: any; } | undefined, files: FileParameter[] | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/etapes/informationsProjet/answers\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = new FormData();\r\n if (answers === null || answers === undefined)\r\n throw new Error(\"The parameter 'answers' cannot be null.\");\r\n else\r\n content_.append(\"Answers\", JSON.stringify(answers));\r\n if (files === null || files === undefined)\r\n throw new Error(\"The parameter 'files' cannot be null.\");\r\n else\r\n files.forEach(item_ => content_.append(\"files\", item_.data, item_.fileName ? item_.fileName : \"files\"));\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSubmitInfosProjetAnswers(_response);\r\n });\r\n }\r\n\r\n protected processSubmitInfosProjetAnswers(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n setResponsableDossier(dossierId: string, body: CreateOrUpdateResponsableDossierDto | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/responsable\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSetResponsableDossier(_response);\r\n });\r\n }\r\n\r\n protected processSetResponsableDossier(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param answers (optional) \r\n * @param files (optional) \r\n * @return Success\r\n */\r\n submitDescriptionProjetAnswers(dossierId: string, answers: { [key: string]: any; } | undefined, files: FileParameter[] | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/etapes/descriptionProjet/answers\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = new FormData();\r\n if (answers === null || answers === undefined)\r\n throw new Error(\"The parameter 'answers' cannot be null.\");\r\n else\r\n content_.append(\"Answers\", JSON.stringify(answers));\r\n if (files === null || files === undefined)\r\n throw new Error(\"The parameter 'files' cannot be null.\");\r\n else\r\n files.forEach(item_ => content_.append(\"files\", item_.data, item_.fileName ? item_.fileName : \"files\"));\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSubmitDescriptionProjetAnswers(_response);\r\n });\r\n }\r\n\r\n protected processSubmitDescriptionProjetAnswers(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = resultData400;\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param commentaire (optional) \r\n * @param documents (optional) \r\n * @param depenses (optional) \r\n * @param financements (optional) \r\n * @param files (optional) \r\n * @return Success\r\n */\r\n createBudget(dossierId: string, commentaire: string | undefined, documents: DocumentUploadInfoDto[] | undefined, depenses: CreateDepenseDto[] | undefined, financements: CreateFinancementDto[] | undefined, files: FileParameter[] | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/budget\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = new FormData();\r\n if (commentaire === null || commentaire === undefined)\r\n throw new Error(\"The parameter 'commentaire' cannot be null.\");\r\n else\r\n content_.append(\"Commentaire\", commentaire.toString());\r\n if (documents === null || documents === undefined)\r\n throw new Error(\"The parameter 'documents' cannot be null.\");\r\n else\r\n documents.forEach(item_ => content_.append(\"Documents\", item_.toString()));\r\n if (depenses === null || depenses === undefined)\r\n throw new Error(\"The parameter 'depenses' cannot be null.\");\r\n else\r\n depenses.forEach(item_ => content_.append(\"Depenses\", item_.toString()));\r\n if (financements === null || financements === undefined)\r\n throw new Error(\"The parameter 'financements' cannot be null.\");\r\n else\r\n financements.forEach(item_ => content_.append(\"Financements\", item_.toString()));\r\n if (files === null || files === undefined)\r\n throw new Error(\"The parameter 'files' cannot be null.\");\r\n else\r\n files.forEach(item_ => content_.append(\"files\", item_.data, item_.fileName ? item_.fileName : \"files\"));\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCreateBudget(_response);\r\n });\r\n }\r\n\r\n protected processCreateBudget(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 201) {\r\n const _responseText = response.data;\r\n let result201: any = null;\r\n let resultData201 = _responseText;\r\n result201 = resultData201;\r\n return Promise.resolve(result201);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param commentaire (optional) \r\n * @param documents (optional) \r\n * @param depenses (optional) \r\n * @param financements (optional) \r\n * @param files (optional) \r\n * @return Success\r\n */\r\n updateBudget(dossierId: string, commentaire: string | undefined, documents: DocumentUploadInfoDto[] | undefined, depenses: UpdateDepenseDto[] | undefined, financements: UpdateFinancementDto[] | undefined, files: FileParameter[] | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/budget\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = new FormData();\r\n if (commentaire === null || commentaire === undefined)\r\n throw new Error(\"The parameter 'commentaire' cannot be null.\");\r\n else\r\n content_.append(\"Commentaire\", commentaire.toString());\r\n if (documents === null || documents === undefined)\r\n throw new Error(\"The parameter 'documents' cannot be null.\");\r\n else\r\n documents.forEach(item_ => content_.append(\"Documents\", item_.toString()));\r\n if (depenses === null || depenses === undefined)\r\n throw new Error(\"The parameter 'depenses' cannot be null.\");\r\n else\r\n depenses.forEach(item_ => content_.append(\"Depenses\", item_.toString()));\r\n if (financements === null || financements === undefined)\r\n throw new Error(\"The parameter 'financements' cannot be null.\");\r\n else\r\n financements.forEach(item_ => content_.append(\"Financements\", item_.toString()));\r\n if (files === null || files === undefined)\r\n throw new Error(\"The parameter 'files' cannot be null.\");\r\n else\r\n files.forEach(item_ => content_.append(\"files\", item_.data, item_.fileName ? item_.fileName : \"files\"));\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processUpdateBudget(_response);\r\n });\r\n }\r\n\r\n protected processUpdateBudget(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n getDossierBudget(dossierId: string, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/budget\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetDossierBudget(_response);\r\n });\r\n }\r\n\r\n protected processGetDossierBudget(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n getBudgetViewModel(dossierId: string, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/budget/viewmodel\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetBudgetViewModel(_response);\r\n });\r\n }\r\n\r\n protected processGetBudgetViewModel(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n getPrestationsViewModel(dossierId: string, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/prestations/viewmodel\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetPrestationsViewModel(_response);\r\n });\r\n }\r\n\r\n protected processGetPrestationsViewModel(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n getLieux(dossierId: string, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/lieux\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetLieux(_response);\r\n });\r\n }\r\n\r\n protected processGetLieux(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n getDossierPays(dossierId: string, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/pays\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetDossierPays(_response);\r\n });\r\n }\r\n\r\n protected processGetDossierPays(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n validatePrestations(dossierId: string, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/prestations/validation\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processValidatePrestations(_response);\r\n });\r\n }\r\n\r\n protected processValidatePrestations(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n validateArtistes(dossierId: string, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/artistes/validation\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processValidateArtistes(_response);\r\n });\r\n }\r\n\r\n protected processValidateArtistes(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n validateEnseignants(dossierId: string, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/enseignant/validation\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processValidateEnseignants(_response);\r\n });\r\n }\r\n\r\n protected processValidateEnseignants(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n createChiffresCles(dossierId: string, body: CreateChiffresClesDto | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/chiffresCles\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCreateChiffresCles(_response);\r\n });\r\n }\r\n\r\n protected processCreateChiffresCles(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n createOrUpdateAidesFonctionnement(dossierId: string, body: CreateOrUpdateAidesFonctionnementDto | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/aidesFonctionnement\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCreateOrUpdateAidesFonctionnement(_response);\r\n });\r\n }\r\n\r\n protected processCreateOrUpdateAidesFonctionnement(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n getChiffresClesViewModel(dossierId: string, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/chiffresCles/viewModel\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetChiffresClesViewModel(_response);\r\n });\r\n }\r\n\r\n protected processGetChiffresClesViewModel(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param nom (optional) \r\n * @param prenom (optional) \r\n * @param email (optional) \r\n * @param adresse_Line1 (optional) \r\n * @param adresse_Line2 (optional) \r\n * @param adresse_CodePostal (optional) \r\n * @param adresse_Ville (optional) \r\n * @param dateNaissance (optional) \r\n * @param dateEmbauchePrevue (optional) \r\n * @param salaireBrut (optional) \r\n * @param cV_Id (optional) \r\n * @param cV_TypeId (optional) \r\n * @param cV_PartName (optional) \r\n * @param cV_ExtraInfos (optional) \r\n * @param cV_FileName (optional) \r\n * @param cV_ContentType (optional) \r\n * @param cV_Content_CanRead (optional) \r\n * @param cV_Content_CanWrite (optional) \r\n * @param cV_Content_CanSeek (optional) \r\n * @param cV_Content_CanTimeout (optional) \r\n * @param cV_Content_Length (optional) \r\n * @param cV_Content_Position (optional) \r\n * @param cV_Content_ReadTimeout (optional) \r\n * @param cV_Content_WriteTimeout (optional) \r\n * @param diplome_Id (optional) \r\n * @param diplome_TypeId (optional) \r\n * @param diplome_PartName (optional) \r\n * @param diplome_ExtraInfos (optional) \r\n * @param diplome_FileName (optional) \r\n * @param diplome_ContentType (optional) \r\n * @param diplome_Content_CanRead (optional) \r\n * @param diplome_Content_CanWrite (optional) \r\n * @param diplome_Content_CanSeek (optional) \r\n * @param diplome_Content_CanTimeout (optional) \r\n * @param diplome_Content_Length (optional) \r\n * @param diplome_Content_Position (optional) \r\n * @param diplome_Content_ReadTimeout (optional) \r\n * @param diplome_Content_WriteTimeout (optional) \r\n * @param conventionCollective (optional) \r\n * @param equipements (optional) \r\n * @param autresEquipements (optional) \r\n * @param typesAdresses (optional) \r\n * @param autreAdresse_Line1 (optional) \r\n * @param autreAdresse_Line2 (optional) \r\n * @param autreAdresse_CodePostal (optional) \r\n * @param autreAdresse_Ville (optional) \r\n * @param documents (optional) \r\n * @return Success\r\n */\r\n createSalarie(dossierId: string, nom: string | undefined, prenom: string | undefined, email: string | undefined, adresse_Line1: string | undefined, adresse_Line2: string | undefined, adresse_CodePostal: string | undefined, adresse_Ville: string | undefined, dateNaissance: Date | undefined, dateEmbauchePrevue: Date | undefined, salaireBrut: number | undefined, cV_Id: string | undefined, cV_TypeId: string | undefined, cV_PartName: string | undefined, cV_ExtraInfos: { [key: string]: any; } | undefined, cV_FileName: string | undefined, cV_ContentType: string | undefined, cV_Content_CanRead: boolean | undefined, cV_Content_CanWrite: boolean | undefined, cV_Content_CanSeek: boolean | undefined, cV_Content_CanTimeout: boolean | undefined, cV_Content_Length: number | undefined, cV_Content_Position: number | undefined, cV_Content_ReadTimeout: number | undefined, cV_Content_WriteTimeout: number | undefined, diplome_Id: string | undefined, diplome_TypeId: string | undefined, diplome_PartName: string | undefined, diplome_ExtraInfos: { [key: string]: any; } | undefined, diplome_FileName: string | undefined, diplome_ContentType: string | undefined, diplome_Content_CanRead: boolean | undefined, diplome_Content_CanWrite: boolean | undefined, diplome_Content_CanSeek: boolean | undefined, diplome_Content_CanTimeout: boolean | undefined, diplome_Content_Length: number | undefined, diplome_Content_Position: number | undefined, diplome_Content_ReadTimeout: number | undefined, diplome_Content_WriteTimeout: number | undefined, conventionCollective: string | undefined, equipements: Equipements | undefined, autresEquipements: string | undefined, typesAdresses: TypesAdresses | undefined, autreAdresse_Line1: string | undefined, autreAdresse_Line2: string | undefined, autreAdresse_CodePostal: string | undefined, autreAdresse_Ville: string | undefined, documents: FileParameter[] | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/salarie\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = new FormData();\r\n if (nom === null || nom === undefined)\r\n throw new Error(\"The parameter 'nom' cannot be null.\");\r\n else\r\n content_.append(\"Nom\", nom.toString());\r\n if (prenom === null || prenom === undefined)\r\n throw new Error(\"The parameter 'prenom' cannot be null.\");\r\n else\r\n content_.append(\"Prenom\", prenom.toString());\r\n if (email === null || email === undefined)\r\n throw new Error(\"The parameter 'email' cannot be null.\");\r\n else\r\n content_.append(\"Email\", email.toString());\r\n if (adresse_Line1 === null || adresse_Line1 === undefined)\r\n throw new Error(\"The parameter 'adresse_Line1' cannot be null.\");\r\n else\r\n content_.append(\"Adresse.Line1\", adresse_Line1.toString());\r\n if (adresse_Line2 === null || adresse_Line2 === undefined)\r\n throw new Error(\"The parameter 'adresse_Line2' cannot be null.\");\r\n else\r\n content_.append(\"Adresse.Line2\", adresse_Line2.toString());\r\n if (adresse_CodePostal === null || adresse_CodePostal === undefined)\r\n throw new Error(\"The parameter 'adresse_CodePostal' cannot be null.\");\r\n else\r\n content_.append(\"Adresse.CodePostal\", adresse_CodePostal.toString());\r\n if (adresse_Ville === null || adresse_Ville === undefined)\r\n throw new Error(\"The parameter 'adresse_Ville' cannot be null.\");\r\n else\r\n content_.append(\"Adresse.Ville\", adresse_Ville.toString());\r\n if (dateNaissance === null || dateNaissance === undefined)\r\n throw new Error(\"The parameter 'dateNaissance' cannot be null.\");\r\n else\r\n content_.append(\"DateNaissance\", dateNaissance.toJSON());\r\n if (dateEmbauchePrevue === null || dateEmbauchePrevue === undefined)\r\n throw new Error(\"The parameter 'dateEmbauchePrevue' cannot be null.\");\r\n else\r\n content_.append(\"DateEmbauchePrevue\", dateEmbauchePrevue.toJSON());\r\n if (salaireBrut === null || salaireBrut === undefined)\r\n throw new Error(\"The parameter 'salaireBrut' cannot be null.\");\r\n else\r\n content_.append(\"SalaireBrut\", salaireBrut.toString());\r\n if (cV_Id === null || cV_Id === undefined)\r\n throw new Error(\"The parameter 'cV_Id' cannot be null.\");\r\n else\r\n content_.append(\"CV.Id\", cV_Id.toString());\r\n if (cV_TypeId === null || cV_TypeId === undefined)\r\n throw new Error(\"The parameter 'cV_TypeId' cannot be null.\");\r\n else\r\n content_.append(\"CV.TypeId\", cV_TypeId.toString());\r\n if (cV_PartName === null || cV_PartName === undefined)\r\n throw new Error(\"The parameter 'cV_PartName' cannot be null.\");\r\n else\r\n content_.append(\"CV.PartName\", cV_PartName.toString());\r\n if (cV_ExtraInfos === null || cV_ExtraInfos === undefined)\r\n throw new Error(\"The parameter 'cV_ExtraInfos' cannot be null.\");\r\n else\r\n content_.append(\"CV.ExtraInfos\", JSON.stringify(cV_ExtraInfos));\r\n if (cV_FileName === null || cV_FileName === undefined)\r\n throw new Error(\"The parameter 'cV_FileName' cannot be null.\");\r\n else\r\n content_.append(\"CV.FileName\", cV_FileName.toString());\r\n if (cV_ContentType === null || cV_ContentType === undefined)\r\n throw new Error(\"The parameter 'cV_ContentType' cannot be null.\");\r\n else\r\n content_.append(\"CV.ContentType\", cV_ContentType.toString());\r\n if (cV_Content_CanRead === null || cV_Content_CanRead === undefined)\r\n throw new Error(\"The parameter 'cV_Content_CanRead' cannot be null.\");\r\n else\r\n content_.append(\"CV.Content.CanRead\", cV_Content_CanRead.toString());\r\n if (cV_Content_CanWrite === null || cV_Content_CanWrite === undefined)\r\n throw new Error(\"The parameter 'cV_Content_CanWrite' cannot be null.\");\r\n else\r\n content_.append(\"CV.Content.CanWrite\", cV_Content_CanWrite.toString());\r\n if (cV_Content_CanSeek === null || cV_Content_CanSeek === undefined)\r\n throw new Error(\"The parameter 'cV_Content_CanSeek' cannot be null.\");\r\n else\r\n content_.append(\"CV.Content.CanSeek\", cV_Content_CanSeek.toString());\r\n if (cV_Content_CanTimeout === null || cV_Content_CanTimeout === undefined)\r\n throw new Error(\"The parameter 'cV_Content_CanTimeout' cannot be null.\");\r\n else\r\n content_.append(\"CV.Content.CanTimeout\", cV_Content_CanTimeout.toString());\r\n if (cV_Content_Length === null || cV_Content_Length === undefined)\r\n throw new Error(\"The parameter 'cV_Content_Length' cannot be null.\");\r\n else\r\n content_.append(\"CV.Content.Length\", cV_Content_Length.toString());\r\n if (cV_Content_Position === null || cV_Content_Position === undefined)\r\n throw new Error(\"The parameter 'cV_Content_Position' cannot be null.\");\r\n else\r\n content_.append(\"CV.Content.Position\", cV_Content_Position.toString());\r\n if (cV_Content_ReadTimeout === null || cV_Content_ReadTimeout === undefined)\r\n throw new Error(\"The parameter 'cV_Content_ReadTimeout' cannot be null.\");\r\n else\r\n content_.append(\"CV.Content.ReadTimeout\", cV_Content_ReadTimeout.toString());\r\n if (cV_Content_WriteTimeout === null || cV_Content_WriteTimeout === undefined)\r\n throw new Error(\"The parameter 'cV_Content_WriteTimeout' cannot be null.\");\r\n else\r\n content_.append(\"CV.Content.WriteTimeout\", cV_Content_WriteTimeout.toString());\r\n if (diplome_Id === null || diplome_Id === undefined)\r\n throw new Error(\"The parameter 'diplome_Id' cannot be null.\");\r\n else\r\n content_.append(\"Diplome.Id\", diplome_Id.toString());\r\n if (diplome_TypeId === null || diplome_TypeId === undefined)\r\n throw new Error(\"The parameter 'diplome_TypeId' cannot be null.\");\r\n else\r\n content_.append(\"Diplome.TypeId\", diplome_TypeId.toString());\r\n if (diplome_PartName === null || diplome_PartName === undefined)\r\n throw new Error(\"The parameter 'diplome_PartName' cannot be null.\");\r\n else\r\n content_.append(\"Diplome.PartName\", diplome_PartName.toString());\r\n if (diplome_ExtraInfos === null || diplome_ExtraInfos === undefined)\r\n throw new Error(\"The parameter 'diplome_ExtraInfos' cannot be null.\");\r\n else\r\n content_.append(\"Diplome.ExtraInfos\", JSON.stringify(diplome_ExtraInfos));\r\n if (diplome_FileName === null || diplome_FileName === undefined)\r\n throw new Error(\"The parameter 'diplome_FileName' cannot be null.\");\r\n else\r\n content_.append(\"Diplome.FileName\", diplome_FileName.toString());\r\n if (diplome_ContentType === null || diplome_ContentType === undefined)\r\n throw new Error(\"The parameter 'diplome_ContentType' cannot be null.\");\r\n else\r\n content_.append(\"Diplome.ContentType\", diplome_ContentType.toString());\r\n if (diplome_Content_CanRead === null || diplome_Content_CanRead === undefined)\r\n throw new Error(\"The parameter 'diplome_Content_CanRead' cannot be null.\");\r\n else\r\n content_.append(\"Diplome.Content.CanRead\", diplome_Content_CanRead.toString());\r\n if (diplome_Content_CanWrite === null || diplome_Content_CanWrite === undefined)\r\n throw new Error(\"The parameter 'diplome_Content_CanWrite' cannot be null.\");\r\n else\r\n content_.append(\"Diplome.Content.CanWrite\", diplome_Content_CanWrite.toString());\r\n if (diplome_Content_CanSeek === null || diplome_Content_CanSeek === undefined)\r\n throw new Error(\"The parameter 'diplome_Content_CanSeek' cannot be null.\");\r\n else\r\n content_.append(\"Diplome.Content.CanSeek\", diplome_Content_CanSeek.toString());\r\n if (diplome_Content_CanTimeout === null || diplome_Content_CanTimeout === undefined)\r\n throw new Error(\"The parameter 'diplome_Content_CanTimeout' cannot be null.\");\r\n else\r\n content_.append(\"Diplome.Content.CanTimeout\", diplome_Content_CanTimeout.toString());\r\n if (diplome_Content_Length === null || diplome_Content_Length === undefined)\r\n throw new Error(\"The parameter 'diplome_Content_Length' cannot be null.\");\r\n else\r\n content_.append(\"Diplome.Content.Length\", diplome_Content_Length.toString());\r\n if (diplome_Content_Position === null || diplome_Content_Position === undefined)\r\n throw new Error(\"The parameter 'diplome_Content_Position' cannot be null.\");\r\n else\r\n content_.append(\"Diplome.Content.Position\", diplome_Content_Position.toString());\r\n if (diplome_Content_ReadTimeout === null || diplome_Content_ReadTimeout === undefined)\r\n throw new Error(\"The parameter 'diplome_Content_ReadTimeout' cannot be null.\");\r\n else\r\n content_.append(\"Diplome.Content.ReadTimeout\", diplome_Content_ReadTimeout.toString());\r\n if (diplome_Content_WriteTimeout === null || diplome_Content_WriteTimeout === undefined)\r\n throw new Error(\"The parameter 'diplome_Content_WriteTimeout' cannot be null.\");\r\n else\r\n content_.append(\"Diplome.Content.WriteTimeout\", diplome_Content_WriteTimeout.toString());\r\n if (conventionCollective === null || conventionCollective === undefined)\r\n throw new Error(\"The parameter 'conventionCollective' cannot be null.\");\r\n else\r\n content_.append(\"ConventionCollective\", conventionCollective.toString());\r\n if (equipements === null || equipements === undefined)\r\n throw new Error(\"The parameter 'equipements' cannot be null.\");\r\n else\r\n content_.append(\"Equipements\", equipements.toString());\r\n if (autresEquipements === null || autresEquipements === undefined)\r\n throw new Error(\"The parameter 'autresEquipements' cannot be null.\");\r\n else\r\n content_.append(\"AutresEquipements\", autresEquipements.toString());\r\n if (typesAdresses === null || typesAdresses === undefined)\r\n throw new Error(\"The parameter 'typesAdresses' cannot be null.\");\r\n else\r\n content_.append(\"TypesAdresses\", typesAdresses.toString());\r\n if (autreAdresse_Line1 === null || autreAdresse_Line1 === undefined)\r\n throw new Error(\"The parameter 'autreAdresse_Line1' cannot be null.\");\r\n else\r\n content_.append(\"AutreAdresse.Line1\", autreAdresse_Line1.toString());\r\n if (autreAdresse_Line2 === null || autreAdresse_Line2 === undefined)\r\n throw new Error(\"The parameter 'autreAdresse_Line2' cannot be null.\");\r\n else\r\n content_.append(\"AutreAdresse.Line2\", autreAdresse_Line2.toString());\r\n if (autreAdresse_CodePostal === null || autreAdresse_CodePostal === undefined)\r\n throw new Error(\"The parameter 'autreAdresse_CodePostal' cannot be null.\");\r\n else\r\n content_.append(\"AutreAdresse.CodePostal\", autreAdresse_CodePostal.toString());\r\n if (autreAdresse_Ville === null || autreAdresse_Ville === undefined)\r\n throw new Error(\"The parameter 'autreAdresse_Ville' cannot be null.\");\r\n else\r\n content_.append(\"AutreAdresse.Ville\", autreAdresse_Ville.toString());\r\n if (documents === null || documents === undefined)\r\n throw new Error(\"The parameter 'documents' cannot be null.\");\r\n else\r\n documents.forEach(item_ => content_.append(\"documents\", item_.data, item_.fileName ? item_.fileName : \"documents\"));\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCreateSalarie(_response);\r\n });\r\n }\r\n\r\n protected processCreateSalarie(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n getSalarie(dossierId: string, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/salarie\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetSalarie(_response);\r\n });\r\n }\r\n\r\n protected processGetSalarie(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param nom (optional) \r\n * @param prenom (optional) \r\n * @param adresse_Line1 (optional) \r\n * @param adresse_Line2 (optional) \r\n * @param adresse_CodePostal (optional) \r\n * @param adresse_Ville (optional) \r\n * @param dateNaissance (optional) \r\n * @param dateEmbauchePrevue (optional) \r\n * @param salaireBrut (optional) \r\n * @param cV_Id (optional) \r\n * @param cV_TypeId (optional) \r\n * @param cV_PartName (optional) \r\n * @param cV_ExtraInfos (optional) \r\n * @param cV_FileName (optional) \r\n * @param cV_ContentType (optional) \r\n * @param cV_Content_CanRead (optional) \r\n * @param cV_Content_CanWrite (optional) \r\n * @param cV_Content_CanSeek (optional) \r\n * @param cV_Content_CanTimeout (optional) \r\n * @param cV_Content_Length (optional) \r\n * @param cV_Content_Position (optional) \r\n * @param cV_Content_ReadTimeout (optional) \r\n * @param cV_Content_WriteTimeout (optional) \r\n * @param diplome_Id (optional) \r\n * @param diplome_TypeId (optional) \r\n * @param diplome_PartName (optional) \r\n * @param diplome_ExtraInfos (optional) \r\n * @param diplome_FileName (optional) \r\n * @param diplome_ContentType (optional) \r\n * @param diplome_Content_CanRead (optional) \r\n * @param diplome_Content_CanWrite (optional) \r\n * @param diplome_Content_CanSeek (optional) \r\n * @param diplome_Content_CanTimeout (optional) \r\n * @param diplome_Content_Length (optional) \r\n * @param diplome_Content_Position (optional) \r\n * @param diplome_Content_ReadTimeout (optional) \r\n * @param diplome_Content_WriteTimeout (optional) \r\n * @param conventionCollective (optional) \r\n * @param equipements (optional) \r\n * @param autresEquipements (optional) \r\n * @param typesAdresses (optional) \r\n * @param autreAdresse_Line1 (optional) \r\n * @param autreAdresse_Line2 (optional) \r\n * @param autreAdresse_CodePostal (optional) \r\n * @param autreAdresse_Ville (optional) \r\n * @param documents (optional) \r\n * @return Success\r\n */\r\n updateSalarie(salarieId: string, nom: string | undefined, prenom: string | undefined, adresse_Line1: string | undefined, adresse_Line2: string | undefined, adresse_CodePostal: string | undefined, adresse_Ville: string | undefined, dateNaissance: Date | undefined, dateEmbauchePrevue: Date | undefined, salaireBrut: number | undefined, cV_Id: string | undefined, cV_TypeId: string | undefined, cV_PartName: string | undefined, cV_ExtraInfos: { [key: string]: any; } | undefined, cV_FileName: string | undefined, cV_ContentType: string | undefined, cV_Content_CanRead: boolean | undefined, cV_Content_CanWrite: boolean | undefined, cV_Content_CanSeek: boolean | undefined, cV_Content_CanTimeout: boolean | undefined, cV_Content_Length: number | undefined, cV_Content_Position: number | undefined, cV_Content_ReadTimeout: number | undefined, cV_Content_WriteTimeout: number | undefined, diplome_Id: string | undefined, diplome_TypeId: string | undefined, diplome_PartName: string | undefined, diplome_ExtraInfos: { [key: string]: any; } | undefined, diplome_FileName: string | undefined, diplome_ContentType: string | undefined, diplome_Content_CanRead: boolean | undefined, diplome_Content_CanWrite: boolean | undefined, diplome_Content_CanSeek: boolean | undefined, diplome_Content_CanTimeout: boolean | undefined, diplome_Content_Length: number | undefined, diplome_Content_Position: number | undefined, diplome_Content_ReadTimeout: number | undefined, diplome_Content_WriteTimeout: number | undefined, conventionCollective: string | undefined, equipements: Equipements | undefined, autresEquipements: string | undefined, typesAdresses: TypesAdresses | undefined, autreAdresse_Line1: string | undefined, autreAdresse_Line2: string | undefined, autreAdresse_CodePostal: string | undefined, autreAdresse_Ville: string | undefined, documents: FileParameter[] | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/salarie/{salarieId}\";\r\n if (salarieId === undefined || salarieId === null)\r\n throw new Error(\"The parameter 'salarieId' must be defined.\");\r\n url_ = url_.replace(\"{salarieId}\", encodeURIComponent(\"\" + salarieId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = new FormData();\r\n if (nom === null || nom === undefined)\r\n throw new Error(\"The parameter 'nom' cannot be null.\");\r\n else\r\n content_.append(\"Nom\", nom.toString());\r\n if (prenom === null || prenom === undefined)\r\n throw new Error(\"The parameter 'prenom' cannot be null.\");\r\n else\r\n content_.append(\"Prenom\", prenom.toString());\r\n if (adresse_Line1 === null || adresse_Line1 === undefined)\r\n throw new Error(\"The parameter 'adresse_Line1' cannot be null.\");\r\n else\r\n content_.append(\"Adresse.Line1\", adresse_Line1.toString());\r\n if (adresse_Line2 === null || adresse_Line2 === undefined)\r\n throw new Error(\"The parameter 'adresse_Line2' cannot be null.\");\r\n else\r\n content_.append(\"Adresse.Line2\", adresse_Line2.toString());\r\n if (adresse_CodePostal === null || adresse_CodePostal === undefined)\r\n throw new Error(\"The parameter 'adresse_CodePostal' cannot be null.\");\r\n else\r\n content_.append(\"Adresse.CodePostal\", adresse_CodePostal.toString());\r\n if (adresse_Ville === null || adresse_Ville === undefined)\r\n throw new Error(\"The parameter 'adresse_Ville' cannot be null.\");\r\n else\r\n content_.append(\"Adresse.Ville\", adresse_Ville.toString());\r\n if (dateNaissance === null || dateNaissance === undefined)\r\n throw new Error(\"The parameter 'dateNaissance' cannot be null.\");\r\n else\r\n content_.append(\"DateNaissance\", dateNaissance.toJSON());\r\n if (dateEmbauchePrevue === null || dateEmbauchePrevue === undefined)\r\n throw new Error(\"The parameter 'dateEmbauchePrevue' cannot be null.\");\r\n else\r\n content_.append(\"DateEmbauchePrevue\", dateEmbauchePrevue.toJSON());\r\n if (salaireBrut === null || salaireBrut === undefined)\r\n throw new Error(\"The parameter 'salaireBrut' cannot be null.\");\r\n else\r\n content_.append(\"SalaireBrut\", salaireBrut.toString());\r\n if (cV_Id === null || cV_Id === undefined)\r\n throw new Error(\"The parameter 'cV_Id' cannot be null.\");\r\n else\r\n content_.append(\"CV.Id\", cV_Id.toString());\r\n if (cV_TypeId === null || cV_TypeId === undefined)\r\n throw new Error(\"The parameter 'cV_TypeId' cannot be null.\");\r\n else\r\n content_.append(\"CV.TypeId\", cV_TypeId.toString());\r\n if (cV_PartName === null || cV_PartName === undefined)\r\n throw new Error(\"The parameter 'cV_PartName' cannot be null.\");\r\n else\r\n content_.append(\"CV.PartName\", cV_PartName.toString());\r\n if (cV_ExtraInfos === null || cV_ExtraInfos === undefined)\r\n throw new Error(\"The parameter 'cV_ExtraInfos' cannot be null.\");\r\n else\r\n content_.append(\"CV.ExtraInfos\", JSON.stringify(cV_ExtraInfos));\r\n if (cV_FileName === null || cV_FileName === undefined)\r\n throw new Error(\"The parameter 'cV_FileName' cannot be null.\");\r\n else\r\n content_.append(\"CV.FileName\", cV_FileName.toString());\r\n if (cV_ContentType === null || cV_ContentType === undefined)\r\n throw new Error(\"The parameter 'cV_ContentType' cannot be null.\");\r\n else\r\n content_.append(\"CV.ContentType\", cV_ContentType.toString());\r\n if (cV_Content_CanRead === null || cV_Content_CanRead === undefined)\r\n throw new Error(\"The parameter 'cV_Content_CanRead' cannot be null.\");\r\n else\r\n content_.append(\"CV.Content.CanRead\", cV_Content_CanRead.toString());\r\n if (cV_Content_CanWrite === null || cV_Content_CanWrite === undefined)\r\n throw new Error(\"The parameter 'cV_Content_CanWrite' cannot be null.\");\r\n else\r\n content_.append(\"CV.Content.CanWrite\", cV_Content_CanWrite.toString());\r\n if (cV_Content_CanSeek === null || cV_Content_CanSeek === undefined)\r\n throw new Error(\"The parameter 'cV_Content_CanSeek' cannot be null.\");\r\n else\r\n content_.append(\"CV.Content.CanSeek\", cV_Content_CanSeek.toString());\r\n if (cV_Content_CanTimeout === null || cV_Content_CanTimeout === undefined)\r\n throw new Error(\"The parameter 'cV_Content_CanTimeout' cannot be null.\");\r\n else\r\n content_.append(\"CV.Content.CanTimeout\", cV_Content_CanTimeout.toString());\r\n if (cV_Content_Length === null || cV_Content_Length === undefined)\r\n throw new Error(\"The parameter 'cV_Content_Length' cannot be null.\");\r\n else\r\n content_.append(\"CV.Content.Length\", cV_Content_Length.toString());\r\n if (cV_Content_Position === null || cV_Content_Position === undefined)\r\n throw new Error(\"The parameter 'cV_Content_Position' cannot be null.\");\r\n else\r\n content_.append(\"CV.Content.Position\", cV_Content_Position.toString());\r\n if (cV_Content_ReadTimeout === null || cV_Content_ReadTimeout === undefined)\r\n throw new Error(\"The parameter 'cV_Content_ReadTimeout' cannot be null.\");\r\n else\r\n content_.append(\"CV.Content.ReadTimeout\", cV_Content_ReadTimeout.toString());\r\n if (cV_Content_WriteTimeout === null || cV_Content_WriteTimeout === undefined)\r\n throw new Error(\"The parameter 'cV_Content_WriteTimeout' cannot be null.\");\r\n else\r\n content_.append(\"CV.Content.WriteTimeout\", cV_Content_WriteTimeout.toString());\r\n if (diplome_Id === null || diplome_Id === undefined)\r\n throw new Error(\"The parameter 'diplome_Id' cannot be null.\");\r\n else\r\n content_.append(\"Diplome.Id\", diplome_Id.toString());\r\n if (diplome_TypeId === null || diplome_TypeId === undefined)\r\n throw new Error(\"The parameter 'diplome_TypeId' cannot be null.\");\r\n else\r\n content_.append(\"Diplome.TypeId\", diplome_TypeId.toString());\r\n if (diplome_PartName === null || diplome_PartName === undefined)\r\n throw new Error(\"The parameter 'diplome_PartName' cannot be null.\");\r\n else\r\n content_.append(\"Diplome.PartName\", diplome_PartName.toString());\r\n if (diplome_ExtraInfos === null || diplome_ExtraInfos === undefined)\r\n throw new Error(\"The parameter 'diplome_ExtraInfos' cannot be null.\");\r\n else\r\n content_.append(\"Diplome.ExtraInfos\", JSON.stringify(diplome_ExtraInfos));\r\n if (diplome_FileName === null || diplome_FileName === undefined)\r\n throw new Error(\"The parameter 'diplome_FileName' cannot be null.\");\r\n else\r\n content_.append(\"Diplome.FileName\", diplome_FileName.toString());\r\n if (diplome_ContentType === null || diplome_ContentType === undefined)\r\n throw new Error(\"The parameter 'diplome_ContentType' cannot be null.\");\r\n else\r\n content_.append(\"Diplome.ContentType\", diplome_ContentType.toString());\r\n if (diplome_Content_CanRead === null || diplome_Content_CanRead === undefined)\r\n throw new Error(\"The parameter 'diplome_Content_CanRead' cannot be null.\");\r\n else\r\n content_.append(\"Diplome.Content.CanRead\", diplome_Content_CanRead.toString());\r\n if (diplome_Content_CanWrite === null || diplome_Content_CanWrite === undefined)\r\n throw new Error(\"The parameter 'diplome_Content_CanWrite' cannot be null.\");\r\n else\r\n content_.append(\"Diplome.Content.CanWrite\", diplome_Content_CanWrite.toString());\r\n if (diplome_Content_CanSeek === null || diplome_Content_CanSeek === undefined)\r\n throw new Error(\"The parameter 'diplome_Content_CanSeek' cannot be null.\");\r\n else\r\n content_.append(\"Diplome.Content.CanSeek\", diplome_Content_CanSeek.toString());\r\n if (diplome_Content_CanTimeout === null || diplome_Content_CanTimeout === undefined)\r\n throw new Error(\"The parameter 'diplome_Content_CanTimeout' cannot be null.\");\r\n else\r\n content_.append(\"Diplome.Content.CanTimeout\", diplome_Content_CanTimeout.toString());\r\n if (diplome_Content_Length === null || diplome_Content_Length === undefined)\r\n throw new Error(\"The parameter 'diplome_Content_Length' cannot be null.\");\r\n else\r\n content_.append(\"Diplome.Content.Length\", diplome_Content_Length.toString());\r\n if (diplome_Content_Position === null || diplome_Content_Position === undefined)\r\n throw new Error(\"The parameter 'diplome_Content_Position' cannot be null.\");\r\n else\r\n content_.append(\"Diplome.Content.Position\", diplome_Content_Position.toString());\r\n if (diplome_Content_ReadTimeout === null || diplome_Content_ReadTimeout === undefined)\r\n throw new Error(\"The parameter 'diplome_Content_ReadTimeout' cannot be null.\");\r\n else\r\n content_.append(\"Diplome.Content.ReadTimeout\", diplome_Content_ReadTimeout.toString());\r\n if (diplome_Content_WriteTimeout === null || diplome_Content_WriteTimeout === undefined)\r\n throw new Error(\"The parameter 'diplome_Content_WriteTimeout' cannot be null.\");\r\n else\r\n content_.append(\"Diplome.Content.WriteTimeout\", diplome_Content_WriteTimeout.toString());\r\n if (conventionCollective === null || conventionCollective === undefined)\r\n throw new Error(\"The parameter 'conventionCollective' cannot be null.\");\r\n else\r\n content_.append(\"ConventionCollective\", conventionCollective.toString());\r\n if (equipements === null || equipements === undefined)\r\n throw new Error(\"The parameter 'equipements' cannot be null.\");\r\n else\r\n content_.append(\"Equipements\", equipements.toString());\r\n if (autresEquipements === null || autresEquipements === undefined)\r\n throw new Error(\"The parameter 'autresEquipements' cannot be null.\");\r\n else\r\n content_.append(\"AutresEquipements\", autresEquipements.toString());\r\n if (typesAdresses === null || typesAdresses === undefined)\r\n throw new Error(\"The parameter 'typesAdresses' cannot be null.\");\r\n else\r\n content_.append(\"TypesAdresses\", typesAdresses.toString());\r\n if (autreAdresse_Line1 === null || autreAdresse_Line1 === undefined)\r\n throw new Error(\"The parameter 'autreAdresse_Line1' cannot be null.\");\r\n else\r\n content_.append(\"AutreAdresse.Line1\", autreAdresse_Line1.toString());\r\n if (autreAdresse_Line2 === null || autreAdresse_Line2 === undefined)\r\n throw new Error(\"The parameter 'autreAdresse_Line2' cannot be null.\");\r\n else\r\n content_.append(\"AutreAdresse.Line2\", autreAdresse_Line2.toString());\r\n if (autreAdresse_CodePostal === null || autreAdresse_CodePostal === undefined)\r\n throw new Error(\"The parameter 'autreAdresse_CodePostal' cannot be null.\");\r\n else\r\n content_.append(\"AutreAdresse.CodePostal\", autreAdresse_CodePostal.toString());\r\n if (autreAdresse_Ville === null || autreAdresse_Ville === undefined)\r\n throw new Error(\"The parameter 'autreAdresse_Ville' cannot be null.\");\r\n else\r\n content_.append(\"AutreAdresse.Ville\", autreAdresse_Ville.toString());\r\n if (documents === null || documents === undefined)\r\n throw new Error(\"The parameter 'documents' cannot be null.\");\r\n else\r\n documents.forEach(item_ => content_.append(\"documents\", item_.data, item_.fileName ? item_.fileName : \"documents\"));\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processUpdateSalarie(_response);\r\n });\r\n }\r\n\r\n protected processUpdateSalarie(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n deleteSalarie(salarieId: string, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/salarie/{salarieId}\";\r\n if (salarieId === undefined || salarieId === null)\r\n throw new Error(\"The parameter 'salarieId' must be defined.\");\r\n url_ = url_.replace(\"{salarieId}\", encodeURIComponent(\"\" + salarieId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDeleteSalarie(_response);\r\n });\r\n }\r\n\r\n protected processDeleteSalarie(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n deleteDossier(dossierId: string, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDeleteDossier(_response);\r\n });\r\n }\r\n\r\n protected processDeleteDossier(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n let result403: any = null;\r\n let resultData403 = _responseText;\r\n result403 = resultData403;\r\n return throwException(\"Forbidden\", status, _responseText, _headers, result403);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n getMasseSalariale(dossierId: string, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/masseSalariale\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetMasseSalariale(_response);\r\n });\r\n }\r\n\r\n protected processGetMasseSalariale(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n soumettreDossier(dossierId: string, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/soumettreDossier\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSoumettreDossier(_response);\r\n });\r\n }\r\n\r\n protected processSoumettreDossier(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n createTrajet(dossierId: string, body: CreateOrUpdateTrajetDto | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/trajet\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCreateTrajet(_response);\r\n });\r\n }\r\n\r\n protected processCreateTrajet(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 201) {\r\n const _responseText = response.data;\r\n let result201: any = null;\r\n let resultData201 = _responseText;\r\n result201 = resultData201;\r\n return Promise.resolve(result201);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n deleteTrajet(trajetId: string, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{trajetId}/trajet\";\r\n if (trajetId === undefined || trajetId === null)\r\n throw new Error(\"The parameter 'trajetId' must be defined.\");\r\n url_ = url_.replace(\"{trajetId}\", encodeURIComponent(\"\" + trajetId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDeleteTrajet(_response);\r\n });\r\n }\r\n\r\n protected processDeleteTrajet(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n updateTrajet(trajetId: string, body: CreateOrUpdateTrajetDto | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{trajetId}/trajet\";\r\n if (trajetId === undefined || trajetId === null)\r\n throw new Error(\"The parameter 'trajetId' must be defined.\");\r\n url_ = url_.replace(\"{trajetId}\", encodeURIComponent(\"\" + trajetId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processUpdateTrajet(_response);\r\n });\r\n }\r\n\r\n protected processUpdateTrajet(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param filters (optional) \r\n * @param sorts (optional) \r\n * @param page (optional) \r\n * @param pageSize (optional) \r\n * @param disablePagination (optional) \r\n * @param versementId (optional) \r\n * @return Success\r\n */\r\n getTrajets(dossierId: string, filters: string | undefined, sorts: string | undefined, page: number | undefined, pageSize: number | undefined, disablePagination: boolean | undefined, versementId: string | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/trajets?\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n if (filters === null)\r\n throw new Error(\"The parameter 'filters' cannot be null.\");\r\n else if (filters !== undefined)\r\n url_ += \"Filters=\" + encodeURIComponent(\"\" + filters) + \"&\";\r\n if (sorts === null)\r\n throw new Error(\"The parameter 'sorts' cannot be null.\");\r\n else if (sorts !== undefined)\r\n url_ += \"Sorts=\" + encodeURIComponent(\"\" + sorts) + \"&\";\r\n if (page === null)\r\n throw new Error(\"The parameter 'page' cannot be null.\");\r\n else if (page !== undefined)\r\n url_ += \"Page=\" + encodeURIComponent(\"\" + page) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n if (disablePagination === null)\r\n throw new Error(\"The parameter 'disablePagination' cannot be null.\");\r\n else if (disablePagination !== undefined)\r\n url_ += \"DisablePagination=\" + encodeURIComponent(\"\" + disablePagination) + \"&\";\r\n if (versementId === null)\r\n throw new Error(\"The parameter 'versementId' cannot be null.\");\r\n else if (versementId !== undefined)\r\n url_ += \"versementId=\" + encodeURIComponent(\"\" + versementId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetTrajets(_response);\r\n });\r\n }\r\n\r\n protected processGetTrajets(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param versementId (optional) \r\n * @param document_Id (optional) \r\n * @param document_TypeId (optional) \r\n * @param document_PartName (optional) \r\n * @param document_ExtraInfos (optional) \r\n * @param document_FileName (optional) \r\n * @param document_ContentType (optional) \r\n * @param document_Content_CanRead (optional) \r\n * @param document_Content_CanWrite (optional) \r\n * @param document_Content_CanSeek (optional) \r\n * @param document_Content_CanTimeout (optional) \r\n * @param document_Content_Length (optional) \r\n * @param document_Content_Position (optional) \r\n * @param document_Content_ReadTimeout (optional) \r\n * @param document_Content_WriteTimeout (optional) \r\n * @param documents (optional) \r\n * @return Success\r\n */\r\n validateTrajets(dossierId: string, versementId: string | undefined, document_Id: string | undefined, document_TypeId: string | undefined, document_PartName: string | undefined, document_ExtraInfos: { [key: string]: any; } | undefined, document_FileName: string | undefined, document_ContentType: string | undefined, document_Content_CanRead: boolean | undefined, document_Content_CanWrite: boolean | undefined, document_Content_CanSeek: boolean | undefined, document_Content_CanTimeout: boolean | undefined, document_Content_Length: number | undefined, document_Content_Position: number | undefined, document_Content_ReadTimeout: number | undefined, document_Content_WriteTimeout: number | undefined, documents: FileParameter[] | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/trajets/validation\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = new FormData();\r\n if (versementId === null || versementId === undefined)\r\n throw new Error(\"The parameter 'versementId' cannot be null.\");\r\n else\r\n content_.append(\"VersementId\", versementId.toString());\r\n if (document_Id === null || document_Id === undefined)\r\n throw new Error(\"The parameter 'document_Id' cannot be null.\");\r\n else\r\n content_.append(\"Document.Id\", document_Id.toString());\r\n if (document_TypeId === null || document_TypeId === undefined)\r\n throw new Error(\"The parameter 'document_TypeId' cannot be null.\");\r\n else\r\n content_.append(\"Document.TypeId\", document_TypeId.toString());\r\n if (document_PartName === null || document_PartName === undefined)\r\n throw new Error(\"The parameter 'document_PartName' cannot be null.\");\r\n else\r\n content_.append(\"Document.PartName\", document_PartName.toString());\r\n if (document_ExtraInfos === null || document_ExtraInfos === undefined)\r\n throw new Error(\"The parameter 'document_ExtraInfos' cannot be null.\");\r\n else\r\n content_.append(\"Document.ExtraInfos\", JSON.stringify(document_ExtraInfos));\r\n if (document_FileName === null || document_FileName === undefined)\r\n throw new Error(\"The parameter 'document_FileName' cannot be null.\");\r\n else\r\n content_.append(\"Document.FileName\", document_FileName.toString());\r\n if (document_ContentType === null || document_ContentType === undefined)\r\n throw new Error(\"The parameter 'document_ContentType' cannot be null.\");\r\n else\r\n content_.append(\"Document.ContentType\", document_ContentType.toString());\r\n if (document_Content_CanRead === null || document_Content_CanRead === undefined)\r\n throw new Error(\"The parameter 'document_Content_CanRead' cannot be null.\");\r\n else\r\n content_.append(\"Document.Content.CanRead\", document_Content_CanRead.toString());\r\n if (document_Content_CanWrite === null || document_Content_CanWrite === undefined)\r\n throw new Error(\"The parameter 'document_Content_CanWrite' cannot be null.\");\r\n else\r\n content_.append(\"Document.Content.CanWrite\", document_Content_CanWrite.toString());\r\n if (document_Content_CanSeek === null || document_Content_CanSeek === undefined)\r\n throw new Error(\"The parameter 'document_Content_CanSeek' cannot be null.\");\r\n else\r\n content_.append(\"Document.Content.CanSeek\", document_Content_CanSeek.toString());\r\n if (document_Content_CanTimeout === null || document_Content_CanTimeout === undefined)\r\n throw new Error(\"The parameter 'document_Content_CanTimeout' cannot be null.\");\r\n else\r\n content_.append(\"Document.Content.CanTimeout\", document_Content_CanTimeout.toString());\r\n if (document_Content_Length === null || document_Content_Length === undefined)\r\n throw new Error(\"The parameter 'document_Content_Length' cannot be null.\");\r\n else\r\n content_.append(\"Document.Content.Length\", document_Content_Length.toString());\r\n if (document_Content_Position === null || document_Content_Position === undefined)\r\n throw new Error(\"The parameter 'document_Content_Position' cannot be null.\");\r\n else\r\n content_.append(\"Document.Content.Position\", document_Content_Position.toString());\r\n if (document_Content_ReadTimeout === null || document_Content_ReadTimeout === undefined)\r\n throw new Error(\"The parameter 'document_Content_ReadTimeout' cannot be null.\");\r\n else\r\n content_.append(\"Document.Content.ReadTimeout\", document_Content_ReadTimeout.toString());\r\n if (document_Content_WriteTimeout === null || document_Content_WriteTimeout === undefined)\r\n throw new Error(\"The parameter 'document_Content_WriteTimeout' cannot be null.\");\r\n else\r\n content_.append(\"Document.Content.WriteTimeout\", document_Content_WriteTimeout.toString());\r\n if (documents === null || documents === undefined)\r\n throw new Error(\"The parameter 'documents' cannot be null.\");\r\n else\r\n documents.forEach(item_ => content_.append(\"documents\", item_.data, item_.fileName ? item_.fileName : \"documents\"));\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processValidateTrajets(_response);\r\n });\r\n }\r\n\r\n protected processValidateTrajets(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n getEnseignantsViewModel(dossierId: string, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/enseignants/viewmodel\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetEnseignantsViewModel(_response);\r\n });\r\n }\r\n\r\n protected processGetEnseignantsViewModel(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param page (optional) \r\n * @param pageSize (optional) \r\n * @return Success\r\n */\r\n getEnseignants(dossierId: string, page: number | undefined, pageSize: number | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/enseignants?\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n if (page === null)\r\n throw new Error(\"The parameter 'page' cannot be null.\");\r\n else if (page !== undefined)\r\n url_ += \"page=\" + encodeURIComponent(\"\" + page) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"pageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetEnseignants(_response);\r\n });\r\n }\r\n\r\n protected processGetEnseignants(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param filters (optional) \r\n * @param sorts (optional) \r\n * @param page (optional) \r\n * @param pageSize (optional) \r\n * @param disablePagination (optional) \r\n * @return Success\r\n */\r\n getArtistes(dossierId: string, filters: string | undefined, sorts: string | undefined, page: number | undefined, pageSize: number | undefined, disablePagination: boolean | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/artistes?\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n if (filters === null)\r\n throw new Error(\"The parameter 'filters' cannot be null.\");\r\n else if (filters !== undefined)\r\n url_ += \"Filters=\" + encodeURIComponent(\"\" + filters) + \"&\";\r\n if (sorts === null)\r\n throw new Error(\"The parameter 'sorts' cannot be null.\");\r\n else if (sorts !== undefined)\r\n url_ += \"Sorts=\" + encodeURIComponent(\"\" + sorts) + \"&\";\r\n if (page === null)\r\n throw new Error(\"The parameter 'page' cannot be null.\");\r\n else if (page !== undefined)\r\n url_ += \"Page=\" + encodeURIComponent(\"\" + page) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n if (disablePagination === null)\r\n throw new Error(\"The parameter 'disablePagination' cannot be null.\");\r\n else if (disablePagination !== undefined)\r\n url_ += \"DisablePagination=\" + encodeURIComponent(\"\" + disablePagination) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetArtistes(_response);\r\n });\r\n }\r\n\r\n protected processGetArtistes(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n let result403: any = null;\r\n let resultData403 = _responseText;\r\n result403 = resultData403;\r\n return throwException(\"Forbidden\", status, _responseText, _headers, result403);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n getArtistesViewModel(dossierId: string, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/artistes/viewmodel\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetArtistesViewModel(_response);\r\n });\r\n }\r\n\r\n protected processGetArtistesViewModel(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n getInfosProjetViewModel(dossierId: string, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/etapes/informationsProjet\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetInfosProjetViewModel(_response);\r\n });\r\n }\r\n\r\n protected processGetInfosProjetViewModel(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n getDescriptionProjetViewModel(dossierId: string, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/description-projet/viewmodel\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetDescriptionProjetViewModel(_response);\r\n });\r\n }\r\n\r\n protected processGetDescriptionProjetViewModel(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class MessageAlerteClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n getMessageAlerte(cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/MessageAlerte/message\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetMessageAlerte(_response);\r\n });\r\n }\r\n\r\n protected processGetMessageAlerte(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n getAllMessageAlerte(cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/MessageAlerte/messages\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetAllMessageAlerte(_response);\r\n });\r\n }\r\n\r\n protected processGetAllMessageAlerte(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class MessagerieClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n getMessagerie(cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Messagerie\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetMessagerie(_response);\r\n });\r\n }\r\n\r\n protected processGetMessagerie(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n createMessageDiscussion(discussionId: string, body: CreateMessageDto | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Messagerie/{discussionId}/message\";\r\n if (discussionId === undefined || discussionId === null)\r\n throw new Error(\"The parameter 'discussionId' must be defined.\");\r\n url_ = url_.replace(\"{discussionId}\", encodeURIComponent(\"\" + discussionId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCreateMessageDiscussion(_response);\r\n });\r\n }\r\n\r\n protected processCreateMessageDiscussion(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 201) {\r\n const _responseText = response.data;\r\n let result201: any = null;\r\n let resultData201 = _responseText;\r\n result201 = resultData201;\r\n return Promise.resolve(result201);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n setDiscussionLu(discussionId: string, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Messagerie/{discussionId}/lu\";\r\n if (discussionId === undefined || discussionId === null)\r\n throw new Error(\"The parameter 'discussionId' must be defined.\");\r\n url_ = url_.replace(\"{discussionId}\", encodeURIComponent(\"\" + discussionId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSetDiscussionLu(_response);\r\n });\r\n }\r\n\r\n protected processSetDiscussionLu(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class NotificationClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n getNotifications(cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Notification\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetNotifications(_response);\r\n });\r\n }\r\n\r\n protected processGetNotifications(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class PageVitrineClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n getPagesVitrine(cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/PageVitrine\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetPagesVitrine(_response);\r\n });\r\n }\r\n\r\n protected processGetPagesVitrine(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class PaysClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n getPays(cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Pays\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetPays(_response);\r\n });\r\n }\r\n\r\n protected processGetPays(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class StructureClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n\r\n }\r\n\r\n /**\r\n * @param json (optional) \r\n * @param document1 (optional) \r\n * @param document2 (optional) \r\n * @param documentN (optional) \r\n * @return Success\r\n */\r\n createStructure(json: CreateStructureDto | undefined, document1: FileParameter | undefined, document2: FileParameter | undefined, documentN: FileParameter | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Structure\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = new FormData();\r\n if (json === null || json === undefined)\r\n throw new Error(\"The parameter 'json' cannot be null.\");\r\n else\r\n content_.append(\"json\", JSON.stringify(json));\r\n if (document1 === null || document1 === undefined)\r\n throw new Error(\"The parameter 'document1' cannot be null.\");\r\n else\r\n content_.append(\"document1\", document1.data, document1.fileName ? document1.fileName : \"document1\");\r\n if (document2 === null || document2 === undefined)\r\n throw new Error(\"The parameter 'document2' cannot be null.\");\r\n else\r\n content_.append(\"document2\", document2.data, document2.fileName ? document2.fileName : \"document2\");\r\n if (documentN === null || documentN === undefined)\r\n throw new Error(\"The parameter 'documentN' cannot be null.\");\r\n else\r\n content_.append(\"documentN\", documentN.data, documentN.fileName ? documentN.fileName : \"documentN\");\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCreateStructure(_response);\r\n });\r\n }\r\n\r\n protected processCreateStructure(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 201) {\r\n const _responseText = response.data;\r\n let result201: any = null;\r\n let resultData201 = _responseText;\r\n result201 = resultData201;\r\n return Promise.resolve(result201);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = resultData400;\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param structureId (optional) \r\n * @return Success\r\n */\r\n getStructureInfoFromSiret(siret: string, structureId: number | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Structure/siret/{siret}?\";\r\n if (siret === undefined || siret === null)\r\n throw new Error(\"The parameter 'siret' must be defined.\");\r\n url_ = url_.replace(\"{siret}\", encodeURIComponent(\"\" + siret));\r\n if (structureId === null)\r\n throw new Error(\"The parameter 'structureId' cannot be null.\");\r\n else if (structureId !== undefined)\r\n url_ += \"structureId=\" + encodeURIComponent(\"\" + structureId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetStructureInfoFromSiret(_response);\r\n });\r\n }\r\n\r\n protected processGetStructureInfoFromSiret(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n getFormesJuridiques(cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Structure/formeJuridique\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetFormesJuridiques(_response);\r\n });\r\n }\r\n\r\n protected processGetFormesJuridiques(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param codeAPE (optional) \r\n * @param nomenclatureAPE (optional) \r\n * @return Success\r\n */\r\n getRequiredTypesDeDocument(formeJuridiqueId: string, codeAPE: string | undefined, nomenclatureAPE: string | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Structure/formeJuridique/{formeJuridiqueId}/requiredTypeDeDocument?\";\r\n if (formeJuridiqueId === undefined || formeJuridiqueId === null)\r\n throw new Error(\"The parameter 'formeJuridiqueId' must be defined.\");\r\n url_ = url_.replace(\"{formeJuridiqueId}\", encodeURIComponent(\"\" + formeJuridiqueId));\r\n if (codeAPE === null)\r\n throw new Error(\"The parameter 'codeAPE' cannot be null.\");\r\n else if (codeAPE !== undefined)\r\n url_ += \"codeAPE=\" + encodeURIComponent(\"\" + codeAPE) + \"&\";\r\n if (nomenclatureAPE === null)\r\n throw new Error(\"The parameter 'nomenclatureAPE' cannot be null.\");\r\n else if (nomenclatureAPE !== undefined)\r\n url_ += \"nomenclatureAPE=\" + encodeURIComponent(\"\" + nomenclatureAPE) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetRequiredTypesDeDocument(_response);\r\n });\r\n }\r\n\r\n protected processGetRequiredTypesDeDocument(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n getStructureTypesDeDocument(cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Structure/requiredTypeDeDocument\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetStructureTypesDeDocument(_response);\r\n });\r\n }\r\n\r\n protected processGetStructureTypesDeDocument(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param email (optional) \r\n * @return Success\r\n */\r\n resendValidationEmail(structureId: string, email: string | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Structure/{structureId}/resendValidationEmail?\";\r\n if (structureId === undefined || structureId === null)\r\n throw new Error(\"The parameter 'structureId' must be defined.\");\r\n url_ = url_.replace(\"{structureId}\", encodeURIComponent(\"\" + structureId));\r\n if (email === null)\r\n throw new Error(\"The parameter 'email' cannot be null.\");\r\n else if (email !== undefined)\r\n url_ += \"email=\" + encodeURIComponent(\"\" + email) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processResendValidationEmail(_response);\r\n });\r\n }\r\n\r\n protected processResendValidationEmail(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n getDocuments(cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Structure/documents\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetDocuments(_response);\r\n });\r\n }\r\n\r\n protected processGetDocuments(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n getStructureValidationContacts(cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Structure/validation/contacts\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetStructureValidationContacts(_response);\r\n });\r\n }\r\n\r\n protected processGetStructureValidationContacts(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n updateStructureValidationContacts(body: UpdateStructureValidationContactsDto | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Structure/validation/contacts\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processUpdateStructureValidationContacts(_response);\r\n });\r\n }\r\n\r\n protected processUpdateStructureValidationContacts(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param iban (optional) \r\n * @param bic (optional) \r\n * @param banque (optional) \r\n * @param adresse_Line1 (optional) \r\n * @param adresse_Line2 (optional) \r\n * @param adresse_CodePostal (optional) \r\n * @param adresse_Ville (optional) \r\n * @param rIB_Id (optional) \r\n * @param rIB_TypeId (optional) \r\n * @param rIB_PartName (optional) \r\n * @param rIB_ExtraInfos (optional) \r\n * @param rIB_FileName (optional) \r\n * @param rIB_ContentType (optional) \r\n * @param rIB_Content_CanRead (optional) \r\n * @param rIB_Content_CanWrite (optional) \r\n * @param rIB_Content_CanSeek (optional) \r\n * @param rIB_Content_CanTimeout (optional) \r\n * @param rIB_Content_Length (optional) \r\n * @param rIB_Content_Position (optional) \r\n * @param rIB_Content_ReadTimeout (optional) \r\n * @param rIB_Content_WriteTimeout (optional) \r\n * @param files (optional) \r\n * @return Success\r\n */\r\n createOrUpdateDonneesBancaires(iban: string | undefined, bic: string | undefined, banque: string | undefined, adresse_Line1: string | undefined, adresse_Line2: string | undefined, adresse_CodePostal: string | undefined, adresse_Ville: string | undefined, rIB_Id: string | undefined, rIB_TypeId: string | undefined, rIB_PartName: string | undefined, rIB_ExtraInfos: { [key: string]: any; } | undefined, rIB_FileName: string | undefined, rIB_ContentType: string | undefined, rIB_Content_CanRead: boolean | undefined, rIB_Content_CanWrite: boolean | undefined, rIB_Content_CanSeek: boolean | undefined, rIB_Content_CanTimeout: boolean | undefined, rIB_Content_Length: number | undefined, rIB_Content_Position: number | undefined, rIB_Content_ReadTimeout: number | undefined, rIB_Content_WriteTimeout: number | undefined, files: FileParameter[] | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Structure/donneesBancaires\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = new FormData();\r\n if (iban === null || iban === undefined)\r\n throw new Error(\"The parameter 'iban' cannot be null.\");\r\n else\r\n content_.append(\"Iban\", iban.toString());\r\n if (bic === null || bic === undefined)\r\n throw new Error(\"The parameter 'bic' cannot be null.\");\r\n else\r\n content_.append(\"Bic\", bic.toString());\r\n if (banque === null || banque === undefined)\r\n throw new Error(\"The parameter 'banque' cannot be null.\");\r\n else\r\n content_.append(\"Banque\", banque.toString());\r\n if (adresse_Line1 === null || adresse_Line1 === undefined)\r\n throw new Error(\"The parameter 'adresse_Line1' cannot be null.\");\r\n else\r\n content_.append(\"Adresse.Line1\", adresse_Line1.toString());\r\n if (adresse_Line2 === null || adresse_Line2 === undefined)\r\n throw new Error(\"The parameter 'adresse_Line2' cannot be null.\");\r\n else\r\n content_.append(\"Adresse.Line2\", adresse_Line2.toString());\r\n if (adresse_CodePostal === null || adresse_CodePostal === undefined)\r\n throw new Error(\"The parameter 'adresse_CodePostal' cannot be null.\");\r\n else\r\n content_.append(\"Adresse.CodePostal\", adresse_CodePostal.toString());\r\n if (adresse_Ville === null || adresse_Ville === undefined)\r\n throw new Error(\"The parameter 'adresse_Ville' cannot be null.\");\r\n else\r\n content_.append(\"Adresse.Ville\", adresse_Ville.toString());\r\n if (rIB_Id === null || rIB_Id === undefined)\r\n throw new Error(\"The parameter 'rIB_Id' cannot be null.\");\r\n else\r\n content_.append(\"RIB.Id\", rIB_Id.toString());\r\n if (rIB_TypeId === null || rIB_TypeId === undefined)\r\n throw new Error(\"The parameter 'rIB_TypeId' cannot be null.\");\r\n else\r\n content_.append(\"RIB.TypeId\", rIB_TypeId.toString());\r\n if (rIB_PartName === null || rIB_PartName === undefined)\r\n throw new Error(\"The parameter 'rIB_PartName' cannot be null.\");\r\n else\r\n content_.append(\"RIB.PartName\", rIB_PartName.toString());\r\n if (rIB_ExtraInfos === null || rIB_ExtraInfos === undefined)\r\n throw new Error(\"The parameter 'rIB_ExtraInfos' cannot be null.\");\r\n else\r\n content_.append(\"RIB.ExtraInfos\", JSON.stringify(rIB_ExtraInfos));\r\n if (rIB_FileName === null || rIB_FileName === undefined)\r\n throw new Error(\"The parameter 'rIB_FileName' cannot be null.\");\r\n else\r\n content_.append(\"RIB.FileName\", rIB_FileName.toString());\r\n if (rIB_ContentType === null || rIB_ContentType === undefined)\r\n throw new Error(\"The parameter 'rIB_ContentType' cannot be null.\");\r\n else\r\n content_.append(\"RIB.ContentType\", rIB_ContentType.toString());\r\n if (rIB_Content_CanRead === null || rIB_Content_CanRead === undefined)\r\n throw new Error(\"The parameter 'rIB_Content_CanRead' cannot be null.\");\r\n else\r\n content_.append(\"RIB.Content.CanRead\", rIB_Content_CanRead.toString());\r\n if (rIB_Content_CanWrite === null || rIB_Content_CanWrite === undefined)\r\n throw new Error(\"The parameter 'rIB_Content_CanWrite' cannot be null.\");\r\n else\r\n content_.append(\"RIB.Content.CanWrite\", rIB_Content_CanWrite.toString());\r\n if (rIB_Content_CanSeek === null || rIB_Content_CanSeek === undefined)\r\n throw new Error(\"The parameter 'rIB_Content_CanSeek' cannot be null.\");\r\n else\r\n content_.append(\"RIB.Content.CanSeek\", rIB_Content_CanSeek.toString());\r\n if (rIB_Content_CanTimeout === null || rIB_Content_CanTimeout === undefined)\r\n throw new Error(\"The parameter 'rIB_Content_CanTimeout' cannot be null.\");\r\n else\r\n content_.append(\"RIB.Content.CanTimeout\", rIB_Content_CanTimeout.toString());\r\n if (rIB_Content_Length === null || rIB_Content_Length === undefined)\r\n throw new Error(\"The parameter 'rIB_Content_Length' cannot be null.\");\r\n else\r\n content_.append(\"RIB.Content.Length\", rIB_Content_Length.toString());\r\n if (rIB_Content_Position === null || rIB_Content_Position === undefined)\r\n throw new Error(\"The parameter 'rIB_Content_Position' cannot be null.\");\r\n else\r\n content_.append(\"RIB.Content.Position\", rIB_Content_Position.toString());\r\n if (rIB_Content_ReadTimeout === null || rIB_Content_ReadTimeout === undefined)\r\n throw new Error(\"The parameter 'rIB_Content_ReadTimeout' cannot be null.\");\r\n else\r\n content_.append(\"RIB.Content.ReadTimeout\", rIB_Content_ReadTimeout.toString());\r\n if (rIB_Content_WriteTimeout === null || rIB_Content_WriteTimeout === undefined)\r\n throw new Error(\"The parameter 'rIB_Content_WriteTimeout' cannot be null.\");\r\n else\r\n content_.append(\"RIB.Content.WriteTimeout\", rIB_Content_WriteTimeout.toString());\r\n if (files === null || files === undefined)\r\n throw new Error(\"The parameter 'files' cannot be null.\");\r\n else\r\n files.forEach(item_ => content_.append(\"files\", item_.data, item_.fileName ? item_.fileName : \"files\"));\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCreateOrUpdateDonneesBancaires(_response);\r\n });\r\n }\r\n\r\n protected processCreateOrUpdateDonneesBancaires(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n updateStructureJuridique(body: UpdateStructureJuridiqueDto | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Structure/structureJuridique\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processUpdateStructureJuridique(_response);\r\n });\r\n }\r\n\r\n protected processUpdateStructureJuridique(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n updateStructureContact(body: UpdateStructureContactDto | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Structure/contact\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processUpdateStructureContact(_response);\r\n });\r\n }\r\n\r\n protected processUpdateStructureContact(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n updateStructureAdresse(body: UpdateStructureAdresseDto | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Structure/adresse\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processUpdateStructureAdresse(_response);\r\n });\r\n }\r\n\r\n protected processUpdateStructureAdresse(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n getStructureCategoriesDossier(cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Structure/categoriesDossier\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetStructureCategoriesDossier(_response);\r\n });\r\n }\r\n\r\n protected processGetStructureCategoriesDossier(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n getStructureCorrespondantAdministratif(cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Structure/correspondantAdministratif\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetStructureCorrespondantAdministratif(_response);\r\n });\r\n }\r\n\r\n protected processGetStructureCorrespondantAdministratif(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n getStructureDetails(cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Structure/details\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetStructureDetails(_response);\r\n });\r\n }\r\n\r\n protected processGetStructureDetails(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param documents (optional) \r\n * @param files (optional) \r\n * @return Success\r\n */\r\n updateStructureDocuments(documents: DocumentUploadInfoDto[] | undefined, files: FileParameter[] | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Structure/structureDocuments\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = new FormData();\r\n if (documents === null || documents === undefined)\r\n throw new Error(\"The parameter 'documents' cannot be null.\");\r\n else\r\n documents.forEach(item_ => content_.append(\"Documents\", item_.toString()));\r\n if (files === null || files === undefined)\r\n throw new Error(\"The parameter 'files' cannot be null.\");\r\n else\r\n files.forEach(item_ => content_.append(\"files\", item_.data, item_.fileName ? item_.fileName : \"files\"));\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processUpdateStructureDocuments(_response);\r\n });\r\n }\r\n\r\n protected processUpdateStructureDocuments(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n updateStructureInformations(body: UpdateStructureInformationsDto | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Structure/informations\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processUpdateStructureInformations(_response);\r\n });\r\n }\r\n\r\n protected processUpdateStructureInformations(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class TestClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n deleteBudget(dossierId: string, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Test/{dossierId}/budget\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDeleteBudget(_response);\r\n });\r\n }\r\n\r\n protected processDeleteBudget(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class UserClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n changeUserEmail(body: ChangeEmailDto | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/User/email/change\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processChangeUserEmail(_response);\r\n });\r\n }\r\n\r\n protected processChangeUserEmail(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n getMe(cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/User/me\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetMe(_response);\r\n });\r\n }\r\n\r\n protected processGetMe(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class ValidationClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n getValidationDescriptors(cancelToken?: CancelToken | undefined): Promise<{ [key: string]: { [key: string]: PropertyValidatorInfo[]; }; }> {\r\n let url_ = this.baseUrl + \"/api/v1/Validation\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetValidationDescriptors(_response);\r\n });\r\n }\r\n\r\n protected processGetValidationDescriptors(response: AxiosResponse): Promise<{ [key: string]: { [key: string]: PropertyValidatorInfo[]; }; }> {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve<{ [key: string]: { [key: string]: PropertyValidatorInfo[]; }; }>(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve<{ [key: string]: { [key: string]: PropertyValidatorInfo[]; }; }>(null);\r\n }\r\n}\r\n\r\nexport class VersementClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n createVersement(dossierId: string, body: CreateVersementDto | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/dossier/{dossierId}/versement\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCreateVersement(_response);\r\n });\r\n }\r\n\r\n protected processCreateVersement(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 201) {\r\n const _responseText = response.data;\r\n let result201: any = null;\r\n let resultData201 = _responseText;\r\n result201 = resultData201;\r\n return Promise.resolve(result201);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param filters (optional) \r\n * @param sorts (optional) \r\n * @param page (optional) \r\n * @param pageSize (optional) \r\n * @param disablePagination (optional) \r\n * @return Success\r\n */\r\n getVersements(dossierId: string, filters: string | undefined, sorts: string | undefined, page: number | undefined, pageSize: number | undefined, disablePagination: boolean | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/dossier/{dossierId}/versements?\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n if (filters === null)\r\n throw new Error(\"The parameter 'filters' cannot be null.\");\r\n else if (filters !== undefined)\r\n url_ += \"Filters=\" + encodeURIComponent(\"\" + filters) + \"&\";\r\n if (sorts === null)\r\n throw new Error(\"The parameter 'sorts' cannot be null.\");\r\n else if (sorts !== undefined)\r\n url_ += \"Sorts=\" + encodeURIComponent(\"\" + sorts) + \"&\";\r\n if (page === null)\r\n throw new Error(\"The parameter 'page' cannot be null.\");\r\n else if (page !== undefined)\r\n url_ += \"Page=\" + encodeURIComponent(\"\" + page) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n if (disablePagination === null)\r\n throw new Error(\"The parameter 'disablePagination' cannot be null.\");\r\n else if (disablePagination !== undefined)\r\n url_ += \"DisablePagination=\" + encodeURIComponent(\"\" + disablePagination) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetVersements(_response);\r\n });\r\n }\r\n\r\n protected processGetVersements(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n getEtapesDemandeVersement(categorieId: string, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/categorie/{categorieId}/etapes\";\r\n if (categorieId === undefined || categorieId === null)\r\n throw new Error(\"The parameter 'categorieId' must be defined.\");\r\n url_ = url_.replace(\"{categorieId}\", encodeURIComponent(\"\" + categorieId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetEtapesDemandeVersement(_response);\r\n });\r\n }\r\n\r\n protected processGetEtapesDemandeVersement(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n deleteVersement(versementId: string, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/{versementId}/delete\";\r\n if (versementId === undefined || versementId === null)\r\n throw new Error(\"The parameter 'versementId' must be defined.\");\r\n url_ = url_.replace(\"{versementId}\", encodeURIComponent(\"\" + versementId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDeleteVersement(_response);\r\n });\r\n }\r\n\r\n protected processDeleteVersement(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n getDemandeVersementDetails(versementId: string, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/{versementId}/details\";\r\n if (versementId === undefined || versementId === null)\r\n throw new Error(\"The parameter 'versementId' must be defined.\");\r\n url_ = url_.replace(\"{versementId}\", encodeURIComponent(\"\" + versementId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetDemandeVersementDetails(_response);\r\n });\r\n }\r\n\r\n protected processGetDemandeVersementDetails(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n getDemandeVersementInfos(dossierId: string, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/dossier/{dossierId}/versement/infos\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetDemandeVersementInfos(_response);\r\n });\r\n }\r\n\r\n protected processGetDemandeVersementInfos(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param hasSendDocPromoImage (optional) \r\n * @return Success\r\n */\r\n updateHasSendDocPromoImage(dossierId: string,isDeleted: string, hasSendDocPromoImage: boolean | undefined, \r\n file: any,\r\n cancelToken?: CancelToken | undefined): \r\n Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/dossier/{dossierId}/{isDeleted}/versement/infos/promoimage?\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(\"{isDeleted}\", encodeURIComponent(\"\" + isDeleted));\r\n if (hasSendDocPromoImage === null)\r\n throw new Error(\"The parameter 'hasSendDocPromoImage' cannot be null.\");\r\n else if (hasSendDocPromoImage !== undefined)\r\n url_ += \"hasSendDocPromoImage=\" + encodeURIComponent(\"\" + hasSendDocPromoImage) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n // const content_ = new FormData();\r\n // if (docAPI === null || docAPI === undefined)\r\n // throw new Error(\"The parameter 'piecesJointes' cannot be null.\");\r\n // else\r\n // docAPI.forEach(item_ => content_.append(\"PiecesJointes\", item_.toString()));\r\n // if (documents === null || documents === undefined)\r\n // throw new Error(\"The parameter 'documents' cannot be null.\");\r\n // else\r\n // documents.forEach(item_ => content_.append(\"documents\", item_.data, item_.fileName ? item_.fileName : \"documents\"));\r\n\r\n const formData = new FormData();\r\n formData.append('file', file);\r\n let options_ = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n //'Content-Type': 'multipart/form-data',\r\n // \"Accept\": \"application/json\"\r\n },\r\n data: formData,\r\n cancelToken\r\n };\r\n\r\n return this.instance.post(url_, formData, options_).then((_response: AxiosResponse) => {\r\n return this.processUpdateHasSendDocPromoImage(_response);\r\n });\r\n\r\n // return this.instance.request(options_).catch((_error: any) => {\r\n // if (isAxiosError(_error) && _error.response) {\r\n // return _error.response;\r\n // } else {\r\n // throw _error;\r\n // }\r\n // }).then((_response: AxiosResponse) => {\r\n // return this.processUpdateHasSendDocPromoImage(_response);\r\n // });\r\n }\r\n\r\n protected processUpdateHasSendDocPromoImage(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n getDemandeVersementLieuxDates(dossierId: string, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/dossier/{dossierId}/versement/lieuxdates\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetDemandeVersementLieuxDates(_response);\r\n });\r\n }\r\n\r\n protected processGetDemandeVersementLieuxDates(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n createPrestationOnDemandeVersement(dossierId: string, body: CreateLieuDto | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/dossier/{dossierId}/versement/lieuxdates/create\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCreatePrestationOnDemandeVersement(_response);\r\n });\r\n }\r\n\r\n protected processCreatePrestationOnDemandeVersement(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 201) {\r\n const _responseText = response.data;\r\n let result201: any = null;\r\n let resultData201 = _responseText;\r\n result201 = resultData201;\r\n return Promise.resolve(result201);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n updatePrestationOnDemandeVersement(dossierId: string, lieuId: string, body: UpdateLieuDto | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/dossier/{dossierId}/versement/lieuxdates/{lieuId}/update\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n if (lieuId === undefined || lieuId === null)\r\n throw new Error(\"The parameter 'lieuId' must be defined.\");\r\n url_ = url_.replace(\"{lieuId}\", encodeURIComponent(\"\" + lieuId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processUpdatePrestationOnDemandeVersement(_response);\r\n });\r\n }\r\n\r\n protected processUpdatePrestationOnDemandeVersement(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n deletePrestationOnDemandeVersement(dossierId: string, lieuId: string, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/dossier/{dossierId}/versement/lieuxdates/{lieuId}/delete\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n if (lieuId === undefined || lieuId === null)\r\n throw new Error(\"The parameter 'lieuId' must be defined.\");\r\n url_ = url_.replace(\"{lieuId}\", encodeURIComponent(\"\" + lieuId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDeletePrestationOnDemandeVersement(_response);\r\n });\r\n }\r\n\r\n protected processDeletePrestationOnDemandeVersement(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n getContratsCachetsOnDemandeVersement(versementId: string, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/{versementId}/contratscachets\";\r\n if (versementId === undefined || versementId === null)\r\n throw new Error(\"The parameter 'versementId' must be defined.\");\r\n url_ = url_.replace(\"{versementId}\", encodeURIComponent(\"\" + versementId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetContratsCachetsOnDemandeVersement(_response);\r\n });\r\n }\r\n\r\n protected processGetContratsCachetsOnDemandeVersement(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param depensesSpecifiques (optional) \r\n * @param autresDepenses (optional) \r\n * @param documents (optional) \r\n * @return Success\r\n */\r\n createOrUpdateDepenses(dossierId: string, depensesSpecifiques: UpdateDepenseDto[] | undefined, autresDepenses: UpdateDepenseDto[] | undefined, documents: FileParameter[] | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/dossier/{dossierId}/versement/contratscachets/depenses\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = new FormData();\r\n if (depensesSpecifiques === null || depensesSpecifiques === undefined)\r\n throw new Error(\"The parameter 'depensesSpecifiques' cannot be null.\");\r\n else\r\n depensesSpecifiques.forEach(item_ => content_.append(\"DepensesSpecifiques\", item_.toString()));\r\n if (autresDepenses === null || autresDepenses === undefined)\r\n throw new Error(\"The parameter 'autresDepenses' cannot be null.\");\r\n else\r\n autresDepenses.forEach(item_ => content_.append(\"AutresDepenses\", item_.toString()));\r\n if (documents === null || documents === undefined)\r\n throw new Error(\"The parameter 'documents' cannot be null.\");\r\n else\r\n documents.forEach(item_ => content_.append(\"documents\", item_.data, item_.fileName ? item_.fileName : \"documents\"));\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCreateOrUpdateDepenses(_response);\r\n });\r\n }\r\n\r\n protected processCreateOrUpdateDepenses(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 201) {\r\n const _responseText = response.data;\r\n let result201: any = null;\r\n let resultData201 = _responseText;\r\n result201 = resultData201;\r\n return Promise.resolve(result201);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n updateVersementCommentaire(versementId: string, body: UpdateVersementCommentaireDto | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/{versementId}/commentaire\";\r\n if (versementId === undefined || versementId === null)\r\n throw new Error(\"The parameter 'versementId' must be defined.\");\r\n url_ = url_.replace(\"{versementId}\", encodeURIComponent(\"\" + versementId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processUpdateVersementCommentaire(_response);\r\n });\r\n }\r\n\r\n protected processUpdateVersementCommentaire(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param filters (optional) \r\n * @param sorts (optional) \r\n * @param page (optional) \r\n * @param pageSize (optional) \r\n * @param disablePagination (optional) \r\n * @return Success\r\n */\r\n getVersementArtistes(versementId: string, filters: string | undefined, sorts: string | undefined, page: number | undefined, pageSize: number | undefined, disablePagination: boolean | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/{versementId}/artistes?\";\r\n if (versementId === undefined || versementId === null)\r\n throw new Error(\"The parameter 'versementId' must be defined.\");\r\n url_ = url_.replace(\"{versementId}\", encodeURIComponent(\"\" + versementId));\r\n if (filters === null)\r\n throw new Error(\"The parameter 'filters' cannot be null.\");\r\n else if (filters !== undefined)\r\n url_ += \"Filters=\" + encodeURIComponent(\"\" + filters) + \"&\";\r\n if (sorts === null)\r\n throw new Error(\"The parameter 'sorts' cannot be null.\");\r\n else if (sorts !== undefined)\r\n url_ += \"Sorts=\" + encodeURIComponent(\"\" + sorts) + \"&\";\r\n if (page === null)\r\n throw new Error(\"The parameter 'page' cannot be null.\");\r\n else if (page !== undefined)\r\n url_ += \"Page=\" + encodeURIComponent(\"\" + page) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n if (disablePagination === null)\r\n throw new Error(\"The parameter 'disablePagination' cannot be null.\");\r\n else if (disablePagination !== undefined)\r\n url_ += \"DisablePagination=\" + encodeURIComponent(\"\" + disablePagination) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetVersementArtistes(_response);\r\n });\r\n }\r\n\r\n protected processGetVersementArtistes(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n let result403: any = null;\r\n let resultData403 = _responseText;\r\n result403 = resultData403;\r\n return throwException(\"Forbidden\", status, _responseText, _headers, result403);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n createVersementArtiste(versementId: string, body: CreateOrUpdateVersementArtisteDto | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/artiste/{versementId}\";\r\n if (versementId === undefined || versementId === null)\r\n throw new Error(\"The parameter 'versementId' must be defined.\");\r\n url_ = url_.replace(\"{versementId}\", encodeURIComponent(\"\" + versementId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCreateVersementArtiste(_response);\r\n });\r\n }\r\n\r\n protected processCreateVersementArtiste(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 201) {\r\n const _responseText = response.data;\r\n let result201: any = null;\r\n let resultData201 = _responseText;\r\n result201 = resultData201;\r\n return Promise.resolve(result201);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n updateVersementArtiste(versementArtisteId: string, body: CreateOrUpdateVersementArtisteDto | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/artiste/{versementArtisteId}\";\r\n if (versementArtisteId === undefined || versementArtisteId === null)\r\n throw new Error(\"The parameter 'versementArtisteId' must be defined.\");\r\n url_ = url_.replace(\"{versementArtisteId}\", encodeURIComponent(\"\" + versementArtisteId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processUpdateVersementArtiste(_response);\r\n });\r\n }\r\n\r\n protected processUpdateVersementArtiste(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n getVersementArtiste(versementArtisteId: string, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/artiste/{versementArtisteId}\";\r\n if (versementArtisteId === undefined || versementArtisteId === null)\r\n throw new Error(\"The parameter 'versementArtisteId' must be defined.\");\r\n url_ = url_.replace(\"{versementArtisteId}\", encodeURIComponent(\"\" + versementArtisteId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetVersementArtiste(_response);\r\n });\r\n }\r\n\r\n protected processGetVersementArtiste(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n deleteVersementArtiste(versementArtisteId: string, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/artiste/{versementArtisteId}\";\r\n if (versementArtisteId === undefined || versementArtisteId === null)\r\n throw new Error(\"The parameter 'versementArtisteId' must be defined.\");\r\n url_ = url_.replace(\"{versementArtisteId}\", encodeURIComponent(\"\" + versementArtisteId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDeleteVersementArtiste(_response);\r\n });\r\n }\r\n\r\n protected processDeleteVersementArtiste(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param nom (optional) \r\n * @param prenom (optional) \r\n * @param ville (optional) \r\n * @param disciplines (optional) \r\n * @param otherDiscipline (optional) \r\n * @param instrumentId (optional) \r\n * @param qualification (optional) \r\n * @param typeContrat (optional) \r\n * @param statut (optional) \r\n * @param remunerationBruteAnnuelle (optional) \r\n * @param montantChargesPatronales (optional) \r\n * @param tarifHoraireBrut (optional) \r\n * @param remunerationPremierTrimestre (optional) \r\n * @param contratEngagement_Id (optional) \r\n * @param contratEngagement_TypeId (optional) \r\n * @param contratEngagement_PartName (optional) \r\n * @param contratEngagement_ExtraInfos (optional) \r\n * @param contratEngagement_FileName (optional) \r\n * @param contratEngagement_ContentType (optional) \r\n * @param contratEngagement_Content_CanRead (optional) \r\n * @param contratEngagement_Content_CanWrite (optional) \r\n * @param contratEngagement_Content_CanSeek (optional) \r\n * @param contratEngagement_Content_CanTimeout (optional) \r\n * @param contratEngagement_Content_Length (optional) \r\n * @param contratEngagement_Content_Position (optional) \r\n * @param contratEngagement_Content_ReadTimeout (optional) \r\n * @param contratEngagement_Content_WriteTimeout (optional) \r\n * @param justificatifRemuneration_Id (optional) \r\n * @param justificatifRemuneration_TypeId (optional) \r\n * @param justificatifRemuneration_PartName (optional) \r\n * @param justificatifRemuneration_ExtraInfos (optional) \r\n * @param justificatifRemuneration_FileName (optional) \r\n * @param justificatifRemuneration_ContentType (optional) \r\n * @param justificatifRemuneration_Content_CanRead (optional) \r\n * @param justificatifRemuneration_Content_CanWrite (optional) \r\n * @param justificatifRemuneration_Content_CanSeek (optional) \r\n * @param justificatifRemuneration_Content_CanTimeout (optional) \r\n * @param justificatifRemuneration_Content_Length (optional) \r\n * @param justificatifRemuneration_Content_Position (optional) \r\n * @param justificatifRemuneration_Content_ReadTimeout (optional) \r\n * @param justificatifRemuneration_Content_WriteTimeout (optional) \r\n * @param documents (optional) \r\n * @return Success\r\n */\r\n createEnseignantOnDemandeVersement(dossierId: string, nom: string | undefined, prenom: string | undefined, ville: string | undefined, disciplines: string[] | undefined, otherDiscipline: string | undefined, instrumentId: string | undefined, qualification: QualificationEnseignant | undefined, typeContrat: TypeContrat | undefined, statut: StatutEnseignant | undefined, remunerationBruteAnnuelle: number | undefined, montantChargesPatronales: number | undefined, tarifHoraireBrut: number | undefined, remunerationPremierTrimestre: number | undefined, contratEngagement_Id: string | undefined, contratEngagement_TypeId: string | undefined, contratEngagement_PartName: string | undefined, contratEngagement_ExtraInfos: { [key: string]: any; } | undefined, contratEngagement_FileName: string | undefined, contratEngagement_ContentType: string | undefined, contratEngagement_Content_CanRead: boolean | undefined, contratEngagement_Content_CanWrite: boolean | undefined, contratEngagement_Content_CanSeek: boolean | undefined, contratEngagement_Content_CanTimeout: boolean | undefined, contratEngagement_Content_Length: number | undefined, contratEngagement_Content_Position: number | undefined, contratEngagement_Content_ReadTimeout: number | undefined, contratEngagement_Content_WriteTimeout: number | undefined, justificatifRemuneration_Id: string | undefined, justificatifRemuneration_TypeId: string | undefined, justificatifRemuneration_PartName: string | undefined, justificatifRemuneration_ExtraInfos: { [key: string]: any; } | undefined, justificatifRemuneration_FileName: string | undefined, justificatifRemuneration_ContentType: string | undefined, justificatifRemuneration_Content_CanRead: boolean | undefined, justificatifRemuneration_Content_CanWrite: boolean | undefined, justificatifRemuneration_Content_CanSeek: boolean | undefined, justificatifRemuneration_Content_CanTimeout: boolean | undefined, justificatifRemuneration_Content_Length: number | undefined, justificatifRemuneration_Content_Position: number | undefined, justificatifRemuneration_Content_ReadTimeout: number | undefined, justificatifRemuneration_Content_WriteTimeout: number | undefined, documents: FileParameter[] | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/dossier/{dossierId}/versement/contratscachets/enseignant/create\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = new FormData();\r\n if (nom === null || nom === undefined)\r\n throw new Error(\"The parameter 'nom' cannot be null.\");\r\n else\r\n content_.append(\"Nom\", nom.toString());\r\n if (prenom === null || prenom === undefined)\r\n throw new Error(\"The parameter 'prenom' cannot be null.\");\r\n else\r\n content_.append(\"Prenom\", prenom.toString());\r\n if (ville === null || ville === undefined)\r\n throw new Error(\"The parameter 'ville' cannot be null.\");\r\n else\r\n content_.append(\"Ville\", ville.toString());\r\n if (disciplines === null || disciplines === undefined)\r\n throw new Error(\"The parameter 'disciplines' cannot be null.\");\r\n else\r\n disciplines.forEach(item_ => content_.append(\"Disciplines\", item_.toString()));\r\n if (otherDiscipline === null || otherDiscipline === undefined)\r\n throw new Error(\"The parameter 'otherDiscipline' cannot be null.\");\r\n else\r\n content_.append(\"OtherDiscipline\", otherDiscipline.toString());\r\n if (instrumentId === null || instrumentId === undefined)\r\n throw new Error(\"The parameter 'instrumentId' cannot be null.\");\r\n else\r\n content_.append(\"InstrumentId\", instrumentId.toString());\r\n if (qualification === null || qualification === undefined)\r\n throw new Error(\"The parameter 'qualification' cannot be null.\");\r\n else\r\n content_.append(\"Qualification\", qualification.toString());\r\n if (typeContrat === null || typeContrat === undefined)\r\n throw new Error(\"The parameter 'typeContrat' cannot be null.\");\r\n else\r\n content_.append(\"TypeContrat\", typeContrat.toString());\r\n if (statut === null || statut === undefined)\r\n throw new Error(\"The parameter 'statut' cannot be null.\");\r\n else\r\n content_.append(\"Statut\", statut.toString());\r\n if (remunerationBruteAnnuelle === null || remunerationBruteAnnuelle === undefined)\r\n throw new Error(\"The parameter 'remunerationBruteAnnuelle' cannot be null.\");\r\n else\r\n content_.append(\"RemunerationBruteAnnuelle\", remunerationBruteAnnuelle.toString());\r\n if (montantChargesPatronales === null || montantChargesPatronales === undefined)\r\n throw new Error(\"The parameter 'montantChargesPatronales' cannot be null.\");\r\n else\r\n content_.append(\"MontantChargesPatronales\", montantChargesPatronales.toString());\r\n if (tarifHoraireBrut === null || tarifHoraireBrut === undefined)\r\n throw new Error(\"The parameter 'tarifHoraireBrut' cannot be null.\");\r\n else\r\n content_.append(\"TarifHoraireBrut\", tarifHoraireBrut.toString());\r\n if (remunerationPremierTrimestre === null || remunerationPremierTrimestre === undefined)\r\n throw new Error(\"The parameter 'remunerationPremierTrimestre' cannot be null.\");\r\n else\r\n content_.append(\"RemunerationPremierTrimestre\", remunerationPremierTrimestre.toString());\r\n if (contratEngagement_Id === null || contratEngagement_Id === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Id' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Id\", contratEngagement_Id.toString());\r\n if (contratEngagement_TypeId === null || contratEngagement_TypeId === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_TypeId' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.TypeId\", contratEngagement_TypeId.toString());\r\n if (contratEngagement_PartName === null || contratEngagement_PartName === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_PartName' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.PartName\", contratEngagement_PartName.toString());\r\n if (contratEngagement_ExtraInfos === null || contratEngagement_ExtraInfos === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_ExtraInfos' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.ExtraInfos\", JSON.stringify(contratEngagement_ExtraInfos));\r\n if (contratEngagement_FileName === null || contratEngagement_FileName === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_FileName' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.FileName\", contratEngagement_FileName.toString());\r\n if (contratEngagement_ContentType === null || contratEngagement_ContentType === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_ContentType' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.ContentType\", contratEngagement_ContentType.toString());\r\n if (contratEngagement_Content_CanRead === null || contratEngagement_Content_CanRead === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_CanRead' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.CanRead\", contratEngagement_Content_CanRead.toString());\r\n if (contratEngagement_Content_CanWrite === null || contratEngagement_Content_CanWrite === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_CanWrite' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.CanWrite\", contratEngagement_Content_CanWrite.toString());\r\n if (contratEngagement_Content_CanSeek === null || contratEngagement_Content_CanSeek === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_CanSeek' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.CanSeek\", contratEngagement_Content_CanSeek.toString());\r\n if (contratEngagement_Content_CanTimeout === null || contratEngagement_Content_CanTimeout === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_CanTimeout' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.CanTimeout\", contratEngagement_Content_CanTimeout.toString());\r\n if (contratEngagement_Content_Length === null || contratEngagement_Content_Length === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_Length' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.Length\", contratEngagement_Content_Length.toString());\r\n if (contratEngagement_Content_Position === null || contratEngagement_Content_Position === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_Position' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.Position\", contratEngagement_Content_Position.toString());\r\n if (contratEngagement_Content_ReadTimeout === null || contratEngagement_Content_ReadTimeout === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_ReadTimeout' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.ReadTimeout\", contratEngagement_Content_ReadTimeout.toString());\r\n if (contratEngagement_Content_WriteTimeout === null || contratEngagement_Content_WriteTimeout === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_WriteTimeout' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.WriteTimeout\", contratEngagement_Content_WriteTimeout.toString());\r\n if (justificatifRemuneration_Id === null || justificatifRemuneration_Id === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Id' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Id\", justificatifRemuneration_Id.toString());\r\n if (justificatifRemuneration_TypeId === null || justificatifRemuneration_TypeId === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_TypeId' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.TypeId\", justificatifRemuneration_TypeId.toString());\r\n if (justificatifRemuneration_PartName === null || justificatifRemuneration_PartName === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_PartName' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.PartName\", justificatifRemuneration_PartName.toString());\r\n if (justificatifRemuneration_ExtraInfos === null || justificatifRemuneration_ExtraInfos === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_ExtraInfos' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.ExtraInfos\", JSON.stringify(justificatifRemuneration_ExtraInfos));\r\n if (justificatifRemuneration_FileName === null || justificatifRemuneration_FileName === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_FileName' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.FileName\", justificatifRemuneration_FileName.toString());\r\n if (justificatifRemuneration_ContentType === null || justificatifRemuneration_ContentType === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_ContentType' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.ContentType\", justificatifRemuneration_ContentType.toString());\r\n if (justificatifRemuneration_Content_CanRead === null || justificatifRemuneration_Content_CanRead === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_CanRead' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.CanRead\", justificatifRemuneration_Content_CanRead.toString());\r\n if (justificatifRemuneration_Content_CanWrite === null || justificatifRemuneration_Content_CanWrite === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_CanWrite' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.CanWrite\", justificatifRemuneration_Content_CanWrite.toString());\r\n if (justificatifRemuneration_Content_CanSeek === null || justificatifRemuneration_Content_CanSeek === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_CanSeek' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.CanSeek\", justificatifRemuneration_Content_CanSeek.toString());\r\n if (justificatifRemuneration_Content_CanTimeout === null || justificatifRemuneration_Content_CanTimeout === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_CanTimeout' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.CanTimeout\", justificatifRemuneration_Content_CanTimeout.toString());\r\n if (justificatifRemuneration_Content_Length === null || justificatifRemuneration_Content_Length === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_Length' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.Length\", justificatifRemuneration_Content_Length.toString());\r\n if (justificatifRemuneration_Content_Position === null || justificatifRemuneration_Content_Position === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_Position' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.Position\", justificatifRemuneration_Content_Position.toString());\r\n if (justificatifRemuneration_Content_ReadTimeout === null || justificatifRemuneration_Content_ReadTimeout === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_ReadTimeout' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.ReadTimeout\", justificatifRemuneration_Content_ReadTimeout.toString());\r\n if (justificatifRemuneration_Content_WriteTimeout === null || justificatifRemuneration_Content_WriteTimeout === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_WriteTimeout' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.WriteTimeout\", justificatifRemuneration_Content_WriteTimeout.toString());\r\n if (documents === null || documents === undefined)\r\n throw new Error(\"The parameter 'documents' cannot be null.\");\r\n else\r\n documents.forEach(item_ => content_.append(\"documents\", item_.data, item_.fileName ? item_.fileName : \"documents\"));\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCreateEnseignantOnDemandeVersement(_response);\r\n });\r\n }\r\n\r\n protected processCreateEnseignantOnDemandeVersement(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 201) {\r\n const _responseText = response.data;\r\n let result201: any = null;\r\n let resultData201 = _responseText;\r\n result201 = resultData201;\r\n return Promise.resolve(result201);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param nom (optional) \r\n * @param prenom (optional) \r\n * @param ville (optional) \r\n * @param disciplines (optional) \r\n * @param otherDiscipline (optional) \r\n * @param instrumentId (optional) \r\n * @param qualification (optional) \r\n * @param typeContrat (optional) \r\n * @param statut (optional) \r\n * @param remunerationBruteAnnuelle (optional) \r\n * @param montantChargesPatronales (optional) \r\n * @param tarifHoraireBrut (optional) \r\n * @param remunerationPremierTrimestre (optional) \r\n * @param contratEngagement_Id (optional) \r\n * @param contratEngagement_TypeId (optional) \r\n * @param contratEngagement_PartName (optional) \r\n * @param contratEngagement_ExtraInfos (optional) \r\n * @param contratEngagement_FileName (optional) \r\n * @param contratEngagement_ContentType (optional) \r\n * @param contratEngagement_Content_CanRead (optional) \r\n * @param contratEngagement_Content_CanWrite (optional) \r\n * @param contratEngagement_Content_CanSeek (optional) \r\n * @param contratEngagement_Content_CanTimeout (optional) \r\n * @param contratEngagement_Content_Length (optional) \r\n * @param contratEngagement_Content_Position (optional) \r\n * @param contratEngagement_Content_ReadTimeout (optional) \r\n * @param contratEngagement_Content_WriteTimeout (optional) \r\n * @param justificatifRemuneration_Id (optional) \r\n * @param justificatifRemuneration_TypeId (optional) \r\n * @param justificatifRemuneration_PartName (optional) \r\n * @param justificatifRemuneration_ExtraInfos (optional) \r\n * @param justificatifRemuneration_FileName (optional) \r\n * @param justificatifRemuneration_ContentType (optional) \r\n * @param justificatifRemuneration_Content_CanRead (optional) \r\n * @param justificatifRemuneration_Content_CanWrite (optional) \r\n * @param justificatifRemuneration_Content_CanSeek (optional) \r\n * @param justificatifRemuneration_Content_CanTimeout (optional) \r\n * @param justificatifRemuneration_Content_Length (optional) \r\n * @param justificatifRemuneration_Content_Position (optional) \r\n * @param justificatifRemuneration_Content_ReadTimeout (optional) \r\n * @param justificatifRemuneration_Content_WriteTimeout (optional) \r\n * @param documents (optional) \r\n * @return Success\r\n */\r\n updateEnseignantOnDemandeVersement(enseignantId: string, nom: string | undefined, prenom: string | undefined, ville: string | undefined, disciplines: string[] | undefined, otherDiscipline: string | undefined, instrumentId: string | undefined, qualification: QualificationEnseignant | undefined, typeContrat: TypeContrat | undefined, statut: StatutEnseignant | undefined, remunerationBruteAnnuelle: number | undefined, montantChargesPatronales: number | undefined, tarifHoraireBrut: number | undefined, remunerationPremierTrimestre: number | undefined, contratEngagement_Id: string | undefined, contratEngagement_TypeId: string | undefined, contratEngagement_PartName: string | undefined, contratEngagement_ExtraInfos: { [key: string]: any; } | undefined, contratEngagement_FileName: string | undefined, contratEngagement_ContentType: string | undefined, contratEngagement_Content_CanRead: boolean | undefined, contratEngagement_Content_CanWrite: boolean | undefined, contratEngagement_Content_CanSeek: boolean | undefined, contratEngagement_Content_CanTimeout: boolean | undefined, contratEngagement_Content_Length: number | undefined, contratEngagement_Content_Position: number | undefined, contratEngagement_Content_ReadTimeout: number | undefined, contratEngagement_Content_WriteTimeout: number | undefined, justificatifRemuneration_Id: string | undefined, justificatifRemuneration_TypeId: string | undefined, justificatifRemuneration_PartName: string | undefined, justificatifRemuneration_ExtraInfos: { [key: string]: any; } | undefined, justificatifRemuneration_FileName: string | undefined, justificatifRemuneration_ContentType: string | undefined, justificatifRemuneration_Content_CanRead: boolean | undefined, justificatifRemuneration_Content_CanWrite: boolean | undefined, justificatifRemuneration_Content_CanSeek: boolean | undefined, justificatifRemuneration_Content_CanTimeout: boolean | undefined, justificatifRemuneration_Content_Length: number | undefined, justificatifRemuneration_Content_Position: number | undefined, justificatifRemuneration_Content_ReadTimeout: number | undefined, justificatifRemuneration_Content_WriteTimeout: number | undefined, documents: FileParameter[] | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/dossier/versement/contratscachets/enseignant/{enseignantId}/update\";\r\n if (enseignantId === undefined || enseignantId === null)\r\n throw new Error(\"The parameter 'enseignantId' must be defined.\");\r\n url_ = url_.replace(\"{enseignantId}\", encodeURIComponent(\"\" + enseignantId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = new FormData();\r\n if (nom === null || nom === undefined)\r\n throw new Error(\"The parameter 'nom' cannot be null.\");\r\n else\r\n content_.append(\"Nom\", nom.toString());\r\n if (prenom === null || prenom === undefined)\r\n throw new Error(\"The parameter 'prenom' cannot be null.\");\r\n else\r\n content_.append(\"Prenom\", prenom.toString());\r\n if (ville === null || ville === undefined)\r\n throw new Error(\"The parameter 'ville' cannot be null.\");\r\n else\r\n content_.append(\"Ville\", ville.toString());\r\n if (disciplines === null || disciplines === undefined)\r\n throw new Error(\"The parameter 'disciplines' cannot be null.\");\r\n else\r\n disciplines.forEach(item_ => content_.append(\"Disciplines\", item_.toString()));\r\n if (otherDiscipline === null || otherDiscipline === undefined)\r\n throw new Error(\"The parameter 'otherDiscipline' cannot be null.\");\r\n else\r\n content_.append(\"OtherDiscipline\", otherDiscipline.toString());\r\n if (instrumentId === null || instrumentId === undefined)\r\n throw new Error(\"The parameter 'instrumentId' cannot be null.\");\r\n else\r\n content_.append(\"InstrumentId\", instrumentId.toString());\r\n if (qualification === null || qualification === undefined)\r\n throw new Error(\"The parameter 'qualification' cannot be null.\");\r\n else\r\n content_.append(\"Qualification\", qualification.toString());\r\n if (typeContrat === null || typeContrat === undefined)\r\n throw new Error(\"The parameter 'typeContrat' cannot be null.\");\r\n else\r\n content_.append(\"TypeContrat\", typeContrat.toString());\r\n if (statut === null || statut === undefined)\r\n throw new Error(\"The parameter 'statut' cannot be null.\");\r\n else\r\n content_.append(\"Statut\", statut.toString());\r\n if (remunerationBruteAnnuelle === null || remunerationBruteAnnuelle === undefined)\r\n throw new Error(\"The parameter 'remunerationBruteAnnuelle' cannot be null.\");\r\n else\r\n content_.append(\"RemunerationBruteAnnuelle\", remunerationBruteAnnuelle.toString());\r\n if (montantChargesPatronales === null || montantChargesPatronales === undefined)\r\n throw new Error(\"The parameter 'montantChargesPatronales' cannot be null.\");\r\n else\r\n content_.append(\"MontantChargesPatronales\", montantChargesPatronales.toString());\r\n if (tarifHoraireBrut === null || tarifHoraireBrut === undefined)\r\n throw new Error(\"The parameter 'tarifHoraireBrut' cannot be null.\");\r\n else\r\n content_.append(\"TarifHoraireBrut\", tarifHoraireBrut.toString());\r\n if (remunerationPremierTrimestre === null || remunerationPremierTrimestre === undefined)\r\n throw new Error(\"The parameter 'remunerationPremierTrimestre' cannot be null.\");\r\n else\r\n content_.append(\"RemunerationPremierTrimestre\", remunerationPremierTrimestre.toString());\r\n if (contratEngagement_Id === null || contratEngagement_Id === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Id' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Id\", contratEngagement_Id.toString());\r\n if (contratEngagement_TypeId === null || contratEngagement_TypeId === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_TypeId' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.TypeId\", contratEngagement_TypeId.toString());\r\n if (contratEngagement_PartName === null || contratEngagement_PartName === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_PartName' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.PartName\", contratEngagement_PartName.toString());\r\n if (contratEngagement_ExtraInfos === null || contratEngagement_ExtraInfos === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_ExtraInfos' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.ExtraInfos\", JSON.stringify(contratEngagement_ExtraInfos));\r\n if (contratEngagement_FileName === null || contratEngagement_FileName === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_FileName' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.FileName\", contratEngagement_FileName.toString());\r\n if (contratEngagement_ContentType === null || contratEngagement_ContentType === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_ContentType' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.ContentType\", contratEngagement_ContentType.toString());\r\n if (contratEngagement_Content_CanRead === null || contratEngagement_Content_CanRead === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_CanRead' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.CanRead\", contratEngagement_Content_CanRead.toString());\r\n if (contratEngagement_Content_CanWrite === null || contratEngagement_Content_CanWrite === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_CanWrite' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.CanWrite\", contratEngagement_Content_CanWrite.toString());\r\n if (contratEngagement_Content_CanSeek === null || contratEngagement_Content_CanSeek === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_CanSeek' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.CanSeek\", contratEngagement_Content_CanSeek.toString());\r\n if (contratEngagement_Content_CanTimeout === null || contratEngagement_Content_CanTimeout === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_CanTimeout' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.CanTimeout\", contratEngagement_Content_CanTimeout.toString());\r\n if (contratEngagement_Content_Length === null || contratEngagement_Content_Length === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_Length' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.Length\", contratEngagement_Content_Length.toString());\r\n if (contratEngagement_Content_Position === null || contratEngagement_Content_Position === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_Position' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.Position\", contratEngagement_Content_Position.toString());\r\n if (contratEngagement_Content_ReadTimeout === null || contratEngagement_Content_ReadTimeout === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_ReadTimeout' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.ReadTimeout\", contratEngagement_Content_ReadTimeout.toString());\r\n if (contratEngagement_Content_WriteTimeout === null || contratEngagement_Content_WriteTimeout === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_WriteTimeout' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.WriteTimeout\", contratEngagement_Content_WriteTimeout.toString());\r\n if (justificatifRemuneration_Id === null || justificatifRemuneration_Id === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Id' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Id\", justificatifRemuneration_Id.toString());\r\n if (justificatifRemuneration_TypeId === null || justificatifRemuneration_TypeId === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_TypeId' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.TypeId\", justificatifRemuneration_TypeId.toString());\r\n if (justificatifRemuneration_PartName === null || justificatifRemuneration_PartName === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_PartName' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.PartName\", justificatifRemuneration_PartName.toString());\r\n if (justificatifRemuneration_ExtraInfos === null || justificatifRemuneration_ExtraInfos === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_ExtraInfos' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.ExtraInfos\", JSON.stringify(justificatifRemuneration_ExtraInfos));\r\n if (justificatifRemuneration_FileName === null || justificatifRemuneration_FileName === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_FileName' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.FileName\", justificatifRemuneration_FileName.toString());\r\n if (justificatifRemuneration_ContentType === null || justificatifRemuneration_ContentType === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_ContentType' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.ContentType\", justificatifRemuneration_ContentType.toString());\r\n if (justificatifRemuneration_Content_CanRead === null || justificatifRemuneration_Content_CanRead === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_CanRead' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.CanRead\", justificatifRemuneration_Content_CanRead.toString());\r\n if (justificatifRemuneration_Content_CanWrite === null || justificatifRemuneration_Content_CanWrite === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_CanWrite' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.CanWrite\", justificatifRemuneration_Content_CanWrite.toString());\r\n if (justificatifRemuneration_Content_CanSeek === null || justificatifRemuneration_Content_CanSeek === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_CanSeek' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.CanSeek\", justificatifRemuneration_Content_CanSeek.toString());\r\n if (justificatifRemuneration_Content_CanTimeout === null || justificatifRemuneration_Content_CanTimeout === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_CanTimeout' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.CanTimeout\", justificatifRemuneration_Content_CanTimeout.toString());\r\n if (justificatifRemuneration_Content_Length === null || justificatifRemuneration_Content_Length === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_Length' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.Length\", justificatifRemuneration_Content_Length.toString());\r\n if (justificatifRemuneration_Content_Position === null || justificatifRemuneration_Content_Position === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_Position' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.Position\", justificatifRemuneration_Content_Position.toString());\r\n if (justificatifRemuneration_Content_ReadTimeout === null || justificatifRemuneration_Content_ReadTimeout === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_ReadTimeout' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.ReadTimeout\", justificatifRemuneration_Content_ReadTimeout.toString());\r\n if (justificatifRemuneration_Content_WriteTimeout === null || justificatifRemuneration_Content_WriteTimeout === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_WriteTimeout' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.WriteTimeout\", justificatifRemuneration_Content_WriteTimeout.toString());\r\n if (documents === null || documents === undefined)\r\n throw new Error(\"The parameter 'documents' cannot be null.\");\r\n else\r\n documents.forEach(item_ => content_.append(\"documents\", item_.data, item_.fileName ? item_.fileName : \"documents\"));\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processUpdateEnseignantOnDemandeVersement(_response);\r\n });\r\n }\r\n\r\n protected processUpdateEnseignantOnDemandeVersement(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 201) {\r\n const _responseText = response.data;\r\n let result201: any = null;\r\n let resultData201 = _responseText;\r\n result201 = resultData201;\r\n return Promise.resolve(result201);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param versementArtistes (optional) \r\n * @param documents (optional) \r\n * @return Success\r\n */\r\n updateArtisteDocument(versementId: string, versementArtistes: UpdateVersementArtisteDocumentDto[] | undefined, documents: FileParameter[] | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/{versementId}/contratscachets/artiste/document\";\r\n if (versementId === undefined || versementId === null)\r\n throw new Error(\"The parameter 'versementId' must be defined.\");\r\n url_ = url_.replace(\"{versementId}\", encodeURIComponent(\"\" + versementId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = new FormData();\r\n if (versementArtistes === null || versementArtistes === undefined)\r\n throw new Error(\"The parameter 'versementArtistes' cannot be null.\");\r\n else\r\n versementArtistes.forEach(item_ => content_.append(\"VersementArtistes\", item_.toString()));\r\n if (documents === null || documents === undefined)\r\n throw new Error(\"The parameter 'documents' cannot be null.\");\r\n else\r\n documents.forEach(item_ => content_.append(\"documents\", item_.data, item_.fileName ? item_.fileName : \"documents\"));\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processUpdateArtisteDocument(_response);\r\n });\r\n }\r\n\r\n protected processUpdateArtisteDocument(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param enseignants (optional) \r\n * @param documents (optional) \r\n * @return Success\r\n */\r\n updateEnseignantRemuneration(dossierId: string, enseignants: UpdateEnseignantRemunerationDto[] | undefined, documents: FileParameter[] | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/dossier/{dossierId}/versement/contratscachets/enseignant/remuneration\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = new FormData();\r\n if (enseignants === null || enseignants === undefined)\r\n throw new Error(\"The parameter 'enseignants' cannot be null.\");\r\n else\r\n enseignants.forEach(item_ => content_.append(\"Enseignants\", item_.toString()));\r\n if (documents === null || documents === undefined)\r\n throw new Error(\"The parameter 'documents' cannot be null.\");\r\n else\r\n documents.forEach(item_ => content_.append(\"documents\", item_.data, item_.fileName ? item_.fileName : \"documents\"));\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processUpdateEnseignantRemuneration(_response);\r\n });\r\n }\r\n\r\n protected processUpdateEnseignantRemuneration(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n deleteEnseignantOnDemandeVersement(enseignantId: string, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/dossier/versement/contratscachets/enseignant/{enseignantId}/delete\";\r\n if (enseignantId === undefined || enseignantId === null)\r\n throw new Error(\"The parameter 'enseignantId' must be defined.\");\r\n url_ = url_.replace(\"{enseignantId}\", encodeURIComponent(\"\" + enseignantId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDeleteEnseignantOnDemandeVersement(_response);\r\n });\r\n }\r\n\r\n protected processDeleteEnseignantOnDemandeVersement(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n getPiecesJointesOnDemandeVersement(versementId: string, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/{versementId}/piecesjointes\";\r\n if (versementId === undefined || versementId === null)\r\n throw new Error(\"The parameter 'versementId' must be defined.\");\r\n url_ = url_.replace(\"{versementId}\", encodeURIComponent(\"\" + versementId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetPiecesJointesOnDemandeVersement(_response);\r\n });\r\n }\r\n\r\n protected processGetPiecesJointesOnDemandeVersement(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n getInfoBancaireOnDemandeVersement(dossierId: string, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/dossier/{dossierId}/versement/infobancaire\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetInfoBancaireOnDemandeVersement(_response);\r\n });\r\n }\r\n\r\n protected processGetInfoBancaireOnDemandeVersement(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param piecesJointes (optional) \r\n * @param documents (optional) \r\n * @return Success\r\n */\r\n createOrUpdatePieceJointes(versementId: string, piecesJointes: DocumentUploadInfoDto[] | undefined, documents: FileParameter[] | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/{versementId}/piecesjointes/update\";\r\n if (versementId === undefined || versementId === null)\r\n throw new Error(\"The parameter 'versementId' must be defined.\");\r\n url_ = url_.replace(\"{versementId}\", encodeURIComponent(\"\" + versementId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = new FormData();\r\n if (piecesJointes === null || piecesJointes === undefined)\r\n throw new Error(\"The parameter 'piecesJointes' cannot be null.\");\r\n else\r\n piecesJointes.forEach(item_ => content_.append(\"PiecesJointes\", item_.toString()));\r\n if (documents === null || documents === undefined)\r\n throw new Error(\"The parameter 'documents' cannot be null.\");\r\n else\r\n documents.forEach(item_ => content_.append(\"documents\", item_.data, item_.fileName ? item_.fileName : \"documents\"));\r\n\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCreateOrUpdatePieceJointes(_response);\r\n });\r\n }\r\n\r\n protected processCreateOrUpdatePieceJointes(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 201) {\r\n const _responseText = response.data;\r\n let result201: any = null;\r\n let resultData201 = _responseText;\r\n result201 = resultData201;\r\n return Promise.resolve(result201);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n getRecapitulatifDemandeVersement(versementId: string, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/{versementId}/recapitulatif\";\r\n if (versementId === undefined || versementId === null)\r\n throw new Error(\"The parameter 'versementId' must be defined.\");\r\n url_ = url_.replace(\"{versementId}\", encodeURIComponent(\"\" + versementId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetRecapitulatifDemandeVersement(_response);\r\n });\r\n }\r\n\r\n protected processGetRecapitulatifDemandeVersement(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n soumettreVersement(versementId: string, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/{versementId}/soumettre\";\r\n if (versementId === undefined || versementId === null)\r\n throw new Error(\"The parameter 'versementId' must be defined.\");\r\n url_ = url_.replace(\"{versementId}\", encodeURIComponent(\"\" + versementId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_ = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.instance.request(options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSoumettreVersement(_response);\r\n });\r\n }\r\n\r\n protected processSoumettreVersement(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport interface AdelUserDto {\r\n id?: string;\r\n userName?: string | undefined;\r\n email?: string | undefined;\r\n prenom?: string | undefined;\r\n nom?: string | undefined;\r\n estActif?: boolean;\r\n createdAt?: Date;\r\n modifiedAt?: Date | undefined;\r\n dateActivation?: Date | undefined;\r\n dateDesactivation?: Date | undefined;\r\n}\r\n\r\nexport interface AdresseDto {\r\n id?: string;\r\n line1?: string | undefined;\r\n line2?: string | undefined;\r\n codePostal?: string | undefined;\r\n ville?: string | undefined;\r\n}\r\n\r\nexport interface AidesFonctionnementByYearModel {\r\n anneeScolaireDebut?: number;\r\n anneeScolaireFin?: number;\r\n financements?: FinancementLightDto[] | undefined;\r\n}\r\n\r\nexport interface AnswerChoiceDto {\r\n id?: string | undefined;\r\n text?: { [key: string]: string; } | undefined;\r\n isNone?: boolean;\r\n isOther?: boolean;\r\n conditions?: ConditionDto[] | undefined;\r\n textWithoutTraduction?: string;\r\n}\r\n\r\nexport enum AnswerType {\r\n None = \"none\",\r\n Text = \"text\",\r\n MultilineText = \"multilineText\",\r\n Date = \"date\",\r\n IntegerNumber = \"integerNumber\",\r\n DecimalNumber = \"decimalNumber\",\r\n SingleChoiceList = \"singleChoiceList\",\r\n MultipleChoiceList = \"multipleChoiceList\",\r\n YesNo = \"yesNo\",\r\n YesNoDontKnow = \"yesNoDontKnow\",\r\n File = \"file\",\r\n Url = \"url\",\r\n Link = \"link\",\r\n Period = \"period\",\r\n Html = \"html\",\r\n Array = \"array\",\r\n Blocking = \"blocking\",\r\n}\r\n\r\nexport interface ArtisteDetailsDto {\r\n id?: string;\r\n nom?: string | undefined;\r\n prenom?: string | undefined;\r\n dossierId?: string;\r\n email?: string | undefined;\r\n lieuHabitation?: string | undefined;\r\n siteInternet?: string | undefined;\r\n salaireBrut?: number;\r\n chargePatronales?: number;\r\n emploi?: Emploi;\r\n styleMusical?: StyleMusicalDto;\r\n instrument?: InstrumentDto;\r\n artistePrincipal?: boolean;\r\n formation?: string | undefined;\r\n isGenerationSpedidam?: boolean;\r\n isAssociated?: boolean;\r\n isTitulaire?: boolean;\r\n isEngagementDirect?: boolean;\r\n montantRepetitions?: number | undefined;\r\n montantRepresentations?: number | undefined;\r\n montantEnregistrement?: number | undefined;\r\n montantConcert?: number | undefined;\r\n mensualisations?: number | undefined;\r\n montantCharge?: number | undefined;\r\n}\r\n\r\nexport interface ArtisteDto {\r\n id?: string;\r\n nom?: string | undefined;\r\n prenom?: string | undefined;\r\n email?: string | undefined;\r\n lieuHabitation?: string | undefined;\r\n siteInternet?: string | undefined;\r\n salaireBrut?: number;\r\n chargePatronales?: number;\r\n dossierId?: string;\r\n emploi?: Emploi;\r\n styleMusical?: StyleMusicalDto;\r\n instrument?: InstrumentDto;\r\n artistePrincipal?: boolean;\r\n formation?: string | undefined;\r\n isGenerationSpedidam?: boolean;\r\n isAssociated?: boolean;\r\n isTitulaire?: boolean;\r\n isEngagementDirect?: boolean;\r\n createdAt?: Date;\r\n lastModifiedAt?: Date | undefined;\r\n cachets?: CachetDto[] | undefined;\r\n salaires?: SalaireDto[] | undefined;\r\n contrat?: DocumentWithValidationDto;\r\n bulletin?: DocumentWithValidationDto;\r\n}\r\n\r\nexport interface ArtisteLightDto {\r\n id?: string;\r\n nom?: string | undefined;\r\n prenom?: string | undefined;\r\n fullName?: string | undefined;\r\n dossierId?: string;\r\n emploi?: Emploi;\r\n artistePrincipal?: boolean;\r\n isAssociated?: boolean;\r\n isTitulaire?: boolean;\r\n}\r\n\r\nexport interface ArtisteLightDtoSortedFilteredPage {\r\n readonly actualCount?: number;\r\n readonly items?: ArtisteLightDto[] | undefined;\r\n readonly number?: number;\r\n readonly requestedSize?: number;\r\n readonly totalPageCount?: number;\r\n readonly totalItemCount?: number;\r\n readonly disablePagination?: boolean;\r\n readonly hasPrevious?: boolean;\r\n readonly previousPageNumber?: number | undefined;\r\n readonly hasNext?: boolean;\r\n readonly nextPageNumber?: number | undefined;\r\n readonly isFirst?: boolean;\r\n readonly isLast?: boolean;\r\n readonly sortTerms?: SortTerm[] | undefined;\r\n readonly filterTerms?: FilterTerm[] | undefined;\r\n}\r\n\r\nexport interface ArtistesValidationDto {\r\n errors?: ArtistesValidationErrorDto[] | undefined;\r\n}\r\n\r\nexport interface ArtistesValidationErrorDto {\r\n hasDateWithoutCachet?: boolean | undefined;\r\n hasMinimumNbArtisteEngagement?: boolean | undefined;\r\n nombreLimiteArtisteEngagementDirect?: number | undefined;\r\n numberOfArtisteMustBeTheSameForEachRepresentationDate?: boolean | undefined;\r\n emploiComparisonConstraint?: EmploiComparisonConstraintDto;\r\n shouldHaveLess?: Emploi[] | undefined;\r\n than?: Emploi[] | undefined;\r\n minimumEmploiCountConstraint?: MinimumEmploiCountConstraintDto[] | undefined;\r\n surpassedMensualisationLimit?: number | undefined;\r\n nombreLimiteArtiste?: number;\r\n typeCachetRequired?: TypePrestation[] | undefined;\r\n artisteWithLessDateInDifferentPlaceThan?: number | undefined;\r\n artisteWithLessDateInDifferentPlaceThanFullName?: string | undefined;\r\n numberOfAudioArtistMustBeInferiorToVisualArtist?: boolean | undefined;\r\n}\r\n\r\nexport interface BudgetDto {\r\n dossierId?: string;\r\n commentaire?: string | undefined;\r\n documents?: DocumentWithValidationDto[] | undefined;\r\n depenses?: DepenseDto[] | undefined;\r\n financements?: FinancementDto[] | undefined;\r\n}\r\n\r\nexport interface BudgetViewModelDto {\r\n montantMax?: number | undefined;\r\n montantMin?: number | undefined;\r\n pourcentageAide?: number | undefined;\r\n hasBalance?: boolean;\r\n baseCalculSpedidam?: number | undefined;\r\n montantMaxAide?: number | undefined;\r\n depenses?: DepenseBlockViewModelDto[] | undefined;\r\n financements?: FinancementBlockViewModelDto[] | undefined;\r\n}\r\n\r\nexport interface CachetDto {\r\n id?: string;\r\n montantBrut?: number;\r\n tauxChargesPatronales?: number;\r\n count?: number;\r\n dates?: LieuDateDto[] | undefined;\r\n typePrestation?: TypePrestation;\r\n}\r\n\r\nexport interface CategorieDossierDto {\r\n id?: string;\r\n code?: string | undefined;\r\n nom?: string | undefined;\r\n parDefaut?: boolean;\r\n hasCustomImage?: boolean;\r\n canBeCreated?: boolean | undefined;\r\n pourcentageAide?: number | undefined;\r\n}\r\n\r\nexport enum ChampDepense {\r\n None = \"none\",\r\n Autre = \"autre\",\r\n SalairesArtisteEnregistrement = \"salairesArtisteEnregistrement\",\r\n SalairesArtisteRepetition = \"salairesArtisteRepetition\",\r\n SalairesArtisteRepresentation = \"salairesArtisteRepresentation\",\r\n SalairesArtisteMensualisation = \"salairesArtisteMensualisation\",\r\n ChargesSocialesPatronalesArtistes = \"chargesSocialesPatronalesArtistes\",\r\n AutresSalairesArtistiquesChargesSocialesPatronalesIncluses = \"autresSalairesArtistiquesChargesSocialesPatronalesIncluses\",\r\n SalairesTechniciensChargesSocialesPatronalesIncluses = \"salairesTechniciensChargesSocialesPatronalesIncluses\",\r\n SalairesPersonnelsAdministratifsChargesSocialesPatronalesIncluses = \"salairesPersonnelsAdministratifsChargesSocialesPatronalesIncluses\",\r\n LocationSalle = \"locationSalle\",\r\n Assurances = \"assurances\",\r\n Defraiements = \"defraiements\",\r\n PublicitePromotion = \"publicitePromotion\",\r\n Organisme = \"organisme\",\r\n Musiciens = \"musiciens\",\r\n Danseurs = \"danseurs\",\r\n Choristes = \"choristes\",\r\n Chanteurs = \"chanteurs\",\r\n Comediens = \"comediens\",\r\n ChefsOrchestre = \"chefsOrchestre\",\r\n ChargesPatronales = \"chargesPatronales\",\r\n CongesSpectales = \"congesSpectales\",\r\n Auteurs = \"auteurs\",\r\n MetteursEnScene = \"metteursEnScene\",\r\n Choregraphes = \"choregraphes\",\r\n DecorateursCostumiers = \"decorateursCostumiers\",\r\n CommandesMusicales = \"commandesMusicales\",\r\n Agessa = \"agessa\",\r\n AdministrationCoordination = \"administrationCoordination\",\r\n TelephoneFaxEnvois = \"telephoneFaxEnvois\",\r\n TechniciensIngenieurs = \"techniciensIngenieurs\",\r\n Divers = \"divers\",\r\n CommunicationPublicite = \"communicationPublicite\",\r\n AttacheDePresse = \"attacheDePresse\",\r\n FraisDeFonctionnementLocation = \"fraisDeFonctionnementLocation\",\r\n MasseSalarialeArtistiqueEstimeeContratsVente = \"masseSalarialeArtistiqueEstimeeContratsVente\",\r\n ContratsVentes = \"contratsVentes\",\r\n BilletsAvion = \"billetsAvion\",\r\n BilletsTrain = \"billetsTrain\",\r\n LocationVoiture = \"locationVoiture\",\r\n Hotel = \"hotel\",\r\n Restauration = \"restauration\",\r\n Carburant = \"carburant\",\r\n TransportInstruments = \"transportInstruments\",\r\n Hebergement = \"hebergement\",\r\n CotisationAFC = \"cotisationAFC\",\r\n SalaireArtistes = \"salaireArtistes\",\r\n RealisationEtImpressionInvitations = \"realisationEtImpressionInvitations\",\r\n EnvoisEtInsertionsPresse = \"envoisEtInsertionsPresse\",\r\n Deplacements = \"deplacements\",\r\n FraisOrganisation = \"fraisOrganisation\",\r\n Sacem = \"sacem\",\r\n Arrangeur = \"arrangeur\",\r\n LocationStudio = \"locationStudio\",\r\n LocationMateriel = \"locationMateriel\",\r\n SalairesEnseignantsPermanents = \"salairesEnseignantsPermanents\",\r\n ChargesSocialesEnseignantsPermanents = \"chargesSocialesEnseignantsPermanents\",\r\n SalairesEnseignantsVacataires = \"salairesEnseignantsVacataires\",\r\n ChargesSocialesEnseignantsVacataires = \"chargesSocialesEnseignantsVacataires\",\r\n Loyers = \"loyers\",\r\n FraisFonctionnement = \"fraisFonctionnement\",\r\n Cotisations = \"cotisations\",\r\n FraisBancaires = \"fraisBancaires\",\r\n TaxesSalaires = \"taxesSalaires\",\r\n FormationProfessionnelleContinue = \"formationProfessionnelleContinue\",\r\n TaxeApprentissage = \"taxeApprentissage\",\r\n DevisRealisation = \"devisRealisation\",\r\n DroitsPourUtilisationsSecondaires = \"droitsPourUtilisationsSecondaires\",\r\n DroitsSurDocumentsArchives = \"droitsSurDocumentsArchives\",\r\n DroitsPhotographiques = \"droitsPhotographiques\",\r\n DroitsAuteur = \"droitsAuteur\",\r\n BandesEtFournitures = \"bandesEtFournitures\",\r\n SalaireVerseSuiteAnnulations = \"salaireVerseSuiteAnnulations\",\r\n IndemniteVerseSuiteAnnulations = \"indemniteVerseSuiteAnnulations\",\r\n PrestationTechnique = \"prestationTechnique\",\r\n Copiste = \"copiste\",\r\n SalairesPersonnelsAdministratifs = \"salairesPersonnelsAdministratifs\",\r\n ChargesSocialesPersonnelsAdministratifs = \"chargesSocialesPersonnelsAdministratifs\",\r\n AutresSalairesChargesSocialesIncluses = \"autresSalairesChargesSocialesIncluses\",\r\n SalairesArtisteConcert = \"salairesArtisteConcert\",\r\n SalairesArtisteEngagementDirect = \"SalairesArtisteEngagementDirect\",\r\n CotisationPatronalesEngagementDirect = \"CotisationPatronalesEngagementDirect\",\r\n SalairesArtisteContratVente = \"SalairesArtisteContratVente\",\r\n CotisationPatronalesContratVente = \"CotisationPatronalesContratVente\"\r\n}\r\n\r\nexport enum ChampFinancement {\r\n None = \"none\",\r\n Autre = \"autre\",\r\n VenteTotaleBillets = \"venteTotaleBillets\",\r\n VenteTiers = \"venteTiers\",\r\n RecettesAnnexes = \"recettesAnnexes\",\r\n ContrepartiesEnServicesOuCoProduction = \"contrepartiesEnServicesOuCoProduction\",\r\n ApportsPersonnelsGarantis = \"apportsPersonnelsGarantis\",\r\n FondsEuropeens = \"fondsEuropeens\",\r\n MinistereDeLaCulture = \"ministereDeLaCulture\",\r\n Drac = \"drac\",\r\n ConseilRegional = \"conseilRegional\",\r\n ConseilGeneral = \"conseilGeneral\",\r\n CommunauteDeCommunes = \"communauteDeCommunes\",\r\n Municipalite = \"municipalite\",\r\n Cnm = \"cnm\",\r\n SacemOuAssociationBeaumarchais = \"sacemOuAssociationBeaumarchais\",\r\n Sacd = \"sacd\",\r\n ScpPouSPPF = \"scpPouSPPF\",\r\n Adami = \"adami\",\r\n MontantDemandeSPEDIDAM = \"montantDemandeSPEDIDAM\",\r\n VenteSpectacles = \"venteSpectacles\",\r\n VenteBilletsEscompte = \"venteBilletsEscompte\",\r\n ContrePartiesEnServices = \"contrePartiesEnServices\",\r\n CoProduction = \"coProduction\",\r\n Divers = \"divers\",\r\n Sacem = \"sacem\",\r\n Fcm = \"fcm\",\r\n FinancementParticipatifOuCampagneCrowdfunding = \"financementParticipatifOuCampagneCrowdfunding\",\r\n FondSoutienProfessionnalisationAFC = \"fondSoutienProfessionnalisationAFC\",\r\n AutresPartenaires = \"autresPartenaires\",\r\n Vente = \"vente\",\r\n ConseilDepartemental = \"conseilDepartemental\",\r\n Cnc = \"cnc\",\r\n Cours = \"cours\",\r\n Adhesions = \"adhesions\",\r\n AfdasCifCnfpt = \"afdasCifCnfpt\",\r\n AutresRecettesExploitation = \"autresRecettesExploitation\",\r\n Ville = \"ville\",\r\n ApportFondsPropres = \"apportFondsPropres\",\r\n ApportProducteur = \"apportProducteur\",\r\n ApportCoProducteur = \"apportCoProducteur\",\r\n ApportEditeurDeMusique = \"apportEditeurDeMusique\",\r\n IndemnisationChomageSalaireArtiste = \"indemnisationChomageSalaireArtiste\",\r\n IndemnisationChomageAutreSalaire = \"indemnisationChomageAutreSalaire\",\r\n}\r\n\r\nexport interface ChangeEmailDto {\r\n newEmail?: string | undefined;\r\n token?: string | undefined;\r\n}\r\n\r\nexport interface ChangePasswordDto {\r\n currentPassword?: string | undefined;\r\n newPassword?: string | undefined;\r\n}\r\n\r\nexport interface ChangePasswordWithResetTokenDto {\r\n userName?: string | undefined;\r\n token?: string | undefined;\r\n newPassword?: string | undefined;\r\n}\r\n\r\nexport interface ChiffresClesDto {\r\n id?: string;\r\n anneeScolaireDebut?: Date;\r\n anneeScolaireFin?: Date;\r\n nombreEnseignantCDI?: number;\r\n nombreEnseignantCDD?: number;\r\n nombreEnseignantCDII?: number;\r\n nombreMusicienIntermittent?: number;\r\n nombreEmployeAdministratif?: number;\r\n nombreEmployeAdministratifETP?: number;\r\n nombreTotalEnseignant?: number;\r\n nombreTotalEnseignantETP?: number;\r\n nombreEtudiantCyclePro?: number;\r\n nombreEtudiantAFDAS?: number;\r\n nombreEtudiantCNFPT?: number;\r\n nombreEtudiantCIF?: number;\r\n nombreEtudiantFormationContinue?: number;\r\n nombreEtudiantFormationInitiale?: number;\r\n nombreEleveAmateur?: number;\r\n readonly nombreEtudiantCycleProfessionnelCurrentYear?: number;\r\n readonly nombreEtudiantCycleLoisirCurrentYear?: number;\r\n nombreEtudiantCycleProfessionnelN1?: number;\r\n nombreEtudiantCycleLoisirN1?: number;\r\n nombreEtudiantCycleProfessionnelN2?: number;\r\n nombreEtudiantCycleLoisirN2?: number;\r\n nombreEtudiantCycleProfessionnelN3?: number;\r\n nombreEtudiantCycleLoisirN3?: number;\r\n nombreEtudiantCycleProfessionnelN4?: number | undefined;\r\n nombreEtudiantCycleLoisirN4?: number | undefined;\r\n chiffreAffaire?: number;\r\n salaires?: number;\r\n chiffreAffaireN1?: number;\r\n salairesN1?: number;\r\n chiffreAffaireN2?: number;\r\n salairesN2?: number;\r\n chiffreAffaireN3?: number;\r\n salairesN3?: number;\r\n chiffreAffaireN4?: number | undefined;\r\n salairesN4?: number | undefined;\r\n}\r\n\r\nexport interface ChiffresClesViewModelDto {\r\n dateDebut?: Date;\r\n dateFin?: Date;\r\n chiffresCles?: ChiffresClesDto;\r\n previousChiffresCles?: ChiffresClesDto;\r\n aidesByYear?: AidesFonctionnementByYearModel[] | undefined;\r\n}\r\n\r\nexport enum Civilite {\r\n None = \"none\",\r\n Monsieur = \"monsieur\",\r\n Madame = \"madame\",\r\n}\r\n\r\nexport interface CommissionDto {\r\n id?: string;\r\n bordereauId?: string | undefined;\r\n nom?: string | undefined;\r\n statut?: StatutCommission;\r\n dateOuverture?: Date | undefined;\r\n dateDebut?: Date;\r\n dateFin?: Date;\r\n dateCloture?: Date | undefined;\r\n dateClotureCA?: Date | undefined;\r\n dateFinSoumission?: Date;\r\n dateCA?: Date | undefined;\r\n groupe?: GroupeCommission;\r\n commissionSpecifique?: boolean;\r\n commissionSpecifiqueCommentaire?: string | undefined;\r\n decalageGroupes?: boolean;\r\n visibleCalendrier?: boolean;\r\n pointsDivers?: string | undefined;\r\n contenuPV?: string | undefined;\r\n pointsDiversCA?: string | undefined;\r\n montantMax?: number | undefined;\r\n canEdit?: boolean;\r\n dateDebutSoumission?: Date;\r\n categoriesDossier?: CategorieDossierDto[] | undefined;\r\n pv?: string | undefined;\r\n pvca?: string | undefined;\r\n convocation?: string | undefined;\r\n dossier?: number;\r\n montantDemande?: number;\r\n montantAttribue?: number;\r\n reaffectation?: number;\r\n}\r\n\r\nexport interface ConditionDto {\r\n questionId?: string | undefined;\r\n operator?: ConditionOperator;\r\n invert?: boolean;\r\n operand?: any | undefined;\r\n operands?: any[] | undefined;\r\n operandQuestionId?: string | undefined;\r\n}\r\n\r\nexport enum ConditionOperator {\r\n Empty = \"empty\",\r\n Equal = \"equal\",\r\n AnyOf = \"anyOf\",\r\n LesserThan = \"lesserThan\",\r\n}\r\n\r\nexport interface ContactDto {\r\n id?: string;\r\n poste?: TypePoste;\r\n civilite?: Civilite;\r\n nom?: string | undefined;\r\n prenom?: string | undefined;\r\n email?: string | undefined;\r\n telephoneFixe?: string | undefined;\r\n telephonePortable?: string | undefined;\r\n createdAt?: Date;\r\n lastModifiedAt?: Date | undefined;\r\n}\r\n\r\nexport interface CreateArtisteDto {\r\n nom?: string | undefined;\r\n prenom?: string | undefined;\r\n email?: string | undefined;\r\n lieuHabitation?: string | undefined;\r\n siteInternet?: string | undefined;\r\n emploi?: Emploi;\r\n styleMusicalId?: string | undefined;\r\n instrumentId?: string | undefined;\r\n artistePrincipal?: boolean;\r\n formation?: string | undefined;\r\n isGenerationSpedidam?: boolean;\r\n isAssociated?: boolean;\r\n isTitulaire?: boolean;\r\n isEngagementDirect?: boolean;\r\n cachets?: CreateCachetDto[] | undefined;\r\n salaires?: CreateSalaireDto[] | undefined;\r\n}\r\n\r\nexport interface CreateCachetDto {\r\n lieuDateIds?: string[] | undefined;\r\n montantBrut?: number;\r\n tauxChargesPatronales?: number;\r\n count?: number;\r\n}\r\n\r\nexport interface CreateChiffresClesDto {\r\n nombreEnseignantCDI?: number;\r\n nombreEnseignantCDD?: number;\r\n nombreEnseignantCDII?: number;\r\n nombreMusicienIntermittent?: number;\r\n nombreEmployeAdministratif?: number;\r\n nombreEmployeAdministratifETP?: number;\r\n nombreTotalEnseignant?: number;\r\n nombreTotalEnseignantETP?: number;\r\n nombreEtudiantCyclePro?: number;\r\n nombreEtudiantAFDAS?: number;\r\n nombreEtudiantCNFPT?: number;\r\n nombreEtudiantCIF?: number;\r\n nombreEtudiantFormationContinue?: number;\r\n nombreEtudiantFormationInitiale?: number;\r\n nombreEleveAmateur?: number;\r\n readonly nombreEtudiantCycleProfessionnelCurrentYear?: number;\r\n readonly nombreEtudiantCycleLoisirCurrentYear?: number;\r\n nombreEtudiantCycleProfessionnelN1?: number;\r\n nombreEtudiantCycleLoisirN1?: number;\r\n nombreEtudiantCycleProfessionnelN2?: number;\r\n nombreEtudiantCycleLoisirN2?: number;\r\n nombreEtudiantCycleProfessionnelN3?: number;\r\n nombreEtudiantCycleLoisirN3?: number;\r\n nombreEtudiantCycleProfessionnelN4?: number | undefined;\r\n nombreEtudiantCycleLoisirN4?: number | undefined;\r\n chiffreAffaire?: number;\r\n salaires?: number;\r\n chiffreAffaireN1?: number;\r\n salairesN1?: number;\r\n chiffreAffaireN2?: number;\r\n salairesN2?: number;\r\n chiffreAffaireN3?: number;\r\n salairesN3?: number;\r\n chiffreAffaireN4?: number | undefined;\r\n salairesN4?: number | undefined;\r\n}\r\n\r\nexport interface CreateContactDto {\r\n poste?: TypePoste;\r\n civilite?: Civilite;\r\n nom?: string | undefined;\r\n prenom?: string | undefined;\r\n email?: string | undefined;\r\n telephoneFixe?: string | undefined;\r\n telephonePortable?: string | undefined;\r\n}\r\n\r\nexport interface CreateDepenseDto {\r\n intitule?: string | undefined;\r\n commentaire?: string | undefined;\r\n type?: TypeDepense;\r\n champ?: ChampDepense;\r\n montant?: number;\r\n confirmationMontant?: boolean | undefined;\r\n document?: DocumentUploadInfoDto;\r\n}\r\n\r\nexport interface CreateDossierDto {\r\n categorieId?: string;\r\n}\r\n\r\nexport interface CreateFinancementDto {\r\n intitule?: string | undefined;\r\n commentaire?: string | undefined;\r\n type?: TypeFinancement;\r\n champ?: ChampFinancement;\r\n montant?: number;\r\n confirmationMontant?: boolean | undefined;\r\n document?: DocumentUploadInfoDto;\r\n}\r\n\r\nexport interface CreateLieuDto {\r\n adresseId?: string | undefined;\r\n adresseLabel?: string | undefined;\r\n departement?: string | undefined;\r\n ville?: string | undefined;\r\n paysId?: string;\r\n adresse?: string | undefined;\r\n nomLieu?: string | undefined;\r\n jauge?: number | undefined;\r\n dates?: Date[] | undefined;\r\n typePrestation?: TypePrestation;\r\n description?: string;\r\n}\r\n\r\nexport interface CreateMessageDto {\r\n contenu?: string | undefined;\r\n}\r\n\r\nexport interface CreateOrUpdateAdresseDto {\r\n line1?: string | undefined;\r\n line2?: string | undefined;\r\n codePostal?: string | undefined;\r\n ville?: string | undefined;\r\n}\r\n\r\nexport interface CreateOrUpdateAidesFonctionnementDto {\r\n aidesByYear?: AidesFonctionnementByYearModel[] | undefined;\r\n}\r\n\r\nexport interface CreateOrUpdateEtapeDto {\r\n id?: string | undefined;\r\n order?: number;\r\n paysId?: string;\r\n escaleAllerPaysId?: string | undefined;\r\n escaleRetourPaysId?: string | undefined;\r\n typeTransport?: TypeTransport;\r\n}\r\n\r\nexport interface CreateOrUpdateResponsableDossierDto {\r\n civilite?: Civilite;\r\n nom?: string | undefined;\r\n prenom?: string | undefined;\r\n email?: string | undefined;\r\n telephoneFixe?: string | undefined;\r\n telephonePortable?: string | undefined;\r\n}\r\n\r\nexport interface CreateOrUpdateTrajetDto {\r\n versementId?: string | undefined;\r\n etapes?: CreateOrUpdateEtapeDto[] | undefined;\r\n artisteIds?: string[] | undefined;\r\n versementArtisteIds?: string[] | undefined;\r\n}\r\n\r\nexport interface CreateOrUpdateVersementArtisteDto {\r\n nom?: string | undefined;\r\n prenom?: string | undefined;\r\n email?: string | undefined;\r\n lieuHabitation?: string | undefined;\r\n emploi?: Emploi;\r\n styleMusicalId?: string | undefined;\r\n instrumentId?: string | undefined;\r\n isTitulaire?: boolean;\r\n totalSalairesBruts?: number;\r\n totalCharges?: number;\r\n datesTravailles?: Date[] | undefined;\r\n}\r\n\r\nexport interface CreateSalaireDto {\r\n lieuDateIds?: string[] | undefined;\r\n montantBrut?: number;\r\n tauxChargesPatronales?: number;\r\n}\r\n\r\nexport interface CreateStructureDto {\r\n siret?: string | undefined;\r\n raisonSociale?: string | undefined;\r\n codeAPE?: string | undefined;\r\n nomenclatureAPE?: string | undefined;\r\n adresse?: CreateOrUpdateAdresseDto;\r\n adresseCorrespondance?: CreateOrUpdateAdresseDto;\r\n formeJuridiqueId?: string;\r\n correspondant?: CreateContactDto;\r\n president?: CreateContactDto;\r\n informations?: string | undefined;\r\n codeLangue?: string | undefined;\r\n documents?: DocumentUploadInfoDto[] | undefined;\r\n}\r\n\r\nexport interface CreateVersementDto {\r\n type?: TypeVersement;\r\n mode?: ModeVersement;\r\n}\r\n\r\nexport interface CritereDossierLightDto {\r\n id?: string;\r\n uris?: { [key: string]: string; } | undefined;\r\n dateDebut?: Date;\r\n statutGenerationPdf?: StatutGenerationPdf;\r\n categorieId?: string;\r\n categorie?: CategorieDossierDto;\r\n commissionId?: string | undefined;\r\n}\r\n\r\nexport interface CurrentCritereDossierDto {\r\n id?: string;\r\n contenu?: { [key: string]: string; } | undefined;\r\n categorie?: CategorieDossierDto;\r\n}\r\n\r\nexport interface CurrentDossierInfoDto {\r\n dossierNom?: string | undefined;\r\n dossierStatut?: string | undefined;\r\n categorieNom?: string | undefined;\r\n structureNom?: string | undefined;\r\n commissionNom?: string | undefined;\r\n}\r\n\r\nexport interface DemandeVersementContratCachetDto {\r\n totalRemunerationBrut?: number;\r\n totalChargePatronales?: number;\r\n categoryDossierId?: number;\r\n totalMontantPrevisionnel?: number;\r\n artistes?: VersementArtisteDto[] | undefined;\r\n enseignants?: EnseignantRemunerationDto[] | undefined;\r\n depenses?: DepenseDto[] | undefined;\r\n commentaire?: string | undefined;\r\n}\r\n\r\nexport interface DemandeVersementDetailDto {\r\n nomDossier?: string | undefined;\r\n statutVersement?: StatutVersement;\r\n dateDebutProjet?: Date | undefined;\r\n dateFinProjet?: Date | undefined;\r\n baseCalculSpedidam?: number;\r\n montantAttribue?: number;\r\n categorieNom?: string | undefined;\r\n dateSoumission?: Date | undefined;\r\n montantDemande?: number;\r\n montantVerse?: number | undefined;\r\n valideParDSV?: boolean;\r\n donneeBancaire?: DonneesBancairesDto;\r\n}\r\n\r\nexport interface DemandeVersementInfosDto {\r\n nom?: string | undefined;\r\n responsableFullName?: string | undefined;\r\n mailResponsable?: string | undefined;\r\n telResponsable?: string | undefined;\r\n categorieDossier?: string | undefined;\r\n isApi?: boolean;\r\n baseCalcul?: number;\r\n montantDemande?: number;\r\n montantAttribue?: number;\r\n montantPercu?: number;\r\n hasSendDocPromoImage?: boolean | undefined;\r\n commissionsDebut?: Date;\r\n commissionFin?: Date;\r\n dateProjetDebut?: Date | undefined;\r\n dateProjetFin?: Date | undefined;\r\n dateSoumission?: Date | undefined;\r\n documentAPI?: DocumentDto | undefined; //DocumentUploadInfoDto | undefined;\r\n}\r\n\r\nexport interface DemandeVersementLieuDateDto {\r\n prestations?: LieuxDto[] | undefined;\r\n}\r\n\r\nexport interface DemandeVersementPieceJointeViewModelDto {\r\n typeDeDocuments?: TypeDeDocumentDto[] | undefined;\r\n documents?: DocumentDto[] | undefined;\r\n}\r\n\r\nexport interface DepenseBlockViewModelDto {\r\n type?: TypeDepense;\r\n montantMin?: number | undefined;\r\n montantMax?: number | undefined;\r\n depenses?: DepenseViewModelDto[] | undefined;\r\n}\r\n\r\nexport interface DepenseDto {\r\n id?: string;\r\n type?: TypeDepense;\r\n champ?: ChampDepense;\r\n montant?: number;\r\n montantRealise?: number | undefined;\r\n confirmationMontant?: boolean | undefined;\r\n intitule?: string | undefined;\r\n commentaire?: string | undefined;\r\n document?: DocumentWithValidationDto;\r\n}\r\n\r\nexport interface DepenseViewModelDto {\r\n montant?: number | undefined;\r\n montantMax?: number | undefined;\r\n montantMin?: number | undefined;\r\n isEditable?: boolean;\r\n champ?: ChampDepense;\r\n hasAttachment?: boolean;\r\n needConfirmation?: boolean;\r\n}\r\n\r\nexport interface DescriptionProjetViewModelDto {\r\n donneesBancaires?: DonneesBancairesDto;\r\n questionsBlocks?: QuestionBlockDto[] | undefined;\r\n answers?: { [key: string]: any; } | string | undefined;\r\n}\r\n\r\nexport interface DisciplineDto {\r\n id?: string | undefined;\r\n text?: { [key: string]: string; } | undefined;\r\n}\r\n\r\nexport interface DiscussionDossierDto {\r\n id?: string;\r\n nom?: string | undefined;\r\n description?: string | undefined;\r\n aMessageNonLu?: boolean;\r\n dateDernierMessage?: Date | undefined;\r\n statut?: StatutDiscussion;\r\n objet?: ObjetDiscussion;\r\n interlocuteur?: string | undefined;\r\n messages?: DiscussionMessageDto[] | undefined;\r\n dossierId?: string;\r\n categorieCode?: string | undefined;\r\n dossierNumero?: string\r\n}\r\n\r\nexport interface DiscussionMessageDto {\r\n discussionId?: string;\r\n messageId?: string;\r\n estLu?: boolean;\r\n message?: MessageDto;\r\n}\r\n\r\nexport interface DiscussionStructureDto {\r\n id?: string;\r\n nom?: string | undefined;\r\n description?: string | undefined;\r\n aMessageNonLu?: boolean;\r\n dateDernierMessage?: Date | undefined;\r\n statut?: StatutDiscussion;\r\n objet?: ObjetDiscussion;\r\n interlocuteur?: string | undefined;\r\n messages?: DiscussionMessageDto[] | undefined;\r\n structureId?: string;\r\n}\r\n\r\nexport interface DocumentDto {\r\n id?: string;\r\n fileName?: string | undefined;\r\n name?: string | undefined;\r\n contentType?: string | undefined;\r\n uri?: string | undefined;\r\n type?: TypeDeDocumentDto;\r\n extraInfo?: DocumentExtraInfoDto[] | undefined;\r\n expirationDate?: Date | undefined;\r\n createdAt?: Date;\r\n lastModifiedAt?: Date | undefined;\r\n}\r\n\r\nexport interface DocumentExtraInfoDto {\r\n documentId?: string;\r\n code?: string | undefined;\r\n valueType?: TypeDeDocumentExtraInfoValueType;\r\n jsonValue?: string | undefined;\r\n readonly value?: any | undefined;\r\n}\r\n\r\nexport interface DocumentLightDto {\r\n id?: string;\r\n fileName?: string | undefined;\r\n contentType?: string | undefined;\r\n uri?: string | undefined;\r\n}\r\n\r\nexport enum DocumentScope {\r\n None = \"none\",\r\n Structure = \"structure\",\r\n Dossier = \"dossier\",\r\n Commission = \"commission\",\r\n}\r\n\r\nexport interface DocumentUploadInfoDto {\r\n id?: string | undefined;\r\n typeId?: string;\r\n partName?: string | undefined;\r\n extraInfos?: { [key: string]: any; } | undefined;\r\n}\r\n\r\nexport interface DocumentWithValidationDto {\r\n id?: string;\r\n fileName?: string | undefined;\r\n contentType?: string | undefined;\r\n uri?: string | undefined;\r\n type?: TypeDeDocumentDto;\r\n extraInfo?: DocumentExtraInfoDto[] | undefined;\r\n expirationDate?: Date | undefined;\r\n createdAt?: Date;\r\n lastModifiedAt?: Date | undefined;\r\n validee?: boolean | undefined;\r\n commentaires?: string | undefined;\r\n actionType?: string | undefined;\r\n}\r\n\r\nexport interface DonneesBancairesDto {\r\n id?: string;\r\n iban?: string | undefined;\r\n bic?: string | undefined;\r\n banque?: string | undefined;\r\n adresse?: AdresseDto;\r\n rib?: DocumentWithValidationDto;\r\n createdAt?: Date;\r\n lastModifiedAt?: Date;\r\n canEditRib?: boolean;\r\n}\r\n\r\nexport interface DossierArtistesViewModelDto {\r\n typeCachetRequired?: TypePrestation[] | undefined;\r\n formationRequired?: boolean;\r\n stylesMusicauxMultiChoix?: boolean;\r\n artistePrincipalInfoRequired?: boolean;\r\n generationSpedidamInfoRequired?: boolean;\r\n artisteTitulaireInfoRequired?: boolean;\r\n artisteAdditionnelInfoRequired?: boolean;\r\n mensualisation?: boolean;\r\n nombreCachetMinimum?: number;\r\n emplois?: Emploi[] | undefined;\r\n stylesMusicaux?: StyleMusicalDto[] | undefined;\r\n instruments?: InstrumentDto[] | undefined;\r\n lieuDatesByType?: { [key: string]: LieuDateDto[]; } | undefined;\r\n remunerations?: RemunerationDto[] | undefined;\r\n groupesEmploi?: any[] | undefined;\r\n}\r\n\r\nexport interface DossierDetailsDto {\r\n id?: string;\r\n isEditable?: boolean;\r\n dsv?: boolean;\r\n hasVersement?: boolean;\r\n nom?: string | undefined;\r\n numero?: string | undefined;\r\n description?: string | undefined;\r\n commentaires?: string | undefined;\r\n commentairesInstruction?: string | undefined;\r\n structure?: StructureLightDto;\r\n documents?: DocumentWithValidationDto[] | undefined;\r\n descriptionPiecesJointes?: DocumentLightDto[] | undefined;\r\n statut?: StatutDossier | any;\r\n categorie?: CategorieDossierDto;\r\n responsable?: ResponsableDossierDto;\r\n trajets?: TrajetDto[] | undefined;\r\n hasRepetition?: boolean;\r\n hasRepresentation?: boolean;\r\n hasEnregistrement?: boolean;\r\n hasConcert?: boolean;\r\n hasMensualisation?: boolean;\r\n artistes?: ArtisteDetailsDto[] | undefined;\r\n enseignants?: EnseignantDto[] | undefined;\r\n salaries?: SalarieDto[] | undefined;\r\n dateDebut?: Date | undefined;\r\n dateFin?: Date | undefined;\r\n dateProlongation?: Date | undefined;\r\n dates?: LieuDateDetailsDto[] | undefined;\r\n budget?: BudgetDto;\r\n budgetViewModel?: BudgetViewModelDto;\r\n chiffresCles?: ChiffresClesDto;\r\n chargeInstructionId?: number | undefined;\r\n}\r\n\r\nexport interface DossierDto {\r\n id?: string;\r\n numero?: string | undefined;\r\n canVersement?: boolean;\r\n statut?: StatutDossier;\r\n structureId?: string;\r\n categorieId?: string;\r\n categorieNom?: string | undefined;\r\n categorieCode?: string | undefined;\r\n nom?: string | undefined;\r\n description?: string | undefined;\r\n blocageAvis?: boolean;\r\n aMessageNonLu?: boolean;\r\n convention?: string | undefined;\r\n courrierAgreement?: string | undefined;\r\n lettreRefus?: string | undefined;\r\n createdAt?: Date;\r\n lastModifiedAt?: Date | undefined;\r\n}\r\n\r\nexport interface DossierDtoSortedFilteredPage {\r\n readonly actualCount?: number;\r\n readonly items?: DossierDto[] | undefined;\r\n readonly number?: number;\r\n readonly requestedSize?: number;\r\n readonly totalPageCount?: number;\r\n readonly totalItemCount?: number;\r\n readonly disablePagination?: boolean;\r\n readonly hasPrevious?: boolean;\r\n readonly previousPageNumber?: number | undefined;\r\n readonly hasNext?: boolean;\r\n readonly nextPageNumber?: number | undefined;\r\n readonly isFirst?: boolean;\r\n readonly isLast?: boolean;\r\n readonly sortTerms?: SortTerm[] | undefined;\r\n readonly filterTerms?: FilterTerm[] | undefined;\r\n}\r\n\r\nexport interface DossierEnseignantsViewModelDto {\r\n disciplines?: DisciplineDto[] | undefined;\r\n stylesMusicaux?: StyleMusicalDto[] | undefined;\r\n instruments?: InstrumentDto[] | undefined;\r\n}\r\n\r\nexport interface DossierInfosProjetViewModelDto {\r\n responsableDossier?: ResponsableDossierDto;\r\n questionBlocks?: QuestionBlockDto[] | undefined;\r\n answers?: { [key: string]: any; } | undefined;\r\n}\r\n\r\nexport interface DossierVersementsViewModelDto {\r\n typesVersements?: TypeVersement[] | undefined;\r\n modesVersements?: ModeVersement[] | undefined;\r\n versements?: VersementDtoSortedFilteredPage;\r\n numeroDossierToDo?: string | undefined;\r\n}\r\n\r\nexport enum Emploi {\r\n None = \"none\",\r\n Musicien = \"musicien\",\r\n Chanteur = \"chanteur\",\r\n ChefOrchestre = \"chefOrchestre\",\r\n Choriste = \"choriste\",\r\n Comedien = \"comedien\",\r\n Circassien = \"circassien\",\r\n Danseur = \"danseur\",\r\n Marionnettiste = \"marionnettiste\",\r\n}\r\nexport enum Groupe {\r\n None = \"none\",\r\n Musiciens = \"musiciens\",\r\n Autre = \"autre\", \r\n}\r\n\r\nexport enum GroupeCodeValues {\r\n Musiciens = \"MS\",\r\n Autre = \"OTH\", \r\n}\r\n\r\nexport interface EmploiComparisonConstraintDto {\r\n more?: Emploi[] | undefined;\r\n less?: Emploi[] | undefined;\r\n}\r\n\r\nexport interface EnseignantDto {\r\n disciplinesIds?: string[] | undefined;\r\n otherDiscipline?: string | undefined;\r\n readonly disciplines?: DisciplineDto[] | undefined;\r\n id?: string;\r\n nom?: string | undefined;\r\n prenom?: string | undefined;\r\n ville?: string | undefined;\r\n instrument?: InstrumentDto;\r\n qualification?: QualificationEnseignant;\r\n typeContrat?: TypeContrat;\r\n statut?: StatutEnseignant;\r\n remunerationBruteAnnuelle?: number;\r\n montantChargesPatronales?: number;\r\n tarifHoraireBrut?: number;\r\n remunerationPremierTrimestre?: number;\r\n contratEngagement?: DocumentDto;\r\n justificatifRemuneration?: DocumentDto;\r\n}\r\n\r\nexport interface EnseignantDtoPage {\r\n readonly actualCount?: number;\r\n readonly items?: EnseignantDto[] | undefined;\r\n readonly number?: number;\r\n readonly requestedSize?: number;\r\n readonly totalPageCount?: number;\r\n readonly totalItemCount?: number;\r\n readonly disablePagination?: boolean;\r\n readonly hasPrevious?: boolean;\r\n readonly previousPageNumber?: number | undefined;\r\n readonly hasNext?: boolean;\r\n readonly nextPageNumber?: number | undefined;\r\n readonly isFirst?: boolean;\r\n readonly isLast?: boolean;\r\n}\r\n\r\nexport interface EnseignantRemunerationDto {\r\n disciplinesIds?: string[] | undefined;\r\n otherDiscipline?: string | undefined;\r\n readonly disciplines?: DisciplineDto[] | undefined;\r\n id?: string;\r\n remunerationBruteAnnuelle?: number;\r\n montantChargesPatronales?: number;\r\n remunerationPremierTrimestre?: number | undefined;\r\n justificatifRemuneration?: DocumentLightDto;\r\n}\r\n\r\nexport interface EnseignantValidationDto {\r\n errors?: EnseignantValidationErrorDto[] | undefined;\r\n}\r\n\r\nexport interface EnseignantValidationErrorDto {\r\n contrat?: TypeContrat;\r\n numberEnseignantRequired?: number | undefined;\r\n}\r\n\r\nexport enum Equipements {\r\n None = \"none\",\r\n PcBureau = \"pcBureau\",\r\n PcPortable = \"pcPortable\",\r\n Tablette = \"tablette\",\r\n Imprimante = \"imprimante\",\r\n TelephonePortable = \"telephonePortable\",\r\n Autre = \"autre\",\r\n}\r\n\r\nexport enum EtapeCreationDossier {\r\n None = \"none\",\r\n ValidationStructure = \"validationStructure\",\r\n Type = \"type\",\r\n Criteres = \"criteres\",\r\n InformationsProjet = \"informationsProjet\",\r\n ChiffresCles = \"chiffresCles\",\r\n SalarieArtistes = \"salarieArtistes\",\r\n LieuxDates = \"lieuxDates\",\r\n ContratsCachets = \"contratsCachets\",\r\n Trajets = \"trajets\",\r\n Enseignants = \"enseignants\",\r\n Budget = \"budget\",\r\n DescriptionProjet = \"descriptionProjet\",\r\n Validation = \"validation\",\r\n}\r\n\r\nexport enum EtapeDemandeVersement {\r\n None = \"none\",\r\n ValidationStructure = \"validationStructure\",\r\n ValidationDocumentStructure = \"validationDocumentStructure\",\r\n InformationsProjet = \"informationsProjet\",\r\n ValidationArtiste = \"validationArtiste\",\r\n ValidationEnseignant = \"validationEnseignant\",\r\n ValidationDeplacement = \"validationDeplacement\",\r\n PieceJointe = \"pieceJointe\",\r\n ConfirmationRIB = \"confirmationRIB\",\r\n Recapitulatif = \"recapitulatif\",\r\n}\r\n\r\nexport interface EtapeDto {\r\n id?: string;\r\n order?: number;\r\n pays?: PaysDto;\r\n escaleAllerPays?: PaysDto;\r\n escaleRetourPays?: PaysDto;\r\n typeTransport?: TypeTransport;\r\n}\r\n\r\nexport interface ExceptionModel {\r\n type?: string | undefined;\r\n readonly message?: string | undefined;\r\n readonly stackTrace?: string[] | undefined;\r\n innerException?: ExceptionModel;\r\n}\r\n\r\nexport enum FilterOperator {\r\n Equals = \"equals\",\r\n NotEquals = \"notEquals\",\r\n GreaterThan = \"greaterThan\",\r\n LessThan = \"lessThan\",\r\n GreaterThanOrEqualTo = \"greaterThanOrEqualTo\",\r\n LessThanOrEqualTo = \"lessThanOrEqualTo\",\r\n Contains = \"contains\",\r\n StartsWith = \"startsWith\",\r\n}\r\n\r\nexport interface FilterTerm {\r\n filter?: string | undefined;\r\n readonly names?: string[] | undefined;\r\n operatorParsed?: FilterOperator;\r\n readonly values?: string[] | undefined;\r\n readonly operator?: string | undefined;\r\n readonly operatorIsCaseInsensitive?: boolean;\r\n readonly operatorIsNegated?: boolean;\r\n}\r\n\r\nexport interface FinancementBlockViewModelDto {\r\n type?: TypeFinancement;\r\n montantMin?: number | undefined;\r\n montantMax?: number | undefined;\r\n financements?: FinancementViewModelDto[] | undefined;\r\n}\r\n\r\nexport interface FinancementDto {\r\n id?: string;\r\n type?: TypeFinancement;\r\n champ?: ChampFinancement;\r\n montant?: number;\r\n confirmationMontant?: boolean | undefined;\r\n intitule?: string | undefined;\r\n commentaire?: string | undefined;\r\n document?: DocumentLightDto;\r\n}\r\n\r\nexport interface FinancementLightDto {\r\n id?: string | undefined;\r\n champ?: ChampFinancement;\r\n montant?: number;\r\n}\r\n\r\nexport interface FinancementViewModelDto {\r\n montantMax?: number | undefined;\r\n isEditable?: boolean;\r\n champ?: ChampFinancement;\r\n hasAttachment?: boolean;\r\n needConfirmation?: boolean;\r\n}\r\n\r\nexport interface FOCurrentUserDto {\r\n id?: string;\r\n userName?: string | undefined;\r\n email?: string | undefined;\r\n nom?: string | undefined;\r\n prenom?: string | undefined;\r\n statutStructure?: StatutStructure;\r\n}\r\n\r\nexport interface FormeJuridiqueDto {\r\n id?: string;\r\n code?: string | undefined;\r\n nom?: string | undefined;\r\n categorieId?: string;\r\n}\r\n\r\nexport interface GeoAdresseDto {\r\n id?: string | undefined;\r\n label?: string | undefined;\r\n numero?: string | undefined;\r\n rue?: string | undefined;\r\n codePostal?: string | undefined;\r\n ville?: string | undefined;\r\n latitude?: number;\r\n longitude?: number;\r\n}\r\n\r\nexport enum GroupeCommission {\r\n None = \"none\",\r\n A = \"a\",\r\n B = \"b\",\r\n C = \"c\",\r\n Suppleant = \"suppleant\",\r\n}\r\n\r\nexport interface InstrumentDto {\r\n id?: string;\r\n code?: string | undefined;\r\n intitule?: { [key: string]: string; } | undefined;\r\n}\r\n\r\nexport interface LieuDateDetailsDto {\r\n id?: string;\r\n typePrestation?: TypePrestation;\r\n departement?: string | undefined;\r\n ville?: string | undefined;\r\n lieu?: string | undefined;\r\n pays?: PaysDto;\r\n date?: Date;\r\n artistes?: ArtisteLightDto[] | undefined;\r\n}\r\n\r\nexport interface LieuDateDto {\r\n id?: string;\r\n date?: Date;\r\n typePrestation?: TypePrestation;\r\n description?: string;\r\n}\r\n\r\nexport interface LieuDto {\r\n id?: string;\r\n departement?: string | undefined;\r\n ville?: string | undefined;\r\n pays?: PaysDto;\r\n adresseId?: string | undefined;\r\n adresseLabel?: string | undefined;\r\n adresse?: string | undefined;\r\n nomLieu?: string | undefined;\r\n jauge?: number | undefined;\r\n longitude?: number;\r\n latitude?: number;\r\n dates?: LieuDateDto[] | undefined;\r\n typePrestation?: TypePrestation;\r\n description?: string;\r\n}\r\n\r\nexport interface LieuValidationDto {\r\n errors?: LieuValidationError[] | undefined;\r\n}\r\n\r\nexport interface LieuValidationError {\r\n types?: TypePrestation[] | undefined;\r\n max?: number | undefined;\r\n min?: number | undefined;\r\n maxDuration?: number | undefined;\r\n maxMonthDuration?: number | undefined;\r\n minPrestation?: number | undefined;\r\n withDifferentPlace?: boolean | undefined;\r\n allRepresentationsMustBeDuringEvenement?: boolean;\r\n minDate?: Date | undefined;\r\n maxDate?: Date | undefined;\r\n}\r\n\r\nexport interface LieuxDto {\r\n type?: TypePrestation;\r\n lieux?: LieuDto[] | undefined;\r\n}\r\n\r\nexport interface LoginDto {\r\n userName?: string | undefined;\r\n password?: string | undefined;\r\n rememberMe?: boolean;\r\n}\r\n\r\nexport interface MasseSalarialeDto {\r\n montantCachets?: { [key: string]: number; } | undefined;\r\n montantSalaires?: number;\r\n chargesPatronales?: number;\r\n}\r\n\r\nexport interface MessageAlerteDto {\r\n id?: string;\r\n nom?: string | undefined;\r\n message?: string | undefined;\r\n afficher?: boolean;\r\n}\r\n\r\nexport interface MessageDto {\r\n contenu?: string | undefined;\r\n auteur?: AdelUserDto;\r\n createdAt?: Date;\r\n piecesJointes?: PieceJointeDto[] | undefined;\r\n}\r\n\r\nexport interface MessagerieDto {\r\n discussionsStructure?: DiscussionStructureDto[] | undefined;\r\n discussionsDossiers?: DiscussionDossierDto[] | undefined;\r\n}\r\n\r\nexport interface MinimumEmploiCountConstraintDto {\r\n minimum?: number;\r\n emplois?: Emploi[] | undefined;\r\n}\r\n\r\nexport enum ModeVersement {\r\n None = \"none\",\r\n Automatique = \"automatique\",\r\n Manuel = \"manuel\",\r\n Programme = \"programme\",\r\n}\r\n\r\nexport interface NotificationsDto {\r\n aMessageNonLu?: boolean;\r\n}\r\n\r\nexport enum ObjetDiscussion {\r\n None = \"none\",\r\n InformationGeneral = \"informationGeneral\",\r\n MiseAJourCompte = \"miseAJourCompte\",\r\n AbsenceLogo = \"absenceLogo\",\r\n ConventionNonConforme = \"conventionNonConforme\",\r\n ConventionRecueHorodate = \"conventionRecueHorodate\",\r\n ContratNonConforme = \"contratNonConforme\",\r\n DecisionDefavorable = \"decisionDefavorable\",\r\n DecisionFavorable = \"decisionFavorable\",\r\n DemandeVersementNonConforme = \"demandeVersementNonConforme\",\r\n DemandeVersementAcompteNonConforme = \"demandeVersementAcompteNonConforme\",\r\n DemandeVersementSoldeNonConforme = \"demandeVersementSoldeNonConforme\",\r\n DemandeVersementAFaire = \"demandeVersementAFaire\",\r\n DossierHorsCritères = \"dossierHorsCritères\",\r\n DossierIncomplet = \"dossierIncomplet\",\r\n EnAttenteConventionSigne = \"enAttenteConventionSigne\",\r\n EnAttenteDelegationSignature = \"enAttenteDelegationSignature\",\r\n EnAttenteDemandeDerogation = \"enAttenteDemandeDerogation\",\r\n EnAttenteSupportPhysique = \"enAttenteSupportPhysique\",\r\n EnAttenteValidationServiceJuridique = \"enAttenteValidationServiceJuridique\",\r\n EnAttenteValidationServiceSpectacleVivant = \"enAttenteValidationServiceSpectacleVivant\",\r\n ExamenDossierReporte = \"examenDossierReporte\",\r\n FeuillePresenceNonConforme = \"feuillePresenceNonConforme\",\r\n ImpossibleOuvrirPieceJointe = \"impossibleOuvrirPieceJointe\",\r\n LienIndiqueNonValide = \"lienIndiqueNonValide\",\r\n RemunerationArtisteNonConforme = \"remunerationArtisteNonConforme\",\r\n MiseAJourPiecesJointesMonCompte = \"miseAJourPiecesJointesMonCompte\",\r\n NonRespectCriteres = \"nonRespectCriteres\",\r\n ReaffectationAide = \"reaffectationAide\",\r\n UrgentRappelAvantReaffectationAide = \"urgentRappelAvantReaffectationAide\",\r\n VersementProrata = \"versementProrata\",\r\n VersementAide = \"versementAide\",\r\n DemandeRemboursement = \"demandeRemboursement\",\r\n DemandeDeComplementInformation = \"demandeDeComplementInformation\"\r\n}\r\n\r\nexport interface PageVitrineDto {\r\n id?: string;\r\n nom?: { [key: string]: string; } | undefined;\r\n ordre?: number;\r\n contenu?: { [key: string]: string; } | undefined;\r\n urlSlug?: { [key: string]: string; } | undefined;\r\n}\r\n\r\nexport interface PasswordResetRequestDto {\r\n userName?: string | undefined;\r\n}\r\n\r\nexport interface PaysDto {\r\n id?: string;\r\n nom?: string | undefined;\r\n estEurope?: boolean;\r\n estAimable?: boolean;\r\n}\r\n\r\nexport interface PieceJointeDto {\r\n id?: string;\r\n fileName?: string | undefined;\r\n contentType?: string | undefined;\r\n uri?: string | undefined;\r\n}\r\n\r\nexport interface PresetAnswerDto {\r\n value?: any | undefined;\r\n isModifiable?: boolean;\r\n}\r\n\r\nexport interface PrestationsViewModelDto {\r\n typesPrestation?: TypePrestation[] | undefined;\r\n dateRange?: boolean;\r\n franceByDefault?: boolean;\r\n dateMinimum?: Date | undefined;\r\n}\r\n\r\nexport interface ProblemDetails {\r\n type?: string | undefined;\r\n title?: string | undefined;\r\n status?: number | undefined;\r\n detail?: string | undefined;\r\n instance?: string | undefined;\r\n code?: ProblemDetailsCode;\r\n exception?: ExceptionModel;\r\n additionalDetails?: AdditionalDetails;\r\n}\r\n\r\nexport interface PropertyValidatorInfo {\r\n errorMessage?: string | undefined;\r\n errorCode?: string | undefined;\r\n name?: string | undefined;\r\n}\r\n\r\nexport enum QualificationEnseignant {\r\n None = \"none\",\r\n Autodidacte = \"autodidacte\",\r\n CertificatAptitude = \"certificatAptitude\",\r\n DiplomeEtat = \"diplomeEtat\",\r\n Autre = \"autre\",\r\n}\r\n\r\nexport interface QuestionBlockDto {\r\n id?: string | undefined;\r\n title?: { [key: string]: string; } | undefined;\r\n questions?: QuestionDto[] | undefined;\r\n}\r\n\r\nexport interface QuestionDto {\r\n id?: string | undefined;\r\n text?: { [key: string]: string; } | undefined;\r\n answerType?: AnswerType;\r\n answerMinLength?: number | undefined;\r\n answerMaxLength?: number | undefined;\r\n answerMinValue?: any | undefined;\r\n answerMaxValue?: any | undefined;\r\n isRequired?: boolean;\r\n choices?: AnswerChoiceDto[] | undefined;\r\n conditions?: ConditionDto[] | undefined;\r\n presetAnswer?: PresetAnswerDto;\r\n fileExtensions?: string[] | undefined;\r\n informationLink?: string | undefined;\r\n arrayItemsQuestions?: QuestionDto[] | undefined;\r\n cssClass?: string | undefined;\r\n isShown?: boolean;\r\n model?: any\r\n}\r\n\r\nexport interface RecapitulatifVersementDto {\r\n totalMontantPrevisionnel?: number;\r\n totalMontantRealise?: number;\r\n pourcentageRealise?: number;\r\n montantAccorde?: number;\r\n montantDejaVerse?: number | undefined;\r\n categorie?: string | undefined;\r\n aideEstimee?: number | undefined;\r\n}\r\n\r\nexport interface RemunerationDto {\r\n id?: string;\r\n categorieDossier?: CategorieDossierDto;\r\n critereDossier?: CritereDossierLightDto;\r\n emploi?: Groupe;\r\n typePrestation?: TypePrestation;\r\n styleMusical?: StyleMusicalDto;\r\n montantMinimum?: number;\r\n estSalaire?: boolean;\r\n}\r\n\r\nexport interface ResponsableDossierDto {\r\n civilite?: Civilite;\r\n nom?: string | undefined;\r\n prenom?: string | undefined;\r\n email?: string | undefined;\r\n telephoneFixe?: string | undefined;\r\n telephonePortable?: string | undefined;\r\n}\r\n\r\nexport interface SalaireDto {\r\n id?: string;\r\n montantBrut?: number;\r\n tauxChargesPatronales?: number;\r\n dates?: LieuDateDto[] | undefined;\r\n}\r\n\r\nexport interface SalarieDto {\r\n id?: string;\r\n nom?: string | undefined;\r\n prenom?: string | undefined;\r\n email?: string | undefined;\r\n adresse?: AdresseDto;\r\n dateNaissance?: Date;\r\n dateEmbauchePrevue?: Date;\r\n salaireBrut?: number;\r\n cv?: DocumentDto;\r\n diplome?: DocumentDto;\r\n conventionCollective?: string | undefined;\r\n equipements?: Equipements;\r\n autresEquipements?: string | undefined;\r\n typesAdresses?: TypesAdresses;\r\n autreAdresse?: AdresseDto;\r\n}\r\n\r\nexport interface SortTerm {\r\n sort?: string | undefined;\r\n readonly name?: string | undefined;\r\n readonly descending?: boolean;\r\n}\r\n\r\nexport enum StatutCommission {\r\n None = \"none\",\r\n Planifiee = \"planifiee\",\r\n Figee = \"figee\",\r\n EnCours = \"enCours\",\r\n EnAttenteCA = \"enAttenteCA\",\r\n CaEnCours = \"caEnCours\",\r\n Terminee = \"terminee\",\r\n}\r\n\r\nexport enum StatutDiscussion {\r\n None = \"none\",\r\n EnCours = \"enCours\",\r\n Termine = \"termine\",\r\n}\r\n\r\nexport enum StatutDossier {\r\n None = \"none\",\r\n Brouillon = \"brouillon\",\r\n SansSuite = \"sansSuite\",\r\n Soumis = \"soumis\",\r\n PrisEnCharge = \"prisEnCharge\",\r\n HorsCriteres = \"horsCriteres\",\r\n Renonciation = \"renonciation\",\r\n ProgrammeEnCommission = \"programmeEnCommission\",\r\n Refuse = \"refuse\",\r\n Accepte = \"accepte\",\r\n Solde = \"solde\",\r\n Reaffecte = \"reaffecte\",\r\n}\r\n\r\nexport enum StatutEnseignant {\r\n None = \"none\",\r\n Permanent = \"permanent\",\r\n Vacataire = \"vacataire\",\r\n}\r\n\r\nexport enum StatutGenerationPdf {\r\n None = \"none\",\r\n Pending = \"pending\",\r\n Done = \"done\",\r\n Failed = \"failed\",\r\n}\r\n\r\nexport enum StatutStructure {\r\n None = \"none\",\r\n Pending = \"pending\",\r\n Enabled = \"enabled\",\r\n Disabled = \"disabled\",\r\n Partial = \"partial\",\r\n}\r\n\r\nexport enum StatutVersement {\r\n None = \"none\",\r\n Brouillon = \"brouillon\",\r\n Soumis = \"soumis\",\r\n Modification = \"modification\",\r\n Valide = \"valide\",\r\n Verse = \"verse\",\r\n PriseEnCharge = \"priseEnCharge\",\r\n EnAttente = \"enAttente\",\r\n Reaffectation = \"reaffectation\"\r\n}\r\n\r\nexport interface StructureDetailsDto {\r\n id?: string;\r\n statut?: StatutStructure;\r\n siret?: string | undefined;\r\n raisonSociale?: string | undefined;\r\n codeAPE?: string | undefined;\r\n nomenclatureAPE?: string | undefined;\r\n formeJuridique?: FormeJuridiqueDto;\r\n informations?: string | undefined;\r\n codeLangue?: string | undefined;\r\n note?: number | undefined;\r\n notePro?: number | undefined;\r\n representantLegal?: ContactDto;\r\n adresse?: AdresseDto;\r\n correspondant?: ContactDto;\r\n adresseCorrespondance?: AdresseDto;\r\n donneesBancaires?: DonneesBancairesDto;\r\n documents?: DocumentWithValidationDto[] | undefined;\r\n requiredDocuments?: TypeDeDocumentDto[] | undefined;\r\n}\r\n\r\nexport interface StructureDto {\r\n id?: string;\r\n userId?: string;\r\n userName?: string | undefined;\r\n nom?: string | undefined;\r\n statut?: StatutStructure;\r\n codePostal?: string | undefined;\r\n date?: Date;\r\n dossiersCount?: number;\r\n}\r\n\r\nexport interface StructureLightDto {\r\n id?: string;\r\n statut?: StatutStructure;\r\n siret?: string | undefined;\r\n raisonSociale?: string | undefined;\r\n codeAPE?: string | undefined;\r\n codeSpectacleVivant?: string | undefined;\r\n nomenclatureAPE?: string | undefined;\r\n formeJuridique?: FormeJuridiqueDto;\r\n informations?: string | undefined;\r\n note?: number | undefined;\r\n notePro?: number | undefined;\r\n representantLegal?: ContactDto;\r\n adresse?: AdresseDto;\r\n correspondant?: ContactDto;\r\n adresseCorrespondance?: AdresseDto;\r\n donneesBancaires?: DonneesBancairesDto;\r\n}\r\n\r\nexport interface StructureSireneInfoDto {\r\n siret?: string | undefined;\r\n siren?: string | undefined;\r\n codeAPE?: string | undefined;\r\n nomenclatureAPE?: string | undefined;\r\n raisonSociale?: string | undefined;\r\n adresse?: AdresseDto;\r\n formeJuridique?: FormeJuridiqueDto;\r\n nomPresident?: string | undefined;\r\n telephoneFixe?: string | undefined;\r\n telephonePortable?: string | undefined;\r\n isRegisteredWithAdel?: boolean;\r\n}\r\n\r\nexport interface StructureValidationContactsDto {\r\n president?: ContactDto;\r\n adresse?: AdresseDto;\r\n correspondant?: ContactDto;\r\n adresseCorrespondance?: AdresseDto;\r\n}\r\n\r\nexport interface StyleMusicalDto {\r\n id?: string;\r\n code?: string | undefined;\r\n intitule?: { [key: string]: string; } | undefined;\r\n}\r\n\r\nexport interface TrajetDto {\r\n id?: string;\r\n etapes?: EtapeDto[] | undefined;\r\n artistes?: ArtisteLightDto[] | undefined;\r\n versementArtistes?: VersementArtisteLightDto[] | undefined;\r\n}\r\n\r\nexport interface TrajetDtoSortedFilteredPage {\r\n readonly actualCount?: number;\r\n readonly items?: TrajetDto[] | undefined;\r\n readonly number?: number;\r\n readonly requestedSize?: number;\r\n readonly totalPageCount?: number;\r\n readonly totalItemCount?: number;\r\n readonly disablePagination?: boolean;\r\n readonly hasPrevious?: boolean;\r\n readonly previousPageNumber?: number | undefined;\r\n readonly hasNext?: boolean;\r\n readonly nextPageNumber?: number | undefined;\r\n readonly isFirst?: boolean;\r\n readonly isLast?: boolean;\r\n readonly sortTerms?: SortTerm[] | undefined;\r\n readonly filterTerms?: FilterTerm[] | undefined;\r\n}\r\n\r\nexport interface TrajetValidationDto {\r\n dossierWithoutTrajet?: boolean;\r\n trajetWithoutArtiste?: boolean;\r\n noTrajetFromAimableToAimable?: boolean;\r\n}\r\n\r\nexport interface TrajetViewModelDto {\r\n trajets?: TrajetDtoSortedFilteredPage;\r\n document?: DocumentDto;\r\n}\r\n\r\nexport enum TypeContrat {\r\n None = \"none\",\r\n Cdi = \"cdi\",\r\n Cdd = \"cdd\",\r\n Cdii = \"cdii\",\r\n Autre = \"autre\",\r\n}\r\n\r\nexport interface TypeDeDocumentDto {\r\n id?: string;\r\n code?: string | undefined;\r\n nom?: { [key: string]: string; } | undefined;\r\n hasAttachment?: boolean;\r\n isRequired?: boolean;\r\n isRequiredInVersement?: boolean;\r\n /** ISO 8601 duration */\r\n expirationPeriod?: string | undefined;\r\n expirationRelativeTo?: string | undefined;\r\n hasChoix?: boolean;\r\n isChoix?: boolean;\r\n scope?: DocumentScope;\r\n canBeDeleted?: boolean;\r\n choix?: TypeDeDocumentDto[] | undefined;\r\n extraInfos?: TypeDeDocumentExtraInfoDto[] | undefined;\r\n selectedNom?: { [key: string]: string; } | undefined;\r\n}\r\n\r\nexport interface TypeDeDocumentExtraInfoDto {\r\n code?: string | undefined;\r\n nom?: { [key: string]: string; } | undefined;\r\n valueType?: TypeDeDocumentExtraInfoValueType;\r\n isRequired?: boolean;\r\n}\r\n\r\nexport enum TypeDeDocumentExtraInfoValueType {\r\n String = \"string\",\r\n Date = \"date\",\r\n}\r\n\r\nexport enum TypeDepense {\r\n None = \"none\",\r\n Autre = \"autre\",\r\n BudgetPrevisionnelDepenses = \"budgetPrevisionnelDepenses\",\r\n SalaireAutrePersonnel = \"salaireAutrePersonnel\",\r\n AutresDepenses = \"autresDepenses\",\r\n BudgetRepetitionsEtEnregistrements = \"budgetRepetitionsEtEnregistrements\",\r\n BudgetScenique = \"budgetScenique\",\r\n Promotion = \"promotion\",\r\n Salles = \"salles\",\r\n FraisDeplacement = \"fraisDeplacement\",\r\n ContratsVenteEtAutreSalairePersonnel = \"contratsVenteEtAutreSalairePersonnel\",\r\n AutreMasseSalariale = \"autreMasseSalariale\",\r\n FraisDePersonnel = \"fraisDePersonnel\",\r\n AutresFraisDePersonnel = \"autresFraisDePersonnel\",\r\n ServicesExterieurs = \"servicesExterieurs\",\r\n ImpotsTaxes = \"impotsTaxes\",\r\n FraisDeRealisationDuDocumentDePromotion = \"fraisDeRealisationDuDocumentDePromotion\",\r\n Droits = \"droits\",\r\n BudgetPrevisionnelAnnulations = \"budgetPrevisionnelAnnulations\",\r\n}\r\n\r\nexport enum TypeFinancement {\r\n None = \"none\",\r\n Autre = \"autre\",\r\n RecettesPropres = \"recettesPropres\",\r\n FinancementPublic = \"financementPublic\",\r\n SubventionsOrganismesProfessionnels = \"subventionsOrganismesProfessionnels\",\r\n SubventionsEtatCollectivitesTerritoriales = \"subventionsEtatCollectivitesTerritoriales\",\r\n}\r\n\r\nexport enum TypePoste {\r\n None = \"none\",\r\n Administrateur = \"administrateur\",\r\n Tresorier = \"tresorier\",\r\n SecretaireAdministratif = \"secretaireAdministratif\",\r\n Directeur = \"directeur\",\r\n President = \"president\",\r\n Gerant = \"gerant\",\r\n}\r\n\r\nexport enum TypePrestation {\r\n None = \"none\",\r\n Repetition = \"repetition\",\r\n Enregistrement = \"enregistrement\",\r\n Representation = \"representation\",\r\n Diffusion = \"diffusion\",\r\n Concert = \"concert\",\r\n}\r\n\r\nexport enum TypesAdresses {\r\n None = \"none\",\r\n AdresseSiege = \"adresseSiege\",\r\n AdressePersonnelle = \"adressePersonnelle\",\r\n Autre = \"autre\",\r\n}\r\n\r\nexport enum TypeTransport {\r\n None = \"none\",\r\n Voiture = \"voiture\",\r\n Train = \"train\",\r\n Avion = \"avion\",\r\n}\r\n\r\nexport enum TypeVersement {\r\n None = \"none\",\r\n Acompte = \"acompte\",\r\n Solde = \"solde\",\r\n Complet = \"complet\",\r\n Complementaire = \"complementaire\",\r\n}\r\n\r\nexport interface Unit {\r\n}\r\n\r\nexport interface UpdateArtisteDto {\r\n nom?: string | undefined;\r\n prenom?: string | undefined;\r\n email?: string | undefined;\r\n lieuHabitation?: string | undefined;\r\n siteInternet?: string | undefined;\r\n emploi?: Emploi;\r\n styleMusicalId?: string | undefined;\r\n instrumentId?: string | undefined;\r\n artistePrincipal?: boolean;\r\n formation?: string | undefined;\r\n isGenerationSpedidam?: boolean;\r\n isAssociated?: boolean;\r\n isTitulaire?: boolean;\r\n isEngagementDirect?: boolean;\r\n cachets?: UpdateCachetDto[] | undefined;\r\n salaires?: UpdateSalaireDto[] | undefined;\r\n}\r\n\r\nexport interface UpdateCachetDto {\r\n id?: string | undefined;\r\n lieuDateIds?: string[] | undefined;\r\n montantBrut?: number;\r\n tauxChargesPatronales?: number;\r\n count?: number;\r\n}\r\n\r\nexport interface UpdateContactDto {\r\n poste?: TypePoste;\r\n civilite?: Civilite;\r\n nom?: string | undefined;\r\n prenom?: string | undefined;\r\n email?: string | undefined;\r\n telephoneFixe?: string | undefined;\r\n telephonePortable?: string | undefined;\r\n}\r\n\r\nexport interface UpdateDepenseDto {\r\n id?: string | undefined;\r\n intitule?: string | undefined;\r\n commentaire?: string | undefined;\r\n type?: TypeDepense;\r\n champ?: ChampDepense;\r\n montant?: number;\r\n montantRealise?: number | undefined;\r\n confirmationMontant?: boolean | undefined;\r\n document?: DocumentUploadInfoDto;\r\n}\r\n\r\nexport interface UpdateEnseignantRemunerationDto {\r\n id?: string;\r\n remunerationPremierTrimestre?: number;\r\n justificatifRemuneration?: DocumentUploadInfoDto;\r\n}\r\n\r\nexport interface UpdateFinancementDto {\r\n id?: string | undefined;\r\n intitule?: string | undefined;\r\n commentaire?: string | undefined;\r\n type?: TypeFinancement;\r\n champ?: ChampFinancement;\r\n montant?: number;\r\n confirmationMontant?: boolean | undefined;\r\n document?: DocumentUploadInfoDto;\r\n}\r\n\r\nexport interface UpdateLieuDto {\r\n adresseId?: string | undefined;\r\n adresseLabel?: string | undefined;\r\n departement?: string | undefined;\r\n ville?: string | undefined;\r\n paysId?: string;\r\n adresse?: string | undefined;\r\n nomLieu?: string | undefined;\r\n jauge?: number | undefined;\r\n dates?: LieuDateDto[] | undefined;\r\n typePrestation?: TypePrestation;\r\n description?: string;\r\n}\r\n\r\nexport interface UpdateSalaireDto {\r\n id?: string | undefined;\r\n lieuDateIds?: string[] | undefined;\r\n montantBrut?: number;\r\n tauxChargesPatronales?: number;\r\n}\r\n\r\nexport interface UpdateStructureAdresseDto {\r\n codeLangue?: string | undefined;\r\n parDefaut?: boolean;\r\n autre?: CreateOrUpdateAdresseDto;\r\n}\r\n\r\nexport interface UpdateStructureContactDto {\r\n parDefaut?: boolean;\r\n autre?: UpdateContactDto;\r\n}\r\n\r\nexport interface UpdateStructureInformationsDto {\r\n informations?: string | undefined;\r\n}\r\n\r\nexport interface UpdateStructureJuridiqueDto {\r\n raisonSociale?: string | undefined;\r\n siret?: string | undefined;\r\n nomResponsable?: string | undefined;\r\n prenomResponsable?: string | undefined;\r\n telephoneFixe?: string | undefined;\r\n telephonePortable?: string | undefined;\r\n emailResponsable?: string | undefined;\r\n adresse?: CreateOrUpdateAdresseDto;\r\n formeJuridique?: FormeJuridiqueDto;\r\n codeAPE?: string | undefined;\r\n}\r\n\r\nexport interface UpdateStructureValidationContactsDto {\r\n president?: UpdateContactDto;\r\n adresse?: CreateOrUpdateAdresseDto;\r\n correspondant?: UpdateContactDto;\r\n adresseCorrespondance?: CreateOrUpdateAdresseDto;\r\n}\r\n\r\nexport interface UpdateVersementArtisteDocumentDto {\r\n id?: string;\r\n bulletin?: DocumentUploadInfoDto;\r\n contrat?: DocumentUploadInfoDto;\r\n}\r\n\r\nexport interface UpdateVersementCommentaireDto {\r\n commentaire?: string | undefined;\r\n}\r\n\r\nexport interface VersementArtisteDto {\r\n id?: string;\r\n nom?: string | undefined;\r\n prenom?: string | undefined;\r\n email?: string | undefined;\r\n lieuHabitation?: string | undefined;\r\n dateTravaillees?: string | undefined;\r\n totalSalairesBruts?: number;\r\n totalCharges?: number;\r\n emploi?: Emploi;\r\n styleMusical?: StyleMusicalDto;\r\n instrument?: InstrumentDto;\r\n isTitulaire?: boolean;\r\n createdAt?: Date;\r\n lastModifiedAt?: Date | undefined;\r\n contrat?: DocumentWithValidationDto;\r\n bulletin?: DocumentWithValidationDto;\r\n datesTravailles?: Date[] | undefined;\r\n}\r\n\r\nexport interface VersementArtisteLightDto {\r\n id?: string;\r\n artisteId?: string | undefined;\r\n nom?: string | undefined;\r\n prenom?: string | undefined;\r\n fullName?: string | undefined;\r\n email?: string | undefined;\r\n lieuHabitation?: string | undefined;\r\n emploi?: Emploi;\r\n isTitulaire?: boolean;\r\n}\r\n\r\nexport interface VersementArtisteLightDtoSortedFilteredPage {\r\n readonly actualCount?: number;\r\n readonly items?: VersementArtisteLightDto[] | undefined;\r\n readonly number?: number;\r\n readonly requestedSize?: number;\r\n readonly totalPageCount?: number;\r\n readonly totalItemCount?: number;\r\n readonly disablePagination?: boolean;\r\n readonly hasPrevious?: boolean;\r\n readonly previousPageNumber?: number | undefined;\r\n readonly hasNext?: boolean;\r\n readonly nextPageNumber?: number | undefined;\r\n readonly isFirst?: boolean;\r\n readonly isLast?: boolean;\r\n readonly sortTerms?: SortTerm[] | undefined;\r\n readonly filterTerms?: FilterTerm[] | undefined;\r\n}\r\n\r\nexport interface VersementDto {\r\n id?: string;\r\n statutVersement?: StatutVersement;\r\n typeVersement?: TypeVersement;\r\n modeVersement?: ModeVersement;\r\n createdAt?: Date;\r\n dateSoumission?: Date | undefined;\r\n dateDerniereSoumission?: Date | undefined;\r\n dossierId?: string;\r\n}\r\n\r\nexport interface VersementDtoSortedFilteredPage {\r\n readonly actualCount?: number;\r\n readonly items?: VersementDto[] | undefined;\r\n readonly number?: number;\r\n readonly requestedSize?: number;\r\n readonly totalPageCount?: number;\r\n readonly totalItemCount?: number;\r\n readonly disablePagination?: boolean;\r\n readonly hasPrevious?: boolean;\r\n readonly previousPageNumber?: number | undefined;\r\n readonly hasNext?: boolean;\r\n readonly nextPageNumber?: number | undefined;\r\n readonly isFirst?: boolean;\r\n readonly isLast?: boolean;\r\n readonly sortTerms?: SortTerm[] | undefined;\r\n readonly filterTerms?: FilterTerm[] | undefined;\r\n}\r\n\r\nexport enum ProblemDetailsCode {\r\n Unknown = \"unknown\",\r\n InvalidParameters = \"invalidParameters\",\r\n PreconditionFailed = \"preconditionFailed\",\r\n AccessDenied = \"accessDenied\",\r\n Unauthorized = \"unauthorized\",\r\n Forbidden = \"forbidden\",\r\n EntityNotFound = \"entityNotFound\",\r\n EmailingServiceUnavailable = \"emailingServiceUnavailable\",\r\n SiretNotFound = \"siretNotFound\",\r\n MissingDocument = \"missingDocument\",\r\n MissingDocumentExtraInfo = \"missingDocumentExtraInfo\",\r\n InvalidDocument = \"invalidDocument\",\r\n InvalidDocumentExtraInfoValue = \"invalidDocumentExtraInfoValue\",\r\n DocumentExpired = \"documentExpired\",\r\n InvalidLanguage = \"invalidLanguage\",\r\n CannotResetStatutStructure = \"cannotResetStatutStructure\",\r\n CannotModifyActiveCritereDossier = \"cannotModifyActiveCritereDossier\",\r\n CannotDeleteNonEmptyCategory = \"cannotDeleteNonEmptyCategory\",\r\n EntityAlreadyExists = \"entityAlreadyExists\",\r\n EntitiesNotFound = \"entitiesNotFound\",\r\n StructurePending = \"structurePending\",\r\n StructureDisabled = \"structureDisabled\",\r\n InvalidPrestation = \"invalidPrestation\",\r\n CategorieDossierQuotaExceeded = \"categorieDossierQuotaExceeded\",\r\n ForbiddenCategorieDossier = \"forbiddenCategorieDossier\",\r\n NotImplemented = \"notImplemented\",\r\n BudgetNotBalanced = \"budgetNotBalanced\",\r\n MontantAideMustBeInferior = \"montantAideMustBeInferior\",\r\n MontantAideMustBeSuperior = \"montantAideMustBeSuperior\",\r\n MontantAideMustBeInferiorOrEqual = \"montantAideMustBeInferiorOrEqual\",\r\n MontantDepenseMustBeInferior = \"montantDepenseMustBeInferior\",\r\n MontantDepenseMustBeSuperiorOrEqualException = \"montantDepenseMustBeSuperiorOrEqualException\",\r\n MontantFinancementMustBeInferior = \"montantFinancementMustBeInferior\",\r\n MontantFinancementMustBeSuperiorOrEqual = \"montantFinancementMustBeSuperiorOrEqual\",\r\n InvalidAnswers = \"invalidAnswers\",\r\n AdresseNotFound = \"adresseNotFound\",\r\n MissingFile = \"missingFile\",\r\n InvalidIban = \"invalidIban\",\r\n MinimumRemuneration = \"minimumRemuneration\",\r\n InvalidStatutDossierChange = \"invalidStatutDossierChange\",\r\n CannotUpdateDossier = \"cannotUpdateDossier\",\r\n CannotDeleteDossier = \"cannotDeleteDossier\",\r\n CannotDeleteVersement = \"cannotDeleteVersement\",\r\n MaximumDates = \"maximumDates\",\r\n MaxRangeBetweenDatesExceeded = \"maxRangeBetweenDatesExceeded\",\r\n DateCAMustBeSuperiorToDateDebutCommission = \"dateCAMustBeSuperiorToDateDebutCommission\",\r\n DateFinMustBeSuperiorToDateDebutCommission = \"dateFinMustBeSuperiorToDateDebutCommission\",\r\n DateFinSoumissionMustBeInferiorToDateDebutCommission = \"dateFinSoumissionMustBeInferiorToDateDebutCommission\",\r\n DateDebutDossierMustBeSuperiorToDateFinCommission = \"dateDebutDossierMustBeSuperiorToDateFinCommission\",\r\n CommissionWithSameDateDebutExistsException = \"commissionWithSameDateDebutExistsException\",\r\n CannotUpdateCommissionWithDossiersException = \"cannotUpdateCommissionWithDossiersException\",\r\n EmailAlreadyUsed = \"emailAlreadyUsed\",\r\n InvalidStatutCommission = \"invalidStatutCommission\",\r\n InvalidStatutDossierToChangeCommission = \"invalidStatutDossierToChangeCommission\",\r\n CannotUpdateCommissionStatut = \"cannotUpdateCommissionStatut\",\r\n CannotOpenCommission = \"cannotOpenCommission\",\r\n CannotPrendreEnchargeDossier = \"cannotPrendreEnchargeDossier\",\r\n CannotPrendreEnchargeDemandeVersement = \"cannotPrendreEnchargeDemandeVersement\",\r\n DossiersNonValideEnCommission = \"dossiersNonValideEnCommission\",\r\n CommissionsMembersAreNotSet = \"commissionsMembersAreNotSet\",\r\n DateFinSoumissionMustBePassed = \"dateFinSoumissionMustBePassed\",\r\n MinCachetRequired = \"minCachetRequired\",\r\n PeriodStartDateShouldBeAfterCommissionEnding = \"periodStartDateShouldBeAfterCommissionEnding\",\r\n DateEmbaucheIsNotValid = \"dateEmbaucheIsNotValid\",\r\n DossierIsNotValid = \"dossierIsNotValid\",\r\n CannotRenounceDossier = \"cannotRenounceDossier\",\r\n InvalidBordereauStatus = \"invalidBordereauStatus\",\r\n BordereauAmendableMaxExceeded = \"bordereauAmendableMaxExceeded\",\r\n CannotCloseBordereau = \"cannotCloseBordereau\",\r\n CannotArchiveBordereau = \"cannotArchiveBordereau\",\r\n InvalidOperation = \"invalidOperation\",\r\n CannotDeleteMouvementBordereauVerse = \"cannotDeleteMouvementBordereauVerse\",\r\n CannotDeleteMouvementBordereau = \"cannotDeleteMouvementBordereau\",\r\n BordereauStillAmendable = \"bordereauStillAmendable\",\r\n BordereauReaffectationStillAmendable = \"bordereauReaffectationStillAmendable\",\r\n CannotFigerCommissionWithOutstandingDossiers = \"cannotFigerCommissionWithOutstandingDossiers\",\r\n CannotProgrammerEnCommissionDossierCommissionClosed = \"cannotProgrammerEnCommissionDossierCommissionClosed\",\r\n CannotProgrammerEnCommissionDossierCACommissionClosed = \"cannotProgrammerEnCommissionDossierCACommissionClosed\",\r\n CannotUpdateCommissionContent = \"cannotUpdateCommissionContent\",\r\n CannotUpdateCommissionCAContent = \"cannotUpdateCommissionCAContent\",\r\n CannotCreateCritereDossierOnCommissionSpecifique = \"cannotCreateCritereDossierOnCommissionSpecifique\",\r\n InvalidDate = \"invalidDate\",\r\n}\r\n\r\nexport interface AdditionalDetails {\r\n}\r\n\r\nexport interface FileParameter {\r\n data: any;\r\n fileName: string;\r\n}\r\n\r\nexport class ApiException extends Error {\r\n message: string;\r\n status: number;\r\n response: string;\r\n headers: { [key: string]: any; };\r\n result: any;\r\n\r\n constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {\r\n super();\r\n\r\n this.message = message;\r\n this.status = status;\r\n this.response = response;\r\n this.headers = headers;\r\n this.result = result;\r\n }\r\n\r\n protected isApiException = true;\r\n\r\n static isApiException(obj: any): obj is ApiException {\r\n return obj.isApiException === true;\r\n }\r\n}\r\n\r\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): any {\r\n if (result !== null && result !== undefined)\r\n throw result;\r\n else\r\n throw new ApiException(message, status, response, headers, null);\r\n}\r\n\r\nfunction isAxiosError(obj: any | undefined): obj is AxiosError {\r\n return obj && obj.isAxiosError === true;\r\n}\r\n\r\nfunction appendFileDictionary(formData: FormData, documents: any) {\r\n throw new Error('Function not implemented.');\r\n}\r\n","import { Context } from \"./context\";\nimport SignupStep from \"./SignupSteps\";\nimport { Civilite, TypePoste } from '../services/generated/FrontOffice-api';\n\nexport const defaultContextValue: Context.IContext = {\n\tuser: {},\n\tstructure: {\n\t\tsiret: \"\"\n\t},\n\tsignupStepOne: {\n\t\tadresse: \"\",\n\t\tline2: \"\",\n\t\tcodePostal: \"\",\n\t\tville: \"\",\n\t\temail: \"\",\n\t\tcivilite: Civilite.Monsieur,\n\t\tformeJuridique: {\n\t\t\tid: \"\",\n\t\t\tcode: \"\",\n\t\t\tnom: \"\"\n\t\t},\n\t\tpresidentPrenom: \"\",\n\t\tpresidentNom: \"\",\n\t\traisonSociale: \"\",\n\t\tsiret: \"\",\n\t\tcodeAPE: \"\",\n\t\tnomenclatureAPE: \"\",\n\t\tisValidated: false,\n\t\tformeJuridiqueReadOnly: true\n\t},\n\tsignupStepTwo: {\n\t},\n\tsignupStepThree: {\n\t\tbanque: \"\",\n\t\tbic: \"\",\n\t\tcodePostal: \"\",\n\t\tline1: \"\",\n\t\tline2: \"\",\n\t\tiban: \"\",\n\t\tpays: \"\",\n\t\true: \"\",\n\t\tville: \"\",\n\t\tisValidated: false\n\t},\n\tsignupStepFour: {\n\t\thasCorrespondantParDefaut: true,\n\t\tcivilite: Civilite.Monsieur,\n\t\temail: \"\",\n\t\tnom: \"\",\n\t\tposte: TypePoste.Administrateur,\n\t\tprenom: \"\"\n\t},\n\tsignupStepFive: {\n\t\thasAdresseParDefaut: true,\n\t\tcodePostal: \"\",\n\t\true: \"\",\n\t\tcomplementAdresse: \"\",\n\t\tville: \"\",\n\t\tcodeLangue: \"fr\"\n\t},\n\tsignupStepSix: {\n\t\tfiles: [],\n\t},\n\tsignupStepSeven: {\n\t\temail: null,\n\t\tstructureId: null,\n\t\tnewEmail: null\n\t},\n\tsignupHighestStep: SignupStep.One,\n\tformesJuridiques: [],\n\terror: {\n\t\ttype: \"\"\n\t},\n\tcanCreateStructure: false,\n\tcreationDossierAnswers: {},\n\tcreationDossierResponsable: {},\n\tdossierStates:{},\n\tcurrentEditingDossier: { id: \"\", nom: \"\", categorieId: \"\", categorieCode: \"\", numero: \"\"},\n\tdossierToDelete: {\n\t\tdossierId: \"\",\n\t\tisLoading: false\n\t},\n\tdossiersNeedRefresh: false,\n\tdossiers: {},\n\tnoDossiersMessage: 'Aucun dossier pour le moment.',\n\tversementStates: {},\n\tcurrentEditingVersement: {\n\t\tid: \"default\",\n\t\ttype: null,\n\t\tdossierId: \"\",\n\t\toriginalDossierId: \"\"\n\t},\n\tpagesVitrine: []\n};\n\nexport default function InitializeContextFromStorageOrDefault(): Context.IContext {\n\tif (!localStorage) return defaultContextValue;\n\n\tlet contextJSON = localStorage.getItem('adelcontext');\n\tif (!contextJSON) return defaultContextValue;\n\n\tlet context = (JSON.parse(contextJSON) as Context.IContext);\n\tif (!context) return defaultContextValue;\n\n\treturn context;\n}\n","import { Context, DispatchAction } from \"./context\";\nimport {\n\tActionTypeEnum,\n\tCanCreateStructure,\n\tErrorOccurredAction,\n\tSetSignupHighestStepAction,\n\tSetSignupStepFiveAction,\n\tSetSignupStepFourAction,\n\tSetSignupStepOneAction,\n\tSetSignupStepSevenAction,\n\tSetSignupStepSixAction,\n\tSetSignupStepSixActionDocumentDate,\n\tSetSignupStepSixActionDocumentFile,\n\tSetSignupStepSixActionDocumentExtraInfo,\n\tSetSignupStepThreeAction,\n\tSetSignupStepTwoAction,\n\tSetUserAction,\n\tUpdateStructureAction,\n\tUpdateStructureInfosAction,\n\tCreateDossierSuccessOrUpdateAction,\n\tEditDossierAction,\n\tDeleteDossierSuccessAction,\n\tCreateVersementSuccessOrUpdateAction,\n\tEditVersementAction,\n\tUpdateStructureAddressAction,\n\tSetPagesVitrineAction,\n\tSetSignupStepSixActionDocumentType,\n\tSetDossiersListAction,\n\tSearchDossiersAction\n} from './ActionType';\nimport { defaultContextValue } from \"./InitializeContextFromStorage\";\n\n/**\n * The app context reducer function.\n *\n * @param {Context.IContext} state The previous state value.\n * @param {DispatchAction} dispatchedAction The action.\n * @returns {Context.IContext} The updated state.\n */\nconst appReducer = (state: Context.IContext, dispatchedAction: DispatchAction): Context.IContext => {\n\tswitch (dispatchedAction.type) {\n\t\tcase ActionTypeEnum.UPDATE_STRUCTURE:\n\t\t\treturn { ...state, structure: (dispatchedAction as UpdateStructureAction).payload };\n\t\tcase ActionTypeEnum.UPDATE_STRUCTURE_INFOS:\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tstructure: {\n\t\t\t\t\t...state.structure,\n\t\t\t\t\tinformations: (dispatchedAction as UpdateStructureInfosAction).payload.informations\n\t\t\t\t}\n\t\t\t};\n\t\tcase ActionTypeEnum.UPDATE_STRUCTURE_ADDRESS:\n\t\t\tconst payloadAddress = (dispatchedAction as UpdateStructureAddressAction).payload;\n\t\t\treturn { ...state, structure: {\n\t\t\t\t...state.structure,\n\t\t\t\tadresseCorrespondance: !payloadAddress.parDefaut ? payloadAddress.autre : null,\n\t\t\t\tcodeLangue: payloadAddress.codeLangue\n\t\t\t}};\n\t\tcase ActionTypeEnum.SET_USER:\n\t\t\treturn { ...state, user: (dispatchedAction as SetUserAction).payload }\n\t\tcase ActionTypeEnum.UNSET_USER:\n\t\t\treturn { ...state, user: {} }\n\t\tcase ActionTypeEnum.LOGOUT_USER:\n\t\t\treturn defaultContextValue;\n\t\tcase ActionTypeEnum.SET_SIGNUP_STEP_ONE:\n\t\t\treturn { ...state, signupStepOne: (dispatchedAction as SetSignupStepOneAction).payload }\n\t\tcase ActionTypeEnum.SET_SIGNUP_STEP_TWO:\n\t\t\treturn { ...state, signupStepTwo: (dispatchedAction as SetSignupStepTwoAction).payload }\n\t\tcase ActionTypeEnum.SET_SIGNUP_STEP_THREE:\n\t\t\treturn { ...state, signupStepThree: (dispatchedAction as SetSignupStepThreeAction).payload }\n\t\tcase ActionTypeEnum.SET_SIGNUP_STEP_FOUR:\n\t\t\treturn { ...state, signupStepFour: (dispatchedAction as SetSignupStepFourAction).payload }\n\t\tcase ActionTypeEnum.SET_SIGNUP_STEP_FIVE:\n\t\t\treturn { ...state, signupStepFive: (dispatchedAction as SetSignupStepFiveAction).payload }\n\t\tcase ActionTypeEnum.SET_SIGNUP_STEP_SIX:\n\t\t\treturn { ...state, signupStepSix: (dispatchedAction as SetSignupStepSixAction).payload }\n\t\tcase ActionTypeEnum.SET_SIGNUP_STEP_SIX_DOCUMENT_DATE: {\n\t\t\tconst { typeDocument, extraInfoCode, dateValue } = (dispatchedAction as SetSignupStepSixActionDocumentDate).payload;\n\t\t\tconst files = [...state.signupStepSix.files];\n\t\t\tconst documentIndex = files.findIndex(x => x.code === typeDocument.code);\n\n\t\t\tif(documentIndex < 0) {\n\t\t\t\tfiles.push({\n\t\t\t\t\tcode: typeDocument.code,\n\t\t\t\t\ttypeId: typeDocument.id,\n\t\t\t\t\textraInfos: {\n\t\t\t\t\t\t[extraInfoCode]: dateValue\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tif(!files[documentIndex].extraInfos) {\n\t\t\t\t\tfiles[documentIndex].extraInfos = {};\n\t\t\t\t}\n\n\t\t\t\tfiles[documentIndex].extraInfos[extraInfoCode] = dateValue;\n\t\t\t}\n\t\t\t\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tsignupStepSix: {files}\n\t\t\t};\n\t\t}\n\t\tcase ActionTypeEnum.SET_SIGNUP_STEP_SIX_DOCUMENT_FILE: {\n\t\t\tconst { typeDocument, fileValue } = (dispatchedAction as SetSignupStepSixActionDocumentFile).payload;\n\t\t\tconst files = [...state.signupStepSix.files];\n\t\t\tconst documentIndex = files.findIndex(x => x.code === typeDocument.code);\n\n\t\t\tif(documentIndex < 0) {\n\t\t\t\tfiles.push({\n\t\t\t\t\tcode: typeDocument.code,\n\t\t\t\t\ttypeId: typeDocument.id,\n\t\t\t\t\tfile: fileValue\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tfiles[documentIndex].file = fileValue;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tsignupStepSix: {files}\n\t\t\t};\n\t\t}\n\t\t\n\t\tcase ActionTypeEnum.SET_SIGNUP_STEP_SIX_DOCUMENT_TYPE: {\n\t\t\tconst { typeDocument, value } = (dispatchedAction as SetSignupStepSixActionDocumentType).payload;\n\t\t\tconst files = [...state.signupStepSix.files];\n\t\t\tconst documentIndex = files.findIndex(x => x.code === typeDocument.code);\n\n\t\t\tif(documentIndex < 0) {\n\t\t\t\tfiles.push({\n\t\t\t\t\tcode: typeDocument.code,\n\t\t\t\t\ttypeId: typeDocument.id,\n\t\t\t\t\ttypeDeDocumentSelected: value\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tfiles[documentIndex].typeDeDocumentSelected = value;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tsignupStepSix: {files}\n\t\t\t};\n\t\t}\n\t\tcase ActionTypeEnum.SET_SIGNUP_STEP_SIX_DOCUMENT_EXTRA_INFO: {\n\t\t\tconst { typeDocument, extraInfoCode, value } = (dispatchedAction as SetSignupStepSixActionDocumentExtraInfo).payload;\n\t\t\tconst files = [...state.signupStepSix.files];\n\t\t\tconst documentIndex = files.findIndex(x => x.code === typeDocument.code);\n\n\t\t\tif(documentIndex < 0) {\n\t\t\t\tfiles.push({\n\t\t\t\t\tcode: typeDocument.code,\n\t\t\t\t\ttypeId: typeDocument.id,\n\t\t\t\t\textraInfos: {\n\t\t\t\t\t\t[extraInfoCode]: value\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tif(!files[documentIndex].extraInfos) {\n\t\t\t\t\tfiles[documentIndex].extraInfos = {};\n\t\t\t\t}\n\n\t\t\t\tfiles[documentIndex].extraInfos[extraInfoCode] = value;\n\t\t\t}\n\t\t\t\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tsignupStepSix: {files}\n\t\t\t};\n\t\t}\n\t\tcase ActionTypeEnum.SET_SIGNUP_STEP_SEVEN:\n\t\t\treturn { ...state, signupStepSeven: (dispatchedAction as SetSignupStepSevenAction).payload }\n\t\tcase ActionTypeEnum.SET_SIGNUP_HIGHEST_STEP:\n\t\t\treturn { ...state, signupHighestStep: (dispatchedAction as SetSignupHighestStepAction).payload }\n\t\tcase ActionTypeEnum.ERROR_OCCURRED:\n\t\t\treturn { ...state, error: (dispatchedAction as ErrorOccurredAction).payload };\n\t\tcase ActionTypeEnum.CAN_CREATE_STRUCTURE:\n\t\t\treturn { ...state, canCreateStructure: (dispatchedAction as CanCreateStructure).payload };\n\t\tcase ActionTypeEnum.REINIT_TOASTER:\n\t\t\treturn { ...state, error: { type: \"\" } };\n\t\tcase ActionTypeEnum.START_NEW_DOSSIER_CREATION: \n\t\t\treturn { ...state, currentEditingDossier: {id: \"\", categorieId: \"\", categorieCode: \"\", nom: \"\", numero: \"\"} }\n\t\tcase ActionTypeEnum.CREATE_DOSSIER_REQUEST: return { ...state }\n\t\tcase ActionTypeEnum.CREATE_DOSSIER_SUCCESS:\n\t\tcase ActionTypeEnum.UPDATE_DOSSIER_STATE:\n\t\t\tlet payload = (dispatchedAction as CreateDossierSuccessOrUpdateAction).payload;\n\t\t\tlet newDossierStates = { ...state.dossierStates };\n\t\t\tnewDossierStates[payload.dossierId] = payload.state;\n\t\t\treturn { ...state, dossierStates: newDossierStates, \n\t\t\t\t\t\t\tcurrentEditingDossier: {id: payload.dossierId, categorieId: payload.categorieId, categorieCode: payload.categorieCode } }\n\t\tcase ActionTypeEnum.EDIT_DOSSIER: \n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tcreationDossierResponsable: {},\n\t\t\t\tcreationDossierAnswers: {},\n\t\t\t\tcurrentEditingDossier: {\n\t\t\t\t\tid: (dispatchedAction as EditDossierAction).payload.dossierId,\n\t\t\t\t\tcategorieId: (dispatchedAction as EditDossierAction).payload.categorieId,\n\t\t\t\t\tcategorieCode: (dispatchedAction as EditDossierAction).payload.categorieCode,\n\t\t\t\t\tnom: (dispatchedAction as EditDossierAction).payload.nom,\n\t\t\t\t\tnumero: (dispatchedAction as EditDossierAction).payload.numero,\n\t\t\t\t}\n\t\t\t}\n\t\tcase ActionTypeEnum.DELETE_DOSSIER_REQUEST: return { ...state, dossierToDelete: { ...state.dossierToDelete, isLoading: true } }\n\t\tcase ActionTypeEnum.DELETE_DOSSIER_SUCCESS:\n\t\t\tlet dossierIdToDelete = (dispatchedAction as DeleteDossierSuccessAction).payload.dossierId;\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tdossierToDelete: { dossierId: \"\", isLoading: false },\n\t\t\t\tdossiersNeedRefresh: true,\n\t\t\t\t// VFA: Needed to remove an entry from a Dictionary in TypeScript ?\n\t\t\t\tdossierStates: Object.fromEntries(Object.entries(state.dossierStates).filter((entry) => { if (entry[0] !== dossierIdToDelete) return true; }))\n\t\t\t};\n\t\tcase ActionTypeEnum.DOSSIER_REFRESHED: return { ...state, dossiersNeedRefresh: false };\n\n\t\tcase ActionTypeEnum.SET_DOSSIERS_LIST_SUCCESS: return {\n\t\t\t...state,\n\t\t\tdossiers: (dispatchedAction as SetDossiersListAction).payload.dossiers,\n\t\t\tnoDossiersMessage: 'Aucun dossier pour le moment.'\n\t\t};\n\n\t\tcase ActionTypeEnum.SEARCH_DOSSIERS_SUCCESS: return {\n\t\t\t...state,\n\t\t\tdossiers: (dispatchedAction as SearchDossiersAction).payload.dossiers,\n\t\t\tnoDossiersMessage: 'Aucun résultat ne correspond à votre recherche.'\n\t\t};\n\n\t\t/** VERSEMENTS */\n\t\tcase ActionTypeEnum.START_NEW_VERSEMENT_CREATION: return {\n\t\t\t...state,\n\t\t\tcurrentEditingVersement: {\n\t\t\t\tid: \"\",\n\t\t\t\ttype: null,\n\t\t\t\tdossierId: \"\",\n\t\t\t\toriginalDossierId: \"\"\n\t\t\t}\n\t\t}\n\t\tcase ActionTypeEnum.CREATE_VERSEMENT_REQUEST: return { ...state }\n\t\tcase ActionTypeEnum.CREATE_VERSEMENT_SUCCESS:\n\t\tcase ActionTypeEnum.UPDATE_VERSEMENT_STATE:\n\t\t\tlet payloadVersement = (dispatchedAction as CreateVersementSuccessOrUpdateAction).payload;\n\t\t\tlet newVersementStates = { ...state.versementStates };\n\t\t\tnewVersementStates[payloadVersement.versementId] = payloadVersement.state;\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tversementStates: newVersementStates,\n\t\t\t\tcurrentEditingVersement: {\n\t\t\t\t\tid: payloadVersement.versementId,\n\t\t\t\t\ttype: payloadVersement.versementType,\n\t\t\t\t\tdossierId: payloadVersement.dossierId,\n\t\t\t\t\toriginalDossierId: payloadVersement.originalDossierId,\n\t\t\t\t}\n\t\t\t}\n\t\tcase ActionTypeEnum.EDIT_VERSEMENT: return {\n\t\t\t...state,\n\t\t\tcurrentEditingVersement: {\n\t\t\t\tid: (dispatchedAction as EditVersementAction).payload.versementId,\n\t\t\t\ttype: (dispatchedAction as EditVersementAction).payload.versementType,\n\t\t\t\tdossierId: (dispatchedAction as EditVersementAction).payload.dossierId,\n\t\t\t\toriginalDossierId: (dispatchedAction as EditVersementAction).payload.originalDossierId\n\t\t\t}\n\t\t}\n\n\t\t/** PAGES VITRINE */\n\t\tcase ActionTypeEnum.GET_PAGES_VITRINE_SUCCESS: \n\t\treturn {\n\t\t\t...state,\n\t\t\tpagesVitrine: (dispatchedAction as SetPagesVitrineAction).payload.pagesVitrine\n\t\t}\n\n\t\tdefault:\n\t\t\tthrow new Error();\n\t}\n}\n\nexport default appReducer;","import React, { useReducer, ReactNode, useEffect } from 'react';\nimport { Context, DispatchAction } from './context';\nimport appReducer from './AppReducer';\nimport InitializeContextFromStorage from './InitializeContextFromStorage';\n\nconst defaultContextValue: Context.IContext = InitializeContextFromStorage();\n\n/** The app context variable. */\nconst AppStateContext = React.createContext<[Context.IContext, React.Dispatch]>([defaultContextValue, () => null]);\n\n/**\n * AppContext props interface.\n * \n * @interface\n * \n * @param {React.ReactNode} children The children to render.\n */\ninterface IAppContextProps {\n\tchildren: ReactNode;\n}\n\n/**\n * AppContext => Provide the context to the entire app.\n * \n * @param {IAppContextProps} props The component props.\n * @returns {JSX.Element}\n */\nconst AppContext: React.FunctionComponent = ({\n\tchildren\n}: IAppContextProps): JSX.Element => {\n\t/** The context value */\n\tconst [context, setContext] = useReducer(appReducer, defaultContextValue);\n\n\tuseEffect(() => {\n\t\tlocalStorage.setItem(\"adelcontext\", JSON.stringify(context));\n\n\t}, [context]);\n\n\treturn (\n\t\t\n\t\t\t{children}\n\t\t\n\t);\n}\n\nexport default AppContext;\nexport { AppStateContext };\n","import React, { FunctionComponent, useContext, useEffect } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Link } from \"@reach/router\";\nimport clsx from \"clsx\";\nimport { AppStateContext } from \"../../context/AppContext\";\n\ninterface FooterProps {\n}\n\nconst Footer: FunctionComponent = ({\n}) => {\n\tconst { i18n } = useTranslation();\n\tconst [{ pagesVitrine }] = useContext(AppStateContext);\n\n\treturn (\n\t\t
\n\t\t\t\n\t\t
\n\t)\n}\n\nexport default Footer;\n","import React, { ChangeEvent, useState } from \"react\"\nimport { useTranslation } from 'react-i18next';\nimport { Language } from '../../enums/Language';\n\nconst Lang = () => {\n const { i18n } = useTranslation();\n const [lang, setLang] = useState(i18n.language as Language);\n\n let changeLanguage = (event: ChangeEvent) => {\n let language = event.target.value;\n\n switch (language) {\n case Language.EN:\n setLang(Language.EN);\n i18n.changeLanguage(Language.EN);\n break;\n case Language.FR:\n default:\n setLang(Language.FR);\n i18n.changeLanguage(Language.FR);\n break;\n }\n }\n\n return (\n
\n
\n \n\n {lang.toLocaleUpperCase()}\n
\n
\n )\n}\n\nexport default Lang;","import React from \"react\"\nimport { ErrorMessage } from \"react-hook-form\";\n\ninterface InputProps {\n autoComplete?: string;\n name: string;\n reference: any;\n label: string,\n placeHolder: string;\n maxLength?: number;\n type: string;\n value?: any;\n onChange?: (value: string) => void;\n errors?: any;\n\tdataList?: any[];\n disabled?: boolean;\n readonly?: boolean;\n}\n\nconst Input: React.SFC = ({\n autoComplete,\n label,\n name,\n placeHolder,\n maxLength,\n reference,\n type,\n value,\n errors,\n onChange,\n\tdataList,\n disabled = false,\n readonly\n}) => {\n return (\n
\n \n\n {\n if (onChange) onChange(e.target.value)\n }\n }\n list={dataList ? name : ''} \n />\n {dataList && { dataList.map((data, index) => { return }) } }\n {errors &&\n \n {({ message }) =>

{message}

}\n
\n }\n
\n )\n}\n\nexport default Input;","import React from \"react\"\nimport { ErrorMessage } from \"react-hook-form\";\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\n\ninterface InputPasswordProps {\n\tname: string;\n\treference: any;\n\tlabel: string,\n\tplaceHolder: string;\n\tvalue?: any;\n\tonChange?: (value: string) => void;\n\terrors?: any;\n\tsetShowPass?: any;\n\tshowPass?: boolean;\n}\n\nconst InputPassword: React.SFC = ({\n\tlabel,\n\tname,\n\tplaceHolder,\n\treference,\n\tvalue,\n\terrors,\n\tonChange,\n\tshowPass,\n\tsetShowPass,\n}) => {\n\n\tconst showPassword = () => {\n\t\tlet text = \"text\";\n\t\tlet password = \"password\";\n\n\t\tif (showPass) {\n\t\t\treturn text;\n\t\t} else {\n\t\t\treturn password;\n\t\t}\n\t}\n\n\treturn (\n\t\t
\n\t\t\t\n\n\t\t\t
\n\t\t\t\t {\n\t\t\t\t\t\t\tif (onChange) onChange(e.target.value)\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t/>\n\n\t\t\t\t
{\n\t\t\t\t\t\tsetShowPass(!showPass);\n\t\t\t\t\t}}>\n\t\t\t\t\t{showPass ? : }\n\t\t\t\t
\n\t\t\t
\n\n\t\t\t{errors &&\n\t\t\t\t\n\t\t\t\t\t{({ message }) =>

{message}

}\n\t\t\t\t
\n\t\t\t}\n\t\t
\n\t)\n}\n\nexport default InputPassword;","import React from \"react\";\r\nimport clsx from \"clsx\";\r\nconst FormButton = ({ className, disabled, type, value, onClick, icon }) => {\r\n return (React.createElement(\"button\", { className: clsx(className, disabled && 'button__submit', !disabled && 'button__submit button__submit--validation'), type: type, onClick: onClick, disabled: disabled },\r\n icon && React.createElement(\"i\", { className: icon }),\r\n \" \",\r\n value));\r\n};\r\nexport default FormButton;\r\n","import moment from 'moment';\nimport { IFile, IFileBudget } from '../models/IFile';\nimport { DocumentUploadInfoDto } from '../services/generated/FrontOffice-api';\n\nexport const reduceToOneDigit = (value:any) => {\n\tlet sum = null;\n\tlet tmp = null;\n\twhile (value >= 10) {\n\t\tsum = 0;\n\t\ttmp = value;\n\t\twhile (tmp !== 0) {\n\t\tsum += (tmp % 10);\n\t\ttmp = tmp / 10;\n\t\t}\n\t\tvalue = sum;\n\t}\n\treturn value;\n}\n\nexport function calculateMod(str: string, mod: number) : number {\n\tlet n = str.length;\n\tif (n <= 10)\n\t return parseInt(str) % mod;\n\telse {\n\t const first = str.substring(0, n - 10);\n\t const second = str.substring(n - 10);\n\t return (calculateMod(first, mod) * (Math.pow(10, 10) % mod) + parseInt(second, 10) % mod) % mod;\n\t}\n}\n\nexport const convertIFilesToDocumentUploadInfoDto = (files: IFile[]): DocumentUploadInfoDto[] => {\n\treturn files.map(item => {\n\t\tconst doc: DocumentUploadInfoDto = {};\n\t\tdoc.typeId = item.typeId;\n\t\tdoc.extraInfos = item.extraInfos;\n\t\tif (item.file || item && item.typeDeDocumentSelected && item.typeDeDocumentSelected.hasAttachment) {\n\t\t\tdoc.partName = item.code.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\");\n\t\t}\n\t\treturn doc;\n\t});\n}\n\nexport const convertIFilesBudgetToDocumentUploadInfoDto = (files: IFileBudget[]): DocumentUploadInfoDto[] => {\n\treturn files.map(item => {\n\t\tconst doc: DocumentUploadInfoDto = {};\n\t\tif(item.id) {\n\t\t\tdoc.id = item.id;\n\t\t}\n\t\tdoc.partName = item.partName.replace(/\\./g, \"-\");\n\t\treturn doc;\n\t});\n}\n\nexport const isDateOrDateString = (value: any) => {\n\tif(value instanceof Date) {\n\t\treturn true;\n\t}\n\tconst timestamp = Date.parse(value);\n\tif(!isNaN(timestamp)) {\n\t\treturn new Date(timestamp).toISOString() === value;\n\t}\n\treturn false;\n};\n","export enum ValidationPropertyType {\n\tNotNull = 'NotNullValidator',\n\tNotEmpty = 'NotEmptyValidator',\n\tNotEqual = 'NotEqualValidator',\n\tEmail = 'EmailValidator',\n\tNumber = 'NumberValidator',\n\tInteger = 'IntegerValidator',\n\tLessThan = 'LessThanValidator',\n\tLessThanOrEqual = 'LessThanOrEqualValidator',\n\tGreaterThan = 'GreaterThanValidator',\n\tGreaterThanOrEqual = 'GreaterThanOrEqualValidator',\n\tLength = 'LengthValidator',\n\tExactLength = 'ExactLengthValidator',\n\tMinimumLength = 'MinimumLengthValidator',\n\tMaximumLength = 'MaximumLengthValidator',\n\tRegularExpression = 'RegularExpressionValidator',\n\tUniqueCharCountProperty = 'UniqueCharCountPropertyValidator',\n\n\tAtLeastDigitChar = 'AtLeastXDigitValidator',\n\tAtLeastLowerCaseChar = 'AtLeastXLowerCaseCharValidator',\n\tAtLeastUpperCaseChar = 'AtLeastXUpperCaseCharValidator',\n\tAtLEastSpecialChar = 'AtLeastXSpecialCharValidator',\n\tBeforeNow = 'BeforeNowValidator',\n\tAfterNow = 'AfterNowValidator',\n\tOlderThanDays = 'OlderThanXDaysValidator',\n\tNotOlderThanDays = 'NotOlderThanXDaysValidator',\n\tYoungerThanDays = 'YoungerThanXDaysValidator',\n\tIban = 'IbanPropertyValidator',\n\tBic = 'BicPropertyValidator',\n\tSiret = 'SiretPropertyValidator',\n\tPhone = 'PhoneNumberPropertyValidator',\n\n\tEnum = 'EnumValidator',\n\tAspNetCoreCompatibleEmail = 'AspNetCoreCompatibleEmailValidator',\n\tChildValidatorAdaptor = 'ChildValidatorAdaptor',\n\tPredicate = 'PredicateValidator',\n\tAsyncPredicate = 'AsyncPredicateValidator'\n}","import { calculateMod } from './../utils/functions';\nimport { PhoneNumberUtil, PhoneNumberType } from 'google-libphonenumber';\nimport { isValidPhoneNumber } from 'libphonenumber-js';\n\nconst euroPrefix = [\n\t'AT',\n\t'BE',\n\t'CY',\n\t'DE',\n\t'EE',\n\t'ES',\n\t'FI',\n\t'FR',\n\t'GR',\n\t'IE',\n\t'IT',\n\t'LT',\n\t'LU',\n\t'LV',\n\t'MT',\n\t'NL',\n\t'PT',\n\t'SI',\n\t'SK'\n];\n\nexport const bicRgx = new RegExp('^[a-z0-9]{4}[a-z]{2}[a-z0-9]{2}([a-z0-9]{3})?$', 'i');\n\nexport const emailValidate = (value: string, message: string) => {\n\tconst index = value.indexOf('@');\n\tif (index > 0 && index !== value.length - 1 && index === value.lastIndexOf('@')) {\n\t\treturn;\n\t}\n\treturn message;\n}\n\nexport const siretValidate = (value: string, message: string) => {\n\tconst siret = value.trim();\n\n\tif (siret.length === 0 || !siret)\n\t\treturn;\n\tif (siret.length !== 14)\n\t\treturn message;\n\tif (!siret.split('').every(x => !isNaN(parseInt(x, 10))))\n\t\treturn message;\n}\n\nexport const ibanValidate = (iban: string, messageCountry: string, message: string) => {\n\tconst prefix = iban.substring(0, 2);\n\tif (!euroPrefix.includes(prefix)) {\n\t\treturn messageCountry;\n\t}\n\n\tlet trimIban = Array.from(iban.replace(/[- ]/g, ''));\n\tconst fourcharacters = trimIban.splice(0, 4);\n\ttrimIban.push(...fourcharacters);\n\tconst converted = Array.from(trimIban).map(x => isNaN(parseInt(x, 10)) ? x.charCodeAt(0) - 55 : x).join('');\n\n\tif (calculateMod(converted, 97) === 1)\n\t\treturn;\n\n\treturn message;\n}\n\nexport const phoneValidate = (value: string, allowedTypes: string[], messageNotPhone: string, message: string) => {\n\tif (value === \"\") {\n\t\treturn;\n\t}\n\n\tif (isNaN(parseInt(value, 10))) {\n\t\treturn messageNotPhone;\n\t}\n\n\tconst phoneUtil = PhoneNumberUtil.getInstance();\n\tconst number = phoneUtil.parseAndKeepRawInput(value, 'FR');\n\tconst numberType = phoneUtil.getNumberType(number);\n\n\tconst result = allowedTypes?.map(t => {\n\t\tswitch(t?.toUpperCase()) {\n\t\t\t\n\t\t\tcase \"FIXED_LINE\":\n\t\t\t\tif(numberType === PhoneNumberType.FIXED_LINE || numberType === PhoneNumberType.VOIP) {\n\t\t\t\t\treturn !isValidPhoneNumber(value, 'FR');\n\t\t\t\t} return true;\n\t\t\tcase \"MOBILE\":\n\t\t\t\tif(numberType === PhoneNumberType.MOBILE) {\n\t\t\t\t\treturn !isValidPhoneNumber(value, 'FR');\n\t\t\t\t} return true;\n\t\t\tdefault:\n\t\t\t\treturn;\n\t\t}\n\t})\n\n\tif (result[0]) {\n\t\treturn message;\n\t} else {\n\t\treturn;\n\t}\n}\n\nexport const requiredUniqueCharValidate = (value: string, validator: number, messageError: string) => {\n\tconst array: Array = Array.from(value);\n\tconst distinctChar = [...new Set(array)];\n\tif (distinctChar.length > validator) {\n\t\treturn;\n\t}\n\treturn messageError;\n}\n\n\nexport const checkRegex = (value: string, regex: any, messageError: string) => {\n\tif (regex.test(value)) {\n\t\treturn\n\t}\n\treturn messageError\n}\n\nexport const greaterThan = (valueInput: string, ValueToCompare: any, messageError: string) => {\n\tif (valueInput > ValueToCompare) {\n\t\treturn\n\t}\n\treturn messageError\n}\n\nexport const greaterThanOrEqual = (valueInput: string, ValueToCompare: any, messageError: string) => {\n\tif (valueInput >= ValueToCompare) {\n\t\treturn\n\t}\n\treturn messageError\n}\nexport const lessThan = (valueInput: string, ValueToCompare: any, messageError: string) => {\n\tif (valueInput < ValueToCompare) {\n\t\treturn\n\t}\n\treturn messageError\n}\n\nexport const lessThanOrEqual = (valueInput: string, ValueToCompare: any, messageError: string) => {\n\tif (valueInput <= ValueToCompare) {\n\t\treturn\n\t}\n\treturn messageError\n}","import axios, { AxiosInstance, AxiosRequestConfig, AxiosResponse } from 'axios';\nimport PropertyValidatorInfo from '../models/validation/PropertyValidatorInfo';\nimport { Dictionary } from '../models/Dictionary';\n\nexport default class AdelValidationClient {\n\tprivate instance: AxiosInstance;\n\tprivate baseUrl: string;\n\tprotected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n\tconstructor(baseUrl?: string, instance?: AxiosInstance) {\n\t\tthis.instance = instance ? instance : axios.create();\n\t\tthis.baseUrl = baseUrl ? baseUrl : \"\";\n\t}\n\n /**\n * @return Success\n */\n\tvalidation(): Promise>> {\n\t\tlet url_ = this.baseUrl + \"/api/v1/Validation\";\n\t\turl_ = url_.replace(/[?&]$/, \"\");\n\n\t\tlet options_ = {\n\t\t\tmethod: \"GET\",\n\t\t\turl: url_,\n\t\t\theaders: {\n\t\t\t\t\"Accept\": \"text/plain\"\n\t\t\t}\n\t\t} as AxiosRequestConfig;\n\n\t\treturn this.instance.request(options_)\n\t\t\t.then((_response: AxiosResponse) => {\n\t\t\t\tif (_response.status === 200) {\n\t\t\t\t\treturn _response.data;\n\t\t\t\t} else {\n\t\t\t\t\t// TODO : Error handling\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\t// TODO : Error handling\n\t\t\t});\n\t}\n}\n","import React, { useContext } from 'react';\nimport { Context, DispatchAction } from './context';\nimport { AppStateContext } from './AppContext';\nimport { IStepOneModel, IStepTwoModel, IStepThreeModel, IStepFourModel, IStepFiveModel, IStepSixModel, IStepSevenModel } from '../models/signup';\nimport { FormeJuridiqueDto, FOCurrentUserDto } from '../services/generated/FrontOffice-api';\n/**\n * The useAppStateContext hook.\n *\n * @returns {Context.IContext} The current app state context.\n */\nconst useAppStateContext = (): [Context.IContext, React.Dispatch] => {\n\tconst contextValue = useContext(AppStateContext)\n\treturn contextValue;\n}\n\n/**\n * The useAppDispatch hook.\n *\n * @returns {React.Dispatch} The current dispatch function to update the app state.\n */\nconst useAppDispatch = (): React.Dispatch => {\n\tconst [, dispatch] = useAppStateContext();\n\treturn dispatch;\n}\n\n/**\n * The useErrorContext hook.\n *\n * @returns {Context.IAppError} The current app error context.\n */\nconst useErrorContext = (): Context.IAppError => {\n\tconst [context] = useAppStateContext();\n\treturn context.error;\n}\n\nconst useUserContext = (): FOCurrentUserDto => {\n\tconst [context] = useAppStateContext();\n\treturn context.user;\n}\n\nconst useStepOneContext = (): IStepOneModel => {\n\tconst [context] = useAppStateContext();\n\treturn context.signupStepOne;\n}\n\nconst useStepTwoContext = (): IStepTwoModel => {\n\tconst [context] = useAppStateContext();\n\treturn context.signupStepTwo;\n}\n\nconst useStepThreeContext = (): IStepThreeModel => {\n\tconst [context] = useAppStateContext();\n\treturn context.signupStepThree;\n}\n\nconst useStepFourContext = (): IStepFourModel => {\n\tconst [context] = useAppStateContext();\n\treturn context.signupStepFour;\n}\n\nconst useStepFiveContext = (): IStepFiveModel => {\n\tconst [context] = useAppStateContext();\n\treturn context.signupStepFive;\n}\n\nconst useStepSixContext = (): IStepSixModel => {\n\tconst [context] = useAppStateContext();\n\treturn context.signupStepSix;\n}\n\nconst useStepSevenContext = (): IStepSevenModel => {\n\tconst [context] = useAppStateContext();\n\treturn context.signupStepSeven;\n}\n\nconst useFormeJuridiqueContext = (): FormeJuridiqueDto[] => {\n\tconst [context] = useAppStateContext();\n\treturn context.formesJuridiques;\n}\n\nexport {\n\tuseAppStateContext,\n\tuseUserContext,\n\tuseErrorContext,\n\tuseAppDispatch,\n\tuseStepOneContext,\n\tuseStepTwoContext,\n\tuseStepThreeContext,\n\tuseStepFourContext,\n\tuseStepFiveContext,\n\tuseStepSixContext,\n\tuseStepSevenContext,\n\tuseFormeJuridiqueContext\n};\n","import axios, { AxiosInstance } from 'axios';\nimport { ActionType, ActionTypeEnum } from '../context/ActionType';\nimport { useAppDispatch } from '../context/context-helpers';\nimport { useTranslation } from 'react-i18next';\nimport { ProblemDetails, ProblemDetailsCode } from '../services/generated/FrontOffice-api';\nimport { useEffect } from 'react';\n\nvar axiosInstance: AxiosInstance | null = null;\n\nexport const useAxios = () => {\n\tconst { t } = useTranslation();\n\tconst dispatch: React.Dispatch = useAppDispatch();\n\taxiosInstance = axiosInstance ?? axios.create();\n\n\tuseEffect(() => {\n\t\tif (axiosInstance && ((axiosInstance.interceptors.response as any).handlers as any[]).length < 1) {\n\t\t\taxiosInstance.interceptors.response.use(undefined, (error) => {\n\t\t\t\tconst errorResponse: ProblemDetails = error.response.data;\n\n\t\t\t\tif (errorResponse.status === 401) {\n\t\t\t\t\tdispatch({ type: ActionTypeEnum.UNSET_USER });\n\t\t\t\t\tdispatch({ type: ActionTypeEnum.ERROR_OCCURRED, payload: { type: t('errors.accessDenied') } });\n\t\t\t\t\treturn Promise.reject(errorResponse);\n\t\t\t\t}\n\n\t\t\t\tconst errorResponseType: string = error.response.data.errors && error.response.data.errors.length !== 0 ? Object.keys(error.response.data.errors)[0] : '';\n\t\t\t\tvar additionalDetails = errorResponse.additionalDetails;\n\t\t\t\tswitch (errorResponse.code) {\n\t\t\t\t\tcase ProblemDetailsCode.InvalidParameters:\n\t\t\t\t\t\tdispatch({ type: ActionTypeEnum.ERROR_OCCURRED, payload: { type: t('errors.invalidParameters', { name: errorResponseType }) } });\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase ProblemDetailsCode.PreconditionFailed:\n\t\t\t\t\t\tdispatch({ type: ActionTypeEnum.ERROR_OCCURRED, payload: { type: t('errors.preconditionFailed') } });\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase ProblemDetailsCode.AccessDenied:\n\t\t\t\t\t\tdispatch({ type: ActionTypeEnum.ERROR_OCCURRED, payload: { type: t('errors.accessDenied') } });\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase ProblemDetailsCode.Forbidden:\n\t\t\t\t\t\tdispatch({ type: ActionTypeEnum.ERROR_OCCURRED, payload: { type: t('errors.forbidden') } });\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase ProblemDetailsCode.EntityNotFound:\n\t\t\t\t\t\tdispatch({ type: ActionTypeEnum.ERROR_OCCURRED, payload: { type: t('errors.entityNotFound') } });\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase ProblemDetailsCode.EmailingServiceUnavailable:\n\t\t\t\t\t\tdispatch({ type: ActionTypeEnum.ERROR_OCCURRED, payload: { type: t('errors.emailingServiceUnavailable') } });\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase ProblemDetailsCode.SiretNotFound:\n\t\t\t\t\t\tdispatch({ type: ActionTypeEnum.ERROR_OCCURRED, payload: { type: t('errors.siretNotFound') } });\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase ProblemDetailsCode.MinimumRemuneration:\n\t\t\t\t\t\tdispatch({ type: ActionTypeEnum.ERROR_OCCURRED, payload: { type: t('errors.minimumRemuneration', { remuneration: additionalDetails.montantMinimum }) + t(`typePrestation.${additionalDetails.typePrestation}`)}})\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase ProblemDetailsCode.MontantAideMustBeInferior:\n\t\t\t\t\t\tdispatch({ type: ActionTypeEnum.ERROR_OCCURRED, payload: { type: t('errors.montantAideMustBeInferior', { montantAide: additionalDetails.montant})}})\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase ProblemDetailsCode.Unknown:\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tdispatch({ type: ActionTypeEnum.ERROR_OCCURRED, payload: { type: t('errors.default') } });\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\treturn Promise.reject(errorResponse);\n\t\t\t});\n\t\t}\n\n\t}, [dispatch, t]) // To be called only once\n\n\treturn axiosInstance;\n}\n","import { useEffect, useState } from 'react';\nimport { ValidationOptions } from 'react-hook-form';\nimport { useTranslation } from 'react-i18next';\nimport {\n\tbicRgx,\n\tcheckRegex,\n\temailValidate,\n\tgreaterThan,\n\tgreaterThanOrEqual,\n\tibanValidate,\n\tlessThan,\n\tlessThanOrEqual,\n\tphoneValidate,\n\trequiredUniqueCharValidate,\n\tsiretValidate\n} from './../utils/validatorFunctions';\nimport AdelValidationClient from '../clients/AdelValidationClient';\nimport { Dictionary } from '../models';\nimport PropertyValidatorInfo from '../models/validation/PropertyValidatorInfo';\nimport { ValidationPropertyType } from '../validators/ValidationPropertyType';\nimport { useAxios } from './useAxios';\n\nfunction useValidation() {\n\tconst [validationData, setValidationData] = useState(null);\n\tconst client = new AdelValidationClient(\"\", useAxios());\n\tconst { t } = useTranslation();\n\n\tuseEffect(() => {\n\t\tclient.validation().then(r => {\n\t\t\tsetValidationData(r);\n\t\t});\n\t}, []);\n\n\tconst getRootValidator = (selector: string): Dictionary | null => {\n\t\tconst result: Dictionary = {};\n\t\tconst selectedData = validationData?.[selector];\n\t\tif (selectedData) {\n\t\t\tconst data = selectedData as Dictionary;\n\t\t\tObject.keys(data).forEach(key => {\n\t\t\t\tresult[key] = transformValidations(data[key])\n\t\t\t});\n\t\t\treturn result;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tconst transformValidations = (validatorInfos: PropertyValidatorInfo[]): ValidationOptions => {\n\t\tvar validationOptions: ValidationOptions = {};\n\t\tvalidatorInfos.map((info: PropertyValidatorInfo) => {\n\t\t\tswitch (info.name) {\n\t\t\t\tcase ValidationPropertyType.NotNull:\n\t\t\t\t\tvalidationOptions.required = { value: true, message: t('validation-messages.required') };\n\t\t\t\t\tbreak;\n\t\t\t\tcase ValidationPropertyType.NotEmpty:\n\t\t\t\t\tvalidationOptions.required = { value: true, message: t('validation-messages.required') };\n\t\t\t\t\tif (info.DefaultValueForType === 0) {\n\t\t\t\t\t\tvalidationOptions.validate = {\n\t\t\t\t\t\t\tnotZero: (value) => parseFloat(value) !== 0 || t('validation-messages.not-empty-number') as string\n\t\t\t\t\t\t};\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvalidationOptions.minLength = { value: 1, message: t('validation-messages.not-empty') };\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase ValidationPropertyType.UniqueCharCountProperty:\n\t\t\t\tcase ValidationPropertyType.RegularExpression:\n\t\t\t\t\t// si info.expression === 'PP-\\\\d{6,8}' c'est un identifiant\n\t\t\t\t\tif (info.Expression === 'PP-\\\\d{6,8}') {\n\t\t\t\t\t\tvalidationOptions.validate = {\n\t\t\t\t\t\t\thaveGoodFormat: (value) => checkRegex(value, /PP-\\d{6,8}/, t('validation-messages.good-format'))\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse if (info.Expression === '^[0-9]*$') {\n\t\t\t\t\t\tvalidationOptions.validate = {\n\t\t\t\t\t\t\thaveGoodFormat: (value) => checkRegex(value, /^[0-9]*$/, t('validation-messages.good-format'))\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse if (info.Expression === '^([^0-9]*)$') {\n\t\t\t\t\t\tvalidationOptions.validate = {\n\t\t\t\t\t\t\thaveGoodFormat: (value) => checkRegex(value, /^([^0-9]*)$/, t('validation-messages.no-number'))\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse if (info.Expression === \"^[\\\\p{L}\\\\p{M} '-]*$\") {\n\t\t\t\t\t\tvalidationOptions.validate = {\n\t\t\t\t\t\t\thaveGoodFormat: (value) => checkRegex(value, /^[\\p{L}\\p{M} '-]*$/iu, t('validation-messages.good-format'))\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse if (info.Expression?.startsWith('^((([a-zA-Z]|')) {\n\t\t\t\t\t\tvalidationOptions.pattern = { value: new RegExp(info.Expression), message: t('validation-messages.invalid-email') };\n\t\t\t\t\t}\n\t\t\t\t\t// sinon c'est un mdp\n\t\t\t\t\telse if (info.Expression || info.RequiredUniqueChars) {\n\t\t\t\t\t\tvalidationOptions.validate = {\n\t\t\t\t\t\t\tisUpper: (value) => checkRegex(value, /[A-Z]/, t('validation-messages.required-unique-upperCase-char')),\n\t\t\t\t\t\t\tisLower: (value) => checkRegex(value, /[a-z]/, t('validation-messages.required-unique-lowerCase-char')),\n\t\t\t\t\t\t\tisDigit: (value) => checkRegex(value, /[0-9]/, t('validation-messages.required-unique-digital-char')),\n\t\t\t\t\t\t\tisSpecial: (value) => checkRegex(value, /[^a-zA-Z0-9]/, t('validation-messages.invalid-regexp')),\n\t\t\t\t\t\t\tisUnique: (value) => requiredUniqueCharValidate(value, info.RequiredUniqueChars, t('validation-messages.required-unique-char', { number: info.RequiredUniqueChars }))\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase ValidationPropertyType.ExactLength:\n\t\t\t\t\tvalidationOptions.minLength = info.Min && { value: info.Min, message: t('validation-messages.exact-length', { length: info.Min }) }\n\t\t\t\t\tvalidationOptions.maxLength = info.Max && { value: info.Max, message: t('validation-messages.exact-length', { length: info.Max }) }\n\t\t\t\t\tbreak;\n\t\t\t\tcase ValidationPropertyType.Email:\n\t\t\t\t\tif (info.Expression) {\n\t\t\t\t\t\tvalidationOptions.pattern = { value: new RegExp(info.Expression), message: t('validation-messages.invalid-email') };\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase ValidationPropertyType.MaximumLength:\n\t\t\t\t\tvalidationOptions.maxLength = info.Max && { value: info.Max, message: t('validation-messages.max-length', { length: info.Max }) }\n\t\t\t\t\tbreak;\n\t\t\t\tcase ValidationPropertyType.MinimumLength:\n\t\t\t\t\tvalidationOptions.minLength = info.Min && { value: info.Min, message: t('validation-messages.min-length', { length: info.Min }) }\n\t\t\t\t\tbreak;\n\t\t\t\tcase ValidationPropertyType.AspNetCoreCompatibleEmail:\n\t\t\t\t\tvalidationOptions.validate = { value: value => emailValidate(value, t('validation-messages.invalid-email')) };\n\t\t\t\t\tbreak;\n\t\t\t\tcase ValidationPropertyType.Siret:\n\t\t\t\t\tvalidationOptions.validate = { value: value => siretValidate(value, t('validation-messages.invalid-siret')) };\n\t\t\t\t\tbreak;\n\t\t\t\tcase ValidationPropertyType.Phone:\n\t\t\t\t\t //MBo 03/02/2023 tickets:7237 et 7167\n\t\t\t\t\t//validationOptions.validate == { value: value => phoneValidate(value, info.AllowedTypes, t('validation-messages.invalid-not-phone'), t('validation-messages.invalid-phone')) };\n\t\t\t\t\tvalidationOptions.pattern = {\n\t\t\t\t\t\tvalue: new RegExp(\"^[+]?(0033|33|0)(1|2|3|4|5|6|7|8|9)\\\\d{8}$\"), message: t('validation-messages.invalid-not-phone')\n\t\t\t\t\t};\n\t\t\t\t\tbreak;\n\t\t\t\tcase ValidationPropertyType.Iban:\n\t\t\t\t\tvalidationOptions.validate = { value: value => ibanValidate(value, t('validation-messages.invalid-iban-country'), t('validation-messages.invalid-iban')) };\n\t\t\t\t\tbreak;\n\t\t\t\tcase ValidationPropertyType.Bic:\n\t\t\t\t\tvalidationOptions.pattern = { value: new RegExp(bicRgx), message: t('validation-messages.invalid-bic') };\n\t\t\t\t\tbreak;\n\t\t\t\tcase ValidationPropertyType.GreaterThan:\n\t\t\t\t\tvalidationOptions.validate = {\n\t\t\t\t\t\tGreaterThan: (value) => greaterThan(value, info.ValueToCompare, t('validation-messages.greater-than', { ComparaisonValue: info.ValueToCompare })),\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase ValidationPropertyType.GreaterThanOrEqual:\n\t\t\t\t\tvalidationOptions.required = { value: true, message: t('validation-messages.required') };\n\t\t\t\t\tvalidationOptions.validate = {\n\t\t\t\t\t\tGreaterThanOrEqual: (value) => greaterThanOrEqual(value, info.ValueToCompare, t('validation-messages.greater-than-or-equal', { ComparaisonValue: info.ValueToCompare })),\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase ValidationPropertyType.LessThan:\n\t\t\t\t\tvalidationOptions.validate = {\n\t\t\t\t\t\tLessThan: (value) => lessThan(value, info.ValueToCompare, t('validation-messages.less-than', { ComparaisonValue: info.ValueToCompare })),\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase ValidationPropertyType.LessThanOrEqual:\n\t\t\t\t\tvalidationOptions.validate = {\n\t\t\t\t\t\tLessThanOrEqual: (value) => lessThanOrEqual(value, info.ValueToCompare, t('validation-messages.less-than-or-equal', { ComparaisonValue: info.ValueToCompare })),\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\treturn validationOptions;\n\t\t});\n\t\treturn validationOptions;\n\t}\n\n\treturn { getRootValidator };\n}\n\nexport default useValidation;","import React, { useState, useEffect } from \"react\";\nimport { RouteComponentProps, navigate } from \"@reach/router\";\nimport CreatePassword from \"../structures/portail/mdp/CreatePassword\";\n\nenum StepCreatePasswordQueryParams {\n\tToken = \"token\",\n\tUserName = \"userName\",\n}\n\nconst StepCreatePassword = (props: RouteComponentProps) => {\n\tconst [token, setToken] = useState(null);\n\tconst [username, setUsername] = useState(null);\n\tconst [, setResetPassword] = useState(false);\n\tconst [validPass, setValidPass] = useState(false);\n\tconst [showPass, setShowPass] = useState(false);\n\n\tuseEffect(() => {\n\t\tvar searchParams = new URLSearchParams(props.location.search);\n\n\t\t// Retrieve token + userName from url\n\t\tlet token = searchParams.get(StepCreatePasswordQueryParams.Token);\n\t\tlet userName = searchParams.get(StepCreatePasswordQueryParams.UserName);\n\n\t\tsetToken(token);\n\t\tsetUsername(userName);\n\t}, [props.location.search]);\n\n\tconst afterSubmit = () => {\n\t\tnavigate(\"/\");\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\n\t)\n}\n\nexport default StepCreatePassword;","import React, { useEffect, useState } from \"react\";\nimport { useTranslation } from 'react-i18next';\nimport { useForm } from \"react-hook-form\";\n\nimport Subtitles from \"../../basics/Subtitles\";\nimport Input from \"../../basics/Input\";\nimport InputPassword from \"../../basics/InputPassword\";\nimport FormButton from 'adel-shared/dist/components/basics/FormButton';\nimport { LoginModel } from \"../../../models/signin/LoginModel\";\nimport useValidation from \"../../../custom-hooks/useValidation\";\nimport { useAxios } from \"../../../custom-hooks/useAxios\";\nimport { AuthClient, MessageAlerteClient } from \"../../../services/generated/FrontOffice-api\";\nimport { navigate } from \"@reach/router\"\nimport { useAppDispatch, useUserContext } from '../../../context/context-helpers';\nimport { ActionTypeEnum } from '../../../context/ActionType';\nimport { RouteComponentProps } from \"@reach/router\";\nimport { toast } from 'react-toastify';\ninterface ConnectionProps extends RouteComponentProps {\n\tsetResetPassword?: (value:boolean) => void;\n\tsetShowPass?: (value:boolean) => void;\n\tshowPass?: boolean;\n}\n\nconst Connection: React.FunctionComponent = ({\n\tsetResetPassword,\n\tsetShowPass,\n\tshowPass\n}) => {\n\tconst { t } = useTranslation();\n\tconst { register, getValues, triggerValidation, errors } = useForm();\n\tconst { getRootValidator } = useValidation();\n\tconst axiosInstance = useAxios();\n\tconst loginValidator = getRootValidator(\"LoginDto\");\n\tconst dispatch = useAppDispatch();\n\tconst user = useUserContext();\n const [message, setMessage] = useState('');\n const messageAlerteClient = new MessageAlerteClient(\"\", axiosInstance);\n\n\tuseEffect(() => {\n\t\tif (user?.userName) {\n\t\t\t// User is already defined, so the login page should not be accessible. Redirecting to Home page\n\t\t\tnavigate(\"/Structures\");\n\t\t}\n\t}, [user]);\n\n\tuseEffect(() => {\n\t\t(async() => {\n const result = await messageAlerteClient.getMessageAlerte();\n result && setMessage(result.message);\n })();\n\t}, []);\n\n\tconst login = async (event: MouseEvent) => {\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\tconst result = triggerValidation();\n\n\t\tif (result) {\n\t\t\tconst client = new AuthClient('', axiosInstance);\n\n\t\t\ttry {\n\t\t\t\tconst { username, password } = getValues();\n\t\t\t\tconst result = await client.login({ userName: username, password });\n\t\n\t\t\t\tif (result) {\n\t\t\t\t\tdispatch({\n\t\t\t\t\t\ttype: ActionTypeEnum.SET_USER, payload: {\n\t\t\t\t\t\t\tstatutStructure: result.statutStructure,\n\t\t\t\t\t\t\temail: result.email,\n\t\t\t\t\t\t\tid: result.id,\n\t\t\t\t\t\t\tnom: result.nom,\n\t\t\t\t\t\t\tprenom: result.prenom,\n\t\t\t\t\t\t\tuserName: result.userName\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tnavigate(\"/Structures\");\n\n\t\t\t} catch(error) {\n\t\t\t\tif(error.code === \"structureDisabled\")\n\t\t\t\t\tnavigate(\"/NonAuthoriseRefuse\");\n\n\t\t\t\tif(error.code === \"structurePending\")\n\t\t\t\t\tnavigate(\"/NonAuthoriseEnAttente\");\n\n\t\t\t\tif (error.exception?.message)\n\t\t\t\t\ttoast.error(error.exception.message);\n\t\t\t\telse if(window.location.pathname !== \"/NonAuthoriseRefuse\" && window.location.pathname !== \"/NonAuthoriseEnAttente\"){\n\t\t\t\t\ttoast.error(t(\"errors.default\"));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\n\treturn (\n\t\t<>\n\t\t\t{message?.length !== 0 &&\n\t\t\t\t
{message}
\n\t\t\t}\n\t\t\t\n\n\t\t\t
\n\t\t\t\t\n\n\t\t\t\t\n\n\t\t\t\t
\n\t\t\t\t\t {\n\t\t\t\t\t\t\tsetResetPassword(true);\n\t\t\t\t\t\t\tsetShowPass(false);\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{t('portal.connection.password-forgotten')}\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\n\t\t\n\t)\n}\n\nexport default Connection;","import React from \"react\";\nimport { useTranslation } from 'react-i18next';\n\nimport PassValidation from \"../../../../assets/img/portail/password_validation.png\";\nimport Subtitles from \"../../../basics/Subtitles\";\nimport FormButton from 'adel-shared/dist/components/basics/FormButton';\n\ninterface PasswordValidationProps {\n setResetPassword?: any;\n setValidPass?: any;\n title: string;\n paragraph: string;\n afterSubmit?: () => void;\n}\n\nconst PasswordValidation: React.SFC = ({\n setResetPassword,\n setValidPass,\n title,\n paragraph,\n afterSubmit\n}) => {\n const { t } = useTranslation();\n\n return (\n
\n \n\n \"\"\n\n

{paragraph}

\n\n
\n {\n setResetPassword(false);\n setValidPass(false);\n afterSubmit && afterSubmit();\n }}\n />\n
\n
\n )\n}\n\nexport default PasswordValidation;","import React from \"react\";\nimport { useTranslation } from 'react-i18next';\nimport { useForm } from \"react-hook-form\";\nimport Subtitles from \"../../../basics/Subtitles\";\nimport Input from \"../../../basics/Input\";\nimport FormButton from 'adel-shared/dist/components/basics/FormButton';\nimport PasswordValidation from \"./PasswordValidation\";\nimport { AuthClient } from \"../../../../services/generated/FrontOffice-api\";\nimport useValidation from \"../../../../custom-hooks/useValidation\";\nimport { IResetPasswordModel } from \"../../../../models\";\nimport { useAxios } from \"../../../../custom-hooks/useAxios\";\nimport { RouteComponentProps } from \"@reach/router\";\nimport { toast } from 'react-toastify';\n\ninterface ResetPasswordProps extends RouteComponentProps {\n\tsetResetPassword?: any;\n\tvalidPass?: boolean;\n\tsetValidPass?: any;\n\tsetShowPass?: any;\n\tshowPass?: boolean;\n}\n\nconst ResetPassword: React.FunctionComponent = ({\n\tsetResetPassword,\n\tvalidPass,\n\tsetValidPass\n}) => {\n\tconst { t } = useTranslation();\n\tconst { register, getValues, triggerValidation, errors } = useForm();\n\tconst { getRootValidator } = useValidation();\n\tconst userNameValidator = getRootValidator(\"PasswordResetRequestDto\");\n\tconst axiosInstance = useAxios();\n\n\tconst sendResetMail = async () => {\n\t\tconst result = await triggerValidation(\"username\");\n\n\t\tif (result) {\n\t\t\tconst client = new AuthClient('', axiosInstance);\n\t\t\tconst username = getValues().username;\n\n\t\t\tconst resetPasswordDto = { \"userName\": username };\n\t\t\ttry {\n\t\t\t\tawait client.resetPassword(resetPasswordDto)\n\t\t\t\tsetValidPass(false);\n\t\t\t} catch(error) {\n\t\t\t\tif (error.exception?.message)\n\t\t\t\t\ttoast.error(error.exception.message);\n\t\t\t\telse\n\t\t\t\t\ttoast.error(t(\"errors.default\"));\n\t\t\t}\n\t\t}\n\t}\n\treturn (\n\t\t<>\n\t\t\t{validPass ?\n\t\t\t\t<>\n\t\t\t\t\t\n\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t{t('password.reset.details')}\n\n\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\tsetResetPassword(false);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{t('portal.connection.back')}\n\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\n\t\t\t\t:\n\t\t\t\t\n\t\t\t}\n\t\t\n\t)\n}\n\nexport default ResetPassword;","import React, { useRef } from \"react\";\nimport { useTranslation } from 'react-i18next';\nimport { useForm } from \"react-hook-form\";\n\nimport Subtitles from \"../../../basics/Subtitles\";\nimport Input from \"../../../basics/Input\";\nimport InputPassword from \"../../../basics/InputPassword\";\nimport FormButton from 'adel-shared/dist/components/basics/FormButton';\nimport PasswordValidation from \"./PasswordValidation\";\nimport { ICreatePasswordModel } from \"../../../../models/ICreatePasswordModel\";\nimport useValidation from \"../../../../custom-hooks/useValidation\";\nimport { useAxios } from \"../../../../custom-hooks/useAxios\";\nimport { AuthClient } from \"../../../../services/generated/FrontOffice-api\";\nimport { toast } from 'react-toastify';\n\ninterface CreatePasswordProps {\n\tvalidPass?: boolean;\n\tsetValidPass?: any;\n\tsetResetPassword?: any;\n\tsetShowPass?: any;\n\tshowPass?: boolean;\n\ttoken: string;\n\tusername: string;\n\tafterSubmit: () => void;\n}\n\nconst CreatePassword: React.SFC = ({\n\tvalidPass,\n\tsetValidPass,\n\tsetResetPassword,\n\tsetShowPass,\n\tshowPass,\n\ttoken,\n\tusername,\n\tafterSubmit\n}) => {\n\tconst { t } = useTranslation();\n\tconst { register, getValues, triggerValidation, errors, watch } = useForm({\n\t\tdefaultValues: {\n\t\t\tusername: username\n\t\t}\n\t});\n\tconst { getRootValidator } = useValidation();\n\tconst createPasswordValidator = getRootValidator(\"ChangePasswordWithResetTokenDto\");\n\tconst axiosInstance = useAxios();\n\tconst password = useRef({});\n\tpassword.current = watch(\"newPassword\", \"\");\n\n\tconst validationNotMatchMessage = t('validation-messages.not-match');\n\n\tconst onSubmit = async () => {\n\t\tlet result = await triggerValidation();\n\n\t\tif (result) {\n\t\t\tvar client = new AuthClient('', axiosInstance);\n\t\t\tvar changePasswordWithResetTokenDto = { \"username\": username, \"token\": token, \"newPassword\": getValues().newPassword }\n\n\t\t\ttry {\n\t\t\t\tawait client.changePasswordWithResetToken(changePasswordWithResetTokenDto);\n\t\t\t\tsetValidPass(true);\n\t\t\t} catch(error) {\n\t\t\t\tif (error.exception?.message)\n\t\t\t\t\ttoast.error(error.exception.message);\n\t\t\t\telse\n\t\t\t\t\ttoast.error(t(\"errors.default\"));\n\t\t\t}\n\t\t}\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{!validPass ?\n\t\t\t\t
\n\t\t\t\t\t\n\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{username ? username : \"\"}\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tvalue === password.current || validationNotMatchMessage\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\tlabel={t('password.creation.password-auth')}\n\t\t\t\t\t\t\tplaceHolder={t('password.creation.password-auth-placeholder')}\n\t\t\t\t\t\t\tsetShowPass={setShowPass}\n\t\t\t\t\t\t\tshowPass={showPass}\n\t\t\t\t\t\t\terrors={errors}\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t onSubmit()}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t:\n\t\t\t\t\n\n\t\t\t}\n\t\t\n\t)\n}\n\nexport default CreatePassword;","import React, { useState, useEffect } from \"react\";\nimport { RouteComponentProps, navigate } from \"@reach/router\";\nimport ResetChangePassword from \"../structures/portail/mdp/ResetChangePassword\";\n// import { useTranslation } from \"react-i18next\";\n\nenum StepResetPasswordQueryParams {\n\tToken = \"token\",\n\tUserName = \"userName\",\n}\n\nconst StepResetPassword = (props: RouteComponentProps) => {\n\tconst [token, setToken] = useState(null);\n\tconst [username, setUsername] = useState(null);\n\tconst [, setResetPassword] = useState(false);\n\tconst [validPass, setValidPass] = useState(false);\n\tconst [showPass, setShowPass] = useState(false);\n\n\t// const { t } = useTranslation();\n\n\tuseEffect(() => {\n\t\tvar searchParams = new URLSearchParams(props.location.search);\n\n\t\t// Retrieve token + userName from url\n\t\tlet token = searchParams.get(StepResetPasswordQueryParams.Token);\n\t\tlet userName = searchParams.get(StepResetPasswordQueryParams.UserName);\n\n\t\tsetToken(token);\n\t\tsetUsername(userName);\n\t\t// TODO : Afficher le composant de cr�ation de mot de passer avec le userName en props + une callback sur le submit\n\t\t// TODO : Appeler l'API pour la cr�ation de mot de passe https://adel-frontoffice-dev.azurewebsites.net/swagger/index.html#operations-User-post_api_v1_User_password_reset_change\n\t\t// TODO : Afficher un toaster de succ�s (ou d'erreur), puis rediriger l'utilisateur vers la page de login au bout de 5 secondes ? (� voir avec H�l�ne)\n\t}, [props.location.search]);\n\n\tconst afterSubmit = () => {\n\t\tnavigate(\"/\");\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\n\t)\n}\n\nexport default StepResetPassword;","\nimport Subtitles from \"../../../basics/Subtitles\";\nimport Input from \"../../../basics/Input\";\nimport InputPassword from \"../../../basics/InputPassword\";\nimport FormButton from 'adel-shared/dist/components/basics/FormButton';\nimport PasswordValidation from \"./PasswordValidation\";\nimport { ICreatePasswordModel } from \"../../../../models/ICreatePasswordModel\";\nimport useValidation from \"../../../../custom-hooks/useValidation\";\nimport { useAxios } from \"../../../../custom-hooks/useAxios\";\nimport { AuthClient } from \"../../../../services/generated/FrontOffice-api\";\nimport React, { useRef } from \"react\";\nimport { useTranslation } from 'react-i18next';\nimport { useForm } from \"react-hook-form\";\nimport { toast } from 'react-toastify';\n\ninterface ResetChangePasswordProps {\n\tvalidPass?: boolean;\n\tsetValidPass?: any;\n\tsetResetPassword?: any;\n\tsetShowPass?: any;\n\tshowPass?: boolean;\n\ttoken: string;\n\tusername: string;\n\tafterSubmit: () => void;\n}\n\nconst ResetChangePassword: React.SFC = ({\n\tvalidPass,\n\tsetValidPass,\n\tsetResetPassword,\n\tsetShowPass,\n\tshowPass,\n\ttoken,\n\tusername,\n\tafterSubmit\n}) => {\n\tconst { t } = useTranslation();\n\tconst { register, getValues, triggerValidation, errors, watch } = useForm({\n\t\tdefaultValues: {\n\t\t\tusername: username\n\t\t}\n\t});\n\tconst { getRootValidator } = useValidation();\n\tconst createPasswordValidator = getRootValidator(\"ChangePasswordWithResetTokenDto\");\n\tconst axiosInstance = useAxios();\n\tconst password = useRef({});\n\tpassword.current = watch(\"newPassword\", \"\");\n\n\tconst validationNotMatchMessage = t('validation-messages.not-match');\n\n\tconst onSubmit = async () => {\n\t\tlet result = await triggerValidation();\n\n\t\tif (result) {\n\t\t\tvar client = new AuthClient('', axiosInstance);\n\t\t\tvar changePasswordWithResetTokenDto = { \"username\": username, \"token\": token, \"newPassword\": getValues().newPassword }\n\n\t\t\ttry {\n\t\t\t\tawait client.changePasswordWithResetToken(changePasswordWithResetTokenDto);\n\t\t\t\tsetValidPass(true);\n\t\t\t} catch(error) {\n\t\t\t\tif (error.exception?.message)\n\t\t\t\t\ttoast.error(error.exception.message);\n\t\t\t\telse\n\t\t\t\t\ttoast.error(t(\"errors.default\"));\n\t\t\t}\n\t\t}\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{!validPass ?\n\t\t\t\t
\n\t\t\t\t\t\n\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{username ? username : \"\"}\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tvalue === password.current || validationNotMatchMessage\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\tlabel={t('password.resetChange.passwordBis')}\n\t\t\t\t\t\t\tplaceHolder={t('password.resetChange.password')}\n\t\t\t\t\t\t\tsetShowPass={setShowPass}\n\t\t\t\t\t\t\tshowPass={showPass}\n\t\t\t\t\t\t\terrors={errors}\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t onSubmit()}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t:\n\t\t\t\t\n\n\t\t\t}\n\t\t\n\t)\n}\n\nexport default ResetChangePassword;","import { EtapeCreationDossier } from '../services/generated/FrontOffice-api';\n\n// Note: sera probablement renvoyé par l'api quand il y aura les steps dynamiques\nexport enum EtapeCreationPlus {\n ValidationStructure2 = \"ValidationStructure2\"\n};\n\nexport type CreationDossierSteps = EtapeCreationDossier | EtapeCreationPlus;\n","import React, { useState } from \"react\";\nimport { useTranslation } from 'react-i18next';\n\nimport WhiteLogo from \"../components/logo/WhiteLogo\";\nimport Subtitles from \"../components/basics/Subtitles\"\nimport Signup from \"../components/basics/Signup\";\nimport Footer from \"../components/basics/Footer\";\nimport Lang from \"../components/basics/Lang\";\nimport Connection from \"../components/structures/portail/Connection\";\nimport ResetPassword from \"../components/structures/portail/mdp/ResetPassword\";\nimport { RouteComponentProps, Router } from \"@reach/router\";\nimport SignupStep from \"../context/SignupSteps\";\nimport StepCreatePassword from \"../components/signup/StepCreatePassword\";\nimport StepResetPassword from \"../components/signup/StepResetPassword\";\n\nconst Portal = (props: RouteComponentProps) => {\n\n\tconst [menuCheckbox, setMenuCheckbox] = useState(true);\n\tconst [resetPassword, setResetPassword] = useState(false);\n\tconst [validPass, setValidPass] = useState(true);\n\tconst [showPass, setShowPass] = useState(false);\n\tconst { t } = useTranslation();\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t

{t('portal.description')}

\n\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\n\t\t\t\t
\n\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{!resetPassword ? (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t);\n}\n\nexport default Portal;","import { useState, useEffect } from 'react';\nimport SignupStep from '../context/SignupSteps';\nimport { EtapeCreationPlus, CreationDossierSteps } from '../context/CreationDossierSteps';\nimport { EtapeCreationDossier, EtapeDemandeVersement } from '../services/generated/FrontOffice-api';\n\n// Generic useSteps custom hook to manage ordered types\nfunction useSteps(orderedSteps: T[]) {\n\tconst [steps, setSteps] = useState(orderedSteps);\n\tconst [initialSteps] = useState(orderedSteps);\n\n\tconst getNextStep = (step: T): T => {\n\t\t// Find current and next step Index\n\t\tlet currentStepIndex = steps.findIndex(element => element === step);\n\t\tlet nextStepIndex = currentStepIndex + 1;\n\t\t// Handle trying to get next step from last step\n\t\tif (nextStepIndex > steps.length) throw new Error(\"Can not got to next step as it is already at the last step\");\n\t\t// Get next step\n\t\tlet nextStep = steps[nextStepIndex];\n\t\treturn nextStep;\n\t}\n\n\tconst getPreviousStep = (step: T): T => {\n\t\t// Find current and previous step Index\n\t\tlet currentStepIndex = steps.findIndex(element => element === step);\n\t\tlet previousStepIndex = currentStepIndex - 1;\n\t\t// Handle trying to get previous step from first step\n\t\tif (previousStepIndex < 0) throw new Error(\"Can not got to previous step as it is already at the first step\");\n\t\t// Get previous step\n\t\tlet previousStep = steps[previousStepIndex];\n\t\treturn previousStep;\n\t}\n\n\tconst isHigherOrCurrentStep = (sourceStep: T, targetStep: T): boolean => {\n\t\tif (sourceStep === targetStep) return true;\n\t\treturn isHigherStep(sourceStep, targetStep);\n\t}\n\n\tconst isHigherStep = (sourceStep: T, targetStep: T): boolean => {\n\t\t// Find source and target step Index\n\t\tlet sourceStepIndex = steps.findIndex(element => element === sourceStep);\n\t\tlet targetStepIndex = steps.findIndex(element => element === targetStep);\n\t\tif (sourceStepIndex === -1 || targetStepIndex === -1) {\n\t\t\tthrow `One of the step could not be found. Source: ${sourceStep} [${sourceStepIndex}], Target: ${targetStep} [${targetStepIndex}]`;\n\t\t}\n\t\t// Return true if target step is higher than source step\n\t\tlet isHigher = targetStepIndex > sourceStepIndex;\n\t\treturn isHigher;\n\t}\n\n\n\tconst mergeSteps = (additionalSteps: T[]): void => {\n\t\tlet newSteps = [...initialSteps];\n\t\tadditionalSteps.forEach(step => {\n\t\t\tif (steps.indexOf(step) === -1) {\n\t\t\t\tnewSteps.push(step);\n\t\t\t}\n\t\t});\n\t\tsetSteps(newSteps);\n\t}\n\n\tconst getStepIndex = (step: T): number => {\n\t\treturn steps.findIndex(element => element === step);\n\t}\n\n\tuseEffect(() => {\n\t\tconsole.debug(\"steps\", steps);\n\t}, [steps]);\n\n\treturn { steps, getNextStep, getPreviousStep, isHigherStep, mergeSteps, isHigherOrCurrentStep, getStepIndex };\n}\n\nfunction useSignupSteps() {\n\t// Initialize Steps and define their order\n\treturn useSteps([\n\t\tSignupStep.One,\n\t\tSignupStep.Two,\n\t\tSignupStep.Four,\n\t\tSignupStep.Five,\n\t\tSignupStep.Six,\n\t\tSignupStep.Seven,\n\t]);\n}\n\nfunction useDossierSteps() {\n\treturn useSteps([\n\t\tEtapeCreationDossier.ValidationStructure,\n\t\tEtapeCreationPlus.ValidationStructure2,\n\t\tEtapeCreationDossier.Type,\n\t\tEtapeCreationDossier.Criteres,\n\t]);\n}\n\nfunction useVersementSteps() {\n\treturn useSteps([\n\t\tEtapeDemandeVersement.ValidationStructure,\n\t\tEtapeDemandeVersement.ValidationDocumentStructure,\n\t\tEtapeDemandeVersement.InformationsProjet,\n\t\t// EtapeDemandeVersement.ValidationArtiste,\n\t\t// EtapeDemandeVersement.PieceJointe,\n\t\t// EtapeDemandeVersement.ConfirmationRIB,\n\t\t// EtapeDemandeVersement.Recapitulatif,\n\t]);\n}\n\nexport { useSignupSteps, useDossierSteps, useVersementSteps }","import React from \"react\";\nimport SignupStep from \"../../../context/SignupSteps\";\nimport { useTranslation } from \"react-i18next\";\nimport { useSignupSteps } from \"../../../custom-hooks/useSteps\";\n\ninterface SignupListProps {\n\tcurrentStep: SignupStep;\n\thighestStep: SignupStep;\n\tnavigateToStep: (step: SignupStep) => void;\n}\n\nconst SignupList: React.FC = ({\n\tnavigateToStep,\n\thighestStep\n}) => {\n\n\tconst { isHigherStep } = useSignupSteps();\n\n\tconst { t } = useTranslation();\n\n\treturn (\n\t\t
\n\t\t\t\n\t\t
\n\t)\n}\n\nexport default SignupList;","import React from \"react\"\nimport { useTranslation } from \"react-i18next\";\nimport { Link } from \"@reach/router\";\n\nconst Login = () => {\n \n const { t } = useTranslation();\n\n return (\n <>\n {t('signup.login.title')}\n \n

{t('signup.login.linkLabel')}

\n \n \n )\n}\n\nexport default Login;","import React, { KeyboardEvent } from \"react\"\nimport { ErrorMessage } from \"react-hook-form\";\nimport Loader from 'react-loader-spinner';\nimport \"react-loader-spinner/dist/loader/css/react-spinner-loader.css\";\n\ninterface InputValidationProps {\n name:string;\n reference: any;\n label: string;\n placeHolder: string;\n maxLength?: number;\n type?: string;\n buttonLabel: string;\n onChange?: (value: string) => void;\n onValidate?: () => void;\n validated: boolean;\n errors?: any;\n isLoading?: boolean;\n\tonPaste?: (event: React.ClipboardEvent) => void;\n\tonInput?: (e?: KeyboardEvent) => void;\n\terrorMessageCusto?: string;\n}\n\nconst InputValidation: React.FunctionComponent = ({\n name,\n buttonLabel,\n label,\n placeHolder,\n maxLength,\n reference,\n type = 'text',\n validated,\n errors,\n onChange,\n onValidate,\n isLoading,\n\tonPaste,\n onInput,\n\terrorMessageCusto\n}) => {\n return (\n
\n {label}\n\n
\n {\n if (onChange) onChange(e.target.value)\n }}\n onPaste={onPaste}\n onInput={onInput}\n />\n {\n isLoading ?\n \n : validated ?\n \n : \n }\n
\n\n {errors &&\n \n {({ message }) =>

{message}

}\n
\n }\n {errorMessageCusto &&\n

{errorMessageCusto}

\n }\n
\n )\n}\n\nexport default InputValidation;","import React from \"react\";\nimport { useTranslation } from 'react-i18next';\n\ninterface StepCounterProps {\n counter: number;\n}\n\nconst StepCounter: React.FC = (props) => {\n\tconst { t } = useTranslation();\n\n return(\n
\n {t(\"signup.step\")} {props.counter}/7\n
\n )\n}\n\nexport default StepCounter;","import React, { useState, forwardRef, useImperativeHandle, useEffect, useCallback } from \"react\";\nimport { Controller, useForm } from \"react-hook-form\";\nimport { useAxios } from \"../../custom-hooks/useAxios\";\nimport { useTranslation } from \"react-i18next\";\nimport { StructureClient, FormeJuridiqueDto, GeoAdresseDto, AdresseClient, Civilite, TypePoste } from \"../../services/generated/FrontOffice-api\";\nimport { useAppDispatch, useStepOneContext } from \"../../context/context-helpers\";\nimport { IStepOneModel } from \"../../models/signup\";\nimport { ActionTypeEnum } from \"../../context/ActionType\";\nimport { RouteComponentProps } from \"@reach/router\";\n\nimport Subtitles from \"../basics/Subtitles\";\nimport InputValidation from \"../basics/InputValidation\";\nimport useValidation from \"../../custom-hooks/useValidation\";\nimport Input from \"../basics/Input\";\nimport StepCounter from \"./signup-items/StepCounter\";\nimport InputSelect, { AdelOption } from \"adel-shared/dist/components/basics/InputSelect\";\nimport _ from 'lodash';\nimport { toast } from \"react-toastify\";\n\ninterface StepOneProps extends RouteComponentProps {\n\tref: any;\n\tsetCanGoNext: (value: boolean) => void;\n}\n\nconst StepOne: React.FC = forwardRef(({\n\tsetCanGoNext\n}, ref) => {\n\tconst dispatch = useAppDispatch();\n\tconst {\n\t\tregister,\n\t\thandleSubmit,\n\t\tgetValues,\n\t\tsetValue,\n\t\ttriggerValidation,\n\t\tcontrol,\n\t\twatch,\n\t\terrors\n\t} = useForm({ defaultValues: useStepOneContext() });\n\n\tconst [siretValidated, setSiretValidated] = useState(useStepOneContext()?.isValidated);\n\tconst [isLoading, setIsLoading] = useState(false);\n\tconst [formeJuridique, setFormeJuridique] = useState(useStepOneContext()?.formeJuridique);\n\tconst [formeJuridiques, setFormesJuridiques] = useState>([]);\n\tconst [formeJuridiqueReadOnly, setFormeJuridiqueReadOnly] = useState(useStepOneContext()?.formeJuridiqueReadOnly);\n\tconst [raisonSocialeReadonly, setRaisonSocialeReadonly] = useState(false);\n\tconst [civilite, setCivilite] = useState(Civilite.Monsieur);\n\n\tconst { getRootValidator } = useValidation();\n\tconst createStructureValidator = getRootValidator(\"CreateStructureDto\");\n\tconst adresseValidator = getRootValidator(\"CreateOrUpdateAdresseDto\");\n\tconst contactValidator = getRootValidator(\"CreateContactValidator\");\n\n\tconst context = useStepOneContext();\n\n\tconst onSubmit = (data: any) => { };\n\n\tconst { t } = useTranslation();\n\tconst axiosInstance = useAxios();\n\tconst [geoAdresse, setGeoAdresse] = useState([]);\n\n\tconst {ville, codePostal} = watch(['ville', 'codePostal']);\n\n\tconst options = () => {\n\t\tlet allOptions: AdelOption[] = [];\n\n\t\tfor (let civilite in Civilite) {\n\t\t\tif(civilite === \"None\") continue;\n\t\t\tallOptions.push(\n\t\t\t\t{\n\t\t\t\t\tvalue: Civilite[civilite as keyof typeof Civilite],\n\t\t\t\t\tlabel: t(`common.civilite.${Civilite[civilite as keyof typeof Civilite]}`)\n\t\t\t\t}\n\t\t\t)\n\t\t}\n\t\treturn allOptions;\n\t};\n\n\n\tconst optionsPoste = useCallback(() => {\n\t\tlet allOptions: AdelOption[] = [];\n\n\t\tconst gerant:AdelOption = {\n\t\t\tvalue: TypePoste.Gerant,\n\t\t\tlabel: t(\"signup.step-one.poste.gerant\")\n\t\t}\n\n\t\tconst president:AdelOption = {\n\t\t\tvalue: TypePoste.President,\n\t\t\tlabel: t(\"signup.step-one.poste.president\")\n\t\t}\n\n\t\tconst directeur:AdelOption = {\n\t\t\tvalue: TypePoste.Directeur,\n\t\t\tlabel: t(\"signup.step-one.poste.directeur\")\n\t\t}\n\n\t\tif (formeJuridique?.code === \"SARL\") {\n\t\t\tallOptions = [gerant]\n\t\t} else if (formeJuridique?.code === \"ASSO\") {\n\t\t\tallOptions = [president]\n\t\t} else {\n\t\t\tallOptions = [directeur, gerant, president]\n\t\t}\n\n\t\treturn allOptions;\n\n\t}, [formeJuridique]);\n\n\n\tuseImperativeHandle(ref, () => ({\n\t\tasync validateForm(): Promise {\n\t\t\tlet result = await triggerValidation();\n\t\t\tresult = result && siretValidated;\n\n\t\t\tif (!getValues().telephoneFixe && !getValues().telephonePortable) {\n\t\t\t toast.error(t('errors.telephone'));\n\t\t\t\treturn;\n\t\t\t}\t\n\t\t\tif (result) {\n\t\t\t\tdispatch({\n\t\t\t\t\ttype: ActionTypeEnum.SET_SIGNUP_STEP_ONE, payload: {\n\t\t\t\t\t\tsiret: getValues().siret,\n\t\t\t\t\t\traisonSociale: getValues().raisonSociale,\n\t\t\t\t\t\tadresse: getValues().adresse,\n\t\t\t\t\t\tline2: getValues().line2,\n\t\t\t\t\t\tcodePostal: getValues().codePostal,\n\t\t\t\t\t\tville: getValues().ville,\n\t\t\t\t\t\tformeJuridique,\n\t\t\t\t\t\tpresidentPrenom: getValues().presidentPrenom,\n\t\t\t\t\t\tpresidentNom: getValues().presidentNom,\n\t\t\t\t\t\tpresidentPoste: getValues().presidentPoste,\n\t\t\t\t\t\ttelephoneFixe: getValues().telephoneFixe,\n\t\t\t\t\t\ttelephonePortable: getValues().telephonePortable,\n\t\t\t\t\t\tcodeAPE: getValues().codeAPE,\n\t\t\t\t\t\tnomenclatureAPE: getValues().nomenclatureAPE,\n\t\t\t\t\t\temail: getValues().email,\n\t\t\t\t\t\tisValidated: true,\n\t\t\t\t\t\tcivilite,\n\t\t\t\t\t\tformeJuridiqueReadOnly\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn result;\n\t\t}\n\t}));\n\n\tconst validateSiret = async (): Promise => {\n\t\tif (!triggerValidation(\"siret\")) {\n\t\t\treturn false;\n\t\t}\n\n\t\tlet { siret } = getValues();\n\t\tsetIsLoading(true);\n\n\t\ttry {\n\t\t\tconst structureClient = new StructureClient('', axiosInstance);\n\t\t\tlet result = await structureClient.getStructureInfoFromSiret(siret, undefined);\n\n\t\t\tif (result.isRegisteredWithAdel) {\n\t\t\t\ttoast.error(t('errors.siretAlreadyRegistered'));\n\t\t\t\tsetIsLoading(false);\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tsetSiretValidated(true);\n\n\t\t\tsetValue([\n\t\t\t\t{ adresse: result.adresse?.line1 },\n\t\t\t\t{ line2: result.adresse?.line2 },\n\t\t\t\t{ codePostal: result.adresse?.codePostal },\n\t\t\t\t{ ville: result.adresse?.ville },\n\t\t\t\t{ email: \"\" },\n\t\t\t\t{\n\t\t\t\t\tformeJuridique: result.formeJuridique ? {\n\t\t\t\t\t\tid: result.formeJuridique.id,\n\t\t\t\t\t\tcode: result.formeJuridique.code,\n\t\t\t\t\t\tnom: result.formeJuridique.nom\n\t\t\t\t\t} : {}\n\t\t\t\t},\n\t\t\t\t{ presidentNom: result.nomPresident },\n\t\t\t\t{ raisonSociale: result.raisonSociale },\n\t\t\t\t{ siret: result.siret },\n\t\t\t\t{ telephoneFixe: result.telephoneFixe },\n\t\t\t\t{ telephonePortable: result.telephonePortable },\n\t\t\t\t{ codeAPE: result.codeAPE },\n\t\t\t\t{ nomenclatureAPE: result.nomenclatureAPE }\n\t\t\t]);\n\n\t\t\tif (!result.formeJuridique || result.formeJuridique?.code === \"\") {\n\t\t\t\tsetFormeJuridiqueReadOnly(false);\n\t\t\t} else {\n\t\t\t\tsetFormeJuridiqueReadOnly(true);\n\t\t\t}\n\n\t\t\tsetFormeJuridique({\n\t\t\t\tid: result.formeJuridique?.id ? result.formeJuridique.id : \"\",\n\t\t\t\tcode: result.formeJuridique?.code ? result.formeJuridique.code : \"\",\n\t\t\t\tnom: result.formeJuridique?.nom ? result.formeJuridique.nom : \"\"\n\t\t\t});\n\n\t\t\tsetRaisonSocialeReadonly(result.raisonSociale ? true : false);\n\t\t\tsetIsLoading(false);\n\t\t\treturn true;\n\t\t}\n\n\t\tcatch (error) {\n\t\t\tdispatch({ type: ActionTypeEnum.ERROR_OCCURRED, payload: { type: error } });\n\t\t\tsetSiretValidated(false);\n\t\t\tsetIsLoading(false);\n\t\t\t\n\t\t\tif (error.exception?.message)\n\t\t\t\ttoast.error(error.exception.message);\n\t\t\telse\n\t\t\t\ttoast.error(t(\"errors.default\"));\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tuseEffect(() => {\n\t\tconst structureClient = new StructureClient('', axiosInstance);\n\t\tstructureClient.getFormesJuridiques().then((result) => {\n\t\t\tsetFormesJuridiques(result);\n\t\t})\n\t\t\t.catch((error) => {\n\t\t\t\tdispatch({ type: ActionTypeEnum.ERROR_OCCURRED, payload: { type: error } });\n\t\t\t});\n\t}, [axiosInstance, dispatch]); // Call only once to retrieve forme juridique list\n\n\tuseEffect(() => {\n\t\tsetCanGoNext(siretValidated);\n\t}, [siretValidated, setCanGoNext]);\n\n\tuseEffect(() => {\n\t\tsetCivilite(context.civilite);\n\t}, [context])\n\n\t// Invalidate Siret to be able to query again the api if the SIRET is modified\n\tconst invalidateSiret = async (): Promise => {\n\t\tsetSiretValidated(false);\n\t}\n\n\tconst getOptionsFromFormeJuridique = (optionArray: Array): AdelOption[] => {\n\t\tlet selectResult: AdelOption[] = [];\n\t\toptionArray.map(item => {\n\t\t\ttry {\n\t\t\t\tlet option = getOptionFromFormeJuridique(item);\n\t\t\t\treturn selectResult.push(option);\n\t\t\t} catch (error) {\n\t\t\t\tif (error.exception?.message)\n\t\t\t\t\ttoast.error(error.exception.message);\n\t\t\t\telse\n\t\t\t\t\ttoast.error(t(\"errors.default\"));\n\t\t\t}\n\t\t})\n\t\treturn selectResult;\n\t}\n\n\tconst getOptionFromFormeJuridique = (item: FormeJuridiqueDto): AdelOption => {\n\t\tif (!item.code) {\n\t\t\treturn getOptionsFromFormeJuridique(formeJuridiques)[0];\n\t\t\t// throw `No code found for item`\n\t\t}\n\t\treturn {\n\t\t\tlabel: item.code,\n\t\t\tvalue: item\n\t\t}\n\t}\n\n\tconst searchAdresse = (input: string) => {\n\t\tsetValue([{ adresse: input }]);\n\n\t\tif (!!input) {\n\t\t\ttry {\n\t\t\t\tconst adresseClient = new AdresseClient('', axiosInstance);\n\n\t\t\t\tadresseClient.searchAdresse(`${ville} ${input}`, codePostal).then(results => {\n\t\t\t\t\tsetGeoAdresse(results);\n\t\t\t\t});\n\t\t\t\tonAdresseChange(input);\n\t\t\t}\n\n\t\t\tcatch (error) {\n\t\t\t\tif (error.exception?.message)\n\t\t\t\t\ttoast.error(error.exception.message);\n\t\t\t\telse\n\t\t\t\t\ttoast.error(t(\"errors.default\"));\n\t\t\t}\n\t\t}\n\t}\n\n\tconst onAdresseChange = (label: string) => {\n\t\tif (!label) {\n\t\t\tsetValue([\n\t\t\t\t{ adresse: null },\n\t\t\t\t{ codePostal: null },\n\t\t\t\t{ ville: null }\n\t\t\t]);\n\t\t\treturn;\n\t\t}\n\n\t\tconst geoAdresseFiltered = geoAdresse.filter(adresse => adresse.label === label);\n\n\t\tif (geoAdresseFiltered.length > 0) {\n\t\t\tconst selectedAdresse = geoAdresseFiltered[0];\n\t\t\tsetValue([\n\t\t\t\t{ adresse: `${selectedAdresse.numero} ${selectedAdresse.rue}` },\n\t\t\t\t{ codePostal: selectedAdresse.codePostal },\n\t\t\t\t{ ville: selectedAdresse.ville },\n\t\t\t]);\n\t\t}\n\t}\n\n\treturn (\n\t\t<>\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t
\n\t\t\t\t {\n\t\t\t\t\t\tlet clipboardContent = e.clipboardData.getData(\"Text\");\n\t\t\t\t\t\tsetValue(\"siret\", clipboardContent.replace(/\\D/g, ''));\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}}\n\t\t\t\t\tvalidated={siretValidated}\n\t\t\t\t\terrors={errors}\n\t\t\t\t/>\n\n\t\t\t\t{siretValidated &&
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\n\t\t\t\t\t
\n\t\t\t\t\t\t adresse.label)}\n\t\t\t\t\t\t\tonChange={_.debounce((value) => searchAdresse(value), 1000)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\n\t\t\t\t\t
\n\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tname={name}\n\t\t\t\t\t\t\t\t\tlabel={t('signup.step-one.forme-juridique.label')}\n\t\t\t\t\t\t\t\t\tclassname=\"inputSelectFO\"\n\t\t\t\t\t\t\t\t\toptions={getOptionsFromFormeJuridique(formeJuridiques)}\n\t\t\t\t\t\t\t\t\tonChange={setFormeJuridique}\n\t\t\t\t\t\t\t\t\tvalue={formeJuridique}\n\t\t\t\t\t\t\t\t\terrors={errors}\n\t\t\t\t\t\t\t\t\tcustomMatchValue={(source, target) => source.id === target.id}\n\t\t\t\t\t\t\t\t\treadonly={formeJuridiqueReadOnly}\n\t\t\t\t\t\t\t\t\tplaceholder={t(\"common.select\")}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\trules={createStructureValidator?.[\"FormeJuridiqueId\"]}\n\t\t\t\t\t\t/>\n\t\t\t\t\t
\n\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tname=\"civilite\"\n\t\t\t\t\t\t\tlabel={t('signup.step-four.civilite')}\n\t\t\t\t\t\t\tclassname=\"inputSelectFO\"\n\t\t\t\t\t\t\toptions={options()}\n\t\t\t\t\t\t\terrors={errors}\n\t\t\t\t\t\t\tonChange={setCivilite}\n\t\t\t\t\t\t\tvalue={civilite}\n\t\t\t\t\t\t\tplaceholder={t(\"common.select\")}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t\n\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tname={name}\n\t\t\t\t\t\t\t\t\tlabel={t('signup.step-four.poste')}\n\t\t\t\t\t\t\t\t\tclassname=\"inputSelectFO\"\n\t\t\t\t\t\t\t\t\toptions={optionsPoste()}\n\t\t\t\t\t\t\t\t\terrors={errors}\n\t\t\t\t\t\t\t\t\tonChange={onChange}\n\t\t\t\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\t\t\t\tplaceholder={t(\"common.select\")}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\trules={contactValidator?.[\"Poste\"]}\n\t\t\t\t\t\t/>\n\t\t\t\t\t
\n\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
}\n\t\t\t\n\t\t\n\t)\n})\n\nexport default StepOne;","import React from \"react\"\nimport { ErrorMessage } from \"react-hook-form\";\n\ninterface TextareaProps {\n name: string;\n reference?: any;\n label?: string;\n value?: string;\n placeholder?: string;\n onChange?: (value: string) => void;\n\terrors?: any;\n\tmaxLength?: number;\n}\n\nconst Textarea: React.FunctionComponent = ({\n label,\n\tname,\n\tvalue,\n placeholder,\n reference,\n\terrors,\n\tmaxLength,\n onChange\n}) => {\n return (\n
\n \n\n {\n (onChange) && onChange(e.target.value)\n }\n }>\n \n\n {errors &&\n \n {({ messages }) => {\n return (\n Object.keys(errors).map((key) => (\n errors[key].message && \n

{errors[key].message}

\n ))\n );\n }}\n
\n }\n
\n )\n}\n\nexport default Textarea;","import React, { forwardRef, useImperativeHandle, useEffect } from \"react\";\n\nimport Textarea from \"../../components/basics/Textarea\";\nimport Subtitles from \"../../components/basics/Subtitles\";\nimport StepCounter from \"../../components/signup/signup-items/StepCounter\";\n\nimport { useForm } from \"react-hook-form\";\nimport { IStepTwoModel } from \"../../models/signup\";\nimport { ActionTypeEnum } from \"../../context/ActionType\";\nimport { useTranslation } from \"react-i18next\";\nimport { useAppDispatch, useStepTwoContext } from \"../../context/context-helpers\";\nimport { RouteComponentProps } from \"@reach/router\";\nimport useValidation from \"../../custom-hooks/useValidation\";\n\ninterface StepTwoProps extends RouteComponentProps {\n\tvalue?: IStepTwoModel;\n\tref: any;\n\tsetCanGoNext: (value: boolean) => void;\n}\n\nconst StepTwo: React.FunctionComponent = forwardRef((props, ref) => {\n\tconst { register, getValues, triggerValidation, errors } = useForm({ defaultValues: useStepTwoContext() });\n\n\tconst { getRootValidator } = useValidation();\n\tconst createStructureDto = getRootValidator(\"CreateStructureDto\");\n\n\tconst { t } = useTranslation();\n\n\tconst dispatch = useAppDispatch();\n\n\tconst myProp = props;\n\n\tuseImperativeHandle(ref, () => ({\n\t\tasync validateForm(): Promise {\n\t\t\tconst result = await triggerValidation();\n\t\t\tif (result) {\n\t\t\t\tdispatch({ type: ActionTypeEnum.SET_SIGNUP_STEP_TWO, payload: getValues() });\n\t\t\t}\n\t\t\treturn result;\n\t\t}\n\t}));\n\n\tuseEffect(() => {\n\t\tmyProp.setCanGoNext(true);\n\t}, [myProp]);\n\n\treturn (\n\t\t<>\n\t\t\t
\n\n\t\t\t\t\n\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\n\t\t\n\t)\n})\n\nexport default StepTwo;","import React, { FunctionComponent } from \"react\"\nimport { ErrorMessage } from \"react-hook-form\";\ninterface CheckboxRoundProps {\n name: string;\n reference: any;\n id: string;\n label: string;\n sublabel?: string;\n onClick?: () => void;\n onChange?: () => void;\n checked?: boolean;\n errors?: any;\n}\n\nconst CheckboxRound: FunctionComponent = (props) => {\n return (\n
\n
\n\n \n\n {props.errors &&\n \n {({ messages }) =>\n messages &&\n Object.entries(messages).map(([type, message]) => (\n

{message}

\n ))\n }\n
\n }\n\n \n\n
\n\n
\n \n
\n
\n )\n}\n\nexport default CheckboxRound;","import moment from 'moment';\r\nexport const reduceToOneDigit = (value) => {\r\n let sum = null;\r\n let tmp = null;\r\n while (value >= 10) {\r\n sum = 0;\r\n tmp = value;\r\n while (tmp !== 0) {\r\n sum += (tmp % 10);\r\n tmp = tmp / 10;\r\n }\r\n value = sum;\r\n }\r\n return value;\r\n};\r\nexport function calculateMod(str, mod) {\r\n let n = str.length;\r\n if (n <= 10)\r\n return parseInt(str) % mod;\r\n else {\r\n const first = str.substring(0, n - 10);\r\n const second = str.substring(n - 10);\r\n return (calculateMod(first, mod) * (Math.pow(10, 10) % mod) + parseInt(second, 10) % mod) % mod;\r\n }\r\n}\r\nexport const scrollToBottom = (id) => {\r\n var messageBody = document.getElementById(id);\r\n if (messageBody) {\r\n messageBody.scrollTop = messageBody.scrollHeight - messageBody.clientHeight;\r\n }\r\n};\r\nexport const scrollWindowTop = () => {\r\n window.scrollTo(0, 0);\r\n};\r\nexport const normalizeDate = (date) => {\r\n if (date)\r\n return new Date(date.getTime() + Math.abs(date.getTimezoneOffset() * 60000));\r\n};\r\nexport const escapeName = (name) => {\r\n if (name)\r\n return name === null || name === void 0 ? void 0 : name.replace(/\\W/g, '');\r\n};\r\nexport const formatNumber = (number = 0, style) => {\r\n return new Number(Math.round(number * 100) / 100).toLocaleString(\"fr-FR\", { style: style || \"decimal\" });\r\n};\r\nexport const formatPhone = (nb) => {\r\n var _a, _b;\r\n if (nb) {\r\n if (nb.substring(0, 3) === \"+33\" || nb.substring(0, 1) === \"+\")\r\n return nb.substring(0, 4) + \" \" + ((_a = nb.substring(4).match(/.{1,2}/g)) === null || _a === void 0 ? void 0 : _a.join(\" \"));\r\n else\r\n return (_b = nb.match(/.{1,2}/g)) === null || _b === void 0 ? void 0 : _b.join(\" \");\r\n }\r\n};\r\nexport const sortArrayAsc = (a, b) => {\r\n if (a < b) {\r\n return -1;\r\n }\r\n else if (a == b) {\r\n return 0;\r\n }\r\n else {\r\n return 1;\r\n }\r\n};\r\nexport const capitalizeFirstLetter = (value) => {\r\n if (value)\r\n return value.charAt(0).toUpperCase() + value.slice(1);\r\n};\r\nexport const formaterDate = (date) => {\r\n if (date)\r\n return moment(date).format('DD/MM/YY');\r\n};\r\nexport const formaterDateWithTime = (date) => {\r\n if (date)\r\n return moment(date).format('DD/MM/YY HH:mm:ss');\r\n};\r\n","import React, { useState, useEffect, forwardRef, useImperativeHandle } from \"react\";\n\nimport Subtitles from \"../basics/Subtitles\";\nimport CheckBoxRound from \"../basics/CheckboxRound\";\nimport Input from \"../basics/Input\";\nimport StepCounter from \"../../components/signup/signup-items/StepCounter\";\nimport InputSelect, { AdelOption } from \"adel-shared/dist/components/basics/InputSelect\";\n\nimport { IStepFourModel } from \"../../models/signup\";\nimport { Controller, useForm } from \"react-hook-form\";\nimport { ActionTypeEnum } from \"../../context/ActionType\";\nimport useValidation from '../../custom-hooks/useValidation';\nimport { useAppDispatch, useStepFourContext, useStepOneContext } from \"../../context/context-helpers\";\nimport { RouteComponentProps } from \"@reach/router\";\nimport { Civilite, TypePoste } from '../../services/generated/FrontOffice-api';\nimport { useTranslation } from \"react-i18next\";\nimport { formatPhone } from 'adel-shared/dist/utils/functions';\n\ninterface StepFourProps extends RouteComponentProps {\n\tvalue?: IStepFourModel;\n\tref: any;\n\tsetInput?: any;\n\tcheckInput?: any;\n\tsetCheckInput?: any;\n\tsetStepFour?: any;\n\tsetStepFive?: any;\n\tsetCanGoNext: (value: boolean) => void;\n}\n\nconst StepFour: React.FunctionComponent = forwardRef((props, ref) => {\n\tconst [defaultCheckbox, setDefaultCheckbox] = useState(true);\n\tconst [otherCheckbox, setOtherCheckbox] = useState(false);\n\tconst defaultContact = useStepOneContext();\n\tconst [civilite, setCivilite] = useState(Civilite.Monsieur);\n\tconst context = useStepFourContext();\n\tconst { register, getValues, triggerValidation, control, errors } = useForm({ defaultValues: context })\n\tconst { getRootValidator } = useValidation();\n\tconst contactValidator = getRootValidator(\"CreateContactValidator\");\n\tconst dispatch = useAppDispatch();\n\tconst { t } = useTranslation();\n\tconst myProp = props;\n\n\tuseImperativeHandle(ref, () => ({\n\t\tasync validateForm(): Promise {\n\t\t\tconst result = await triggerValidation();\n\t\t\tif (result) {\n\t\t\t\tdispatch({\n\t\t\t\t\ttype: ActionTypeEnum.SET_SIGNUP_STEP_FOUR, payload:\n\t\t\t\t\t\tgetValues().hasCorrespondantParDefaut\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\thasCorrespondantParDefaut: getValues().hasCorrespondantParDefaut,\n\t\t\t\t\t\t\t\temail: null,\n\t\t\t\t\t\t\t\tnom: null,\n\t\t\t\t\t\t\t\tposte: null,\n\t\t\t\t\t\t\t\tprenom: null,\n\t\t\t\t\t\t\t\ttelephoneFixe: null,\n\t\t\t\t\t\t\t\ttelephonePortable: null,\n\t\t\t\t\t\t\t\tcivilite: Civilite.Monsieur,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\thasCorrespondantParDefaut: getValues().hasCorrespondantParDefaut,\n\t\t\t\t\t\t\t\temail: getValues().email,\n\t\t\t\t\t\t\t\tnom: getValues().nom,\n\t\t\t\t\t\t\t\tposte: getValues().poste,\n\t\t\t\t\t\t\t\tprenom: getValues().prenom,\n\t\t\t\t\t\t\t\ttelephoneFixe: getValues().telephoneFixe,\n\t\t\t\t\t\t\t\ttelephonePortable: getValues().telephonePortable,\n\t\t\t\t\t\t\t\tcivilite: civilite,\n\t\t\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn result;\n\t\t}\n\t}));\n\n\tconst handleCheckbox = () => {\n\t\tsetDefaultCheckbox(!defaultCheckbox);\n\t\tsetOtherCheckbox(!otherCheckbox)\n\t}\n\n\tuseEffect(() => {\n\t\tsetCivilite(context.civilite);\n\t\tsetDefaultCheckbox(context.hasCorrespondantParDefaut);\n\t\tsetOtherCheckbox(!context.hasCorrespondantParDefaut);\n\t\tmyProp.setCanGoNext(true);\n\t}, [myProp, context])\n\n\tconst options = () => {\n\t\tlet allOptions: AdelOption[] = [];\n\n\t\tfor (let civilite in Civilite) {\n\t\t\tif(civilite === \"None\") continue;\n\t\t\tallOptions.push(\n\t\t\t\t{\n\t\t\t\t\tvalue: Civilite[civilite as keyof typeof Civilite],\n\t\t\t\t\tlabel: t(`common.civilite.${Civilite[civilite as keyof typeof Civilite]}`)\n\t\t\t\t}\n\t\t\t)\n\t\t}\n\t\treturn allOptions;\n\t};\n\n\tconst posteOptions = () => {\n\t\tlet allOptions: AdelOption[] = [];\n\t\tfor (let poste in TypePoste) {\n\t\t\tif(poste === \"None\") continue;\n\t\t\tif(poste === \"President\") continue;\n\t\t\tif(poste === \"Gerant\") continue;\n\t\t\tallOptions.push(\n\t\t\t\t{\n\t\t\t\t\tvalue: TypePoste[poste as keyof typeof TypePoste],\n\t\t\t\t\tlabel: t(`common.typePoste.${TypePoste[poste as keyof typeof TypePoste]}`)\n\t\t\t\t}\n\t\t\t)\n\t\t}\n\t\treturn allOptions;\n\t}\n\n\treturn (\n\t\t<>\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t
\n\t\t\t\t\n\n\t\t\t\t
\n\t\t\t\t\t{t('signup.step-four.president')} {defaultContact.presidentPrenom} \n\t\t\t\t\t{defaultContact.presidentNom} - \n\t\t\t\t\t{defaultContact.telephoneFixe && (\n\t\t\t\t\t\t{formatPhone(defaultContact.telephoneFixe)} - \n\t\t\t\t\t)}\n\t\t\t\t\t{defaultContact.telephonePortable && (\n\t\t\t\t\t\t{formatPhone(defaultContact.telephonePortable)} - \n\t\t\t\t\t)}\n\t\t\t\t\t{defaultContact.email}\n\t\t\t\t
\n\t\t\t
\n\n\t\t\t\n\n\t\t\t{otherCheckbox &&\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tname={name}\n\t\t\t\t\t\t\t\t\tlabel={t('signup.step-four.poste')}\n\t\t\t\t\t\t\t\t\tclassname=\"inputSelectFO\"\n\t\t\t\t\t\t\t\t\toptions={posteOptions()}\n\t\t\t\t\t\t\t\t\terrors={errors}\n\t\t\t\t\t\t\t\t\tonChange={onChange}\n\t\t\t\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\t\t\t\tplaceholder={t(\"common.select\")}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tname=\"civilite\"\n\t\t\t\t\t\t\tlabel={t('signup.step-four.civilite')}\n\t\t\t\t\t\t\tclassname=\"inputSelectFO\"\n\t\t\t\t\t\t\toptions={options()}\n\t\t\t\t\t\t\terrors={errors}\n\t\t\t\t\t\t\tonChange={setCivilite}\n\t\t\t\t\t\t\tvalue={civilite}\n\t\t\t\t\t\t\tplaceholder={t(\"common.select\")}\n\t\t\t\t\t\t/>\n\t\t\t\t\t
\n\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\n\t\t\t\t
\n\t\t\t}\n\t\t\n\t)\n})\n\nexport default StepFour;","/**\n * CONFIG CONSTANTS - Les constantes qui servent à configurer manuellement des composants (notamment ceux qui viennent de librairies)\n */\n\nimport { PageNumbers } from 'adel-shared/dist/components/basics/Pagination';\n\nconst modalCustomStyles = {\n\tcontent: {\n\t\toverflow: 'visible',\n\t\tminWidth: '500px'\n\t},\n\toverlay: {\n\t\tbackgroundColor: 'rgba(0, 0, 0, .2)',\n\t\tzIndex: 10\n\t}\n};\nconst modalSmallerCustomStyles = {\n\tcontent: {\n\t\ttop: '50%',\n\t\tleft: '50%',\n\t\tright: 'auto',\n\t\tbottom: 'auto',\n\t\tmarginRight: '-50%',\n\t\ttransform: 'translate(-50%, -50%)',\n\t\tminWidth: '500px',\n\t\tmaxWidth: '500px',\n\t\tpadding: 0\n\t},\n\toverlay: {\n\t\tbackgroundColor: 'rgba(0, 0, 0, .2)',\n\t\tzIndex: 10\n\t}\n};\n\nconst modalLargeCustomStyles = {\n\t...modalCustomStyles,\n\tcontent: {\n\t\tminWidth: '1000px'\n\t}\n};\n\nconst modalLargerCustomStyles = {\n\t...modalCustomStyles,\n\tcontent: {\n\t\tminWidth: '1300px'\n\t}\n};\n\n// La syntaxe de désactivation de l'autocomplete a l'air de changer souvent, il vaut mieux la modifier à un seul endroit au cas où\n// Valeur arbitraire sur chrome pour l'empêcher d'autocomplete\nconst inputAutocompleteDisabled = navigator.userAgent.includes('Chrome') ? 'chrome-off' : 'off';\n\n// Taux de chagres patronales\nconst tauxChargesPatronales = 0.6;\n\n// Nom pays France\nconst nomFrance = \"FRANCE METROPOLITAINE\";\nconst idFrance = \"3-7tgrikpkZUc\";\n\nconst paginationNumbers:PageNumbers = {\n\tp1: 50,\n\tp2: 100,\n\tp3: 200,\n\tp4: 500,\n\tp5: 1000\n}\nconst maxTotalFilesSize = '100';\nconst maxFileSize = '30';\nconst maxFileSizeMb = 30000000;\n\nexport {\n\tmodalCustomStyles,\n\tmodalSmallerCustomStyles,\n\tmodalLargeCustomStyles,\n\tmodalLargerCustomStyles,\n\tinputAutocompleteDisabled,\n\ttauxChargesPatronales,\n\tnomFrance,\n\tidFrance,\n\tpaginationNumbers,\n\tmaxTotalFilesSize,\n\tmaxFileSize,\n\tmaxFileSizeMb\n};\n","import React, { useImperativeHandle, forwardRef, useState, useEffect } from \"react\";\n\nimport Subtitles from \"../basics/Subtitles\";\nimport CheckBoxRound from \"../basics/CheckboxRound\";\nimport Input from \"../basics/Input\";\nimport StepCounter from \"../../components/signup/signup-items/StepCounter\";\n\nimport { useForm } from \"react-hook-form\";\nimport { IStepFiveModel } from \"../../models/signup\";\nimport { ActionTypeEnum } from \"../../context/ActionType\";\nimport useValidation from '../../custom-hooks/useValidation';\nimport { useAppDispatch, useStepFiveContext, useStepOneContext } from \"../../context/context-helpers\";\nimport { RouteComponentProps } from \"@reach/router\";\nimport { useAxios } from \"../../custom-hooks/useAxios\";\nimport { AdresseClient, GeoAdresseDto } from \"../../services/generated/FrontOffice-api\";\nimport _ from 'lodash';\nimport { useTranslation } from \"react-i18next\";\nimport { inputAutocompleteDisabled } from '../../constants/config.constant';\nimport InputSelect from 'adel-shared/dist/components/basics/InputSelect';\nimport { toast } from 'react-toastify';\n\n\ninterface StepFiveProps extends RouteComponentProps {\n\tref: any;\n\tvalue?: IStepFiveModel;\n\tsetCanGoNext: (value: boolean) => void;\n}\n\nconst StepFive: React.FunctionComponent = forwardRef(({\n\tsetCanGoNext\n}, ref) => {\n\tconst [defaultCheckbox, setDefaultCheckbox] = useState(true);\n\tconst [otherCheckbox, setOtherCheckbox] = useState(false);\n\tconst [defaultAdresse,] = useState({\n\t\tadresse: {\n\t\t\tline1: useStepOneContext().adresse,\n\t\t\tcodePostal: useStepOneContext().codePostal,\n\t\t\tville: useStepOneContext().ville,\n\t\t},\n\t});\n\tconst [langue, setLangue] = useState(useStepFiveContext().codeLangue);\n\tconst {\n\t\tregister,\n\t\tgetValues,\n\t\tsetValue,\n\t\ttriggerValidation,\n\t\twatch,\n\t\terrors\n\t} = useForm({ defaultValues: useStepFiveContext() });\n\tconst { getRootValidator } = useValidation();\n\tconst adresseValidator = getRootValidator(\"CreateOrUpdateAdresseDto\");\n\tconst axiosInstance = useAxios();\n\tconst dispatch = useAppDispatch();\n\tconst [geoAdresse, setGeoAdresse] = useState([]);\n\tconst context = useStepFiveContext();\n\tconst { t } = useTranslation();\n\tconst {ville, codePostal} = watch(['ville', 'codePostal']);\n\n\tuseImperativeHandle(ref, () => ({\n\t\tasync validateForm(): Promise {\n\t\t\tconst result = await triggerValidation();\n\t\t\tif (result) {\n\t\t\t\tdispatch({ type: ActionTypeEnum.SET_SIGNUP_STEP_FIVE, payload: {\n\t\t\t\t\true: getValues().rue,\n\t\t\t\t\tcomplementAdresse: getValues().complementAdresse,\n\t\t\t\t\tville: getValues().ville,\n\t\t\t\t\thasAdresseParDefaut: getValues().hasAdresseParDefaut,\n\t\t\t\t\tcodePostal: getValues().codePostal,\n\t\t\t\t\tcodeLangue: langue\n\t\t\t\t}});\n\t\t\t}\n\t\t\treturn result;\n\t\t}\n\t}));\n\n\tuseEffect(() => {\n\t\tsetCanGoNext(true);\n\t}, [setCanGoNext]);\n\n\tconst handleCheckbox = () => {\n\t\tsetDefaultCheckbox(!defaultCheckbox);\n\t\tsetOtherCheckbox(!otherCheckbox)\n\t}\n\n\tconst searchAdresse = (input: string) => {\n\t\tif (!!input) {\n\t\t\ttry {\n\t\t\t\tconst adresseClient = new AdresseClient('', axiosInstance);\n\n\t\t\t\tadresseClient.searchAdresse(`${ville} ${input}`, codePostal).then(results => {\n\t\t\t\t\tsetGeoAdresse(results);\n\n\t\t\t\t});\n\t\t\t\tonAdresseChange(input);\n\t\t\t}\n\n\t\t\tcatch (error) {\n\t\t\t\tif (error.exception?.message)\n\t\t\t\t\ttoast.error(error.exception.message);\n\t\t\t\telse\n\t\t\t\t\ttoast.error(t(\"errors.default\"));\n\t\t\t}\n\t\t}\n\t}\n\n\tconst onAdresseChange = (label: string) => {\n\t\tconst selectedAdresse = geoAdresse.find(adresse => adresse.label === label);\n\t\tif (selectedAdresse) {\n\t\t\tsetValue([\n\t\t\t\t{ rue: `${selectedAdresse.numero} ${selectedAdresse.rue}` },\n\t\t\t\t{ codePostal: selectedAdresse.codePostal },\n\t\t\t\t{ ville: selectedAdresse.ville }\n\t\t\t]);\n\t\t}\n\t}\n\n\tuseEffect(() => {\n\t\tsetDefaultCheckbox(context.hasAdresseParDefaut);\n\t\tsetOtherCheckbox(!context.hasAdresseParDefaut);\n\t}, [context])\n\n\treturn (\n\t\t<>\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\tname=\"langue\"\n\t\t\t\t\tlabel={t(\"myAccount.form.langue\")}\n\t\t\t\t\tclassname=\"inputSelect\"\n\t\t\t\t\toptions={[\n\t\t\t\t\t\t{ value: \"fr\", label: t(`common.fr`)},\n\t\t\t\t\t\t{ value: \"en\", label: t(\"common.en\")}\n\t\t\t\t\t]}\n\t\t\t\t\terrors={errors}\n\t\t\t\t\tonChange={setLangue}\n\t\t\t\t\tvalue={langue}\n\t\t\t\t\tplaceholder={t(\"common.select\")}\n\t\t\t\t/>\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t\n\n\t\t\t\t
\n\t\t\t\t\t{defaultAdresse.adresse.line1}, {defaultAdresse.adresse.codePostal} {defaultAdresse.adresse.ville}\n\t\t\t\t
\n\t\t\t
\n\n\t\t\t\n\n\t\t\t{otherCheckbox &&\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\n\t\t\t\t\t adresse.label)}\n\t\t\t\t\t\tonChange={_.debounce(searchAdresse, 1000)}\n\t\t\t\t\t/>\n\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t}\n\t\t\n\t)\n})\n\nexport default StepFive;","import React, { useState, useRef, useEffect, useCallback } from \"react\";\r\nimport Calendar from \"react-calendar\";\r\nimport Moment from \"react-moment\";\r\nimport 'react-calendar/dist/Calendar.css';\r\nimport useOnClickOutside from 'use-onclickoutside';\r\nimport { ErrorMessage } from \"react-hook-form\";\r\nimport clsx from \"clsx\";\r\nconst InputCalendar = ({ className, defaultDate, name, errors, label, onDateSelected, onResetExtraInfos, unlock = false, minDate, maxDate, position = 'left-bottom' }) => {\r\n const [date, setDate] = useState(defaultDate);\r\n const [showCalendar, setShowCalendar] = useState(false);\r\n const ref = useRef();\r\n useOnClickOutside(ref, () => setShowCalendar(false));\r\n useEffect(() => {\r\n setDate(defaultDate);\r\n }, [defaultDate]);\r\n const handleShowCalendar = useCallback(() => {\r\n setShowCalendar(true);\r\n }, [setShowCalendar, showCalendar]);\r\n const handleReset = useCallback((e) => {\r\n e.stopPropagation();\r\n setDate(null);\r\n onDateSelected(null);\r\n if (onResetExtraInfos)\r\n onResetExtraInfos();\r\n }, [setDate, onDateSelected]);\r\n return (React.createElement(\"div\", { className: clsx(\"inputFile__calendar\", className), onClick: handleShowCalendar, ref: ref },\r\n date ? (React.createElement(React.Fragment, null,\r\n React.createElement(Moment, { format: \"DD/MM/YYYY\" }, date),\r\n React.createElement(\"button\", { className: \"reset\", type: \"button\", onClick: handleReset },\r\n React.createElement(\"i\", { className: \"fas fa-times\" })))) : (React.createElement(\"span\", null, label)),\r\n React.createElement(\"i\", { className: \"far fa-calendar-alt\" }),\r\n showCalendar && (React.createElement(Calendar, { className: clsx(`react-calendar--${position}`), onChange: (date) => {\r\n setDate(date);\r\n onDateSelected(date);\r\n setShowCalendar(false);\r\n }, minDate: minDate, maxDate: unlock ? maxDate : maxDate || new Date(), value: date, locale: \"fr-FR\" })),\r\n errors &&\r\n React.createElement(ErrorMessage, { errors: errors, name: name }, ({ message }) => React.createElement(\"p\", { className: \"input__errorMessage\" }, message))));\r\n};\r\nexport default InputCalendar;\r\n","import { parse } from 'iso8601-duration';\nimport { Duration } from \"../models\";\n\nconst parseToDuration = (iso8601Duration: string): Duration => {\n return parse(iso8601Duration);\n}\n\nexport default parseToDuration;","const tryParseToDate = (value: string): Date | null => {\n\ttry {\n\t\tlet timestamp = Date.parse(value);\n\t\tif(!isNaN(timestamp)) {\n\t\t\treturn new Date(timestamp);\n\t\t}\n\t} catch (e) {\n\t\t// Date could not be parsed but no error is thrown. If you want to parse with Error, do not use `tryParseToDate` but just new Date(value)\n\t}\n\treturn null;\n}\n\nexport default tryParseToDate;","import React, { useState, useEffect, FunctionComponent } from 'react';\n\ninterface InputDocumentInfoDeSaisieProps {\n label: string;\n value: string;\n onChange: (value: string) => void;\n}\n\nconst InputDocumentInfoDeSaisie: FunctionComponent = ({\n label,\n value,\n onChange\n}) => {\n const [internalValue, setInternalValue] = useState(value ?? \"\");\n\n useEffect(() => {\n if(value)\n setInternalValue(value)\n else\n\t\t\tsetInternalValue('')\n }, [value, setInternalValue])\n\n return (\n
\n
\n \n ) => {\n setInternalValue(event.target.value);\n onChange(event.target.value);\n }}\n />\n
\n
\n )\n}\n\nexport default InputDocumentInfoDeSaisie;","import { useRef, useEffect } from 'react';\r\nexport function usePrevious(value) {\r\n const ref = useRef();\r\n useEffect(() => {\r\n ref.current = value;\r\n }, [value]);\r\n return ref.current;\r\n}\r\n","import InputCalendar from \"adel-shared/dist/components/basics/InputCalendar\";\nimport { Dictionary } from \"adel-shared/dist/models\";\nimport { normalizeDate } from 'adel-shared/dist/utils/functions';\nimport clsx from 'clsx';\nimport moment from \"moment\";\nimport React, { ForwardRefExoticComponent, PropsWithoutRef, RefAttributes, forwardRef, useEffect, useImperativeHandle, useState, useRef, useCallback } from \"react\";\nimport { ErrorMessage, FormContextValues, ValidateResult, ValidationOptions } from \"react-hook-form\";\nimport { useTranslation } from \"react-i18next\";\nimport parseToDuration from \"../../../helpers/parseToDuration\";\nimport tryParseToDate from '../../../helpers/tryParseToDate';\nimport { Duration } from \"../../../models\";\nimport { DocumentDto, DocumentExtraInfoDto, TypeDeDocumentDto, TypeDeDocumentExtraInfoDto } from '../../../services/generated/FrontOffice-api';\nimport InputDocumentInfoDeSaisie from './InputDocumentInfoDeSaisie';\nimport { usePrevious } from 'adel-shared/dist/custom-hooks/usePrevious';\n\nexport interface InputDocumentRef {\n reset: () => void;\n}\n\ninterface InputDocumentProps {\n // New way of handling documents\n typeDeDocument: TypeDeDocumentDto;\n document: DocumentDto;\n onDocumentChange?: (document: DocumentDto, file?: File) => void;\n form: FormContextValues;\n onReset: () => void;\n className?: string;\n // Legacy way of handling documents\n defaultDate?: Date;\n defaultFile?: File;\n defaultValues?: Dictionary; // key : extraInfo.code\n onDateChange?: (extraInfoCode: string, date: Date) => void;\n onFileChange?: (typeDocument: TypeDeDocumentDto, file: File) => void;\n onValueChange?: (extraInfoCode: string, value: string) => void;\n\tselection: TypeDeDocumentDto;\n}\n\nconst getDocumentMinDate = (expirationPeriod: Duration): Date => {\n const now = new Date(Date.now());\n const nowYear = now.getFullYear();\n const nowMonth = now.getMonth();\n const nowDay = now.getDate();\n const expiredYear = nowYear - expirationPeriod.years;\n const expiredMonth = nowMonth - expirationPeriod.months;\n const expiredDay = nowDay - expirationPeriod.days;\n const minDate = new Date(expiredYear, expiredMonth, expiredDay);\n\n return minDate;\n}\n\nconst getDocumentMaxDate = (docDate: Date, expirationPeriod: Duration): Date => {\n const docYear = docDate.getFullYear();\n const docMonth = docDate.getMonth();\n const docDay = docDate.getDate();\n\n const expiredYear = docYear + expirationPeriod.years;\n const expiredMonth = docMonth + expirationPeriod.months;\n const expiredDay = docDay + expirationPeriod.days;\n const maxDate = new Date(expiredYear, expiredMonth, expiredDay);\n\n return maxDate;\n}\n\nconst getDocumentMinDateString = (expirationPeriodString: string): Date => {\n const expirationPeriod = parseToDuration(expirationPeriodString);\n return getDocumentMinDate(expirationPeriod);\n}\n\nconst getDocumentMaxDateString = (docDate: Date, expirationPeriodString: string): Date => {\n const expirationPeriod = parseToDuration(expirationPeriodString);\n return getDocumentMaxDate(docDate, expirationPeriod);\n}\n\nconst isDocumentExpired = (\n documentDate: Date,\n expirationDate: Date,\n expirationPeriodString: string\n) => {\n const now = new Date(Date.now());\n if(expirationDate && moment(expirationDate).isBefore(now, 'day')) {\n return true;\n }\n if(expirationPeriodString && documentDate) {\n const maxDate = getDocumentMaxDateString(documentDate, expirationPeriodString);\n const minDate = getDocumentMinDateString(expirationPeriodString);\n if(now > maxDate) {\n return minDate;\n }\n }\n return false;\n}\n\nconst InputDocumentV2: ForwardRefExoticComponent & RefAttributes> = forwardRef(({\n document,\n onDocumentChange,\n typeDeDocument,\n className,\n defaultDate,\n defaultFile,\n defaultValues,\n onFileChange,\n onDateChange,\n onValueChange,\n onReset,\n form: {\n register,\n triggerValidation,\n errors\n }\n}, ref) => {\n const { t, i18n } = useTranslation();\n const [file, setFile] = useState(defaultFile ? defaultFile : undefined);\n const [date, setDate] = useState(defaultDate ? defaultDate : undefined);\n const [isUploadDocumentButtonDisabled, setIsUploadDocumentButtonDisabled] = useState(true);\n const [values, setValues] = useState>(defaultValues ? defaultValues : {});\n\n const prevDate = usePrevious(date);\n const inputFileRef = useRef(null);\n const docExpirationDate = useRef(document?.expirationDate);\n\n const [documentRequired, setDocumentRequired] = useState(false);\n const [dateRequired, setDateRequired] = useState(false);\n const [dateLabel, setDateLabel] = useState<{[key: string]: string}>();\n const [valueRequired, setValueRequired] = useState(false);\n const [infosSaisies, setInfosSaisies] = useState([]);\n\n useEffect(() => {\n docExpirationDate.current = document?.expirationDate;\n }, [document?.expirationDate]);\n\n\tuseEffect(() => {\n\t\tsetFile(undefined);\n\t\tsetDate(undefined);\n\t\tsetValues({});\n\t\tsetIsUploadDocumentButtonDisabled(false);\n\t\tif(typeDeDocument) handleChangeRequiredValues();\n }, [typeDeDocument]);\n\n\n useEffect(() => {\n\t\tif(typeDeDocument) {\n\t\t\thandleChangeRequiredValues();\n\t\t}\n }, [typeDeDocument])\n\n\tconst handleChangeRequiredValues = () => {\n\t\tconst findString = typeDeDocument.extraInfos?.filter(info => info.valueType === \"string\");\n\t\tconst hasDate = typeDeDocument.extraInfos?.some(info => info.valueType === \"date\");\n\t\tconst hasValue = typeDeDocument.extraInfos?.some(info => info.valueType === \"string\");\n\n\t\tsetDocumentRequired(typeDeDocument.isRequired && typeDeDocument.hasAttachment);\n\n\t\tif(hasDate) {\n\t\t\tsetDateLabel(typeDeDocument.extraInfos.find(info => info.valueType === \"date\").nom);\n\t\t\tsetDateRequired(hasDate);\n\t\t}\n\t\telse {\n\t\t\tsetDateRequired(false);\n\t\t\tsetDateLabel(undefined);\n\t\t}\n\n\t\tif(hasValue)\n\t\t\tsetValueRequired(hasValue);\n\t\telse\n\t\t\tsetValueRequired(false);\n\n\t\tif(findString)\n\t\t\tsetInfosSaisies(findString);\n\t}\n\n useEffect(() => {\n if(\n date &&\n prevDate &&\n !moment(date).isSame(prevDate, 'day')\n ) {\n inputFileRef.current.value = '';\n\t\t\tresetExtraInfos();\n }\n }, [date, prevDate]);\n\n useEffect(() => {\n triggerValidation(typeDeDocument.code);\n }, [date, file, dateRequired, valueRequired, documentRequired, docExpirationDate, typeDeDocument]);\n\n useEffect(() => {\n if (!document) {\n if(inputFileRef.current) {\n inputFileRef.current.value = '';\n }\n setFile(undefined);\n return;\n }\n\n if (document.fileName) {\n setFile({ name: document.fileName } as File); // Relatively dangerous workaround :D\n }\n if (document.extraInfo?.some(extraInfo => extraInfo.valueType === \"date\")) {\n const existingDate = tryParseToDate(document.extraInfo.find(extraInfo => extraInfo.valueType === \"date\").value);\n setDate(existingDate);\n }\n if (document.extraInfo?.some(extraInfo => extraInfo.valueType === \"string\")) {\n const defaultValues = {} as Dictionary;\n document.extraInfo.filter(extraInfo => extraInfo.valueType === \"string\").forEach(extraInfo => {\n defaultValues[extraInfo.code] = extraInfo.value;\n });\n setValues(defaultValues);\n }\n\t}, [document])\n\n useEffect(() => {\n evaluateUploadDocumentButton();\n }, [typeDeDocument?.extraInfos, dateRequired, valueRequired, documentRequired, docExpirationDate]);\n\n useImperativeHandle(ref, () => ({\n reset: () => {\n setFile(undefined);\n\t\t\tsetDate(undefined);\n onReset();\n }\n }));\n\n\tconst customFileValidation = useCallback(():ValidationOptions => {\n return {\n\t\t\tvalidate: (data: FileList): ValidateResult => {\n\t\t\t\tconst error = validate(\n\t\t\t\t\tdata[0],\n\t\t\t\t\tdate,\n\t\t\t\t\tfile,\n\t\t\t\t\tdocExpirationDate.current,\n\t\t\t\t\ttypeDeDocument?.expirationPeriod,\n\t\t\t\t\ttypeDeDocument?.expirationRelativeTo,\n\t\t\t\t\tdateRequired\n\t\t\t\t);\n\n\t\t\t\tif(file?.name.length > 100) {\n\t\t\t\t\treturn 'Le nom du fichier ne doit pas excéder 100 caractères.';\n\t\t\t\t}\n\n\t\t\t\tif (error)\n\t\t\t\t\treturn error;\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n }, [dateRequired, valueRequired, documentRequired, date, file, docExpirationDate, typeDeDocument]);\n\n\n\tconst validate = (file: File, date: Date, fileAdded: File, expirationDate: Date, expirationPeriod: string, expirationRelativeTo: string, dateRequired: boolean) => {\n if (dateRequired && !date) {\n return t(`signup.step-six.validations.missing-date`) as string;\n } else {\n\t\t const expiredDate = isDocumentExpired(date, expirationDate, expirationPeriod);\n if(expiredDate) {\n if(typeof expiredDate === 'object') {\n return t(`signup.step-six.validations.too-late-date`, {\n expirationDate: moment(expiredDate).format('DD/MM/YYYY')\n });\n }\n return t(`signup.step-six.validations.expired-date`);\n }\n\n if (valueRequired && !valuesAreValid()) { // multiple value validation\n return t(`signup.step-six.validations.missing-value`) as string;\n }\n\n if (documentRequired && !file && !fileAdded) {\n return t(`signup.step-six.validations.missing-file`) as string;\n }\n }\n return true;\n\t};\n\n const valuesAreValid = (): boolean => {\n return infosSaisies.some(x => values[x.code]);\n }\n\n const handleFileChange = (e: React.ChangeEvent) => {\n if (e.target.files.length !== 0) {\n if (e.target.files[0].name !== \"\") {\n var selectedFile = e.target.files[0];\n setFile(selectedFile);\n onFileChange && onFileChange(typeDeDocument, selectedFile);\n\n // New way to handle documents\n\n if (!document) document = { type: typeDeDocument };\n\n // Change filename of document\n document.fileName = selectedFile.name;\n\n // Pass the file as a second optional argument\n onDocumentChange && onDocumentChange(document, selectedFile);\n } else {\n setFile(undefined);\n\t\t\t\tsetDate(undefined);\n }\n\t\t}\n\n\t\t// Pour renvoyer le extrainfo de la date pour ne pas la perdre quand on modifie un document\n\t\tdate && handleDateChange(date, selectedFile);\n\n\t\t// Pour renvoyer le extrainfo de l'input (ex: licence numero) pour ne pas le perdre quand on modifie un document\n\t\tinfosSaisies && infosSaisies.length > 0 && infosSaisies.forEach(infoSaisie => {\n\t\t\tvalues && handleValueChange(values[infoSaisie.code], infoSaisie.code);\n\t\t})\n };\n\n const handleDateChange = (date: Date, file:File) => {\n docExpirationDate.current = null;\n\n setDate(date);\n\n if (!document) {\n\t\t\tdocument = { type: typeDeDocument };\n\t\t}\n\n // Change value of corresponding extraInfo\n if (!document.extraInfo) {\n\t\t\tdocument.extraInfo = [];\n\t\t}\n\n const existingExtraInfoDate = document.extraInfo.find(extraInfo => extraInfo?.valueType === \"date\");\n // Find extraInfo definition from TypeDeDocumentDto\n\t\tconst extraInfoDateFromType = typeDeDocument.extraInfos.find(extraInfo => extraInfo.valueType === \"date\");\n\n if (existingExtraInfoDate) {\n const updatedExtraInfo: DocumentExtraInfoDto = {\n ...existingExtraInfoDate,\n value: date && normalizeDate(date)\n };\n document.extraInfo = [updatedExtraInfo, ...document.extraInfo.filter(extraInfo => extraInfo.code !== existingExtraInfoDate.code)];\n } else {\n // Add new extraInfo\n document.extraInfo = [...document.extraInfo, {\n value: date && normalizeDate(date),\n code: extraInfoDateFromType?.code,\n valueType: extraInfoDateFromType?.valueType,\n }];\n }\n\n onDateChange && onDateChange(existingExtraInfoDate?.code || extraInfoDateFromType?.code, date);\n\n \tonDocumentChange && onDocumentChange(document, file);\n evaluateUploadDocumentButton(date);\n }\n\n const handleValueChange = (value: string, infoSaisieCode: string) => {\n values[infoSaisieCode] = value;\n setValues(values);\n onValueChange && onValueChange(infoSaisieCode, value);\n\n if (!document) document = { type: typeDeDocument };\n\n // Change value of corresponding extraInfo\n if (!document.extraInfo) document.extraInfo = [];\n\n const existingExtraInfoString = document.extraInfo.find(extraInfo => extraInfo.valueType === \"string\" && extraInfo.code === infoSaisieCode);\n\t\t// Find extraInfo definition from TypeDeDocumentDto\n\t\tconst extraInfoDateFromType = typeDeDocument.extraInfos.find(extraInfo => extraInfo.valueType === \"string\" && extraInfo.code === infoSaisieCode);\n\n\t\tif (existingExtraInfoString) {\n const updatedExtraInfo: DocumentExtraInfoDto = {\n ...existingExtraInfoString,\n value\n };\n document.extraInfo = [updatedExtraInfo, ...document.extraInfo.filter(extraInfo => extraInfo.code !== existingExtraInfoString.code)];\n } else {\n\t\t\t// Add new extraInfo\n document.extraInfo = [...document.extraInfo, {\n value,\n code: extraInfoDateFromType.code,\n valueType: extraInfoDateFromType.valueType,\n }];\n }\n onDocumentChange && onDocumentChange(document, file);\n evaluateUploadDocumentButton();\n };\n\n const evaluateUploadDocumentButton = (modifiedDate?: Date) => {\n\t\tconst evaluatedDate = modifiedDate ? modifiedDate : date;\n const isDocExpired = isDocumentExpired(evaluatedDate, docExpirationDate.current, typeDeDocument?.expirationPeriod);\n\n if ((dateRequired && !evaluatedDate) || (valueRequired && !valuesAreValid()) || isDocExpired) {\n setIsUploadDocumentButtonDisabled(true);\n } else {\n setIsUploadDocumentButtonDisabled(false);\n }\n }\n\n const downloadFile = () => {\n if (document?.uri) {\n window.open(document.uri);\n }\n }\n\n\tconst resetExtraInfos = () => {\n\t\tsetFile(undefined);\n\t\tsetValues({});\n\t}\n\n\tconst resetFile = () => {\n\t\tsetFile(undefined);\n\t\tsetDate(undefined);\n\t\tsetIsUploadDocumentButtonDisabled(false);\n\t\tonReset();\n\t}\n\n return (\n
\n \n\n
\n {dateRequired &&\n handleDateChange(value, file)}\n onResetExtraInfos={resetExtraInfos}\n />\n }\n
\n
\n
\n \n {file?.name}\n \n
\n \n
\n
\n
\n
\n {typeDeDocument.hasAttachment ? (\n
\n \n {\n inputFileRef.current = ref;\n register(ref, customFileValidation());\n }}\n id={typeDeDocument.id}\n type=\"file\"\n onChange={handleFileChange}\n />\n
\n ) : (\n \n )}\n
\n
\n
\n\n
\n {valueRequired && infosSaisies.map(infoSaisie => handleValueChange(value, infoSaisie.code)}\n />)}\n
\n\n {errors && \n {({ message }) =>

{message}

}\n
}\n
\n )\n})\n\nexport default InputDocumentV2;","import React, { useState, useEffect, useRef, FunctionComponent } from \"react\"\nimport { TypeDeDocumentDto, DocumentDto } from \"../../../services/generated/FrontOffice-api\";\nimport InputDocument, { InputDocumentRef } from './InputDocumentV2';\nimport InputSelect from \"adel-shared/dist/components/basics/InputSelect\";\nimport { useTranslation } from \"react-i18next\";\nimport { Dictionary } from \"adel-shared/dist/models\";\nimport { Controller, FormContextValues } from 'react-hook-form';\n\ninterface InputSelectDocumentProps {\n\t// New way of handling documents\n\ttypeDeDocument: TypeDeDocumentDto;\n\tdocument: DocumentDto;\n\tonDocumentChange?: (document: DocumentDto, file?: File) => void;\n\tform: FormContextValues;\n\tonReset: (fieldName: string) => void;\n\t// Legacy way of handling documents\n\tdefaultSelection?: TypeDeDocumentDto;\n\tdefaultDates?: Dictionary;\n\tdefaultFiles?: Dictionary;\n\tdefaultValues?: Dictionary>;\n\tonTypeDocumentChange: (typeDocument: TypeDeDocumentDto, selectedDocument: TypeDeDocumentDto) => void;\n\tonDateChange: (typeDocument: TypeDeDocumentDto, extraInfoCode: string, date: Date) => void;\n\tonFileChange: (typeDocument: TypeDeDocumentDto, file: File) => void;\n\tonExtraInfoChange: (typeDocument: TypeDeDocumentDto, extraInfoCode: string, value: string) => void;\n\tselection: TypeDeDocumentDto;\n\tsetSelection: (value:TypeDeDocumentDto) => void;\n}\n\nconst InputSelectDocument: FunctionComponent = ({\n\tdocument,\n\tonDocumentChange,\n\ttypeDeDocument,\n\tdefaultSelection,\n\tdefaultDates,\n\tdefaultFiles,\n\tdefaultValues,\n\tonTypeDocumentChange,\n\tonDateChange,\n\tonFileChange,\n\tonExtraInfoChange,\n\tform,\n\tonReset,\n\tselection,\n\tsetSelection\n}) => {\n\tconst { t, i18n } = useTranslation();\n\tconst { control, errors } = form;\n\n\tconst [currentDocument, setCurrentDocument] = useState(document);\n\n\tconst inputDocumentRef = useRef();\n\n\t// Legacy way for defaultSelection\n\tuseEffect(() => {\n\t\tif (defaultSelection && !selection) {\n\t\t\tsetSelection(defaultSelection);\n\t\t\tform.setValue(typeDeDocument.code, defaultSelection);\n\t\t}\n\t}, [defaultSelection])\n\n\t// New way for defaultSelection\n\tuseEffect(() => {\n\t\tsetCurrentDocument(document);\n\t\tif (document && document.type && !selection) {\n\t\t\tsetSelection(document.type);\n\t\t}\n\t}, [document])\n\n\t/** Options of the select box for Liste ou attestation GUSO */\n\tconst convertTypeDeDocumentDtoToAdelOption = (optionArray: TypeDeDocumentDto[]) => {\n\t\treturn optionArray.map(item => ({\n\t\t\tvalue: item,\n\t\t\tlabel: item.nom[i18n.language]\n\t\t}));\n\t};\n\n\tconst handleTypeDocumentChange = (typeDoc: TypeDeDocumentDto) => {\n\n\t\tif(selection && selection.code !== typeDoc.code) {\n\t\t\tinputDocumentRef.current.reset();\n\t\t}\n\n\t\tsetSelection(typeDoc);\n\t\tform.setValue(typeDeDocument.code, typeDoc);\n\n\n\t\tonTypeDocumentChange(typeDeDocument, typeDoc);\n\n\t\t// New way of handling choix selection\n\n\t\tif (!currentDocument) {\n\t\t\tsetCurrentDocument({ type: typeDeDocument });\n\t\t}\n\n\t\tsetCurrentDocument({\n\t\t\t...currentDocument,\n\t\t\ttype: typeDeDocument\n\t\t});\n\n\t\tonDocumentChange && onDocumentChange(currentDocument);\n\t}\n\n\treturn (\n\t\t
\n\t\t\t (\n\t\t\t\t\t\n\t\t\t\t\t\tname={name}\n\t\t\t\t\t\tlabel={typeDeDocument.nom[i18n.language]}\n\t\t\t\t\t\tclassname=\"inputSelectFO inputSelectFO--fullWidth\"\n\t\t\t\t\t\toptions={convertTypeDeDocumentDtoToAdelOption(typeDeDocument.choix)}\n\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\tonChange={handleTypeDocumentChange}\n\t\t\t\t\t\terrors={errors}\n\t\t\t\t\t\tcustomMatchValue={(source, target) => source.id === target.id}\n\t\t\t\t\t\tplaceholder={t(\"common.select\")}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\trules={{\n\t\t\t\t\trequired: {\n\t\t\t\t\t\tvalue: true,\n\t\t\t\t\t\tmessage: t('validation-messages.required')\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t/>\n\n\t\t\t{selection && (\n\t\t\t\t { onDateChange(selection, extraInfoCode, date) }}\n\t\t\t\t\tonFileChange={(documentCode, file) => onFileChange(selection, file)}\n\t\t\t\t\tonValueChange={(extraInfoCode, value) => onExtraInfoChange(selection, extraInfoCode, value)}\n\t\t\t\t\tonReset={() => onReset(selection.code)}\n\t\t\t\t\tform={form}\n\t\t\t\t\tref={inputDocumentRef}\n\t\t\t\t/>\n\t\t\t)}\n\t\t
\n\t)\n}\n\nexport default InputSelectDocument;","import React, { forwardRef, useImperativeHandle, useEffect, useState, Fragment } from \"react\";\n\nimport Loader from 'react-loader-spinner';\nimport \"react-loader-spinner/dist/loader/css/react-spinner-loader.css\";\n\nimport Subtitles from \"../../components/basics/Subtitles\";\nimport StepCounter from \"../../components/signup/signup-items/StepCounter\";\n\nimport { ActionTypeEnum } from \"../../context/ActionType\";\nimport { useForm } from \"react-hook-form\";\nimport { StructureClient, TypeDeDocumentDto } from \"../../services/generated/FrontOffice-api\";\nimport { useAxios } from \"../../custom-hooks/useAxios\";\nimport { useStepOneContext, useStepSixContext, useAppDispatch } from \"../../context/context-helpers\";\nimport { RouteComponentProps } from \"@reach/router\";\nimport { useTranslation } from \"react-i18next\";\nimport { Dictionary } from \"adel-shared/dist/models\";\nimport InputDocumentV2 from \"../basics/InputDocuments/InputDocumentV2\";\nimport { DocumentDto } from \"adel-shared/dist/models/generated/FrontOffice-api\";\nimport InputSelectDocument from \"../basics/InputDocuments/InputSelectDocumentV2\";\nimport { isDateOrDateString } from \"../../utils/functions\";\nimport { normalizeDate } from \"adel-shared/dist/utils/functions\";\n\ninterface StepSixProps extends RouteComponentProps {\n\tref: any;\n\tsetCanGoNext: (value: boolean) => void;\n}\n\nconst StepSix: React.FunctionComponent = forwardRef(({\n\tsetCanGoNext\n}, ref) => {\n\tconst dispatch = useAppDispatch();\n\tconst context = useStepSixContext();\n\tconst axiosInstance = useAxios();\n\tconst { t } = useTranslation();\n\tconst form = useForm();\n\tconst { getValues, setValue, triggerValidation } = form;\n\tconst [isLoading, setIsLoading] = useState(false);\n\tconst {\n\t\tcodeAPE,\n\t\tnomenclatureAPE,\n\t\tformeJuridique\n\t} = useStepOneContext();\n\n\tconst [typesDocument, setTypesDocument] = useState>([]);\t\t// Represent structure documents\n\tconst [datesDic, setDatesDic] = useState>({});\t\t\t\t\t// Represent dates associated with documents (as an \"extraInfo\")\n\tconst [filesDic, setFilesDic] = useState>({});\t\t\t\t\t// Represent files uploaded for documents\n\tconst [selectDic, setSelectDic] = useState>({});\t// Represent a selected choix for a document\n\tconst [valuesDic, setValuesDic] = useState>>({});\t// Represent string values associated with documents (as an \"extraInfo\")\n\n\t/** API Call to retrieve requiredDocumentTypes */\n\tuseEffect(() => {\n\t\tconst structureClient = new StructureClient(\"\", axiosInstance);\n\t\tsetCanGoNext(true);\n\t\tsetIsLoading(true);\n\n\t\tstructureClient\n\t\t\t.getRequiredTypesDeDocument(formeJuridique.id, codeAPE, nomenclatureAPE)\n\t\t\t.then(result => {\n\t\t\t\tresult.map(d => {\n\t\t\t\t\td.code = d.code.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\")\n\n\t\t\t\t\tif(d.extraInfos && d.extraInfos.length > 0) {\n\t\t\t\t\t\td.extraInfos.map(e => {\n\t\t\t\t\t\t\te.code = e.code.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\");\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\n\t\t\t\t\tif(d.choix && d.choix.length > 0) {\n\t\t\t\t\t\td.choix.map(f => {\n\t\t\t\t\t\t\tf.code = f.code.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\")\n\n\t\t\t\t\t\t\tif (f.extraInfos && f.extraInfos.length > 0) {\n\t\t\t\t\t\t\t\tf.extraInfos.map(g => g.code = g.code.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\"))\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tsetIsLoading(false);\n\t\t\t\tsetTypesDocument(result);\n\t\t\t})\n\t\t\t.catch((error) => {\n\t\t\t\tdispatch({\n\t\t\t\t\ttype: ActionTypeEnum.ERROR_OCCURRED,\n\t\t\t\t\tpayload: { type: error },\n\t\t\t\t});\n\t\t\t\tsetTypesDocument([]);\n\t\t\t\tsetIsLoading(false);\n\t\t\t});\n\t}, []);\n\n\t/** Step initialization from context (select, dates, values)*/\n\tuseEffect(() => {\n\t\tconst _selectDic: Dictionary = {...selectDic};\n\t\tconst _datesDic: Dictionary = {...datesDic};\n\t\tconst _valuesDic: Dictionary> = {...valuesDic};\n\t\tconst _filesDic: Dictionary = {...filesDic};\n\n\t\tcontext.files.forEach(file => {\n\t\t\tif (file.extraInfos) {\n\t\t\t\tfor (const extraInfoCode in file.extraInfos) {\n\t\t\t\t\tif (isDateOrDateString(file.extraInfos[extraInfoCode])) {\n\t\t\t\t\t\t_datesDic[file.code] = new Date(file.extraInfos[extraInfoCode]);\n\t\t\t\t\t} else if (typeof file.extraInfos[extraInfoCode] === \"string\") {\n\t\t\t\t\t\tif (!_valuesDic[file.code]) {\n\t\t\t\t\t\t\t_valuesDic[file.code] = {};\n\t\t\t\t\t\t}\n\t\t\t\t\t\t_valuesDic[file.code][extraInfoCode] = file.extraInfos[extraInfoCode] as string; // lookup method in case multiple values with different info.code are available for one document\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconsole.debug(\"Unhandled value found during initialization\", file.extraInfos[extraInfoCode]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (file.typeDeDocumentSelected?.nom) {\n\t\t\t\t_selectDic[file.code] = file.typeDeDocumentSelected;\n\t\t\t}\n\t\t\tif (file.file && file.file.name !== undefined) {\n\t\t\t\t_filesDic[file.code] = file.file;\n\t\t\t}\n\t\t});\n\t\tsetSelectDic(_selectDic);\n\t\tsetDatesDic(_datesDic);\n\t\tsetValuesDic(_valuesDic);\n\t\tsetFilesDic(_filesDic);\n\t}, [context.files])\n\n\t/** onChange of the InputSelect */\n\tconst handleSelectTypeDocumentChange = (typeDocument: TypeDeDocumentDto, selectedOption: TypeDeDocumentDto) => {\n\t\tdispatch({\n\t\t\ttype: ActionTypeEnum.SET_SIGNUP_STEP_SIX_DOCUMENT_TYPE,\n\t\t\tpayload: {\n\t\t\t\ttypeDocument,\n\t\t\t\tvalue: selectedOption\n\t\t\t}\n\t\t});\n\t}\n\n\t/** onChange of the InputCalendar Date */\n\tconst handleDateChange = (typeDocument: TypeDeDocumentDto, extraInfoCode: string, value: Date) => {\n\t\tdispatch({\n\t\t\ttype: ActionTypeEnum.SET_SIGNUP_STEP_SIX_DOCUMENT_DATE,\n\t\t\tpayload: {\n\t\t\t\ttypeDocument,\n\t\t\t\textraInfoCode,\n\t\t\t\tdateValue: value && normalizeDate(value)\n\t\t\t}\n\t\t});\n\t};\n\n\tconst handleFileChange = (typeDocument: TypeDeDocumentDto) => {\n\t\tconst fileList = getValues();\n\t\tdispatch({\n\t\t\ttype: ActionTypeEnum.SET_SIGNUP_STEP_SIX_DOCUMENT_FILE,\n\t\t\tpayload: {\n\t\t\t\ttypeDocument,\n\t\t\t\tfileValue: fileList[typeDocument.code][0]\n\t\t\t}\n\t\t});\n\t};\n\n\t// Handle document with many values (extraInfo of type === string).\n\t/** onChange of the string values (numéro de licence, etc.) */\n\tconst handleExtraInfoChange = (typeDocument: TypeDeDocumentDto, extraInfoCode: string, value: string) => {\n\t\tdispatch({\n\t\t\ttype: ActionTypeEnum.SET_SIGNUP_STEP_SIX_DOCUMENT_EXTRA_INFO,\n\t\t\tpayload: {\n\t\t\t\ttypeDocument,\n\t\t\t\textraInfoCode,\n\t\t\t\tvalue\n\t\t\t}\n\t\t});\n\t}\n\n\t/** reset the field */\n\tconst resetFileAttachment = (fieldName: string) => {\n\t\tsetValue(fieldName, '');\n\t\tconst files = {...filesDic};\n\t\tfiles[fieldName] = null;\n\t\tsetFilesDic(files);\n\t};\n\n\tuseImperativeHandle(ref, () => ({\n\t\tasync validateForm(): Promise {\n\t\t\ttry {\n\t\t\t\tconst isValid = await triggerValidation();\n\t\t\t\treturn isValid;\n\t\t\t} catch(error) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}));\n\n\tconst [selection, setSelection] = useState();\n\n\treturn (\n\t\t
\n\t\t\t\n\n\t\t\t\n\n\t\t\t{!isLoading ? (\n\t\t\t\t<>\n\t\t\t\t\t{typesDocument.map(typeDoc => {\n\t\t\t\t\t\tconst existingDocument: DocumentDto = null;\n\n\t\t\t\t\t\tif (typeDoc.choix?.length) {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t resetFileAttachment}\n\t\t\t\t\t\t\t\t\tonDateChange={(extraInfoCode, date) => handleDateChange(typeDoc, extraInfoCode, date)}\n\t\t\t\t\t\t\t\t\tonFileChange={handleFileChange}\n\t\t\t\t\t\t\t\t\tdefaultDate={datesDic[typeDoc.code]}\n\t\t\t\t\t\t\t\t\tdefaultFile={filesDic[typeDoc.code]}\n\t\t\t\t\t\t\t\t\tdefaultValues={valuesDic[typeDoc.code]}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)\n\t\t\t\t\t})}\n\t\t\t\t\n\t\t\t) : (\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t)}\n\t\t
\n\t);\n});\n\nexport default StepSix;\n","import React, { useState, forwardRef } from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport { ActionTypeEnum } from \"../../context/ActionType\";\n\nimport { IStepSevenModel } from \"../../models/signup\";\nimport { toast } from 'react-toastify';\nimport Mail from \"../../assets/img/portail/mail.png\";\nimport StepCounter from \"../../components/signup/signup-items/StepCounter\";\nimport Subtitles from \"../../components/basics/Subtitles\";\nimport Input from \"../../components/basics/Input\";\nimport FormButton from 'adel-shared/dist/components/basics/FormButton';\nimport { RouteComponentProps } from \"@reach/router\";\nimport { useAppDispatch, useStepSevenContext } from \"../../context/context-helpers\";\nimport { useTranslation } from \"react-i18next\";\nimport { useAxios } from \"../../custom-hooks/useAxios\";\nimport { StructureClient } from \"../../services/generated/FrontOffice-api\";\nimport useValidation from \"../../custom-hooks/useValidation\";\n\ninterface StepSevenProps extends RouteComponentProps {\n\tref: any;\n\tvalue?: IStepSevenModel;\n}\n\nconst StepSeven: React.FunctionComponent = forwardRef((value, ref) => {\n\tconst dispatch = useAppDispatch();\n\tconst context = useStepSevenContext();\n\tconst { register, getValues, triggerValidation, errors } = useForm({ defaultValues: context })\n\tconst [isEmailWrong, setIsEmailWrong] = useState(false);\n\tconst [email, setEmail] = useState(context.email);\n\tconst structureId = context.structureId;\n\tconst { t } = useTranslation();\n\tconst { getRootValidator } = useValidation();\n\tconst contactValidator = getRootValidator(\"CreateContactValidator\");\n\tconst axiosInstance = useAxios();\n\n\tconst validateForm = async (): Promise => {\n\t\tconst result = await triggerValidation();\n\n\t\treturn result;\n\t}\n\n\tconst sendEmail = async () => {\n\t\tvar client = new StructureClient('', axiosInstance);\n\n\t\ttry {\n\t\t\tlet email = null;\n\t\t\tif (isEmailWrong) {\n\t\t\t\tconst validated = await validateForm();\n\t\t\t\tif (validated) {\n\t\t\t\t\temail = getValues().newEmail;\n\t\t\t\t\tsetEmail(email);\n\t\t\t\t\tsetIsEmailWrong(false);\n\t\t\t\t} else {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t\tawait client.resendValidationEmail(structureId, email ?? undefined);\n\t\t\ttoast.success(t('signup.step-seven.email.sent'));\n\t\t}\n\t\tcatch (error) {\n\t\t\tdispatch({ type: ActionTypeEnum.ERROR_OCCURRED, payload: { type: error } });\n\t\t\t\n\t\t\tif (error.exception?.message)\n\t\t\t\ttoast.error(error.exception.message);\n\t\t\telse\n\t\t\t\ttoast.error(t(\"errors.default\"));\n\t\t}\n\t}\n\n\treturn (\n\t\t
\n\n\t\t\t\n\n\t\t\t\n\n\t\t\t\"Logo\n\n\t\t\t{!isEmailWrong ?\n\t\t\t\t<>\n\t\t\t\t\t

\n\t\t\t\t\t\t{t('signup.step-seven.email.confirm-message')}\n\t\t\t\t\t\t{t('signup.step-seven.email.confirm-message2')}\n\t\t\t\t\t\t{t('signup.step-seven.email.confirm-message3')}\n\t\t\t\t\t

\n\n\t\t\t\t\t{email}\n\n\t\t\t\t\t

\n\t\t\t\t\t\t{t('signup.step-seven.email.click')}\n\t\t\t\t\t\t{t('signup.step-seven.email.validate')}\n\t\t\t\t\t\t{t('signup.step-seven.email.finalize')}\n\t\t\t\t\t

\n\n\t\t\t\t\t

\n\t\t\t\t\t\t{t('signup.step-seven.email.not-received')}\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t

\n\n\t\t\t\t\t

\n\t\t\t\t\t\t{t('signup.step-seven.email.wrong')}\n\t\t\t\t\t\t
\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\tsetIsEmailWrong(true)\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t

\n\t\t\t\t\n\t\t\t\t:\n\t\t\t\t<>\n\t\t\t\t\t\n\n\t\t\t\t\t\n\n\t\t\t\t\t {\n\t\t\t\t\t\t\tsetIsEmailWrong(false);\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{t('signup.step-seven.cancel')}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t}\n\t\t
\n\t)\n})\n\nexport default StepSeven;","import axios, { AxiosInstance, AxiosRequestConfig, AxiosResponse } from 'axios';\nimport { CreateStructureDto, StructureDto, ApiException, DocumentUploadInfoDto } from \"../services/generated/FrontOffice-api\";\nimport { IFile } from '../models/IFile';\nimport { maxTotalFilesSize } from '../constants/config.constant';\nimport i18n from 'react-i18next';\nimport i18next from 'i18next';\n\nexport class AdelStructureClient {\n\tprivate instance: AxiosInstance;\n\tprivate baseUrl: string;\n\tprotected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n\tconstructor(baseUrl?: string, instance?: AxiosInstance) {\n\t\tthis.instance = instance ? instance : axios.create();\n\t\tthis.baseUrl = baseUrl ? baseUrl : \"\";\n\t}\n\n\t/**\n\t * @param body (optional)\n\t * @return Success\n\t */\n\tstructure(body: CreateStructureDto | undefined, files: IFile[]): Promise {\n\t\tlet url_ = this.baseUrl + \"/api/v1/Structure\";\n\t\turl_ = url_.replace(/[?&]$/, \"\");\n\n\t\tconst content_ = JSON.stringify(body);\n\n\t\tlet formData = new FormData();\n\t\tformData.set(\"json\", content_);\n\n\t\tfiles && files.length > 0 && files.forEach(file => {\n\t\t\tif (file && file.file) {\n\t\t\t\tformData.append(file.code, file.file);\n\t\t\t}\n\t\t})\n\n\t\tlet options_ = {\n\t\t\theaders: {\n\t\t\t\t\"Content-Type\": \"multipart/form-data\",\n\t\t\t},\n\t\t} as AxiosRequestConfig;\n\n\t\treturn this.instance.post(url_, formData, options_).then((_response: AxiosResponse) => {\n\t\t\treturn this.processStructure(_response);\n\t\t});\n\t}\n\n\tprotected processStructure(response: AxiosResponse): Promise {\n\t\tconst status = response.status;\n\t\tlet _headers: any = {};\n\t\tif (response.headers && typeof response.headers === \"object\") {\n\t\t\tfor (let k in response.headers) {\n\t\t\t\tif (response.headers.hasOwnProperty(k)) {\n\t\t\t\t\t_headers[k] = response.headers[k];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (status === 201) {\n\t\t\tconst _responseText = response.data;\n\t\t\tlet result201: any = null;\n\t\t\tlet resultData201 = _responseText;\n\t\t\tresult201 = resultData201;\n\t\t\treturn result201;\n\t\t} else if (status !== 200 && status !== 204) {\n\t\t\tconst _responseText = response.data;\n\t\t\treturn throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n\t\t}\n\t\treturn Promise.resolve(null as any);\n\t}\n\n\t/**\n\t * @param body (optional)\n\t * @return Success\n\t */\n\tupdateStructureDocuments(body: { documents: DocumentUploadInfoDto[] } | undefined, files: IFile[]): Promise {\n\t\t// TODO : Enhance client to upload documents using multi-part\n\n\t\tconsole.debug(\"updateStructureDocuments-documents\", body.documents);\n\t\tconsole.debug(\"updateStructureDocuments-files\", files);\n\n\t\tlet url_ = this.baseUrl + \"/api/v1/Structure/structureDocuments\";\n\t\turl_ = url_.replace(/[?&]$/, \"\");\n\n\t\tconst content_ = JSON.stringify(body);\n\n\t\tlet formData = new FormData();\n\t\tformData.set(\"json\", content_);\n\n\t\tfiles && files.length > 0 && files.map(file => {\n\t\t\tif (file.file.size >= 100000000) {\n\t\t\t\tthrowException(i18next.t('errors.largeFile', {maxTotalFilesSize}), 413, \"\", null);\n\t\t\t}\n\t\t\treturn formData.append(file.code, file.file);\n\t\t})\n\n\t\tlet options_ = {\n\t\t\theaders: {\n\t\t\t\t\"Content-Type\": \"multipart/form-data\",\n\t\t\t},\n\t\t} as AxiosRequestConfig;\n\n\t\treturn this.instance.put(url_, formData, options_).then((_response: AxiosResponse) => {\n\t\t\treturn this.processUpdateStructureDocuments(_response);\n\t\t});\n\t}\n\n\tprotected processUpdateStructureDocuments(response: AxiosResponse): Promise {\n\t\tconst status = response.status;\n\t\tlet _headers: any = {};\n\t\tif (response.headers && typeof response.headers === \"object\") {\n\t\t\tfor (let k in response.headers) {\n\t\t\t\tif (response.headers.hasOwnProperty(k)) {\n\t\t\t\t\t_headers[k] = response.headers[k];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (status === 204) {\n\t\t\tconst _responseText = response.data;\n\t\t\treturn Promise.resolve(null);\n\t\t} else if (status !== 200 && status !== 204) {\n\t\t\tconst _responseText = response.data;\n\t\t\treturn throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n\t\t}\n\t\treturn Promise.resolve(null);\n\t}\n}\n\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): any {\n\tif (result !== null && result !== undefined)\n\t\tthrow result;\n\telse\n\t\tthrow new ApiException(message, status, response, headers, null);\n}","import React from \"react\";\nimport FormButton from 'adel-shared/dist/components/basics/FormButton';\nimport Subtitles from \"../../basics/Subtitles\";\nimport EndImg from \"../../../assets/img/portail/password_validation.png\";\nimport { useTranslation } from 'react-i18next';\n\ninterface SignupEndProps {\n value: string;\n}\n\nconst SignupEnd: React.FC = props => {\n\tconst { t } = useTranslation();\n\n return (\n
\n \n\n \n \n
\n \"\"/\n
\n\n
\n

{t(\"signup.end.p1\")}

\n

{t(\"signup.end.p2\")}

\n

{t(\"signup.end.p3\")}

\n

{t(\"signup.end.p4\")}

\n
\n\n \n
\n )\n};\nexport default SignupEnd;","\nexport enum FilterType {\n Statut = 'Statut', \n Categorie = 'Catégorie',\n Date = 'Date'\n}","import React from \"react\";\n\nimport SignupEnd from \"./signup-items/SignupEnd\";\nimport { RouteComponentProps } from \"@reach/router\";\n// import CreatePassword from \"../structures/portail/mdp/CreatePassword\";\n// import { toast } from \"react-toastify\";\n// import { useTranslation } from \"react-i18next\";\n\nconst StepHeight = (props: RouteComponentProps) => {\n\t// const [isLoading, setIsLoading] = useState(false);\n\t// const [token, setToken] = useState(null);\n\t// const [username, setUsername] = useState(null);\n\n\t// const { t } = useTranslation();\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\n\t)\n}\n\nexport default StepHeight;","import React, { useState, useContext, useRef, useEffect, FunctionComponent } from \"react\";\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\n\nimport Loader from 'react-loader-spinner';\nimport \"react-loader-spinner/dist/loader/css/react-spinner-loader.css\";\n\nimport Lang from \"../components/basics/Lang\";\nimport WhiteLogo from \"../components/logo/WhiteLogo\";\nimport Subtitles from \"../components/basics/Subtitles\";\nimport SignupList from '../components/signup/signup-items/SignupList';\nimport Login from \"../components/basics/Login\";\nimport Footer from \"../components/basics/Footer\";\nimport FormButton from 'adel-shared/dist/components/basics/FormButton';\nimport SignupStep from '../context/SignupSteps';\n\nimport StepOne from \"../components/signup/StepOne\";\nimport StepTwo from \"../components/signup/StepTwo\";\nimport StepThree from \"../components/signup/StepThree\";\nimport StepFour from \"../components/signup/StepFour\";\nimport StepFive from \"../components/signup/StepFive\";\nimport StepSix from \"../components/signup/StepSix\";\nimport StepSeven from \"../components/signup/StepSeven\";\n\nimport { AppStateContext } from \"../context/AppContext\";\nimport { ActionTypeEnum } from \"../context/ActionType\";\nimport { useSignupSteps } from \"../custom-hooks/useSteps\";\nimport { useTranslation } from \"react-i18next\";\nimport { RouteComponentProps, Router, navigate } from \"@reach/router\";\n\nimport { AdelStructureClient } from '../clients/AdelStructureClient'\nimport { DocumentUploadInfoDto, TypePoste } from '../services/generated/FrontOffice-api';\n\nimport { useAxios } from '../custom-hooks/useAxios';\nimport StepHeight from \"../components/signup/StepHeight\";\nimport { convertIFilesToDocumentUploadInfoDto } from '../utils/functions';\n\nconst Signup: FunctionComponent = () => {\n\tconst [context, dispatch] = useContext(AppStateContext);\n\tconst { getNextStep, getPreviousStep, isHigherStep } = useSignupSteps();\n\tconst [canGoNext, setCanGoNext] = useState(false);\n\tconst { t } = useTranslation();\n\tconst axiosInstance = useAxios();\n\n\tconst [currentStep, setCurrentStep] = useState(SignupStep.One);\n\tconst [menuCheckbox, setMenuCheckbox] = useState(true);\n\tconst refs: { [key: string]: React.MutableRefObject; } = {\n\t\t[SignupStep.One]: useRef(null),\n\t\t[SignupStep.Two]: useRef(null),\n\t\t// [SignupStep.Three]: useRef(null),\n\t\t[SignupStep.Four]: useRef(null),\n\t\t[SignupStep.Five]: useRef(null),\n\t\t[SignupStep.Six]: useRef(null),\n\t\t[SignupStep.Seven]: useRef(null)\n\t};\n\n\tconst [isLoading, setIsLoading] = useState(false);\n\n\tuseEffect(() => {\n\t\tnavigate(`/Inscription/${currentStep}`);\n\t\tif (currentStep > context.signupHighestStep) { //TODO: utiliser isHigherStep\n\t\t\tdispatch({ type: ActionTypeEnum.SET_SIGNUP_HIGHEST_STEP, payload: currentStep });\n\t\t}\n\t}, [currentStep, context, dispatch]);\n\n\tconst nextStep = async () => {\n\t\tconst isValid = await refs[currentStep].current.validateForm();\n\t\tconst nextStep = getNextStep(currentStep);\n\t\tif (isValid) {\n\t\t\tsetCurrentStep(nextStep);\n\t\t}\n\t}\n\n\tconst previousStep = () => {\n\t\tconst previousStep = getPreviousStep(currentStep);\n\t\tsetCurrentStep(previousStep);\n\t}\n\n\tconst validateFinalStep = async () => {\n\t\tconst isValid = await refs[currentStep].current.validateForm();\n\t\tif (isValid) {\n\t\t\tdispatch({ type: ActionTypeEnum.CAN_CREATE_STRUCTURE, payload: true });\n\t\t}\n\t}\n\n\tconst createStructure = async () => {\n\t\tconst nextStep = getNextStep(currentStep);\n\t\tconst structureClient = new AdelStructureClient(\"\", axiosInstance);\n\t\tlet documents: DocumentUploadInfoDto[] = [];\n\t\tlet canClear: boolean;\n\n\t\tif (context.signupStepSix.files) {\n\t\t\tdocuments = convertIFilesToDocumentUploadInfoDto(context.signupStepSix.files);\n\t\t}\n\n\t\ttry {\n\t\t\tsetIsLoading(true);\n\t\t\tconst structure = await structureClient.structure({\n\t\t\t\tsiret: context.signupStepOne.siret,\n\t\t\t\traisonSociale: context.signupStepOne.raisonSociale,\n\t\t\t\tcodeAPE: context.signupStepOne.codeAPE,\n\t\t\t\tnomenclatureAPE: context.signupStepOne.nomenclatureAPE,\n\t\t\t\tcodeLangue: context.signupStepFive.codeLangue,\n\t\t\t\tadresse: {\n\t\t\t\t\tline1: context.signupStepOne.adresse,\n\t\t\t\t\tline2: context.signupStepOne.line2,\n\t\t\t\t\tcodePostal: context.signupStepOne.codePostal,\n\t\t\t\t\tville: context.signupStepOne.ville\n\t\t\t\t},\n\t\t\t\tadresseCorrespondance: context.signupStepFive.hasAdresseParDefaut\n\t\t\t\t\t? null\n\t\t\t\t\t: {\n\t\t\t\t\t\tline1: context.signupStepFive.rue,\n\t\t\t\t\t\tline2: context.signupStepFive.complementAdresse,\n\t\t\t\t\t\tcodePostal: context.signupStepFive.codePostal,\n\t\t\t\t\t\tville: context.signupStepFive.ville\n\t\t\t\t\t},\n\t\t\t\tformeJuridiqueId: context.signupStepOne.formeJuridique.id,\n\t\t\t\tcorrespondant: context.signupStepFour.hasCorrespondantParDefaut\n\t\t\t\t\t? null\n\t\t\t\t\t: {\n\t\t\t\t\t\tposte: context.signupStepFour.poste as TypePoste,\n\t\t\t\t\t\tcivilite: context.signupStepFour.civilite,\n\t\t\t\t\t\tnom: context.signupStepFour.nom,\n\t\t\t\t\t\tprenom: context.signupStepFour.prenom,\n\t\t\t\t\t\temail: context.signupStepFour.email,\n\t\t\t\t\t\ttelephoneFixe: context.signupStepFour.telephoneFixe,\n\t\t\t\t\t\ttelephonePortable: context.signupStepFour.telephonePortable,\n\t\t\t\t\t},\n\t\t\t\tpresident: {\n\t\t\t\t\tprenom: context.signupStepOne.presidentPrenom,\n\t\t\t\t\tnom: context.signupStepOne.presidentNom,\n\t\t\t\t\temail: context.signupStepOne.email,\n\t\t\t\t\ttelephoneFixe: context.signupStepOne.telephoneFixe,\n\t\t\t\t\ttelephonePortable: context.signupStepOne.telephonePortable,\n\t\t\t\t\tposte: context.signupStepOne.presidentPoste,\n\t\t\t\t\tcivilite: context.signupStepOne.civilite\n\t\t\t\t},\n\t\t\t\tinformations: context.signupStepTwo.informations,\n\t\t\t\tdocuments\n\t\t\t}, context.signupStepSix.files);\n\n\t\t\tsetCurrentStep(nextStep);\n\t\t\tcanClear = true;\n\t\t\tdispatch({ type: ActionTypeEnum.SET_SIGNUP_STEP_SEVEN, payload: { \n\t\t\t\t...context.signupStepSeven, \n\t\t\t\tstructureId: structure.id, \n\t\t\t\temail: context.signupStepOne.email } \n\t\t\t});\n\t\t}\n\n\t\tcatch (error) {\n\t\t\tdispatch({ type: ActionTypeEnum.ERROR_OCCURRED, payload: { type: error as string } });\n\t\t\tcanClear = false;\n\t\t}\n\n\t\tfinally {\n\t\t\tdispatch({ type: ActionTypeEnum.CAN_CREATE_STRUCTURE, payload: false });\n\t\t\tsetIsLoading(false);\n\n\t\t\tif (canClear) {\n\t\t\t\tdispatch({ type: ActionTypeEnum.LOGOUT_USER });\n\t\t\t\tlocalStorage.clear();\n\t\t\t}\n\t\t}\n\t}\n\n\tuseEffect(() => {\n\t\tif (context.canCreateStructure) {\n\t\t\tcreateStructure();\n\t\t}\n\t}, [context.canCreateStructure])\n\n\tconst navigateToStep = async (targetStep: SignupStep): Promise => {\n\t\t// If trying to access to current step : do nothing\n\t\tif (targetStep === currentStep) return;\n\n\t\t// If trying to access to already filled step, allow navigation\n\t\tif (!isHigherStep(context.signupHighestStep, targetStep) && currentStep < SignupStep.Seven) {\n\t\t\tsetCurrentStep(targetStep);\n\t\t\treturn;\n\t\t}\n\n\t\t// Get next step (next step after highest step)\n\t\tlet nextStep = getNextStep(context.signupHighestStep);\n\n\t\t// If user is trying to access next step after highest step\n\t\tif (targetStep === nextStep) {\n\t\t\t// Make sure highest step is valid\n\t\t\tlet isValid = await refs[context.signupHighestStep].current?.validateForm();\n\t\t\tif (isValid) {\n\t\t\t\tsetCurrentStep(targetStep);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\t// Steps higher than current highest step should not be clickable (SignupList)\n\t\t// So this error should never appear\n\t\tconsole.debug(\"Attempting to jump to a step higher than highest step + 2\");\n\t}\n\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\n\t\t\t\t\t\n\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\n\t\t\t\t
\n\n\t\t\t\t\t\n\n\t\t\t\t\t{currentStep !== SignupStep.One &&\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\tpreviousStep();\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t{/* */}\n\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t{\n\t\t\t\t\t\tcurrentStep !== SignupStep.Six && currentStep !== SignupStep.Seven &&\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t{t('signup.mandatory-fields')}\n\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t}\n\n\t\t\t\t\t{\n\t\t\t\t\t\tcurrentStep === SignupStep.Six &&\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t{t('signup.mandatory-fields')}\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tisLoading ?\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t:\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t
\n\t\t\t\t\t}\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t)\n}\n\nexport default Signup;","import clsx from 'clsx';\nimport React, { useEffect, useState } from \"react\";\nimport { useTranslation } from 'react-i18next';\nimport ReactTooltip from \"react-tooltip\";\nimport AIDERES from \"../../../assets/img/categorieDossier/AIDERES.png\";\nimport ASA from \"../../../assets/img/categorieDossier/ASA.png\";\nimport BO from \"../../../assets/img/categorieDossier/BO.png\";\nimport DIFFAVIG from \"../../../assets/img/categorieDossier/DIFFAVIG.png\";\nimport DIFFLIEU from \"../../../assets/img/categorieDossier/DIFFLIEU.png\";\nimport DRAMA from \"../../../assets/img/categorieDossier/DRAMA.png\";\nimport ECOLE from \"../../../assets/img/categorieDossier/ECOLE.png\";\nimport FEST from \"../../../assets/img/categorieDossier/FEST.png\";\nimport FILM from \"../../../assets/img/categorieDossier/FILM.png\";\nimport FORTI from \"../../../assets/img/categorieDossier/FORTI.png\";\nimport INT from \"../../../assets/img/categorieDossier/INT.png\";\nimport INTGEN from \"../../../assets/img/categorieDossier/INTGEN.png\";\nimport MUSICAL from \"../../../assets/img/categorieDossier/MUSICAL.png\";\nimport PROMO from \"../../../assets/img/categorieDossier/PROMO.png\";\nimport SOIRART from \"../../../assets/img/categorieDossier/SOIRART.png\";\nimport { useAxios } from \"../../../custom-hooks/useAxios\";\nimport { Dictionary } from \"../../../models\";\nimport { DiscussionDossierDto, DiscussionStructureDto, MessagerieClient, MessagerieDto } from '../../../services/generated/FrontOffice-api';\n\ninterface ListCardsProps {\n\tmessageList: MessagerieDto;\n\texchange: boolean;\n\tsetExchange: (value: boolean) => void;\n\n\tselectedDiscussion?: DiscussionStructureDto | DiscussionDossierDto;\n\tsetSelectedDiscussion?: (value: DiscussionStructureDto | DiscussionDossierDto) => void;\n}\n\nconst ListCards: React.FunctionComponent = ({\n\tmessageList,\n\tselectedDiscussion,\n\tsetSelectedDiscussion\n}) => {\n\tconst { t } = useTranslation();\n\tconst axiosInstance = useAxios();\n\tconst messagerieClient = new MessagerieClient(\"\", axiosInstance);\n\tconst [discussionsLu, setDiscussionsLu] = useState([]);\n\n\tuseEffect(() => {\n\t\tsetDiscussionsLu(\n\t\t\t[...messageList.discussionsStructure || [], ...messageList.discussionsDossiers || []]\n\t\t\t.filter(d => !d.aMessageNonLu)\n\t\t\t.map(d => d.id)\n\t\t);\n\n\t\tif (selectedDiscussion?.id && !discussionsLu.includes(selectedDiscussion.id)) {\n\t\t\tcardIsActive(selectedDiscussion.id);\n\t\t}\n\t}, [\n\t\tmessageList.discussionsStructure,\n\t\tmessageList.discussionsDossiers\n\t]);\n useEffect(()=> {\n\t\tif(selectedDiscussion && selectedDiscussion.id && !discussionsLu.includes(selectedDiscussion.id)) {\n\t\t\tmessagerieClient.setDiscussionLu(selectedDiscussion.id);\n\t\t\tsetDiscussionsLu([...discussionsLu, selectedDiscussion.id]);\n\t\t}\n\t},[selectedDiscussion])\n\tconst cardIsActive = (id: string) => {\n\t\tif(id) {\n\t\t\tconst discussion = [...messageList.discussionsStructure, ...messageList.discussionsDossiers].find(d => d.id === id);\n\t\t\tsetSelectedDiscussion(discussion);\n\t\t\tif(discussion && !discussionsLu.includes(id)) {\n\t\t\t\tmessagerieClient.setDiscussionLu(id);\n\t\t\t\tsetDiscussionsLu([...discussionsLu, id]);\n\t\t\t}\n\t\t}\n\t}\n\n\t// Images des icônes de catégories\n\tconst categorieTypeImgDic: Dictionary = {\n\t\tFEST,\n\t\tBO,\n\t\tDRAMA,\n\t\tECOLE,\n\t\tFILM,\n\t\tINT,\n\t\tMUSICAL,\n\t\tPROMO,\n\t\tFORTI,\n\t\tINTGEN,\n\t\tSOIRART,\n\t\tASA,\n\t\tDIFFLIEU,\n\t\tAIDERES,\n\t\tDIFFAVIG\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t{/** Structures */}\n\t\t\t{messageList.discussionsStructure?.map(d => (\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t

{t('mailbox.type.structure')}

\n\t\t\t\t\t\t

{d.nom}

\n\t\t\t\t\t\t

{t(`objetDiscussion.${d.objet}`)} - {t(`statutDiscussion.${d.statut}`)}

\n\t\t\t\t\t
\n\n\t\t\t\t\t {\n\t\t\t\t\t\t\tcardIsActive(d.id);\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\n\t\t\t\t\t\n\t\t\t\t\t\t{t(`objetDiscussion.${d.objet}`)} - {d.nom}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t))}\n\n\t\t\t{/** Dossiers */}\n\t\t\t{messageList.discussionsDossiers?.map(d => (\n\t\t\t\t\n\t\t\t\t\t\"\"\n\n\t\t\t\t\t
\n\t\t\t\t\t\t

N° {d.dossierNumero}

\n\t\t\t\t\t\t

{t('mailbox.type.folder')} {d.nom}

\n\t\t\t\t\t\t

{t(`objetDiscussion.${d.objet}`)} - {t(`statutDiscussion.${d.statut}`)}

\n\t\t\t\t\t
\n\n\t\t\t\t\t {\n\t\t\t\t\t\t\tcardIsActive(d.id);\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\n\t\t\t\t\t\n\t\t\t\t\t\t{t(`objetDiscussion.${d.objet}`)} - {d.nom}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t))}\n\t\t\n\t)\n}\n\nexport default ListCards;","import React, { useCallback, useContext, ChangeEvent, useEffect } from \"react\"\nimport { debounce } from \"lodash\";\nimport { DossierClient } from \"../../../services/generated/FrontOffice-api\";\nimport { nomFilterKey, numeroFilterKey, villeFilterKey } from \"../../../constants/filters.constants\";\nimport { AppStateContext } from \"../../../context/AppContext\";\nimport { ActionTypeEnum } from \"../../../context/ActionType\";\n\nconst SearchBar = () => {\n\tconst [,dispatch] = useContext(AppStateContext);\n\n\tconst dossierClient = new DossierClient();\n\n\tconst searchDebounced = debounce(value => searchDossier(value), 1000)\n\n\tconst searchDossier = (input: string) => {\n\t\tif (!!input || input === \"\") {\n\t\t\ttry {\n\t\t\t\tconst filters = `(${nomFilterKey}|${numeroFilterKey}|${villeFilterKey})@=${input}`;\n\n\t\t\t\tdossierClient.getDossiers(filters, '', 1, 8, false).then(response => dispatch({\n\t\t\t\t\ttype: ActionTypeEnum.SEARCH_DOSSIERS_SUCCESS,\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tdossiers: response\n\t\t\t\t\t}\n\t\t\t\t}));\n\t\t\t}\n\t\t\tcatch (error) {\n\t\t\t\tconsole.log(error);\n\t\t\t}\n\t\t}\n\t}\n\n\tconst handleChange = useCallback((e: ChangeEvent) => {\n\t\tsearchDebounced(e.target.value);\n\t}, [searchDebounced]);\n\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t)\n}\n\nexport default SearchBar;","/**\n * FILTERS CONSTANTS - Les constantes à appliquer à l'Api\n */\n\nconst nomFilterKey = \"Nom\";\nconst numeroFilterKey = \"Numero\";\nconst villeFilterKey = \"Ville\";\n\nconst typeFilterKey = \"CategorieId==\";\nconst statutFilterKey = \"Statut==\";\nconst dateFilterKey = \"Date==\";\n\nexport {\n\tnomFilterKey,\n\tnumeroFilterKey,\n\tvilleFilterKey,\n\ttypeFilterKey,\n\tstatutFilterKey,\n\tdateFilterKey\n};","import React from \"react\"\nimport Logo from \"../../assets/logo/logo_spedidam_colored.png\"\n\nconst ColoredLogo = () => {\n return(\n \n )\n}\n\nexport default ColoredLogo;","import React, { useState } from \"react\";\nimport Footer from \"./Footer\";\nimport { Link } from '@reach/router';\nimport clsx from 'clsx';\nimport { useTranslation } from 'react-i18next';\nimport { FOCurrentUserDto } from '../../services/generated/FrontOffice-api';\n\ninterface MenuBurgerProps {\n menuCheckbox: boolean;\n setMenuCheckbox?: (value:boolean) => void;\n\tlogout?: () => void;\n\tnotifications?: boolean;\n}\n\nconst MenuBurger: React.FC = ({\n menuCheckbox,\n setMenuCheckbox,\n\tlogout,\n\tnotifications\n}) => {\n\tconst { t } = useTranslation();\n\n const handleCheckbox = () => {\n setMenuCheckbox(!menuCheckbox);\n }\n\n return (\n
\n
\n \n \n \n \n
\n\t\t\t{menuCheckbox &&\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t{t(\"navigation.mailbox\")}\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t

{t(\"navigation.myAccount\")}

\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

{t(\"navigation.logout\")}

\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t}\n
\n )\n}\n\nexport default MenuBurger;","import React, { useState, useEffect } from \"react\";\nimport { Link, navigate } from '@reach/router';\n\nimport Lang from \"../../basics/Lang\";\nimport SearchBar from \"./SearchBar\";\nimport ColoredLogo from \"../../../components/logo/ColoredLogo\";\nimport MenuBurger from \"../../basics/MenuBurger\";\nimport { useAppDispatch, useUserContext } from '../../../context/context-helpers';\nimport { AuthClient, FOCurrentUserDto, NotificationClient, StatutStructure } from '../../../services/generated/FrontOffice-api';\nimport { useAxios } from '../../../custom-hooks/useAxios';\nimport { useTranslation } from 'react-i18next';\nimport { toast } from 'react-toastify';\nimport { ActionTypeEnum } from '../../../context/ActionType';\nimport clsx from \"clsx\";\n\ninterface StructuresHeaderProps {\n\tisStructurePendingOrDisabled?: boolean;\n}\n\nconst StructuresHeader: React.FC = ({\n\tisStructurePendingOrDisabled\n}) => {\n\tconst [menuCheckbox, setMenuCheckbox] = useState(false);\n\tconst [notifications, setNotifications] = useState(false);\n\tconst [user, setUser] = useState({});\n\tconst context = useUserContext();\n\tconst axiosInstance = useAxios();\n\tconst notificationClient = new NotificationClient(\"\", axiosInstance);\n\tconst authClient = new AuthClient(\"\", axiosInstance);\n\tconst dispatch = useAppDispatch();\n\n\tconst { t } = useTranslation();\n\n\tuseEffect(() => {\n\t\tif (context) {\n\t\t\tsetUser(context);\n\t\t}\n\t}, [context]);\n\n\tconst getNotifMessages = async () => {\n\t\ttry {\n\t\t\tconst messagesNotifications = await notificationClient.getNotifications();\n\t\t\tsetNotifications(messagesNotifications?.aMessageNonLu);\n\t\t} catch (error) {\n\t\t}\n\t}\n\n\tuseEffect(() => {\n\t\tgetNotifMessages();\n\t}, [])\n\n\tconst logout = async () => {\n\t\tif(isStructurePendingOrDisabled) {\n\t\t\tnavigate(\"/\");\n\t\t} else {\n\t\t\ttry {\n\t\t\t\tawait authClient.logout();\n\t\t\t\tnavigate(\"/\");\n\t\t\t\tdispatch({ type: ActionTypeEnum.LOGOUT_USER });\n\t\t\t\tlocalStorage.clear();\n\t\t\t\ttoast.success(t(\"navigation.logoutSuccess\"));\n\t\t\t} catch (error) {\n\t\t\t\tif (error.exception?.message)\n\t\t\t\t\ttoast.error(error.exception.message);\n\t\t\t\telse\n\t\t\t\t\ttoast.error(t(\"errors.default\"));\n\t\t\t}\n\t\t}\n\t}\n\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t{isStructurePendingOrDisabled ? (\n\t\t\t\t\t\n\t\t\t\t) : (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t
\n\n\t\t\t{\n\t\t\t\t
\n\t\t\t\t\t{!isStructurePendingOrDisabled && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t{window.location.pathname !== \"/Structures\" &&\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t{window.location.pathname === \"/Structures\" && user.statutStructure !== StatutStructure.Partial\n\t\t\t\t\t\t\t\t? \n\t\t\t\t\t\t\t\t:
\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{t(\"navigation.mailbox\")}\n\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t

{t(\"navigation.myAccount\")}

\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\n\t\t\t\t\t
\n\t\t\t\t\t\t

{t(\"navigation.logout\")}

\n\t\t\t\t\t
\n\t\t\t\t\n\t\t\t}\n\t\t
\n\t)\n};\nexport default StructuresHeader;","import React, { ReactElement } from \"react\";\n\nimport StructuresHeader from \"../../components/structures/dossiers/StructuresHeader\";\nimport Footer from \"../../components/basics/Footer\";\n\ninterface StructuresProps {\n\tchildren: ReactElement;\n}\n\nconst Structures: React.FC = ({ children }) => {\n\treturn (\n\t\t
\n\t\t\t
\n \n\t\t\t\t\n\n\t\t\t\t{ React.cloneElement(children) }\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\n\t\t\t
\n\t\t
\n\t);\n};\n\nexport default Structures;","import React from 'react';\r\nconst MessageSeparateur = ({ date }) => {\r\n return (React.createElement(\"div\", { className: 'messageSeparateur' },\r\n React.createElement(\"span\", null),\r\n React.createElement(\"p\", null, date),\r\n React.createElement(\"span\", null)));\r\n};\r\nexport default MessageSeparateur;\r\n","import React from 'react';\r\nimport moment from 'moment';\r\nconst Messages = ({ createdAt, nom, prenom, fromMe, contenu, piecesJointes }) => {\r\n return (React.createElement(\"div\", { className: 'message' },\r\n React.createElement(\"div\", { className: fromMe ? 'messageTopInfos messageTopInfosRight' : 'messageTopInfos messageTopInfosLeft' },\r\n React.createElement(\"div\", { className: 'messageTopInfosAuthor' }, nom + ' ' + prenom + ' - '),\r\n React.createElement(\"div\", { className: 'messageTopInfosTime' }, moment(createdAt).format('H:mm'))),\r\n React.createElement(\"div\", { className: fromMe ? 'messageContent messageContentRight' : 'messageContent messageContentLeft' },\r\n React.createElement(\"div\", { className: 'messageContentText' },\r\n React.createElement(\"p\", { dangerouslySetInnerHTML: { __html: contenu } }),\r\n piecesJointes && piecesJointes.length > 0 &&\r\n React.createElement(\"ul\", { className: 'message__files' }, piecesJointes.map((pj, index) => {\r\n return React.createElement(\"li\", { key: index },\r\n React.createElement(\"a\", { target: \"_blank\", href: pj.uri },\r\n React.createElement(\"i\", { className: \"far fa-file\" }),\r\n \" \",\r\n pj.fileName));\r\n }))))));\r\n};\r\nexport default Messages;\r\n","import React, { useEffect } from 'react';\nimport { FOCurrentUserDto, DiscussionMessageDto } from '../../../services/generated/FrontOffice-api';\nimport moment from 'moment';\nimport MessageSeparateur from 'adel-shared/dist/components/basics/MessageSeparateur';\nimport Message from 'adel-shared/dist/components/basics/Message';\nimport { scrollToBottom } from 'adel-shared/dist/utils/functions';\nimport 'moment/locale/fr';\n\ninterface MessagesListProps {\n\tuser: FOCurrentUserDto;\n\tmessages: DiscussionMessageDto[];\n}\n\nconst MessagesList: React.FunctionComponent = ({\n\tuser,\n\tmessages\n}) => {\n\tuseEffect(() => {\n\t\tif (messages) {\n\t\t\tscrollToBottom(\"messagerie\");\n\t\t}\n\t}, [messages])\n\n\treturn (\n\t\t
\n\t\t\t{messages?.map((m, index) => (\n\t\t\t\t
\n\t\t\t\t\t{((m.message.createdAt && index === 0) || \n\t\t\t\t\t(index !== 0 && moment(m.message.createdAt).format('YYYY-MM-DD') !== moment(messages[index - 1].message.createdAt).format('YYYY-MM-DD')))\n\t\t\t\t\t\t&& \n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t))}\n\t\t
\n\t);\n}\n\nexport default MessagesList;","// https://github.com/reach/router/issues/185#issuecomment-588230307\nimport { useUserContext } from '../context/context-helpers';\nimport { Redirect, navigate } from '@reach/router';\nimport React from 'react';\nimport { toast } from 'react-toastify';\nimport { useTranslation } from 'react-i18next';\n\nexport const AuthenticatedRoute = ({ children }: React.ComponentProps) => {\n const user = useUserContext();\n const { t } = useTranslation();\n if (!user || !user.id) {\n console.debug(\"no user or user.id found. Redirecting to login page\");\n toast.error(t('errors.accessDenied'));\n navigate(\"/\");\n return <>;\n }\n return children\n}","import React from \"react\";\r\nconst InputReadOnly = ({ label, content, theme, hasHtmlLabel = false }) => {\r\n return (React.createElement(\"div\", { className: `inputReadOnly ${theme == 'light' ? 'inputReadOnly--light' : ''}` },\r\n hasHtmlLabel\r\n ? React.createElement(\"label\", { dangerouslySetInnerHTML: { __html: label } })\r\n : React.createElement(\"label\", null, label),\r\n React.createElement(\"p\", null, content)));\r\n};\r\nexport default InputReadOnly;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport JoditEditor from \"jodit-react\";\r\nimport { Jodit } from \"jodit\";\r\nconst WysiwygEditor = ({ editorValueContent, setEditorValueContent, isReadonly, maxLength, customButtons = [] }) => {\r\n const [options, setOptions] = useState({});\r\n useEffect(() => {\r\n const config = Jodit.defaultOptions;\r\n config.language = \"fr\";\r\n config.buttons = [\r\n 'bold',\r\n 'strikethrough',\r\n 'underline',\r\n 'italic',\r\n '|',\r\n 'ul',\r\n 'ol',\r\n 'outdent',\r\n 'indent',\r\n 'undo',\r\n 'redo',\r\n '|',\r\n 'brush',\r\n 'paragraph',\r\n '|',\r\n 'table',\r\n 'link',\r\n 'align'\r\n ];\r\n config.buttons = config.buttons.concat(customButtons);\r\n config.readonly = isReadonly !== null && isReadonly !== void 0 ? isReadonly : false;\r\n config.limitChars = maxLength;\r\n config.removeButtons = ['source', 'image', 'file'];\r\n config.processPasteHTML = true;\r\n config.processPasteFromWord = true;\r\n config.askBeforePasteFromWord = false;\r\n config.askBeforePasteHTML = false;\r\n setOptions(config);\r\n }, []);\r\n const onBlur = (newContent) => {\r\n if (typeof newContent === \"string\") {\r\n setEditorValueContent(newContent);\r\n }\r\n else {\r\n console.debug(\"[onBlur] Jodit return a non text value. Trying to extract value from event\", newContent);\r\n const content = newContent.target.innerHTML;\r\n console.debug(\"[onBlur] value extracted\", content);\r\n setEditorValueContent(content);\r\n }\r\n };\r\n return (React.createElement(JoditEditor, { value: editorValueContent, config: options, onBlur: onBlur, onChange: newContent => {\r\n //11 characters because of the nativ behavior of jodit: it puts


as the content value when you delete manually the content.\r\n if (newContent.length <= 11) {\r\n setEditorValueContent(newContent);\r\n }\r\n } }));\r\n};\r\nexport default WysiwygEditor;\r\n","import React, { useState, useEffect } from \"react\";\nimport { RouteComponentProps, Link } from \"@reach/router\";\nimport { useTranslation } from \"react-i18next\";\nimport Loader from \"react-loader-spinner\";\n\nimport Subtitles from \"../../basics/Subtitles\";\nimport ListCards from \"./ListCards\";\nimport Structures from '../../../containers/structures/Structure';\nimport { MessagerieClient, MessagerieDto, FOCurrentUserDto, DiscussionStructureDto, DiscussionDossierDto, StatutDiscussion } from '../../../services/generated/FrontOffice-api';\nimport MessagesList from './MessagesList';\n\nimport { useAxios } from '../../../custom-hooks/useAxios';\nimport { useUserContext } from '../../../context/context-helpers';\nimport ReactTooltip from \"react-tooltip\";\nimport { scrollToBottom } from 'adel-shared/dist/utils/functions';\nimport { AuthenticatedRoute } from \"../../../containers/AuthenticatedRoute\";\n\nimport InputReadOnly from 'adel-shared/dist/components/InputReadOnly';\nimport { toast } from 'react-toastify';\nimport FEST from \"../../../assets/img/categorieDossier/FEST.png\";\nimport BO from \"../../../assets/img/categorieDossier/BO.png\";\nimport DRAMA from \"../../../assets/img/categorieDossier/DRAMA.png\";\nimport ECOLE from \"../../../assets/img/categorieDossier/ECOLE.png\";\nimport FILM from \"../../../assets/img/categorieDossier/FILM.png\";\nimport INT from \"../../../assets/img/categorieDossier/INT.png\";\nimport MUSICAL from \"../../../assets/img/categorieDossier/MUSICAL.png\";\nimport PROMO from \"../../../assets/img/categorieDossier/PROMO.png\";\nimport FORTI from \"../../../assets/img/categorieDossier/FORTI.png\";\nimport INTGEN from \"../../../assets/img/categorieDossier/INTGEN.png\";\nimport SOIRART from \"../../../assets/img/categorieDossier/SOIRART.png\";\nimport DIFFLIEU from \"../../../assets/img/categorieDossier/DIFFLIEU.png\";\nimport AIDERES from \"../../../assets/img/categorieDossier/AIDERES.png\";\nimport DIFFAVIG from \"../../../assets/img/categorieDossier/DIFFAVIG.png\";\nimport ASA from \"../../../assets/img/categorieDossier/ASA.png\";\nimport { Dictionary } from \"../../../models\";\nimport WysiwygEditor from \"adel-shared/dist/components/WysiwygEditor\";\n\ninterface StructuresMailBoxContentProps extends RouteComponentProps {\n}\n\nconst StructuresMailBoxContent: React.FunctionComponent = () => {\n\tconst { t } = useTranslation();\n\tconst [sendingMessage, setSendingMessage] = useState(false);\n\n\tconst axiosInstance = useAxios();\n\n\t/** Get current user */\n\tconst [user, setUser] = useState({});\n\tconst context = useUserContext();\n\tuseEffect(() => {\n\t\tif (context) {\n\t\t\tsetUser(context);\n\t\t}\n\t}, [context]);\n\n\t// Get the fils and messages\n\tconst [selectedDiscussion, setSelectedDiscussion] = useState({});\n\tconst [discussions, setDiscussions] = useState({});\n\tconst isDiscussionDossier = typeof (selectedDiscussion as DiscussionDossierDto)?.dossierId !== 'undefined';\n\tconst isDiscussionStructure = typeof (selectedDiscussion as DiscussionStructureDto)?.structureId !== 'undefined';\n\n\tconst [editorContent, setEditorContent] = useState(\"\");\n\n\t// Show fils and messages or not - mobile behavior\n\tconst [exchange, setExchange] = useState(false);\n\n\tconst messagerieClient = new MessagerieClient(\"\", axiosInstance);\n\n\tconst getDiscussions = async () => {\n\t\ttry {\n\t\t\tconst messagerie = await messagerieClient.getMessagerie();\n\t\t\tsetDiscussions(messagerie);\n\t\t\tsetSelectedDiscussion(messagerie.discussionsStructure[0] || messagerie.discussionsDossiers[0]);\n\t\t} catch (error) {\n\t\t\tconsole.log(\"error\", error); /** TODO: catch error dispatch */\n\t\t}\n\t}\n\n\tuseEffect(() => {\n\t\tgetDiscussions();\n\t}, []);\n\n\tconst sendMessage = async () => {\n\t\tsetSendingMessage(true);\n\n\t\ttry {\n\t\t\tif(!selectedDiscussion.id) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst result = await messagerieClient.createMessageDiscussion(selectedDiscussion.id, { contenu: editorContent });\n\t\t\tconst selectedDisc = selectedDiscussion;\n\t\t\tselectedDisc.messages.unshift(result);\n\t\t\tsetSelectedDiscussion(selectedDisc);\n\n\t\t\tsetSendingMessage(false);\n\t\t\tsetEditorContent(\"\");\n\t\t\tscrollToBottom(\"messagerie\");\n\n\t\t} catch (error) {\n\t\t\tsetSendingMessage(false);\n\t\t\tif (error.exception?.message)\n\t\t\t\ttoast.error(error.exception.message);\n\t\t\telse\n\t\t\t\ttoast.error(t(\"errors.default\"));\n\t\t}\n\t}\n\n\t// Images des icônes de catégories\n\tconst categorieTypeImgDic: Dictionary = {\n\t\tFEST,\n\t\tBO,\n\t\tDRAMA,\n\t\tECOLE,\n\t\tFILM,\n\t\tINT,\n\t\tMUSICAL,\n\t\tPROMO,\n\t\tFORTI,\n\t\tINTGEN,\n\t\tASA,\n\t\tSOIRART,\n\t\tDIFFLIEU,\n\t\tAIDERES,\n\t\tDIFFAVIG\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t<>\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{t(\"navigation.folder\")}\n\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t|\n\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{t(\"navigation.mailbox\")}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t{/*
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
*/}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t{!exchange ?\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t{isDiscussionDossier && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t

{selectedDiscussion?.objet ? t(`objetDiscussion.${selectedDiscussion?.objet}`) : \"-\"}

\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t\t\t{selectedDiscussion && selectedDiscussion.messages?.length > 0 && (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t\t{selectedDiscussion && selectedDiscussion.statut !== StatutDiscussion.Termine && (\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{sendingMessage ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t) :\t(\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t:\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\tisDiscussionDossier &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"\"\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t

{isDiscussionStructure ? t('mailbox.type.structure') : `N° ${(selectedDiscussion as DiscussionDossierDto)?.dossierId}`}

\n\t\t\t\t\t\t\t\t\t\t\t\t\t

{selectedDiscussion?.nom || \"-\"}

\n\t\t\t\t\t\t\t\t\t\t\t\t\t

{selectedDiscussion?.objet ? t(`objetDiscussion.${selectedDiscussion?.objet}`) : \"-\"}

\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{selectedDiscussion?.nom || \"-\"}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t\t{isDiscussionDossier ?\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tt('mailbox.structure-author-subtitle')\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t:\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tt('mailbox.folder-author-subtitle')\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t\t\t\t\t\t{/**

AUTHOR

TODO: replace Mock et voir avec le Back comment c'est remonté */} \n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t\t\t\t{selectedDiscussion && selectedDiscussion.messages?.length > 0 && (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t{sendingMessage ?\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t:\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsendMessage();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetExchange(!exchange);\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t)\n};\n\nexport default StructuresMailBoxContent;","import React from \"react\";\nimport { Link } from \"@reach/router\";\n\ninterface StructuresFolderAddButtonProps {\n\ttitle?: string;\n\tcolorInverted: boolean;\n\tpathLink?: string;\n\tonClick?: () => void;\n}\n\nconst StructuresFolderAddButton: React.SFC = (props) => {\n\treturn (\n\t\t<>\n\t\t\t{props.pathLink ?\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t{props.title}\n\t\t\t\t\t
\n\t\t\t\t\n\t\t\t\t:\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t{props.title}\n\t\t\t\t
\n\t\t\t}\n\t\t\n\t)\n}\n\nexport default StructuresFolderAddButton;","import React, { useCallback } from \"react\"\nimport ChipAdelOption from \"../../models/ChipAdelOption\";\nimport * as Moment from 'moment';\nimport { extendMoment } from 'moment-range';\n\ninterface ChipProps {\n\toption: ChipAdelOption;\n\tonRemoveChip: Function;\n\tdates?: any;\n\tdateRange: boolean;\n}\n\nconst Chip: React.FunctionComponent = ({\n\toption,\n\tonRemoveChip,\n\tdates,\n\tdateRange\n}: ChipProps): JSX.Element => {\n\n\n\t// Utilisation de moment-range avec TS: https://github.com/rotaready/moment-range\n\tconst moment = extendMoment(Moment);\n\tconst start = moment(dates[0], 'YYYY-MM-DD');\n\tconst end = moment(dates[1], 'YYYY-MM-DD');\n\tconst range = moment.range(start, end);\n\n\tconst handleRemoveChip = useCallback(() => {\n\t\tonRemoveChip(option);\n\t}, [option, onRemoveChip]);\n\n\treturn (\n\t\t<>\n\t\t\t
\n\t\t\t\t

{option.type + ':'}

\n\n\t\t\t\t{dateRange ?\n\t\t\t\t\t

\n\t\t\t\t\t\t{range}\n\t\t\t\t\t

\n\t\t\t\t\t:\n\t\t\t\t\t

{option.label}

\n\t\t\t\t}\n\n\t\t\t\t\n\t\t\t
\n\t\t\n\t)\n}\n\nexport default Chip;","import React, { useEffect, useState, useRef } from 'react';\nimport Select, { ValueType, ActionMeta, OptionTypeBase, components } from \"react-select\";\nimport { AdelOption } from './InputSelect';\nimport { FilterType } from \"../../enums/DossierFilterTypes\"\nimport { useTranslation } from 'react-i18next';\nimport Calendar from \"react-calendar\";\nimport 'react-calendar/dist/Calendar.css';\nimport moment from 'moment';\n\ninterface ITooltipPosition {\n\tleft: string;\n\ttop: string;\n}\n\n/**\n * Tooltip props interface.\n * @interface\n * @property {Function} position Position of the Tooltip.\n */\ninterface ITooltipProps {\n\tvisible: boolean;\n\tstatutOptions: AdelOption[];\n\tcategoriesOptions: AdelOption[];\n\tonSelectFilter: Function;\n\tonTooltipVisibleChange(visible: boolean): void;\n\tdates?: any;\n\tsetDateRange?: any;\n}\n\n/**\n * TimeSlot => The time slot component.\n * @returns {JSX.Element}\n */\nconst Tooltip: React.FunctionComponent = ({\n\tvisible,\n\tstatutOptions,\n\tcategoriesOptions,\n\tonSelectFilter,\n\tonTooltipVisibleChange,\n\tdates,\n\tsetDateRange\n\n}: ITooltipProps): JSX.Element => {\n\tconst tooltipRef = useRef();\n\tconst [isVisible, setIsVisible] = useState(visible)\n\tconst { t } = useTranslation();\n\n\t/** Calendrier visible ou pas */\n\tconst [showCalendar, setShowCalendar] = useState(false);\n\n\tuseEffect(() => {\n\t\tdocument.addEventListener('mousedown', handleClick, false)\n\n\t\treturn () => {\n\t\t\tdocument.removeEventListener('mousedown', handleClick, false)\n\t\t}\n\t}, []);\n\n\tuseEffect(() => {\n\t\tsetIsVisible(visible);\n\t}, [visible])\n\n\n\tconst handleClickOutside = () => {\n\t\tonTooltipVisibleChange(false);\n\t}\n\n\tconst handleClick = (e: any) => {\n\t\tif (tooltipRef.current.contains(e.target) || e.target.classList.contains('rct-item_content')) {\n\t\t\treturn;\n\t\t}\n\n\t\thandleClickOutside();\n\t}\n\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t onSelectFilter(value, FilterType.Statut)}\n\t\t\t\t\t\toptions={statutOptions}\n\t\t\t\t\t\tclassName={'inputSelectFilter'}\n\t\t\t\t\t\tlabel='label'\n\t\t\t\t\t\tname='name'\n\t\t\t\t\t\tisSearchable={false}\n\t\t\t\t\t\tplaceholder={t('filters.status')}\n\t\t\t\t\t/>\n\n\t\t\t\t\t onSelectFilter(value, FilterType.Categorie)}\n\t\t\t\t\t\toptions={categoriesOptions}\n\t\t\t\t\t\tclassName={'inputSelectFilter'}\n\t\t\t\t\t\tlabel='label'\n\t\t\t\t\t\tname='name'\n\t\t\t\t\t\tisSearchable={false}\n\t\t\t\t\t\tplaceholder={t('filters.folder-category')}\n\t\t\t\t\t/>\n\n\t\t\t\t\t
setShowCalendar(true)}>\n\t\t\t\t\t\tCalendrier\n\n\t\t\t\t\t\t{showCalendar &&\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\tsetShowCalendar(false);\n\t\t\t\t\t\t\t\t\tonSelectFilter({\n\t\t\t\t\t\t\t\t\t\tlabel: 'Du ' + moment(dates[0]).format('DD/MM/YYYY') + ' au ' + moment(dates[1]).format('DD/MM/YYYY'),\n\t\t\t\t\t\t\t\t\t\tvalue: dates\n\t\t\t\t\t\t\t\t\t}, FilterType.Date);\n\t\t\t\t\t\t\t\t\t// setDateRange(true);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tvalue={dates}\n\t\t\t\t\t\t\t\tlocale=\"fr-FR\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t}\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t)\n}\n\nexport default Tooltip;","import React, { useState, useEffect, useMemo } from \"react\"\nimport StructuresFolderAddButton from \"../../components/structures/dossiers/StructuresFolderAddButton\"\nimport Chip from \"../../components/basics/Chip\"\nimport Tooltip from \"../basics/Tooltip\"\nimport { AdelOption } from \"./InputSelect\"\nimport { FilterType } from \"../../enums/DossierFilterTypes\"\nimport ChipAdelOption from \"../../models/ChipAdelOption\"\nimport { useTranslation } from 'react-i18next'\nimport { typeFilterKey, statutFilterKey, dateFilterKey } from \"../../constants/filters.constants\"\nimport { StructureClient, StatutDossier } from \"../../services/generated/FrontOffice-api\"\nimport { useAxios } from '../../custom-hooks/useAxios';\n\ninterface FiltersProps {\n\tfilters: any,\n\tsetFilters: any\n}\n\nconst Filters: React.SFC = ({\n\tfilters,\n\tsetFilters\n}) => {\n\n\tconst { t } = useTranslation();\n\tconst [chips, setChips] = useState([]);\n\t/** The x position of the tooltip */\n\tconst [tooltipPosX, setTooltipPosX] = useState(0);\n\t/** The y position of the tooltip */\n\tconst [tooltipPosY, setTooltipPosY] = useState(0);\n\t/** The visibility of the tooltip */\n\tconst [tooltipVisible, setTooltipVisible] = useState(false);\n\n\t/** Tableau de dates */\n\tconst [dates, setDates] = useState([new Date, new Date]);\n\t/** Plage de dates */\n\tconst [dateRange, setDateRange] = useState(false);\n\n\n\tconst axiosInstance = useAxios();\n\tconst structureClient = new StructureClient(\"\", axiosInstance);\n\n\tconst updateTooltipPosition = (element: any) => {\n\t\tconst posX = element.getBoundingClientRect().left + (element.offsetWidth / 2);\n\t\tconst posY = element.getBoundingClientRect().top + element.offsetHeight + 30;\n\n\t\tsetTooltipPosX(posX);\n\t\tsetTooltipPosY(posY);\n\t}\n\n\tconst statutOptions: AdelOption[] = useMemo(() => {\n\t\treturn Object.values(StatutDossier).filter(value => { return value !== \"none\" }).map(value => {\n\t\t\treturn { label: t(`statutDossier.${value}`), value: value }\n\t\t});\n\t}, []);\n\tconst [typeOptions, setTypeOptions] = useState[]>([]);\n\n\tuseEffect(() => {\n\t\tstructureClient.getStructureCategoriesDossier().then((result) => {\n\t\t\tlet newData: any = [...result]\n\t\t\tnewData.forEach(function (element: any) {\n\t\t\t\telement.value = element.id;\n\t\t\t\telement.label = element.nom;\n\t\t\t})\n\t\t\tnewData.unshift(\n\t\t\t\t{\n\t\t\t\t\tvalue: \"all\",\n\t\t\t\t\tlabel: t('filterAll')\n\t\t\t\t})\n\t\t\tsetTypeOptions(newData)\n\t\t})\n\t}, [])\n\n\tconst addChip = (filter: AdelOption, filterType: FilterType) => {\n\t\tvar chipToAdd: ChipAdelOption = { ...filter, type: filterType };\n\t\tconst updateChips = [...chips]\n\t\tlet index = -1;\n\t\tlet i = 0;\n\t\tupdateChips.forEach((element) => {\n\t\t\tif (element.type === FilterType.Date && filterType === FilterType.Date) {\n\t\t\t\tindex = i;\n\t\t\t}\n\t\t\tif (element.type === FilterType.Statut && filterType === FilterType.Statut) {\n\t\t\t\tindex = i;\n\t\t\t}\n\t\t\tif (element.type === FilterType.Categorie && filterType === FilterType.Categorie) {\n\t\t\t\tindex = i;\n\t\t\t}\n\t\t\ti++;\n\t\t})\n\t\tif (index !== -1) {\n\t\t\tupdateChips.splice(index, 1);\n\t\t}\n\t\tif (updateChips.filter(chip => chip.value == chipToAdd.value).length == 0) {\n\t\t\tsetChips([...updateChips, chipToAdd])\n\t\t}\n\t}\n\n\tconst removeChip = (option: ChipAdelOption) => {\n\t\tconst newChips = chips.filter(chip => chip.value !== option.value);\n\t\tsetChips(newChips);\n\t};\n\n\tconst onTooltipVisibleChange = (visible: any) => {\n\t\tsetTooltipVisible(visible);\n\t}\n\n\tuseEffect(() => {\n\n\t\tlet statutFilter = \"\";\n\t\tlet typeFilter = \"\";\n\t\tlet datesFilter = \"\";\n\n\t\tchips.forEach((item) => {\n\t\t\tif (item.type === 'Statut') {\n\t\t\t\tstatutFilter = `${statutFilterKey}${item.value},`;\n\t\t\t}\n\t\t\tif (item.type === 'Catégorie') {\n\t\t\t\ttypeFilter = `${typeFilterKey}${item.value},`;\n\t\t\t}\n\t\t\tif (item.type === 'Date') {\n\t\t\t\tdatesFilter = `${dateFilterKey}${item.value},`;\n\t\t\t}\n\t\t})\n\n\t\tconst updateFilters: string = `${statutFilter}${typeFilter}${datesFilter}`;\n\t\tsetFilters(updateFilters)\n\t}, [chips])\n\n\treturn (\n\t\t<>\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t

{t('filter')}

\n\t\t\t\t
\n\n\t\t\t\t
\n\t\t\t\t\t{chips.map((chipOption, index) => (\n\t\t\t\t\t\t\n\t\t\t\t\t))}\n\n\t\t\t\t\t
{\n\t\t\t\t\t\tsetTooltipVisible(!tooltipVisible);\n\t\t\t\t\t\tupdateTooltipPosition(e.target);\n\t\t\t\t\t}}>\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\n\t\t\t\t
\n\t\t\t\t\t{tooltipVisible &&\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t
\n\t\t\t
\n\t\t\n\t)\n}\n\nexport default Filters;","import React, { ReactNode, Children, useEffect, useRef } from 'react';\n\n/**\n * InfiniteScroll props interface.\n * \n * @interface\n * @property {Function} callback Function to call when component limit is reach.\n * @property {ReactNode} children Children to render inside.\n * @property {string[]} classNames An attached class list.\n */\ninterface IInfiniteScrollProps {\n\tcallback: () => any;\n\tchildren: ReactNode;\n\tclassNames: string[];\n}\n\n/**\n * InfiniteScroll => The Infinite scroll component.\n * \n * @returns {JSX.Element}\n */\nconst InfiniteScroll = ({\n\tcallback,\n\tchildren,\n\tclassNames,\n}: IInfiniteScrollProps): JSX.Element => {\n\n\tconst scrollRef = useRef(null);\n\tconst classList = classNames && classNames.length > 0 ? classNames.join(\" \") : '';\n\n\tuseEffect(() => {\n\t\thandleScroll();\n\t}, []);\n\n\tconst handleScroll = () => {\n\t\tif (scrollRef.current.scrollHeight - scrollRef.current.scrollTop ===\n\t\t\tscrollRef.current.clientHeight) {\n\t\t\tcallback();\n\t\t}\n\t}\n\n\treturn (\n\t\t
\n\t\t\t{children}\n\t\t
\n\t);\n}\n\nexport default InfiniteScroll;","import React, { ReactElement, useEffect, FunctionComponent } from 'react';\nimport Modal from 'react-modal';\nimport { modalSmallerCustomStyles } from \"../../constants/config.constant\";\nimport FormButton from 'adel-shared/dist/components/basics/FormButton';\nimport Loader from 'react-loader-spinner';\n\ninterface ModalValidateCancelProps {\n isOpen: boolean;\n onCancel: () => void;\n onValidate: () => void;\n children: ReactElement;\n title?: string;\n validateButtonLabel?: string;\n cancelButtonLabel?: string;\n isLoading?: boolean;\n\thasValidateButton?: boolean;\n}\n\nconst ModalValidateCancel: FunctionComponent = ({\n isOpen,\n onCancel,\n onValidate,\n children,\n title,\n validateButtonLabel,\n cancelButtonLabel,\n isLoading,\n\thasValidateButton = true\n}) => {\n\n useEffect(() => {\n Modal.setAppElement('body');\n }, []);\n\n return (\n
\n

{title ?? \"Attention\"}

\n
\n
\n {React.cloneElement(children)}\n
\n
\n onCancel()}\n />\n\t\t\t{hasValidateButton\n\t\t\t\t? isLoading\n\t\t\t\t\t? \n\t\t\t\t\t: onValidate()}\n\t\t\t\t\t/>\n\t\t\t\t: null\n\t\t\t}\n \n
\n );\n}\n\nexport default ModalValidateCancel;","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\ninterface StructuresFolderCardHeaderActionsProps {\n\tmessages: number;\n\tonView: () => void;\n\tonDuplicate: () => void;\n\tonEdit?: () => void;\n\tonAbandon?: () => void;\n}\nconst StructuresFolderCardHeaderActions: React.FunctionComponent = ({\n\tmessages,\n\tonView,\n\tonDuplicate,\n\tonEdit,\n\tonAbandon\n}) => {\n\tconst { t } = useTranslation();\n\treturn (\n\t\t
\n\t\t\t{(messages > 0) && (\n\t\t\t\t
{messages + ' message'}\n\t\t\t\t\t{(messages > 1) && s}\n\t\t\t\t
\n\t\t\t)}\n\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t{onEdit &&\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t}\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t{onAbandon &&\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t}\n\t\t
\n\t)\n};\n\nexport default StructuresFolderCardHeaderActions;","import { useState } from \"react\";\r\nfunction useBooleanState(defaultValue = false) {\r\n const [value, setValue] = useState(defaultValue);\r\n return [\r\n value,\r\n () => setValue(true),\r\n () => setValue(false)\r\n ];\r\n}\r\nexport default useBooleanState;\r\n","import React from \"react\";\r\nimport clsx from \"clsx\";\r\nexport var styleTable;\r\n(function (styleTable) {\r\n styleTable[styleTable[\"onglet\"] = 0] = \"onglet\";\r\n styleTable[styleTable[\"page\"] = 1] = \"page\";\r\n})(styleTable || (styleTable = {}));\r\n// Create a default prop getter\r\nconst defaultPropGetter = () => ({});\r\nconst Table = ({ className, data, getTableProps, getTableBodyProps, getCellProps = defaultPropGetter, getRowProps = defaultPropGetter, headerGroups, rows, prepareRow, styles, footerGroups }) => {\r\n return (React.createElement(React.Fragment, null, data &&\r\n React.createElement(\"table\", Object.assign({}, getTableProps(), { className: clsx(\"table\", className) }),\r\n React.createElement(\"thead\", { className: styles === styleTable.onglet ? \"table__header\" : \"table__header table__header--color\" }, headerGroups === null || headerGroups === void 0 ? void 0 : headerGroups.map((headerGroup) => (React.createElement(\"tr\", Object.assign({}, headerGroup.getHeaderGroupProps(), { className: \"table__row \" }), headerGroup.headers.map((column) => (React.createElement(\"th\", Object.assign({}, column.getHeaderProps(column.getSortByToggleProps()), { className: styles === styleTable.onglet ? \"table__label table__label--font\" : \"table__label\", title: null }),\r\n React.createElement(\"div\", { className: \"table__text\" },\r\n !column.disableSortBy &&\r\n React.createElement(\"i\", { className: clsx({\r\n 'fas fa-minus': !column.isSorted,\r\n 'fas fa-chevron-down': column.isSorted && column.isSortedDesc,\r\n 'fas fa-chevron-up': column.isSorted && !column.isSortedDesc\r\n }) }),\r\n React.createElement(\"span\", null, column.render(\"Header\")))))))))),\r\n React.createElement(\"tbody\", Object.assign({}, getTableBodyProps(), { className: \"table__body\" }), rows.map((row, index) => {\r\n prepareRow(row);\r\n return (React.createElement(\"tr\", Object.assign({}, row.getRowProps(getRowProps(row)), { className: clsx({\r\n // 'table__row': styles === styleTable.onglet,\r\n 'table__row': index % 2 === 0,\r\n 'table__row2': index % 2 !== 0,\r\n 'table__row table__row--opacity': styles !== styleTable.onglet\r\n }, getRowProps(row).className) }), row.cells.map((cell) => {\r\n return React.createElement(\"td\", Object.assign({}, cell.getCellProps(getCellProps(cell)), { className: clsx(cell.column.className, {\r\n 'table__statut table__statut--fixWidth': cell.column.Header === 'Statut',\r\n 'table__text--fixWidthSmall': cell.column.hasEllipsis,\r\n 'table__text table__text--font': styles === styleTable.onglet,\r\n 'table__text': styles !== styleTable.onglet\r\n }) }), cell.render(\"Cell\"));\r\n })));\r\n })),\r\n footerGroups &&\r\n React.createElement(\"tfoot\", { className: \"table__footer table__footer--color\" }, footerGroups.map(group => (React.createElement(\"tr\", Object.assign({}, group.getFooterGroupProps(), { className: \"table__row \" }), group.headers.map(column => (React.createElement(\"td\", Object.assign({}, column.getFooterProps(), { className: \"table__label\" }),\r\n React.createElement(\"div\", { className: \"table__text\" }, column.render('Footer'))))))))))));\r\n};\r\nexport default Table;\r\n","import React, { useCallback, useContext, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { toast } from \"react-toastify\";\nimport { navigate } from \"@reach/router\";\nimport { ActionTypeEnum } from \"../../../context/ActionType\";\nimport { AppStateContext } from '../../../context/AppContext';\nimport { useAppDispatch } from \"../../../context/context-helpers\";\nimport { useAxios } from \"../../../custom-hooks/useAxios\";\nimport { DossierClient, DossierDto, StatutDossier } from \"../../../services/generated/FrontOffice-api\";\nimport ModalValidateCancel from \"../../basics/ModalValidateCancel\";\nimport StructuresFolderCardHeaderActions from \"./StructuresFolderCardHeaderActions\";\nimport { CategorieDossier } from 'adel-shared/dist/enums/CategorieDossier';\nimport useBooleanState from \"adel-shared/dist/custom-hooks/useBooleanState\";\n\ninterface StructuresFolderCardProps {\n\tdossier: DossierDto;\n\tmessages: number;\n\talert: boolean;\n\tactions: string;\n\tcategorieTypeImg: string;\n\tdebounceFetchDossiers?:(filters: string, sort: string, page: number, pageSize: number, disabledPagination: boolean) => void;\n}\n\nconst StructuresFolderCard: React.FunctionComponent = ({\n\tdossier: {\n\t\tid: dossierId,\n\t\tnom,\n\t\tcategorieId,\n\t\tcategorieCode,\n\t\tcategorieNom,\n\t\tnumero,\n\t\tcanVersement,\n\t\tconvention,\n\t\tcourrierAgreement,\n\t\tstatut,\n\t\tlettreRefus,\n\t\tblocageAvis\n\t},\n\tmessages,\n\talert,\n\tactions,\n\tcategorieTypeImg,\n\tdebounceFetchDossiers\n}) => {\n\tconst { t } = useTranslation();\n\tconst dispatch = useAppDispatch();\n\tconst axiosInstance = useAxios();\n\tconst [isDeleteModalOpened, showDeleteModal, closeDeleteModal] = useBooleanState(false);\n\tconst [isDeleteLoading, setIsDeleteLoading] = useState(false);\n\tconst [context] = useContext(AppStateContext);\n\tconst client = new DossierClient(\"\", axiosInstance);\n\n\tconst handleView = () => {\n\t\tnavigate(`/Dossiers/Details/${dossierId}`);\n\t};\n\n\tconst onEdit = () => {\n\t\tdispatch({\n\t\t\ttype: ActionTypeEnum.EDIT_DOSSIER,\n\t\t\tpayload: {\n\t\t\t\tdossierId,\n\t\t\t\tcategorieId,\n\t\t\t\tnumero\n\t\t\t}\n\t\t});\n\t\tnavigate(`/Dossiers/Creation`);\n\t}\n\n\tconst onAbandon = () => {\n\t\tdispatch({ type: ActionTypeEnum.DELETE_DOSSIER_REQUEST });\n\t\t(async function () {\n\t\t\tsetIsDeleteLoading(true);\n\t\t\ttry {\n\t\t\t\tawait client.deleteDossier(dossierId);\n\t\t\t\tcloseDeleteModal();\n\t\t\t\tsetIsDeleteLoading(false);\n\t\t\t\tdispatch({\n\t\t\t\t\ttype: ActionTypeEnum.DELETE_DOSSIER_SUCCESS,\n\t\t\t\t\tpayload: { dossierId }\n\t\t\t\t});\n\t\t\t\tawait debounceFetchDossiers(\"\", \"\", 1, 10, true);\n\t\t\t} catch (error) {\n\t\t\t\tsetIsDeleteLoading(false);\n\n\t\t\t\tif (error.exception?.message)\n\t\t\t\t\ttoast.error(error.exception.message);\n\t\t\t\telse\n\t\t\t\t\ttoast.error(t(\"errors.default\"));\n\t\t\t}\n\t\t})()\n\t}\n\n\tconst goToVersement = useCallback(() => {\n\t\tif (canVersement) {\n\t\t\tdispatch({\n\t\t\t\ttype: ActionTypeEnum.EDIT_DOSSIER,\n\t\t\t\tpayload: {\n\t\t\t\t\tdossierId,\n\t\t\t\t\tcategorieId,\n\t\t\t\t\tcategorieCode: categorieCode as CategorieDossier,\n\t\t\t\t\tnom,\n\t\t\t\t\tnumero\n\t\t\t\t}\n\t\t\t});\n\t\t\tnavigate(`/Versements/${dossierId}`);\n\t\t}\n\t}, [dispatch, navigate]);\n\n\tconst handleDuplicate = async() => {\n\t\ttry {\n\t\t\tconst { id, categorieId, nom, numero } = await client.duplicationDossier(dossierId);\n\t\t\tdispatch({\n\t\t\t\ttype: ActionTypeEnum.EDIT_DOSSIER,\n\t\t\t\tpayload: {\n\t\t\t\t\tdossierId: id,\n\t\t\t\t\tcategorieId,\n\t\t\t\t\tnom,\n\t\t\t\t\tnumero\n\t\t\t\t}\n\t\t\t})\n\t\t\tnavigate('/Dossiers/Creation');\n\t\t} catch(error) {\n\t\t\tif(error.code === 'categorieDossierQuotaExceeded') {\n\t\t\t\ttoast.error(t('createFolder.type.quotaAtteintError'));\n\t\t\t} else {\n\t\t\t\ttoast.error(t('errors.default'));\n\t\t\t}\n\n\t\t\tif (error.exception?.message)\n\t\t\t\ttoast.error(error.exception.message);\n\t\t}\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t{t(`statutDossier.${statut}`)}\n\t\t\t\t\t
\n\t\t\t\t\t{statut === StatutDossier.Brouillon ? (\n\t\t\t\t\t\t\n\t\t\t\t\t) : (\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t
\n\n\t\t\t\t
\n\t\t\t\t\t

N° {numero}

\n\t\t\t\t\t

{nom}

\n\t\t\t\t\t
\n\t\t\t\t\t\t\"\"\n\t\t\t\t\t\t

{categorieNom}

\n\t\t\t\t\t
\n\t\t\t\t
\n\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t{alert && }\n\t\t\t\t\t\t
{actions}
\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t{convention && blocageAvis === false && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t{t(\"versements.convention\")}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{courrierAgreement && blocageAvis === false && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t{t(\"versements.courrierAgrement\")}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{lettreRefus && blocageAvis === false && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t{t(\"versements.courrierAgrement-refuse\")}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{(statut === StatutDossier.Accepte || statut === StatutDossier.Solde || statut === StatutDossier.Reaffecte) && blocageAvis === false\n\t\t\t\t\t\t&& <>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t{t(\"versements.noAccess\")}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t\n\t\t\t\t
\n\t\t\t\t\t

{t('structure.dossiers.delete')}

\n\t\t\t\t
\n\t\t\t\n\t\t\n\t)\n};\n\nexport default StructuresFolderCard;","import { Dictionary } from 'adel-shared/dist/models';\nimport _ from 'lodash';\nimport React, { FunctionComponent, useEffect, useMemo, useState, useContext } from \"react\";\nimport Loader from \"react-loader-spinner\";\nimport { RouteComponentProps } from \"@reach/router\";\nimport NoFolder from \"../../../assets/img/undraw-not-found.png\";\nimport Filters from \"../../../components/basics/Filters\";\nimport { useAxios } from '../../../custom-hooks/useAxios';\nimport { DossierClient } from \"../../../services/generated/FrontOffice-api\";\nimport InfiniteScroll from '../../basics/InfiniteScroll';\nimport StructuresFolderCard from './StructuresFolderCard';\nimport { toast } from 'react-toastify';\nimport { useTranslation } from 'react-i18next';\nimport { AppStateContext } from '../../../context/AppContext';\nimport { ActionTypeEnum } from '../../../context/ActionType';\nimport { CategorieDossier } from 'adel-shared/dist/enums/CategorieDossier';\n\ninterface StructuresContentProps extends RouteComponentProps {\n\tcategorieTypeImgDic: Dictionary;\n}\n\nconst StructuresContent: FunctionComponent = ({categorieTypeImgDic}) => {\n\tconst { t } = useTranslation();\n\tconst axiosInstance = useAxios();\n\tconst dossierClient = new DossierClient(\"\", axiosInstance);\n\tconst [{dossiers = {}, noDossiersMessage}, dispatch] = useContext(AppStateContext);\n\tconst [filters, setFilters] = useState(\"\");\n\tconst [isLoading, setIsLoading] = useState(false);\n\n\t// UseMemo to save the debounce function in memory when component is re-rendered\n\tconst debounceFetchDossiers = useMemo(() => _.debounce((filters: string, sort: string, page: number, pageSize: number, disabledPagination: boolean) => {\n\t\tdossierClient.getDossiers(filters, sort, page, pageSize, disabledPagination).then(result => {\n\t\t\tdispatch({\n\t\t\t\ttype: ActionTypeEnum.SET_DOSSIERS_LIST_SUCCESS,\n\t\t\t\tpayload: { dossiers: result }\n\t\t\t});\n\t\t\tsetIsLoading(false)\n\t\t});\n\t}), [filters]);\n\n\tuseEffect(() => {\n\t\t(async () => {\n\t\t\ttry {\n \tawait debounceFetchDossiers(filters, \"\", 1, 10, true);\n\t\t\t} catch(error) {\n\t\t\t\tif (error.exception?.message)\n\t\t\t\t\ttoast.error(error.exception.message);\n\t\t\t\telse\n\t\t\t\t\ttoast.error(t(\"errors.default\"));\n\t\t\t}\n })()\n\t}, [filters]);\n\n\treturn <>\n\t\t
\n\t\t\t\n\t\t
\n\n\t\t {} /**nextFolderCard() TODO: A corriger*/} >\n\t\t\t{isLoading ?\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t:\n\t\t\t\t
\n\t\t\t\t\t{dossiers && dossiers.items?.length === 0 ?\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t

{noDossiersMessage}

\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t:\n\t\t\t\t\t\tdossiers && dossiers.items?.map(dossier => (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t))\n\t\t\t\t\t}\n\t\t\t\t
\n\t\t\t}\n\t\t
\n\t\n};\nexport default StructuresContent;","import React, { useCallback } from \"react\";\r\nimport InputSelect from './InputSelect';\r\nconst Pagination = ({ hasNext, hasPrevious, isFirst, isLast, totalPageCount, totalItemCount, page, pageSize, initPageSize, initPage, pageNumbers }) => {\r\n const pagesSelect = pageNumbers ? [pageNumbers.p1, pageNumbers.p2, pageNumbers.p3, pageNumbers.p4, pageNumbers.p5] : [5, 10, 25, 50, 100];\r\n const options = () => {\r\n let allOptions = [];\r\n pagesSelect.map(page => {\r\n allOptions.push({\r\n value: page,\r\n label: `${page}`\r\n });\r\n });\r\n return allOptions;\r\n };\r\n const handleSelectChange = useCallback((elem) => {\r\n pageSize(elem);\r\n }, [pageSize]);\r\n return (React.createElement(\"div\", { className: \"pagination\" },\r\n React.createElement(\"div\", { className: \"pagination__nav\" },\r\n React.createElement(\"ul\", null,\r\n React.createElement(\"li\", null,\r\n React.createElement(\"button\", { className: `pagination__button ${isFirst ? 'pagination__button--disabled' : ''}`, onClick: () => page(1) }, \"<<\")),\r\n React.createElement(\"li\", null,\r\n React.createElement(\"button\", { className: `pagination__button ${!hasPrevious ? 'pagination__button--disabled' : ''}`, onClick: () => {\r\n if (initPage > 1) {\r\n page(initPage - 1);\r\n }\r\n } }, \"<\")),\r\n Array.from(Array(totalPageCount), (e, i) => {\r\n if ((i + 1) === 1 ||\r\n (i + 1) === totalPageCount ||\r\n (i + 1) <= 3 ||\r\n initPage - 1 === (i + 1) ||\r\n initPage + 1 === (i + 1) ||\r\n initPage === (i + 1) // ||\r\n // (i+1) % 10 === 0\r\n ) {\r\n return (React.createElement(\"li\", { key: i },\r\n React.createElement(\"button\", { className: `pagination__button ${i + 1 == initPage ? 'pagination__button--active' : ''}`, onClick: () => {\r\n page(i + 1);\r\n } }, i + 1)));\r\n }\r\n else if (initPage - 2 === (i + 1) ||\r\n // (i+1) % 10 === 9 ||\r\n totalPageCount - 1 === (i + 1)) {\r\n return (React.createElement(\"li\", { key: i }, \"...\"));\r\n }\r\n }),\r\n React.createElement(\"li\", null,\r\n React.createElement(\"button\", { className: `pagination__button ${!hasNext ? 'pagination__button--disabled' : ''}`, onClick: () => {\r\n if (initPage < totalPageCount) {\r\n page(initPage + 1);\r\n }\r\n } }, \">\")),\r\n React.createElement(\"li\", null,\r\n React.createElement(\"button\", { className: `pagination__button ${isLast ? 'pagination__button--disabled' : ''}`, onClick: () => page(totalPageCount) }, \">>\")))),\r\n React.createElement(\"div\", { className: \"pagination__results\" },\r\n totalItemCount,\r\n \" r\\u00E9sultat\",\r\n totalItemCount == 1 ? '' : 's'),\r\n React.createElement(\"div\", { className: \"pagination__selection\" },\r\n React.createElement(\"label\", null, \"Nombre par page :\"),\r\n React.createElement(InputSelect, { name: \"pageSelect\", label: \"\", classname: \"pagination__inputSelect\", position: \"top\", options: options(), onChange: handleSelectChange, value: initPageSize }))));\r\n};\r\nexport default Pagination;\r\n","export var CategorieDossier;\r\n(function (CategorieDossier) {\r\n CategorieDossier[\"AidePromotionImage\"] = \"PROMO\";\r\n CategorieDossier[\"DeplacementInternational\"] = \"INT\";\r\n CategorieDossier[\"BODramatiqueChoregraphique\"] = \"BO\";\r\n CategorieDossier[\"SpectacleDramatiqueChoregraphiqueCirque\"] = \"DRAMA\";\r\n CategorieDossier[\"SpectacleMusical\"] = \"MUSICAL\";\r\n CategorieDossier[\"Festival\"] = \"FEST\";\r\n CategorieDossier[\"MusiqueFilm\"] = \"FILM\";\r\n CategorieDossier[\"Ecole\"] = \"ECOLE\";\r\n CategorieDossier[\"Fortissimo\"] = \"FORTI\";\r\n CategorieDossier[\"InteretGeneral\"] = \"INTGEN\";\r\n CategorieDossier[\"SoireeArtistes\"] = \"SOIRART\";\r\n CategorieDossier[\"AideSecretariatArtiste\"] = \"ASA\";\r\n CategorieDossier[\"DiffusionLieu\"] = \"DIFFLIEU\";\r\n CategorieDossier[\"AideResidences\"] = \"AIDERES\";\r\n CategorieDossier[\"DiffusionAvignon\"] = \"DIFFAVIG\";\r\n CategorieDossier[\"AideRemunerationArtiste\"] = \"AIDEREMU\";\r\n CategorieDossier[\"AideSpecifique\"] = \"AIDESPE\";\r\n CategorieDossier[\"DiffusionSpectacleVivantLabelisationReseauSPEDIDAM1\"] = \"DIFFSPLAB1\";\r\n CategorieDossier[\"DiffusionSpectacleVivantLabelisationReseauSPEDIDAM2\"] = \"DIFFSPLAB2\";\r\n CategorieDossier[\"CreationAideSalons\"] = \"CREAIDESAL\";\r\n CategorieDossier[\"CreationSoutienFestival\"] = \"CREASTFEST\";\r\n CategorieDossier[\"EducationArtistiqueCulturelleAideActionsEducation\"] = \"EACAAEAC\";\r\n CategorieDossier[\"DiffusionSpectacleVivantRemisePrixArtistique\"] = \"DSVRPADM\";\r\n CategorieDossier[\"DiffusionSpectacleVivantRemiseEmissionTeleviseeMusicale\"] = \"TVMUSIC\";\r\n})(CategorieDossier || (CategorieDossier = {}));\r\n","import { CategorieDossier } from \"adel-shared/dist/enums/CategorieDossier\";\n\nenum DossierView {\n List = \"List\",\n Edit = \"Edit\",\n}\n\nexport { CategorieDossier, DossierView };\n","import Pagination from 'adel-shared/dist/components/basics/Pagination';\nimport Table, { styleTable } from 'adel-shared/dist/components/basics/Table';\nimport useBooleanState from 'adel-shared/dist/custom-hooks/useBooleanState';\nimport _ from 'lodash';\nimport React, { FunctionComponent, useCallback, useEffect, useMemo, useState } from \"react\";\nimport { useTranslation } from 'react-i18next';\nimport { useSortBy, useTable } from 'react-table';\nimport { toast } from 'react-toastify';\nimport { RouteComponentProps, navigate } from \"@reach/router\";\nimport { ActionTypeEnum } from '../../../context/ActionType';\nimport { useAppStateContext } from \"../../../context/context-helpers\";\nimport { useAxios } from '../../../custom-hooks/useAxios';\nimport { Dictionary } from '../../../models';\nimport { DossierClient, DossierDtoSortedFilteredPage, StatutDossier } from \"../../../services/generated/FrontOffice-api\";\nimport Filters from \"../../basics/Filters\";\nimport ModalValidateCancel from '../../basics/ModalValidateCancel';\nimport StructuresFolderCardHeaderActions from './StructuresFolderCardHeaderActions';\nimport { CategorieDossier } from 'adel-shared/dist/enums/CategorieDossier';\nimport { paginationNumbers } from '../../../constants/config.constant';\n\ninterface StructuresContentProps extends RouteComponentProps {\n\tcategorieTypeImgDic: Dictionary;\n}\n\nconst StructuresContent: FunctionComponent = ({categorieTypeImgDic}) => {\n\tconst { t } = useTranslation();\n\tconst axiosInstance = useAxios();\n\tconst dossierClient = new DossierClient(\"\", axiosInstance);\n\tconst [{dossiers = {}}, dispatch] = useAppStateContext();\n\tconst [data, setData] = useState>([]);\n\n\t/** Delete */\n\tconst [isModalOpen, opeModal, closeModal] = useBooleanState(false);\n\tconst [isDeleteLoading, setIsDeleteLoading] = useState(false);\n\tconst [dossierIdToDelete, setDossierIdToDelete] = useState();\n\n\n\t/** Filtres */\n\tconst [sort, setSort] = useState(\"\");\n\tconst [filters, setFilters] = useState(\"\");\n\tconst [page, setPage] = useState(1);\n\tconst [pageSize, setPageSize] = useState(paginationNumbers.p1);\n\n\t/** Pagination */\n\tconst [hasNext, setHasNext] = useState(false);\n\tconst [hasPrevious, setHasPrevious] = useState(false);\n\tconst [isFirst, setIsFirst] = useState(false);\n\tconst [isLast, setIsLast] = useState(true);\n\tconst [totalPageCount, setTotalPageCount] = useState();\n\tconst [totalItemCount, setTotalItemCount] = useState();\n\n\t//loader dossier\n\tconst [isLoading, setIsLoading] = useState(false);\n\n\t// UseMemo to save the debounce function in memory when component is re-rendered\n\tconst debounceFetchDossiers = useMemo(() => _.debounce((filters: string, sort: string, page: number, pageSize: number, disabledPagination: boolean) => {\n\t\tdossierClient.getDossiers(filters, sort, page, pageSize, disabledPagination).then((result: DossierDtoSortedFilteredPage) => {\n\t\t\tdispatch({\n\t\t\t\ttype: ActionTypeEnum.SET_DOSSIERS_LIST_SUCCESS,\n\t\t\t\tpayload: { dossiers: result }\n\t\t\t});\n\t\t\tsetTotalPageCount(result?.totalPageCount);\n\t\t\tsetTotalItemCount(result?.totalItemCount);\n\t\t\tsetHasNext(result?.hasNext);\n\t\t\tsetHasPrevious(result?.hasPrevious);\n\t\t\tsetIsFirst(result?.isFirst);\n\t\t\tsetIsLast(result?.isLast);\n\t\t\tsetIsLoading(false);\n\t\t});\n\t}), []);\n\n\tuseEffect(() => {\n\t\t(async () => {\n await debounceFetchDossiers(filters, sort, page, pageSize, false);\n })()\n\t}, [sort, page, pageSize ]);\n\n\tuseEffect(() => {\n\t\t(async () => {\n\t\t\tsetPage(1);\n\t\t\tawait debounceFetchDossiers(filters, sort, 1, pageSize, false);\n })()\n\t}, [filters]);\n\n\tuseEffect(() => {\n\t\tif (dossiers) {\n\t\t\tconst data = dossiers.items?.map(dossier => {\n\t\t\t\treturn {\n\t\t\t\t\ttype: (\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\"\" {dossier.categorieNom}\n\t\t\t\t\t\t
\n\t\t\t\t\t),\n\t\t\t\t\talerte: \"\", // TODO: câbler ça\n\t\t\t\t\tnumero: dossier.numero,\n\t\t\t\t\tnom: dossier.nom,\n\t\t\t\t\tid: dossier.id,\n\t\t\t\t\tstatut: dossier.statut,\n\t\t\t\t\tcanVersement: dossier.canVersement,\n\t\t\t\t\tcategorieId: dossier.categorieId,\n\t\t\t\t\tcategorieCode: dossier.categorieCode,\n\t\t\t\t\tconvention: dossier.convention,\n\t\t\t\t\tcourrierAgrement: dossier.courrierAgreement,\n\t\t\t\t\tlettreRefus: dossier.lettreRefus,\n\t\t\t\t\tblocageAvis: dossier.blocageAvis\n\t\t\t\t}\n\t\t\t});\n\t\t\tsetData(data);\n\t\t}\n\t}, [dossiers]);\n\n\t/** Congifure Table */\n\tconst columns = React.useMemo(() => {\n\t\treturn [\n\t\t\t{\n\t\t\t\tHeader: \"Table\",\n\t\t\t\tcolumns: [\n\t\t\t\t\t{\n\t\t\t\t\t\tHeader: t(\"common.numero\"),\n\t\t\t\t\t\taccessor: \"numero\",\n\t\t\t\t\t\tsortType: \"basic\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tHeader: t(\"common.nomDossier\"),\n\t\t\t\t\t\taccessor: \"nom\",\n\t\t\t\t\t\tsortType: \"basic\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tHeader: \"Type\",\n\t\t\t\t\t\taccessor: \"type\",\n\t\t\t\t\t\tdisableSortBy: true\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tHeader: t(\"common.statut.label\"),\n\t\t\t\t\t\taccessor: \"statut\",\n\t\t\t\t\t\tdisableSortBy: true,\n\t\t\t\t\t\tCell: (value: any) => (\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t{t(`statutDossier.${value.value}`)}\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t)\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\taccessor: \"options\",\n\t\t\t\t\t\tdisableSortBy: true,\n\t\t\t\t\t\tCell: (value: any) => (\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t{value.cell.row.values.convention &&\n\t\t\t\t\t\t\t\t\tvalue.cell.row.values.blocageAvis === false &&\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t{t(\"versements.convention\")}\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t{value.cell.row.values.courrierAgreement &&\n\t\t\t\t\t\t\t\t\tvalue.cell.row.values.blocageAvis === false &&\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t{t(\"versements.courrierAgrement\")}\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t{value.cell.row.values.lettreRefus &&\n\t\t\t\t\t\t\t\t\tvalue.cell.row.values.blocageAvis === false &&\n\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t{t(\"versements.courrierAgrement-refuse\")}\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{value.cell.row.values.canVersement &&\n\t\t\t\t\t\t\t\t\t(value.cell.row.values.statut === StatutDossier.Accepte || value.cell.row.values.statut === StatutDossier.Solde) &&\n\t\t\t\t\t\t\t\t\t\tvalue.cell.row.values.blocageAvis === false\n\t\t\t\t\t\t\t\t\t&& \n\t\t\t\t\t\t\t\t\t\tgoToVersement(\n\t\t\t\t\t\t\t\t\t\t\tvalue.cell.row.values.id,\n\t\t\t\t\t\t\t\t\t\t\tvalue.cell.row.values.categorieId,\n\t\t\t\t\t\t\t\t\t\t\tvalue.cell.row.values.categorieCode,\n\t\t\t\t\t\t\t\t\t\t\tvalue.cell.row.values.nom,\n\t\t\t\t\t\t\t\t\t\t\tvalue.cell.row.values.numero\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t}>\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t handleView(value.cell.row.values.id)}\n\t\t\t\t\t\t\t\t\tonDuplicate={() => handleDuplicate(value.cell.row.values.id)}\n\t\t\t\t\t\t\t\t\tonEdit={value.cell.row.values.statut === StatutDossier.Brouillon ? () => onEdit(value.cell.row.values.id, value.cell.row.values.categorieId, value.cell.row.values.numero) : undefined}\n\t\t\t\t\t\t\t\t\tonAbandon={value.cell.row.values.statut === StatutDossier.Brouillon ? () => { openDeleteModal(value.cell.row.values.id) } : undefined}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t)\n\t\t\t\t\t},\n\t\t\t\t\t{ accessor: \"id\" },\n\t\t\t\t\t{ accessor: \"canVersement\" },\n\t\t\t\t\t{ accessor: \"convention\" },\n\t\t\t\t\t{ accessor: \"courrierAgrement\" },\n\t\t\t\t\t{ accessor: \"lettreRefus\" },\n\t\t\t\t\t{ accessor: \"categorieId\" },\n\t\t\t\t\t{ accessor: \"categorieCode\" },\n\t\t\t\t\t{ accessor: \"blocageAvis\" }\n\t\t\t\t]\n\t\t\t}\n\t\t];\n\t}, []);\n\n\tconst { getTableProps, getTableBodyProps, headerGroups, rows, prepareRow, state } = useTable(\n\t\t{\n\t\t\tcolumns,\n\t\t\tdata,\n\t\t\tinitialState: {\n\t\t\t\thiddenColumns: [\n\t\t\t\t\t\"id\",\n\t\t\t\t\t\"canVersement\",\n\t\t\t\t\t\"categorieId\",\n\t\t\t\t\t\"categorieCode\",\n\t\t\t\t\t\"convention\",\n\t\t\t\t\t\"courrierAgrement\",\n\t\t\t\t\t\"lettreRefus\",\n\t\t\t\t\t\"blocageAvis\"\n\t\t\t\t]\n\t\t\t},\n\t\t\tmanualSortBy: true\n\t\t} as any,\n\t\tuseSortBy\n\t);\n\n\tconst sortBy = (state as any).sortBy;\n\n\tconst onChangeSort = (value: any) => {\n\t\tif (value && value.length > 0) {\n\t\t\tif (value[0].desc) {\n\t\t\t\tsetSort(`-${value[0].id}`);\n\t\t\t} else {\n\t\t\t\tsetSort(value[0].id);\n\t\t\t}\n\t\t} else {\n\t\t\tsetSort(\"\");\n\t\t}\n\t}\n\n\tuseEffect(() => {\n\t\tonChangeSort(sortBy);\n\t}, [onChangeSort, sortBy]);\n\n\n\n\t/** Actions */\n\tconst handleView = (id:string) => {\n\t\tnavigate(`/Dossiers/Details/${id}`);\n\t};\n\n\tconst onEdit = (dossierId:string, categorieId:string, numero:string) => {\n\t\tdispatch({\n\t\t\ttype: ActionTypeEnum.EDIT_DOSSIER,\n\t\t\tpayload: {\n\t\t\t\tdossierId,\n\t\t\t\tcategorieId,\n\t\t\t\tnumero\n\t\t\t}\n\t\t});\n\t\tnavigate(`/Dossiers/Creation`);\n\t}\n\n\tconst onAbandon = () => {\n\t\tdispatch({ type: ActionTypeEnum.DELETE_DOSSIER_REQUEST });\n\t\t(async function () {\n\t\t\tsetIsDeleteLoading(true);\n\t\t\ttry {\n\t\t\t\tawait dossierClient.deleteDossier(dossierIdToDelete);\n\t\t\t\tcloseModal();\n\t\t\t\tsetIsDeleteLoading(false);\n\t\t\t\tdispatch({\n\t\t\t\t\ttype: ActionTypeEnum.DELETE_DOSSIER_SUCCESS,\n\t\t\t\t\tpayload: { dossierId: dossierIdToDelete }\n\t\t\t\t});\n\t\t\t\tsetDossierIdToDelete(undefined);\n\t\t\t\tawait debounceFetchDossiers(filters, sort, page, pageSize, false);\n\t\t\t} catch (error) {\n\t\t\t\tsetIsDeleteLoading(false);\n\n\t\t\t\tif (error.exception?.message)\n\t\t\t\t\ttoast.error(error.exception.message);\n\t\t\t\telse\n\t\t\t\t\ttoast.error(t(\"errors.default\"));\n\t\t\t}\n\t\t})()\n\t}\n\n\tconst closeDeleteModal = () => {\n\t\tcloseModal();\n\t\tsetDossierIdToDelete(undefined);\n\t}\n\n\tconst openDeleteModal = (id:string) => {\n\t\topeModal();\n\t\tsetDossierIdToDelete(id);\n\t}\n\n\tconst goToVersement = useCallback((dossierId:string, categorieId:string, categorieCode:CategorieDossier, nom:string, numero:string) => {\n\t\tdispatch({\n\t\t\ttype: ActionTypeEnum.EDIT_DOSSIER,\n\t\t\tpayload: {\n\t\t\t\tdossierId,\n\t\t\t\tcategorieId,\n\t\t\t\tcategorieCode,\n\t\t\t\tnom,\n\t\t\t\tnumero\n\t\t\t}\n\t\t});\n\t\tnavigate(`/Versements/${dossierId}`);\n\t}, [dispatch, navigate]);\n\n\tconst handleDuplicate = async(dossierId:string) => {\n\t\ttry {\n\t\t\tconst { id, categorieId, nom, numero } = await dossierClient.duplicationDossier(dossierId);\n\t\t\tdispatch({\n\t\t\t\ttype: ActionTypeEnum.EDIT_DOSSIER,\n\t\t\t\tpayload: {\n\t\t\t\t\tdossierId: id,\n\t\t\t\t\tcategorieId,\n\t\t\t\t\tnom,\n\t\t\t\t\tnumero\n\t\t\t\t}\n\t\t\t})\n\t\t\tnavigate('/Dossiers/Creation');\n\t\t} catch(error) {\n\t\t\tif(error.code === 'categorieDossierQuotaExceeded') {\n\t\t\t\ttoast.error(t('createFolder.type.quotaAtteintError'));\n\t\t\t} else {\n\t\t\t\ttoast.error(t('errors.default'));\n\t\t\t}\n\n\t\t\tif (error.exception?.message)\n\t\t\t\ttoast.error(error.exception.message);\n\t\t}\n\t};\n\n\treturn <>\n\t\t
\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t
\n\t\t\t\t\t

{t('structure.dossiers.delete')}

\n\t\t\t\t
\n\t\t\t\n\t\t
\n\t\n};\nexport default StructuresContent;","import { Dictionary } from 'adel-shared/dist/models';\nimport _ from 'lodash';\nimport React, { FunctionComponent, useEffect, useState } from \"react\";\nimport { useTranslation } from 'react-i18next';\nimport { RouteComponentProps } from \"@reach/router\";\nimport NoFolder from \"../../../assets/img/undraw-not-found.png\";\nimport AIDERES from \"../../../assets/img/categorieDossier/AIDERES.png\";\nimport ASA from \"../../../assets/img/categorieDossier/ASA.png\";\nimport BO from \"../../../assets/img/categorieDossier/BO.png\";\nimport DIFFAVIG from \"../../../assets/img/categorieDossier/DIFFAVIG.png\";\nimport DIFFLIEU from \"../../../assets/img/categorieDossier/DIFFLIEU.png\";\nimport DRAMA from \"../../../assets/img/categorieDossier/DRAMA.png\";\nimport ECOLE from \"../../../assets/img/categorieDossier/ECOLE.png\";\nimport FEST from \"../../../assets/img/categorieDossier/FEST.png\";\nimport FILM from \"../../../assets/img/categorieDossier/FILM.png\";\nimport FORTI from \"../../../assets/img/categorieDossier/FORTI.png\";\nimport INT from \"../../../assets/img/categorieDossier/INT.png\";\nimport INTGEN from \"../../../assets/img/categorieDossier/INTGEN.png\";\nimport SOIRART from \"../../../assets/img/categorieDossier/SOIRART.png\";\nimport MUSICAL from \"../../../assets/img/categorieDossier/MUSICAL.png\";\nimport PROMO from \"../../../assets/img/categorieDossier/PROMO.png\";\nimport Subtitles from \"../../../components/basics/Subtitles\";\nimport { AuthenticatedRoute } from \"../../../containers/AuthenticatedRoute\";\nimport Structures from '../../../containers/structures/Structure';\nimport { ActionTypeEnum } from \"../../../context/ActionType\";\nimport { useAppDispatch, useAppStateContext } from \"../../../context/context-helpers\";\nimport { useAxios } from '../../../custom-hooks/useAxios';\nimport { FOCurrentUserDto, MessageAlerteClient, StatutStructure } from \"../../../services/generated/FrontOffice-api\";\nimport StructuresFolderAddButton from \"./StructuresFolderAddButton\";\nimport DossiersGrid from './DossiersGrid';\nimport DossiersTable from './DossiersTable';\n\ninterface StructuresContentProps extends RouteComponentProps {\n}\n\nconst StructuresContent: FunctionComponent = () => {\n\tconst { t } = useTranslation();\n\tconst axiosInstance = useAxios();\n\tconst [context] = useAppStateContext();\n\tconst dispatch = useAppDispatch();\n\tconst [gridView, setGridView] = useState(true);\n const [messageAlerte, setMessageAlerte] = useState('');\n const messageAlerteClient = new MessageAlerteClient(\"\", axiosInstance);\n\n\tuseEffect(() => {\n\t\t(async() => {\n const result = await messageAlerteClient.getMessageAlerte();\n result && setMessageAlerte(result.message);\n })();\n\t}, []);\n\n\t/** Images */\n\tconst categorieTypeImgDic: Dictionary = {\n\t\tFEST,\n\t\tBO,\n\t\tDRAMA,\n\t\tECOLE,\n\t\tFILM,\n\t\tINT,\n\t\tMUSICAL,\n\t\tPROMO,\n\t\tFORTI,\n\t\tINTGEN,\n\t\tASA,\n\t\tSOIRART,\n\t\tDIFFLIEU,\n\t\tAIDERES,\n\t\tDIFFAVIG\n\t}\n\n\tconst changeView = () => {\n\t\tsetGridView(!gridView)\n\t}\n\n\tconst onCreateDossierButtonClicked = () => {\n\t\tdispatch({ type: ActionTypeEnum.START_NEW_DOSSIER_CREATION });\n\t}\n\n\t/** User */\n\tconst [user, setUser] = useState({});\n\tuseEffect(() => {\n\t\tif (context.user) {\n\t\t\tsetUser(context.user);\n\t\t}\n\t}, [context.user]);\n\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{user.statutStructure !== StatutStructure.Partial\n\t\t\t\t\t?
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t{messageAlerte?.length !== 0 &&\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{messageAlerte}\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t}\n\t\t\t\t\t\t{gridView\n\t\t\t\t\t\t\t? \n\t\t\t\t\t\t\t: \n\t\t\t\t\t\t}\n\t\t\t\t\t
\n\t\t\t\t\t:
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t}\n\t\t\t
\n\t\t
\n\t)\n};\nexport default StructuresContent;","import React, { useState } from \"react\";\r\nimport { ErrorMessage } from \"react-hook-form\";\r\nconst Input = ({ autoComplete, label, name, className, placeHolder, maxLength, minLength, reference, type, value, errors, onChange, onBlur, dataList, disabled = false, readOnly = false, required = false, errorMessageCusto, step, min, max, defaultValue }) => {\r\n const [dataListIsOpen, setDataListIsOpen] = useState(false);\r\n const dataListOnclick = (data) => {\r\n setDataListIsOpen(false);\r\n return onChange(data);\r\n };\r\n const handleMouseWheel = (e) => {\r\n e.currentTarget.blur();\r\n };\r\n return (React.createElement(\"div\", { className: className ? className : \"input\" },\r\n label &&\r\n React.createElement(\"label\", null, label),\r\n React.createElement(\"input\", { autoComplete: autoComplete, name: name, ref: reference, type: type, placeholder: placeHolder, maxLength: maxLength, minLength: minLength, value: value, disabled: disabled, readOnly: readOnly, required: required, step: step, min: min, max: max, onWheel: handleMouseWheel, onBlur: e => {\r\n if (onBlur)\r\n onBlur(e.target.value, e);\r\n }, onChange: e => {\r\n if (onChange)\r\n onChange(e.target.value, e);\r\n if (dataList && e.target.value !== \"\")\r\n setDataListIsOpen(true);\r\n else\r\n setDataListIsOpen(false);\r\n }, list: dataList ? name : '', defaultValue: defaultValue }),\r\n (dataList === null || dataList === void 0 ? void 0 : dataList.length) > 0 &&\r\n React.createElement(React.Fragment, null,\r\n React.createElement(\"ul\", { id: name, className: `input__dataList ${dataListIsOpen && 'input__dataList--isOpen'}` }, dataList.map((data, index) => (React.createElement(\"li\", { key: index, onClick: () => dataListOnclick(data) }, data)))),\r\n React.createElement(\"div\", { className: `overlay__dataList ${dataListIsOpen && 'overlay__dataList--isOpen'}`, onClick: () => setDataListIsOpen(false) })),\r\n errors &&\r\n React.createElement(ErrorMessage, { errors: errors, name: name }, ({ message }) => React.createElement(\"p\", { className: \"input__errorMessage\" }, message)),\r\n errorMessageCusto &&\r\n React.createElement(\"p\", { className: \"input__errorMessage\" }, errorMessageCusto)));\r\n};\r\nexport default Input;\r\n","import React, { useImperativeHandle, forwardRef, useEffect, useState } from \"react\";\nimport { useTranslation } from 'react-i18next';\nimport Input from 'adel-shared/dist/components/basics/Input';\nimport InputSelect from 'adel-shared/dist/components/basics/InputSelect';\nimport { RouteComponentProps } from '@reach/router';\nimport { Controller, useForm } from 'react-hook-form';\nimport useValidation from '../../../custom-hooks/useValidation';\nimport { StructureClient, Civilite, TypePoste, AdresseClient, GeoAdresseDto } from '../../../services/generated/FrontOffice-api';\nimport { useAxios } from '../../../custom-hooks/useAxios';\nimport { toast } from 'react-toastify';\nimport { debounce } from 'lodash';\n\ninterface ValidationPart1Props extends RouteComponentProps {\n\tref: any;\n\tsetCanGoNext: (value: boolean) => void;\n\tsetIsLoading: (value: boolean) => void;\n}\n\nconst ValidationPart1: React.FunctionComponent = forwardRef(({\n\tsetIsLoading,\n\tsetCanGoNext\n}, ref) => {\n\tconst { t } = useTranslation();\n\n\tconst axiosInstance = useAxios();\n\tconst structureClient = new StructureClient(\"\", axiosInstance);\n\n\tconst [formCheckbox, setFormCheckbox] = useState(false);\n\tconst [geoAdresse, setGeoAdresse] = useState([]);\n\n\tconst {\n\t\tregister,\n\t\tgetValues,\n\t\tsetValue,\n\t\ttriggerValidation,\n\t\tcontrol,\n\t\twatch,\n\t\terrors\n\t} = useForm({});\n\tconst { getRootValidator } = useValidation();\n\tconst contactValidator = getRootValidator(\"UpdateContactValidator\");\n\tconst addressValidator = getRootValidator(\"CreateOrUpdateAdresseDto\");\n\tconst {\n\t\tville,\n\t\tcodePostal,\n\t\tcorrespondanceVille,\n\t\tcorrespondanceCodePostal\n\t} = watch([\n\t\t'ville',\n\t\t'codePostal',\n\t\t'correspondanceVille',\n\t\t'correspondanceCodePostal'\n\t]);\n\n\t/** Post */\n\tuseImperativeHandle(ref, () => ({\n\t\tasync validateForm(): Promise {\n\t\t\tsetIsLoading(true);\n\t\t\tconst result = await triggerValidation();\n\t\t\tif ((!getValues().presidentTelephoneFixe && !getValues().presidentTelephonePortable)) {\n\t\t\t\ttoast.error(t('createFolder.validation.president') + ': ' + t('errors.telephone'));\n\t\t\t\tsetIsLoading(false)\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ((!getValues().correspondantTelephoneFixe && !getValues().correspondantTelephonePortable)) {\n\t\t\t\ttoast.error(t('createFolder.validation.correspondant') + ': ' + t('errors.telephone'));\n\t\t\t\tsetIsLoading(false)\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (result) {\n\t\t\t\tconst {\n\t\t\t\t\tpresidentPoste,\n\t\t\t\t\tpresidentNom,\n\t\t\t\t\tpresidentPrenom,\n\t\t\t\t\tpresidentTelephoneFixe,\n\t\t\t\t\tpresidentTelephonePortable,\n\t\t\t\t\tpresidentEmail,\n\t\t\t\t\tpresidentCivilite,\n\t\t\t\t\tcorrespondantPoste,\n\t\t\t\t\tcorrespondantNom,\n\t\t\t\t\tcorrespondantPrenom,\n\t\t\t\t\tcorrespondantTelephonePortable,\n\t\t\t\t\tcorrespondantTelephoneFixe,\n\t\t\t\t\tcorrespondantEmail,\n\t\t\t\t\tcorrespondantCivilite,\n\t\t\t\t\tline1,\n\t\t\t\t\tline2,\n\t\t\t\t\tville,\n\t\t\t\t\tcodePostal,\n\t\t\t\t\tcorrespondanceLine1,\n\t\t\t\t\tcorrespondanceLine2,\n\t\t\t\t\tcorrespondanceVille,\n\t\t\t\t\tcorrespondanceCodePostal\n\t\t\t\t} = getValues();\n\t\t\t\tconst body = {\n\t\t\t\t\tpresident: {\n\t\t\t\t\t\tposte: presidentPoste,\n\t\t\t\t\t\tnom: presidentNom,\n\t\t\t\t\t\tprenom: presidentPrenom,\n\t\t\t\t\t\ttelephoneFixe: presidentTelephoneFixe,\n\t\t\t\t\t\ttelephonePortable: presidentTelephonePortable,\n\t\t\t\t\t\temail: presidentEmail,\n\t\t\t\t\t\tcivilite: presidentCivilite\n\t\t\t\t\t},\n\t\t\t\t\tcorrespondant: {\n\t\t\t\t\t\tposte: correspondantPoste,\n\t\t\t\t\t\tnom: correspondantNom,\n\t\t\t\t\t\tprenom: correspondantPrenom,\n\t\t\t\t\t\ttelephonePortable: correspondantTelephonePortable,\n\t\t\t\t\t\ttelephoneFixe: correspondantTelephoneFixe,\n\t\t\t\t\t\temail: correspondantEmail,\n\t\t\t\t\t\tcivilite: correspondantCivilite\n\t\t\t\t\t},\n\t\t\t\t\tadresse: {\n\t\t\t\t\t\tline1,\n\t\t\t\t\t\tline2,\n\t\t\t\t\t\tville,\n\t\t\t\t\t\tcodePostal\n\t\t\t\t\t},\n\t\t\t\t\tadresseCorrespondance: {\n\t\t\t\t\t\tline1: correspondanceLine1,\n\t\t\t\t\t\tline2: correspondanceLine2,\n\t\t\t\t\t\tville: correspondanceVille,\n\t\t\t\t\t\tcodePostal: correspondanceCodePostal\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\ttry {\n\t\t\t\t\tawait structureClient.updateStructureValidationContacts(body);\n\t\t\t\t} catch (error) {\n\t\t\t\t\ttoast.error(error);\n\t\t\t\t}\n\t\t\t} else {\n toast.error(t(\"validation-messages.invalid-form\"));\n\t\t\t}\n\t\t\tsetIsLoading(false);\n\t\t\treturn result;\n\t\t}\n\t}));\n\n\t/** Get Contact Infos */\n\tconst getContactInfos = async () => {\n\t\ttry {\n\t\t\tconst { \n\t\t\t\tcorrespondant,\n\t\t\t\tpresident,\n\t\t\t\tadresse,\n\t\t\t\tadresseCorrespondance\n\t\t\t} = await structureClient.getStructureValidationContacts();\n\t\t\tconst correspondantFinal = correspondant || president;\n\t\t\tconst adresseCorrespondanceFinale = adresseCorrespondance || adresse;\n\t\t\tsetValue([\n\t\t\t\t{ \"presidentPoste\": president.poste },\n\t\t\t\t{ \"presidentCivilite\": president.civilite },\n\t\t\t\t{ \"presidentNom\": president.nom },\n\t\t\t\t{ \"presidentPrenom\": president.prenom },\n\t\t\t\t{ \"presidentTelephoneFixe\": president.telephoneFixe },\n\t\t\t\t{ \"presidentTelephonePortable\": president.telephonePortable },\n\t\t\t\t{ \"presidentEmail\": president.email },\n\t\t\t\t{ \"correspondantPoste\": correspondantFinal.poste },\n\t\t\t\t{ \"correspondantCivilite\": correspondantFinal.civilite },\n\t\t\t\t{ \"correspondantNom\": correspondantFinal.nom },\n\t\t\t\t{ \"correspondantPrenom\": correspondantFinal.prenom },\n\t\t\t\t{ \"correspondantTelephoneFixe\": correspondantFinal.telephoneFixe },\n\t\t\t\t{ \"correspondantTelephonePortable\": correspondantFinal.telephonePortable },\n\t\t\t\t{ \"correspondantEmail\": correspondantFinal.email },\n\t\t\t\t{ \"line1\": adresse.line1 },\n\t\t\t\t{ \"line2\": adresse.line2 },\n\t\t\t\t{ \"ville\": adresse.ville },\n\t\t\t\t{ \"codePostal\": adresse.codePostal },\n\t\t\t\t{ \"correspondanceLine1\": adresseCorrespondanceFinale.line1 },\n\t\t\t\t{ \"correspondanceLine2\": adresseCorrespondanceFinale.line2 },\n\t\t\t\t{ \"correspondanceVille\": adresseCorrespondanceFinale.ville },\n\t\t\t\t{ \"correspondanceCodePostal\": adresseCorrespondanceFinale.codePostal }\n\t\t\t]);\n\t\t} catch (error) {\n\t\t\tif (error.exception?.message) {\n\t\t\t\ttoast.error(error.exception.message);\n\t\t\t}\n\t\t}\n\t}\n\n\tuseEffect(() => {\n\t\twindow.scrollTo(0,0);\n\t\tgetContactInfos();\n\t}, []);\n\n\tuseEffect(() => {\n\t\tsetCanGoNext(formCheckbox);\n\t}, [formCheckbox]);\n\n\tconst optionsCivilite = Object.values(Civilite).filter(x => x !== Civilite.None).map(x => ({\n\t\tvalue: x,\n\t\tlabel: t(`common.civilite.${x}`)\n\t}));\n\n\tconst optionsPosteRepLegal = Object.values(TypePoste)\n\t.filter(x => x !== TypePoste.None \n\t\t&& x !== TypePoste.Administrateur\n\t\t&& x !== TypePoste.Tresorier \n\t\t&& x !== TypePoste.SecretaireAdministratif)\n\t.map(x => ({\n\t\t\tvalue: x,\n\t\t\tlabel: t(`common.typePoste.${x}`)\n\t\t}));\n\n\tconst optionsPosteCorrespondant = Object.values(TypePoste)\n\t.filter(x => x !== TypePoste.None)\n\t.map(x => ({\n\t\t\tvalue: x,\n\t\t\tlabel: t(`common.typePoste.${x}`)\n\t\t}));\n\n\tconst searchAdresse = (input: string, correspondance: boolean = false) => {\n\t\tif (!!input) {\n\t\t\ttry {\n\t\t\t\tconst adresseClient = new AdresseClient('', axiosInstance);\n\t\t\t\tlet searchString = `${ville} ${input}`;\n\t\t\t\tlet codePostalString = codePostal;\n\n\t\t\t\tif(correspondance) {\n\t\t\t\t\tsearchString = `${correspondanceVille} ${input}`;\n\t\t\t\t\tcodePostalString = correspondanceCodePostal;\n\t\t\t\t}\n\n\t\t\t\tadresseClient.searchAdresse(searchString, codePostalString).then(results => {\n\t\t\t\t\tsetGeoAdresse(results);\n\t\t\t\t});\n\t\t\t\tonAdresseChange(input, correspondance);\n\t\t\t}\n\t\t\tcatch (error) {\n\t\t\t\tif (error.exception?.message)\n\t\t\t\t\ttoast.error(error.exception.message);\n\t\t\t\telse\n\t\t\t\t\ttoast.error(t(\"errors.default\"));\n\t\t\t}\n\t\t}\n\t}\n\tconst onAdresseChange = (label: string, correspondance: boolean = false) => {\n\t\tconst selectedAdresse = geoAdresse.find(adresse => adresse.label === label);\n\n\t\tif (selectedAdresse) {\n\t\t\tif(correspondance) {\n\t\t\t\tsetValue([\n\t\t\t\t\t{ correspondanceLine1: `${selectedAdresse.numero} ${selectedAdresse.rue}` },\n\t\t\t\t\t{ correspondanceCodePostal: selectedAdresse.codePostal },\n\t\t\t\t\t{ correspondanceVille: selectedAdresse.ville }\n\t\t\t\t]);\n\t\t\t} else {\n\t\t\t\tsetValue([\n\t\t\t\t\t{ line1: `${selectedAdresse.numero} ${selectedAdresse.rue}` },\n\t\t\t\t\t{ codePostal: selectedAdresse.codePostal },\n\t\t\t\t\t{ ville: selectedAdresse.ville }\n\t\t\t\t]);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn (\n\t\t
\n\t\t\t

{t(\"createFolder.validation.president\")}

\n\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tname={name}\n\t\t\t\t\t\t\t\tlabel={t('createFolder.form.poste')}\n\t\t\t\t\t\t\t\tclassname=\"inputSelect\"\n\t\t\t\t\t\t\t\tonChange={onChange}\n\t\t\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\t\t\toptions={optionsPosteRepLegal}\n\t\t\t\t\t\t\t\tplaceholder={t(\"common.select\")}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\trules={contactValidator?.[\"Poste\"]}\n\t\t\t\t\t/>\n\n\t\t\t\t\t (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tname={name}\n\t\t\t\t\t\t\t\tlabel={t('createFolder.form.civilite')}\n\t\t\t\t\t\t\t\tclassname=\"inputSelect\"\n\t\t\t\t\t\t\t\toptions={optionsCivilite}\n\t\t\t\t\t\t\t\terrors={errors}\n\t\t\t\t\t\t\t\tonChange={onChange}\n\t\t\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\t\t\tplaceholder={t(\"common.select\")}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\trules={contactValidator?.[\"Civilite\"]}\n\t\t\t\t\t/>\n\t\t\t\t
\n\n\t\t\t\t
\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t
\n\n\t\t\t\t
\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t
\n\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\n\t\t\t

{t(\"createFolder.validation.correspondant\")}

\n\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tname={name}\n\t\t\t\t\t\t\t\tlabel={t('createFolder.form.poste')}\n\t\t\t\t\t\t\t\tclassname=\"inputSelect\"\n\t\t\t\t\t\t\t\tonChange={onChange}\n\t\t\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\t\t\toptions={optionsPosteCorrespondant}\n\t\t\t\t\t\t\t\tplaceholder={t(\"common.select\")}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\trules={contactValidator?.[\"Poste\"]}\n\t\t\t\t\t/>\n\n\t\t\t\t\t (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tname={name}\n\t\t\t\t\t\t\t\tlabel={t('createFolder.form.civilite')}\n\t\t\t\t\t\t\t\tclassname=\"inputSelect\"\n\t\t\t\t\t\t\t\toptions={optionsCivilite}\n\t\t\t\t\t\t\t\terrors={errors}\n\t\t\t\t\t\t\t\tonChange={onChange}\n\t\t\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\t\t\tplaceholder={t(\"common.select\")}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\trules={contactValidator?.[\"Civilite\"]}\n\t\t\t\t\t/>\n\t\t\t\t
\n\n\t\t\t\t
\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t
\n\n\t\t\t\t
\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t
\n\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\n\t\t\t

{t(\"createFolder.validation.adresse\")}

\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\n\t\t\t\t
\n\t\t\t\t\t adresse.label)}\n\t\t\t\t\t\tonChange={debounce((value) => searchAdresse(value), 1000)}\n\t\t\t\t\t/>\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\n\t\t\t

{t(\"createFolder.validation.adresseCorrespondance\")}

\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t adresse.label)}\n\t\t\t\t\t\tonChange={debounce((value) => searchAdresse(value, true), 1000)}\n\t\t\t\t\t/>\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t setFormCheckbox(!formCheckbox)}\n\t\t\t\t/>\n\n\t\t\t\t\n\t\t\t
\n\t\t
\n\n\t)\n});\n\nexport default ValidationPart1;\n","import InputCalendar from \"adel-shared/dist/components/basics/InputCalendar\";\nimport { Dictionary } from \"adel-shared/dist/models\";\nimport { normalizeDate } from 'adel-shared/dist/utils/functions';\nimport clsx from 'clsx';\nimport moment from \"moment\";\nimport React, { ForwardRefExoticComponent, PropsWithoutRef, RefAttributes, forwardRef, useEffect, useImperativeHandle, useState, useRef, useCallback } from \"react\";\nimport { ErrorMessage, FormContextValues, ValidateResult, ValidationOptions } from \"react-hook-form\";\nimport { useTranslation } from \"react-i18next\";\nimport parseToDuration from \"../../../helpers/parseToDuration\";\nimport tryParseToDate from '../../../helpers/tryParseToDate';\nimport { Duration } from \"../../../models\";\nimport { DocumentDto, DocumentExtraInfoDto, TypeDeDocumentDto, TypeDeDocumentExtraInfoDto } from '../../../services/generated/FrontOffice-api';\nimport InputDocumentInfoDeSaisie from './InputDocumentInfoDeSaisie';\nimport { usePrevious } from 'adel-shared/dist/custom-hooks/usePrevious';\nimport { maxFileSize, maxFileSizeMb } from \"../../../constants/config.constant\";\n\nexport interface InputDocumentRef {\n reset: () => void;\n}\n\ninterface InputDocumentProps {\n // New way of handling documents\n typeDeDocument: TypeDeDocumentDto;\n document: DocumentDto;\n onDocumentChange?: (document: DocumentDto, file?: File) => void;\n form: FormContextValues;\n onReset: () => void;\n className?: string;\n // Legacy way of handling documents\n defaultDate?: Date;\n defaultFile?: File;\n defaultValues?: Dictionary; // key : extraInfo.code\n onDateChange?: (date: Date) => void;\n onFileChange?: (file: File) => void;\n onValueChange?: (extraInfoCode: string, value: string) => void;\n\tisVersement: boolean;\n\tselection?: TypeDeDocumentDto;\n}\n\nconst getDocumentMinDate = (expirationPeriod: Duration): Date => {\n const now = new Date(Date.now());\n const nowYear = now.getFullYear();\n const nowMonth = now.getMonth();\n const nowDay = now.getDate();\n const expiredYear = nowYear - expirationPeriod.years;\n const expiredMonth = nowMonth - expirationPeriod.months;\n const expiredDay = nowDay - expirationPeriod.days;\n const minDate = new Date(expiredYear, expiredMonth, expiredDay);\n\n return minDate;\n}\n\nconst getDocumentMaxDate = (docDate: Date, expirationPeriod: Duration): Date => {\n const docYear = docDate.getFullYear();\n const docMonth = docDate.getMonth();\n const docDay = docDate.getDate();\n\n const expiredYear = docYear + expirationPeriod.years;\n const expiredMonth = docMonth + expirationPeriod.months;\n const expiredDay = docDay + expirationPeriod.days;\n const maxDate = new Date(expiredYear, expiredMonth, expiredDay);\n\n return maxDate;\n}\n\nconst getDocumentMinDateString = (expirationPeriodString: string): Date => {\n const expirationPeriod = parseToDuration(expirationPeriodString);\n return getDocumentMinDate(expirationPeriod);\n}\n\nconst getDocumentMaxDateString = (docDate: Date, expirationPeriodString: string): Date => {\n const expirationPeriod = parseToDuration(expirationPeriodString);\n return getDocumentMaxDate(docDate, expirationPeriod);\n}\n\nconst isDocumentExpired = (\n documentDate: Date,\n expirationDate: Date,\n expirationPeriodString: string\n) => {\n const now = new Date(Date.now());\n if(expirationDate && moment(expirationDate).isBefore(now, 'day')) {\n return true;\n }\n if(expirationPeriodString && documentDate) {\n const maxDate = getDocumentMaxDateString(documentDate, expirationPeriodString);\n const minDate = getDocumentMinDateString(expirationPeriodString);\n if(now > maxDate) {\n return minDate;\n }\n }\n return false;\n}\n\nconst InputDocument: ForwardRefExoticComponent & RefAttributes> = forwardRef(({\n document,\n onDocumentChange,\n typeDeDocument,\n className,\n defaultDate,\n defaultFile,\n defaultValues,\n onFileChange,\n onDateChange,\n onValueChange,\n onReset,\n\tselection,\n\tisVersement,\n form: {\n register,\n triggerValidation,\n errors\n }\n}, ref) => {\n const { t, i18n } = useTranslation();\n const [file, setFile] = useState(defaultFile ? defaultFile : undefined);\n const [date, setDate] = useState(defaultDate ? defaultDate : undefined);\n const [isUploadDocumentButtonDisabled, setIsUploadDocumentButtonDisabled] = useState(true);\n const [values, setValues] = useState>(defaultValues ? defaultValues : {});\n\n const prevDate = usePrevious(date);\n const inputFileRef = useRef(null);\n const docExpirationDate = useRef(document?.expirationDate);\n\n const [documentRequired, setDocumentRequired] = useState(false);\n const [dateRequired, setDateRequired] = useState(false);\n const [dateLabel, setDateLabel] = useState<{[key: string]: string}>();\n const [valueRequired, setValueRequired] = useState(false);\n const [infosSaisies, setInfosSaisies] = useState([]);\n\n useEffect(() => {\n\t\tsetFile(undefined);\n\t\tsetDate(undefined);\n\t\tsetValues({});\n\t\tsetIsUploadDocumentButtonDisabled(false);\n\t\tif(typeDeDocument) handleChangeRequiredValues();\n }, [selection, typeDeDocument]);\n\n useEffect(() => {\n docExpirationDate.current = document?.expirationDate;\n }, [document?.expirationDate]);\n\n useEffect(() => {\n\t\tif(typeDeDocument) {\n\t\t\thandleChangeRequiredValues();\n\t\t}\n }, [typeDeDocument])\n\n\tconst handleChangeRequiredValues = () => {\n\t\tconst findString = typeDeDocument.extraInfos?.filter(info => info.valueType === \"string\");\n\t\tconst hasDate = typeDeDocument.extraInfos?.some(info => info.valueType === \"date\");\n\t\tconst hasValue = typeDeDocument.extraInfos?.some(info => info.valueType === \"string\");\n\n\t\tif(isVersement)\n\t\t\tsetDocumentRequired(typeDeDocument.isRequiredInVersement && typeDeDocument.hasAttachment);\n\t\telse\n\t\t\tsetDocumentRequired(typeDeDocument.isRequired && typeDeDocument.hasAttachment);\n\n\t\tif(hasDate) {\n\t\t\tsetDateLabel(typeDeDocument.extraInfos.find(info => info.valueType === \"date\").nom);\n\t\t\tsetDateRequired(hasDate);\n\t\t}\n\t\telse {\n\t\t\tsetDateRequired(false);\n\t\t\tsetDateLabel(undefined);\n\t\t}\n\n\t\tif(hasValue)\n\t\t\tsetValueRequired(hasValue);\n\t\telse\n\t\t\tsetValueRequired(false);\n\n\t\tif(findString)\n\t\t\tsetInfosSaisies(findString);\n\t}\n\n useEffect(() => {\n if(\n date &&\n prevDate &&\n !moment(date).isSame(prevDate, 'day')\n ) {\n inputFileRef.current.value = '';\n\t\t\tresetExtraInfos();\n }\n }, [date, prevDate]);\n\n useEffect(() => {\n\t\ttriggerValidation(typeDeDocument.code);\n }, [date, file, dateRequired, valueRequired, documentRequired, docExpirationDate, typeDeDocument]);\n\n useEffect(() => {\n if (!document) {\n if(inputFileRef.current) {\n inputFileRef.current.value = '';\n }\n setFile(undefined);\n return;\n }\n\n if (document.fileName) {\n setFile({ name: document.fileName } as File); // Relatively dangerous workaround :D\n }\n if (document.extraInfo?.some(extraInfo => extraInfo.valueType === \"date\")) {\n const existingDate = tryParseToDate(document.extraInfo.find(extraInfo => extraInfo.valueType === \"date\").value);\n setDate(existingDate);\n }\n if (document.extraInfo?.some(extraInfo => extraInfo.valueType === \"string\")) {\n const defaultValues = {} as Dictionary;\n document.extraInfo.filter(extraInfo => extraInfo.valueType === \"string\").forEach(extraInfo => {\n defaultValues[extraInfo.code] = extraInfo.value;\n });\n setValues(defaultValues);\n }\n\t}, [document])\n\n useEffect(() => {\n evaluateUploadDocumentButton();\n }, [typeDeDocument?.extraInfos, dateRequired, valueRequired, documentRequired, docExpirationDate]);\n\n useImperativeHandle(ref, () => ({\n reset: () => {\n setFile(undefined);\n\t\t\tsetDate(undefined);\n onReset();\n }\n }));\n\n const customFileValidation = useCallback(():ValidationOptions => {\n return {\n\t\t\tvalidate: (data: FileList): ValidateResult => {\n\t\t\t\tconst error = validate(\n\t\t\t\t\tdata[0],\n\t\t\t\t\tdate,\n\t\t\t\t\tfile,\n\t\t\t\t\tdocExpirationDate.current,\n\t\t\t\t\ttypeDeDocument?.expirationPeriod,\n\t\t\t\t\ttypeDeDocument?.expirationRelativeTo,\n\t\t\t\t\tdateRequired\n\t\t\t\t);\n\n\t\t\t\tif(file?.name.length > 100) {\n\t\t\t\t\treturn 'Le nom du fichier ne doit pas excéder 100 caractères.';\n\t\t\t\t}\n\n\t\t\t\tif (error)\n\t\t\t\t\treturn error;\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n }, [dateRequired, valueRequired, documentRequired, date, file, docExpirationDate, typeDeDocument]);\n\n const validate = (file: File,\n\t\t\t\t\tdate: Date,\n\t\t\t\t\tfileAdded: File,\n\t\t\t\t\texpirationDate: Date,\n\t\t\t\t\texpirationPeriod: string,\n\t\t\t\t\texpirationRelativeTo: string,\n\t\t\t\t\tdateRequired: boolean\n\t) => {\n\t\tif (dateRequired && !date) {\n return t(`signup.step-six.validations.missing-date`) as string;\n } else {\n\t\t const expiredDate = isDocumentExpired(date, expirationDate, expirationPeriod);\n if (file?.size > maxFileSizeMb) {\n return t(`errors.largeInputFile`, { maxFileSize }); \n }\n if(expiredDate) {\n if(typeof expiredDate === 'object') {\n return t(`signup.step-six.validations.too-late-date`, {\n expirationDate: moment(expiredDate).format('DD/MM/YYYY')\n });\n }\n return t(`signup.step-six.validations.expired-date`);\n }\n\n if (valueRequired && !valuesAreValid()) { // multiple value validation\n return t(`signup.step-six.validations.missing-value`) as string;\n }\n\n if (documentRequired && !file && !fileAdded) {\n return t(`signup.step-six.validations.missing-file`) as string;\n }\n }\n return true;\n\t};\n\n const valuesAreValid = (): boolean => {\n return infosSaisies.some(x => values[x.code]);\n }\n\n const handleFileChange = (e: React.ChangeEvent) => {\n if (e.target.files.length !== 0) {\n if (e.target.files[0].name !== \"\") {\n var selectedFile = e.target.files[0];\n setFile(selectedFile);\n onFileChange && onFileChange(selectedFile);\n\n // New way to handle documents\n\n if (!document) document = { type: typeDeDocument };\n\n // Change filename of document\n document.fileName = selectedFile.name;\n\n // Pass the file as a second optional argument\n onDocumentChange && onDocumentChange(document, selectedFile);\n } else {\n setFile(undefined);\n\t\t\t\tsetDate(undefined);\n }\n\t\t}\n\n\t\t// Pour renvoyer le extrainfo de la date pour ne pas la perdre quand on modifie un document\n\t\tdate && handleDateChange(date, selectedFile);\n\n\t\t// Pour renvoyer le extrainfo de l'input (ex: licence numero) pour ne pas le perdre quand on modifie un document\n\t\tinfosSaisies && infosSaisies.length > 0 && infosSaisies.forEach(infoSaisie => {\n\t\t\tvalues && handleValueChange(values[infoSaisie.code], infoSaisie.code);\n\t\t})\n };\n\n const handleDateChange = (date: Date, file:File) => {\n docExpirationDate.current = null;\n\n setDate(date);\n\n if (!document) {\n\t\t\tdocument = { type: typeDeDocument };\n\t\t}\n\n // Change value of corresponding extraInfo\n if (!document.extraInfo) {\n\t\t\tdocument.extraInfo = [];\n\t\t}\n\n const existingExtraInfoDate = document.extraInfo.find(extraInfo => extraInfo?.valueType === \"date\");\n\t\t// Find extraInfo definition from TypeDeDocumentDto\n\t\tconst extraInfoDateFromType = typeDeDocument.extraInfos.find(extraInfo => extraInfo.valueType === \"date\");\n\n if (existingExtraInfoDate) {\n const updatedExtraInfo: DocumentExtraInfoDto = {\n ...existingExtraInfoDate,\n value: date && normalizeDate(date)\n };\n document.extraInfo = [updatedExtraInfo, ...document.extraInfo.filter(extraInfo => extraInfo.code !== existingExtraInfoDate.code)];\n } else {\n // Add new extraInfo\n document.extraInfo = [...document.extraInfo, {\n value: date && normalizeDate(date),\n code: extraInfoDateFromType?.code,\n valueType: extraInfoDateFromType?.valueType,\n }];\n }\n\n onDateChange && onDateChange(date);\n\n \tonDocumentChange && onDocumentChange(document, file);\n evaluateUploadDocumentButton(date);\n }\n\n const handleValueChange = (value: string, infoSaisieCode: string) => {\n values[infoSaisieCode] = value;\n setValues(values);\n onValueChange && onValueChange(infoSaisieCode, value);\n\n if (!document) document = { type: typeDeDocument };\n\n // Change value of corresponding extraInfo\n if (!document.extraInfo) document.extraInfo = [];\n\n const existingExtraInfoString = document.extraInfo.find(extraInfo => extraInfo.valueType === \"string\" && extraInfo.code === infoSaisieCode);\n\t\t// Find extraInfo definition from TypeDeDocumentDto\n\t\tconst extraInfoDateFromType = typeDeDocument.extraInfos.find(extraInfo => extraInfo.valueType === \"string\" && extraInfo.code === infoSaisieCode);\n\n\n\t\tif (existingExtraInfoString) {\n const updatedExtraInfo: DocumentExtraInfoDto = {\n ...existingExtraInfoString,\n value\n };\n document.extraInfo = [updatedExtraInfo, ...document.extraInfo.filter(extraInfo => extraInfo.code !== existingExtraInfoString.code)];\n } else { // Add new extraInfo\n document.extraInfo = [...document.extraInfo, {\n value,\n code: extraInfoDateFromType.code,\n valueType: extraInfoDateFromType.valueType,\n }];\n }\n onDocumentChange && onDocumentChange(document, file);\n evaluateUploadDocumentButton();\n };\n\n const evaluateUploadDocumentButton = (modifiedDate?: Date) => {\n\t\tconst evaluatedDate = modifiedDate ? modifiedDate : date;\n const isDocExpired = isDocumentExpired(evaluatedDate, docExpirationDate.current, typeDeDocument?.expirationPeriod);\n\n if ((dateRequired && !evaluatedDate) || (valueRequired && !valuesAreValid()) || isDocExpired) {\n setIsUploadDocumentButtonDisabled(true);\n } else {\n setIsUploadDocumentButtonDisabled(false);\n }\n }\n\n const downloadFile = () => {\n if (document?.uri) {\n window.open(document.uri);\n }\n }\n\n\tconst resetExtraInfos = () => {\n setFile(undefined);\n\t\tsetIsUploadDocumentButtonDisabled(false);\n\t\tonReset();\t\t\n setValues({});\n\t}\n\n\tconst resetFile = () => {\n\t\tsetFile(undefined);\n\t\tsetDate(undefined);\n\t\tsetIsUploadDocumentButtonDisabled(false);\n\t\tonReset();\n\t}\n\n return (\n
\n \n\n
\n {dateRequired &&\n handleDateChange(value, file)}\n onResetExtraInfos={resetExtraInfos}\n />\n }\n
\n
\n
\n \n {file?.name}\n \n
\n \n
\n
\n
\n
\n {typeDeDocument.hasAttachment ? (\n
\n \n {\n inputFileRef.current = ref;\n register(ref, customFileValidation());\n }}\n id={typeDeDocument.id}\n type=\"file\"\n onChange={handleFileChange}\n />\n
\n ) : (\n \n )}\n
\n
\n
\n\n
\n {valueRequired && infosSaisies.map(infoSaisie => handleValueChange(value, infoSaisie.code)}\n />)}\n
\n\n {errors && \n {({ message }) =>

{message}

}\n
}\n
\n )\n})\n\nexport default InputDocument;","import React, { useState, useEffect, useRef, FunctionComponent } from \"react\"\nimport { TypeDeDocumentDto, DocumentDto } from \"../../../services/generated/FrontOffice-api\";\nimport InputDocument, { InputDocumentRef } from './InputDocument';\nimport InputSelect from \"adel-shared/dist/components/basics/InputSelect\";\nimport { useTranslation } from \"react-i18next\";\nimport { Dictionary } from \"adel-shared/dist/models\";\nimport { Controller, FormContextValues } from 'react-hook-form';\n\ninterface InputSelectDocumentProps {\n\t// New way of handling documents\n\ttypeDeDocument: TypeDeDocumentDto;\n\tdocument: DocumentDto;\n\tonDocumentChange?: (document: DocumentDto, file?: File) => void;\n\tsetIsSelectionEmpty?: (value: boolean) => void;\n\tform: FormContextValues;\n\tonReset: (fieldName: string) => void;\n\t// Legacy way of handling documents\n\tdefaultSelection?: TypeDeDocumentDto;\n\tdefaultDates?: Dictionary;\n\tdefaultFiles?: Dictionary;\n\tdefaultValues?: Dictionary>;\n\tonDocumentSelected?: (selectedDocument: TypeDeDocumentDto) => void;\n\tonDateChange?: (date: Date, documentCode: string) => void;\n\tonFileChange?: (file: File) => void;\n\tonValueChange?: (selectedDocumentCode: string, extraInfoCode: string, value: string) => void;\n\tisVersement: boolean;\n\tselection: TypeDeDocumentDto;\n\tsetSelection: (value:TypeDeDocumentDto) => void;\n}\n\nconst InputSelectDocument: FunctionComponent = ({\n\tselection,\n\tsetSelection,\n\tdocument,\n\tsetIsSelectionEmpty,\n\tonDocumentChange,\n\ttypeDeDocument,\n\tdefaultSelection,\n\tdefaultDates,\n\tdefaultFiles,\n\tdefaultValues,\n\tonDocumentSelected,\n\tonDateChange,\n\tonFileChange,\n\tonValueChange,\n\tisVersement,\n\tform,\n\tonReset }) => {\n\tconst { t, i18n } = useTranslation();\n\tconst { control, errors } = form;\n\n\tuseEffect(() => {\n\t\tif(!setIsSelectionEmpty) return;\n\n\t\tif(setIsSelectionEmpty && !selection)\n\t\t\tsetIsSelectionEmpty(true);\n\t \telse\n\t\t\tsetIsSelectionEmpty(false);\n\t}, [selection]);\n\n\n\tconst inputDocumentRef = useRef();\n\n\t// Legacy way for defaultSelection\n\tuseEffect(() => {\n\t\tif (defaultSelection && !selection) {\n\t\t\tsetSelection(defaultSelection);\n\t\t}\n\t}, [defaultSelection])\n\n\t// New way for defaultSelection\n\tuseEffect(() => {\n\t\tif (document && document.type && !selection) {\n\t\t\tsetSelection(document.type);\n\t\t}\n\t}, [document])\n\n\t/** Options of the select box for Liste ou attestation GUSO */\n\tconst convertTypeDeDocumentDtoToAdelOption = (optionArray: TypeDeDocumentDto[]) => {\n\t\treturn optionArray.map((item) => ({\n\t\t\tvalue: item,\n\t\t\tlabel: item.nom[i18n.language],\n\t\t}));\n\t};\n\n\tconst handleSelection = (selectedDocument: TypeDeDocumentDto) => {\n\n\t\tif(selection && selection.code !== selectedDocument.code) {\n\t\t\tinputDocumentRef.current.reset();\n\t\t}\n\n\t\tsetSelection(selectedDocument);\n\t\tonDocumentSelected(selectedDocument);\n\n\t\t// New way of handling choix selection\n\n\t\tif (!document) document = { type: typeDeDocument };\n\n\t\tdocument.type = typeDeDocument;\n\n\t\tonDocumentChange && onDocumentChange(document);\n\t}\n\n\treturn (
\n\t\t (\n\t\t\t\t\n\t\t\t\t\tname={name}\n\t\t\t\t\tlabel={typeDeDocument.nom[i18n.language]}\n\t\t\t\t\tclassname=\"inputSelectFO inputSelectFO--fullWidth\"\n\t\t\t\t\toptions={convertTypeDeDocumentDtoToAdelOption(typeDeDocument.choix)}\n\t\t\t\t\tvalue={selection}\n\t\t\t\t\tonChange={handleSelection}\n\t\t\t\t\terrors={errors}\n\t\t\t\t\tcustomMatchValue={(source, target) => source.id === target.id}\n\t\t\t\t\tplaceholder={t(\"common.select\")}\n\t\t\t\t/>\n\t\t\t)}\n\t\t/>\n\t\t{setIsSelectionEmpty && !selection &&\n\t\t\t

{t('validation-messages.required')}

\n\t\t}\n\n\t\t{selection && onDateChange(date, typeDeDocument.code)}\n\t\t\tonFileChange={onFileChange}\n\t\t\tonValueChange={(extraInfoCode, value) => onValueChange(selection.code, extraInfoCode, value)}\n\t\t\tonReset={() => onReset(selection.code)}\n\t\t\tform={form}\n\t\t\tref={inputDocumentRef} />}\n\t
)\n}\n\nexport default InputSelectDocument;","import React, { FunctionComponent, useState } from \"react\"\nimport { TypeDeDocumentDto, DocumentDto } from \"../../../services/generated/FrontOffice-api\";\nimport InputDocument from './InputDocument';\nimport InputSelectDocument from './InputSelectDocument';\nimport { Dictionary } from \"adel-shared/dist/models\";\nimport { FormContextValues } from \"react-hook-form\";\n\ninterface InputDocumentsProps {\n\t// New way of handling documents\n\ttypeDeDocuments: TypeDeDocumentDto[];\n\tdocuments?: DocumentDto[];\n\tonDocumentChange?: (document: DocumentDto, file?: File) => void;\n\tform: FormContextValues;\n\tsetIsSelectionEmpty?: (value:boolean) => void;\n\tonReset: (fieldName: string) => void;\n\t// Legacy way of handling documents\n\tdefaultSelections?: Dictionary;\n\tdefaultDates?: Dictionary;\n\tdefaultFiles?: Dictionary;\n\tdefaultValues?: Dictionary>;\n\tonSelect?: (document: TypeDeDocumentDto, documentCode: string) => void;\n\tonDateChange?: (date: Date, documentCode: string) => void;\n\tonFileChange?: (file: File, documentCode: string) => void;\n\tonValueChange?: (value: string, documentCode: string, extraInfoCode: string) => void;\n\tisVersement?: boolean;\n}\n\nconst InputDocuments: FunctionComponent = ({\n\tdocuments,\n\tonDocumentChange,\n\ttypeDeDocuments,\n\tdefaultSelections,\n\tdefaultDates,\n\tdefaultFiles,\n\tdefaultValues,\n\tonSelect,\n\tsetIsSelectionEmpty,\n\tonDateChange,\n\tonFileChange,\n\tonValueChange,\n\tform,\n\tisVersement = false,\n\tonReset\n}) => {\n\tconst [selection, setSelection] = useState();\n\treturn (\n\t\t<>\n\t\t\t{typeDeDocuments?.map(typeDeDocument => {\n\t\t\t\t// Find corresponding document\n\t\t\t\tlet existingDocument: DocumentDto = null;\n\t\t\t\tif (documents) {\n\t\t\t\t\tif (typeDeDocument.hasChoix) {\n\t\t\t\t\t\texistingDocument = documents.find(document => typeDeDocument.choix.some(choix => document.type.id === choix.id));\n\t\t\t\t\t} else {\n\t\t\t\t\t\texistingDocument = documents\n\t\t\t\t\t\t.find(document => document.type?.id === typeDeDocument.id);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (typeDeDocument.choix?.length) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t { onDateChange && onDateChange(date, typeDeDocument.code) }}\n\t\t\t\t\t\t\t\tonFileChange={(file) => onFileChange && onFileChange(file, typeDeDocument.code)}\n\t\t\t\t\t\t\t\tonValueChange={(selectedDocumentCode, extraInfoCode, value) => onValueChange && onValueChange(value, selectedDocumentCode, extraInfoCode)}\n\t\t\t\t\t\t\t\tonDocumentSelected={(selectedDocument) => { onSelect && onSelect(selectedDocument, typeDeDocument.code) }}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t
\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t
\n\t\t\t\t\t\t { onDateChange && onDateChange(date, typeDeDocument.code) }}\n\t\t\t\t\t\t\tonFileChange={(file) => onFileChange && onFileChange(file, typeDeDocument.code)}\n\t\t\t\t\t\t\tonValueChange={(extraInfoCode, value) => onValueChange && onValueChange(value, typeDeDocument.code, extraInfoCode)}\n\t\t\t\t\t\t\tonReset={() => { onReset(typeDeDocument.code) }}\n\t\t\t\t\t\t\tform={form}\n\t\t\t\t\t\t\tisVersement={isVersement}\n\t\t\t\t\t\t/>\n\t\t\t\t\t
\n\t\t\t\t);\n\t\t\t})}\n\t\t\n\t)\n}\n\nexport default InputDocuments;","import React, { useEffect, useState, forwardRef, useImperativeHandle } from \"react\";\nimport { useTranslation } from 'react-i18next';\nimport { RouteComponentProps } from '@reach/router';\nimport { useAxios } from '../../../custom-hooks/useAxios';\nimport { StructureClient, DocumentDto, TypeDeDocumentDto, DocumentUploadInfoDto } from '../../../services/generated/FrontOffice-api';\nimport { AdelStructureClient } from '../../../clients/AdelStructureClient';\nimport { useForm } from 'react-hook-form';\nimport InputDocuments from \"../../basics/InputDocuments/InputDocuments\";\nimport { Dictionary } from \"adel-shared/dist/models\";\nimport { IFile } from \"../../../models/IFile\";\nimport { toast } from 'react-toastify';\n\n\ninterface ValidationPart2Props extends RouteComponentProps {\n\tref: any,\n\tsetCanGoNext: (value: boolean) => void;\n\tvalidateOnLoad: boolean;\n\tsetIsLoading: (value: boolean) => void;\n}\n\nconst ValidationPart2: React.FunctionComponent = forwardRef(({\n\tsetCanGoNext,\n\tvalidateOnLoad,\n\tsetIsLoading\n}, ref) => {\n\tconst { t } = useTranslation();\n\tconst form = useForm();\n\tconst { getValues, setValue, triggerValidation } = form;\n\n\tconst axiosInstance = useAxios();\n\tconst structureClient = new StructureClient(\"\", axiosInstance);\n\tconst adelStructureClient = new AdelStructureClient(\"\", axiosInstance);\n\tconst [typeDeDocuments, setTypeDeDocuments] = useState([]);\t\t// Required documents (and not only existing) to show the user if new documents are required\n\tconst [documents, setDocuments] = useState([]);\n\tconst [dirtyFields, setDirtyFields] = useState([]);\t\t\t\t\t\t\t// Used to keep track of modified documents (which will need to be updated)\n\tconst [isDirty, setIsDirty] = useState(false);\n\n\tuseEffect(() => {\n\t\t/** Get Document Infos */\n\t\t(async () => {\n\t\t\ttry {\n\t\t\t\tvar types = await structureClient.getStructureTypesDeDocument();\n\n\t\t\t\ttypes.map(d => {\n\t\t\t\t\td.code = d.code.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\")\n\n\t\t\t\t\tif(d.extraInfos && d.extraInfos.length > 0) {\n\t\t\t\t\t\td.extraInfos.map(e => {\n\t\t\t\t\t\t\te.code = e.code.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\");\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\n\t\t\t\t\tif(d.choix && d.choix.length > 0) {\n\t\t\t\t\t\td.choix.map(f => {\n\t\t\t\t\t\t\tf.code = f.code.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\")\n\n\t\t\t\t\t\t\tif (f.extraInfos && f.extraInfos.length > 0) {\n\t\t\t\t\t\t\t\tf.extraInfos.map(g => g.code = g.code.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\"))\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tsetTypeDeDocuments(types);\n\n\t\t\t\tvar docs = await structureClient.getDocuments();\n\t\t\t\tsetDocuments(docs);\n\t\t\t\tsetCanGoNext(true);\n\t\t\t\tif(validateOnLoad) {\n\t\t\t\t\tconst timer = setTimeout(async () => {\n\t\t\t\t\t\tlet result = await triggerValidation();\n\t\t\t\t\t\tconsole.debug(\"Triggering Validation onload\", result);\n\t\t\t\t\t}, 0);\n\t\t\t\t\treturn () => clearTimeout(timer);\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tif (error.exception?.message) {\n\t\t\t\t\ttoast.error(error.exception.message);\n\t\t\t\t}\n\t\t\t}\n\t\t})();\n\t}, []);\n\n\t/** Post */\n\tuseImperativeHandle(ref, () => ({\n\t\tasync validateForm(): Promise {\n\t\t\ttry {\n\t\t\t\tlet isValid = undefined;\n\t\t\t\tif (isValid !== false) {\n\t\t\t\t\tif (isDirty) {\n\t\t\t\t\t\t// Need to Update documents so format documents and files;\n\t\t\t\t\t\tconst [modifiedDocuments, files] = convertDocumentsAndFilesToDtosByRef();\n\t\t\t\t\t\tsetIsLoading(true);\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tawait adelStructureClient.updateStructureDocuments({ documents: modifiedDocuments }, files);\n\t\t\t\t\t\t\tsetIsLoading(false);\n\t\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t\ttoast.error(err);\n\t\t\t\t\t\t\tisValid = false;\n\t\t\t\t\t\t\tsetIsLoading(false);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn isValid !== false ? true : isValid;\n\t\t\t} catch(error) {}\n\t\t}\n\t}));\n\n\tconst convertDocumentsAndFilesToDtosByRef = () => {\n\t\tconst formFiles: Dictionary = getValues();\n\t\tconst modifiedDocuments: DocumentUploadInfoDto[] = [];\n\t\tconst files: IFile[] = [];\n\n\t\ttypeDeDocuments.forEach(typeDeDocument => {\n\t\t\tlet correspondingDocument: DocumentDto;\n\n\t\t\tif (typeDeDocument.hasChoix) {\n\t\t\t\tcorrespondingDocument = documents.find(document => typeDeDocument.choix.some(choix => document.type.id === choix.id));\n\t\t\t} else {\n\t\t\t\tcorrespondingDocument = documents.find(document => document.type.id === typeDeDocument.id);\n\t\t\t}\n\n\t\t\tlet typeIdDoc = '';\n\t\t\tif(correspondingDocument) {\n\t\t\t\ttypeIdDoc = correspondingDocument.type.id;\n\t\t\t} else {\n\t\t\t\tif(typeDeDocument.hasChoix) {\n\t\t\t\t\ttypeIdDoc = typeDeDocument.choix.find(choix => !choix.hasAttachment).id;\n\t\t\t\t} else {\n\t\t\t\t\ttypeIdDoc = '';\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// s'il n'a pas de document correspondant, lui donner l'id du type de document qui n'a pas de corresponding document\n\t\t\tlet modifiedDocument: DocumentUploadInfoDto = {\n\t\t\t\ttypeId: typeIdDoc\n\t\t\t};\n\n\t\t\tif (correspondingDocument?.id) {\n\t\t\t\tif (correspondingDocument?.extraInfo && correspondingDocument?.extraInfo.length > 0) {\n\t\t\t\t\tmodifiedDocument.extraInfos = {};\n\n\t\t\t\t\tcorrespondingDocument.extraInfo.forEach(extraInfo => {\n\t\t\t\t\t\tmodifiedDocument.extraInfos[extraInfo.code] = extraInfo.value;\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tmodifiedDocuments.push({ id: correspondingDocument.id, typeId: correspondingDocument.type.id, extraInfos: modifiedDocument.extraInfos });\n\t\t\t\treturn;\n\t\t\t} else {\n\t\t\t\t// Do nothing: id should not be specified for new or modified documents.\n\t\t\t}\n\n\t\t\t// If there's a corresponding file,\n\t\t\tlet correspondingFile = formFiles[typeDeDocument.code];\n\n\t\t\tif (typeDeDocument.hasChoix) {\n\t\t\t\ttypeDeDocument.choix.forEach(choix => {\n\t\t\t\t\tif (formFiles.hasOwnProperty(choix.code)) {\n\t\t\t\t\t\tcorrespondingFile = formFiles[choix.code];\n\n\t\t\t\t\t\tif(correspondingFile) {\n\t\t\t\t\t\t\tconst modifiedFile: IFile = {\n\t\t\t\t\t\t\t\tcode: correspondingDocument.type.code,\n\t\t\t\t\t\t\t\tfile: correspondingFile[0]\n\t\t\t\t\t\t\t} as IFile;\n\n\t\t\t\t\t\t\tmodifiedDocument.partName = correspondingDocument.type.code;\n\n\t\t\t\t\t\t\tif(!files.some(x => x.code === modifiedFile.code)) {\n\t\t\t\t\t\t\t\tfiles.push(modifiedFile);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (correspondingDocument?.extraInfo && correspondingDocument?.extraInfo.length > 0) {\n\t\t\t\t\t\t\tmodifiedDocument.extraInfos = {};\n\n\t\t\t\t\t\t\tcorrespondingDocument.extraInfo.forEach(extraInfo => {\n\t\t\t\t\t\t\t\tmodifiedDocument.extraInfos[extraInfo.code] = extraInfo.value;\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif(!modifiedDocuments.some(x => x.typeId === modifiedDocument.typeId)) {\n\t\t\t\t\t\t\tmodifiedDocuments.push(modifiedDocument);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tif (correspondingFile && correspondingFile[0] && !correspondingDocument.id) {\n\t\t\t\t\tconst modifiedFile: IFile = {\n\t\t\t\t\t\tcode: correspondingDocument.type.code,\n\t\t\t\t\t\tfile: correspondingFile[0]\n\t\t\t\t\t} as IFile;\n\n\t\t\t\t\tmodifiedDocument.partName = correspondingDocument.type.code;\n\n\t\t\t\t\tfiles.push(modifiedFile);\n\t\t\t\t}\n\n\t\t\t\tif (correspondingDocument?.extraInfo && correspondingDocument?.extraInfo.length > 0) {\n\t\t\t\t\tmodifiedDocument.extraInfos = {};\n\n\t\t\t\t\tcorrespondingDocument.extraInfo.forEach(extraInfo => {\n\t\t\t\t\t\tmodifiedDocument.extraInfos[extraInfo.code] = extraInfo.value;\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tmodifiedDocuments.push(modifiedDocument);\n\t\t\t}\n\t\t});\n\n\t\treturn [\n\t\t\tmodifiedDocuments,\n\t\t\tfiles\n\t\t];\n\t}\n\n\t// New simplified way to handle documents\n\tconst handleDocumentChange = (modifiedDocument: DocumentDto, file?: File) => {\n\t\tlet updatedDocuments = upsertDocument(documents, modifiedDocument, file);\n\n\t\tsetDocuments(updatedDocuments);\n\t\tsetIsDirty(true);\n\t}\n\n\tconst upsertDocument = (documents: DocumentDto[], modifiedDocument: DocumentDto, file?: File): DocumentDto[] => {\n\n\t\tlet existingDocument = documents.find(document => document.type.id == modifiedDocument.type.id);\n\n\t\tif (!existingDocument) {\n\n\t\t\t// INSERT\n\n\t\t\treturn [...documents, modifiedDocument];\n\n\t\t} else {\n\n\t\t\t// UPDATE by merging properties using modification by reference ><\n\n\t\t\tif (modifiedDocument.fileName) existingDocument.fileName = modifiedDocument.fileName;\n\n\t\t\tif (modifiedDocument.extraInfo) existingDocument.extraInfo = modifiedDocument.extraInfo;\n\n\t\t\treturn documents;\n\n\t\t}\n\t}\n\n\tconst onReset = (fieldName: string,) => {\n\t\tsetValue(fieldName, '');\n\t\tsetDocuments(documents.filter(d => d.type.code != fieldName));\n\t\tif (dirtyFields.findIndex(field => field === fieldName) <= -1) {\n\t\t\tsetDirtyFields([...dirtyFields, fieldName]);\n\t\t}\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t

{t(\"createFolder.validation.pieces\")}

\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\n\t\t\n\t)\n});\n\nexport default ValidationPart2;\n","import React, { useEffect, useState, forwardRef, useImperativeHandle } from \"react\";\nimport { RouteComponentProps } from '@reach/router';\nimport { useTranslation } from 'react-i18next';\nimport { CurrentCritereDossierDto, DossierClient } from '../../../services/generated/FrontOffice-api';\nimport { useAxios } from '../../../custom-hooks/useAxios';\nimport { toast } from 'react-toastify';\n\ninterface CriteresProps extends RouteComponentProps {\n\tref: any,\n\tcanGoNext: boolean;\n\tcategorieDossierId: string;\n\tsetCanGoNext: (value: boolean) => void;\n\tsetCriteriaRead: (value: boolean) => void;\n\tdossierId?: string;\n\tsetIsLoading: (value: boolean) => void;\n}\n\nconst Criteres: React.FC = forwardRef(({\n\tcategorieDossierId,\n\tsetCanGoNext,\n\tsetCriteriaRead,\n\tdossierId,\n\tsetIsLoading\n}, ref) => {\n\tconst { t, i18n } = useTranslation();\n\tconst axiosInstance = useAxios();\n\tconst dossierClient = new DossierClient(\"\", axiosInstance);\n\n\tconst isDossierExist = dossierId !== null && dossierId !== undefined && dossierId !== \"\";\n\n\t// Get critères quand on arrive sur la page\n\tconst [criteresDossier, setCriteresDossier] = useState({});\n\tconst getCriteres = async () => {\n\t\tsetIsLoading(true);\n\n\t\ttry {\n\t\t\tconst criteres = await dossierClient.getCurrentCritereDossier(categorieDossierId);\n\t\t\tsetCriteresDossier(criteres);\n\t\t\tsetIsLoading(false);\n\t\t} catch (error) {\n\t\t\tif (error.exception?.message)\n\t\t\t\ttoast.error(error.exception.message);\n\t\t\tsetIsLoading(false);\n\t\t}\n\t}\n\tuseEffect(() => {\n\t\tif (categorieDossierId) {\n\t\t\tgetCriteres();\n\t\t}\n\t}, []);\n\n\n\tuseEffect(() => {\n\t\tlet element = document.getElementById('critereScrollElement')\n\t\tconst hasVerticalScrollbar = element.scrollHeight > element.clientHeight;\n\t\tconst gradient = document.querySelector(\".gradient\") as HTMLElement;\n\t\tif (!hasVerticalScrollbar) {\n\t\t\tgradient.style.display = \"none\";\n\t\t} else {\n\t\t\tgradient.style.display = \"block\";\n\t\t\tgradient.style.backgroundImage = \"linear-gradient(to bottom, transparent, white)\";\n\t\t}\n\n\t}, [criteresDossier])\n\n\t// Obligé de passer par ce state intermédiaire pour ne pas créer directement le dossier quand on clique sur la checkbox, mais que en cliquant sur \"Suivant\"\n\tconst [checkbox, setCheckbox] = useState(false);\n\n\tconst handleScroll = (e: any) => {\n\t\tconst target = e.target;\n\t\tconst gradient = document.querySelector(\".gradient\") as HTMLElement;\n\n\t\t// target.scrollHeight - target.scrollTop === target.clientHeight => bug de 0.8px sur écran 13p\n\t\tif (target.scrollHeight - target.scrollTop > target.clientHeight && target.scrollHeight - target.scrollTop < 451 ||\n\t\t\ttarget.scrollHeight - target.scrollTop === target.clientHeight) {\n\t\t\tgradient.style.display = \"none\";\n\t\t} else {\n\t\t\tgradient.style.display = \"block\";\n\t\t\tgradient.style.backgroundImage = \"linear-gradient(to bottom, transparent, white)\";\n\t\t}\n\t}\n\n\tuseEffect(() => {\n\t\tif(isDossierExist) {\n\t\t\tsetCanGoNext(true)\n\t\t} else {\n\t\t\tsetCanGoNext(checkbox)\n\t\t}\n\t}, [checkbox]);\n\n\t/** Post */\n\tuseImperativeHandle(ref, () => ({\n\t\tasync validateForm(): Promise {\n\t\t\tif (isDossierExist) {\n\t\t\t\treturn true;\n\t\t\t} else {\n\t\t\t\tif (checkbox === true) {\n\t\t\t\t\tsetCriteriaRead(true);\n\t\t\t\t\treturn true;\n\t\t\t\t} else {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}));\n\n\treturn (\n\t\t
\n\t\t\t

{t(\"createFolder.critere.title\")} {criteresDossier.categorie?.nom}

\n\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t

{t(\"createFolder.critere.subtitle\")}

\n\n\t\t\t\t\t{criteresDossier.contenu && (\n\t\t\t\t\t\t
\n\t\t\t\t\t)}\n\n\t\t\t\t\t
\n\t\t\t\t\t\t setCheckbox(!checkbox)}\n\t\t\t\t\t\t\tdefaultChecked={isDossierExist}\n\t\t\t\t\t\t\tdisabled={isDossierExist}\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\n\t\t\t\t\n\t\t\t
\n\t\t\n\t)\n});\n\nexport default Criteres;","import InputSelect, { AdelOption } from 'adel-shared/dist/components/basics/InputSelect';\nimport { Dictionary } from 'adel-shared/dist/models';\nimport React, { FunctionComponent, forwardRef, useEffect, useImperativeHandle, useState } from \"react\";\nimport { Controller, useForm } from 'react-hook-form';\nimport { useTranslation } from 'react-i18next';\nimport { toast } from \"react-toastify\";\nimport { RouteComponentProps } from '@reach/router';\nimport { useAxios } from '../../../custom-hooks/useAxios';\nimport { CategorieDossierDto, StructureClient } from '../../../services/generated/FrontOffice-api';\n\ninterface TypeDossierProps extends RouteComponentProps {\n\tref: any,\n\tcategorieTypeImgDic: Dictionary,\n\tsetCategorieDossierId: (value: string) => void;\n\tcategorieDossierId: string;\n\tsetCanGoNext: (value: boolean) => void;\n\tdossierId?: string;\n\tsetIsLoading: (value: boolean) => void;\n\tshowQuotaAtteintError: boolean;\n}\n\nconst TypeDossier: FunctionComponent = forwardRef((props, ref) => {\n\tconst { t } = useTranslation();\n\n\tconst axiosInstance = useAxios();\n\tconst structureClient = new StructureClient(\"\", axiosInstance);\n\tconst [types, setTypes] = useState();\n\n\tconst [typesOptions, setTypesOptions] = useState[]>();\n\tconst [typeSelected, setTypeSelected] = useState(props.categorieDossierId);\n\n\tconst isDossierExist = props.dossierId !== null && props.dossierId !== undefined && props.dossierId !== \"\";\n\n\n\t/** Get Document Infos */\n\tconst getTypes = async () => {\n\t\tprops.setIsLoading(true);\n\t\ttry {\n\t\t\tvar types = await structureClient.getStructureCategoriesDossier();\n\t\t\tsetTypes(types);\n\t\t\ttypeOptionsList(types);\n\t\t\tprops.setIsLoading(false);\n\t\t} catch (error) {\n\t\t\tprops.setIsLoading(false);\n\t\t\tconsole.error(\"error\", error) /** TODO: catch error dispatch */\n\t\t}\n\t}\n\n\tuseEffect(() => {\n\t\tgetTypes();\n\t\t// if(props.showQuotaAtteintError) {\n\t\t// \ttoast.error(t('createFolder.type.quotaAtteintError'));\n\t\t// }\n\t}, []);\n\n\tuseEffect(() => {\n\t\tif (typeSelected !== \"\") {\n\t\t\t// Find matching category\n\t\t\tlet selectedType = types?.find(type => type.id === typeSelected);\n\t\t\tif (typeSelected || selectedType && selectedType.canBeCreated)\n\t\t\t\tprops.setCanGoNext(true);\n\t\t\telse\n\t\t\t\tprops.setCanGoNext(false);\n\t\t} else {\n\t\t\tprops.setCanGoNext(false);\n\t\t}\n\t}, [typeSelected]);\n\n\n\t/** Select */\n\tconst typeOptionsList = (types: CategorieDossierDto[]) => {\n\t\tconst options: AdelOption[] = types.map(type => ({\n\t\t\tvalue: type.id ? type.id : '',\n\t\t\tlabel: type.nom ? type.nom : '',\n\t\t\thasClass: '',\n\t\t\timg: `${props.categorieTypeImgDic[type.code] || props.categorieTypeImgDic['AUTRE']}`,\n\t\t\tdisabled: !type.canBeCreated\n\t\t})).sort((a, b) => a.label.localeCompare(b.label));\n\t\tsetTypesOptions(options);\n\t};\n\n\tconst handleInputSelectChange = (selectedOption: string) => {\n\t\tsetTypeSelected(selectedOption)\n\t};\n\n\t/** Post */\n\tuseImperativeHandle(ref, () => ({\n\t\tasync validateForm(): Promise {\n\t\t\t// const result = await triggerValidation();\n\n\t\t\tif (!typeSelected || typeSelected === \"\")\n\t\t\t\treturn false\n\t\t\telse {\n\t\t\t\tprops.setCategorieDossierId(typeSelected);\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t}));\n\n\tconst { control } = useForm({});\n\n\treturn (\n\t\t
\n\t\t\t

{t(\"createFolder.type.title\")}

\n\t\t\t (\n\t\t\t\t\t\n\t\t\t\t\t\tname={name}\n\t\t\t\t\t\tclassname=\"inputSelect inputSelect--light inputSelect--fullWidth\"\n\t\t\t\t\t\toptions={typesOptions}\n\t\t\t\t\t\tonChange={(p) => {\n\t\t\t\t\t\t\tonChange(p);\n\t\t\t\t\t\t\thandleInputSelectChange(p);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tvalue={typeSelected}\n\t\t\t\t\t\tonTryToSelectADisabledValue={(value: string) => toast.error(t('createFolder.type.selectDisabledValue'))}\n\t\t\t\t\t\treadonly={isDossierExist}\n\t\t\t\t\t\tplaceholder={t(\"common.select\")}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t/>\n\t\t
\n\t)\n});\n\nexport default TypeDossier;\n","import React, { forwardRef, ForwardRefExoticComponent, PropsWithoutRef, RefAttributes, useCallback, useEffect, useImperativeHandle, useState } from \"react\";\nimport { useTranslation } from 'react-i18next';\nimport { RouteComponentProps } from \"@reach/router\";\nimport { StepRef } from \"../CreationDossier\";\nimport { useAxios } from \"../../../custom-hooks/useAxios\";\nimport { AidesFonctionnementByYearModel, ChampFinancement, ChiffresClesViewModelDto, CreateChiffresClesDto, DossierClient } from \"../../../services/generated/FrontOffice-api\";\nimport { toast } from \"react-toastify\";\nimport Input from \"adel-shared/dist/components/basics/Input\";\nimport { useForm } from \"react-hook-form\";\nimport useValidation from \"../../../custom-hooks/useValidation\";\nimport { Dictionary } from \"adel-shared/dist/models\";\n\ninterface ChiffreCleModel {\n chiffreAffaire: string;\n chiffreAffaireN1: string;\n chiffreAffaireN2: string;\n chiffreAffaireN3: string;\n chiffreAffaireN4: string;\n nombreEleveAmateur: string;\n nombreEmployeAdministratif: string;\n nombreEmployeAdministratifETP: string;\n nombreEnseignantCDD: string;\n nombreEnseignantCDI: string;\n nombreEnseignantCDII: string;\n nombreEtudiantAFDAS: string;\n nombreEtudiantCIF: string;\n nombreEtudiantCNFPT: string;\n nombreEtudiantCycleLoisirN1: string;\n nombreEtudiantCycleLoisirN2: string;\n nombreEtudiantCycleLoisirN3: string;\n nombreEtudiantCycleLoisirN4: string;\n nombreEtudiantCyclePro: string;\n nombreEtudiantCycleProfessionnelN1: string;\n nombreEtudiantCycleProfessionnelN2: string;\n nombreEtudiantCycleProfessionnelN3: string;\n nombreEtudiantCycleProfessionnelN4: string;\n nombreEtudiantFormationContinue: string;\n nombreEtudiantFormationInitiale: string;\n nombreMusicienIntermittent: string;\n nombreTotalEnseignant: string;\n nombreTotalEnseignantETP: string;\n salaires: string;\n salairesN1: string;\n salairesN2: string;\n salairesN3: string;\n\tsalairesN4: string;\n\tdrac: string;\n\tdracN1: string;\n\tdracN2: string;\n\tdracN3: string;\n\tdracN4: string;\n\tconseilGeneral: string;\n\tconseilGeneralN1: string;\n\tconseilGeneralN2: string;\n\tconseilGeneralN3: string;\n\tconseilGeneralN4: string;\n\tconseilRegional: string;\n\tconseilRegionalN1: string;\n\tconseilRegionalN2: string;\n\tconseilRegionalN3: string;\n\tconseilRegionalN4: string;\n\tville: string;\n\tvilleN1: string;\n\tvilleN2: string;\n\tvilleN3: string;\n\tvilleN4: string;\n\tmontantDemandeSPEDIDAM: string;\n\tmontantDemandeSPEDIDAMN1: string;\n\tmontantDemandeSPEDIDAMN2: string;\n\tmontantDemandeSPEDIDAMN3: string;\n\tmontantDemandeSPEDIDAMN4: string;\n\tfcm: string;\n\tfcmN1: string;\n\tfcmN2: string;\n\tfcmN3: string;\n\tfcmN4: string;\n\tsacem: string;\n\tsacemN1: string;\n\tsacemN2: string;\n\tsacemN3: string;\n\tsacemN4: string;\n\tadami: string;\n\tadamiN1: string;\n\tadamiN2: string;\n\tadamiN3: string;\n\tadamiN4: string;\n}\n\ninterface ChiffreClesProps extends RouteComponentProps {\n dossierId: string;\n\tsetCanGoNext: (value: boolean) => void;\n setIsLoading: (value: boolean) => void;\n}\n\nconst ChiffreCles: ForwardRefExoticComponent & RefAttributes> = forwardRef((props, ref) => {\n\n const { t } = useTranslation();\n const axiosInstance = useAxios();\n const dossierClient = new DossierClient(\"\", axiosInstance);\n const { register, getValues, setValue, triggerValidation, errors } = useForm({ defaultValues: {\n\t\tnombreEnseignantCDI: '0',\n\t\tnombreEnseignantCDD: '0',\n\t\tnombreEnseignantCDII: '0',\n\t\tnombreEtudiantCyclePro: '0',\n\t\tnombreEtudiantAFDAS: '0',\n\t\tnombreEtudiantCNFPT: '0',\n\t\tnombreEtudiantCIF: '0',\n\t\tnombreEtudiantFormationContinue: '0',\n\t\tnombreEtudiantFormationInitiale: '0',\n\t\tnombreEleveAmateur: '0'\n\t}});\n const { getRootValidator } = useValidation();\n const chiffresClesValidator = getRootValidator(\"CreateChiffresClesDto\");\n\n const [nombreEtudiantCycleProTotal, setNombreEtudiantCycleProTotal] = useState(0);\n const [nombreEleveAmateur, setNombreEleveAmateur] = useState();\n const [dateDebut, setDateDebut] = useState();\n const [dateFin, setDateFin] = useState();\n const [initChiffresClesAides, setInitChiffresClesAides] = useState([]);\n\n const initWithCurrentValues = (chiffresClesViewModel: ChiffresClesViewModelDto, dateDebut:Date, dateFin:Date) => {\n Object.entries(chiffresClesViewModel.chiffresCles).forEach(([key, value]) => {\n setValue(key, value);\n\t\t\tif (key === \"nombreEleveAmateur\") setNombreEleveAmateur(value);\n\t\t});\n\t\t\n\t\tchiffresClesViewModel.aidesByYear.forEach((item:AidesFonctionnementByYearModel) => {\n\t\t\tswitch (item.anneeScolaireDebut) {\n\t\t\t\tcase renderAnneesScolairesObject(-4, dateDebut, dateFin).anneeScolaireDebut:\n\t\t\t\t\tsetValue([\n\t\t\t\t\t\t{ dracN4: `${item.financements.find(e => e.champ === ChampFinancement.Drac)?.montant}`},\n\t\t\t\t\t\t{ conseilGeneralN4: `${item.financements.find(e => e.champ === ChampFinancement.ConseilGeneral)?.montant}`},\n\t\t\t\t\t\t{ conseilRegionalN4: `${item.financements.find(e => e.champ === ChampFinancement.ConseilRegional)?.montant}`},\n\t\t\t\t\t\t{ villeN4: `${item.financements.find(e => e.champ === ChampFinancement.Ville)?.montant}`},\n\t\t\t\t\t\t{ montantDemandeSPEDIDAMN4: `${item.financements.find(e => e.champ === ChampFinancement.MontantDemandeSPEDIDAM)?.montant}`},\n\t\t\t\t\t\t{ fcmN4: `${item.financements.find(e => e.champ === ChampFinancement.Fcm)?.montant}`},\n\t\t\t\t\t\t{ sacemN4: `${item.financements.find(e => e.champ === ChampFinancement.Sacem)?.montant}`},\n\t\t\t\t\t\t{ adamiN4: `${item.financements.find(e => e.champ === ChampFinancement.Adami)?.montant}`}\n\t\t\t\t\t]);\n\t\t\t\t\tbreak;\n\t\t\t\tcase renderAnneesScolairesObject(-3, dateDebut, dateFin).anneeScolaireDebut:\n\t\t\t\t\tsetValue([\n\t\t\t\t\t\t{ dracN3: `${item.financements.find(e => e.champ === ChampFinancement.Drac)?.montant}`},\n\t\t\t\t\t\t{ conseilGeneralN3: `${item.financements.find(e => e.champ === ChampFinancement.ConseilGeneral)?.montant}`},\n\t\t\t\t\t\t{ conseilRegionalN3: `${item.financements.find(e => e.champ === ChampFinancement.ConseilRegional)?.montant}`},\n\t\t\t\t\t\t{ villeN3: `${item.financements.find(e => e.champ === ChampFinancement.Ville)?.montant}`},\n\t\t\t\t\t\t{ montantDemandeSPEDIDAMN3: `${item.financements.find(e => e.champ === ChampFinancement.MontantDemandeSPEDIDAM)?.montant}`},\n\t\t\t\t\t\t{ fcmN3: `${item.financements.find(e => e.champ === ChampFinancement.Fcm)?.montant}`},\n\t\t\t\t\t\t{ sacemN3: `${item.financements.find(e => e.champ === ChampFinancement.Sacem)?.montant}`},\n\t\t\t\t\t\t{ adamiN3: `${item.financements.find(e => e.champ === ChampFinancement.Adami)?.montant}`}\n\t\t\t\t\t]);\n\t\t\t\t\tbreak;\n\t\t\t\tcase renderAnneesScolairesObject(-2, dateDebut, dateFin).anneeScolaireDebut:\n\t\t\t\t\tsetValue([\n\t\t\t\t\t\t{ dracN2: `${item.financements.find(e => e.champ === ChampFinancement.Drac)?.montant}`},\n\t\t\t\t\t\t{ conseilGeneralN2: `${item.financements.find(e => e.champ === ChampFinancement.ConseilGeneral)?.montant}`},\n\t\t\t\t\t\t{ conseilRegionalN2: `${item.financements.find(e => e.champ === ChampFinancement.ConseilRegional)?.montant}`},\n\t\t\t\t\t\t{ villeN2: `${item.financements.find(e => e.champ === ChampFinancement.Ville)?.montant}`},\n\t\t\t\t\t\t{ montantDemandeSPEDIDAMN2: `${item.financements.find(e => e.champ === ChampFinancement.MontantDemandeSPEDIDAM)?.montant}`},\n\t\t\t\t\t\t{ fcmN2: `${item.financements.find(e => e.champ === ChampFinancement.Fcm)?.montant}`},\n\t\t\t\t\t\t{ sacemN2: `${item.financements.find(e => e.champ === ChampFinancement.Sacem)?.montant}`},\n\t\t\t\t\t\t{ adamiN2: `${item.financements.find(e => e.champ === ChampFinancement.Adami)?.montant}`}\n\t\t\t\t\t]);\n\t\t\t\t\tbreak;\n\t\t\t\tcase renderAnneesScolairesObject(-1, dateDebut, dateFin).anneeScolaireDebut:\n\t\t\t\t\tsetValue([\n\t\t\t\t\t\t{ dracN1: `${item.financements.find(e => e.champ === ChampFinancement.Drac)?.montant}`},\n\t\t\t\t\t\t{ conseilGeneralN1: `${item.financements.find(e => e.champ === ChampFinancement.ConseilGeneral)?.montant}`},\n\t\t\t\t\t\t{ conseilRegionalN1: `${item.financements.find(e => e.champ === ChampFinancement.ConseilRegional)?.montant}`},\n\t\t\t\t\t\t{ villeN1: `${item.financements.find(e => e.champ === ChampFinancement.Ville)?.montant}`},\n\t\t\t\t\t\t{ montantDemandeSPEDIDAMN1: `${item.financements.find(e => e.champ === ChampFinancement.MontantDemandeSPEDIDAM)?.montant}`},\n\t\t\t\t\t\t{ fcmN1: `${item.financements.find(e => e.champ === ChampFinancement.Fcm)?.montant}`},\n\t\t\t\t\t\t{ sacemN1: `${item.financements.find(e => e.champ === ChampFinancement.Sacem)?.montant}`},\n\t\t\t\t\t\t{ adamiN1: `${item.financements.find(e => e.champ === ChampFinancement.Adami)?.montant}`}\n\t\t\t\t\t]);\n\t\t\t\t\tbreak;\n\t\t\t\tcase renderAnneesScolairesObject(0, dateDebut, dateFin).anneeScolaireDebut:\n\t\t\t\t\tsetValue([\n\t\t\t\t\t\t{ drac: `${item.financements.find(e => e.champ === ChampFinancement.Drac)?.montant}`},\n\t\t\t\t\t\t{ conseilGeneral: `${item.financements.find(e => e.champ === ChampFinancement.ConseilGeneral)?.montant}`},\n\t\t\t\t\t\t{ conseilRegional: `${item.financements.find(e => e.champ === ChampFinancement.ConseilRegional)?.montant}`},\n\t\t\t\t\t\t{ ville: `${item.financements.find(e => e.champ === ChampFinancement.Ville)?.montant}`},\n\t\t\t\t\t\t{ montantDemandeSPEDIDAM: `${item.financements.find(e => e.champ === ChampFinancement.MontantDemandeSPEDIDAM)?.montant}`},\n\t\t\t\t\t\t{ fcm: `${item.financements.find(e => e.champ === ChampFinancement.Fcm)?.montant}`},\n\t\t\t\t\t\t{ sacem: `${item.financements.find(e => e.champ === ChampFinancement.Sacem)?.montant}`},\n\t\t\t\t\t\t{ adami: `${item.financements.find(e => e.champ === ChampFinancement.Adami)?.montant}`}\n\t\t\t\t\t]);\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t})\n }\n\n const initWithLatestDossierValues = (chiffresClesViewModel: ChiffresClesViewModelDto) => {\n // Note: Arbitrairement c'est l'année de debut qui est utilisée\n // Find all years covered for currentDossier\n let currentDossierCurrentYear = new Date(chiffresClesViewModel.dateDebut).getFullYear();\n let currentDossierYears = [0, 1, 2, 3, 4].map(diff => currentDossierCurrentYear - diff);\n\n // Find all years covered for latestDossier\n let latestDossierCurrentYear = new Date(chiffresClesViewModel.previousChiffresCles.anneeScolaireDebut).getFullYear();\n let latestDossierYears = [0, 1, 2, 3, 4].map(diff => latestDossierCurrentYear - diff);\n\n // Find all common years\n let commonYears = currentDossierYears.filter(year => latestDossierYears.includes(year));\n\n commonYears.forEach(year => {\n // Find currentDossier and latestDossier index\n let currentDossierIndex = currentDossierCurrentYear - year;\n let latestDossierIndex = latestDossierCurrentYear - year;\n\n // chiffreAffaire\n let currentDossierChiffreAffaireKey = `chiffreAffaireN${currentDossierIndex}`;\n let latestDossierChiffreAffaireValue = (chiffresClesViewModel.previousChiffresCles as Dictionary)[latestDossierIndex === 0 ? `chiffreAffaire` : `chiffreAffaireN${latestDossierIndex}`];\n setValue(currentDossierChiffreAffaireKey, latestDossierChiffreAffaireValue);\n\n // salaires\n let currentDossierSalairesKey = `salairesN${currentDossierIndex}`;\n let latestDossierSalairesValue = (chiffresClesViewModel.previousChiffresCles as Dictionary)[latestDossierIndex === 0 ? `salaires` : `salairesN${latestDossierIndex}`];\n setValue(currentDossierSalairesKey, latestDossierSalairesValue);\n\n // nombreEleveAmateur\n let currentDossierNombreEtudiantCycleLoisirKey = `nombreEtudiantCycleLoisirN${currentDossierIndex}`;\n let latestDossierNombreEtudiantCycleLoisirValue = (chiffresClesViewModel.previousChiffresCles as Dictionary)[latestDossierIndex === 0 ? `nombreEleveAmateur` : `nombreEtudiantCycleLoisirN${latestDossierIndex}`];\n setValue(currentDossierNombreEtudiantCycleLoisirKey, latestDossierNombreEtudiantCycleLoisirValue);\n\n // nombreEtudiantCyclePro\n let currentDossierNombreEtudiantCycleProfessionnelKey = `nombreEtudiantCycleProfessionnelN${currentDossierIndex}`;\n let latestDossierNombreEtudiantCycleProfessionnelValue = (chiffresClesViewModel.previousChiffresCles as Dictionary)[latestDossierIndex === 0 ? `nombreEtudiantCyclePro` : `nombreEtudiantCycleProfessionnelN${latestDossierIndex}`];\n setValue(currentDossierNombreEtudiantCycleProfessionnelKey, latestDossierNombreEtudiantCycleProfessionnelValue);\n });\n\n // Configure other values\n [\n \"nombreEmployeAdministratif\",\n \"nombreEmployeAdministratifETP\",\n \"nombreEnseignantCDD\",\n \"nombreEnseignantCDI\",\n \"nombreEnseignantCDII\",\n \"nombreEtudiantAFDAS\",\n \"nombreEtudiantCIF\",\n \"nombreEtudiantCNFPT\",\n \"nombreEtudiantFormationContinue\",\n \"nombreEtudiantFormationInitiale\",\n \"nombreMusicienIntermittent\",\n \"nombreTotalEnseignant\",\n \"nombreTotalEnseignantETP\"\n ].forEach(key => {\n setValue(key, (chiffresClesViewModel.previousChiffresCles as Dictionary)[key]);\n });\n }\n\n useEffect(() => {\n\t\twindow.scrollTo(0,0);\n\n (async function () {\n let chiffresClesViewModel = await dossierClient.getChiffresClesViewModel(props.dossierId);\n\n setDateDebut(new Date(chiffresClesViewModel.dateDebut));\n setDateFin(new Date(chiffresClesViewModel.dateFin));\n\n // Initialize chiffresCles avec les valeurs dernier dossier saisi s'il n'existe encore aucune valeurs pour le dossier courant\n if (!!chiffresClesViewModel && !chiffresClesViewModel.chiffresCles && chiffresClesViewModel.previousChiffresCles) {\n initWithLatestDossierValues(chiffresClesViewModel);\n }\n\n // Initialize chiffresCles avec les valeurs du dossier courant\n if (!!chiffresClesViewModel && chiffresClesViewModel.chiffresCles) {\n\t\t\t\tinitWithCurrentValues(chiffresClesViewModel, new Date(chiffresClesViewModel.dateDebut), new Date(chiffresClesViewModel.dateFin));\n\t\t\t\tsetInitChiffresClesAides(chiffresClesViewModel.aidesByYear);\n\t\t\t\tconst total = chiffresClesViewModel.chiffresCles.nombreEtudiantCyclePro + \n\t\t\t\t\t\t\tchiffresClesViewModel.chiffresCles.nombreEtudiantAFDAS +\n\t\t\t\t\t\t\tchiffresClesViewModel.chiffresCles.nombreEtudiantCNFPT +\n\t\t\t\t\t\t\tchiffresClesViewModel.chiffresCles.nombreEtudiantCIF +\n\t\t\t\t\t\t\tchiffresClesViewModel.chiffresCles.nombreEtudiantFormationContinue +\n\t\t\t\t\t\t\tchiffresClesViewModel.chiffresCles.nombreEtudiantFormationInitiale;\n\t\t\t\tsetNombreEtudiantCycleProTotal(total || 0);\n\t\t\t}\n\n props.setCanGoNext(true);\n })()\n }, [])\n\n const projectChiffreCleModelToCreateChiffreCleDto = async (chiffreCleModel: ChiffreCleModel): Promise => {\n return {\n nombreEnseignantCDI: chiffreCleModel.nombreEnseignantCDI ? parseInt(chiffreCleModel.nombreEnseignantCDI) : 0,\n nombreEnseignantCDD: chiffreCleModel.nombreEnseignantCDD ? parseInt(chiffreCleModel.nombreEnseignantCDD) : 0,\n nombreEnseignantCDII: chiffreCleModel.nombreEnseignantCDII ? parseInt(chiffreCleModel.nombreEnseignantCDII) : 0,\n nombreMusicienIntermittent: chiffreCleModel.nombreMusicienIntermittent ? parseInt(chiffreCleModel.nombreMusicienIntermittent) : 0,\n nombreEmployeAdministratif: chiffreCleModel.nombreEmployeAdministratif ? parseInt(chiffreCleModel.nombreEmployeAdministratif) : 0,\n nombreEmployeAdministratifETP: chiffreCleModel.nombreEmployeAdministratifETP ? parseInt(chiffreCleModel.nombreEmployeAdministratifETP) : 0,\n nombreTotalEnseignant: chiffreCleModel.nombreTotalEnseignant ? parseInt(chiffreCleModel.nombreTotalEnseignant) : 0,\n nombreTotalEnseignantETP: chiffreCleModel.nombreTotalEnseignantETP ? parseInt(chiffreCleModel.nombreTotalEnseignantETP) : 0,\n nombreEtudiantCyclePro: chiffreCleModel.nombreEtudiantCyclePro ? parseInt(chiffreCleModel.nombreEtudiantCyclePro) : 0,\n nombreEtudiantAFDAS: chiffreCleModel.nombreEtudiantAFDAS ? parseInt(chiffreCleModel.nombreEtudiantAFDAS) : 0,\n nombreEtudiantCNFPT: chiffreCleModel.nombreEtudiantCNFPT ? parseInt(chiffreCleModel.nombreEtudiantCNFPT) : 0,\n nombreEtudiantCIF: chiffreCleModel.nombreEtudiantCIF ? parseInt(chiffreCleModel.nombreEtudiantCIF) : 0,\n nombreEtudiantFormationContinue: chiffreCleModel.nombreEtudiantFormationContinue ? parseInt(chiffreCleModel.nombreEtudiantFormationContinue) : 0,\n nombreEtudiantFormationInitiale: chiffreCleModel.nombreEtudiantFormationInitiale ? parseInt(chiffreCleModel.nombreEtudiantFormationInitiale) : 0,\n nombreEleveAmateur: chiffreCleModel.nombreEleveAmateur ? parseInt(chiffreCleModel.nombreEleveAmateur) : 0,\n nombreEtudiantCycleProfessionnelN1: chiffreCleModel.nombreEtudiantCycleProfessionnelN1 ? parseInt(chiffreCleModel.nombreEtudiantCycleProfessionnelN1) : 0,\n nombreEtudiantCycleLoisirN1: chiffreCleModel.nombreEtudiantCycleLoisirN1 ? parseInt(chiffreCleModel.nombreEtudiantCycleLoisirN1) : 0,\n nombreEtudiantCycleProfessionnelN2: chiffreCleModel.nombreEtudiantCycleProfessionnelN2 ? parseInt(chiffreCleModel.nombreEtudiantCycleProfessionnelN2) : 0,\n nombreEtudiantCycleLoisirN2: chiffreCleModel.nombreEtudiantCycleLoisirN2 ? parseInt(chiffreCleModel.nombreEtudiantCycleLoisirN2) : 0,\n nombreEtudiantCycleProfessionnelN3: chiffreCleModel.nombreEtudiantCycleProfessionnelN3 ? parseInt(chiffreCleModel.nombreEtudiantCycleProfessionnelN3) : 0,\n nombreEtudiantCycleLoisirN3: chiffreCleModel.nombreEtudiantCycleLoisirN3 ? parseInt(chiffreCleModel.nombreEtudiantCycleLoisirN3) : 0,\n nombreEtudiantCycleProfessionnelN4: chiffreCleModel.nombreEtudiantCycleProfessionnelN4 ? parseInt(chiffreCleModel.nombreEtudiantCycleProfessionnelN4) : null,\n nombreEtudiantCycleLoisirN4: chiffreCleModel.nombreEtudiantCycleLoisirN4 ? parseInt(chiffreCleModel.nombreEtudiantCycleLoisirN4) : null,\n chiffreAffaire: chiffreCleModel.chiffreAffaire ? parseFloat(chiffreCleModel.chiffreAffaire) : 0,\n salaires: chiffreCleModel.salaires ? parseFloat(chiffreCleModel.salaires) : 0,\n chiffreAffaireN1: chiffreCleModel.chiffreAffaireN1 ? parseFloat(chiffreCleModel.chiffreAffaireN1) : 0,\n salairesN1: chiffreCleModel.salairesN1 ? parseFloat(chiffreCleModel.salairesN1) : 0,\n chiffreAffaireN2: chiffreCleModel.chiffreAffaireN2 ? parseFloat(chiffreCleModel.chiffreAffaireN2) : 0,\n salairesN2: chiffreCleModel.salairesN2 ? parseFloat(chiffreCleModel.salairesN2) : 0,\n chiffreAffaireN3: chiffreCleModel.chiffreAffaireN3 ? parseFloat(chiffreCleModel.chiffreAffaireN3) : 0,\n salairesN3: chiffreCleModel.salairesN3 ? parseFloat(chiffreCleModel.salairesN3) : 0,\n chiffreAffaireN4: chiffreCleModel.chiffreAffaireN4 ? parseFloat(chiffreCleModel.chiffreAffaireN4) : null,\n salairesN4: chiffreCleModel.salairesN4 ? parseFloat(chiffreCleModel.salairesN4) : null,\n };\n\t}\n\t\n\tconst aidesFonctionnementByYearToSend = async (chiffreCleModel: ChiffreCleModel): Promise => {\n\t\tconst aideN4:AidesFonctionnementByYearModel = {\n\t\t\tanneeScolaireDebut: renderAnneesScolairesObject(-4).anneeScolaireDebut,\n\t\t\tanneeScolaireFin: renderAnneesScolairesObject(-4).anneeScolaireFin,\n\t\t\tfinancements: [\n\t\t\t\t{\n\t\t\t\t\tid: initChiffresClesAides.find(e => e.anneeScolaireDebut === renderAnneesScolairesObject(-4, dateDebut, dateFin).anneeScolaireDebut)?.financements.find(e => e.champ === ChampFinancement.Drac)?.id || null,\n\t\t\t\t\tchamp: ChampFinancement.Drac,\n\t\t\t\t\tmontant: parseFloat(chiffreCleModel.dracN4) || 0\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: initChiffresClesAides.find(e => e.anneeScolaireDebut === renderAnneesScolairesObject(-4, dateDebut, dateFin).anneeScolaireDebut)?.financements.find(e => e.champ === ChampFinancement.ConseilGeneral)?.id || null,\n\t\t\t\t\tchamp: ChampFinancement.ConseilGeneral, \n\t\t\t\t\tmontant: parseFloat(chiffreCleModel.conseilGeneralN4) || 0\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: initChiffresClesAides.find(e => e.anneeScolaireDebut === renderAnneesScolairesObject(-4, dateDebut, dateFin).anneeScolaireDebut)?.financements.find(e => e.champ === ChampFinancement.ConseilRegional)?.id || null,\n\t\t\t\t\tchamp: ChampFinancement.ConseilRegional, \n\t\t\t\t\tmontant: parseFloat(chiffreCleModel.conseilRegionalN4) || 0\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: initChiffresClesAides.find(e => e.anneeScolaireDebut === renderAnneesScolairesObject(-4, dateDebut, dateFin).anneeScolaireDebut)?.financements.find(e => e.champ === ChampFinancement.Ville)?.id || null,\n\t\t\t\t\tchamp: ChampFinancement.Ville, \n\t\t\t\t\tmontant: parseFloat(chiffreCleModel.villeN4) || 0\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: initChiffresClesAides.find(e => e.anneeScolaireDebut === renderAnneesScolairesObject(-4, dateDebut, dateFin).anneeScolaireDebut)?.financements.find(e => e.champ === ChampFinancement.MontantDemandeSPEDIDAM)?.id || null,\n\t\t\t\t\tchamp: ChampFinancement.MontantDemandeSPEDIDAM, \n\t\t\t\t\tmontant: parseFloat(chiffreCleModel.montantDemandeSPEDIDAMN4) || 0\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: initChiffresClesAides.find(e => e.anneeScolaireDebut === renderAnneesScolairesObject(-4, dateDebut, dateFin).anneeScolaireDebut)?.financements.find(e => e.champ === ChampFinancement.Fcm)?.id || null,\n\t\t\t\t\tchamp: ChampFinancement.Fcm, \n\t\t\t\t\tmontant: parseFloat(chiffreCleModel.fcmN4) || 0\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: initChiffresClesAides.find(e => e.anneeScolaireDebut === renderAnneesScolairesObject(-4, dateDebut, dateFin).anneeScolaireDebut)?.financements.find(e => e.champ === ChampFinancement.Sacem)?.id || null,\n\t\t\t\t\tchamp: ChampFinancement.Sacem, \n\t\t\t\t\tmontant: parseFloat(chiffreCleModel.sacemN4) || 0\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: initChiffresClesAides.find(e => e.anneeScolaireDebut === renderAnneesScolairesObject(-4, dateDebut, dateFin).anneeScolaireDebut)?.financements.find(e => e.champ === ChampFinancement.Adami)?.id || null,\n\t\t\t\t\tchamp: ChampFinancement.Adami, \n\t\t\t\t\tmontant: parseFloat(chiffreCleModel.adamiN4) || 0\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\n\t\tconst aideN3:AidesFonctionnementByYearModel = {\n\t\t\tanneeScolaireDebut: renderAnneesScolairesObject(-3).anneeScolaireDebut,\n\t\t\tanneeScolaireFin: renderAnneesScolairesObject(-3).anneeScolaireFin,\n\t\t\tfinancements: [\n\t\t\t\t{\n\t\t\t\t\tid: initChiffresClesAides.find(e => e.anneeScolaireDebut === renderAnneesScolairesObject(-3, dateDebut, dateFin).anneeScolaireDebut)?.financements.find(e => e.champ === ChampFinancement.Drac)?.id || null,\n\t\t\t\t\tchamp: ChampFinancement.Drac,\n\t\t\t\t\tmontant: parseFloat(chiffreCleModel.dracN3) || 0\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: initChiffresClesAides.find(e => e.anneeScolaireDebut === renderAnneesScolairesObject(-3, dateDebut, dateFin).anneeScolaireDebut)?.financements.find(e => e.champ === ChampFinancement.ConseilGeneral)?.id || null,\n\t\t\t\t\tchamp: ChampFinancement.ConseilGeneral, \n\t\t\t\t\tmontant: parseFloat(chiffreCleModel.conseilGeneralN3) || 0\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: initChiffresClesAides.find(e => e.anneeScolaireDebut === renderAnneesScolairesObject(-3, dateDebut, dateFin).anneeScolaireDebut)?.financements.find(e => e.champ === ChampFinancement.ConseilRegional)?.id || null,\n\t\t\t\t\tchamp: ChampFinancement.ConseilRegional, \n\t\t\t\t\tmontant: parseFloat(chiffreCleModel.conseilRegionalN3) || 0\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: initChiffresClesAides.find(e => e.anneeScolaireDebut === renderAnneesScolairesObject(-3, dateDebut, dateFin).anneeScolaireDebut)?.financements.find(e => e.champ === ChampFinancement.Ville)?.id || null,\n\t\t\t\t\tchamp: ChampFinancement.Ville, \n\t\t\t\t\tmontant: parseFloat(chiffreCleModel.villeN3) || 0\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: initChiffresClesAides.find(e => e.anneeScolaireDebut === renderAnneesScolairesObject(-3, dateDebut, dateFin).anneeScolaireDebut)?.financements.find(e => e.champ === ChampFinancement.MontantDemandeSPEDIDAM)?.id || null,\n\t\t\t\t\tchamp: ChampFinancement.MontantDemandeSPEDIDAM, \n\t\t\t\t\tmontant: parseFloat(chiffreCleModel.montantDemandeSPEDIDAMN3) || 0\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: initChiffresClesAides.find(e => e.anneeScolaireDebut === renderAnneesScolairesObject(-3, dateDebut, dateFin).anneeScolaireDebut)?.financements.find(e => e.champ === ChampFinancement.Fcm)?.id || null,\n\t\t\t\t\tchamp: ChampFinancement.Fcm, \n\t\t\t\t\tmontant: parseFloat(chiffreCleModel.fcmN3) || 0\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: initChiffresClesAides.find(e => e.anneeScolaireDebut === renderAnneesScolairesObject(-3, dateDebut, dateFin).anneeScolaireDebut)?.financements.find(e => e.champ === ChampFinancement.Sacem)?.id || null,\n\t\t\t\t\tchamp: ChampFinancement.Sacem, \n\t\t\t\t\tmontant: parseFloat(chiffreCleModel.sacemN3) || 0\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: initChiffresClesAides.find(e => e.anneeScolaireDebut === renderAnneesScolairesObject(-3, dateDebut, dateFin).anneeScolaireDebut)?.financements.find(e => e.champ === ChampFinancement.Adami)?.id || null,\n\t\t\t\t\tchamp: ChampFinancement.Adami, \n\t\t\t\t\tmontant: parseFloat(chiffreCleModel.adamiN3) || 0\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\n\t\tconst aideN2:AidesFonctionnementByYearModel = {\n\t\t\tanneeScolaireDebut: renderAnneesScolairesObject(-2).anneeScolaireDebut,\n\t\t\tanneeScolaireFin: renderAnneesScolairesObject(-2).anneeScolaireFin,\n\t\t\tfinancements: [\n\t\t\t\t{\n\t\t\t\t\tid: initChiffresClesAides.find(e => e.anneeScolaireDebut === renderAnneesScolairesObject(-2, dateDebut, dateFin).anneeScolaireDebut)?.financements.find(e => e.champ === ChampFinancement.Drac)?.id || null,\n\t\t\t\t\tchamp: ChampFinancement.Drac,\n\t\t\t\t\tmontant: parseFloat(chiffreCleModel.dracN2) || 0\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: initChiffresClesAides.find(e => e.anneeScolaireDebut === renderAnneesScolairesObject(-2, dateDebut, dateFin).anneeScolaireDebut)?.financements.find(e => e.champ === ChampFinancement.ConseilGeneral)?.id || null,\n\t\t\t\t\tchamp: ChampFinancement.ConseilGeneral, \n\t\t\t\t\tmontant: parseFloat(chiffreCleModel.conseilGeneralN2) || 0\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: initChiffresClesAides.find(e => e.anneeScolaireDebut === renderAnneesScolairesObject(-2, dateDebut, dateFin).anneeScolaireDebut)?.financements.find(e => e.champ === ChampFinancement.ConseilRegional)?.id || null,\n\t\t\t\t\tchamp: ChampFinancement.ConseilRegional, \n\t\t\t\t\tmontant: parseFloat(chiffreCleModel.conseilRegionalN2) || 0\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: initChiffresClesAides.find(e => e.anneeScolaireDebut === renderAnneesScolairesObject(-2, dateDebut, dateFin).anneeScolaireDebut)?.financements.find(e => e.champ === ChampFinancement.Ville)?.id || null,\n\t\t\t\t\tchamp: ChampFinancement.Ville, \n\t\t\t\t\tmontant: parseFloat(chiffreCleModel.villeN2) || 0\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: initChiffresClesAides.find(e => e.anneeScolaireDebut === renderAnneesScolairesObject(-2, dateDebut, dateFin).anneeScolaireDebut)?.financements.find(e => e.champ === ChampFinancement.MontantDemandeSPEDIDAM)?.id || null,\n\t\t\t\t\tchamp: ChampFinancement.MontantDemandeSPEDIDAM, \n\t\t\t\t\tmontant: parseFloat(chiffreCleModel.montantDemandeSPEDIDAMN2) || 0\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: initChiffresClesAides.find(e => e.anneeScolaireDebut === renderAnneesScolairesObject(-2, dateDebut, dateFin).anneeScolaireDebut)?.financements.find(e => e.champ === ChampFinancement.Fcm)?.id || null,\n\t\t\t\t\tchamp: ChampFinancement.Fcm, \n\t\t\t\t\tmontant: parseFloat(chiffreCleModel.fcmN2) || 0\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: initChiffresClesAides.find(e => e.anneeScolaireDebut === renderAnneesScolairesObject(-2, dateDebut, dateFin).anneeScolaireDebut)?.financements.find(e => e.champ === ChampFinancement.Sacem)?.id || null,\n\t\t\t\t\tchamp: ChampFinancement.Sacem, \n\t\t\t\t\tmontant: parseFloat(chiffreCleModel.sacemN2) || 0\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: initChiffresClesAides.find(e => e.anneeScolaireDebut === renderAnneesScolairesObject(-2, dateDebut, dateFin).anneeScolaireDebut)?.financements.find(e => e.champ === ChampFinancement.Adami)?.id || null,\n\t\t\t\t\tchamp: ChampFinancement.Adami, \n\t\t\t\t\tmontant: parseFloat(chiffreCleModel.adamiN2) || 0\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\n\t\tconst aideN1:AidesFonctionnementByYearModel = {\n\t\t\tanneeScolaireDebut: renderAnneesScolairesObject(-1).anneeScolaireDebut,\n\t\t\tanneeScolaireFin: renderAnneesScolairesObject(-1).anneeScolaireFin,\n\t\t\tfinancements: [\n\t\t\t\t{\n\t\t\t\t\tid: initChiffresClesAides.find(e => e.anneeScolaireDebut === renderAnneesScolairesObject(-1, dateDebut, dateFin).anneeScolaireDebut)?.financements.find(e => e.champ === ChampFinancement.Drac)?.id || null,\n\t\t\t\t\tchamp: ChampFinancement.Drac,\n\t\t\t\t\tmontant: parseFloat(chiffreCleModel.dracN1) || 0\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: initChiffresClesAides.find(e => e.anneeScolaireDebut === renderAnneesScolairesObject(-1, dateDebut, dateFin).anneeScolaireDebut)?.financements.find(e => e.champ === ChampFinancement.ConseilGeneral)?.id || null,\n\t\t\t\t\tchamp: ChampFinancement.ConseilGeneral, \n\t\t\t\t\tmontant: parseFloat(chiffreCleModel.conseilGeneralN1) || 0\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: initChiffresClesAides.find(e => e.anneeScolaireDebut === renderAnneesScolairesObject(-1, dateDebut, dateFin).anneeScolaireDebut)?.financements.find(e => e.champ === ChampFinancement.ConseilRegional)?.id || null,\n\t\t\t\t\tchamp: ChampFinancement.ConseilRegional, \n\t\t\t\t\tmontant: parseFloat(chiffreCleModel.conseilRegionalN1) || 0\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: initChiffresClesAides.find(e => e.anneeScolaireDebut === renderAnneesScolairesObject(-1, dateDebut, dateFin).anneeScolaireDebut)?.financements.find(e => e.champ === ChampFinancement.Ville)?.id || null,\n\t\t\t\t\tchamp: ChampFinancement.Ville, \n\t\t\t\t\tmontant: parseFloat(chiffreCleModel.villeN1) || 0\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: initChiffresClesAides.find(e => e.anneeScolaireDebut === renderAnneesScolairesObject(-1, dateDebut, dateFin).anneeScolaireDebut)?.financements.find(e => e.champ === ChampFinancement.MontantDemandeSPEDIDAM)?.id || null,\n\t\t\t\t\tchamp: ChampFinancement.MontantDemandeSPEDIDAM, \n\t\t\t\t\tmontant: parseFloat(chiffreCleModel.montantDemandeSPEDIDAMN1) || 0\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: initChiffresClesAides.find(e => e.anneeScolaireDebut === renderAnneesScolairesObject(-1, dateDebut, dateFin).anneeScolaireDebut)?.financements.find(e => e.champ === ChampFinancement.Fcm)?.id || null,\n\t\t\t\t\tchamp: ChampFinancement.Fcm, \n\t\t\t\t\tmontant: parseFloat(chiffreCleModel.fcmN1) || 0\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: initChiffresClesAides.find(e => e.anneeScolaireDebut === renderAnneesScolairesObject(-1, dateDebut, dateFin).anneeScolaireDebut)?.financements.find(e => e.champ === ChampFinancement.Sacem)?.id || null,\n\t\t\t\t\tchamp: ChampFinancement.Sacem, \n\t\t\t\t\tmontant: parseFloat(chiffreCleModel.sacemN1) || 0\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: initChiffresClesAides.find(e => e.anneeScolaireDebut === renderAnneesScolairesObject(-1, dateDebut, dateFin).anneeScolaireDebut)?.financements.find(e => e.champ === ChampFinancement.Adami)?.id || null,\n\t\t\t\t\tchamp: ChampFinancement.Adami, \n\t\t\t\t\tmontant: parseFloat(chiffreCleModel.adamiN1) || 0\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\n\t\tconst aide:AidesFonctionnementByYearModel = {\n\t\t\tanneeScolaireDebut: renderAnneesScolairesObject().anneeScolaireDebut,\n\t\t\tanneeScolaireFin: renderAnneesScolairesObject().anneeScolaireFin,\n\t\t\tfinancements: [\n\t\t\t\t{\n\t\t\t\t\tid: initChiffresClesAides.find(e => e.anneeScolaireDebut === renderAnneesScolairesObject(0, dateDebut, dateFin).anneeScolaireDebut)?.financements.find(e => e.champ === ChampFinancement.Drac)?.id || null,\n\t\t\t\t\tchamp: ChampFinancement.Drac,\n\t\t\t\t\tmontant: parseFloat(chiffreCleModel.drac) || 0\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: initChiffresClesAides.find(e => e.anneeScolaireDebut === renderAnneesScolairesObject(0, dateDebut, dateFin).anneeScolaireDebut)?.financements.find(e => e.champ === ChampFinancement.ConseilGeneral)?.id || null,\n\t\t\t\t\tchamp: ChampFinancement.ConseilGeneral, \n\t\t\t\t\tmontant: parseFloat(chiffreCleModel.conseilGeneral) || 0\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: initChiffresClesAides.find(e => e.anneeScolaireDebut === renderAnneesScolairesObject(0, dateDebut, dateFin).anneeScolaireDebut)?.financements.find(e => e.champ === ChampFinancement.ConseilRegional)?.id || null,\n\t\t\t\t\tchamp: ChampFinancement.ConseilRegional, \n\t\t\t\t\tmontant: parseFloat(chiffreCleModel.conseilRegional) || 0\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: initChiffresClesAides.find(e => e.anneeScolaireDebut === renderAnneesScolairesObject(0, dateDebut, dateFin).anneeScolaireDebut)?.financements.find(e => e.champ === ChampFinancement.Ville)?.id || null,\n\t\t\t\t\tchamp: ChampFinancement.Ville, \n\t\t\t\t\tmontant: parseFloat(chiffreCleModel.ville) || 0\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: initChiffresClesAides.find(e => e.anneeScolaireDebut === renderAnneesScolairesObject(0, dateDebut, dateFin).anneeScolaireDebut)?.financements.find(e => e.champ === ChampFinancement.MontantDemandeSPEDIDAM)?.id || null,\n\t\t\t\t\tchamp: ChampFinancement.MontantDemandeSPEDIDAM, \n\t\t\t\t\tmontant: parseFloat(chiffreCleModel.montantDemandeSPEDIDAM) || 0\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: initChiffresClesAides.find(e => e.anneeScolaireDebut === renderAnneesScolairesObject(0, dateDebut, dateFin).anneeScolaireDebut)?.financements.find(e => e.champ === ChampFinancement.Fcm)?.id || null,\n\t\t\t\t\tchamp: ChampFinancement.Fcm, \n\t\t\t\t\tmontant: parseFloat(chiffreCleModel.fcm) || 0\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: initChiffresClesAides.find(e => e.anneeScolaireDebut === renderAnneesScolairesObject(0, dateDebut, dateFin).anneeScolaireDebut)?.financements.find(e => e.champ === ChampFinancement.Sacem)?.id || null,\n\t\t\t\t\tchamp: ChampFinancement.Sacem, \n\t\t\t\t\tmontant: parseFloat(chiffreCleModel.sacem) || 0\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: initChiffresClesAides.find(e => e.anneeScolaireDebut === renderAnneesScolairesObject(0, dateDebut, dateFin).anneeScolaireDebut)?.financements.find(e => e.champ === ChampFinancement.Adami)?.id || null,\n\t\t\t\t\tchamp: ChampFinancement.Adami, \n\t\t\t\t\tmontant: parseFloat(chiffreCleModel.adami) || 0\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\n return [aide, aideN1, aideN2, aideN3, aideN4];\n\t}\n\n useImperativeHandle(ref, () => ({\n async validateForm(): Promise {\n\t\t\tprops.setIsLoading(true);\n try {\n let model = getValues();\n let isValid = await triggerValidation();\n\t\t\t\tlet createChiffresClesDto = await projectChiffreCleModelToCreateChiffreCleDto(model);\n\t\t\t\tlet aidesFonctionnementByYearDto = await aidesFonctionnementByYearToSend(model);\n\n if (isValid) {\n\t\t\t\t\tawait dossierClient.createChiffresCles(props.dossierId, createChiffresClesDto);\n\t\t\t\t\tawait dossierClient.createOrUpdateAidesFonctionnement(props.dossierId, {aidesByYear:aidesFonctionnementByYearDto});\n\t\t\t\t\tprops.setIsLoading(false);\n return true;\n }\n\t\t\t\ttoast.error(t(\"validation-messages.invalid-form\"));\n\t\t\t\tprops.setIsLoading(false);\n\t\t\t\treturn false;\n\n } catch (error) {\n\t\t\t\tif (error.exception?.message) {\n\t\t\t\t\ttoast.error(error.exception.message);\n\t\t\t\t}\n\t\t\t\tprops.setIsLoading(false);\n return false;\n }\n }\n }));\n\n const renderAnneesScolaires = (yearsToSubstract: number = 0): string => {\n if (!dateDebut || !dateFin) return \"\";\n return `${dateDebut.getFullYear() + yearsToSubstract} - ${dateFin.getFullYear() + yearsToSubstract}`;\n\t};\n\n\tconst renderAnneesScolairesObject = (yearsToSubstract: number = 0, debut?:Date, fin?:Date): {\n\t\tanneeScolaireDebut?: number,\n\t\tanneeScolaireFin?: number\n\t} => {\n\t\tif (debut && fin) {\n\t\t\treturn {\n\t\t\t\tanneeScolaireDebut: debut.getFullYear() + yearsToSubstract,\n\t\t\t\tanneeScolaireFin: fin.getFullYear() + yearsToSubstract\n\t\t\t}\n\t\t} else {\n\t\t\tif (!dateDebut || !dateFin) return {};\n\t\t\treturn {\n\t\t\t\tanneeScolaireDebut: dateDebut.getFullYear() + yearsToSubstract,\n\t\t\t\tanneeScolaireFin: dateFin.getFullYear() + yearsToSubstract\n\t\t\t}\n\t\t}\n\t};\n\t\n\t\n\n\tconst setNombreTotalEtudiantPro = useCallback(() => {\n\t\tconst total = parseInt(getValues().nombreEtudiantCyclePro) + \n\t\t\t\t\tparseInt(getValues().nombreEtudiantAFDAS) +\n\t\t\t\t\tparseInt(getValues().nombreEtudiantCNFPT) +\n\t\t\t\t\tparseInt(getValues().nombreEtudiantCIF) +\n\t\t\t\t\tparseInt(getValues().nombreEtudiantFormationContinue) +\n\t\t\t\t\tparseInt(getValues().nombreEtudiantFormationInitiale);\n\t\tsetNombreEtudiantCycleProTotal(total || 0);\n\t}, [nombreEtudiantCycleProTotal, setNombreEtudiantCycleProTotal]);\n\n\n\n return (\n
\n
\n

{t(\"createFolder.menu.chiffresCles\")}

\n
\n
\n

{t('createFolder.enseignants.chiffreCles.title')}

\n

{t('createFolder.enseignants.chiffreCles.nombreProfesseurs')}

\n
\n \n \n \n
\n

{t('createFolder.enseignants.chiffreCles.musiciens')}

\n
\n \n
\n

{t('createFolder.enseignants.chiffreCles.administratifs')}

\n
\n \n \n
\n

{t('createFolder.enseignants.chiffreCles.totalProfesseurs')}

\n
\n \n \n
\n
\n\n
\n

{t('createFolder.enseignants.chiffreCles.informationsComplementaires')}

\n
\n setNombreTotalEtudiantPro() }\n />\n setNombreTotalEtudiantPro() }\n />\n
\n
\n setNombreTotalEtudiantPro() }\n />\n setNombreTotalEtudiantPro() }\n />\n
\n
\n setNombreTotalEtudiantPro() }\n />\n setNombreTotalEtudiantPro() }\n />\n
\n
\n { setNombreEleveAmateur(value); }}\n />\n
\n
\n\n
\n

{t('createFolder.enseignants.chiffreCles.evolutionNombreEleves')}

\n {t('createFolder.enseignants.chiffreCles.parAnneesScolairesDepuis')}\n

{renderAnneesScolaires(-4)}

\n
\n \n \n
\n

{renderAnneesScolaires(-3)}

\n
\n \n \n
\n

{renderAnneesScolaires(-2)}

\n
\n \n \n
\n

{renderAnneesScolaires(-1)}

\n
\n \n \n
\n

{renderAnneesScolaires()}

\n
\n nombreEtudiantCycleProTotal > 0 || `${t('createFolder.enseignants.chiffreCles.errors.etudiantPro')}`\n\t\t\t\t\t\t})}\n />\n \n
\n\t\t\t\t{(!nombreEtudiantCycleProTotal || nombreEtudiantCycleProTotal <= 0) &&\n\t\t\t\t\t
{t('createFolder.enseignants.chiffreCles.errors.etudiantPro')}
\n\t\t\t\t}\n
\n\n
\n

{t('createFolder.enseignants.chiffreCles.evolutionChiffreAffaires')}

\n {t('createFolder.enseignants.chiffreCles.parAnneesScolairesDepuis')}\n

{renderAnneesScolaires(-4)}

\n
\n \n \n
\n

{renderAnneesScolaires(-3)}

\n
\n \n \n
\n

{renderAnneesScolaires(-2)}

\n
\n \n \n
\n

{renderAnneesScolaires(-1)}

\n
\n \n \n
\n

{renderAnneesScolaires()}

\n
\n \n \n
\n
\n\n\t\t\t
\n

{t('createFolder.enseignants.chiffreCles.aidesdefonctionnement')}

\n {t('createFolder.enseignants.chiffreCles.parAnneesScolairesDepuis')}\n

{renderAnneesScolaires(-4)}

\n
\n \n \n
\n\t\t\t\t
\n \n \n
\n\t\t\t\t
\n \n \n
\n\t\t\t\t
\n \n \n
\n\n

{renderAnneesScolaires(-3)}

\n
\n \n \n
\n\t\t\t\t
\n \n \n
\n\t\t\t\t
\n \n \n
\n\t\t\t\t
\n \n \n
\n\n

{renderAnneesScolaires(-2)}

\n
\n \n \n
\n\t\t\t\t
\n \n \n
\n\t\t\t\t
\n \n \n
\n\t\t\t\t
\n \n \n
\n\n

{renderAnneesScolaires(-1)}

\n
\n \n \n
\n\t\t\t\t
\n \n \n
\n\t\t\t\t
\n \n \n
\n\t\t\t\t
\n \n \n
\n\n

{renderAnneesScolaires()}

\n\t\t\t\t
\n \n \n
\n\t\t\t\t
\n \n \n
\n\t\t\t\t
\n \n \n
\n\t\t\t\t
\n \n \n
\n
\n\n
\n );\n});\n\nexport default ChiffreCles;","import React, { useState } from 'react';\r\nconst CollapsibleSection = ({ title, children }) => {\r\n const [isOpen, setIsOpen] = useState(true);\r\n const toggleCollapse = () => {\r\n setIsOpen(!isOpen);\r\n };\r\n return (React.createElement(\"div\", { className: \"collapsibleSection\" },\r\n React.createElement(\"button\", { className: \"collapsibleSection__button\", onClick: toggleCollapse },\r\n React.createElement(\"h3\", { className: \"collapsibleSection__title\" },\r\n React.createElement(\"span\", null, title),\r\n React.createElement(\"i\", { className: `fas ${isOpen ? \"fa-chevron-down\" : \"fa-chevron-up\"}` }))),\r\n React.createElement(\"div\", { className: `collapsibleSection__content ${isOpen && \"collapsibleSection__content--show\"}` }, React.cloneElement(children))));\r\n};\r\nexport default CollapsibleSection;\r\n","import React, { useCallback, ReactElement } from \"react\";\nimport Loader from 'react-loader-spinner';\nimport FormButton from 'adel-shared/dist/components/basics/FormButton';\n\ninterface ModalProps {\n\tisOpen: boolean;\n\tsetIsOpen: (value: boolean) => void;\n\ttitle: string;\n\tvalidateLabel: string;\n\tcancelLabel: string;\n onValidateChange: () => void;\n\tonCancel?: () => void;\n\tchildren: ReactElement;\n\timg?: string;\n\tisLoading?:boolean;\n}\n\nconst Modal: React.FunctionComponent = ({\n\tisOpen,\n\tsetIsOpen,\n\ttitle,\n\tvalidateLabel,\n\tcancelLabel,\n\tonValidateChange,\n\tonCancel,\n\tchildren,\n\timg = \"\",\n\tisLoading = false\n}) => { \n\t\n\treturn (<>\n\t\t{isOpen &&\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t{img !== \"\" &&\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t}\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t

{title}

\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t{ React.cloneElement(children) }\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\tonCancel && onCancel();\n\t\t\t\t\t\t\t\t\tsetIsOpen(false);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{isLoading\n\t\t\t\t\t\t\t\t? \n\t\t\t\t\t\t\t\t: onValidateChange()}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t}\n\t)\n}\n \nexport default Modal;","import React, { forwardRef, useEffect, useImperativeHandle, useState, useRef } from \"react\";\nimport InputReadOnly from 'adel-shared/dist/components/InputReadOnly';\nimport Input from 'adel-shared/dist/components/basics/Input';\nimport InputSelect, { AdelOption } from 'adel-shared/dist/components/basics/InputSelect';\nimport { normalizeDate, sortArrayAsc } from 'adel-shared/dist/utils/functions';\nimport { debounce } from 'lodash';\nimport Calendar from \"react-calendar\";\nimport { Controller, useForm } from 'react-hook-form';\nimport Moment from 'react-moment';\nimport { toast } from \"react-toastify\";\nimport { RouteComponentProps } from '@reach/router';\nimport { idFrance, inputAutocompleteDisabled, nomFrance } from '../../../../constants/config.constant';\nimport { useAxios } from '../../../../custom-hooks/useAxios';\nimport {CategorieDossier, DossierView} from '../../../../enums/Dossiers';\nimport { UpdateLieuToSend } from '../../../../models/IDossier';\nimport { AdresseClient, CreateLieuDto, GeoAdresseDto, LieuDateDto, LieuDto, PaysDto, PrestationsViewModelDto, TypePrestation } from '../../../../services/generated/FrontOffice-api';\nimport { useTranslation } from 'react-i18next';\nimport useOnClickOutside from 'use-onclickoutside';\nimport useBooleanState from \"adel-shared/dist/custom-hooks/useBooleanState\";\n\nexport interface EditLieuxDatesRef {\n\tvalidateAndSend: () => Promise;\n}\n\ninterface LieuxDatesEditionProps extends RouteComponentProps {\n\tref: any;\n\tlieuxDatesEditMode: boolean;\n\tfranceByDefault: boolean;\n\thasDisableAdresse: boolean;\n\tsetCurrentView: (value: DossierView) => void;\n\n\tsetIsFormValid: (value: boolean) => void;\n\taddNewPrestation: (value: CreateLieuDto) => void;\n\tsetModifyPrestation: (value: UpdateLieuToSend) => void;\n\n\texistingLieu: LieuDto;\n\tsetExistingLieu: (value: LieuDto) => void;\n\n\texistingDates: LieuDateDto[];\n\tsetExistingDates: (value: LieuDateDto[]) => void;\n\n\ttypeSelected: TypePrestation;\n\tsetTypeSelected: (value: TypePrestation) => void;\n\n\tisEditMode: boolean;\n\tsetIsEditMode: (value: boolean) => void;\n\n\tcategorieDossierCode: string;\n\n\tpaysOptions: AdelOption[];\n\tprestationValidator: any;\n\n\tprestationsViewModel: PrestationsViewModelDto;\n}\n\nconst LieuxDatesEdition: React.FunctionComponent = forwardRef(({\n\tfranceByDefault,\n\thasDisableAdresse,\n\tsetCurrentView,\n\tsetIsFormValid,\n\taddNewPrestation,\n\tsetModifyPrestation,\n\texistingLieu,\n\tsetExistingLieu,\n\texistingDates,\n\tsetExistingDates,\n\ttypeSelected,\n\tsetTypeSelected,\n\tcategorieDossierCode,\n\tisEditMode,\n\tsetIsEditMode,\n\tpaysOptions,\n\tprestationValidator = {},\n\tprestationsViewModel: {\n\t\ttypesPrestation,\n\t\tdateRange,\n\t\tdateMinimum\n\t}\n}, ref) => {\n\tconst { t } = useTranslation();\n\tconst axiosInstance = useAxios();\n\n\tconst [isSelectDisabled, setIsSelectDisabled] = useState(false);\n\tconst [pays, setPays] = useState(existingLieu?.pays?.id || idFrance);\n\tconst [defaultActiveStartDate, setDefaultActiveStartDate] = useState(dateMinimum && new Date(dateMinimum));\n\n\t//Validation\n\tconst {\n\t\tregister,\n\t\tgetValues,\n\t\tsetValue,\n\t\ttriggerValidation,\n\t\terrors,\n\t\tcontrol,\n\t\twatch\n\t} = useForm({\n\t\tdefaultValues: {\n\t\t\tlieu: null,\n\t\t\tjauge: null\n\t\t}\n\t});\n\n\tconst codepostal = watch('departement');\n\tconst ville = watch('ville');\n\n\tuseImperativeHandle(ref, () => ({\n\t\tasync validateAndSend(): Promise {\n\t\t\tconst result = await triggerValidation();\n\n\t\t\tif (result) {\n\t\t\t\tif (!isEditMode) {\n\t\t\t\t\taddNewPrestation({\n\t\t\t\t\t\tdepartement: getValues().departement,\n\t\t\t\t\t\tville: getValues().ville,\n\t\t\t\t\t\tpaysId: getValues().pays,\n\t\t\t\t\t\tadresse: getValues().adresse,\n\t\t\t\t\t\tadresseLabel: adresseLabel && !hasDisableAdresse ? adresseLabel : null,\n\t\t\t\t\t\tadresseId: typeSelected !== TypePrestation.Repetition ? (!adresseId && hasDisableAdresse ? null : adresseId) : null,\n\t\t\t\t\t\tnomLieu: getValues().lieu,\n\t\t\t\t\t\tdates: dates.map(d => normalizeDate(d)),\n\t\t\t\t\t\ttypePrestation: typeSelected,\n\t\t\t\t\t\tjauge: getValues().jauge,\n\t\t\t\t\t\tdescription: getValues().description\n\t\t\t\t\t});\n\t\t\t\t\tsetDates([]);\n\t\t\t\t} else {\n\t\t\t\t\tsetModifyPrestation({\n\t\t\t\t\t\tlieu: {\n\t\t\t\t\t\t\tdepartement: getValues().departement,\n\t\t\t\t\t\t\tville: getValues().ville,\n\t\t\t\t\t\t\tpaysId: getValues().pays,\n\t\t\t\t\t\t\tadresse: getValues().adresse,\n\t\t\t\t\t\t\tadresseLabel: adresseLabel && !hasDisableAdresse ? adresseLabel : null,\n\t\t\t\t\t\t\tadresseId: typeSelected !== TypePrestation.Repetition ? (!adresseId && hasDisableAdresse ? null : adresseId) : null,\n\t\t\t\t\t\t\tnomLieu: getValues().lieu,\n\t\t\t\t\t\t\tdates: existingDates.map(d => ({...d, date: normalizeDate(d.date) }) ),\n\t\t\t\t\t\t\ttypePrestation: typeSelected,\n\t\t\t\t\t\t\tjauge: getValues().jauge,\n\t\t\t\t\t\t\tdescription: getValues().description\n\t\t\t\t\t\t},\n\t\t\t\t\t\tid: existingLieu.id\n\t\t\t\t\t});\n\t\t\t\t\tsetIsEditMode(false);\n\t\t\t\t\tsetExistingDates([]);\n\t\t\t\t\tsetExistingLieu({});\n\t\t\t\t}\n\n\t\t\t\tsetTypeSelected(undefined);\n\t\t\t\tsetAdresseId(\"\");\n\t\t\t\tsetAdresseLabel(\"\");\n\t\t\t\tsetCurrentView(DossierView.List);\n\t\t\t\treturn true;\n\n\t\t\t} else { console.debug(\"form error detected\"); return false; }\n\t\t}\n\t}));\n\n\n\n\t/** Button Back Edit mode */\n\tconst goBack = () => {\n\t\tsetCurrentView(DossierView.List);\n\t\tsetTypeSelected(undefined);\n\t\tsetDates([]);\n\t\tsetDate(null);\n\t\tsetIsEditMode(false);\n\t\tsetExistingDates([]);\n\t\tsetExistingLieu({});\n\n\t\tsetAdresseId(\"\");\n\t\tsetAdresseLabel(\"\");\n\t}\n\n\n\n\t/** Dates */\n\tconst [date, setDate] = useState(null);\n\tconst [isCalendarOpen, showCalendar, closeCalendar] = useBooleanState(false);\n\tconst calendarRef = useRef();\n useOnClickOutside(calendarRef, closeCalendar);\n\n\tconst deleteDate = (date: Date) => {\n\t\tsetDates(dates.filter(d => d !== date));\n\t}\n\tconst deleteExistingDate = (date: LieuDateDto) => {\n\t\tsetExistingDates(existingDates.filter(d => d.date !== date.date));\n\t}\n\n\n\n\t/** Tableau de dates */\n\tconst [dates, setDates] = useState([]);\n\tconst handleDateChange = (date: Date) => {\n\t\tdate.setUTCMinutes(-date.getTimezoneOffset());\n\t\tif (!isEditMode) {\n\t\t\tlet array = [...dates];\n\t\t\tlet arrayTimeStamp = array.map(x => x.setHours(0,0,0,0));\n\n\t\t\tif (arrayTimeStamp.indexOf(date.setHours(0,0,0,0)) === -1) {\n\t\t\t\tarray.push(date);\n\t\t\t}\n\t\t\tsetDates(array);\n\t\t} else {\n\t\t\tlet array = [...existingDates];\n\t\t\tlet arrayTimeStamp = array.map(x => x.date.setHours(0,0,0,0));\n\n\t\t\tif (arrayTimeStamp.indexOf(date.setHours(0,0,0,0)) === -1) {\n\t\t\t\tarray.push({\n\t\t\t\t\tid: \"\",\n\t\t\t\t\tdate: date\n\t\t\t\t});\n\t\t\t}\n\t\t\tsetExistingDates(array);\n\t\t}\n\t}\n\n\n\n\t/** Select options */\n\tconst options = () => {\n\t\tconst allOptions = typesPrestation?.map(type => ({\n\t\t\tvalue: type,\n\t\t\tlabel: t(`createFolder.lieuxDates.${type}`)\n\t\t}));\n\n\t\tif (allOptions?.length === 1) {\n\t\t\tsetTypeSelected(allOptions[0].value);\n\t\t\tsetIsSelectDisabled(true);\n\t\t}\n\t\treturn allOptions;\n\t};\n\n\tuseEffect(() => {\n\t\tif ((typeSelected && (categorieDossierCode == CategorieDossier.AidePromotionImage || dates.length !== 0))\n\t\t\t|| (typeSelected && (categorieDossierCode == CategorieDossier.AidePromotionImage || existingDates.length !== 0))\n\t\t)\n\t\t\tsetIsFormValid(true)\n\t\telse\n\t\t\tsetIsFormValid(false)\n\t}, [typeSelected, dates, existingDates]);\n\n\tconst setValues = async (lieu: LieuDto) => {\n\t\tsetValue([\n\t\t\t{ \"departement\": lieu.departement },\n\t\t\t{ \"ville\": lieu.ville },\n\t\t\t{ \"pays\": lieu.pays.id },\n\t\t\t{ \"adresse\": lieu.adresse },\n\t\t\t{ \"jauge\": lieu.jauge },\n\t\t\t{ \"description\": lieu.description },\n\t\t\t{ \"lieu\": lieu.nomLieu }\n\t\t]);\n\n\t\tsetPays(lieu.pays.id);\n\t\tsetAdresseId(lieu.adresseId);\n\t\tsetAdresseLabel(lieu.adresseLabel);\n\t}\n\tuseEffect(() => {\n\t\tif (existingLieu) {\n\t\t\tif (Object.keys(existingLieu).length === 0) {\n\t\t\t\tsetValue([\n\t\t\t\t\t{ \"pays\": paysOptions && paysOptions.find(e => e.label === nomFrance)?.value }\n\t\t\t\t])\n\t\t\t} else {\n\t\t\t\tsetValues(existingLieu);\n\t\t\t}\n\t\t}\n\t}, [existingLieu]);\n\n\t/** Adresse Geolocalisation */\n\tconst [geoAdresse, setGeoAdresse] = useState([]);\n\tconst [adresseId, setAdresseId] = useState(\"\");\n\tconst [adresseLabel, setAdresseLabel] = useState(\"\");\n\n\tconst searchAdresse = (input: string) => {\n\t\tif (!!input && pays === idFrance) {\n\t\t\ttry {\n\t\t\t\tconst adresseClient = new AdresseClient('', axiosInstance);\n\t\t\t\tadresseClient.searchAdresse(`${ville} ${input}`, codepostal).then(results => {\n\t\t\t\t\tsetGeoAdresse(results);\n\t\t\t\t});\n\t\t\t\tonAdresseChange(input);\n\t\t\t}\n\t\t\tcatch (error) {\n\t\t\t\tif (error.exception?.message)\n\t\t\t\t\ttoast.error(error.exception.message);\n\t\t\t\telse\n\t\t\t\t\ttoast.error(t(\"errors.default\"));\n\t\t\t}\n\t\t} else {\n\t\t\tsetGeoAdresse([]);\n\t\t};\n\t}\n\n\tconst onPaysChange = (pays: PaysDto) => {\n\t\tif(paysOptions.find(x => x.value === pays).label !== nomFrance) {\n\t\t\tsetAdresseId(\"\");\n\t\t\tsetAdresseLabel(\"\");\n\t\t}\n\t};\n\n\tconst onVilleChange = (value: string) => {\n\t\tconst selectedAdresse = geoAdresse[0];\n\t\tif(value !== selectedAdresse?.ville) {\n\t\t\tsetAdresseId(\"\");\n\t\t\tsetAdresseLabel(\"\");\n\t\t}\n\t};\n\n\tconst onCodePostalChange = (value: string) => {\n\t\tconst selectedAdresse = geoAdresse[0];\n\t\tif(value !== selectedAdresse?.codePostal) {\n\t\t\tsetAdresseId(\"\");\n\t\t\tsetAdresseLabel(\"\");\n\t\t}\n\t};\n\n\tconst onAdresseChange = (label: string) => {\n\t\tconst geoAdresseFiltered = geoAdresse.filter(adresse => adresse.label === label);\n\n\t\tif (geoAdresseFiltered.length > 0) {\n\t\t\tconst selectedAdresse = geoAdresseFiltered[0];\n\t\t\tsetValue([\n\t\t\t\t{ \"adresse\": `${selectedAdresse.numero} ${selectedAdresse.rue}` },\n\t\t\t\t{ \"departement\": selectedAdresse.codePostal },\n\t\t\t\t{ \"ville\": selectedAdresse.ville }\n\t\t\t]);\n\t\t\tsetAdresseId(selectedAdresse.id);\n\t\t\tsetAdresseLabel(selectedAdresse.label);\n\t\t} else {\n\t\t\tsetAdresseId('');\n\t\t\tsetAdresseLabel('');\n\t\t}\n\t}\n\n\treturn (<>\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{t(\"createFolder.lieuxDates.back\")}\n\t\t\t\t\n\t\t\t
\n\t\t\t

{t(\"createFolder.lieuxDates.title\")}

\n\t\t
\n\t\t
\n\t\t\t{isSelectDisabled\n\t\t\t\t? \n\t\t\t\t: \n\t\t\t\t\tname=\"typePrestation\"\n\t\t\t\t\tlabel={`${t('createFolder.form.categorie')}*`}\n\t\t\t\t\tclassname=\"inputSelect\"\n\t\t\t\t\toptions={options()}\n\t\t\t\t\terrors={errors}\n\t\t\t\t\tonChange={(selected) => {\n\t\t\t\t\t\tsetTypeSelected(selected);\n\t\t\t\t\t}}\n\t\t\t\t\tvalue={typeSelected}\n\t\t\t\t\tplaceholder={t(\"common.select\")}\n\t\t\t\t/>\n\t\t\t}\n\t\t\t (\n\t\t\t\t\t\n\t\t\t\t\t\tname={name}\n\t\t\t\t\t\tlabel={`${t('createFolder.form.pays')}*`}\n\t\t\t\t\t\tclassname=\"inputSelect\"\n\t\t\t\t\t\toptions={paysOptions}\n\t\t\t\t\t\terrors={errors}\n\t\t\t\t\t\tonChange={(p) => {\n\t\t\t\t\t\t\tonChange(p);\n\t\t\t\t\t\t\tonPaysChange(p);\n\t\t\t\t\t\t\tsetPays(p as string);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\tisSearchable={true}\n\t\t\t\t\t\tplaceholder={t(\"common.select\")}\n\t\t\t\t\t\tisDisabled={franceByDefault}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\trules={prestationValidator && prestationValidator[\"Pays\"]}\n\t\t\t/>\n\t\t
\n\t\t{typeSelected !== TypePrestation.None && (\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t)}\n\t\t
\n\t\t\t\n\t\t\t{pays === idFrance && //TODO: pas top mais bien obligé pour détecter la France\n\t\t\t\t\n\t\t\t}\n\t\t
\n\t\t{typeSelected !== TypePrestation.Repetition && (\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t adresse.label)}\n\t\t\t\t\t\tonChange={debounce((value) => searchAdresse(value), 1000)}\n\t\t\t\t\t/>\n\t\t\t\t
\n\t\t\t
\n\t\t)}\n\t\t{typeSelected === TypePrestation.Concert &&\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t}\n\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t{date && {date}} \n\t\t\t\t\t{isCalendarOpen && // && props.typeSelected !== TypePrestation.Diffusion ou Concert ?\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\tsetDate(date);\n\t\t\t\t\t\t\t\thandleDateChange(date);\n\t\t\t\t\t\t\t\tcloseCalendar();\n\t\t\t\t\t\t\t\tsetDefaultActiveStartDate(undefined);\n\t\t\t\t\t\t\t}}\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tminDate={new Date(dateMinimum)}\n\t\t\t\t\t\t\tdefaultActiveStartDate={defaultActiveStartDate}\n\t\t\t\t\t\t\tvalue={date}\n\t\t\t\t\t\t\tlocale=\"fr-FR\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t\t{isCalendarOpen && dateRange && // && props.typeSelected !== TypePrestation.Diffusion ou Concert ?\n\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\tvar dateArray = new Array();\n\t\t\t\t\t\t\t\tvar startDate = dateRange[0];\n\t\t\t\t\t\t\t\tvar endDate = dateRange[1];\n\t\t\t\t\t\t\t\tvar date = startDate;\n\t\t\t\t\t\t\t\tfor(let i = 0; date < endDate; i++)\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tdateArray.push(new Date(date));\n\t\t\t\t\t\t\t\t\tdate.setDate(date.getDate() + 1);\n\t\t\t\t\t\t\t\t\tdate.setUTCMinutes(-date.getTimezoneOffset());\n\t\t\t\t\t\t\t\t\tdate.setHours(0,0,0,0)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tsetDates(dateArray);\n\t\t\t\t\t\t\t\tcloseCalendar();\n\t\t\t\t\t\t\t\tsetDefaultActiveStartDate(undefined);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tminDate={new Date(dateMinimum)}\n\t\t\t\t\t\t\tdefaultActiveStartDate={defaultActiveStartDate}\n\t\t\t\t\t\t\tvalue={dates.length > 2 ? [dates[0], dates[dates.length - 1]] : null}\n\t\t\t\t\t\t\tlocale=\"fr-FR\"\n\t\t\t\t\t\t\tselectRange\n\t\t\t\t\t\t\treturnValue=\"range\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t{t(\"createFolder.lieuxDates.date-added\")} \n\t\t\t{dates\n\t\t\t\t?.sort(sortArrayAsc)\n\t\t\t\t.map((date, i) => (\n\t\t\t\t\t\n\t\t\t\t\t\t{date}\n\t\t\t\t\t\t deleteDate(date)}>\n\t\t\t\t\t\t{dates.length === 1 || dates.indexOf(date) === dates.length - 1 ? '' : ', '}\n\t\t\t\t\t\n\t\t\t\t))\n\t\t\t}\n\t\t\t{existingDates\n\t\t\t\t?.sort(sortArrayAsc)\n\t\t\t\t.map((date, i) => (\n\t\t\t\t\t\n\t\t\t\t\t\t{date.date}\n\t\t\t\t\t\t deleteExistingDate(date)}>\n\t\t\t\t\t\t{existingDates.length === 1 || existingDates.indexOf(date) === existingDates.length - 1 ? '' : ', '}\n\t\t\t\t\t\n\t\t\t\t))\n\t\t\t}\n\t\t
\n\t)\n});\n\nexport default LieuxDatesEdition;\n","import React, { ReactElement } from 'react';\nimport Modal from 'react-modal';\nimport { modalSmallerCustomStyles } from \"../../constants/config.constant\";\nimport FormButton from 'adel-shared/dist/components/basics/FormButton';\n\ninterface ModalErrorInformationProps {\n\tisOpen: boolean;\n\tonCancel: () => void;\n\tchildren: ReactElement;\n\ttitle?: string;\n\tvalidateButtonLabel?: string;\n\tcancelButtonLabel?: string;\n\tisLoading?: boolean;\n}\n\nconst ModalErrorInformation: React.SFC = ({\n\tisOpen,\n\tonCancel,\n\tchildren,\n\ttitle,\n\tcancelButtonLabel,\n}) => {\n\treturn (\n\t\t
\n\t\t\t

{title ?? \"Attention\"}

\n\t\t
\n\t\t
\n\t\t\t{React.cloneElement(children)}\n\t\t
\n\t\t
\n\t\t\t onCancel()}\n\t\t\t/>\n\t\t
\n\t);\n}\n\nexport default ModalErrorInformation;","import moment from 'moment';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { LieuValidationError } from '../../../../services/generated/FrontOffice-api';\nimport ModalErrorInformation from '../../../basics/ModalErrorInformation';\n\ninterface ModalValidationLieuxDatesProps {\n\tisOpen: boolean;\n\tonCancel: () => void;\n\tisLoading?: boolean;\n\terrorsValidation: LieuValidationError[];\n}\n\nconst ModalValidationLieuxDates: React.FunctionComponent = ({\n\tisOpen,\n\tonCancel,\n\tisLoading,\n\terrorsValidation\n}) => {\n\tconst { t } = useTranslation();\n\n\treturn (\n\t\t\n\t\t\t
\n\t\t\t\t\t{errorsValidation?.map((e, i) => (\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t{e.min &&
  • {t('createFolder.lieuxDates.errors.minWithCount', {count: e.min})}
  • }\n\t\t\t\t\t\t\t{e.max &&
  • {t('createFolder.lieuxDates.errors.maxWithCount', {count: e.max})}
  • }\n\n\t\t\t\t\t\t\t{!e.types && e.maxDuration &&
  • {t('createFolder.lieuxDates.errors.maxDurationSolo', {number: e.maxDuration})}
  • }\n\t\t\t\t\t\t\t{e.types && e.maxDuration &&
  • {t('createFolder.lieuxDates.errors.maxDuration', {number: e.maxDuration})}
  • }\n\n\t\t\t\t\t\t\t{e.minPrestation && e.withDifferentPlace &&
  • { t('createFolder.lieuxDates.errors.withDifferentPlace', {number: e.minPrestation})}
  • }\n\t\t\t\t\t\t\t{e.minPrestation && !e.withDifferentPlace &&
  • {t('createFolder.lieuxDates.errors.minPrestation', {number: e.minPrestation})}
  • }\n \n\t\t\t\t\t\t\t{e.maxMonthDuration &&
  • {t('createFolder.lieuxDates.errors.maxMonthDuration', {number: e.maxMonthDuration})}
  • }\n \n\t\t\t\t\t\t\t{!e.types && e.minDate &&
  • {t('createFolder.lieuxDates.errors.minDateSolo', {date: moment(e.minDate).format('DD/MM/YYYY')})}
  • }\n\t\t\t\t\t\t\t{e.types && e.minDate &&
  • {t('createFolder.lieuxDates.errors.minDate', {date: moment(e.minDate).format('DD/MM/YYYY')})}
  • }\n\n\t\t\t\t\t\t\t{!e.types && e.maxDate &&
  • {t('createFolder.lieuxDates.errors.maxDateSolo', {date: moment(e.maxDate).format('DD/MM/YYYY')})}
  • }\n\t\t\t\t\t\t\t{e.types && e.maxDate &&
  • {t('createFolder.lieuxDates.errors.maxDate', {date: moment(e.maxDate).format('DD/MM/YYYY')})}
  • }\n\n\t\t\t\t\t\t\t{e.allRepresentationsMustBeDuringEvenement &&
  • {t('createFolder.lieuxDates.errors.allRepresentationsMustBeDuringEvenement')}
  • }\n\t\t\t\t\t\t\t{!e.withDifferentPlace && e.types?.map((type, i) => (\n\t\t\t\t\t\t\t\t
  • \n\t\t\t\t\t\t\t\t\t{t('createFolder.lieuxDates.errors.types')}\n\t\t\t\t\t\t\t\t\t{t(`createFolder.lieuxDates.${type}`)}{(e.types.length > 1 && i < (e.types.length - 1)) && ', '}\n\t\t\t\t\t\t\t\t
  • \n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t
\n\t\t\t\t\t))}\n\t\t\t
\n\t\t\n\t);\n}\n\nexport default ModalValidationLieuxDates;","import React, { useEffect, useState, forwardRef, useImperativeHandle, useRef, useCallback } from \"react\";\nimport { useTranslation } from 'react-i18next';\nimport { RouteComponentProps } from '@reach/router';\nimport { useAxios } from '../../../custom-hooks/useAxios';\nimport CollapsibleSection from 'adel-shared/dist/components/basics/CollapsibleSection';\nimport Table, { styleTable } from 'adel-shared/dist/components/basics/Table';\nimport { useTable, useSortBy } from 'react-table';\nimport FormButton from 'adel-shared/dist/components/basics/FormButton';\nimport Modal from '../../basics/Modal';\nimport { DossierClient, TypePrestation, CreateLieuDto, LieuDto, LieuDateDto, LieuxDto, LieuValidationError, PaysClient, PaysDto, StructureClient, PrestationsViewModelDto } from '../../../services/generated/FrontOffice-api';\nimport { Dictionary } from '../../../models';\nimport moment from 'moment';\nimport { UpdateLieuToSend } from '../../../models/IDossier';\nimport LieuxDatesEdition, { EditLieuxDatesRef } from './lieuxDates/LieuxDatesEdition';\nimport { toast } from \"react-toastify\";\nimport DeleteImg from \"../../../assets/img/undraw-throw-away-ldjd.png\";\nimport ModalValidationLieuxDates from './lieuxDates/ModalValidationLieuxDates';\nimport {CategorieDossier, DossierView} from '../../../enums/Dossiers';\nimport { AdelOption } from 'adel-shared/dist/components/basics/InputSelect';\nimport useValidation from '../../../custom-hooks/useValidation';\nimport { nomFrance } from '../../../constants/config.constant';\n\ninterface LieuxDatesProps extends RouteComponentProps {\n\tref: any;\n\tpath: string;\n\tdossierId: string;\n\tlieuxList: LieuxDto[];\n\tlieuxDatesEditMode: boolean;\n\tcategorieDossierCode: string;\n\tsetNewPrestation: any;\n\tsetLieuxDatesEditMode: (value: boolean) => void;\n\tsetIsFormValid: (value: boolean) => void;\n\tsetCanGoNext: (value: boolean) => void;\n\tsetIsLoading: (value: boolean) => void;\n\tisLoading: boolean;\n\tsetModifyPrestation: any;\n}\n\nconst LieuxDates: React.FunctionComponent = forwardRef((props, ref) => {\n\tconst { categorieDossierCode } = props\n\tconst { t } = useTranslation();\n\tconst axiosInstance = useAxios();\n\tconst dossierClient = new DossierClient(\"\", axiosInstance);\n\tconst paysClient = new PaysClient(\"\", axiosInstance);\n\tconst [isEditMode, setIsEditMode] = useState(false);\n\tconst [existingLieu, setExistingLieu] = useState({});\n\tconst [deleteModalOpen, setDeleteModalOpen] = useState(false);\n\tconst [deleteLieu, setDeleteLieu] = useState({});\n\n\tconst [lieuxList, setLieuxList] = useState([]);\n\tconst [modifyPrestation, setModifyPrestation] = useState({ lieu: {}, id: '' });\n\tconst [franceByDefault, setFranceByDefault] = useState(false);\n\n\tconst [errorsValidation, setErrorsValidation] = useState([]);\n\tconst [openValidation, setOpenValidation] = useState(false);\n\n\tconst { getRootValidator } = useValidation();\n\tconst prestationValidator = getRootValidator(\"CreateLieuDto\");\n\n\n\tuseEffect(() => {\n\t\tif (!props.lieuxDatesEditMode) props.setCanGoNext(true); // Si on n'est pas en mode Edition, on peut passer l'étape\n\t}, [props.lieuxDatesEditMode]);\n\n\n\t/** React table config */\n\tconst columns = React.useMemo(() => {\n\t\treturn [\n\t\t\t{\n\t\t\t\tHeader: \"Table\",\n\t\t\t\tcolumns: [\n\t\t\t\t\t{\n\t\t\t\t\t\tHeader: t(\"createFolder.form.pays\"),\n\t\t\t\t\t\taccessor: \"Pays\",\n\t\t\t\t\t\tsortType: \"basic\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tHeader: t(\"createFolder.form.ville\"),\n\t\t\t\t\t\taccessor: \"Ville\",\n\t\t\t\t\t\tsortType: \"basic\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tHeader: t(\"createFolder.form.lieuTitle\"),\n\t\t\t\t\t\taccessor: \"Lieu\",\n\t\t\t\t\t\tsortType: \"basic\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tHeader: t(\"createFolder.form.dateSpectacle\"),\n\t\t\t\t\t\taccessor: \"DateSpectacle\",\n\t\t\t\t\t\tsortType: \"basic\",\n\t\t\t\t\t\thasEllipsis: true\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tHeader: t(\"createFolder.form.description\"),\n\t\t\t\t\t\taccessor: \"Description\",\n\t\t\t\t\t\tsortType: \"basic\",\n\t\t\t\t\t\thasEllipsis: true\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tHeader: \"\",\n\t\t\t\t\t\taccessor: \"Actions\",\n\t\t\t\t\t\tdisableSortBy: true,\n\t\t\t\t\t\tCell: (value: any) => (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
editPrestation(value.cell.value)}>
\n\t\t\t\t\t\t\t\t
{setDeleteModalOpen(true); setDeleteLieu(value.cell.value); }}>
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t)\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tHeader: \"Id\",\n\t\t\t\t\t\taccessor: \"Id\"\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t];\n\t}, []);\n\t\n\tconst [dataRepresentation, setDataRepresentation] = useState>([]);\n\tconst [dataRepetition, setDataRepetition] = useState>([]);\n\tconst [dataEnregistrement, setDataEnregistrement] = useState>([]);\n\tconst [dataDiffusion, setDataDiffusion] = useState>([]);\n\tconst [dataConcert, setDataConcert] = useState>([]);\n\tconst tableRepresentation = useTable({ columns, data: dataRepresentation || [], initialState: { hiddenColumns: [\"Id\"] } }, useSortBy);\n\tconst tableRepetition = useTable({ columns, data: dataRepetition || [], initialState: { hiddenColumns: [\"Id\"] } }, useSortBy);\n\tconst tableEnregistrement = useTable({ columns, data: dataEnregistrement || [], initialState: { hiddenColumns: [\"Id\"] } }, useSortBy);\n\tconst tableDiffusion = useTable({ columns, data: dataDiffusion || [], initialState: { hiddenColumns: [\"Id\"] } }, useSortBy);\n\tconst tableConcert = useTable({ columns, data: dataConcert || [], initialState: { hiddenColumns: [\"Id\"] } }, useSortBy);\n\t/** end partie à factoriser */\n\n\tconst tableDic: Dictionary = {\n\t\t[TypePrestation.Representation]: { data: dataRepresentation, table: tableRepresentation },\n\t\t[TypePrestation.Repetition]: { data: dataRepetition, table: tableRepetition },\n\t\t[TypePrestation.Enregistrement]: { data: dataEnregistrement, table: tableEnregistrement },\n\t\t[TypePrestation.Diffusion]: { data: dataDiffusion, table: tableDiffusion },\n\t\t[TypePrestation.Concert]: { data: dataConcert, table: tableConcert },\n\t}\n\n\tconst [prestationsViewModel, setPrestationsViewModel] = useState({});\n\n\tconst getTypePrestations = async () => {\n\t\tconst result = await dossierClient.getPrestationsViewModel(props.dossierId);\n\n\t\tif(result.franceByDefault)\n\t\t\tsetFranceByDefault(true);\n\t\tsetPrestationsViewModel(result);\n\t}\n\n\tconst setPrestationsTable = (type: TypePrestation, lieux: LieuDto[]) => {\n\t\tswitch (type) {\n\t\t\tcase TypePrestation.Representation:\n\t\t\t\tsetDataRepresentation(setPrestationResult(lieux));\n\t\t\t\tbreak;\n\t\t\tcase TypePrestation.Repetition:\n\t\t\t\tsetDataRepetition(setPrestationResult(lieux));\n\t\t\t\tbreak;\n\t\t\tcase TypePrestation.Enregistrement:\n\t\t\t\tsetDataEnregistrement(setPrestationResult(lieux));\n\t\t\t\tbreak;\n\t\t\tcase TypePrestation.Diffusion:\n\t\t\t\tsetDataDiffusion(setPrestationResult(lieux));\n\t\t\t\tbreak;\n\t\t\tcase TypePrestation.Concert:\n\t\t\t\tsetDataConcert(setPrestationResult(lieux));\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\t}\n\t\n\tconst setPrestationResult = (lieux: LieuDto[]) => {\n\t\tlet result: any = [];\n\t\tlieux.length > 0 && lieux\n\t\t// Tri des dates au sein du tableau de date de l'item\n\t\t.map((item:LieuDto) => {\n\t\t\titem.dates = item.dates.map(item => {return {...item, date: new Date(item.date)}}).sort((a:any,b:any) => {\n\t\t\t\treturn (a.date - b.date);\n\t\t\t})\n\t\t\treturn item;\n\t\t})\n\t\t// Tri des dates entre les items de la table\n\t\t.sort((a:any, b:any) => {\n\t\t\treturn ((a && a.dates[0] && a.dates[0].date) - (b && b.dates[0] && b.dates[0].date));\n\t\t})\n\t\t.map(item => {\n\t\t\tresult.push({\n\t\t\t\tPays: item.pays?.nom,\n\t\t\t\tVille: item.ville,\n\t\t\t\tLieu: item.nomLieu,\n\t\t\t\tDateSpectacle: item.dates?.map(d => { return moment(d.date).format(\"DD/MM/YYYY\")}).join(', '),\n\t\t\t\tDescription: item.description,\n\t\t\t\tActions: item,\n\t\t\t\tId: item.id\n\t\t\t})\n\t\t})\n\t\treturn result;\n\t}\n\n\n\n\t/** Next step */\n\tconst lieuxDatesEditRef: React.MutableRefObject = useRef(null);\n\tconst [currentView, setCurrentView] = useState(DossierView.List);\n\n\tuseEffect(() => {\n\t\tswitch (currentView) {\n\t\t\tcase DossierView.List:\n\t\t\t\tprops.setLieuxDatesEditMode(false);\n\t\t\t\tbreak;\n\t\t\tcase DossierView.Edit:\n\t\t\t\tprops.setLieuxDatesEditMode(true);\n\t\t\t\tbreak;\n\t\t}\n\t}, [currentView]);\n\n\tuseImperativeHandle(ref, () => ({\n\t\tasync validateForm(): Promise {\n\t\t\tprops.setIsLoading(true);\n\n\t\t\tswitch (currentView) {\n\t\t\t\tcase DossierView.List:\n\t\t\t\t\t//quand on appuit sur la boutton suivant appel de Artistes/validation. Si error on reste ici\n\t\t\t\t\tsetErrorsValidation([]);\n\t\t\t\t\ttry {\n\t\t\t\t\t\tlet valid = await dossierClient.validatePrestations(props.dossierId);\n\t\t\t\t\t\tif (valid.errors && valid.errors.length > 0) {\n\t\t\t\t\t\t\tsetErrorsValidation(valid.errors);\n\t\t\t\t\t\t\tsetOpenValidation(true);\n\t\t\t\t\t\t\tprops.setIsLoading(false);\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tprops.setIsLoading(false);\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tif (error.exception?.message)\n\t\t\t\t\t\t\ttoast.error(error.exception.message);\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\ttoast.error(t(\"errors.default\"));\n\t\t\t\t\t\tprops.setIsLoading(false);\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\tcase DossierView.Edit:\n\t\t\t\t\tif (lieuxDatesEditRef && lieuxDatesEditRef.current) {\n\t\t\t\t\t\tlet result = await lieuxDatesEditRef.current.validateAndSend();\n\t\t\t\t\t\tprops.setIsLoading(false);\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t} else { \n\t\t\t\t\t\ttoast.error(\"lieuxDatesEditRef undefined. Please contact your Dev Team.\");\n\t\t\t\t\t\tprops.setIsLoading(false);\n\t\t\t\t\t}\n\t\t\t}\n\t\t\tthrow \"currentView unknown. Please contact your Dev Team.\";\n\t\t}\n\t}));\n\n\n\n\tconst [hasDisableAdresse, setHasDisableAdresse] = useState(false);\n\tuseEffect(() => {\n\t\tif (props?.categorieDossierCode === CategorieDossier.DeplacementInternational) {\n\t\t\tsetHasDisableAdresse(true);\n\t\t}\n\t}, [props.categorieDossierCode]);\n\n\n\n\t/** Get lieux */\n\tconst getPrestations = useCallback(async () => {\n\t\tlet result = await dossierClient.getLieux(props.dossierId);\n\t\tprops.setIsLoading(true);\n\t\ttry {\n\t\t\tresult.length > 0 && setLieuxList(result);\n\t\t\tprops.setIsLoading(false);\n\t\t} catch(error) {\n\t\t\tif (error.exception?.message)\n\t\t\t\ttoast.error(error.exception.message);\n\t\t\telse\n\t\t\t\ttoast.error(t(\"errors.default\"));\n\t\t\tprops.setIsLoading(false);\n\t\t}\n\t}, [dossierClient, setLieuxList]);\n\t\n\tuseEffect(() => {\n\t\tif (props.dossierId) {\n\t\t\t(async function () {\n\t\t\t\tawait fetchPays();\n\t\t\t\tawait getTypePrestations();\n\t\t\t\tawait getPrestations();\n\t\t\t})();\n\t\t}\n\t}, [props.dossierId]);\n\n\n\tuseEffect(() => {\n\t\tif(lieuxList.length === 0) {\n\t\t\tsetDataRepresentation([]);\n\t\t\tsetDataRepetition([]);\n\t\t\tsetDataEnregistrement([]);\n\t\t\tsetDataDiffusion([]);\n\t\t\tsetDataConcert([]);\n\t\t} else {\n\t\t\tlieuxList.forEach(item => {\n\t\t\t\tsetPrestationsTable(item.type, item.lieux);\n\t\t\t})\n\t\t}\n\t}, [lieuxList]);\n\n\n\t\n\t/** Get Pays Options */\n\tconst [paysOptions, setPaysOptions] = useState[]>([]);\n\tconst fetchPays = async () => {\n\t\tlet result = await paysClient.getPays();\n\t\tlet array: AdelOption[] = [];\n\t\tresult.sort((a, b) => a.nom.localeCompare(b.nom)).forEach(function (element: PaysDto) {\n\t\t\tarray.push({\n\t\t\t\tvalue: element.id,\n\t\t\t\tlabel: element.nom === \"FRANCE\" ? nomFrance : element.nom\n\t\t\t})\n\t\t});\n\t\tsetPaysOptions(array);\n\t}\n\n\n\n\t/** Add */\n\tconst addLieuDates = async (value:CreateLieuDto) => {\n\t\tprops.setIsLoading(true);\n\t\ttry {\n\t\t\tconst array = lieuxList ?? [];\n\t\t\tconst result = await dossierClient.createPrestation(props.dossierId, value);\n\t\t\tif (!array.some(x => x.type === result.typePrestation)) {\n\t\t\t\tarray.push({\n\t\t\t\t\ttype: result.typePrestation,\n\t\t\t\t\tlieux: [result]\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tfor (const idx in array) {\n\t\t\t\t\tif (result.typePrestation === array[idx].type)\n\t\t\t\t\t\tarray[idx].lieux.push(result);\n\t\t\t\t}\n\t\t\t}\n\t\t\tsetLieuxList([...array]);\n\t\t\tprops.setIsLoading(false);\n\t\t} catch (error) {\n\t\t\tif (error.exception?.message)\n\t\t\t\ttoast.error(error.exception.message);\n\t\t\telse\n\t\t\t\ttoast.error(t(\"errors.default\"));\n\t\t\tprops.setIsLoading(false);\n\t\t}\n\t}\n\n\n\n\t/** Edit */\n\tconst editLieuDates = async () => {\n\t\tprops.setIsLoading(true);\n\t\ttry {\n\t\t\tawait dossierClient.updatePrestation(modifyPrestation.id, modifyPrestation.lieu);\n\t\t\tsetLieuxList([]);\n\t\t\tawait getPrestations();\n\t\t\tsetModifyPrestation({ lieu: {}, id: '' });\n\t\t\tprops.setIsLoading(false);\n\n\t\t} catch (error) {\n\t\t\tif (error.exception?.message)\n\t\t\t\ttoast.error(error.exception.message);\n\t\t\telse\n\t\t\t\ttoast.error(t(\"errors.default\"));\n\t\t\tprops.setIsLoading(false);\n\t\t}\n\t}\n\tuseEffect(() => {\n\t\tif (modifyPrestation && Object.keys(modifyPrestation.lieu).length !== 0) {\n\t\t\t(async function() {await editLieuDates()})();\n\t\t} \n\t}, [modifyPrestation]);\n\n\n\n\t/** Edit mode setter field */\n\tconst [existingDates, setExistingDates] = useState([]);\n\tconst [typeSelected, setTypeSelected] = useState();\n\n\tconst editPrestation = (lieu: LieuDto) => {\n\t\tsetCurrentView(DossierView.Edit);\n\t\tsetIsEditMode(true);\n\t\tsetTypeSelected(lieu.typePrestation);\n\t\tsetExistingDates(lieu.dates);\n\t\tsetExistingLieu(lieu);\n\t}\n\n\n\n\t/** Delete */\n\tconst deletePrestation = async (lieu: LieuDto) => {\n\t\tprops.setIsLoading(true);\n\t\ttry {\n\t\t\tawait dossierClient.deletePrestation(lieu.id);\n\t\t\tsetLieuxList([]);\n\t\t\tsetDeleteLieu({});\n\t\t\tsetDeleteModalOpen(false);\n\n\t\t\tlet array = lieuxList;\n\t\t\tfor (let idx in array) {\n\t\t\t\tif (lieu.typePrestation === array[idx].type) {\n\t\t\t\t\tfor (let i in array[idx].lieux) {\n\t\t\t\t\t\tif (lieu.id === array[idx].lieux[i].id)\n\t\t\t\t\t\t\tarray[idx].lieux.splice(array[idx].lieux.indexOf(array[idx].lieux[i]), 1);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tsetLieuxList([...array]);\n\t\t\tprops.setIsLoading(false);\n\n\t\t\ttoast.success(t('common.delete-success'));\n\t\t} catch (error) {\n\t\t\tif (error.exception?.message)\n\t\t\t\ttoast.error(error.exception.message);\n\t\t\telse\n\t\t\t\ttoast.error(t(\"errors.default\"));\n\t\t\tprops.setIsLoading(false);\n\t\t}\n\t}\n\n\n\treturn (<>\n\t\t{!props.lieuxDatesEditMode\n\t\t\t/********************************** VIEW MODE **********************************/\n\t\t\t?
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

{props?.categorieDossierCode === CategorieDossier.Fortissimo\n\t\t\t\t\t\t\t? t(\"createFolder.lieuxDates.titleSingle\")\n\t\t\t\t\t\t\t: t(\"createFolder.lieuxDates.title\")\n\t\t\t\t\t\t}

\n\t\t\t\t\t\t

{t(\"createFolder.lieuxDates.infos\")}

\n\t\t\t\t\t
\n\t\t\t\t\t setCurrentView(DossierView.Edit) /*props.setLieuxDatesEditMode(true)*/}\n\t\t\t\t\t/>\n\t\t\t\t
\n\t\t\t\t{prestationsViewModel.typesPrestation?.map((type, i) => (\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t))}\n\t\t\t\t deletePrestation(deleteLieu)}\n\t\t\t\t\timg={DeleteImg}\n\t\t\t\t\tisLoading={props.isLoading}\n\t\t\t\t>\n\t\t\t\t\t<>{t(\"createFolder.lieuxDates.delete.content\")}\n\t\t\t\t\n\t\t\t\t{/********************************** VALIDATION **********************************/\n\t\t\t\t\t setOpenValidation(false)}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t
\n\n\t\t\t/********************************** EDIT MODE **********************************/\n\t\t\t: {\n\t\t\t\t\t(async function() {await addLieuDates(value)})();\n\t\t\t\t}}\n\t\t\t\tsetModifyPrestation={setModifyPrestation}\n\t\t\t\tprestationsViewModel={prestationsViewModel}\n\t\t\t\texistingLieu={existingLieu}\n\t\t\t\tsetExistingLieu={setExistingLieu}\n\t\t\t\texistingDates={existingDates}\n\t\t\t\tsetExistingDates={setExistingDates}\n\t\t\t\ttypeSelected={typeSelected}\n\t\t\t\tsetTypeSelected={setTypeSelected}\n\t\t\t\tisEditMode={isEditMode}\n\t\t\t\tsetIsEditMode={setIsEditMode}\n\t\t\t\tpaysOptions={paysOptions}\n\t\t\t\tprestationValidator={prestationValidator}\n\t\t\t/>\n\t\t} )\n});\n\nexport default LieuxDates;\n","import axios, {AxiosInstance, AxiosRequestConfig, AxiosResponse} from \"axios\";\nimport {Dictionary} from \"../models\";\nimport {ApiException, Civilite, BudgetDto, EnseignantDto, QualificationEnseignant, TypeContrat, StatutEnseignant, DocumentUploadInfoDto, SalarieDto, CreateOrUpdateAdresseDto, Equipements, TypesAdresses, TrajetValidationDto, UpdateDepenseDto } from \"../services/generated/FrontOffice-api\";\nimport { IFile, IFileBudget } from '../models/IFile';\nimport { CreateBudgetDto, UpdateBudgetDto } from '../models/IDossier';\n\nexport interface CreateOrUpdateResponsableDossierDto {\n civilite?: Civilite;\n nom?: string | undefined;\n prenom?: string | undefined;\n email?: string | undefined;\n telephoneFixe?: string | undefined;\n telephonePortable?: string | undefined;\n}\n\nexport interface SubmitInfosProjetAnswersDto {\n answers: Dictionary;\n}\nexport interface SubmitDescriptionProjetAnswersDto {\n answers: Dictionary;\n}\nexport interface CreateOrUpdateEnseignantDto {\n nom: string;\n prenom: string;\n ville: string;\n discipline: string;\n instrumentId?: string;\n qualification: QualificationEnseignant;\n typeContrat: TypeContrat;\n statut: StatutEnseignant;\n remunerationBruteAnnuelle: number;\n montantChargesPatronales: number;\n tarifHoraireBrut: number;\n contratEngagement: DocumentUploadInfoDto;\n}\n export interface ValidateTrajetsDto {\n versementId?: string | undefined;\n\tdocument: DocumentUploadInfoDto;\n }\nexport interface CreateSalarieDto {\n\tnom: string;\n prenom: string;\n email: string;\n\tadresse: CreateOrUpdateAdresseDto;\n\tdateNaissance: Date;\n\tdateEmbauchePrevue: Date;\n\tsalaireBrut: number;\n\tcv?: DocumentUploadInfoDto;\n\tdiplome?: DocumentUploadInfoDto;\n\tconventionCollective: string;\n\tequipements: any; // type flag Equipements\n\tautresEquipements?: string;\n\ttypesAdresses: any; // type flag TypesAdresses;\n\tautreAdresse?: CreateOrUpdateAdresseDto;\n}\n\nexport interface UpdateSalarieDto {\n\tnom: string;\n\tprenom: string;\n\tadresse: CreateOrUpdateAdresseDto;\n\tdateNaissance: Date;\n\tdateEmbauchePrevue: Date;\n\tsalaireBrut: number;\n\tcv?: DocumentUploadInfoDto;\n\tdiplome?: DocumentUploadInfoDto;\n\tconventionCollective: string;\n\tequipements: any; // type flag Equipements\n\tautresEquipements?: string;\n\ttypesAdresses: any; // type flag TypesAdresses;\n\tautreAdresse?: CreateOrUpdateAdresseDto;\n}\n\nexport interface CreateOrUpdateDonneesBancairesDto {\n iban?: string | undefined;\n bic?: string | undefined;\n banque?: string | undefined;\n adresse?: CreateOrUpdateAdresseDto;\n\trib?: DocumentUploadInfoDto;\n}\n\nexport class AdelDossierClient {\n private instance: AxiosInstance;\n private baseUrl: string;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n this.instance = instance ? instance : axios.create();\n this.baseUrl = baseUrl ? baseUrl : \"\";\n }\n\n submitInfosProjetAnswers(dossierId: string, data: SubmitInfosProjetAnswersDto, files: Dictionary) : Promise {\n let formData = new FormData();\n formData.set(\"json\", JSON.stringify(data));\n for (let key in files) {\n if (files.hasOwnProperty(key)) {\n formData.append(key, files[key]);\n }\n }\n\n let options = {\n headers: {\n \"Content-Type\": \"multipart/form-data\",\n },\n } as AxiosRequestConfig;\n\n let url = `${this.baseUrl}/api/v1/Dossier/${dossierId}/etapes/informationsProjet/answers`\n return this.instance.put(url, formData, options)\n .then((response: AxiosResponse) => {\n return this.processSubmitInfosProjetAnswers(response);\n });\n }\n\n protected processSubmitInfosProjetAnswers(response: AxiosResponse) : Promise {\n if (response.status !== 200 && response.status !== 204) {\n let headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n headers[k] = response.headers[k];\n }\n }\n }\n\n return throwException(\"An unexpected server error occurred.\", response.status, response.data, headers);\n }\n return Promise.resolve();\n\t}\n\n\t /**\n * @param body (optional)\n * @return Success\n */\n createBudget(dossierId: string | null, body: CreateBudgetDto | undefined, files: IFileBudget[]): Promise {\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/budget\";\n if (dossierId === undefined || dossierId === null)\n throw new Error(\"The parameter 'dossierId' must be defined.\");\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n\t\tlet formData = new FormData();\n formData.set(\"json\", JSON.stringify(body));\n files && files.length > 0 && files.forEach(file => {\n\t\t\tif(file) {\n\t\t\t\tformData.append(file.partName.replace(/\\./g, \"-\"), file.file);\n\t\t\t}\n\t\t});\n\n\t\tlet options_ = {\n\t\t\theaders: {\n\t\t\t\t\"Content-Type\": \"multipart/form-data\",\n\t\t\t},\n\t\t} as AxiosRequestConfig;\n\n\t\treturn this.instance.post(url_, formData, options_).then((_response: AxiosResponse) => {\n\t\t\treturn this.processCreateBudget(_response);\n\t\t});\n }\n\n protected processCreateBudget(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 201) {\n const _responseText = response.data;\n let result201: any = null;\n let resultData201 = _responseText;\n result201 = resultData201;\n return result201;\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n\t}\n\n\n\t/**\n * @param body (optional)\n * @return Success\n */\n updateBudget(dossierId: string | null, body: UpdateBudgetDto | undefined, files: IFileBudget[]): Promise {\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/budget\";\n if (dossierId === undefined || dossierId === null)\n throw new Error(\"The parameter 'dossierId' must be defined.\");\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let formData = new FormData();\n formData.set(\"json\", JSON.stringify(body));\n files && files.length > 0 && files.forEach(file => {\n\t\t\tif(file && file.file) {\n\t\t\t\tformData.append(file.partName.replace(/\\./g, \"-\"), file.file);\n\t\t\t}\n\t\t});\n\n\t\tlet options_ = {\n\t\t\theaders: {\n\t\t\t\t\"Content-Type\": \"multipart/form-data\",\n\t\t\t},\n\t\t} as AxiosRequestConfig;\n\n return this.instance.put(url_, formData, options_).then((_response: AxiosResponse) => {\n return this.processUpdateBudget(_response);\n });\n }\n\n protected processUpdateBudget(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = resultData200;\n return result200;\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n\n\t/**\n * @param body (optional)\n * @return Success\n */\n submitDescriptionProjetAnswers(dossierId: string | null, body: SubmitDescriptionProjetAnswersDto | undefined, files: Dictionary): Promise {\n\t\tlet formData = new FormData();\n formData.set(\"json\", JSON.stringify(body));\n for (let key in files) {\n if (files.hasOwnProperty(key)) {\n formData.append(key, files[key]);\n }\n }\n\n let options = {\n headers: {\n \"Content-Type\": \"multipart/form-data\",\n },\n } as AxiosRequestConfig;\n\n let url = `${this.baseUrl}/api/v1/Dossier/${dossierId}/etapes/descriptionProjet/answers`\n return this.instance.post(url, formData, options)\n .then((response: AxiosResponse) => {\n return this.processSubmitDescriptionProjetAnswers(response);\n });\n\t}\n\n protected processSubmitDescriptionProjetAnswers(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 204) {\n const _responseText = response.data;\n return Promise.resolve(null);\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = resultData400;\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * @param body (optional)\n * @return Success\n */\n createEnseignant(dossierId: string | null, body: EnseignantDto | undefined, files: Dictionary): Promise {\n let formData = new FormData();\n formData.set(\"json\", JSON.stringify(body));\n appendFileDictionary(formData, files);\n\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/enseignant\";\n if (dossierId === undefined || dossierId === null)\n throw new Error(\"The parameter 'dossierId' must be defined.\");\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = {\n headers: {\n \"Content-Type\": \"multipart/form-data\",\n },\n };\n\n return this.instance.post(url_, formData, options_).then((_response: AxiosResponse) => {\n return this.processCreateEnseignant(_response);\n });\n }\n\n protected processCreateEnseignant(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 201) {\n const _responseText = response.data;\n let result201: any = null;\n let resultData201 = _responseText;\n result201 = resultData201;\n return result201;\n } else if (status === 404) {\n const _responseText = response.data;\n let result404: any = null;\n let resultData404 = _responseText;\n result404 = resultData404;\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n /**\n * @param body (optional)\n * @return Success\n */\n updateEnseignant(dossierId: string | null, enseignantId: string | null, body: EnseignantDto | undefined, files: Dictionary): Promise {\n let formData = new FormData();\n formData.set(\"json\", JSON.stringify(body));\n appendFileDictionary(formData, files);\n\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/enseignant/{enseignantId}\";\n if (dossierId === undefined || dossierId === null)\n throw new Error(\"The parameter 'dossierId' must be defined.\");\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\n if (enseignantId === undefined || enseignantId === null)\n throw new Error(\"The parameter 'enseignantId' must be defined.\");\n url_ = url_.replace(\"{enseignantId}\", encodeURIComponent(\"\" + enseignantId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = {\n headers: {\n \"Content-Type\": \"multipart/form-data\",\n }\n };\n\n return this.instance.put(url_, formData, options_).then((_response: AxiosResponse) => {\n return this.processUpdateEnseignant(_response);\n });\n }\n\n protected processUpdateEnseignant(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = resultData200;\n return result200;\n } else if (status === 404) {\n const _responseText = response.data;\n let result404: any = null;\n let resultData404 = _responseText;\n result404 = resultData404;\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n\t/**\n * @param body (optional)\n * @return Success\n */\n createSalarie(dossierId: string | null, body: CreateSalarieDto | undefined, files: Dictionary): Promise {\n\t\tlet formData = new FormData();\n formData.set(\"json\", JSON.stringify(body));\n appendFileDictionary(formData, files);\n\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/salarie\";\n if (dossierId === undefined || dossierId === null)\n throw new Error(\"The parameter 'dossierId' must be defined.\");\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = {\n headers: {\n \"Content-Type\": \"multipart/form-data\",\n },\n\t\t};\n\n return this.instance.post(url_, formData, options_).then((_response: AxiosResponse) => {\n return this.processCreateSalarie(_response);\n });\n }\n\n protected processCreateSalarie(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = resultData200;\n return result200;\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n\t}\n\n\t/**\n * @param body (optional)\n * @return Success\n */\n updateSalarie(salarieId: string | null, body: UpdateSalarieDto | undefined, files: Dictionary): Promise {\n let url_ = this.baseUrl + \"/api/v1/Dossier/salarie/{salarieId}\";\n let formData = new FormData();\n formData.set(\"json\", JSON.stringify(body));\n appendFileDictionary(formData, files);\n\n if (salarieId === undefined || salarieId === null)\n throw new Error(\"The parameter 'salarieId' must be defined.\");\n url_ = url_.replace(\"{salarieId}\", encodeURIComponent(\"\" + salarieId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_ = {\n headers: {\n \"Content-Type\": \"multipart/form-data\",\n },\n\t\t};\n\n return this.instance.put(url_, formData, options_).then((_response: AxiosResponse) => {\n return this.processUpdateSalarie(_response);\n });\n }\n\n protected processUpdateSalarie(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = resultData200;\n return result200;\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n\t}\n\n\t/**\n * @param versementId (optional)\n * @param body (optional)\n * @return Success\n */\n validateTrajets(dossierId: string | null, body: ValidateTrajetsDto | undefined, files: Dictionary): Promise {\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/trajets/validation\";\n if (dossierId === undefined || dossierId === null)\n\t\t\tthrow new Error(\"The parameter 'dossierId' must be defined.\");\n\n const formData = new FormData();\n formData.set(\"json\", JSON.stringify(body));\n appendFileDictionary(formData, files);\n\n\t\turl_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\n\t\turl_ = url_.replace(/[?&]$/, \"\");\n\n\n let options_ = {\n headers: {\n \"Content-Type\": \"multipart/form-data\",\n },\n\t\t};\n\n return this.instance.post(url_, formData, options_).then((_response: AxiosResponse) => {\n return this.processValidateTrajets(_response);\n });\n }\n\n protected processValidateTrajets(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = resultData200;\n return result200;\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n\n\n\t/****/\n\n\n\t/**\n * @param depensesSpecifiques (optional)\n * @param depenses (optional)\n * @param documents (optional)\n * @return Success\n */\n\t createOrUpdateDepenses(dossierId: string | null,\n\t\t\t\t\t\t\tdepensesSpecifiques: UpdateDepenseDto[] | null | undefined,\n\t\t\t\t\t\t\tdepenses: UpdateDepenseDto[] | null | undefined,\n\t\t\t\t\t\t\tdocuments: Dictionary | null | undefined)\n\t\t: Promise {\n\t\tlet url_ = this.baseUrl + \"/api/v1/Versement/dossier/{dossierId}/versement/contratscachets/depenses\";\n if (dossierId === undefined || dossierId === null)\n throw new Error(\"The parameter 'dossierId' must be defined.\");\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n\t\tconst formData = new FormData();\n if (depensesSpecifiques !== null && depensesSpecifiques !== undefined)\n\t\t\tformData.set(\"json\", JSON.stringify({depensesSpecifiques: depensesSpecifiques}))\n if (depenses !== null && depenses !== undefined)\n\t\t\tformData.set(\"json\", JSON.stringify({depenses: depenses}))\n\n\t\tappendFileDictionary(formData, documents);\n\n let options_ = {\n headers: {\n \"Content-Type\": \"multipart/form-data\",\n },\n\t\t};\n\n return this.instance.post(url_, formData, options_).then((_response: AxiosResponse) => {\n return this.processCreateOrUpdateDepenses(_response);\n });\n }\n\n protected processCreateOrUpdateDepenses(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 201) {\n const _responseText = response.data;\n let result201: any = null;\n let resultData201 = _responseText;\n result201 = resultData201;\n return result201;\n } else if (status === 404) {\n const _responseText = response.data;\n let result404: any = null;\n let resultData404 = _responseText;\n result404 = resultData404;\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n\n\n\t/** Données bancaires */\n\tcreateOrUpdateDonneesBancaires(body: CreateOrUpdateDonneesBancairesDto | undefined , documents?: Dictionary | undefined): Promise {\n let url_ = this.baseUrl + \"/api/v1/Structure/donneesBancaires\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const formData = new FormData();\n formData.set(\"json\", JSON.stringify(body));\n\n\t\tappendFileDictionary(formData, documents);\n\n let options_ = {\n headers: {\n \"Content-Type\": \"multipart/form-data\",\n },\n\t\t};\n\n return this.instance.put(url_, formData, options_).then((_response: AxiosResponse) => {\n return this.processCreateOrUpdateDonneesBancaires(_response);\n });\n }\n\n protected processCreateOrUpdateDonneesBancaires(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (let k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null);\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null);\n }\n}\n\nconst appendFileDictionary = (formData: FormData, files: Dictionary) => {\n for (let key in files) {\n if (files.hasOwnProperty(key)) {\n formData.append(key, files[key]);\n }\n }\n}\n\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): any {\n if (result !== null && result !== undefined)\n throw result;\n else\n throw new ApiException(message, status, response, headers, null);\n}\n","import Input from 'adel-shared/dist/components/basics/Input';\nimport InputSelect, { AdelOption } from 'adel-shared/dist/components/basics/InputSelect';\nimport React, { ForwardRefExoticComponent, PropsWithoutRef, RefAttributes, forwardRef, useCallback, useEffect, useImperativeHandle, useMemo, useState } from 'react';\nimport { Controller, ErrorMessage, useForm } from 'react-hook-form';\nimport { useTranslation } from 'react-i18next';\nimport { toast } from 'react-toastify';\nimport { AdelDossierClient } from '../../../../clients/AdelDossierClient';\nimport { useAxios } from '../../../../custom-hooks/useAxios';\nimport useValidation from '../../../../custom-hooks/useValidation';\nimport { Dictionary } from '../../../../models';\nimport { DisciplineDto, DocumentUploadInfoDto, DossierClient, EnseignantDto, QualificationEnseignant, StatutEnseignant, TypeContrat } from '../../../../services/generated/FrontOffice-api';\nimport { EnseignantFormMode } from '../Enseignants';\n\nexport interface EditEnseignantRef {\n\tvalidateAndSend: () => Promise;\n}\n\ninterface EditEnseignantProps {\n\tdossierId: string;\n\tcloseView: () => void;\n\tsetIsFormValid: (value: boolean) => void;\n\texistingEnseignant: EnseignantDto;\n\tcurrentFormMode: EnseignantFormMode | undefined;\n}\n\ninterface CreateOrUpdateEnseignantModel {\n\tnom: string;\n\tprenom: string;\n\tville: string;\n\tdiscipline: string[];\n\tinstrument?: string;\n\tqualification: QualificationEnseignant;\n\ttypeContrat: TypeContrat;\n\tstatut: StatutEnseignant;\n\tremunerationBruteAnnuelle: string;\n\tmontantChargesPatronales: string;\n\ttarifHoraireBrut: string;\n\tcontratEngagement: DocumentUploadInfoDto;\n\totherDiscipline?: string;\n}\n\nconst CONTRAT_ENGAGEMENT_NAME = \"contratEngagement\";\n\nconst EditEnseignant: ForwardRefExoticComponent & RefAttributes> = forwardRef((props, ref) => {\n\tconst { t, i18n } = useTranslation();\n\n\tconst axiosInstance = useAxios();\n\tconst dossierClient = useMemo(() => { return new DossierClient(\"\", axiosInstance) }, [axiosInstance]);\n\tconst adelDossierClient = useMemo(() => { return new AdelDossierClient(\"\", axiosInstance) }, [axiosInstance]);\n\n\tconst [disciplineOptions, setDisciplineOptions] = useState[]>([]);\n\tconst [instrumentOptions, setInstrumentOptions] = useState[]>([]);\n\tconst [showInstrument, setShowInstrument] = useState(false);\n\tconst [showOtherDiscipline, setShowOtherDiscipline] = useState(false);\n\n\tconst [file, setFile] = useState();\n\tconst [fileWasModified, setFileWasModified] = useState(false);\n\n\tconst { register, getValues, setValue, control, triggerValidation, errors } = useForm({\n\t\tdefaultValues: {\n\t\t\tinstrument: props.existingEnseignant?.instrument?.id,\n\t\t\totherDiscipline: props.existingEnseignant?.otherDiscipline\n\t\t}\n\t});\n\tconst { getRootValidator } = useValidation();\n\tconst enseignantValidator = getRootValidator(\"CreateEnseignantDto\");\n\n\tconst contratOptions: AdelOption[] = useMemo(() => {\n\t\tlet allOptions: AdelOption[] = [];\n\n\t\tfor (let contrat in TypeContrat) {\n\t\t\tif (contrat !== \"None\") {\n\t\t\t\tallOptions.push(\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: TypeContrat[contrat as keyof typeof TypeContrat],\n\t\t\t\t\t\tlabel: t(`common.contrat.${TypeContrat[contrat as keyof typeof TypeContrat]}`)\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t}\n\t\t}\n\t\treturn allOptions;\n\t}, []);\n\n\tconst statutOptions: AdelOption[] = useMemo(() => {\n\t\tlet allOptions: AdelOption[] = [];\n\n\t\tfor (let statut in StatutEnseignant) {\n\t\t\tif (statut !== \"None\") {\n\t\t\t\tallOptions.push(\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: StatutEnseignant[statut as keyof typeof StatutEnseignant],\n\t\t\t\t\t\tlabel: t(`common.statut.${StatutEnseignant[statut as keyof typeof StatutEnseignant]}`)\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t}\n\t\t}\n\t\treturn allOptions;\n\t}, []);\n\n\tconst qualificationOptions: AdelOption[] = useMemo(() => {\n\n\t\tlet allOptions: AdelOption[] = [];\n\n\t\tfor (let statut in QualificationEnseignant) {\n\t\t\tif (statut !== \"None\") {\n\t\t\t\tallOptions.push(\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: QualificationEnseignant[statut as keyof typeof QualificationEnseignant],\n\t\t\t\t\t\tlabel: t(`common.qualification.${QualificationEnseignant[statut as keyof typeof QualificationEnseignant]}`)\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t}\n\t\t}\n\t\treturn allOptions;\n\t}, []);\n\n\n\n\t/** Disciplines */\n\tconst [disciplines, setDisciplines] = useState([]);\n\n\tconst setDisciplinesValue = useCallback((value:any) => { // value: AdelOption[]\n\t\tconst result = (value as any[])?.map(o => o.value) ?? [];\n\t\tsetDisciplines(result);\n\t}, [setDisciplines]);\n\n\tconst getOptionForDisciplinesValue = useCallback((value: any): any => {\n return disciplineOptions.find(o => o.value == value.id);\n\t}, [disciplineOptions]);\n\n\n\n\tconst initializeView = async (): Promise => {\n\t\tlet vm = await dossierClient.getEnseignantsViewModel(props.dossierId);\n\t\tsetDisciplineOptions(vm.disciplines.map(discipline => {\n\t\t\treturn { label: discipline.text[i18n.language], value: discipline.id };\n\t\t}));\n\t\tsetInstrumentOptions(vm.instruments.map(instrument => {\n\t\t\treturn { label: instrument.intitule[i18n.language], value: instrument.id };\n\t\t}));\n\t}\n\n\tconst initFormValues = (existingEnseignant: EnseignantDto, currentFormMode: EnseignantFormMode) => {\n\t\tObject.entries(existingEnseignant).forEach(([key, value]) => {\n\t\t\tif (currentFormMode === EnseignantFormMode.Duplication && key === \"id\") return;\n\t\t\tif (currentFormMode === EnseignantFormMode.Duplication && key === \"nom\") return;\n\t\t\tif (currentFormMode === EnseignantFormMode.Duplication && key === \"prenom\") return;\n\t\t\tif (currentFormMode === EnseignantFormMode.Duplication && key === \"contratEngagement\") return;\n\t\t\tif (key === \"contratEngagement\") {\n\t\t\t\t// Set dummy file to make it looks like file is already set\n\t\t\t\tsetFile({ name: props.existingEnseignant.contratEngagement.fileName } as File);\n\t\t\t}\n\t\t\tsetValue(key, value);\n\t\t\tif (key === \"disciplines\") {\n\t\t\t\tlet array:string[] = [];\n\t\t\t\texistingEnseignant.disciplines.map((e: DisciplineDto) => {\n\t\t\t\t\tarray.push(e.id)\n\t\t\t\t})\n\t\t\t\tsetDisciplines(array);\n\t\t\t\tsetValue(key, existingEnseignant.disciplines.map(getOptionForDisciplinesValue));\n\t\t\t}\n\t\t});\n\n\t}\n\n\n\n\tuseEffect(() => {\n\t\tif (disciplines.find(d => d === \"autre\")) {\n\t\t\tsetShowOtherDiscipline(true);\n\t\t} else {\n\t\t\tsetShowOtherDiscipline(false);\n\t\t}\n\n\t\tif (disciplines.find(d => d === \"instrumentale\")) {\n\t\t\tsetShowInstrument(true);\n\t\t} else {\n\t\t\tsetShowInstrument(false);\n\t\t}\n\t}, [disciplines, setShowOtherDiscipline, setShowInstrument])\n\n\n\n\tuseEffect(() => {\n\t\tif (props.setIsFormValid && props.currentFormMode !== undefined && (props.currentFormMode as EnseignantFormMode === EnseignantFormMode.Creation as EnseignantFormMode) || props.existingEnseignant) { // Either this is \"Creation Mode\", either is it \"Duplication or Edition\" and a \"existingEnseignant\" is filled\n\t\t\tprops.setIsFormValid(true);\n\t\t\t(async function () {\n\t\t\t\tawait initializeView();\n\t\t\t})()\n\t\t}\n\t}, [props.setIsFormValid, props.currentFormMode])\n\n\tuseEffect(() => {\n\t\tif (props.currentFormMode !== undefined && (props.currentFormMode as EnseignantFormMode !== EnseignantFormMode.Creation as EnseignantFormMode) && disciplineOptions.length > 0 && instrumentOptions.length > 0 && props.existingEnseignant) {\n\t\t\tinitFormValues(props.existingEnseignant, props.currentFormMode);\n\t\t}\n\t}, [props.existingEnseignant, props.currentFormMode, disciplineOptions, instrumentOptions])\n\n\n\n\tuseImperativeHandle(ref, () => ({\n\t\tasync validateAndSend(): Promise {\n\t\t\tlet isValid = await triggerValidation();\n\t\t\tif (isValid) {\n\t\t\t\ttry {\n\t\t\t\t\tlet model = getValues();\n\t\t\t\t\tlet createOrUpdateEnseignantDto = {\n\t\t\t\t\t\tnom: model.nom,\n\t\t\t\t\t\tprenom: model.prenom,\n\t\t\t\t\t\tville: model.ville,\n\t\t\t\t\t\tdisciplines: disciplines,\n\t\t\t\t\t\totherDiscipline: model.otherDiscipline,\n\t\t\t\t\t\tinstrumentId: model.instrument && model.instrument,\n\t\t\t\t\t\tqualification: model.qualification,\n\t\t\t\t\t\ttypeContrat: model.typeContrat,\n\t\t\t\t\t\tstatut: model.statut,\n\t\t\t\t\t\tremunerationBruteAnnuelle: parseFloat(model.remunerationBruteAnnuelle as string),\n\t\t\t\t\t\tmontantChargesPatronales: parseFloat(model.montantChargesPatronales as string),\n\t\t\t\t\t\ttarifHoraireBrut: parseFloat(model.tarifHoraireBrut as string),\n\t\t\t\t\t\tcontratEngagement: model.contratEngagement\n\t\t\t\t\t} as EnseignantDto;\n\t\t\t\t\tlet contratEngagementFile: Dictionary = { [CONTRAT_ENGAGEMENT_NAME]: file };\n\t\t\t\t\tif (props.currentFormMode === EnseignantFormMode.Edition) {\n\t\t\t\t\t\t// Update\n\t\t\t\t\t\tif (!fileWasModified) {\n\t\t\t\t\t\t\t// Strip everything except id if file was not modified\n\t\t\t\t\t\t\tcreateOrUpdateEnseignantDto = { ...createOrUpdateEnseignantDto, contratEngagement: { id: createOrUpdateEnseignantDto.contratEngagement.id } };\n\t\t\t\t\t\t\tcontratEngagementFile = {};\n\t\t\t\t\t\t}\n\t\t\t\t\t\tawait adelDossierClient.updateEnseignant(props.dossierId, props.existingEnseignant.id, createOrUpdateEnseignantDto, contratEngagementFile);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Creation or Duplication\n\t\t\t\t\t\tawait adelDossierClient.createEnseignant(props.dossierId, createOrUpdateEnseignantDto, contratEngagementFile);\n\t\t\t\t\t}\n\t\t\t\t\tprops.closeView();\n\t\t\t\t\treturn true;\n\t\t\t\t} catch (error) {\n\t\t\t\t\tif (error.exception?.message)\n\t\t\t\t\t\ttoast.error(error.exception.message);\n\t\t\t\t\telse\n\t\t\t\t\t\ttoast.error(t(\"errors.default\"));\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\ttoast.error(t('common.validation-error.message'));\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}));\n\n\tconst downloadFile = () => {\n\t\tif (props.existingEnseignant && props.existingEnseignant.contratEngagement && props.existingEnseignant.contratEngagement.uri) {\n\t\t\twindow.open(props.existingEnseignant.contratEngagement.uri);\n\t\t}\n\t}\n\n\tconst handleFileChange = (value: React.ChangeEvent) => {\n\t\tif (value.target.files.length !== 0) {\n\t\t\tif (value.target.files[0].name !== \"\") {\n\t\t\t\tvar selectedFile = value.target.files[0];\n\t\t\t\tsetFile(selectedFile);\n\t\t\t\tsetFileWasModified(true);\n\t\t\t\tsetValue(CONTRAT_ENGAGEMENT_NAME, { partName: CONTRAT_ENGAGEMENT_NAME } as DocumentUploadInfoDto);\n\t\t\t} else {\n\t\t\t\tresetFile();\n\t\t\t}\n\t\t}\n\t};\n\n\tconst resetFile = () => {\n\t\tsetFile(undefined);\n\t\tsetValue(CONTRAT_ENGAGEMENT_NAME, undefined);\n\t}\n\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t
props.closeView()}>\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t{t(\"createFolder.enseignants.back\")}\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t

{t(\"createFolder.enseignants.add\")}

\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t
\n\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\n\t\t\t\t
\n\t\t\t\t\t{enseignantValidator && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tname={name}\n\t\t\t\t\t\t\t\tlabel={t('createFolder.enseignants.listColumns.discipline')}\n\t\t\t\t\t\t\t\tclassname=\"inputSelect inputSelect--multi\"\n\t\t\t\t\t\t\t\toptions={disciplineOptions}\n\t\t\t\t\t\t\t\terrors={errors}\n\t\t\t\t\t\t\t\tisMulti={true}\n\t\t\t\t\t\t\t\tonChange={(selectedDiscipline) => {\n\t\t\t\t\t\t\t\t\tonChange(selectedDiscipline);\n\t\t\t\t\t\t\t\t\tsetDisciplinesValue(selectedDiscipline);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\t\t\tplaceholder={t(\"common.select\")}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t/>}\n\n\t\t\t\t\t{showInstrument &&\n\n\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tname={name}\n\t\t\t\t\t\t\t\t\tlabel={t('createFolder.enseignants.listColumns.instrument')}\n\t\t\t\t\t\t\t\t\tclassname=\"inputSelect\"\n\t\t\t\t\t\t\t\t\toptions={instrumentOptions}\n\t\t\t\t\t\t\t\t\terrors={errors}\n\t\t\t\t\t\t\t\t\tonChange={(selectedInstrument) => {\n\t\t\t\t\t\t\t\t\t\tonChange(selectedInstrument);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\t\t\t\tplaceholder={t(\"common.select\")}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)} />\n\t\t\t\t\t\t}\n\t\t\t\t
\n\n\t\t\t\t{showOtherDiscipline &&\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t}\n\t\t\t\t
\n\t\t\t\t\t{enseignantValidator && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tname={name}\n\t\t\t\t\t\t\t\tlabel={t('createFolder.enseignants.listColumns.qualification')}\n\t\t\t\t\t\t\t\tclassname=\"inputSelect\"\n\t\t\t\t\t\t\t\toptions={qualificationOptions}\n\t\t\t\t\t\t\t\terrors={errors}\n\t\t\t\t\t\t\t\tonChange={(selectedQualification) => {\n\t\t\t\t\t\t\t\t\tonChange(selectedQualification);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\t\t\tplaceholder={t(\"common.select\")}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)} />}\n\t\t\t\t\t{enseignantValidator && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tname={name}\n\t\t\t\t\t\t\t\tlabel={t('createFolder.enseignants.listColumns.typeContrat')}\n\t\t\t\t\t\t\t\tclassname=\"inputSelect\"\n\t\t\t\t\t\t\t\toptions={contratOptions}\n\t\t\t\t\t\t\t\terrors={errors}\n\t\t\t\t\t\t\t\tonChange={(selectedContrat) => {\n\t\t\t\t\t\t\t\t\tonChange(selectedContrat);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\t\t\tplaceholder={t(\"common.select\")}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)} />}\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t{enseignantValidator && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tname={name}\n\t\t\t\t\t\t\t\tlabel={t('createFolder.enseignants.listColumns.statut')}\n\t\t\t\t\t\t\t\tclassname=\"inputSelect\"\n\t\t\t\t\t\t\t\toptions={statutOptions}\n\t\t\t\t\t\t\t\terrors={errors}\n\t\t\t\t\t\t\t\tonChange={(selectedStatut) => {\n\t\t\t\t\t\t\t\t\tonChange(selectedStatut);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\t\t\tplaceholder={t(\"common.select\")}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)} />}\n\n\t\t\t\t\t\n\t\t\t\t
\n\n\t\t\t\t
\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t
\n\n\t\t\t\t (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t downloadFile()}>{file ? file.name : \"\"}\n\t\t\t\t\t\t\t\t\t\t resetFile()}>\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t{errors &&\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{({ message }) =>

{message}

}\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t}\n\t\t\t\t\t)} />\n\t\t\t
\n\t\t
\n\t)\n})\n\nexport default EditEnseignant;","import React, { useState, useEffect, ForwardRefExoticComponent, PropsWithoutRef, RefAttributes, forwardRef, useMemo, useRef, useImperativeHandle } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { RouteComponentProps } from \"@reach/router\";\nimport EditEnseignant, { EditEnseignantRef } from \"./enseignants/EditEnseignant\";\nimport EnseignantList from \"./enseignants/EnseignantList\";\nimport ModalValidationEnseignants from \"./enseignants/ModalValidationEnseignants\";\nimport { StepRef } from '../CreationDossier';\nimport _ from 'lodash';\nimport { useAxios } from '../../../custom-hooks/useAxios';\nimport { DossierClient, EnseignantDto, EnseignantValidationErrorDto } from '../../../services/generated/FrontOffice-api';\nimport { toast } from 'react-toastify';\n\nenum View {\n List = \"List\",\n Edit = \"Edit\"\n}\n\nexport enum EnseignantFormMode {\n Creation,\n Duplication,\n Edition\n}\n\ninterface EnseignantsProps extends RouteComponentProps {\n dossierId: string;\n setCanGoNext: (value: boolean) => void;\n setEditMode: (value: boolean) => void;\n setIsFormValid: (value: boolean) => void;\n setIsLoading: (value: boolean) => void;\n}\n\nconst Enseignants: ForwardRefExoticComponent & RefAttributes> = forwardRef((props, ref) => {\n const { t } = useTranslation();\n\n const axiosInstance = useAxios();\n const dossierClient = useMemo(() => { return new DossierClient(\"\", axiosInstance) }, [axiosInstance]);\n\n const [currentView, setCurrentView] = useState(View.List);\n const [currentFormMode, setCurrentFormMode] = useState(EnseignantFormMode.Creation)\n\n const [enseignants, setEnseignants] = useState([]);\n const [existingEnseignant, setExistingEnseignant] = useState()\n const [page, setPage] = useState(1);\n\tconst [pageSize, setPageSize] = useState(1000);\n\t\n\tconst [modalValidationIsOpen, setModalValidationIsOpen] = useState(false);\n\tconst [errorsValidation, setErrorsValidation] = useState([]);\n\n useEffect(() => {\n props.setCanGoNext(true);\n }, [])\n\n\n const tryGetEnseignants = async (): Promise => {\n try {\n let result = await dossierClient.getEnseignants(props.dossierId, page, pageSize)\n setEnseignants(result.items);\n return result.items;\n } catch (error) {\n\t\t\tif (error.exception?.message)\n\t\t\t\ttoast.error(error.exception.message);\n console.error(error);\n }\n }\n\n useEffect(() => {\n switch (currentView) {\n case View.List:\n props.setEditMode(false);\n (async () => {\n await tryGetEnseignants();\n })()\n break;\n case View.Edit:\n props.setEditMode(true);\n break;\n }\n }, [currentView]);\n\n const editEnseignantRef: React.MutableRefObject = useRef(null);\n\n useImperativeHandle(ref, () => ({\n async validateForm(): Promise {\n props.setIsLoading(true);\n\n switch (currentView) {\n case View.List:\t\t\t\t\t\n\t\t\t\t\t\tprops.setIsLoading(false);\n\t\t\t\t\t\treturn true;\n case View.Edit:\n if (editEnseignantRef && editEnseignantRef.current) {\n let result = await editEnseignantRef.current.validateAndSend();\n props.setIsLoading(false);\n return result;\n } else {\n console.error(\"editEnseignantRef undefined. Please contact your Dev Team.\");\n }\n }\n throw \"currentView unknown. Please contact your Dev Team.\";\n }\n }));\n\n const duplicateEnseignant = async (id: string) => {\n let enseignants = await tryGetEnseignants(); // Workaround car le state `enseignants` est vide durant la première duplication...\n if (enseignants.length <= 0) { toast.error(`Trying to duplicate enseigant id [${id}] but enseignants.length <= 0`); return; }\n let enseignantToDuplicate = enseignants.filter(enseignant => { return enseignant.id === id })[0];\n setExistingEnseignant(enseignantToDuplicate);\n setCurrentFormMode(EnseignantFormMode.Duplication);\n setCurrentView(View.Edit);\n }\n\n const editEnseignant = async (id: string) => {\n let enseignants = await tryGetEnseignants(); // Workaround car le state `enseignants` est vide durant la première duplication...\n if (enseignants.length <= 0) { toast.error(`Trying to edit enseigant id [${id}] but enseignants.length <= 0`); return; }\n let enseignantToEdit = enseignants.filter(enseignant => { return enseignant.id === id })[0];\n setExistingEnseignant(enseignantToEdit);\n setCurrentFormMode(EnseignantFormMode.Edition);\n setCurrentView(View.Edit);\n }\n\n const deleteEnseignant = async (enseignantId: string) => {\n props.setIsLoading(true);\n try {\n await dossierClient.deleteEnseignant(props.dossierId, enseignantId);\n } catch (error) {\n\t\t\tif (error.exception?.message)\n\t\t\t\ttoast.error(error.exception.message);\n\t\t\telse\n\t\t\t\ttoast.error(t(\"errors.default\"));\n }\n await tryGetEnseignants();\n props.setIsLoading(false);\n }\n\n const renderSwitchView = () => {\n switch (currentView) {\n case View.List:\n return <>\n\t\t\t\t\t {\n\t\t\t\t\t\t\tsetCurrentView(View.Edit);\n\t\t\t\t\t\t\tsetCurrentFormMode(EnseignantFormMode.Creation);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tduplicateEnseignant={duplicateEnseignant}\n\t\t\t\t\t\teditEnseignant={editEnseignant}\n\t\t\t\t\t\tdeleteEnseignant={deleteEnseignant}\n\t\t\t\t\t/>\n\t\t\t\t\t setModalValidationIsOpen(false)}\n\t\t\t\t\t\terrorsValidation={errorsValidation}\n\t\t\t\t\t/>\n\t\t\t\t\n case View.Edit:\n return {\n setCurrentView(View.List);\n setCurrentFormMode(EnseignantFormMode.Creation)\n }}\n existingEnseignant={existingEnseignant}\n currentFormMode={currentFormMode}\n />\n }\n }\n\n return (<>{renderSwitchView()});\n})\n\nexport default Enseignants;","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport ModalValidateCancel from '../../../basics/ModalValidateCancel';\n\ninterface ModalDeleteEnseignantProps {\n\tisOpen: boolean;\n\tonCancel: () => void;\n\tonValidate: () => void;\n\tisLoading?: boolean;\n}\n\nconst ModalDeleteEnseignant: React.SFC = ({\n\tisOpen,\n\tonCancel,\n\tonValidate,\n\tisLoading\n}) => {\n\n\tconst { t } = useTranslation();\n\n\treturn (\n\t\t
\n\t\t\t

{t(\"createFolder.enseignants.delete-confirm\")}

\n\t\t
\n\t);\n}\n\nexport default ModalDeleteEnseignant;","import React, { useState } from 'react';\nimport FormButton from 'adel-shared/dist/components/basics/FormButton';\nimport Table, { styleTable } from 'adel-shared/dist/components/basics/Table';\nimport { DisciplineDto, EnseignantDto } from '../../../../services/generated/FrontOffice-api';\nimport { useTranslation } from 'react-i18next';\nimport { useTable, useSortBy } from 'react-table';\nimport ModalDeleteEnseignant from './ModalDeleteEnseignant';\n\ninterface EnseignantListProps {\n\tenseignants: EnseignantDto[]\n\tonAddEnseignant: () => void;\n\tduplicateEnseignant: (id: string) => void;\n\teditEnseignant: (id: string) => void;\n\tdeleteEnseignant: (id: string) => Promise;\n}\n\nconst EnseignantList: React.FunctionComponent = (props) => {\n\tconst { t, i18n } = useTranslation();\n\tconst [modalDeleteEnseignantIsOpen, setModalDeleteEnseignantIsOpen] = useState(false)\n\tconst [selectedEnseignantId, setSelectedEnseignantId] = useState();\n\n\tconst columns = React.useMemo(() => { // VFA : Je n'arrive pas à trouver le type exact de cet objet... Je laisse en any T_T\n\t\treturn [{\n\t\t\tHeader: \"Table\",\n\t\t\tcolumns: [\n\t\t\t\t{ Header: \"Id\", accessor: \"id\", disableSortBy: true },\n\t\t\t\t{ Header: t('createFolder.enseignants.listColumns.nom'), accessor: \"nom\", disableSortBy: true },\n\t\t\t\t{ Header: t('createFolder.enseignants.listColumns.prenom'), accessor: \"prenom\", disableSortBy: true },\n\t\t\t\t{ Header: t('createFolder.enseignants.listColumns.discipline'), accessor: \"disciplines\", disableSortBy: true,\n\t\t\t\t\tCell: (value: any) => (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{value.cell.value.map((element:DisciplineDto) => \n\t\t\t\t\t\t\t\t{ return element.text[i18n.language] }).join(\", \")\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t)\n\t\t\t\t},\n\t\t\t\t{ Header: t('createFolder.enseignants.listColumns.typeContrat'), accessor: \"typeContrat\", disableSortBy: true },\n\t\t\t\t{\n\t\t\t\t\tHeader: \"\", accessor: \"Actions\", disableSortBy: true,\n\t\t\t\t\tCell: (value: any) => (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
{ props.duplicateEnseignant(value.cell.row.values.id) }}>
\n\t\t\t\t\t\t\t
{ props.editEnseignant(value.cell.row.values.id) }}>
\n\t\t\t\t\t\t\t
{ openModalDeleteEnseignant(value.cell.row.values.id) }}>
\n\t\t\t\t\t\t
\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t]\n\t\t}];\n\t}, []);\n\n\tconst { getTableProps, getTableBodyProps, headerGroups, rows, prepareRow, state } = useTable({\n\t\tcolumns: columns,\n\t\tdata: props.enseignants,\n\t\tinitialState: { hiddenColumns: [\"id\"] },\n\t}, useSortBy);\n\n\tconst openModalDeleteEnseignant = (id: string) => {\n\t\tsetSelectedEnseignantId(id)\n\t\tsetModalDeleteEnseignantIsOpen(true)\n\t}\n\n\tconst confirmDeleteEnseignant = async () => {\n\t\tawait props.deleteEnseignant(selectedEnseignantId);\n\t\tsetModalDeleteEnseignantIsOpen(false);\n\t}\n\n\treturn <>\n\t\t
\n\t\t\t

{t(\"createFolder.enseignants.title\")}

\n\t\t
\n\t\t
\n\t\t\t props.onAddEnseignant()}\n\t\t\t/>\n\t\t
\n\t\t\n\t\t{\n\t\t\t setModalDeleteEnseignantIsOpen(false)}\n\t\t\t\tonValidate={confirmDeleteEnseignant}\n\t\t\t/>\n\t\t}\n\t;\n}\n\nexport default EnseignantList;","import React, { useEffect } from 'react';\nimport ModalErrorInformation from '../../../basics/ModalErrorInformation';\nimport {EnseignantValidationErrorDto, LieuValidationError} from '../../../../services/generated/FrontOffice-api';\nimport { useTranslation } from 'react-i18next';\nimport moment from 'moment';\n\ninterface ModalValidationEnseignantsProps {\n\tisOpen: boolean;\n\tonCancel: () => void;\n\terrorsValidation: EnseignantValidationErrorDto[];\n}\n\nconst ModalValidationEnseignants: React.FunctionComponent = ({\n\tisOpen,\n\tonCancel,\n\terrorsValidation\n}) => {\n\tconst { t } = useTranslation();\n\n\treturn (\n\t\t
\n\t\t\t{t('createFolder.enseignants.errors.main')} {errorsValidation?.map((e: EnseignantValidationErrorDto, i:number) => t('createFolder.enseignants.errors.contrat', {name: e.contrat, number: e.numberEnseignantRequired})\n\t\t\t\t).join(`, `)\n\t\t\t}\n\t\t
\n\t);\n}\n\nexport default ModalValidationEnseignants;","import React from \"react\";\r\nimport { ErrorMessage } from \"react-hook-form\";\r\nconst InputFileSingle = ({ label, reference, errorMessage, isRequired, onChange, name, currentValue, labelButton, extensions }) => {\r\n const isFileRef = (answer) => {\r\n if (!answer) {\r\n return false;\r\n }\r\n else if (typeof answer === \"object\" && answer.id && (answer.url) && answer.fileName) {\r\n return true;\r\n }\r\n return false;\r\n };\r\n const onFileChange = (e) => {\r\n const file = e.target.files.length !== 0\r\n ? {\r\n fileName: e.target.files[0].name,\r\n file: e.target.files[0]\r\n }\r\n : null;\r\n if (onChange) {\r\n onChange(file);\r\n }\r\n };\r\n const downloadFile = () => {\r\n if (currentValue && !(currentValue instanceof File) && currentValue.url) {\r\n window.open(currentValue.url);\r\n }\r\n };\r\n let hasExtensions = extensions && extensions.length > 0\r\n ? extensions.map(e => e.startsWith('.') ? e : '.' + e).join(',')\r\n : null;\r\n if (currentValue && Object.keys(currentValue).length > 0) {\r\n return (React.createElement(\"div\", { className: \"input inputFileSingle\" },\r\n label && (React.createElement(\"label\", null,\r\n label,\r\n isRequired && '*')),\r\n React.createElement(\"div\", { className: \"inputFile__item\" },\r\n React.createElement(\"div\", { className: \"inputFile__infos\" },\r\n React.createElement(\"div\", { className: \"inputFile__infos--file\" },\r\n React.createElement(\"span\", { className: \"questionField__fileName\" }, currentValue.url\r\n ? React.createElement(\"a\", { target: \"_blank\", href: currentValue.url }, currentValue === null || currentValue === void 0 ? void 0 : currentValue.fileName)\r\n : currentValue === null || currentValue === void 0 ? void 0 : currentValue.fileName),\r\n React.createElement(\"span\", { onClick: () => {\r\n if (onChange)\r\n onChange(undefined);\r\n } },\r\n React.createElement(\"i\", { className: \"far fa-trash-alt\" }))))),\r\n errorMessage &&\r\n React.createElement(ErrorMessage, { errors: errorMessage, name: name }, ({ message }) => React.createElement(\"p\", { className: \"input__errorMessage\" }, message))));\r\n }\r\n if (currentValue && Object.keys(currentValue).length > 0 && isFileRef(currentValue)) {\r\n return (React.createElement(\"div\", { className: \"input inputFileSingle\" },\r\n label && (React.createElement(\"label\", null,\r\n label,\r\n isRequired && '*')),\r\n React.createElement(\"div\", { className: \"inputFile__item\" },\r\n React.createElement(\"div\", { className: \"inputFile__infos\" },\r\n React.createElement(\"div\", { className: \"inputFile__infos--file\" },\r\n React.createElement(\"span\", { className: currentValue.url ? \"inputFile__infos--fileName\" : \"\", onClick: downloadFile }, currentValue.url\r\n ? React.createElement(\"a\", { target: \"_blank\", href: currentValue.url }, currentValue === null || currentValue === void 0 ? void 0 : currentValue.fileName)\r\n : currentValue === null || currentValue === void 0 ? void 0 : currentValue.fileName),\r\n React.createElement(\"span\", { onClick: () => {\r\n if (onChange)\r\n onChange(undefined);\r\n } },\r\n React.createElement(\"i\", { className: \"far fa-trash-alt\" }))))),\r\n errorMessage &&\r\n React.createElement(ErrorMessage, { errors: errorMessage, name: name }, ({ message }) => React.createElement(\"p\", { className: \"input__errorMessage\" }, message))));\r\n }\r\n return (React.createElement(\"div\", { className: \"input inputFileSingle\" },\r\n label && (React.createElement(\"label\", null,\r\n label,\r\n isRequired && '*')),\r\n React.createElement(\"div\", { className: \"inputFile__buttons\" },\r\n React.createElement(\"label\", { htmlFor: name }, labelButton),\r\n React.createElement(\"input\", { type: \"file\", ref: reference, name: name, required: isRequired, onChange: onFileChange, accept: hasExtensions })),\r\n errorMessage &&\r\n React.createElement(ErrorMessage, { errors: errorMessage, name: name }, ({ message }) => React.createElement(\"p\", { className: \"input__errorMessage\" }, message))));\r\n};\r\nexport default InputFileSingle;\r\n","import React, {useState} from \"react\";\nimport {useTranslation} from \"react-i18next\";\nimport {FormContextValues, ValidationOptions} from \"react-hook-form\";\nimport Input from 'adel-shared/dist/components/basics/Input';\nimport InputValidation from \"../../../components/basics/InputValidation\";\nimport {Dictionary} from \"../../../models\";\nimport { BanqueClient, AdresseClient, GeoAdresseDto } from \"../../../services/generated/FrontOffice-api\";\nimport { useAxios } from '../../../custom-hooks/useAxios';\nimport useValidation from \"../../../custom-hooks/useValidation\";\nimport { debounce } from 'lodash';\nimport { toast } from 'react-toastify';\nimport InputFileSingle, { DocumentWithFile } from 'adel-shared/dist/components/basics/InputFileSingle';\n\ninterface DonneesBancairesProps {\n\tform: FormContextValues;\n\tdonneesBancairesValidator: Dictionary;\n\tisIbanValid: boolean;\n\tsetIsIbanValid: (value: boolean) => void;\n\tribPJ: DocumentWithFile;\n\tsetRibPJ: (value:DocumentWithFile) => void;\n}\n\nconst DonneesBancaires: React.FunctionComponent = ({\n\tform: {\n\t\ttriggerValidation,\n\t\tregister,\n\t\tgetValues,\n\t\tsetValue,\n\t\twatch,\n\t\terrors\n\t},\n\tdonneesBancairesValidator,\n\tisIbanValid,\n\tsetIsIbanValid,\n\tribPJ,\n\tsetRibPJ\n\n}) => {\n\tconst [isLoading, setIsLoading] = useState(false);\n\n\tconst { t } = useTranslation();\n\tconst axiosInstance = useAxios();\n\tconst [geoAdresse, setGeoAdresse] = useState([]);\n\tconst {ville, codePostal} = watch(['ville', 'codePostal']);\n\n\tconst validateIBan = async () => {\n\t\tconst client = new BanqueClient('', axiosInstance);\n\t\tif (!triggerValidation(\"iban\")) {\n\t\t\treturn false;\n\t\t}\n\n\t\tlet { iban } = getValues();\n\t\tiban = iban.replace(/\\s/g, \"\");\n\t\tsetIsLoading(true);\n\t\ttry {\n\t\t\tvar result = await client.validateIban(iban)\n\n\t\t\tif (result === false) {\n\t\t\t\tsetIsIbanValid(false);\n\t\t\t\tsetIsLoading(false);\n\t\t\t\treturn false;\n\t\t\t} else {\n\t\t\t\tsetIsIbanValid(true);\n\t\t\t\tsetValue([\n\t\t\t\t\t{ iban: iban },\n\t\t\t\t]);\n\t\t\t\tsetRibPJ(undefined);\n\t\t\t\tsetIsLoading(false);\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\tcatch (error) {\n\t\t\tsetIsIbanValid(false);\n\t\t\tsetIsLoading(false);\n\t\t\tif (error.exception?.message)\n\t\t\t\ttoast.error(error.exception.message);\n\t\t\treturn false;\n\t\t}\n\t}\n\n\n\t// Invalidate Iban to be able to check again the api if the Iban is modified\n\tconst { getRootValidator } = useValidation();\n\tconst adresseValidator = getRootValidator(\"CreateOrUpdateAdresseDto\");\n\n\tconst invalidateIban = async (): Promise => {\n\t\tsetIsIbanValid(false);\n\t}\n\n\tconst searchAdresse = (input: string) => {\n\t\tif (!!input) {\n\t\t\ttry {\n\t\t\t\tconst adresseClient = new AdresseClient('', axiosInstance);\n\t\t\t\tadresseClient.searchAdresse(`${ville} ${input}`, codePostal).then(results => {\n\t\t\t\t\tsetGeoAdresse(results);\n\n\t\t\t\t});\n\t\t\t\tonAdresseChange(input);\n\t\t\t}\n\t\t\tcatch (error) {\n\t\t\t\tif (error.exception?.message)\n\t\t\t\t\ttoast.error(error.exception.message);\n\t\t\t\telse\n\t\t\t\t\ttoast.error(t(\"errors.default\"));\n\t\t\t}\n\t\t}\n\t}\n\tconst onAdresseChange = (label: string) => {\n\t\tconst selectedAdresse = geoAdresse.find(adresse => adresse.label === label);\n\n\t\tif (selectedAdresse) {\n\t\t\tsetValue([\n\t\t\t\t{ line1: `${selectedAdresse.numero} ${selectedAdresse.rue}` },\n\t\t\t\t{ codePostal: selectedAdresse.codePostal },\n\t\t\t\t{ ville: selectedAdresse.ville }\n\t\t\t]);\n\t\t}\n\t}\n\n\tconst handleFileChange = (file: DocumentWithFile) => {\n\t\tif(file) {\n\t\t\tsetRibPJ({fileName: file.fileName, url:file.url, file: file.file});\n\t\t} else {\n\t\t\tsetRibPJ(undefined);\n\t\t\tsetValue([\n\t\t\t\t{ iban: null},\n\t\t\t\t{ banque: null },\n\t\t\t\t{ bic: null },\n\t\t\t\t{ line1: null },\n\t\t\t\t{ line2: null },\n\t\t\t\t{ codePostal: null },\n\t\t\t\t{ ville: null },\n\t\t\t\t{ pays: null }\n\t\t\t]);\n\t\t\tsetIsIbanValid(false);\n\t\t}\n\t};\n\n\treturn (<>\n\t\t
\n\t\t\t\n\t\t\t{isIbanValid && <>\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t adresse.label)}\n\t\t\t\t\t\tonChange={debounce((value) => searchAdresse(value), 1000)}\n\t\t\t\t\t/>\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t handleFileChange(file)}\n\t\t\t\t\t\t\tisRequired={true}\n\t\t\t\t\t\t\tcurrentValue={ribPJ && {\n\t\t\t\t\t\t\t\tid: ribPJ.id,\n\t\t\t\t\t\t\t\tfileName: ribPJ.fileName || '',\n\t\t\t\t\t\t\t\turl: ribPJ.url\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tname=\"rib\"\n\t\t\t\t\t\t\terrorMessage={errors}\n\t\t\t\t\t\t\treference={register({ required: `${t(\"validation-messages.required-document\")}` })}\n\t\t\t\t\t\t/>\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t}\n\t\t
\n\t)\n}\n\nexport default DonneesBancaires;","import {\n AnswerChoiceDto,\n AnswerType,\n ConditionDto,\n ConditionOperator,\n QuestionDto\n} from \"../services/generated/FrontOffice-api\";\nimport {Dictionary} from \"../models\";\nimport _ from \"lodash\";\nimport { TFunction } from 'i18next';\n\nexport const shouldDisplayQuestion = (question: QuestionDto, answers: Dictionary, questions?: QuestionDto[]) => {\n if (!question.conditions) {\n return true;\n }\n\n return question.conditions.every(c => isConditionSatisfied(c, answers, questions));\n}\n\nexport const shouldDisplayChoice = (choice: AnswerChoiceDto, answers: Dictionary) => {\n if (!choice.conditions) {\n return true;\n }\n\n return choice.conditions.every(c => isConditionSatisfied(c, answers));\n}\n\nexport const isConditionSatisfied = (condition: ConditionDto, answers: Dictionary, questions?: QuestionDto[]) => {\n const answer = answers[condition.questionId];\n switch (condition.operator) {\n case ConditionOperator.Empty:\n return answer === null || answer === undefined || answer === [] || answer === \"\";\n case ConditionOperator.Equal:\n if (Array.isArray(answer)) {\n return answer.some(item => item === (answers[condition.operandQuestionId] ?? condition.operand));\n } else {\n if(answer === undefined) {\n return questions?.find(x => x.id === condition.questionId)?.presetAnswer?.value === condition.operand;\n }\n console.log('answer', answer, )\n return answer === (answers[condition.operandQuestionId] ?? condition.operand);\n }\n case ConditionOperator.AnyOf:\n if (Array.isArray(answer)) {\n const arr = answer;\n const intersect = _.intersection(arr, condition.operands);\n return intersect.length > 0;\n } else {\n return condition.operands.includes(answer);\n }\n case ConditionOperator.LesserThan:\n return answer < (answers[condition.operandQuestionId] ?? condition.operand);\n default:\n throw new Error(\"Invalid condition operator\");\n }\n}\n\nconst allowUndefined = (question: QuestionDto) => {\n return question.answerType === AnswerType.None || !question.isRequired;\n}\n\nconst isValidURL = (str: string) => {\n // protocol // domain // OR ip (v4) address // port and path // query string // fragment locator\n const pattern = /^(http:\\/\\/www\\.|https:\\/\\/www\\.|http:\\/\\/|https:\\/\\/|www\\.)((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|((\\d{1,3}\\.){3}\\d{1,3}))(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*(\\?[;&a-z\\d%_.~+=-]*)?(\\#[-a-z\\d_]*)?$/i;\n return pattern.test(str);\n};\n\nexport const parseAnswerValue = (value: any, answerType: AnswerType) => {\n switch (answerType) {\n case AnswerType.Date:\n if (typeof value === \"string\" || typeof value === \"number\") {\n value = new Date(value);\n }\n break;\n case AnswerType.IntegerNumber:\n if (typeof value === \"string\") {\n value = Number.parseInt(value);\n }\n break;\n case AnswerType.DecimalNumber:\n if (typeof value === \"string\") {\n value = Number.parseFloat(value);\n }\n break;\n case AnswerType.YesNo:\n case AnswerType.YesNoDontKnow:\n if (typeof value === \"string\") {\n value = value.toLowerCase() === \"true\";\n }\n break;\n case AnswerType.Period:\n if (value && typeof value === \"object\") {\n value = {\n start: parseAnswerValue(value.start, AnswerType.Date),\n end: parseAnswerValue(value.end, AnswerType.Date),\n }\n }\n break;\n }\n\n return value\n}\n\nexport interface ValidationResult {\n\tisValid: boolean;\n\tmessage?: string;\n\t// Dictionnary 1 => clé = index de l'item\n\t// Dictionary 2 => clé = id de la sous-question\n\titems?: Dictionary>;\n}\n\n//TODO: renommer ça en ValidateAnswer\nexport const isAnswerValid = (question: QuestionDto, answerValue: any, t:TFunction) => {\n if (answerValue === undefined) {\n\t\tif (allowUndefined(question) === true) {\n\t\t\treturn { isValid: true }\n\t\t} else {\n\t\t\treturn {\n\t\t\t\tisValid: false,\n\t\t\t\tmessage: t(\"validation-messages.not-empty\")\n\t\t\t}\n\t\t}\n }\n\n if (question.presetAnswer && !question.presetAnswer.isModifiable) {\n\t\tif(answerValue === question.presetAnswer.value === true) {\n\t\t\treturn { isValid: true }\n\t\t} else {\n\t\t\treturn {\n\t\t\t\tisValid: false,\n\t\t\t\tmessage: t(\"validation-messages.invalid-field\")\n\t\t\t}\n\t\t}\n }\n\n switch (question.answerType) {\n case AnswerType.None:\n\t\t\tif (!answerValue === true) {\n\t\t\t\treturn { isValid: true }\n\t\t\t} else {\n\t\t\t\treturn {\n\t\t\t\t\tisValid: false,\n\t\t\t\t\tmessage: t(\"validation-messages.invalid-field\")\n\t\t\t\t}\n\t\t\t}\n case AnswerType.Text:\n case AnswerType.MultilineText:\n case AnswerType.Url:\n case AnswerType.Link:\n case AnswerType.Html:\n if (typeof answerValue === \"string\") {\n if (answerValue.length === 0) {\n\t\t\t\t\tif (question.isRequired) {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tisValid: false,\n\t\t\t\t\t\t\tmessage: t(\"validation-messages.required\")\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn { isValid: true }\n\t\t\t\t\t}\n }\n if (question.answerMaxLength && answerValue.length > question.answerMaxLength) {\n return {\n\t\t\t\t\t\tisValid: false,\n\t\t\t\t\t\tmessage: t(\"validation-messages.max-length\", { length: question.answerMaxLength })\n\t\t\t\t\t};\n }\n if (question.answerMinLength && answerValue.length < question.answerMinLength) {\n return {\n\t\t\t\t\t\tisValid: false,\n\t\t\t\t\t\tmessage: t(\"validation-messages.min-length\", { length: question.answerMinLength })\n\t\t\t\t\t};\n }\n const isMultiLine = question.answerType === AnswerType.MultilineText || question.answerType === AnswerType.Html;\n if (isMultiLine && answerValue === \"\") {\n return {\n\t\t\t\t\t\tisValid: false,\n\t\t\t\t\t\tmessage: t(\"validation-messages.not-empty\")\n\t\t\t\t\t};\n }\n if (question.answerType === AnswerType.Url && !isValidURL(answerValue)) {\n return {\n\t\t\t\t\t\tisValid: false,\n\t\t\t\t\t\tmessage: t(\"validation-messages.invalid-url\")\n\t\t\t\t\t};\n }\n return { isValid: true };\n } else {\n return {\n\t\t\t\t\tisValid: false,\n\t\t\t\t\tmessage: t(\"validation-messages.invalid-field\")\n\t\t\t\t};\n }\n case AnswerType.Date:\n if (answerValue instanceof Date) {\n if (question.answerMaxValue instanceof Date && answerValue > question.answerMaxValue) {\n return {\n\t\t\t\t\t\tisValid: false,\n\t\t\t\t\t\tmessage: t(\"validation-messages.max-date\", { date: question.answerMaxValue })\n\t\t\t\t\t};\n }\n if (question.answerMinValue instanceof Date && answerValue < question.answerMinValue) {\n return {\n\t\t\t\t\t\tisValid: false,\n\t\t\t\t\t\tmessage: t(\"validation-messages.min-date\", { date: question.answerMinValue })\n\t\t\t\t\t};\n }\n return { isValid: true };\n } else {\n return {\n\t\t\t\t\tisValid: false,\n\t\t\t\t\tmessage: t(\"validation-messages.invalid-date\")\n\t\t\t\t};\n }\n case AnswerType.IntegerNumber:\n case AnswerType.DecimalNumber:\n if (typeof answerValue === \"number\") {\n if (Number.isNaN(answerValue) || !Number.isFinite(answerValue)) {\n return {\n\t\t\t\t\t\tisValid: false,\n\t\t\t\t\t\tmessage: t(\"validation-messages.invalid-field\")\n\t\t\t\t\t};\n }\n if (typeof question.answerMaxValue === \"number\" && answerValue >= question.answerMaxValue) {\n return {\n\t\t\t\t\t\tisValid: false,\n\t\t\t\t\t\tmessage: t(\"validation-messages.max-number\", { number: question.answerMaxValue })\n\t\t\t\t\t};\n }\n if (typeof question.answerMinValue === \"number\" && answerValue <= question.answerMinValue) {\n return {\n\t\t\t\t\t\tisValid: false,\n\t\t\t\t\t\tmessage: t(\"validation-messages.min-number\", { number: question.answerMinValue })\n\t\t\t\t\t};\n }\n if (question.answerType !== AnswerType.DecimalNumber && !Number.isInteger(answerValue)) {\n return {\n\t\t\t\t\t\tisValid: false,\n\t\t\t\t\t\tmessage: t(\"validation-messages.invalid-number\")\n\t\t\t\t\t};\n }\n return { isValid: true };\n } else {\n return {\n\t\t\t\t\tisValid: false,\n\t\t\t\t\tmessage: t(\"validation-messages.invalid-field\")\n\t\t\t\t};\n }\n case AnswerType.SingleChoiceList:\n\t\t\tif (question.choices && question.choices.some(c => c.id === answerValue)) {\n\t\t\t\treturn { isValid: true }\n\t\t\t} else {\n\t\t\t\treturn {\n\t\t\t\t\tisValid: false,\n\t\t\t\t\tmessage: t(\"validation-messages.not-empty\")\n\t\t\t\t}\n\t\t\t};\n case AnswerType.MultipleChoiceList:\n if (Array.isArray(answerValue) && answerValue.length > 0 && answerValue.every(a => question.choices.some(c => c.id === a))) {\n\t\t\t\treturn { isValid: true }\n\t\t\t} else {\n\t\t\t\treturn {\n\t\t\t\t\tisValid: false,\n\t\t\t\t\tmessage: t(\"validation-messages.not-empty\")\n\t\t\t\t}\n\t\t\t};\n case AnswerType.YesNo:\n\t\t\tif (typeof answerValue === \"boolean\") {\n\t\t\t\treturn { isValid: true }\n\t\t\t} else {\n\t\t\t\treturn {\n\t\t\t\t\tisValid: false,\n\t\t\t\t\tmessage: t(\"validation-messages.invalid-field\")\n\t\t\t\t}\n\t\t\t};\n case AnswerType.YesNoDontKnow:\n\t\t\tif (answerValue == null || typeof answerValue === \"boolean\") {\n\t\t\t\treturn { isValid: true }\n\t\t\t} else {\n\t\t\t\treturn {\n\t\t\t\t\tisValid: false,\n\t\t\t\t\tmessage: t(\"validation-messages.invalid-field\")\n\t\t\t\t}\n\t\t\t};\n case AnswerType.Period:\n if (typeof answerValue === \"object\") {\n let {start, end} = answerValue;\n if (!start || !end) {\n return {\n\t\t\t\t\t\tisValid: false,\n\t\t\t\t\t\tmessage: t(\"validation-messages.invalid-field\")\n\t\t\t\t\t};\n }\n if (end <= start) {\n return {\n\t\t\t\t\t\tisValid: false,\n\t\t\t\t\t\tmessage: t(\"validation-messages.invalid-field\")\n\t\t\t\t\t};\n }\n return { isValid: true };\n } else {\n return {\n\t\t\t\t\tisValid: false,\n\t\t\t\t\tmessage: t(\"validation-messages.invalid-field\")\n\t\t\t\t};\n }\n case AnswerType.File:\n if(answerValue.size > 10000000) {\n return {\n isValid: false,\n message: t(\"validation-messages.max-file-size\")\n };\n }\n if (typeof answerValue === \"object\") {\n const currentFileExtension = (answerValue.name || answerValue.fileName).split('.').pop();\n if(question.fileExtensions && !question.fileExtensions.some(x => x === currentFileExtension)) {\n return {\n isValid: false,\n message: t(\"validation-messages.invalid-file-format\", { formats: question.fileExtensions.join(', ') })\n };\n }\n return { isValid: true };\n } else {\n return {\n\t\t\t\t\tisValid: false,\n\t\t\t\t\tmessage: t(\"validation-messages.invalid-field\")\n\t\t\t\t};\n }\n case AnswerType.Array:\n\t\t\tif ( Array.isArray(answerValue)) {\n\t\t\t\tlet itemResults:Dictionary = {};\n\n\t\t\t\tfor (let index = 0; index < answerValue.length; index++) {\n\t\t\t\t\tconst item = answerValue[index];\n\t\t\t\t\tlet itemResult:any = {};\n\t\t\t\t\tfor (const q of question.arrayItemsQuestions) {\n\t\t\t\t\t\tlet r = isAnswerValid(q, item[q.id], t);\n\t\t\t\t\t\tif (!r.isValid)\n\t\t\t\t\t\t\titemResult[q.id] = r;\n\t\t\t\t\t}\n\t\t\t\t\tif (Object.keys(itemResult).length !== 0) {\n\t\t\t\t\t\titemResults[index.toString()] = itemResult;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tisValid: Object.keys(itemResults).length === 0,\n\t\t\t\t\tmessage: Object.keys(itemResults).length === 0 ? \"\" : t(\"validation-messages.invalid-fields\"),\n\t\t\t\t\titems: itemResults\n\t\t\t\t}\n\t\t\t}\n\n return { isValid: true };\n case AnswerType.Blocking:\n // There's no valid answer to a blocking question (that's the point)\n return {\n\t\t\t\tisValid: false,\n\t\t\t\tmessage: ''\n\t\t\t};\n }\n};","import React, {useState} from \"react\";\nimport QuestionInputProps from \"./QuestionInputProps\"\nimport Input from 'adel-shared/dist/components/basics/Input';\n\ninterface SimpleQuestionInputProps extends QuestionInputProps {\n type: string;\n parse: (rawValue: string) => any;\n attributes?: {[key: string]: any}\n}\n\nconst SimpleQuestionInput : React.SFC = (props) => {\n\treturn <>\n\t\t {\n\t\t\t\tif (props.onAnswerChange) {\n\t\t\t\t\tprops.onAnswerChange(props.question?.id, value);\n\t\t\t\t}\n\t\t\t}}\n\t\t\t{ ...props.attributes }\n\t\t\terrorMessageCusto={props.errorMessage && props.errorMessage.message && props.errorMessage.message !== '' && props.errorMessage.message}\n\t\t/>\n ;\n}\n\nexport default SimpleQuestionInput;\n","import React from \"react\";\nimport QuestionInputProps from \"./QuestionInputProps\"\n\nconst MultilineTextQuestionInput : React.FunctionComponent = (props) => {\n\treturn
\n\t\t
{props.title ? props.title : \"\"}{props.question?.isRequired ? ' *' : ''}
\n\n {\n const value = e.target.value;\n if (props.onAnswerChange) {\n props.onAnswerChange(props.question?.id, value);\n }\n\t\t\t }} />\n\t\t{props.errorMessage && props.errorMessage.message && props.errorMessage.message !== '' &&\n\t\t\t

{props.errorMessage.message}

\n\t\t}\n
;\n}\n\nexport default MultilineTextQuestionInput;\n","import React from \"react\";\r\nfunction InputRadioButton({ name, label, id, onChange, checked, value, isDisabled = false }) {\r\n return (React.createElement(\"div\", { className: \"inputRadioButton\" },\r\n React.createElement(\"input\", { type: \"radio\", id: id, name: name, checked: checked, onChange: onChange, disabled: isDisabled, value: value }),\r\n React.createElement(\"label\", { htmlFor: id, className: \"inputRadioButton__label\" },\r\n !checked\r\n ? React.createElement(\"i\", { className: \"far fa-circle\" })\r\n : React.createElement(\"i\", { className: \"fa fa-check-circle\" }),\r\n \" \",\r\n label)));\r\n}\r\nexport default InputRadioButton;\r\n","export var Language;\r\n(function (Language) {\r\n Language[\"FR\"] = \"fr\";\r\n Language[\"EN\"] = \"en\";\r\n})(Language || (Language = {}));\r\n","import React from \"react\";\nimport QuestionInputProps from \"./QuestionInputProps\";\nimport { useTranslation } from \"react-i18next\";\nimport { AnswerType } from \"../../../../services/generated/FrontOffice-api\";\nimport InputRadioButton from 'adel-shared/dist/components/basics/InputRadioButton';\n\nconst YesNoQuestionInput: React.FunctionComponent = ({\n\tid,\n\ttitle,\n\tquestion,\n\tonAnswerChange,\n\terrorMessage,\n\tcurrentValue,\n\tisDisabled\n}) => {\n\tconst { t } = useTranslation();\n\n\tconst handleChange = (isChecked: boolean, value: boolean | null) => {\n\t\tif(isChecked && onAnswerChange) {\n\t\t\tonAnswerChange(question?.id, value);\n\t\t}\n\t}\n\n\treturn
\n\t\t
\n\t\t\t {question?.isRequired && \"*\"}\n\t\t
\n\t\t
\t\n\t\t\t\t\t handleChange(e.target.checked, true)}\n\t\t\t\t\t\tchecked={currentValue == true}\n\t\t\t\t\t\tisDisabled={isDisabled}\n\n\t\t\t\t\t/>\n\t\t\t\t\t handleChange(e.target.checked, false)}\n\t\t\t\t\t\tchecked={currentValue == false}\n\t\t\t\t\t\tisDisabled={isDisabled}\n\t\t\t\t\t/>\n\t\t\t\t{question.answerType === AnswerType.YesNoDontKnow &&\n\t\t\t\t\t handleChange(e.target.checked, null)}\n\t\t\t\t\t\tchecked={currentValue === null}\n\t\t\t\t\t\tisDisabled={isDisabled}\n\t\t\t\t\t/>\n\t\t\t}\n\t\t
\n\t\t{errorMessage && errorMessage.message && errorMessage.message !== '' &&\n\t\t\t

{errorMessage.message}

\n\t\t}\n\t
;\n}\n\nexport default YesNoQuestionInput;","import React, {useMemo, useState, useEffect} from \"react\";\nimport QuestionInputProps from \"./QuestionInputProps\";\nimport Select from \"react-select\";\nimport {useTranslation} from \"react-i18next\";\nimport {AnswerChoiceDto, AnswerType} from \"../../../../services/generated/FrontOffice-api\";\n\nimport InputSelect from 'adel-shared/dist/components/basics/InputSelect';\n\ninterface ChoiceListQuestionInputProps extends QuestionInputProps{\n choiceFilter?: (choice: AnswerChoiceDto) => boolean;\n}\n\nconst ChoiceListQuestionInput: React.SFC = (props) => {\n\n const {t, i18n} = useTranslation();\n\n const options = useMemo(\n () => props.question.choices\n .filter(c => !props.choiceFilter || props.choiceFilter(c))\n .map(c => ({ value: c?.id, label: c?.textWithoutTraduction || c?.text[i18n.language], choice: c })),\n [props.question]);\n const isMulti = props.question?.answerType === AnswerType.MultipleChoiceList;\n\n const getOptionForValue = (value: any): any => {\n return options.find(o => o.value == value);\n }\n\n let selectedValues = isMulti\n ? (props.currentValue ?? []).map(getOptionForValue)\n : props.currentValue;\n\n const doSetValue = (value: any) => {\n const valueAsId = isMulti\n ? (value as any[])?.map(o => o.value) ?? []\n : value;\n if (props.onAnswerChange) {\n props.onAnswerChange(props.question?.id, valueAsId);\n }\n }\n\n const onChange = (value: any) => {\n if (isMulti) {\n // If user selects \"none\" from the list, clear existing values\n const noneOption = (value as any[])?.find(item => item.choice?.isNone);\n if (noneOption) {\n doSetValue([noneOption]);\n return;\n }\n }\n doSetValue(value);\n }\n\n return
\n\t{isMulti\n\t\t? \n\t\t\tlabel={`${props.title ? props.title : \"\"}${props.question?.isRequired ? '*' : ''}`}\n\t\t\thasHtmlInLabel={true}\n\t\t\tname=\"questionField\"\n\t\t\tclassname=\"inputSelect inputSelect--multi\"\n\t\t\toptions={options}\n\t\t\tonChange={onChange}\n\t\t\tvalue={selectedValues}\n\t\t\tisMulti={isMulti}\n\t\t\tisClearable={!props.question?.isRequired}\n\t\t\tplaceholder={t(\"common.select\")}\n\t\t\terrorMessageCusto={props.errorMessage && props.errorMessage.message && props.errorMessage.message !== '' && props.errorMessage.message}\n\t\t/>\n\t\t: \n\t\t\tlabel={`${props.title ? props.title : \"\"}${props.question?.isRequired ? '*' : ''}`}\n\t\t\thasHtmlInLabel={true}\n\t\t\tname=\"questionField\"\n\t\t\tclassname=\"inputSelect\"\n\t\t\toptions={options}\n\t\t\tonChange={onChange}\n\t\t\tvalue={selectedValues}\n\t\t\tisClearable={!props.question?.isRequired}\n\t\t\tplaceholder={t(\"common.select\")}\n\t\t\terrorMessageCusto={props.errorMessage && props.errorMessage.message && props.errorMessage.message !== '' && props.errorMessage.message}\n\t\t/>\n\t}\n
;\n}\n\nexport default ChoiceListQuestionInput;\n","const getAsDate = (value:any): Date => {\n if (!value) return value;\n if (value instanceof Date) return value;\n if (typeof value === \"string\") {\n return new Date(value);\n }\n return undefined;\n}\n\nexport default getAsDate;","import React, {useRef, useState} from \"react\";\nimport QuestionInputProps from \"./QuestionInputProps\";\nimport Moment from \"react-moment\";\nimport Calendar from \"react-calendar\";\nimport useOnClickOutside from \"use-onclickoutside\";\nimport {useTranslation} from \"react-i18next\";\nimport getAsDate from \"../../../../helpers/getAsDate\";\n\nconst DateQuestionInput : React.SFC = (props) => {\n\n const { t } = useTranslation();\n\n const minDate = getAsDate(props.question?.answerMinValue);\n const maxDate = getAsDate(props.question?.answerMaxValue);\n\n const [showCalendar, setShowCalendar] = useState(false);\n const ref = useRef();\n useOnClickOutside(ref, () => setShowCalendar(false));\n\n\treturn
\n\t\t
{props.question?.isRequired && \"*\"}
\n\t\t
setShowCalendar(true)} ref={ref}>\n\t\t\t
\n\t\t\t\t{props.currentValue ? {props.currentValue} : {t(\"common.pick-date\")}}\n\t\t\t\t \n\t\t\t\t\n\t\t\t
\n\n\t\t\t{showCalendar && {\n\t\t\t\t\tprops.onAnswerChange(props.question?.id, date);\n\t\t\t\t\tsetShowCalendar(false);\n\t\t\t\t}}\n\t\t\t\tminDate={minDate}\n\t\t\t\tmaxDate={maxDate}\n\t\t\t\tvalue={props.currentValue} />}\n\t\t
\n\t\t{props.errorMessage && props.errorMessage.message && props.errorMessage.message !== '' &&\n\t\t\t

{props.errorMessage.message}

\n\t\t}\n\t
\n}\n\nexport default DateQuestionInput;","import React, {useRef} from \"react\";\nimport QuestionInputProps from \"./QuestionInputProps\";\nimport Moment from \"react-moment\";\nimport Calendar from \"react-calendar\";\nimport useOnClickOutside from \"use-onclickoutside\";\nimport {useTranslation} from \"react-i18next\";\nimport getAsDate from \"../../../../helpers/getAsDate\";\nimport useBooleanState from \"adel-shared/dist/custom-hooks/useBooleanState\";\n\nconst PeriodQuestionInput : React.FC = ({\n\tquestion,\n\tcurrentValue,\n\ttitle,\n\tonAnswerChange,\n\terrorMessage\n}) => {\n const { t } = useTranslation();\n\n const minDate = getAsDate(question?.answerMinValue);\n const maxDate = getAsDate(question?.answerMaxValue);\n\n const [isCalendarOpen, showCalendar, closeCalendar] = useBooleanState(false);\n const ref = useRef();\n useOnClickOutside(ref, closeCalendar);\n\n const renderCurrentValue = () => {\n if (currentValue) {\n const {start: startDate, end: endDate} = currentValue;\n return <>\n {startDate} - {endDate}\n \n }\n else {\n return {t(\"common.pick-period-dates\")};\n }\n }\n\n\tconst getActiveStartDate = () => {\n\t\tif(currentValue) {\n\t\t\treturn currentValue.start;\n\t\t}\n\t\tif(minDate) {\n\t\t\treturn minDate;\n\t\t}\n\t\treturn new Date();\n\t};\n\n\treturn
\n\t\t
{title}
\n\t\t
\n\t\t\t
\n\t\t\t\t{renderCurrentValue()}\n\t\t\t\t \n\t\t\t\t\n\t\t\t
\n\n\t\t\t{isCalendarOpen && (\n\t\t\t\t {\n\t\t\t\t\t\tconst [start, end] = range;\n\t\t\t\t\t\tonAnswerChange(question?.id, {start, end});\n\t\t\t\t\t\tcloseCalendar();\n\t\t\t\t\t}}\n\t\t\t\t\tselectRange\n\t\t\t\t\tminDate={minDate}\n\t\t\t\t\tdefaultActiveStartDate={getActiveStartDate()}\n\t\t\t\t\tmaxDate={maxDate}\n\t\t\t\t\tvalue={[currentValue?.start, currentValue?.end]}\n\t\t\t\t\tlabel={title}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t{errorMessage?.message &&\n\t\t\t\t

{errorMessage.message}

\n\t\t\t}\n\t\t
\n\t
\n}\n\nexport default PeriodQuestionInput;","import QuestionInputProps from \"./QuestionInputProps\";\nimport React from \"react\";\nimport {useTranslation} from \"react-i18next\";\n\nconst BlockingQuestionInput : React.SFC = (props) => {\n const { i18n } = useTranslation();\n\n\treturn
\n {props.question.text[i18n.language]}\n
;\n}\n\nexport default BlockingQuestionInput;","export interface FileRef {\n id: string;\n\turl?: string;\n\turi?:string;\n fileName: string;\n}\n\nexport const isFileRef = (answer : any) => {\n if (!answer || answer instanceof File) {\n return false;\n } else if (typeof answer === \"object\" && answer.id && (answer.url || answer.uri) && answer.fileName) {\n return true;\n }\n return false;\n}\n","import React, { FunctionComponent, useState } from \"react\";\nimport QuestionInputProps from \"./QuestionInputProps\";\nimport {useTranslation} from \"react-i18next\";\nimport {FileRef, isFileRef} from \"../../../../models/FileRef\";\n\ntype FileAnswer = File | FileRef;\n\ninterface FileQuestionInputProps extends QuestionInputProps{\n name?: string;\n setIsValideDocuments: (value :any) => void;\n}\n\nconst FileQuestionInput: FunctionComponent = (props) => {\n \n\n const {t} = useTranslation();\n const [errorValidation, setErrorValidation] = useState('')\n \n const onFileChange = (e: React.ChangeEvent) => { \n \n const file = e.target.files.length !== 0\n ? e.target.files[0]\n : null;\n\n if (file?.name.length > 100) {\n props.setIsValideDocuments(false)\n setErrorValidation('Le nom du fichier ne doit pas excéder 100 caractères.')\n }else {\n setErrorValidation('')\n props.setIsValideDocuments(true)\n }\n if (props.onAnswerChange) {\n props.onAnswerChange(props.question?.id, file);\n }\n }\n\n const downloadFile = () => {\n if (props.currentValue && !(props.currentValue instanceof File) && props.currentValue?.url) {\n window.open(props.currentValue.url);\n }\n }\n\n let extensions = props.question?.fileExtensions\n ? props.question.fileExtensions.map(e => e.startsWith('.') ? e : '.' + e).join(',')\n : null;\n\n if (props.currentValue instanceof File) { \n \n\t\treturn
\n\t\t\t{props.title &&\n\t\t\t\t
\n {props.question.isRequired && \"*\"} \n {props.question?.model && \n } \n
\n\t\t\t}\n
\n
\n
\n\t\t\t\t\t\t{props.currentValue?.name}\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\tif (props.onAnswerChange)\n\t\t\t\t\t\t\t\t\tprops.onAnswerChange(props.question?.id, undefined);\n\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n
\n
\n\t\t\t
\n\t\t\t{(errorValidation || (props.errorMessage && props.errorMessage.message && props.errorMessage.message !== '')) &&\n\t\t\t\t

{errorValidation || props.errorMessage.message}

\n\t\t\t}\n
;\n } else if (isFileRef(props.currentValue)) {\n\t\treturn
\n\t\t{props.title &&\n\t\t\t
\n {props.question.isRequired && \"*\"}\n {props.question?.model && \n } \n
\n\t\t}\n
\n
\n
\n downloadFile()}>{props.currentValue?.fileName}\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\tif (props.onAnswerChange)\n\t\t\t\t\t\t\t\t\tprops.onAnswerChange(props.question?.id, undefined);\n\t\t\t\t\t\t\t}}>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
\n
\n\t\t\t
\n\t\t\t{props.errorMessage && props.errorMessage.message && props.errorMessage.message !== '' &&\n\t\t\t\t

{props.errorMessage.message}

\n\t\t\t}\n
;\n } else {\n return
\n\t\t{props.title &&\n\t\t\t
\n {props.question.isRequired && \"*\"} \n {props.question?.model && \n } \n
\n\t\t}\n
\n \n \n\t\t\t
\n\t\t\t{props.errorMessage && props.errorMessage.message && props.errorMessage.message !== '' &&\n\t\t\t\t

{props.errorMessage.message}

\n\t\t\t}\n
\n }\n}\n\nexport default FileQuestionInput;","import React from \"react\";\nimport { QuestionDto} from \"../../../../services/generated/FrontOffice-api\";\nimport { Dictionary } from '../../../../models';\nimport { getAnswer } from '../questionsBlock/RenderBlockContent';\nimport { ValidationResult } from '../../../../helpers/questionHelpers';\n\ninterface ArrayQuestionInputItemProps{\n\tindex: number;\n\titem: Dictionary;\n\trenderQuestionInput: any;\n\tquestions: QuestionDto[];\n\tonItemChange: (value: Dictionary) => void;\n\tvalidationResults: Dictionary;\n\tdelete: (index: number) => void;\n}\n\nconst ArrayQuestionInputItem: React.FC = ({\n\tindex,\n\titem,\n\tquestions,\n\trenderQuestionInput,\n\tonItemChange,\n\tdelete: deleteItem,\n\tvalidationResults\n}) => {\n\tconst onAnswerChange = (id:string, value:any) => {\n\t\tconst newItem = {...item};\n\t\tnewItem[id] = value;\n\t\tonItemChange(newItem);\n\t}\n\n\treturn (\n\t\t
\n\t\t\t{questions.map((question, i) => {\n\t\t\t\tconst currentValue = getAnswer(question, item ?? {});\n\t\t\t\treturn (\n\t\t\t\t\t
\n\t\t\t\t\t\t{renderQuestionInput(\n\t\t\t\t\t\t\tquestion, //question: QuestionDto\n\t\t\t\t\t\t\tcurrentValue, // currentValue: any\n\t\t\t\t\t\t\tquestion.id, //id: string\n\t\t\t\t\t\t\tvalidationResults ? validationResults[question.id] : {}, // errorMessage: ValidationResult\n\t\t\t\t\t\t\tonAnswerChange\n\t\t\t\t\t\t)}\n\t\t\t\t\t
\n\t\t\t\t);\n\t\t\t})}\n\t\t\t
\n\t\t\t\t
deleteItem(index)}>\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t)\n}\n\nexport default ArrayQuestionInputItem;","import React from \"react\";\nimport QuestionInputProps from \"./QuestionInputProps\";\nimport {useTranslation} from \"react-i18next\";\nimport {AnswerType, QuestionDto} from \"../../../../services/generated/FrontOffice-api\";\n\nimport ArrayQuestionInputItem from \"./ArrayQuestionInputItem\";\nimport { Dictionary } from '../../../../models';\nimport { ValidationResult } from '../../../../helpers/questionHelpers';\n\n\ninterface ArrayQuestionInputProps extends QuestionInputProps{\n\trenderQuestionInput: any;\n\tvalidationResult: ValidationResult;\n}\n\nconst ArrayQuestionInput: React.FC = ({\n\ttitle,\n\tcurrentValue = [],\n\tquestion,\n\tonAnswerChange,\n\tvalidationResult,\n\trenderQuestionInput,\n}) => {\n\tconst { t } = useTranslation();\n\n\tconst onItemChange = (item: Dictionary, index:number) => {\n\t\tconst newItems = [...(currentValue ?? [])];\n\n\t\tif (question.answerType === AnswerType.Array) {\n\t\t\tif (Object.keys(item).length === 0) {\n\t\t\t\tfor(const q of question.arrayItemsQuestions) {\n\t\t\t\t\titem[q.id] = null\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tnewItems[index] = item;\n\n\t\tonAnswerChange(question.id, newItems);\n\t}\n\n\tconst addRow = () => {\n\t\tonItemChange({}, currentValue?.length ?? 0);\n\t}\n\n\tconst deleteRow = (index:number) => {\n\t\tconst newItems = [...(currentValue ?? [])];\n\t\tnewItems.splice(index, 1);\n\t\tonAnswerChange(question.id, newItems);\n\t}\n\n\tconst renderAddButton = (q?: QuestionDto) => {\n\t\tlet buttonLabel = t(\"common.add\");\n\n\t\tif(q?.answerType === 'file') {\n\t\t\tbuttonLabel = t('common.addDocument');\n\t\t\tif(typeof question.answerMaxLength !== 'undefined') {\n\t\t\t\tbuttonLabel = t(\"common.addDocumentWithMax\", {count: question.answerMaxLength - currentValue.length});\n\t\t\t}\n\t\t}\n\n\t\treturn (\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{buttonLabel}\n\t\t\t\t\n\t\t\t
\n\t\t);\n\t};\n\n\treturn (\n\t\t
\n\t\t\t{title && (\n\t\t\t\t
\n\t\t\t\t\t{title} {question.isRequired && \"*\"}\n\t\t\t\t
\n\t\t\t)}\n\t\t\t{currentValue.map((item: Dictionary, i: number) => (\n\t\t\t\t
\n\t\t\t\t\t) => onItemChange(value, i)}\n\t\t\t\t\t\tdelete={deleteRow}\n\t\t\t\t\t/>\n\t\t\t\t
\n\t\t\t))}\n\t\t\t{question && (question.arrayItemsQuestions.length === 1 \n\t\t\t? question.answerMaxLength\n\t\t\t\t? (currentValue.length < question.answerMaxLength) && renderAddButton(question.arrayItemsQuestions[0])\n\t\t\t\t: renderAddButton(question.arrayItemsQuestions[0])\n\t\t\t: currentValue && question.answerMaxLength\n\t\t\t\t? (currentValue.length < question.answerMaxLength) && renderAddButton()\n\t\t\t\t: renderAddButton()\n\t\t\t)}\n\t\t
\n\t);\n}\n\nexport default ArrayQuestionInput;","import React, { FunctionComponent } from \"react\";\nimport { useTranslation } from 'react-i18next';\nimport {\n parseAnswerValue,\n shouldDisplayChoice,\n shouldDisplayQuestion,\n\tValidationResult\n} from \"../../../../helpers/questionHelpers\";\nimport SimpleQuestionInput from \"../questions/SimpleQuestionInput\";\nimport MultilineTextQuestionInput from \"../questions/MultilineTextQuestionInput\";\nimport YesNoQuestionInput from \"../questions/YesNoQuestionInput\";\nimport ChoiceListQuestionInput from \"../questions/ChoiceListQuestionInput\";\nimport DateQuestionInput from \"../questions/DateQuestionInput\";\nimport PeriodQuestionInput from \"../questions/PeriodQuestionInput\";\nimport BlockingQuestionInput from \"../questions/BlockingQuestionInput\";\nimport FileQuestionInput from \"../questions/FileQuestionInput\";\nimport ArrayQuestionInput from \"../questions/ArrayQuestionInput\";\n\nimport { Dictionary } from '../../../../models';\nimport { QuestionBlockDto, QuestionDto, AnswerType } from '../../../../services/generated/FrontOffice-api';\nimport clsx from \"clsx\";\n\ninterface RenderBlockContentProps {\n\tblock: QuestionBlockDto;\n\tanswers: Dictionary;\n\tsetAnswers: (value : Dictionary) => void;\n\tsetIsValideDocuments?: (value : any) => void;\n\tmessageValidation: Dictionary;\n}\n\nexport const getQuestions = (block: QuestionBlockDto, answers: Dictionary) => {\n\tif (!block.questions) {\n\t\treturn [];\n\t}\n\n\t// Determine which questions should be visible based on current answers\n\tconst isVisible: Dictionary = {};\n\tfor (const q of block.questions) {\n\t\tisVisible[q.id] = shouldDisplayQuestion(q, answers, block.questions);\n\t}\n\n\t// Remove questions that depend on questions that are not visible (repeat until none are found)\n\t// This could happen if the answer to a previous question changes. For instance:\n\t// - question B is visible if the answer to question A is \"true\"\n\t// - question C is visible if the answer to question B is \"true\"\n\t// - user answers \"true\" to question A, which makes question B visible\n\t// - user answers \"true\" to question B, which makes question C visible\n\t// - user changes their answer to question A to \"false\"\n\t// - question B becomes hidden, so question C should become hidden as well,\n\t// even though we have a \"true\" answer to B\n\tlet removedAny;\n\tdo {\n\t\tremovedAny = false;\n\t\tfor (const q of block.questions) {\n\t\t\tif (!isVisible[q.id]) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\t// If question depends on a question that is not visible\n\t\t\tif (q.conditions && q.conditions.some(c => !isVisible[c.questionId])) {\n\t\t\t\t// Hide that question\n\t\t\t\tisVisible[q.id] = false;\n\t\t\t\tremovedAny = true;\n\t\t\t}\n\t\t}\n\t} while (removedAny);\n\n\treturn block.questions.filter(q => isVisible[q.id]);\n}\n\nexport const getAnswer = (question: QuestionDto, answers: Dictionary) => {\n\tif (answers) {\n\t\tconst value = !answers.hasOwnProperty(question.id) && question.presetAnswer\n\t\t\t? question.presetAnswer.value\n\t\t\t: answers[question.id]\n\t\t\t\n\t\treturn parseAnswerValue(value, question.answerType);\n\t}\n}\n\nconst RenderBlockContent: FunctionComponent = ({ \n\tblock,\n\tanswers,\n\tsetAnswers,\n\tmessageValidation,\n\tsetIsValideDocuments\n}) => {\n\tconst { i18n } = useTranslation();\n\t\n\tconst onAnswerChange = (questionId: string, answerValue: any) => {\n\t\tconst newAnswers = {...answers, [questionId]: answerValue};\n\t\tif (newAnswers['nature-enregistrement'] && !newAnswers['nature-enregistrement'].includes('bande-originale')) {\n\t\t\tdelete newAnswers['compositeur'];\n\t\t\tdelete newAnswers['duree-estimee-bande'];\n\t\t\tdelete newAnswers['musiciens-interpretes'];\n\t\t}\n\t\tsetAnswers(newAnswers);\n\t}\n\tconst renderQuestion = (question: QuestionDto, block: QuestionBlockDto, currentValue: any) => {\n\t\tconst questionId = block.id + \"-\" + question.id;\n\t\tconst validation = messageValidation[question.id];\n\t\treturn renderQuestionInput(question, currentValue, questionId, validation, onAnswerChange);\n\t}\n\n\tconst renderQuestionInput = (question: QuestionDto, currentValue: any, questionId: string, errorMessage: ValidationResult, onAnswerChange:any) => {\n\t\tswitch (question.answerType) {\n case AnswerType.Text:\n\t\t\t\treturn (\n\t\t\t\t\t s}\n\t\t\t\t\t\tonAnswerChange={onAnswerChange}\n\t\t\t\t\t\terrorMessage={errorMessage}\n\t\t\t\t\t/>\n\t\t\t\t);\n case AnswerType.MultilineText:\n\t\t\tcase AnswerType.Html:\n return (\n\t\t\t\t\t\n\t\t\t\t);\n case AnswerType.Date:\n return (\n\t\t\t\t\t\n\t\t\t\t);\n case AnswerType.IntegerNumber:\n return (\n\t\t\t\t\t Number.parseInt(s)}\n attributes={{step: 1, max:question.answerMaxValue, min: question.answerMinValue}}\n\t\t\t\t\t\tonAnswerChange={onAnswerChange}\n\t\t\t\t\t\terrorMessage={errorMessage}\n\t\t\t\t\t/>\n\t\t\t\t);\n case AnswerType.DecimalNumber:\n return (\n\t\t\t\t\t Number.parseFloat(s)}\n attributes={{step: 0.01, max:question.answerMaxValue, min: question.answerMinValue}}\n\t\t\t\t\t\tonAnswerChange={onAnswerChange}\n\t\t\t\t\t\terrorMessage={errorMessage}\n\t\t\t\t\t/>\n\t\t\t\t);\n case AnswerType.SingleChoiceList:\n case AnswerType.MultipleChoiceList:\n return (\n\t\t\t\t\t shouldDisplayChoice(c, answers)}\n\t\t\t\t\t\tonAnswerChange={onAnswerChange}\n\t\t\t\t\t\terrorMessage={errorMessage}\n\t\t\t\t\t/>\n\t\t\t\t);\n case AnswerType.YesNo:\n case AnswerType.YesNoDontKnow:\n return (\n\t\t\t\t\t\n\t\t\t\t);\n case AnswerType.File:\n return (\n\t\t\t\t\t\n\t\t\t\t);\n case AnswerType.Url:\n return (\n\t\t\t\t\t s}\n\t\t\t\t\t\tonAnswerChange={onAnswerChange}\n\t\t\t\t\t\terrorMessage={errorMessage}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\tcase AnswerType.Link:\n\t\t\t\treturn (\n\t\t\t\t\t
\n\t\t\t\t\t\tDroits voisins / Simulateur de tarif\n\t\t\t\t\t
\n\t\t\t\t);\n case AnswerType.Period:\n return (\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\tcase AnswerType.Array:\n\t\t\t\treturn (\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\tcase AnswerType.Blocking:\n return (\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\tdefault:\n console.warn(`Question type \"${question.answerType}\" not supported`);\n\t\t\t\treturn null;\n }\n\t}\n\t\n\treturn (\n\t\t<>{\n\t\t\tblock.questions && getQuestions(block, answers).map(question => (\n\t\t\t\t
\n\t\t\t\t\t{renderQuestion(question, block, getAnswer(question, answers))}\n\t\t\t\t
\n\t\t\t))\n\t\t}\n\t);\n};\n\nexport default RenderBlockContent;\n","import React from \"react\";\nimport { useTranslation } from 'react-i18next';\nimport { DonneesBancairesDto } from '../../../services/generated/FrontOffice-api';\n\ninterface DonneesBancaireReadonlyProps {\n donneesBancaires: DonneesBancairesDto;\n}\n\nconst DonneesBancaireReadonly: React.FC = ({donneesBancaires}) => {\n const { t } = useTranslation();\n\n return (
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t{/* TODO: Brancher le pays quand il sera remonté ! */}\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t{donneesBancaires.rib && }\n\t\t\t
\n\t\t
\n\t
)\n};\n\nexport default DonneesBancaireReadonly;\n","import React, { useEffect, useState, forwardRef, useImperativeHandle } from \"react\";\nimport { useTranslation } from 'react-i18next';\nimport { RouteComponentProps } from '@reach/router';\nimport { useAxios } from '../../../custom-hooks/useAxios';\nimport { DossierClient, QuestionBlockDto, AnswerType, QuestionDto, DonneesBancairesDto } from '../../../services/generated/FrontOffice-api';\nimport { AdelDossierClient, CreateOrUpdateDonneesBancairesDto, SubmitDescriptionProjetAnswersDto } from '../../../clients/AdelDossierClient';\nimport { useForm } from 'react-hook-form';\nimport { Dictionary } from '../../../models';\nimport useValidation from '../../../custom-hooks/useValidation';\nimport DonneesBancaires from './DonneesBancaires';\nimport RenderBlockContent, { getQuestions, getAnswer } from './questionsBlock/RenderBlockContent';\nimport { isAnswerValid, ValidationResult } from '../../../helpers/questionHelpers';\nimport { isFileRef } from '../../../models/FileRef';\nimport { toast } from 'react-toastify';\nimport { DocumentWithFile } from 'adel-shared/dist/components/basics/InputFileSingle';\nimport DonneesBancaireReadonly from '../../monCompte/bancaire/DonneesBancaireReadonly';\n\ninterface DescriptionProps extends RouteComponentProps {\n\tref: any;\n\tdossierId: string;\n\tsetCanGoNext: (value: boolean) => void;\n\tsetIsLoading: (value: boolean) => void;\n}\n\nconst Description: React.FunctionComponent = forwardRef(({\n\tdossierId,\n\tsetCanGoNext,\n\tsetIsLoading,\n}, ref) => {\n const { i18n, t } = useTranslation();\n\tconst axiosInstance = useAxios();\n\tconst dossierClient = new DossierClient(\"\", axiosInstance);\n\tconst adelDossierClient = new AdelDossierClient(\"\", axiosInstance);\n\tconst form = useForm({}); \n\tconst {\n\t\tgetValues,\n\t\tsetValue,\n\t\ttriggerValidation,\n\t} = form;\n\n\tconst [blocks, setBlocks] = useState([]);\n\tconst [answers, setAnswers] = useState>({});\n\tconst [messageValidation, setMessageValidation] = useState>({});\n\tconst [isValideDocuments, setIsValideDocuments] = useState(true);\n\n\tconst { getRootValidator } = useValidation();\n\tconst donneesBancairesValidator = getRootValidator(\"CreateOrUpdateDonneesBancairesDto\");\n\tconst [ribPJ, setRibPJ] = useState();\n\tconst [isIbanValid, setIsIbanValid] = useState(false);\n\n\tconst [commandesInvalid, setcommandesInvalid] = useState(false);\n\tconst [defaultDonneesBancaires, setDefaultDonneesBancaires] = useState({});\n\n\tuseEffect(() => {\n\t\tif (!dossierId) return;\n\t\t(async function () { await fetchViewModel()})();\n setCanGoNext(false);\n\t}, [dossierId]);\n\t\n\tuseEffect(() => {\n setCanGoNext(isIbanValid);\n }, [isIbanValid]);\n\n\tconst fetchViewModel = async () => {\n\t\tconst viewModel = await dossierClient.getDescriptionProjetViewModel(dossierId);\n\n\t\tsetDefaultDonneesBancaires(viewModel.donneesBancaires);\n\t\t//@ts-ignore\n\t\tsetAnswers(viewModel.answers);\n\t\tsetBlocks(viewModel.questionsBlocks);\n\n\t\tif (viewModel.donneesBancaires && Object.keys(viewModel.donneesBancaires).length > 0) {\n\t\t\tsetIsIbanValid(true);\n\t\t\tsetValue([\n\t\t\t\t{ \"iban\": viewModel.donneesBancaires.iban },\n\t\t\t\t{ \"bic\": viewModel.donneesBancaires.bic },\n\t\t\t\t{ \"banque\": viewModel.donneesBancaires.banque },\n\t\t\t\t{ \"line1\": viewModel.donneesBancaires.adresse?.line1 },\n\t\t\t\t{ \"line2\": viewModel.donneesBancaires.adresse?.line2 },\n\t\t\t\t{ \"codePostal\": viewModel.donneesBancaires.adresse?.codePostal },\n\t\t\t\t{ \"ville\": viewModel.donneesBancaires.adresse?.ville }\n\t\t\t]);\n\n\t\t\tif(viewModel.donneesBancaires.rib) {\n\t\t\t\tsetRibPJ({\n\t\t\t\t\tid: viewModel.donneesBancaires.rib.id,\n\t\t\t\t\tfileName: viewModel.donneesBancaires.rib.fileName || '',\n\t\t\t\t\turl: viewModel.donneesBancaires.rib.uri\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\t/** SUMBIT */\n\tconst submitData = async (answers: {id: string, type: AnswerType, value: any}[], donneesBancaires: CreateOrUpdateDonneesBancairesDto) => {\n let data: SubmitDescriptionProjetAnswersDto = {\n answers: {}\n };\n\t\tlet files: Dictionary = {};\n\n for (let answer of answers) {\n if (answer.type === AnswerType.File) {\n if (answer.value instanceof File) {\n // Uploading a new file\n data.answers[answer.id] = {\n partName: answer.id,\n fileName: answer.value.name,\n\t\t\t\t\t\tcontentType: answer.value.type\n };\n files[answer.id] = answer.value;\n } else if (isFileRef(answer.value)) {\n // Specifying an existing file\n data.answers[answer.id] = { id: answer.value.id };\n }\n\t\t\t} else if (answer.type === AnswerType.Array) {\n\t\t\t\tif (Array.isArray(answer.value)) {\n\n\t\t\t\t\tlet newArray:Object[] = [];\n\n\t\t\t\t\tfor (const [idx, a] of answer.value.entries()) {\n\t\t\t\t\t\tlet item:any = {};\n\n\t\t\t\t\t\tfor (const [key, value] of Object.entries(a)) {\n\t\t\t\t\t\t\tif (value instanceof File) {\n\t\t\t\t\t\t\t\tconst id = key + '-' + idx;\n\t\t\t\t\t\t\t\titem[key] = {\n\t\t\t\t\t\t\t\t\tpartName: id,\n\t\t\t\t\t\t\t\t\tfileName: value.name,\n\t\t\t\t\t\t\t\t\tcontentType: value.type\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tfiles[id] = value;\n\t\t\t\t\t\t\t} else if (isFileRef(value)) {\n\t\t\t\t\t\t\t\titem[key] = { id: answer.value[idx][key].id };\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\titem[key] = value;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tnewArray.push(item);\n\t\t\t\t\t}\n\t\t\t\t\tdata.answers[answer.id] = newArray;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n data.answers[answer.id] = answer.value;\n }\n\t\t}\n\n\t\tif(defaultDonneesBancaires.canEditRib)\n\t\t\tawait adelDossierClient.createOrUpdateDonneesBancaires(donneesBancaires, ribPJ?.file && {\"rib-PJ\": ribPJ.file});\n\t\tawait adelDossierClient.submitDescriptionProjetAnswers(dossierId, data, files);\n }\n\n\n\n\t/** VALIDATION */\n\tconst validateAnswers = () => {\n\t\tsetMessageValidation({});\n\t\tconst errors: Dictionary = {};\n\n\t\tconst validation = (item: QuestionDto):ValidationResult | Dictionary => {\n\t\t\tif (isAnswerValid(item, getAnswer(item, answers), t).isValid === false) {\n\n\t\t\t\t/** Answers Array */\n\t\t\t\tconst items: Dictionary> = {};\n\n\t\t\t\tif (Array.isArray(answers[item.id]) && answers[item.id].length > 0) {\n\t\t\t\t\tanswers[item.id].forEach((q:any, itemIndex:number) => {\n\t\t\t\t\t\t// Initialiser items à => { nom: null, prenom: null, cv: null } pour chaque groupe d'inputs dynamiques créés\n\t\t\t\t\t\tif (!items[itemIndex])\n\t\t\t\t\t\t\titems[itemIndex] = item.arrayItemsQuestions.reduce((acc, v) => {acc[v.id] = null; return acc;}, {} as Dictionary);\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t// Ensuite assigner les valeurs de answers des inputs à items\n\t\t\t\t\t\tObject.assign(items[itemIndex], answers[item.id][itemIndex]);\n\t\t\t\t\t\t\n\t\t\t\t\t\t// Pour chaque input du groupe, on va tester la validation et lui assigner son ValidationResult associé\n\t\t\t\t\t\tfor (const [key] of Object.entries(items[itemIndex])) {\n\t\t\t\t\t\t\tconst itemToCheck = item.arrayItemsQuestions.find(aa => aa.id === key);\n\t\t\t\t\t\t\tconst answerToCheck = answers[item.id][itemIndex];\n\n\t\t\t\t\t\t\tconst validationResult = isAnswerValid(itemToCheck, getAnswer(itemToCheck, answerToCheck), t);\n\n\t\t\t\t\t\t\titems[itemIndex][key] = {\n\t\t\t\t\t\t\t\tisValid: validationResult.isValid, \n\t\t\t\t\t\t\t\tmessage: validationResult.message\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t\t/** Answers simples */\n\t\t\t\tif (!errors[item.id]) {\n\t\t\t\t\terrors[item.id] = {} as ValidationResult\n\t\t\t\t}\n\t\t\t\terrors[item.id] = {\n\t\t\t\t\tisValid: false, \n\t\t\t\t\tmessage: isAnswerValid(item, getAnswer(item, answers), t).message,\n\t\t\t\t\titems\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn errors;\n\t\t}\n\n blocks.forEach(block => {\n\t\t\tgetQuestions(block, answers).forEach(q => {\n\t\t\t\tvalidation(q);\n\t\t\t})\n\t\t});\n\t\tsetMessageValidation(errors);\n\n\t\tblocks.forEach(block => {\n if (!getQuestions(block, answers).every(q => isAnswerValid(q, getAnswer(q, answers), t).isValid )) {\n return false;\n }\n\t\t});\n\n\t\tif(Object.keys(errors).length > 0) {\n\t\t\treturn false;\n\t\t} else return true;\n\t};\n\n\tconst getParsedAnswers = () => {\n\t\tconst answersParsed = blocks\n\t\t.flatMap(block => getQuestions(block, answers))\n\t\t.map(question => ({id: question.id, type: question.answerType, value: getAnswer(question, answers)}));\n\t\treturn answersParsed;\n\t}\n\n useImperativeHandle(ref, () => ({\n async validateForm(): Promise {\n\t\t\tconst donnesBancairesResult = await triggerValidation();\n\t\t\tconst answersResult = validateAnswers();\n\t\t\tconst {iban, bic, banque, line1, line2, codePostal, ville} = getValues();\n if(!isValideDocuments){\n\t\t\t\ttoast.error(t('validation-messages.invalid-form'))\n\t\t\t\treturn false\n\t\t\t}\n\t\t\tconst donneesBancairesValues: CreateOrUpdateDonneesBancairesDto = {\n\t\t\t\tiban,\n\t\t\t\tbic,\n\t\t\t\tbanque,\n\t\t\t\tadresse: {\n\t\t\t\t\tline1,\n\t\t\t\t\tline2,\n\t\t\t\t\tcodePostal,\n\t\t\t\t\tville\n\t\t\t\t},\n\t\t\t\trib: {\n\t\t\t\t\tid: ribPJ?.file ? undefined : (ribPJ?.id || undefined),\n\t\t\t\t\tpartName: ribPJ?.file ? \"rib-PJ\" : undefined\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\tgetParsedAnswers().find(e => e.id === \"commande-musicale\")?.value === true && \n\t\t\t\t!getParsedAnswers().find(e => e.id === \"compositeurs\")?.value?.length\n\t\t\t) {\n\t\t\t\tsetcommandesInvalid(true);\n\t\t\t\treturn false;\n\t\t\t} else {\n\t\t\t\tsetcommandesInvalid(false);\n\t\t\t}\n\t\t\t\n\t\t\tif (donnesBancairesResult && answersResult) {\n\t\t\t\tsetIsLoading(true);\n\t\t\t\ttry {\n\t\t\t\t\tawait submitData(getParsedAnswers(), donneesBancairesValues);\n\t\t\t\t\tsetIsLoading(false);\n\t\t\t\t\treturn true;\n\t\t\t\t} catch(error) {\n\t\t\t\t\tsetIsLoading(false);\n\t\t\t\t\tif(error.additionalDetails?.errors) {\n\t\t\t\t\t\tObject.keys(error.additionalDetails?.errors).forEach(item =>\n\t\t\t\t\t\t\ttoast.error(error.additionalDetails?.errors[item][i18n.language])\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tif (error.exception?.message)\n\t\t\t\t\t\ttoast.error(error.exception.message);\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t} else {\n toast.error(t(\"validation-messages.invalid-form\"));\n\t\t\t}\n return false;\n }\n\t}));\n\t\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t

\n\t\t\t\t\t{t(\"createFolder.menu.descriptionProjet\")}\n\t\t\t\t

\n\t\t\t
\n\t\t\t
\n\t\t\t\t

{t(\"createFolder.description.title-contenu\")}

\n\t\t\t\t{blocks.filter(block => block.id !== \"donnees-bancaires\").map((block, i) =>{ \n\t\t\t\t\tif(block.id == 'pieces-jointes-obligatoires'){\n\t\t\t\t\t\tblock.questions = {...block}.questions.filter((q: any) => q.isShown ? q.isShown : true)\n\t\t\t\t\t}\t\t\t\t\t\n\t\t\t\t\treturn(\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t)})}\n\t\t\t\t{commandesInvalid &&\n\t\t\t\t\t
\n\t\t\t\t\t\t{t(\"validation-messages.not-empty-compositeurs\")}\n\t\t\t\t\t
\n\t\t\t\t}\n\t\t\t
\n\t\t\t
\n\t\t\t\t

{t(\"createFolder.description.title-bancaire\")}

\n\t\t\t\t{defaultDonneesBancaires.canEditRib\n\t\t\t\t\t? \n\t\t\t\t\t: \n\t\t\t\t}\n\t\t\t
\n\t\t
\n\t);\n});\n\nexport default Description;\n","import Table, { styleTable } from \"adel-shared/dist/components/basics/Table\";\nimport moment from 'moment';\nimport React, { FunctionComponent, useEffect, useMemo } from 'react';\nimport { useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { CellValue, useRowSelect, useSortBy, useTable } from 'react-table';\nimport { DocumentWithValidationDto, TypeDeDocumentDto, TypeDeDocumentExtraInfoDto } from '../../../services/generated/FrontOffice-api';\n\ninterface DocumentValidationProps {\n\tdocuments: DocumentWithValidationDto[];\n}\n\ninterface DocumentValidationTableData {\n\tType?: TypeDeDocumentDto,\n\tDate?: string;\n\tNom?: string;\n\tId?: string;\n\tUri?: string;\n}\n\nconst DocumentValidationLight: FunctionComponent = ({\n\tdocuments\n}) => {\n const { t, i18n } = useTranslation();\n const [data, setData] = useState([]);\n\n\tconst columns = useMemo(() => {\n\t\treturn [\n\t\t\t{\n\t\t\t\tHeader: \"Table\",\n\t\t\t\tcolumns: [\n\t\t\t\t\t{\n\t\t\t\t\t\tHeader: \"Type document\",\n\t\t\t\t\t\taccessor: \"Type\",\n\t\t\t\t\t\tdisableSortBy: true,\n\t\t\t\t\t\tCell: ({value}: {value: CellValue}) => {\n\t\t\t\t\t\t\tif(value?.isChoix) {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t

{value.nom?.[i18n.language]}

\n\t\t\t\t\t\t\t\t\t\t{value.extraInfos && value.extraInfos.length > 0 && (\n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t{value.extraInfos.map((x: TypeDeDocumentExtraInfoDto, i: number) => (\n\t\t\t\t\t\t\t\t\t\t\t\t\t
  • \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{x.nom?.[i18n.language]}\n\t\t\t\t\t\t\t\t\t\t\t\t\t
  • \n\t\t\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\treturn value?.nom?.[i18n.language] || t(`documents.${value?.code}`) || '';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tHeader: \"Date\",\n\t\t\t\t\t\taccessor: \"Date\",\n\t\t\t\t\t\tdisableSortBy: true,\n\t\t\t\t\t\tCell: (value: any) => (\n\t\t\t\t\t\t\t {value.value && moment(value.value).format('DD/MM/YYYY')} \n\t\t\t\t\t\t)\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tHeader: \"Nom\",\n\t\t\t\t\t\taccessor: \"Nom\",\n\t\t\t\t\t\tdisableSortBy: true,\n\t\t\t\t\t\tCell: (value: any) => (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t {value.value}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tHeader: \"Id\",\n\t\t\t\t\t\taccessor: \"Id\"\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tHeader: \"Uri\",\n\t\t\t\t\t\taccessor: \"Uri\"\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t];\n\t}, []);\n\n\tuseEffect(() => {\n\t\tif (documents?.length) {\n\t\t\tsetData(documents.map(doc => ({\n\t\t\t\tType: doc.type,\n\t\t\t\tDate: doc.extraInfo && doc.extraInfo.length > 0 && doc.extraInfo[0]?.valueType === \"date\" && doc.extraInfo[0]?.value,\n\t\t\t\tNom: doc.fileName,\n\t\t\t\tValidee: doc.validee,\n\t\t\t\tCommentaires: doc.commentaires,\n\t\t\t\tId: doc.id,\n\t\t\t\tUri: doc.uri\n\t\t\t})));\n\t\t}\n\t}, [documents]);\n\n\tconst { getTableProps, getTableBodyProps, headerGroups, rows, prepareRow, state } = useTable(\n\t\t{\n\t\t\tcolumns,\n\t\t\tdata: data || [],\n\t\t\tinitialState: {\n\t\t\t\thiddenColumns: [\"Id\", \"Uri\"]\n\t\t\t},\n\t\t\tmanualSortBy: true\n\t\t} as any,\n\t\tuseSortBy,\n\t\tuseRowSelect\n );\n\n return (\n <>\n\t\t\t\n \n );\n};\n\nexport default DocumentValidationLight;","import i18n from \"i18next\";\nimport { initReactI18next } from \"react-i18next\";\nimport LanguageDetector from 'i18next-browser-languagedetector';\nimport { Language } from \"./enums/Language\";\nimport translationEN from './i18n/en.json';\nimport translationFR from './i18n/fr.json';\n\nlet defaultLanguage = Language.FR;\n\n// the translations\nconst resources = {\n en: {\n translation: translationEN\n },\n fr: {\n translation: translationFR\n }\n};\n\ni18n\n .use(LanguageDetector)\n .use(initReactI18next) // passes i18n down to react-i18next\n .init({\n resources,\n lng: defaultLanguage,\n\n keySeparator: \".\", // to support nested translations\n\n interpolation: {\n escapeValue: false // react already safes from xss\n }\n });\n\n export default i18n;","/* tslint:disable */\r\n/* eslint-disable */\r\n//----------------------\r\n// \r\n// Generated using the NSwag toolchain v13.15.3.0 (NJsonSchema v10.6.4.0 (Newtonsoft.Json v13.0.0.0)) (http://NSwag.org)\r\n// \r\n//----------------------\r\n// ReSharper disable InconsistentNaming\r\nimport axios from 'axios';\r\nexport class AdresseClient {\r\n constructor(baseUrl, instance) {\r\n this.jsonParseReviver = undefined;\r\n this.instance = instance ? instance : axios.create();\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n /**\r\n * @param postcode (optional)\r\n * @return Success\r\n */\r\n searchAdresse(query, postcode, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Adresse/search?\";\r\n if (query === undefined || query === null)\r\n throw new Error(\"The parameter 'query' must be defined and cannot be null.\");\r\n else\r\n url_ += \"query=\" + encodeURIComponent(\"\" + query) + \"&\";\r\n if (postcode === null)\r\n throw new Error(\"The parameter 'postcode' cannot be null.\");\r\n else if (postcode !== undefined)\r\n url_ += \"postcode=\" + encodeURIComponent(\"\" + postcode) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processSearchAdresse(_response);\r\n });\r\n }\r\n processSearchAdresse(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\nexport class ArtisteClient {\r\n constructor(baseUrl, instance) {\r\n this.jsonParseReviver = undefined;\r\n this.instance = instance ? instance : axios.create();\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getArtiste(artisteId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Artiste/{artisteId}\";\r\n if (artisteId === undefined || artisteId === null)\r\n throw new Error(\"The parameter 'artisteId' must be defined.\");\r\n url_ = url_.replace(\"{artisteId}\", encodeURIComponent(\"\" + artisteId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetArtiste(_response);\r\n });\r\n }\r\n processGetArtiste(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param search (optional)\r\n * @return Success\r\n */\r\n autocompleteArtistePrenom(search, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Artiste/autocomplete/prenom?\";\r\n if (search === null)\r\n throw new Error(\"The parameter 'search' cannot be null.\");\r\n else if (search !== undefined)\r\n url_ += \"search=\" + encodeURIComponent(\"\" + search) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processAutocompleteArtistePrenom(_response);\r\n });\r\n }\r\n processAutocompleteArtistePrenom(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param search (optional)\r\n * @return Success\r\n */\r\n autocompleteArtisteNom(search, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Artiste/autocomplete/nom?\";\r\n if (search === null)\r\n throw new Error(\"The parameter 'search' cannot be null.\");\r\n else if (search !== undefined)\r\n url_ += \"search=\" + encodeURIComponent(\"\" + search) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processAutocompleteArtisteNom(_response);\r\n });\r\n }\r\n processAutocompleteArtisteNom(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\nexport class AuthClient {\r\n constructor(baseUrl, instance) {\r\n this.jsonParseReviver = undefined;\r\n this.instance = instance ? instance : axios.create();\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getAuthInfo(cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Auth/info\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetAuthInfo(_response);\r\n });\r\n }\r\n processGetAuthInfo(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n login(body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Auth/login\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processLogin(_response);\r\n });\r\n }\r\n processLogin(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n logout(cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Auth/logout\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {},\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processLogout(_response);\r\n });\r\n }\r\n processLogout(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\nexport class BordereauClient {\r\n constructor(baseUrl, instance) {\r\n this.jsonParseReviver = undefined;\r\n this.instance = instance ? instance : axios.create();\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n /**\r\n * @return Success\r\n */\r\n soumissionSignatureBordereau(bordereauId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Bordereau/{bordereauId}/soumission\";\r\n if (bordereauId === undefined || bordereauId === null)\r\n throw new Error(\"The parameter 'bordereauId' must be defined.\");\r\n url_ = url_.replace(\"{bordereauId}\", encodeURIComponent(\"\" + bordereauId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {},\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processSoumissionSignatureBordereau(_response);\r\n });\r\n }\r\n processSoumissionSignatureBordereau(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400 = null;\r\n let resultData400 = _responseText;\r\n result400 = resultData400;\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param typeBordereau (optional)\r\n * @return Success\r\n */\r\n getBordereaux(typeBordereau, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Bordereau?\";\r\n if (typeBordereau === null)\r\n throw new Error(\"The parameter 'typeBordereau' cannot be null.\");\r\n else if (typeBordereau !== undefined)\r\n url_ += \"typeBordereau=\" + encodeURIComponent(\"\" + typeBordereau) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetBordereaux(_response);\r\n });\r\n }\r\n processGetBordereaux(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getBordereauBlocageVersement(bordereauId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Bordereau/{bordereauId}/blocage\";\r\n if (bordereauId === undefined || bordereauId === null)\r\n throw new Error(\"The parameter 'bordereauId' must be defined.\");\r\n url_ = url_.replace(\"{bordereauId}\", encodeURIComponent(\"\" + bordereauId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetBordereauBlocageVersement(_response);\r\n });\r\n }\r\n processGetBordereauBlocageVersement(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n removeBlockedVersement(bordereauId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Bordereau/{bordereauId}/remove\";\r\n if (bordereauId === undefined || bordereauId === null)\r\n throw new Error(\"The parameter 'bordereauId' must be defined.\");\r\n url_ = url_.replace(\"{bordereauId}\", encodeURIComponent(\"\" + bordereauId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {},\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processRemoveBlockedVersement(_response);\r\n });\r\n }\r\n processRemoveBlockedVersement(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n clotureBordereauVersement(bordereauId, body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Bordereau/{bordereauId}/cloture\";\r\n if (bordereauId === undefined || bordereauId === null)\r\n throw new Error(\"The parameter 'bordereauId' must be defined.\");\r\n url_ = url_.replace(\"{bordereauId}\", encodeURIComponent(\"\" + bordereauId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processClotureBordereauVersement(_response);\r\n });\r\n }\r\n processClotureBordereauVersement(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400 = null;\r\n let resultData400 = _responseText;\r\n result400 = resultData400;\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n clotureBordereauReaffectation(cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Bordereau/cloture\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {},\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processClotureBordereauReaffectation(_response);\r\n });\r\n }\r\n processClotureBordereauReaffectation(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getBordereauVersement(bordereauId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Bordereau/{bordereauId}/versement\";\r\n if (bordereauId === undefined || bordereauId === null)\r\n throw new Error(\"The parameter 'bordereauId' must be defined.\");\r\n url_ = url_.replace(\"{bordereauId}\", encodeURIComponent(\"\" + bordereauId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetBordereauVersement(_response);\r\n });\r\n }\r\n processGetBordereauVersement(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getBordereauVersementPreparatoire(cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Bordereau/preparatoire/versement\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetBordereauVersementPreparatoire(_response);\r\n });\r\n }\r\n processGetBordereauVersementPreparatoire(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getBordereauReaffectation(bordereauId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Bordereau/{bordereauId}/reaffectation\";\r\n if (bordereauId === undefined || bordereauId === null)\r\n throw new Error(\"The parameter 'bordereauId' must be defined.\");\r\n url_ = url_.replace(\"{bordereauId}\", encodeURIComponent(\"\" + bordereauId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetBordereauReaffectation(_response);\r\n });\r\n }\r\n processGetBordereauReaffectation(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getBordereauReaffectationPreparatoire(cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Bordereau/preparatoire/reaffectation\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetBordereauReaffectationPreparatoire(_response);\r\n });\r\n }\r\n processGetBordereauReaffectationPreparatoire(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getBordereauReaffectationAmendable(cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Bordereau/amendable/reaffectation\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetBordereauReaffectationAmendable(_response);\r\n });\r\n }\r\n processGetBordereauReaffectationAmendable(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getMouvementsDemandeRemboursement(cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Bordereau/mouvements/demandeRemboursement\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetMouvementsDemandeRemboursement(_response);\r\n });\r\n }\r\n processGetMouvementsDemandeRemboursement(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n createRemboursement(mouvementId, body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Bordereau/mouvements/{mouvementId}/rembourser\";\r\n if (mouvementId === undefined || mouvementId === null)\r\n throw new Error(\"The parameter 'mouvementId' must be defined.\");\r\n url_ = url_.replace(\"{mouvementId}\", encodeURIComponent(\"\" + mouvementId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processCreateRemboursement(_response);\r\n });\r\n }\r\n processCreateRemboursement(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400 = null;\r\n let resultData400 = _responseText;\r\n result400 = resultData400;\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n deleteMouvement(mouvementId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Bordereau/mouvements/{mouvementId}\";\r\n if (mouvementId === undefined || mouvementId === null)\r\n throw new Error(\"The parameter 'mouvementId' must be defined.\");\r\n url_ = url_.replace(\"{mouvementId}\", encodeURIComponent(\"\" + mouvementId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {},\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processDeleteMouvement(_response);\r\n });\r\n }\r\n processDeleteMouvement(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401 = null;\r\n let resultData401 = _responseText;\r\n result401 = resultData401;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers, result401);\r\n }\r\n else if (status === 403) {\r\n const _responseText = response.data;\r\n let result403 = null;\r\n let resultData403 = _responseText;\r\n result403 = resultData403;\r\n return throwException(\"Forbidden\", status, _responseText, _headers, result403);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n archiveBordereau(bordereauId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Bordereau/{bordereauId}/archive\";\r\n if (bordereauId === undefined || bordereauId === null)\r\n throw new Error(\"The parameter 'bordereauId' must be defined.\");\r\n url_ = url_.replace(\"{bordereauId}\", encodeURIComponent(\"\" + bordereauId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {},\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processArchiveBordereau(_response);\r\n });\r\n }\r\n processArchiveBordereau(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getBordereauVersementAsExcel(bordereauId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Bordereau/{bordereauId}/export\";\r\n if (bordereauId === undefined || bordereauId === null)\r\n throw new Error(\"The parameter 'bordereauId' must be defined.\");\r\n url_ = url_.replace(\"{bordereauId}\", encodeURIComponent(\"\" + bordereauId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetBordereauVersementAsExcel(_response);\r\n });\r\n }\r\n processGetBordereauVersementAsExcel(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getBordereauVersementAsPDF(bordereauId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Bordereau/{bordereauId}/pdf\";\r\n if (bordereauId === undefined || bordereauId === null)\r\n throw new Error(\"The parameter 'bordereauId' must be defined.\");\r\n url_ = url_.replace(\"{bordereauId}\", encodeURIComponent(\"\" + bordereauId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n responseType: \"blob\",\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetBordereauVersementAsPDF(_response);\r\n });\r\n }\r\n processGetBordereauVersementAsPDF(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data]), headers: _headers });\r\n }\r\n else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400 = null;\r\n let resultData400 = _responseText;\r\n result400 = resultData400;\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getExportSEPA(bordereauId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Bordereau/{bordereauId}/sepa\";\r\n if (bordereauId === undefined || bordereauId === null)\r\n throw new Error(\"The parameter 'bordereauId' must be defined.\");\r\n url_ = url_.replace(\"{bordereauId}\", encodeURIComponent(\"\" + bordereauId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n responseType: \"blob\",\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetExportSEPA(_response);\r\n });\r\n }\r\n processGetExportSEPA(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data]), headers: _headers });\r\n }\r\n else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400 = null;\r\n let resultData400 = _responseText;\r\n result400 = resultData400;\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getBordereauVersementAsTxt(bordereauId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Bordereau/{bordereauId}/txt\";\r\n if (bordereauId === undefined || bordereauId === null)\r\n throw new Error(\"The parameter 'bordereauId' must be defined.\");\r\n url_ = url_.replace(\"{bordereauId}\", encodeURIComponent(\"\" + bordereauId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n responseType: \"blob\",\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/txt\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetBordereauVersementAsTxt(_response);\r\n });\r\n }\r\n processGetBordereauVersementAsTxt(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data]), headers: _headers });\r\n }\r\n else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400 = null;\r\n let resultData400 = _responseText;\r\n result400 = resultData400;\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\nexport class CategorieDossierClient {\r\n constructor(baseUrl, instance) {\r\n this.jsonParseReviver = undefined;\r\n this.instance = instance ? instance : axios.create();\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getCategoriesDossier(cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/CategorieDossier\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetCategoriesDossier(_response);\r\n });\r\n }\r\n processGetCategoriesDossier(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getCritereDeDossierCommissions(categorieId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/CategorieDossier/{categorieId}/commissions\";\r\n if (categorieId === undefined || categorieId === null)\r\n throw new Error(\"The parameter 'categorieId' must be defined.\");\r\n url_ = url_.replace(\"{categorieId}\", encodeURIComponent(\"\" + categorieId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetCritereDeDossierCommissions(_response);\r\n });\r\n }\r\n processGetCritereDeDossierCommissions(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getLastCritereDossier(categorieId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/CategorieDossier/{categorieId}/critereDossier\";\r\n if (categorieId === undefined || categorieId === null)\r\n throw new Error(\"The parameter 'categorieId' must be defined.\");\r\n url_ = url_.replace(\"{categorieId}\", encodeURIComponent(\"\" + categorieId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetLastCritereDossier(_response);\r\n });\r\n }\r\n processGetLastCritereDossier(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\nexport class CategorieFormeJuridiqueClient {\r\n constructor(baseUrl, instance) {\r\n this.jsonParseReviver = undefined;\r\n this.instance = instance ? instance : axios.create();\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getCategoriesFormeJuridique(cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/CategorieFormeJuridique\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetCategoriesFormeJuridique(_response);\r\n });\r\n }\r\n processGetCategoriesFormeJuridique(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n createCategorieFormeJuridique(body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/CategorieFormeJuridique\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processCreateCategorieFormeJuridique(_response);\r\n });\r\n }\r\n processCreateCategorieFormeJuridique(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 201) {\r\n const _responseText = response.data;\r\n let result201 = null;\r\n let resultData201 = _responseText;\r\n result201 = resultData201;\r\n return Promise.resolve(result201);\r\n }\r\n else if (status === 409) {\r\n const _responseText = response.data;\r\n let result409 = null;\r\n let resultData409 = _responseText;\r\n result409 = resultData409;\r\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n updateCategorieFormeJuridique(id, body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/CategorieFormeJuridique/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processUpdateCategorieFormeJuridique(_response);\r\n });\r\n }\r\n processUpdateCategorieFormeJuridique(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n deleteCategorieFormeJuridique(id, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/CategorieFormeJuridique/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {},\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processDeleteCategorieFormeJuridique(_response);\r\n });\r\n }\r\n processDeleteCategorieFormeJuridique(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status === 409) {\r\n const _responseText = response.data;\r\n let result409 = null;\r\n let resultData409 = _responseText;\r\n result409 = resultData409;\r\n return throwException(\"Conflict\", status, _responseText, _headers, result409);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * Associate categories to types de documents.\r\n Each key of the dictionary is an ID of a category and each value is a list of IDs of the types de document associated to this category.\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n updateCategoriesFormeJuridiqueTypesDeDocuments(body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/CategorieFormeJuridique/updateMapping\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processUpdateCategoriesFormeJuridiqueTypesDeDocuments(_response);\r\n });\r\n }\r\n processUpdateCategoriesFormeJuridiqueTypesDeDocuments(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\nexport class CommissionClient {\r\n constructor(baseUrl, instance) {\r\n this.jsonParseReviver = undefined;\r\n this.instance = instance ? instance : axios.create();\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n createCommission(body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Commission\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processCreateCommission(_response);\r\n });\r\n }\r\n processCreateCommission(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param filters (optional)\r\n * @param sorts (optional)\r\n * @param page (optional)\r\n * @param pageSize (optional)\r\n * @param disablePagination (optional)\r\n * @param year (optional)\r\n * @return Success\r\n */\r\n getCommissions(filters, sorts, page, pageSize, disablePagination, year, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Commission?\";\r\n if (filters === null)\r\n throw new Error(\"The parameter 'filters' cannot be null.\");\r\n else if (filters !== undefined)\r\n url_ += \"Filters=\" + encodeURIComponent(\"\" + filters) + \"&\";\r\n if (sorts === null)\r\n throw new Error(\"The parameter 'sorts' cannot be null.\");\r\n else if (sorts !== undefined)\r\n url_ += \"Sorts=\" + encodeURIComponent(\"\" + sorts) + \"&\";\r\n if (page === null)\r\n throw new Error(\"The parameter 'page' cannot be null.\");\r\n else if (page !== undefined)\r\n url_ += \"Page=\" + encodeURIComponent(\"\" + page) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n if (disablePagination === null)\r\n throw new Error(\"The parameter 'disablePagination' cannot be null.\");\r\n else if (disablePagination !== undefined)\r\n url_ += \"DisablePagination=\" + encodeURIComponent(\"\" + disablePagination) + \"&\";\r\n if (year === null)\r\n throw new Error(\"The parameter 'year' cannot be null.\");\r\n else if (year !== undefined)\r\n url_ += \"year=\" + encodeURIComponent(\"\" + year) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetCommissions(_response);\r\n });\r\n }\r\n processGetCommissions(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n updateCommission(commissionId, body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Commission/{commissionId}\";\r\n if (commissionId === undefined || commissionId === null)\r\n throw new Error(\"The parameter 'commissionId' must be defined.\");\r\n url_ = url_.replace(\"{commissionId}\", encodeURIComponent(\"\" + commissionId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processUpdateCommission(_response);\r\n });\r\n }\r\n processUpdateCommission(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getCommission(commissionId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Commission/{commissionId}\";\r\n if (commissionId === undefined || commissionId === null)\r\n throw new Error(\"The parameter 'commissionId' must be defined.\");\r\n url_ = url_.replace(\"{commissionId}\", encodeURIComponent(\"\" + commissionId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetCommission(_response);\r\n });\r\n }\r\n processGetCommission(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param code (optional)\r\n * @return Success\r\n */\r\n getCommissionDossiers(commissionId, code, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Commission/{commissionId}/deroulement?\";\r\n if (commissionId === undefined || commissionId === null)\r\n throw new Error(\"The parameter 'commissionId' must be defined.\");\r\n url_ = url_.replace(\"{commissionId}\", encodeURIComponent(\"\" + commissionId));\r\n if (code === null)\r\n throw new Error(\"The parameter 'code' cannot be null.\");\r\n else if (code !== undefined)\r\n url_ += \"code=\" + encodeURIComponent(\"\" + code) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetCommissionDossiers(_response);\r\n });\r\n }\r\n processGetCommissionDossiers(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param filters (optional)\r\n * @param sorts (optional)\r\n * @param page (optional)\r\n * @param pageSize (optional)\r\n * @param disablePagination (optional)\r\n * @return Success\r\n */\r\n getCommissionListingDossiers(commissionId, filters, sorts, page, pageSize, disablePagination, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Commission/{commissionId}/dossiers?\";\r\n if (commissionId === undefined || commissionId === null)\r\n throw new Error(\"The parameter 'commissionId' must be defined.\");\r\n url_ = url_.replace(\"{commissionId}\", encodeURIComponent(\"\" + commissionId));\r\n if (filters === null)\r\n throw new Error(\"The parameter 'filters' cannot be null.\");\r\n else if (filters !== undefined)\r\n url_ += \"Filters=\" + encodeURIComponent(\"\" + filters) + \"&\";\r\n if (sorts === null)\r\n throw new Error(\"The parameter 'sorts' cannot be null.\");\r\n else if (sorts !== undefined)\r\n url_ += \"Sorts=\" + encodeURIComponent(\"\" + sorts) + \"&\";\r\n if (page === null)\r\n throw new Error(\"The parameter 'page' cannot be null.\");\r\n else if (page !== undefined)\r\n url_ += \"Page=\" + encodeURIComponent(\"\" + page) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n if (disablePagination === null)\r\n throw new Error(\"The parameter 'disablePagination' cannot be null.\");\r\n else if (disablePagination !== undefined)\r\n url_ += \"DisablePagination=\" + encodeURIComponent(\"\" + disablePagination) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetCommissionListingDossiers(_response);\r\n });\r\n }\r\n processGetCommissionListingDossiers(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param filters (optional)\r\n * @param sorts (optional)\r\n * @param page (optional)\r\n * @param pageSize (optional)\r\n * @param disablePagination (optional)\r\n * @return Success\r\n */\r\n getSessionCADossiers(commissionId, filters, sorts, page, pageSize, disablePagination, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Commission/{commissionId}/dossiers/ca?\";\r\n if (commissionId === undefined || commissionId === null)\r\n throw new Error(\"The parameter 'commissionId' must be defined.\");\r\n url_ = url_.replace(\"{commissionId}\", encodeURIComponent(\"\" + commissionId));\r\n if (filters === null)\r\n throw new Error(\"The parameter 'filters' cannot be null.\");\r\n else if (filters !== undefined)\r\n url_ += \"Filters=\" + encodeURIComponent(\"\" + filters) + \"&\";\r\n if (sorts === null)\r\n throw new Error(\"The parameter 'sorts' cannot be null.\");\r\n else if (sorts !== undefined)\r\n url_ += \"Sorts=\" + encodeURIComponent(\"\" + sorts) + \"&\";\r\n if (page === null)\r\n throw new Error(\"The parameter 'page' cannot be null.\");\r\n else if (page !== undefined)\r\n url_ += \"Page=\" + encodeURIComponent(\"\" + page) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n if (disablePagination === null)\r\n throw new Error(\"The parameter 'disablePagination' cannot be null.\");\r\n else if (disablePagination !== undefined)\r\n url_ += \"DisablePagination=\" + encodeURIComponent(\"\" + disablePagination) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetSessionCADossiers(_response);\r\n });\r\n }\r\n processGetSessionCADossiers(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getCommissionDossiersAsExcel(commissionId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Commission/{commissionId}/dossiers/export\";\r\n if (commissionId === undefined || commissionId === null)\r\n throw new Error(\"The parameter 'commissionId' must be defined.\");\r\n url_ = url_.replace(\"{commissionId}\", encodeURIComponent(\"\" + commissionId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n responseType: \"blob\",\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetCommissionDossiersAsExcel(_response);\r\n });\r\n }\r\n processGetCommissionDossiersAsExcel(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data]), headers: _headers });\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getCommissionDossiersAccepteAsExcel(commissionId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Commission/{commissionId}/dossiers/accepte/export\";\r\n if (commissionId === undefined || commissionId === null)\r\n throw new Error(\"The parameter 'commissionId' must be defined.\");\r\n url_ = url_.replace(\"{commissionId}\", encodeURIComponent(\"\" + commissionId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n responseType: \"blob\",\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetCommissionDossiersAccepteAsExcel(_response);\r\n });\r\n }\r\n processGetCommissionDossiersAccepteAsExcel(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data]), headers: _headers });\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param filters (optional)\r\n * @param sorts (optional)\r\n * @param page (optional)\r\n * @param pageSize (optional)\r\n * @param disablePagination (optional)\r\n * @return Success\r\n */\r\n getSessionsCA(filters, sorts, page, pageSize, disablePagination, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Commission/ca?\";\r\n if (filters === null)\r\n throw new Error(\"The parameter 'filters' cannot be null.\");\r\n else if (filters !== undefined)\r\n url_ += \"Filters=\" + encodeURIComponent(\"\" + filters) + \"&\";\r\n if (sorts === null)\r\n throw new Error(\"The parameter 'sorts' cannot be null.\");\r\n else if (sorts !== undefined)\r\n url_ += \"Sorts=\" + encodeURIComponent(\"\" + sorts) + \"&\";\r\n if (page === null)\r\n throw new Error(\"The parameter 'page' cannot be null.\");\r\n else if (page !== undefined)\r\n url_ += \"Page=\" + encodeURIComponent(\"\" + page) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n if (disablePagination === null)\r\n throw new Error(\"The parameter 'disablePagination' cannot be null.\");\r\n else if (disablePagination !== undefined)\r\n url_ += \"DisablePagination=\" + encodeURIComponent(\"\" + disablePagination) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetSessionsCA(_response);\r\n });\r\n }\r\n processGetSessionsCA(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getCommissionsStartingDate(cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Commission/startingdate\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetCommissionsStartingDate(_response);\r\n });\r\n }\r\n processGetCommissionsStartingDate(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getCommissionsForDossier(dossierId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Commission/{dossierId}/commissions\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetCommissionsForDossier(_response);\r\n });\r\n }\r\n processGetCommissionsForDossier(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getCommissionTableauBord(commissionId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Commission/{commissionId}/tableaubord\";\r\n if (commissionId === undefined || commissionId === null)\r\n throw new Error(\"The parameter 'commissionId' must be defined.\");\r\n url_ = url_.replace(\"{commissionId}\", encodeURIComponent(\"\" + commissionId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetCommissionTableauBord(_response);\r\n });\r\n }\r\n processGetCommissionTableauBord(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getCommissionDossiersGenerationErrors(commissionId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Commission/{commissionId}/errors\";\r\n if (commissionId === undefined || commissionId === null)\r\n throw new Error(\"The parameter 'commissionId' must be defined.\");\r\n url_ = url_.replace(\"{commissionId}\", encodeURIComponent(\"\" + commissionId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetCommissionDossiersGenerationErrors(_response);\r\n });\r\n }\r\n processGetCommissionDossiersGenerationErrors(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n figeCommissionStatut(commissionId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Commission/{commissionId}/figeStatut\";\r\n if (commissionId === undefined || commissionId === null)\r\n throw new Error(\"The parameter 'commissionId' must be defined.\");\r\n url_ = url_.replace(\"{commissionId}\", encodeURIComponent(\"\" + commissionId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {},\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processFigeCommissionStatut(_response);\r\n });\r\n }\r\n processFigeCommissionStatut(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n openCommission(commissionId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Commission/{commissionId}/open\";\r\n if (commissionId === undefined || commissionId === null)\r\n throw new Error(\"The parameter 'commissionId' must be defined.\");\r\n url_ = url_.replace(\"{commissionId}\", encodeURIComponent(\"\" + commissionId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processOpenCommission(_response);\r\n });\r\n }\r\n processOpenCommission(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400 = null;\r\n let resultData400 = _responseText;\r\n result400 = resultData400;\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getCommissionHasParticipation(commissionId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Commission/{commissionId}/participation\";\r\n if (commissionId === undefined || commissionId === null)\r\n throw new Error(\"The parameter 'commissionId' must be defined.\");\r\n url_ = url_.replace(\"{commissionId}\", encodeURIComponent(\"\" + commissionId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetCommissionHasParticipation(_response);\r\n });\r\n }\r\n processGetCommissionHasParticipation(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n openSessionCA(commissionId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Commission/{commissionId}/openca\";\r\n if (commissionId === undefined || commissionId === null)\r\n throw new Error(\"The parameter 'commissionId' must be defined.\");\r\n url_ = url_.replace(\"{commissionId}\", encodeURIComponent(\"\" + commissionId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {},\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processOpenSessionCA(_response);\r\n });\r\n }\r\n processOpenSessionCA(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400 = null;\r\n let resultData400 = _responseText;\r\n result400 = resultData400;\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getCommissionMembers(commissionId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Commission/{commissionId}/members\";\r\n if (commissionId === undefined || commissionId === null)\r\n throw new Error(\"The parameter 'commissionId' must be defined.\");\r\n url_ = url_.replace(\"{commissionId}\", encodeURIComponent(\"\" + commissionId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetCommissionMembers(_response);\r\n });\r\n }\r\n processGetCommissionMembers(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param filters (optional)\r\n * @param sorts (optional)\r\n * @param page (optional)\r\n * @param pageSize (optional)\r\n * @param disablePagination (optional)\r\n * @return Success\r\n */\r\n getCommissionSigningSheetsPdf(commissionId, filters, sorts, page, pageSize, disablePagination, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Commission/{commissionId}/members/signingsheets?\";\r\n if (commissionId === undefined || commissionId === null)\r\n throw new Error(\"The parameter 'commissionId' must be defined.\");\r\n url_ = url_.replace(\"{commissionId}\", encodeURIComponent(\"\" + commissionId));\r\n if (filters === null)\r\n throw new Error(\"The parameter 'filters' cannot be null.\");\r\n else if (filters !== undefined)\r\n url_ += \"Filters=\" + encodeURIComponent(\"\" + filters) + \"&\";\r\n if (sorts === null)\r\n throw new Error(\"The parameter 'sorts' cannot be null.\");\r\n else if (sorts !== undefined)\r\n url_ += \"Sorts=\" + encodeURIComponent(\"\" + sorts) + \"&\";\r\n if (page === null)\r\n throw new Error(\"The parameter 'page' cannot be null.\");\r\n else if (page !== undefined)\r\n url_ += \"Page=\" + encodeURIComponent(\"\" + page) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n if (disablePagination === null)\r\n throw new Error(\"The parameter 'disablePagination' cannot be null.\");\r\n else if (disablePagination !== undefined)\r\n url_ += \"DisablePagination=\" + encodeURIComponent(\"\" + disablePagination) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n responseType: \"blob\",\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/pdf\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetCommissionSigningSheetsPdf(_response);\r\n });\r\n }\r\n processGetCommissionSigningSheetsPdf(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data]), headers: _headers });\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getCommissionEnveloppesBudgetaires(commissionId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Commission/{commissionId}/enveloppesBudgetaires\";\r\n if (commissionId === undefined || commissionId === null)\r\n throw new Error(\"The parameter 'commissionId' must be defined.\");\r\n url_ = url_.replace(\"{commissionId}\", encodeURIComponent(\"\" + commissionId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetCommissionEnveloppesBudgetaires(_response);\r\n });\r\n }\r\n processGetCommissionEnveloppesBudgetaires(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n updateCommissionEnveloppesBudgetaires(commissionId, body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Commission/{commissionId}/enveloppesBudgetaires\";\r\n if (commissionId === undefined || commissionId === null)\r\n throw new Error(\"The parameter 'commissionId' must be defined.\");\r\n url_ = url_.replace(\"{commissionId}\", encodeURIComponent(\"\" + commissionId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processUpdateCommissionEnveloppesBudgetaires(_response);\r\n });\r\n }\r\n processUpdateCommissionEnveloppesBudgetaires(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n closeCommission(commissionId, body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Commission/{commissionId}/close\";\r\n if (commissionId === undefined || commissionId === null)\r\n throw new Error(\"The parameter 'commissionId' must be defined.\");\r\n url_ = url_.replace(\"{commissionId}\", encodeURIComponent(\"\" + commissionId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processCloseCommission(_response);\r\n });\r\n }\r\n processCloseCommission(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n closeSessionCA(commissionId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Commission/{commissionId}/closeCA\";\r\n if (commissionId === undefined || commissionId === null)\r\n throw new Error(\"The parameter 'commissionId' must be defined.\");\r\n url_ = url_.replace(\"{commissionId}\", encodeURIComponent(\"\" + commissionId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {},\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processCloseSessionCA(_response);\r\n });\r\n }\r\n processCloseSessionCA(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n regenerateCommissionDocuments(commissionId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Commission/{commissionId}/regenerate\";\r\n if (commissionId === undefined || commissionId === null)\r\n throw new Error(\"The parameter 'commissionId' must be defined.\");\r\n url_ = url_.replace(\"{commissionId}\", encodeURIComponent(\"\" + commissionId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {},\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processRegenerateCommissionDocuments(_response);\r\n });\r\n }\r\n processRegenerateCommissionDocuments(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n updateCommissionContent(commissionId, body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Commission/{commissionId}/content\";\r\n if (commissionId === undefined || commissionId === null)\r\n throw new Error(\"The parameter 'commissionId' must be defined.\");\r\n url_ = url_.replace(\"{commissionId}\", encodeURIComponent(\"\" + commissionId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processUpdateCommissionContent(_response);\r\n });\r\n }\r\n processUpdateCommissionContent(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n updateCommissionCAContent(commissionId, body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Commission/{commissionId}/contentCA\";\r\n if (commissionId === undefined || commissionId === null)\r\n throw new Error(\"The parameter 'commissionId' must be defined.\");\r\n url_ = url_.replace(\"{commissionId}\", encodeURIComponent(\"\" + commissionId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processUpdateCommissionCAContent(_response);\r\n });\r\n }\r\n processUpdateCommissionCAContent(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n updateCommissionMemberList(commissionId, body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Commission/{commissionId}/memberlist/update\";\r\n if (commissionId === undefined || commissionId === null)\r\n throw new Error(\"The parameter 'commissionId' must be defined.\");\r\n url_ = url_.replace(\"{commissionId}\", encodeURIComponent(\"\" + commissionId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processUpdateCommissionMemberList(_response);\r\n });\r\n }\r\n processUpdateCommissionMemberList(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getCommissionDossiersCountForCourriers(commissionId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Commission/{commissionId}/count\";\r\n if (commissionId === undefined || commissionId === null)\r\n throw new Error(\"The parameter 'commissionId' must be defined.\");\r\n url_ = url_.replace(\"{commissionId}\", encodeURIComponent(\"\" + commissionId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetCommissionDossiersCountForCourriers(_response);\r\n });\r\n }\r\n processGetCommissionDossiersCountForCourriers(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getDossiersDSVFromCommissionAsExcel(commissionId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Commission/{commissionId}/export\";\r\n if (commissionId === undefined || commissionId === null)\r\n throw new Error(\"The parameter 'commissionId' must be defined.\");\r\n url_ = url_.replace(\"{commissionId}\", encodeURIComponent(\"\" + commissionId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetDossiersDSVFromCommissionAsExcel(_response);\r\n });\r\n }\r\n processGetDossiersDSVFromCommissionAsExcel(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param code (optional)\r\n * @return Success\r\n */\r\n getCommissionCourrierCommunication(commissionId, code, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Commission/{commissionId}/communication?\";\r\n if (commissionId === undefined || commissionId === null)\r\n throw new Error(\"The parameter 'commissionId' must be defined.\");\r\n url_ = url_.replace(\"{commissionId}\", encodeURIComponent(\"\" + commissionId));\r\n if (code === null)\r\n throw new Error(\"The parameter 'code' cannot be null.\");\r\n else if (code !== undefined)\r\n url_ += \"code=\" + encodeURIComponent(\"\" + code) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n responseType: \"blob\",\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/pdf\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetCommissionCourrierCommunication(_response);\r\n });\r\n }\r\n processGetCommissionCourrierCommunication(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data]), headers: _headers });\r\n }\r\n else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400 = null;\r\n let resultData400 = _responseText;\r\n result400 = resultData400;\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getCommissionPlanComptable(commissionId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Commission/{commissionId}/plancompta\";\r\n if (commissionId === undefined || commissionId === null)\r\n throw new Error(\"The parameter 'commissionId' must be defined.\");\r\n url_ = url_.replace(\"{commissionId}\", encodeURIComponent(\"\" + commissionId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n responseType: \"blob\",\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/txt\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetCommissionPlanComptable(_response);\r\n });\r\n }\r\n processGetCommissionPlanComptable(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data]), headers: _headers });\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param onCa (optional)\r\n * @return Success\r\n */\r\n getCommissionEcritureAttribution(commissionId, onCa, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Commission/{commissionId}/attribution?\";\r\n if (commissionId === undefined || commissionId === null)\r\n throw new Error(\"The parameter 'commissionId' must be defined.\");\r\n url_ = url_.replace(\"{commissionId}\", encodeURIComponent(\"\" + commissionId));\r\n if (onCa === null)\r\n throw new Error(\"The parameter 'onCa' cannot be null.\");\r\n else if (onCa !== undefined)\r\n url_ += \"onCa=\" + encodeURIComponent(\"\" + onCa) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n responseType: \"blob\",\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/zip\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetCommissionEcritureAttribution(_response);\r\n });\r\n }\r\n processGetCommissionEcritureAttribution(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data]), headers: _headers });\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getCommissionEcritureReaffectation(commissionId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Commission/{commissionId}/reaffectation\";\r\n if (commissionId === undefined || commissionId === null)\r\n throw new Error(\"The parameter 'commissionId' must be defined.\");\r\n url_ = url_.replace(\"{commissionId}\", encodeURIComponent(\"\" + commissionId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n responseType: \"blob\",\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/zip\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetCommissionEcritureReaffectation(_response);\r\n });\r\n }\r\n processGetCommissionEcritureReaffectation(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data]), headers: _headers });\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\nexport class CommissionMemberClient {\r\n constructor(baseUrl, instance) {\r\n this.jsonParseReviver = undefined;\r\n this.instance = instance ? instance : axios.create();\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n createCommissionMember(body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/CommissionMember/createCommissionMember\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processCreateCommissionMember(_response);\r\n });\r\n }\r\n processCreateCommissionMember(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n updateCommissionMember(commissionMemberId, body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/CommissionMember/{commissionMemberId}\";\r\n if (commissionMemberId === undefined || commissionMemberId === null)\r\n throw new Error(\"The parameter 'commissionMemberId' must be defined.\");\r\n url_ = url_.replace(\"{commissionMemberId}\", encodeURIComponent(\"\" + commissionMemberId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processUpdateCommissionMember(_response);\r\n });\r\n }\r\n processUpdateCommissionMember(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getCommissionsMember(commissionMemberId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/CommissionMember/{commissionMemberId}\";\r\n if (commissionMemberId === undefined || commissionMemberId === null)\r\n throw new Error(\"The parameter 'commissionMemberId' must be defined.\");\r\n url_ = url_.replace(\"{commissionMemberId}\", encodeURIComponent(\"\" + commissionMemberId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetCommissionsMember(_response);\r\n });\r\n }\r\n processGetCommissionsMember(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param filters (optional)\r\n * @param sorts (optional)\r\n * @param page (optional)\r\n * @param pageSize (optional)\r\n * @param disablePagination (optional)\r\n * @return Success\r\n */\r\n getCommissionsMembers(filters, sorts, page, pageSize, disablePagination, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/CommissionMember?\";\r\n if (filters === null)\r\n throw new Error(\"The parameter 'filters' cannot be null.\");\r\n else if (filters !== undefined)\r\n url_ += \"Filters=\" + encodeURIComponent(\"\" + filters) + \"&\";\r\n if (sorts === null)\r\n throw new Error(\"The parameter 'sorts' cannot be null.\");\r\n else if (sorts !== undefined)\r\n url_ += \"Sorts=\" + encodeURIComponent(\"\" + sorts) + \"&\";\r\n if (page === null)\r\n throw new Error(\"The parameter 'page' cannot be null.\");\r\n else if (page !== undefined)\r\n url_ += \"Page=\" + encodeURIComponent(\"\" + page) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n if (disablePagination === null)\r\n throw new Error(\"The parameter 'disablePagination' cannot be null.\");\r\n else if (disablePagination !== undefined)\r\n url_ += \"DisablePagination=\" + encodeURIComponent(\"\" + disablePagination) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetCommissionsMembers(_response);\r\n });\r\n }\r\n processGetCommissionsMembers(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\nexport class ComptabiliteClient {\r\n constructor(baseUrl, instance) {\r\n this.jsonParseReviver = undefined;\r\n this.instance = instance ? instance : axios.create();\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n /**\r\n * @param dateExport (optional)\r\n * @return Success\r\n */\r\n getDossierNonSoldeAsExcel(dateExport, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Comptabilite/export?\";\r\n if (dateExport === null)\r\n throw new Error(\"The parameter 'dateExport' cannot be null.\");\r\n else if (dateExport !== undefined)\r\n url_ += \"dateExport=\" + encodeURIComponent(dateExport ? \"\" + dateExport.toJSON() : \"\") + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetDossierNonSoldeAsExcel(_response);\r\n });\r\n }\r\n processGetDossierNonSoldeAsExcel(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\nexport class CompteBancaireClient {\r\n constructor(baseUrl, instance) {\r\n this.jsonParseReviver = undefined;\r\n this.instance = instance ? instance : axios.create();\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n createOrUpdateCompteBancaire(body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/CompteBancaire/compte\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processCreateOrUpdateCompteBancaire(_response);\r\n });\r\n }\r\n processCreateOrUpdateCompteBancaire(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getAllComptesBancaires(cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/CompteBancaire/comptes\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetAllComptesBancaires(_response);\r\n });\r\n }\r\n processGetAllComptesBancaires(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n deleteCompteBancaire(compteBancaireId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/CompteBancaire/{compteBancaireId}\";\r\n if (compteBancaireId === undefined || compteBancaireId === null)\r\n throw new Error(\"The parameter 'compteBancaireId' must be defined.\");\r\n url_ = url_.replace(\"{compteBancaireId}\", encodeURIComponent(\"\" + compteBancaireId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {},\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processDeleteCompteBancaire(_response);\r\n });\r\n }\r\n processDeleteCompteBancaire(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\nexport class DiscussionClient {\r\n constructor(baseUrl, instance) {\r\n this.jsonParseReviver = undefined;\r\n this.instance = instance ? instance : axios.create();\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n createDiscussionStructure(structureId, body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Discussion/structure/{structureId}\";\r\n if (structureId === undefined || structureId === null)\r\n throw new Error(\"The parameter 'structureId' must be defined.\");\r\n url_ = url_.replace(\"{structureId}\", encodeURIComponent(\"\" + structureId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processCreateDiscussionStructure(_response);\r\n });\r\n }\r\n processCreateDiscussionStructure(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 201) {\r\n const _responseText = response.data;\r\n let result201 = null;\r\n let resultData201 = _responseText;\r\n result201 = resultData201;\r\n return Promise.resolve(result201);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getDiscussionsStructure(structureId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Discussion/structure/{structureId}\";\r\n if (structureId === undefined || structureId === null)\r\n throw new Error(\"The parameter 'structureId' must be defined.\");\r\n url_ = url_.replace(\"{structureId}\", encodeURIComponent(\"\" + structureId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetDiscussionsStructure(_response);\r\n });\r\n }\r\n processGetDiscussionsStructure(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n createDiscussionDossier(dossierId, body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Discussion/dossier/{dossierId}\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processCreateDiscussionDossier(_response);\r\n });\r\n }\r\n processCreateDiscussionDossier(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 201) {\r\n const _responseText = response.data;\r\n let result201 = null;\r\n let resultData201 = _responseText;\r\n result201 = resultData201;\r\n return Promise.resolve(result201);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getDiscussionsDossier(dossierId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Discussion/dossier/{dossierId}\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetDiscussionsDossier(_response);\r\n });\r\n }\r\n processGetDiscussionsDossier(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param contenu (optional)\r\n * @param piecesJointes (optional)\r\n * @return Success\r\n */\r\n createMessageDiscussion(discussionId, contenu, piecesJointes, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Discussion/{discussionId}/message\";\r\n if (discussionId === undefined || discussionId === null)\r\n throw new Error(\"The parameter 'discussionId' must be defined.\");\r\n url_ = url_.replace(\"{discussionId}\", encodeURIComponent(\"\" + discussionId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = new FormData();\r\n if (contenu === null || contenu === undefined)\r\n throw new Error(\"The parameter 'contenu' cannot be null.\");\r\n else\r\n content_.append(\"Contenu\", contenu.toString());\r\n if (piecesJointes === null || piecesJointes === undefined)\r\n throw new Error(\"The parameter 'piecesJointes' cannot be null.\");\r\n else\r\n piecesJointes.forEach(item_ => content_.append(\"PiecesJointes\", item_.data, item_.fileName ? item_.fileName : \"PiecesJointes\"));\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processCreateMessageDiscussion(_response);\r\n });\r\n }\r\n processCreateMessageDiscussion(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 201) {\r\n const _responseText = response.data;\r\n let result201 = null;\r\n let resultData201 = _responseText;\r\n result201 = resultData201;\r\n return Promise.resolve(result201);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param filters (optional)\r\n * @param sorts (optional)\r\n * @param page (optional)\r\n * @param pageSize (optional)\r\n * @param disablePagination (optional)\r\n * @param contenu (optional)\r\n * @param piecesJointes (optional)\r\n * @return Success\r\n */\r\n createMultipleDossierDiscussion(filters, sorts, page, pageSize, disablePagination, contenu, piecesJointes, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Discussion/dossier/multiple?\";\r\n if (filters === null)\r\n throw new Error(\"The parameter 'filters' cannot be null.\");\r\n else if (filters !== undefined)\r\n url_ += \"Filters=\" + encodeURIComponent(\"\" + filters) + \"&\";\r\n if (sorts === null)\r\n throw new Error(\"The parameter 'sorts' cannot be null.\");\r\n else if (sorts !== undefined)\r\n url_ += \"Sorts=\" + encodeURIComponent(\"\" + sorts) + \"&\";\r\n if (page === null)\r\n throw new Error(\"The parameter 'page' cannot be null.\");\r\n else if (page !== undefined)\r\n url_ += \"Page=\" + encodeURIComponent(\"\" + page) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n if (disablePagination === null)\r\n throw new Error(\"The parameter 'disablePagination' cannot be null.\");\r\n else if (disablePagination !== undefined)\r\n url_ += \"DisablePagination=\" + encodeURIComponent(\"\" + disablePagination) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = new FormData();\r\n if (contenu === null || contenu === undefined)\r\n throw new Error(\"The parameter 'contenu' cannot be null.\");\r\n else\r\n content_.append(\"Contenu\", contenu.toString());\r\n if (piecesJointes === null || piecesJointes === undefined)\r\n throw new Error(\"The parameter 'piecesJointes' cannot be null.\");\r\n else\r\n piecesJointes.forEach(item_ => content_.append(\"PiecesJointes\", item_.data, item_.fileName ? item_.fileName : \"PiecesJointes\"));\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {},\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processCreateMultipleDossierDiscussion(_response);\r\n });\r\n }\r\n processCreateMultipleDossierDiscussion(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param filters (optional)\r\n * @param sorts (optional)\r\n * @param page (optional)\r\n * @param pageSize (optional)\r\n * @param disablePagination (optional)\r\n * @param contenu (optional)\r\n * @param piecesJointes (optional)\r\n * @return Success\r\n */\r\n createMultipleStructureDiscussion(filters, sorts, page, pageSize, disablePagination, contenu, piecesJointes, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Discussion/structure/multiple?\";\r\n if (filters === null)\r\n throw new Error(\"The parameter 'filters' cannot be null.\");\r\n else if (filters !== undefined)\r\n url_ += \"Filters=\" + encodeURIComponent(\"\" + filters) + \"&\";\r\n if (sorts === null)\r\n throw new Error(\"The parameter 'sorts' cannot be null.\");\r\n else if (sorts !== undefined)\r\n url_ += \"Sorts=\" + encodeURIComponent(\"\" + sorts) + \"&\";\r\n if (page === null)\r\n throw new Error(\"The parameter 'page' cannot be null.\");\r\n else if (page !== undefined)\r\n url_ += \"Page=\" + encodeURIComponent(\"\" + page) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n if (disablePagination === null)\r\n throw new Error(\"The parameter 'disablePagination' cannot be null.\");\r\n else if (disablePagination !== undefined)\r\n url_ += \"DisablePagination=\" + encodeURIComponent(\"\" + disablePagination) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = new FormData();\r\n if (contenu === null || contenu === undefined)\r\n throw new Error(\"The parameter 'contenu' cannot be null.\");\r\n else\r\n content_.append(\"Contenu\", contenu.toString());\r\n if (piecesJointes === null || piecesJointes === undefined)\r\n throw new Error(\"The parameter 'piecesJointes' cannot be null.\");\r\n else\r\n piecesJointes.forEach(item_ => content_.append(\"PiecesJointes\", item_.data, item_.fileName ? item_.fileName : \"PiecesJointes\"));\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {},\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processCreateMultipleStructureDiscussion(_response);\r\n });\r\n }\r\n processCreateMultipleStructureDiscussion(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n updateStatutDiscussion(discussionId, body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Discussion/{discussionId}\";\r\n if (discussionId === undefined || discussionId === null)\r\n throw new Error(\"The parameter 'discussionId' must be defined.\");\r\n url_ = url_.replace(\"{discussionId}\", encodeURIComponent(\"\" + discussionId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processUpdateStatutDiscussion(_response);\r\n });\r\n }\r\n processUpdateStatutDiscussion(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getObjetsDiscussionsDossier(cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Discussion/dossier/objets\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetObjetsDiscussionsDossier(_response);\r\n });\r\n }\r\n processGetObjetsDiscussionsDossier(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getObjetsDiscussionsStructure(cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Discussion/structure/objets\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetObjetsDiscussionsStructure(_response);\r\n });\r\n }\r\n processGetObjetsDiscussionsStructure(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n setDiscussionLu(discussionId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Discussion/{discussionId}/lu\";\r\n if (discussionId === undefined || discussionId === null)\r\n throw new Error(\"The parameter 'discussionId' must be defined.\");\r\n url_ = url_.replace(\"{discussionId}\", encodeURIComponent(\"\" + discussionId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {},\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processSetDiscussionLu(_response);\r\n });\r\n }\r\n processSetDiscussionLu(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\nexport class DossierClient {\r\n constructor(baseUrl, instance) {\r\n this.jsonParseReviver = undefined;\r\n this.instance = instance ? instance : axios.create();\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n /**\r\n * @param filters (optional)\r\n * @param sorts (optional)\r\n * @param page (optional)\r\n * @param pageSize (optional)\r\n * @param disablePagination (optional)\r\n * @param artisteNom (optional)\r\n * @param artistePrenom (optional)\r\n * @return Success\r\n */\r\n getDossiers(filters, sorts, page, pageSize, disablePagination, artisteNom, artistePrenom, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier?\";\r\n if (filters === null)\r\n throw new Error(\"The parameter 'filters' cannot be null.\");\r\n else if (filters !== undefined)\r\n url_ += \"Filters=\" + encodeURIComponent(\"\" + filters) + \"&\";\r\n if (sorts === null)\r\n throw new Error(\"The parameter 'sorts' cannot be null.\");\r\n else if (sorts !== undefined)\r\n url_ += \"Sorts=\" + encodeURIComponent(\"\" + sorts) + \"&\";\r\n if (page === null)\r\n throw new Error(\"The parameter 'page' cannot be null.\");\r\n else if (page !== undefined)\r\n url_ += \"Page=\" + encodeURIComponent(\"\" + page) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n if (disablePagination === null)\r\n throw new Error(\"The parameter 'disablePagination' cannot be null.\");\r\n else if (disablePagination !== undefined)\r\n url_ += \"DisablePagination=\" + encodeURIComponent(\"\" + disablePagination) + \"&\";\r\n if (artisteNom === null)\r\n throw new Error(\"The parameter 'artisteNom' cannot be null.\");\r\n else if (artisteNom !== undefined)\r\n url_ += \"artisteNom=\" + encodeURIComponent(\"\" + artisteNom) + \"&\";\r\n if (artistePrenom === null)\r\n throw new Error(\"The parameter 'artistePrenom' cannot be null.\");\r\n else if (artistePrenom !== undefined)\r\n url_ += \"artistePrenom=\" + encodeURIComponent(\"\" + artistePrenom) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetDossiers(_response);\r\n });\r\n }\r\n processGetDossiers(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param filters (optional)\r\n * @param sorts (optional)\r\n * @param page (optional)\r\n * @param pageSize (optional)\r\n * @param disablePagination (optional)\r\n * @return Success\r\n */\r\n getDossierFilteredAsExcel(filters, sorts, page, pageSize, disablePagination, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/export?\";\r\n if (filters === null)\r\n throw new Error(\"The parameter 'filters' cannot be null.\");\r\n else if (filters !== undefined)\r\n url_ += \"Filters=\" + encodeURIComponent(\"\" + filters) + \"&\";\r\n if (sorts === null)\r\n throw new Error(\"The parameter 'sorts' cannot be null.\");\r\n else if (sorts !== undefined)\r\n url_ += \"Sorts=\" + encodeURIComponent(\"\" + sorts) + \"&\";\r\n if (page === null)\r\n throw new Error(\"The parameter 'page' cannot be null.\");\r\n else if (page !== undefined)\r\n url_ += \"Page=\" + encodeURIComponent(\"\" + page) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n if (disablePagination === null)\r\n throw new Error(\"The parameter 'disablePagination' cannot be null.\");\r\n else if (disablePagination !== undefined)\r\n url_ += \"DisablePagination=\" + encodeURIComponent(\"\" + disablePagination) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetDossierFilteredAsExcel(_response);\r\n });\r\n }\r\n processGetDossierFilteredAsExcel(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getDossierInstruction(dossierId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/instruction\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetDossierInstruction(_response);\r\n });\r\n }\r\n processGetDossierInstruction(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param statut (optional)\r\n * @param chargeInstructionId (optional)\r\n * @param commissionId (optional)\r\n * @param dSV (optional)\r\n * @param blocageJuridique (optional)\r\n * @param blocageAvis (optional)\r\n * @param motifBlocageJuridique (optional)\r\n * @param rIBModifiableParStructure (optional)\r\n * @param modifiableParStructure (optional)\r\n * @param commentairesInstruction (optional)\r\n * @param subCategorieId (optional)\r\n * @param documents (optional)\r\n * @param files (optional)\r\n * @return Success\r\n */\r\n updateDossierInstruction(dossierId, statut, chargeInstructionId, commissionId, dSV, blocageJuridique, blocageAvis, motifBlocageJuridique, rIBModifiableParStructure, modifiableParStructure, commentairesInstruction, subCategorieId, documents, files, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/instruction\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = new FormData();\r\n if (statut === null || statut === undefined)\r\n throw new Error(\"The parameter 'statut' cannot be null.\");\r\n else\r\n content_.append(\"Statut\", statut.toString());\r\n if (chargeInstructionId === null || chargeInstructionId === undefined)\r\n throw new Error(\"The parameter 'chargeInstructionId' cannot be null.\");\r\n else\r\n content_.append(\"ChargeInstructionId\", chargeInstructionId.toString());\r\n if (commissionId === null || commissionId === undefined)\r\n throw new Error(\"The parameter 'commissionId' cannot be null.\");\r\n else\r\n content_.append(\"CommissionId\", commissionId.toString());\r\n if (dSV === null || dSV === undefined)\r\n throw new Error(\"The parameter 'dSV' cannot be null.\");\r\n else\r\n content_.append(\"DSV\", dSV.toString());\r\n if (blocageJuridique === null || blocageJuridique === undefined)\r\n throw new Error(\"The parameter 'blocageJuridique' cannot be null.\");\r\n else\r\n content_.append(\"BlocageJuridique\", blocageJuridique.toString());\r\n if (blocageAvis === null || blocageAvis === undefined)\r\n throw new Error(\"The parameter 'blocageAvis' cannot be null.\");\r\n else\r\n content_.append(\"BlocageAvis\", blocageAvis.toString());\r\n if (motifBlocageJuridique === null || motifBlocageJuridique === undefined)\r\n throw new Error(\"The parameter 'motifBlocageJuridique' cannot be null.\");\r\n else\r\n content_.append(\"MotifBlocageJuridique\", motifBlocageJuridique.toString());\r\n if (rIBModifiableParStructure === null || rIBModifiableParStructure === undefined)\r\n throw new Error(\"The parameter 'rIBModifiableParStructure' cannot be null.\");\r\n else\r\n content_.append(\"RIBModifiableParStructure\", rIBModifiableParStructure.toString());\r\n if (modifiableParStructure === null || modifiableParStructure === undefined)\r\n throw new Error(\"The parameter 'modifiableParStructure' cannot be null.\");\r\n else\r\n content_.append(\"ModifiableParStructure\", modifiableParStructure.toString());\r\n if (commentairesInstruction === null || commentairesInstruction === undefined)\r\n throw new Error(\"The parameter 'commentairesInstruction' cannot be null.\");\r\n else\r\n content_.append(\"CommentairesInstruction\", commentairesInstruction.toString());\r\n if (subCategorieId === null || subCategorieId === undefined)\r\n throw new Error(\"The parameter 'subCategorieId' cannot be null.\");\r\n else\r\n content_.append(\"SubCategorieId\", subCategorieId.toString());\r\n if (documents === null || documents === undefined)\r\n throw new Error(\"The parameter 'documents' cannot be null.\");\r\n else\r\n documents.forEach(item_ => content_.append(\"Documents\", item_.toString()));\r\n if (files === null || files === undefined)\r\n throw new Error(\"The parameter 'files' cannot be null.\");\r\n else\r\n files.forEach(item_ => content_.append(\"files\", item_.data, item_.fileName ? item_.fileName : \"files\"));\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {},\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processUpdateDossierInstruction(_response);\r\n });\r\n }\r\n processUpdateDossierInstruction(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getDossierCommission(dossierId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/commission\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetDossierCommission(_response);\r\n });\r\n }\r\n processGetDossierCommission(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param structureId (optional)\r\n * @param search (optional)\r\n * @return Success\r\n */\r\n autocompleteResponsable(structureId, search, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/autocomplete/responsable?\";\r\n if (structureId === null)\r\n throw new Error(\"The parameter 'structureId' cannot be null.\");\r\n else if (structureId !== undefined)\r\n url_ += \"structureId=\" + encodeURIComponent(\"\" + structureId) + \"&\";\r\n if (search === null)\r\n throw new Error(\"The parameter 'search' cannot be null.\");\r\n else if (search !== undefined)\r\n url_ += \"search=\" + encodeURIComponent(\"\" + search) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processAutocompleteResponsable(_response);\r\n });\r\n }\r\n processAutocompleteResponsable(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param search (optional)\r\n * @return Success\r\n */\r\n autocompleteResponsablePrenom(search, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/autocomplete/responsable/prenom?\";\r\n if (search === null)\r\n throw new Error(\"The parameter 'search' cannot be null.\");\r\n else if (search !== undefined)\r\n url_ += \"search=\" + encodeURIComponent(\"\" + search) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processAutocompleteResponsablePrenom(_response);\r\n });\r\n }\r\n processAutocompleteResponsablePrenom(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param search (optional)\r\n * @return Success\r\n */\r\n autocompleteResponsableNom(search, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/autocomplete/responsable/nom?\";\r\n if (search === null)\r\n throw new Error(\"The parameter 'search' cannot be null.\");\r\n else if (search !== undefined)\r\n url_ += \"search=\" + encodeURIComponent(\"\" + search) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processAutocompleteResponsableNom(_response);\r\n });\r\n }\r\n processAutocompleteResponsableNom(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param search (optional)\r\n * @return Success\r\n */\r\n autocompleteChargeInstructionNom(search, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/autocomplete/chargeInstruction/nom?\";\r\n if (search === null)\r\n throw new Error(\"The parameter 'search' cannot be null.\");\r\n else if (search !== undefined)\r\n url_ += \"search=\" + encodeURIComponent(\"\" + search) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processAutocompleteChargeInstructionNom(_response);\r\n });\r\n }\r\n processAutocompleteChargeInstructionNom(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param search (optional)\r\n * @return Success\r\n */\r\n autocompleteChargeInstructionPrenom(search, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/autocomplete/chargeInstruction/prenom?\";\r\n if (search === null)\r\n throw new Error(\"The parameter 'search' cannot be null.\");\r\n else if (search !== undefined)\r\n url_ += \"search=\" + encodeURIComponent(\"\" + search) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processAutocompleteChargeInstructionPrenom(_response);\r\n });\r\n }\r\n processAutocompleteChargeInstructionPrenom(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param langue (optional)\r\n * @return Success\r\n */\r\n getCurrentCriteresPdf(categorieId, langue, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/categorie/{categorieId}/critere/currentPdf?\";\r\n if (categorieId === undefined || categorieId === null)\r\n throw new Error(\"The parameter 'categorieId' must be defined.\");\r\n url_ = url_.replace(\"{categorieId}\", encodeURIComponent(\"\" + categorieId));\r\n if (langue === null)\r\n throw new Error(\"The parameter 'langue' cannot be null.\");\r\n else if (langue !== undefined)\r\n url_ += \"langue=\" + encodeURIComponent(\"\" + langue) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n responseType: \"blob\",\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/pdf\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetCurrentCriteresPdf(_response);\r\n });\r\n }\r\n processGetCurrentCriteresPdf(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data]), headers: _headers });\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param langue (optional)\r\n * @return Success\r\n */\r\n getCriteresPdf(critereId, langue, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/critere/{critereId}/pdf?\";\r\n if (critereId === undefined || critereId === null)\r\n throw new Error(\"The parameter 'critereId' must be defined.\");\r\n url_ = url_.replace(\"{critereId}\", encodeURIComponent(\"\" + critereId));\r\n if (langue === null)\r\n throw new Error(\"The parameter 'langue' cannot be null.\");\r\n else if (langue !== undefined)\r\n url_ += \"langue=\" + encodeURIComponent(\"\" + langue) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n responseType: \"blob\",\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/pdf\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetCriteresPdf(_response);\r\n });\r\n }\r\n processGetCriteresPdf(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data]), headers: _headers });\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * Returns a list of critere dossier\r\n * @param categorieId (optional)\r\n * @param version (optional)\r\n * @param sortBy (optional)\r\n * @param sortDirection (optional)\r\n * @param page (optional)\r\n * @param pageSize (optional)\r\n * @return Success\r\n */\r\n getCriteresDossier(categorieId, version, sortBy, sortDirection, page, pageSize, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/critere?\";\r\n if (categorieId === null)\r\n throw new Error(\"The parameter 'categorieId' cannot be null.\");\r\n else if (categorieId !== undefined)\r\n url_ += \"CategorieId=\" + encodeURIComponent(\"\" + categorieId) + \"&\";\r\n if (version === null)\r\n throw new Error(\"The parameter 'version' cannot be null.\");\r\n else if (version !== undefined)\r\n url_ += \"Version=\" + encodeURIComponent(\"\" + version) + \"&\";\r\n if (sortBy === null)\r\n throw new Error(\"The parameter 'sortBy' cannot be null.\");\r\n else if (sortBy !== undefined)\r\n url_ += \"SortBy=\" + encodeURIComponent(\"\" + sortBy) + \"&\";\r\n if (sortDirection === null)\r\n throw new Error(\"The parameter 'sortDirection' cannot be null.\");\r\n else if (sortDirection !== undefined)\r\n url_ += \"SortDirection=\" + encodeURIComponent(\"\" + sortDirection) + \"&\";\r\n if (page === null)\r\n throw new Error(\"The parameter 'page' cannot be null.\");\r\n else if (page !== undefined)\r\n url_ += \"Page=\" + encodeURIComponent(\"\" + page) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetCriteresDossier(_response);\r\n });\r\n }\r\n processGetCriteresDossier(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n createCritereDossier(body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/critere\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processCreateCritereDossier(_response);\r\n });\r\n }\r\n processCreateCritereDossier(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 201) {\r\n const _responseText = response.data;\r\n let result201 = null;\r\n let resultData201 = _responseText;\r\n result201 = resultData201;\r\n return Promise.resolve(result201);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getCritereDossier(critereId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/critere/{critereId}\";\r\n if (critereId === undefined || critereId === null)\r\n throw new Error(\"The parameter 'critereId' must be defined.\");\r\n url_ = url_.replace(\"{critereId}\", encodeURIComponent(\"\" + critereId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetCritereDossier(_response);\r\n });\r\n }\r\n processGetCritereDossier(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n updateCritereDossier(critereId, body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/critere/{critereId}\";\r\n if (critereId === undefined || critereId === null)\r\n throw new Error(\"The parameter 'critereId' must be defined.\");\r\n url_ = url_.replace(\"{critereId}\", encodeURIComponent(\"\" + critereId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processUpdateCritereDossier(_response);\r\n });\r\n }\r\n processUpdateCritereDossier(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400 = null;\r\n let resultData400 = _responseText;\r\n result400 = resultData400;\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n deleteCritereDossier(critereId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/critere/{critereId}\";\r\n if (critereId === undefined || critereId === null)\r\n throw new Error(\"The parameter 'critereId' must be defined.\");\r\n url_ = url_.replace(\"{critereId}\", encodeURIComponent(\"\" + critereId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {},\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processDeleteCritereDossier(_response);\r\n });\r\n }\r\n processDeleteCritereDossier(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n updateDossierNote(dossierId, body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/note\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processUpdateDossierNote(_response);\r\n });\r\n }\r\n processUpdateDossierNote(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getDossierNote(dossierId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/note\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetDossierNote(_response);\r\n });\r\n }\r\n processGetDossierNote(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n updateDossierMontantCA(dossierId, body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/montantca\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processUpdateDossierMontantCA(_response);\r\n });\r\n }\r\n processUpdateDossierMontantCA(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param filters (optional)\r\n * @param sorts (optional)\r\n * @param page (optional)\r\n * @param pageSize (optional)\r\n * @param disablePagination (optional)\r\n * @return Success\r\n */\r\n getDossierHistory(filters, sorts, page, pageSize, disablePagination, dossierId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/history?\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n if (filters === null)\r\n throw new Error(\"The parameter 'filters' cannot be null.\");\r\n else if (filters !== undefined)\r\n url_ += \"Filters=\" + encodeURIComponent(\"\" + filters) + \"&\";\r\n if (sorts === null)\r\n throw new Error(\"The parameter 'sorts' cannot be null.\");\r\n else if (sorts !== undefined)\r\n url_ += \"Sorts=\" + encodeURIComponent(\"\" + sorts) + \"&\";\r\n if (page === null)\r\n throw new Error(\"The parameter 'page' cannot be null.\");\r\n else if (page !== undefined)\r\n url_ += \"Page=\" + encodeURIComponent(\"\" + page) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n if (disablePagination === null)\r\n throw new Error(\"The parameter 'disablePagination' cannot be null.\");\r\n else if (disablePagination !== undefined)\r\n url_ += \"DisablePagination=\" + encodeURIComponent(\"\" + disablePagination) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetDossierHistory(_response);\r\n });\r\n }\r\n processGetDossierHistory(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getDossierNotation(dossierId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/notation\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetDossierNotation(_response);\r\n });\r\n }\r\n processGetDossierNotation(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getDossierDetails(dossierId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/details\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetDossierDetails(_response);\r\n });\r\n }\r\n processGetDossierDetails(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param dateProlongation (optional)\r\n * @param commentaires (optional)\r\n * @param documents (optional)\r\n * @param files (optional)\r\n * @return Success\r\n */\r\n updateDossierDetails(dossierId, dateProlongation, commentaires, documents, files, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/details\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = new FormData();\r\n if (dateProlongation === null || dateProlongation === undefined)\r\n throw new Error(\"The parameter 'dateProlongation' cannot be null.\");\r\n else\r\n content_.append(\"DateProlongation\", dateProlongation.toJSON());\r\n if (commentaires === null || commentaires === undefined)\r\n throw new Error(\"The parameter 'commentaires' cannot be null.\");\r\n else\r\n content_.append(\"Commentaires\", commentaires.toString());\r\n if (documents === null || documents === undefined)\r\n throw new Error(\"The parameter 'documents' cannot be null.\");\r\n else\r\n documents.forEach(item_ => content_.append(\"Documents\", item_.toString()));\r\n if (files === null || files === undefined)\r\n throw new Error(\"The parameter 'files' cannot be null.\");\r\n else\r\n files.forEach(item_ => content_.append(\"files\", item_.data, item_.fileName ? item_.fileName : \"files\"));\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {},\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processUpdateDossierDetails(_response);\r\n });\r\n }\r\n processUpdateDossierDetails(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getDossierAidHistory(dossierId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/aidhistory\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetDossierAidHistory(_response);\r\n });\r\n }\r\n processGetDossierAidHistory(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getDossierVersement(dossierId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/versement\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetDossierVersement(_response);\r\n });\r\n }\r\n processGetDossierVersement(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n updateDossierDocumentsValidation(dossierId, body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/documents/validation\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processUpdateDossierDocumentsValidation(_response);\r\n });\r\n }\r\n processUpdateDossierDocumentsValidation(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getSubCategoriesDossier(cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/subCategoriesDossier\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetSubCategoriesDossier(_response);\r\n });\r\n }\r\n processGetSubCategoriesDossier(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getDossierDSV(dossierId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/dossierDSV\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetDossierDSV(_response);\r\n });\r\n }\r\n processGetDossierDSV(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n updateDossierDSV(dossierId, body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/dossierDSV\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processUpdateDossierDSV(_response);\r\n });\r\n }\r\n processUpdateDossierDSV(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n prendreEnChargeDossier(dossierId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/prendreEnCharge\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {},\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processPrendreEnChargeDossier(_response);\r\n });\r\n }\r\n processPrendreEnChargeDossier(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n prendreEnChargeDossierVersement(dossierId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/versements/prendreEnCharge\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {},\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processPrendreEnChargeDossierVersement(_response);\r\n });\r\n }\r\n processPrendreEnChargeDossierVersement(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400 = null;\r\n let resultData400 = _responseText;\r\n result400 = resultData400;\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n programmerEnCommissionDossier(dossierId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/programmerEnCommission\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {},\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processProgrammerEnCommissionDossier(_response);\r\n });\r\n }\r\n processProgrammerEnCommissionDossier(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getDossierAdditionalInfo(dossierId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/additionalInfo\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetDossierAdditionalInfo(_response);\r\n });\r\n }\r\n processGetDossierAdditionalInfo(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getDossierValidationViewModel(dossierId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/validation/viewmodel\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetDossierValidationViewModel(_response);\r\n });\r\n }\r\n processGetDossierValidationViewModel(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n validateDossier(dossierId, body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/validation\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processValidateDossier(_response);\r\n });\r\n }\r\n processValidateDossier(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param dateSignature (optional)\r\n * @return Success\r\n */\r\n updateDossierAgreement(dossierId, dateSignature, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/agreement/update?\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n if (dateSignature === null)\r\n throw new Error(\"The parameter 'dateSignature' cannot be null.\");\r\n else if (dateSignature !== undefined)\r\n url_ += \"dateSignature=\" + encodeURIComponent(dateSignature ? \"\" + dateSignature.toJSON() : \"\") + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {},\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processUpdateDossierAgreement(_response);\r\n });\r\n }\r\n processUpdateDossierAgreement(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param filters (optional)\r\n * @param sorts (optional)\r\n * @param page (optional)\r\n * @param pageSize (optional)\r\n * @param disablePagination (optional)\r\n * @return Success\r\n */\r\n getDossierVersements(filters, sorts, page, pageSize, disablePagination, dossierId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/versements?\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n if (filters === null)\r\n throw new Error(\"The parameter 'filters' cannot be null.\");\r\n else if (filters !== undefined)\r\n url_ += \"Filters=\" + encodeURIComponent(\"\" + filters) + \"&\";\r\n if (sorts === null)\r\n throw new Error(\"The parameter 'sorts' cannot be null.\");\r\n else if (sorts !== undefined)\r\n url_ += \"Sorts=\" + encodeURIComponent(\"\" + sorts) + \"&\";\r\n if (page === null)\r\n throw new Error(\"The parameter 'page' cannot be null.\");\r\n else if (page !== undefined)\r\n url_ += \"Page=\" + encodeURIComponent(\"\" + page) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n if (disablePagination === null)\r\n throw new Error(\"The parameter 'disablePagination' cannot be null.\");\r\n else if (disablePagination !== undefined)\r\n url_ += \"DisablePagination=\" + encodeURIComponent(\"\" + disablePagination) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetDossierVersements(_response);\r\n });\r\n }\r\n processGetDossierVersements(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getDossierMouvements(dossierId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/mouvements\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetDossierMouvements(_response);\r\n });\r\n }\r\n processGetDossierMouvements(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getDossierSyntheseFinanciere(dossierId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/synthese\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetDossierSyntheseFinanciere(_response);\r\n });\r\n }\r\n processGetDossierSyntheseFinanciere(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400 = null;\r\n let resultData400 = _responseText;\r\n result400 = resultData400;\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n ajoutEvenementFinancier(dossierId, body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/ajout\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processAjoutEvenementFinancier(_response);\r\n });\r\n }\r\n processAjoutEvenementFinancier(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getEvenementsFinanciersViewModel(dossierId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/evenementsvm\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetEvenementsFinanciersViewModel(_response);\r\n });\r\n }\r\n processGetEvenementsFinanciersViewModel(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400 = null;\r\n let resultData400 = _responseText;\r\n result400 = resultData400;\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getDoublonsApi(dossierId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/doublonsapi\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetDoublonsApi(_response);\r\n });\r\n }\r\n processGetDoublonsApi(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getDoublonsArtiste(dossierId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/doublonsartiste\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetDoublonsArtiste(_response);\r\n });\r\n }\r\n processGetDoublonsArtiste(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n updateDossierDepenseMontantRealise(dossierId, body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/depenses/montantsrealises/update\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processUpdateDossierDepenseMontantRealise(_response);\r\n });\r\n }\r\n processUpdateDossierDepenseMontantRealise(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param filters (optional)\r\n * @param sorts (optional)\r\n * @param page (optional)\r\n * @param pageSize (optional)\r\n * @param disablePagination (optional)\r\n * @return Success\r\n */\r\n getArtistes(dossierId, filters, sorts, page, pageSize, disablePagination, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/artistes?\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n if (filters === null)\r\n throw new Error(\"The parameter 'filters' cannot be null.\");\r\n else if (filters !== undefined)\r\n url_ += \"Filters=\" + encodeURIComponent(\"\" + filters) + \"&\";\r\n if (sorts === null)\r\n throw new Error(\"The parameter 'sorts' cannot be null.\");\r\n else if (sorts !== undefined)\r\n url_ += \"Sorts=\" + encodeURIComponent(\"\" + sorts) + \"&\";\r\n if (page === null)\r\n throw new Error(\"The parameter 'page' cannot be null.\");\r\n else if (page !== undefined)\r\n url_ += \"Page=\" + encodeURIComponent(\"\" + page) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n if (disablePagination === null)\r\n throw new Error(\"The parameter 'disablePagination' cannot be null.\");\r\n else if (disablePagination !== undefined)\r\n url_ += \"DisablePagination=\" + encodeURIComponent(\"\" + disablePagination) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetArtistes(_response);\r\n });\r\n }\r\n processGetArtistes(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 403) {\r\n const _responseText = response.data;\r\n let result403 = null;\r\n let resultData403 = _responseText;\r\n result403 = resultData403;\r\n return throwException(\"Forbidden\", status, _responseText, _headers, result403);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getArtistesViewModel(dossierId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/artistes/viewmodel\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetArtistesViewModel(_response);\r\n });\r\n }\r\n processGetArtistesViewModel(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getInfosProjetViewModel(dossierId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/etapes/informationsProjet\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetInfosProjetViewModel(_response);\r\n });\r\n }\r\n processGetInfosProjetViewModel(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getDescriptionProjetViewModel(dossierId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/description-projet/viewmodel\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetDescriptionProjetViewModel(_response);\r\n });\r\n }\r\n processGetDescriptionProjetViewModel(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\nexport class FormeJuridiqueClient {\r\n constructor(baseUrl, instance) {\r\n this.jsonParseReviver = undefined;\r\n this.instance = instance ? instance : axios.create();\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n updateFormeJuridiqueCategorieMapping(body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/FormeJuridique/updateCategorie\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processUpdateFormeJuridiqueCategorieMapping(_response);\r\n });\r\n }\r\n processUpdateFormeJuridiqueCategorieMapping(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\nexport class GenerationSpedidamClient {\r\n constructor(baseUrl, instance) {\r\n this.jsonParseReviver = undefined;\r\n this.instance = instance ? instance : axios.create();\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n /**\r\n * @param sortBy (optional)\r\n * @param sortDirection (optional)\r\n * @param page (optional)\r\n * @param pageSize (optional)\r\n * @return Success\r\n */\r\n getGenerationsSpedidam(sortBy, sortDirection, page, pageSize, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/GenerationSpedidam?\";\r\n if (sortBy === null)\r\n throw new Error(\"The parameter 'sortBy' cannot be null.\");\r\n else if (sortBy !== undefined)\r\n url_ += \"SortBy=\" + encodeURIComponent(\"\" + sortBy) + \"&\";\r\n if (sortDirection === null)\r\n throw new Error(\"The parameter 'sortDirection' cannot be null.\");\r\n else if (sortDirection !== undefined)\r\n url_ += \"SortDirection=\" + encodeURIComponent(\"\" + sortDirection) + \"&\";\r\n if (page === null)\r\n throw new Error(\"The parameter 'page' cannot be null.\");\r\n else if (page !== undefined)\r\n url_ += \"Page=\" + encodeURIComponent(\"\" + page) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetGenerationsSpedidam(_response);\r\n });\r\n }\r\n processGetGenerationsSpedidam(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n createGenerationSpedidam(body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/GenerationSpedidam\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processCreateGenerationSpedidam(_response);\r\n });\r\n }\r\n processCreateGenerationSpedidam(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 201) {\r\n const _responseText = response.data;\r\n let result201 = null;\r\n let resultData201 = _responseText;\r\n result201 = resultData201;\r\n return Promise.resolve(result201);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getGenerationSpedidamCommissions(cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/GenerationSpedidam/commissions\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetGenerationSpedidamCommissions(_response);\r\n });\r\n }\r\n processGetGenerationSpedidamCommissions(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n deactivateGenerationSpedidam(id, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/GenerationSpedidam/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {},\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processDeactivateGenerationSpedidam(_response);\r\n });\r\n }\r\n processDeactivateGenerationSpedidam(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n deleteGenerationSpedidam(id, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/GenerationSpedidam/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {},\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processDeleteGenerationSpedidam(_response);\r\n });\r\n }\r\n processDeleteGenerationSpedidam(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n updateGenerationSpedidam(id, body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/GenerationSpedidam/{id}/edit\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processUpdateGenerationSpedidam(_response);\r\n });\r\n }\r\n processUpdateGenerationSpedidam(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\nexport class MessageAlerteClient {\r\n constructor(baseUrl, instance) {\r\n this.jsonParseReviver = undefined;\r\n this.instance = instance ? instance : axios.create();\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getMessageAlerte(cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/MessageAlerte/message\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetMessageAlerte(_response);\r\n });\r\n }\r\n processGetMessageAlerte(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getAllMessageAlerte(cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/MessageAlerte/messages\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetAllMessageAlerte(_response);\r\n });\r\n }\r\n processGetAllMessageAlerte(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\nexport class MessageAlerteBOClient {\r\n constructor(baseUrl, instance) {\r\n this.jsonParseReviver = undefined;\r\n this.instance = instance ? instance : axios.create();\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n createOrUpdateMessageAlerte(body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/MessageAlerteBO/message\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processCreateOrUpdateMessageAlerte(_response);\r\n });\r\n }\r\n processCreateOrUpdateMessageAlerte(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 201) {\r\n const _responseText = response.data;\r\n let result201 = null;\r\n let resultData201 = _responseText;\r\n result201 = resultData201;\r\n return Promise.resolve(result201);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n deleteMessageAlerte(id, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/MessageAlerteBO/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {},\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processDeleteMessageAlerte(_response);\r\n });\r\n }\r\n processDeleteMessageAlerte(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\nexport class ModeleMessageClient {\r\n constructor(baseUrl, instance) {\r\n this.jsonParseReviver = undefined;\r\n this.instance = instance ? instance : axios.create();\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n createModeleMessage(body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/ModeleMessage\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processCreateModeleMessage(_response);\r\n });\r\n }\r\n processCreateModeleMessage(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 201) {\r\n const _responseText = response.data;\r\n let result201 = null;\r\n let resultData201 = _responseText;\r\n result201 = resultData201;\r\n return Promise.resolve(result201);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getModeleMessage(templateId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/ModeleMessage/{templateId}\";\r\n if (templateId === undefined || templateId === null)\r\n throw new Error(\"The parameter 'templateId' must be defined.\");\r\n url_ = url_.replace(\"{templateId}\", encodeURIComponent(\"\" + templateId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetModeleMessage(_response);\r\n });\r\n }\r\n processGetModeleMessage(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n updateModeleMessage(templateId, body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/ModeleMessage/{templateId}\";\r\n if (templateId === undefined || templateId === null)\r\n throw new Error(\"The parameter 'templateId' must be defined.\");\r\n url_ = url_.replace(\"{templateId}\", encodeURIComponent(\"\" + templateId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processUpdateModeleMessage(_response);\r\n });\r\n }\r\n processUpdateModeleMessage(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n deleteModeleMessage(templateId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/ModeleMessage/{templateId}\";\r\n if (templateId === undefined || templateId === null)\r\n throw new Error(\"The parameter 'templateId' must be defined.\");\r\n url_ = url_.replace(\"{templateId}\", encodeURIComponent(\"\" + templateId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {},\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processDeleteModeleMessage(_response);\r\n });\r\n }\r\n processDeleteModeleMessage(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getModelesMessage(cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/ModeleMessage/list\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetModelesMessage(_response);\r\n });\r\n }\r\n processGetModelesMessage(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\nexport class PageVitrineClient {\r\n constructor(baseUrl, instance) {\r\n this.jsonParseReviver = undefined;\r\n this.instance = instance ? instance : axios.create();\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getPagesVitrine(cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/PageVitrine\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetPagesVitrine(_response);\r\n });\r\n }\r\n processGetPagesVitrine(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n createPageVitrine(body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/PageVitrine\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processCreatePageVitrine(_response);\r\n });\r\n }\r\n processCreatePageVitrine(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 201) {\r\n const _responseText = response.data;\r\n let result201 = null;\r\n let resultData201 = _responseText;\r\n result201 = resultData201;\r\n return Promise.resolve(result201);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n updatePageVitrine(pageVitrineId, body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/PageVitrine/{pageVitrineId}\";\r\n if (pageVitrineId === undefined || pageVitrineId === null)\r\n throw new Error(\"The parameter 'pageVitrineId' must be defined.\");\r\n url_ = url_.replace(\"{pageVitrineId}\", encodeURIComponent(\"\" + pageVitrineId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processUpdatePageVitrine(_response);\r\n });\r\n }\r\n processUpdatePageVitrine(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n deletePageVitrine(pageVitrineId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/PageVitrine/{pageVitrineId}\";\r\n if (pageVitrineId === undefined || pageVitrineId === null)\r\n throw new Error(\"The parameter 'pageVitrineId' must be defined.\");\r\n url_ = url_.replace(\"{pageVitrineId}\", encodeURIComponent(\"\" + pageVitrineId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {},\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processDeletePageVitrine(_response);\r\n });\r\n }\r\n processDeletePageVitrine(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n reorderPagesVitrine(body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/PageVitrine/reorder\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processReorderPagesVitrine(_response);\r\n });\r\n }\r\n processReorderPagesVitrine(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400 = null;\r\n let resultData400 = _responseText;\r\n result400 = resultData400;\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param file (optional)\r\n * @return Success\r\n */\r\n uploadPageVitrineFile(file, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/PageVitrine/uploadFile\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = new FormData();\r\n if (file === null || file === undefined)\r\n throw new Error(\"The parameter 'file' cannot be null.\");\r\n else\r\n content_.append(\"File\", file.data, file.fileName ? file.fileName : \"File\");\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processUploadPageVitrineFile(_response);\r\n });\r\n }\r\n processUploadPageVitrineFile(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400 = null;\r\n let resultData400 = _responseText;\r\n result400 = resultData400;\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\nexport class PaysClient {\r\n constructor(baseUrl, instance) {\r\n this.jsonParseReviver = undefined;\r\n this.instance = instance ? instance : axios.create();\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getPays(cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Pays\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetPays(_response);\r\n });\r\n }\r\n processGetPays(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\nexport class RelationClient {\r\n constructor(baseUrl, instance) {\r\n this.jsonParseReviver = undefined;\r\n this.instance = instance ? instance : axios.create();\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getRelation(relationId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Relation/{relationId}/get\";\r\n if (relationId === undefined || relationId === null)\r\n throw new Error(\"The parameter 'relationId' must be defined.\");\r\n url_ = url_.replace(\"{relationId}\", encodeURIComponent(\"\" + relationId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetRelation(_response);\r\n });\r\n }\r\n processGetRelation(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n updateRelation(relationId, body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Relation/{relationId}/update\";\r\n if (relationId === undefined || relationId === null)\r\n throw new Error(\"The parameter 'relationId' must be defined.\");\r\n url_ = url_.replace(\"{relationId}\", encodeURIComponent(\"\" + relationId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processUpdateRelation(_response);\r\n });\r\n }\r\n processUpdateRelation(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getDossierRelations(dossierId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Relation/dossier/{dossierId}\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetDossierRelations(_response);\r\n });\r\n }\r\n processGetDossierRelations(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n createDossierRelation(dossierId, body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Relation/dossier/{dossierId}/create\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processCreateDossierRelation(_response);\r\n });\r\n }\r\n processCreateDossierRelation(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getStructureRelations(structureId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Relation/structure/{structureId}\";\r\n if (structureId === undefined || structureId === null)\r\n throw new Error(\"The parameter 'structureId' must be defined.\");\r\n url_ = url_.replace(\"{structureId}\", encodeURIComponent(\"\" + structureId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetStructureRelations(_response);\r\n });\r\n }\r\n processGetStructureRelations(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n createStructureRelation(structureId, body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Relation/structure/{structureId}/create\";\r\n if (structureId === undefined || structureId === null)\r\n throw new Error(\"The parameter 'structureId' must be defined.\");\r\n url_ = url_.replace(\"{structureId}\", encodeURIComponent(\"\" + structureId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processCreateStructureRelation(_response);\r\n });\r\n }\r\n processCreateStructureRelation(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n deleteRelation(relationId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Relation/{relationId}/delete\";\r\n if (relationId === undefined || relationId === null)\r\n throw new Error(\"The parameter 'relationId' must be defined.\");\r\n url_ = url_.replace(\"{relationId}\", encodeURIComponent(\"\" + relationId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processDeleteRelation(_response);\r\n });\r\n }\r\n processDeleteRelation(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\nexport class RemunerationClient {\r\n constructor(baseUrl, instance) {\r\n this.jsonParseReviver = undefined;\r\n this.instance = instance ? instance : axios.create();\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n /**\r\n * @param categorieId (optional)\r\n * @param styleMusicalId (optional)\r\n * @param emploi (optional)\r\n * @param typePrestation (optional)\r\n * @param montantMinimum (optional)\r\n * @param montantMaximum (optional)\r\n * @param sortBy (optional)\r\n * @param sortDirection (optional)\r\n * @param page (optional)\r\n * @param pageSize (optional)\r\n * @return Success\r\n */\r\n getRemunerations(categorieId, styleMusicalId, emploi, typePrestation, montantMinimum, montantMaximum, sortBy, sortDirection, page, pageSize, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Remuneration?\";\r\n if (categorieId === null)\r\n throw new Error(\"The parameter 'categorieId' cannot be null.\");\r\n else if (categorieId !== undefined)\r\n url_ += \"CategorieId=\" + encodeURIComponent(\"\" + categorieId) + \"&\";\r\n if (styleMusicalId === null)\r\n throw new Error(\"The parameter 'styleMusicalId' cannot be null.\");\r\n else if (styleMusicalId !== undefined)\r\n url_ += \"StyleMusicalId=\" + encodeURIComponent(\"\" + styleMusicalId) + \"&\";\r\n if (emploi === null)\r\n throw new Error(\"The parameter 'emploi' cannot be null.\");\r\n else if (emploi !== undefined)\r\n url_ += \"Emploi=\" + encodeURIComponent(\"\" + emploi) + \"&\";\r\n if (typePrestation === null)\r\n throw new Error(\"The parameter 'typePrestation' cannot be null.\");\r\n else if (typePrestation !== undefined)\r\n url_ += \"TypePrestation=\" + encodeURIComponent(\"\" + typePrestation) + \"&\";\r\n if (montantMinimum === null)\r\n throw new Error(\"The parameter 'montantMinimum' cannot be null.\");\r\n else if (montantMinimum !== undefined)\r\n url_ += \"MontantMinimum=\" + encodeURIComponent(\"\" + montantMinimum) + \"&\";\r\n if (montantMaximum === null)\r\n throw new Error(\"The parameter 'montantMaximum' cannot be null.\");\r\n else if (montantMaximum !== undefined)\r\n url_ += \"MontantMaximum=\" + encodeURIComponent(\"\" + montantMaximum) + \"&\";\r\n if (sortBy === null)\r\n throw new Error(\"The parameter 'sortBy' cannot be null.\");\r\n else if (sortBy !== undefined)\r\n url_ += \"SortBy=\" + encodeURIComponent(\"\" + sortBy) + \"&\";\r\n if (sortDirection === null)\r\n throw new Error(\"The parameter 'sortDirection' cannot be null.\");\r\n else if (sortDirection !== undefined)\r\n url_ += \"SortDirection=\" + encodeURIComponent(\"\" + sortDirection) + \"&\";\r\n if (page === null)\r\n throw new Error(\"The parameter 'page' cannot be null.\");\r\n else if (page !== undefined)\r\n url_ += \"Page=\" + encodeURIComponent(\"\" + page) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetRemunerations(_response);\r\n });\r\n }\r\n processGetRemunerations(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n createRemuneration(body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Remuneration\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processCreateRemuneration(_response);\r\n });\r\n }\r\n processCreateRemuneration(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 201) {\r\n const _responseText = response.data;\r\n let result201 = null;\r\n let resultData201 = _responseText;\r\n result201 = resultData201;\r\n return Promise.resolve(result201);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getRemunerationsViewModel(cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Remuneration/viewmodel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetRemunerationsViewModel(_response);\r\n });\r\n }\r\n processGetRemunerationsViewModel(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n deleteRemuneration(id, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Remuneration/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {},\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processDeleteRemuneration(_response);\r\n });\r\n }\r\n processDeleteRemuneration(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getStylesMusicaux(cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Remuneration/stylesMusicaux\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetStylesMusicaux(_response);\r\n });\r\n }\r\n processGetStylesMusicaux(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\nexport class RoleClient {\r\n constructor(baseUrl, instance) {\r\n this.jsonParseReviver = undefined;\r\n this.instance = instance ? instance : axios.create();\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getRoles(cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Role\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetRoles(_response);\r\n });\r\n }\r\n processGetRoles(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getRoleAccess(cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Role/model\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetRoleAccess(_response);\r\n });\r\n }\r\n processGetRoleAccess(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\nexport class StructureClient {\r\n constructor(baseUrl, instance) {\r\n this.jsonParseReviver = undefined;\r\n this.instance = instance ? instance : axios.create();\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n /**\r\n * @param filters (optional)\r\n * @param sorts (optional)\r\n * @param page (optional)\r\n * @param pageSize (optional)\r\n * @param disablePagination (optional)\r\n * @return Success\r\n */\r\n getStructures(filters, sorts, page, pageSize, disablePagination, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Structure?\";\r\n if (filters === null)\r\n throw new Error(\"The parameter 'filters' cannot be null.\");\r\n else if (filters !== undefined)\r\n url_ += \"Filters=\" + encodeURIComponent(\"\" + filters) + \"&\";\r\n if (sorts === null)\r\n throw new Error(\"The parameter 'sorts' cannot be null.\");\r\n else if (sorts !== undefined)\r\n url_ += \"Sorts=\" + encodeURIComponent(\"\" + sorts) + \"&\";\r\n if (page === null)\r\n throw new Error(\"The parameter 'page' cannot be null.\");\r\n else if (page !== undefined)\r\n url_ += \"Page=\" + encodeURIComponent(\"\" + page) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n if (disablePagination === null)\r\n throw new Error(\"The parameter 'disablePagination' cannot be null.\");\r\n else if (disablePagination !== undefined)\r\n url_ += \"DisablePagination=\" + encodeURIComponent(\"\" + disablePagination) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetStructures(_response);\r\n });\r\n }\r\n processGetStructures(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getStructureDetails(structureId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Structure/{structureId}/details\";\r\n if (structureId === undefined || structureId === null)\r\n throw new Error(\"The parameter 'structureId' must be defined.\");\r\n url_ = url_.replace(\"{structureId}\", encodeURIComponent(\"\" + structureId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetStructureDetails(_response);\r\n });\r\n }\r\n processGetStructureDetails(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param representantLegalEmail (optional)\r\n * @param adresseCorrespondance_Line1 (optional)\r\n * @param adresseCorrespondance_Line2 (optional)\r\n * @param adresseCorrespondance_CodePostal (optional)\r\n * @param adresseCorrespondance_Ville (optional)\r\n * @param documents (optional)\r\n * @param files (optional)\r\n * @return Success\r\n */\r\n updateStructureDetails(structureId, representantLegalEmail, adresseCorrespondance_Line1, adresseCorrespondance_Line2, adresseCorrespondance_CodePostal, adresseCorrespondance_Ville, documents, files, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Structure/{structureId}/details\";\r\n if (structureId === undefined || structureId === null)\r\n throw new Error(\"The parameter 'structureId' must be defined.\");\r\n url_ = url_.replace(\"{structureId}\", encodeURIComponent(\"\" + structureId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = new FormData();\r\n if (representantLegalEmail === null || representantLegalEmail === undefined)\r\n throw new Error(\"The parameter 'representantLegalEmail' cannot be null.\");\r\n else\r\n content_.append(\"RepresentantLegalEmail\", representantLegalEmail.toString());\r\n if (adresseCorrespondance_Line1 === null || adresseCorrespondance_Line1 === undefined)\r\n throw new Error(\"The parameter 'adresseCorrespondance_Line1' cannot be null.\");\r\n else\r\n content_.append(\"AdresseCorrespondance.Line1\", adresseCorrespondance_Line1.toString());\r\n if (adresseCorrespondance_Line2 === null || adresseCorrespondance_Line2 === undefined)\r\n throw new Error(\"The parameter 'adresseCorrespondance_Line2' cannot be null.\");\r\n else\r\n content_.append(\"AdresseCorrespondance.Line2\", adresseCorrespondance_Line2.toString());\r\n if (adresseCorrespondance_CodePostal === null || adresseCorrespondance_CodePostal === undefined)\r\n throw new Error(\"The parameter 'adresseCorrespondance_CodePostal' cannot be null.\");\r\n else\r\n content_.append(\"AdresseCorrespondance.CodePostal\", adresseCorrespondance_CodePostal.toString());\r\n if (adresseCorrespondance_Ville === null || adresseCorrespondance_Ville === undefined)\r\n throw new Error(\"The parameter 'adresseCorrespondance_Ville' cannot be null.\");\r\n else\r\n content_.append(\"AdresseCorrespondance.Ville\", adresseCorrespondance_Ville.toString());\r\n if (documents === null || documents === undefined)\r\n throw new Error(\"The parameter 'documents' cannot be null.\");\r\n else\r\n documents.forEach(item_ => content_.append(\"Documents\", item_.toString()));\r\n if (files === null || files === undefined)\r\n throw new Error(\"The parameter 'files' cannot be null.\");\r\n else\r\n files.forEach(item_ => content_.append(\"files\", item_.data, item_.fileName ? item_.fileName : \"files\"));\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processUpdateStructureDetails(_response);\r\n });\r\n }\r\n processUpdateStructureDetails(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getStructureInstruction(structureId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Structure/{structureId}/instruction\";\r\n if (structureId === undefined || structureId === null)\r\n throw new Error(\"The parameter 'structureId' must be defined.\");\r\n url_ = url_.replace(\"{structureId}\", encodeURIComponent(\"\" + structureId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetStructureInstruction(_response);\r\n });\r\n }\r\n processGetStructureInstruction(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param statut (optional)\r\n * @param categoriesDossierSelectionnees (optional)\r\n * @param documents (optional)\r\n * @param files (optional)\r\n * @return Success\r\n */\r\n updateStructureInstruction(structureId, statut, categoriesDossierSelectionnees, documents, files, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Structure/{structureId}/instruction\";\r\n if (structureId === undefined || structureId === null)\r\n throw new Error(\"The parameter 'structureId' must be defined.\");\r\n url_ = url_.replace(\"{structureId}\", encodeURIComponent(\"\" + structureId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = new FormData();\r\n if (statut === null || statut === undefined)\r\n throw new Error(\"The parameter 'statut' cannot be null.\");\r\n else\r\n content_.append(\"Statut\", statut.toString());\r\n if (categoriesDossierSelectionnees === null || categoriesDossierSelectionnees === undefined)\r\n throw new Error(\"The parameter 'categoriesDossierSelectionnees' cannot be null.\");\r\n else\r\n categoriesDossierSelectionnees.forEach(item_ => content_.append(\"CategoriesDossierSelectionnees\", item_.toString()));\r\n if (documents === null || documents === undefined)\r\n throw new Error(\"The parameter 'documents' cannot be null.\");\r\n else\r\n documents.forEach(item_ => content_.append(\"Documents\", item_.toString()));\r\n if (files === null || files === undefined)\r\n throw new Error(\"The parameter 'files' cannot be null.\");\r\n else\r\n files.forEach(item_ => content_.append(\"files\", item_.data, item_.fileName ? item_.fileName : \"files\"));\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {},\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processUpdateStructureInstruction(_response);\r\n });\r\n }\r\n processUpdateStructureInstruction(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400 = null;\r\n let resultData400 = _responseText;\r\n result400 = resultData400;\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getStructureDocuments(structureId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Structure/{structureId}/documentsComplementaire\";\r\n if (structureId === undefined || structureId === null)\r\n throw new Error(\"The parameter 'structureId' must be defined.\");\r\n url_ = url_.replace(\"{structureId}\", encodeURIComponent(\"\" + structureId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetStructureDocuments(_response);\r\n });\r\n }\r\n processGetStructureDocuments(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param documents (optional)\r\n * @param files (optional)\r\n * @return Success\r\n */\r\n updateStructureDocuments(structureId, documents, files, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Structure/{structureId}/documentsComplementaire\";\r\n if (structureId === undefined || structureId === null)\r\n throw new Error(\"The parameter 'structureId' must be defined.\");\r\n url_ = url_.replace(\"{structureId}\", encodeURIComponent(\"\" + structureId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = new FormData();\r\n if (documents === null || documents === undefined)\r\n throw new Error(\"The parameter 'documents' cannot be null.\");\r\n else\r\n documents.forEach(item_ => content_.append(\"Documents\", item_.toString()));\r\n if (files === null || files === undefined)\r\n throw new Error(\"The parameter 'files' cannot be null.\");\r\n else\r\n files.forEach(item_ => content_.append(\"files\", item_.data, item_.fileName ? item_.fileName : \"files\"));\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {},\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processUpdateStructureDocuments(_response);\r\n });\r\n }\r\n processUpdateStructureDocuments(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400 = null;\r\n let resultData400 = _responseText;\r\n result400 = resultData400;\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param iban (optional)\r\n * @param bic (optional)\r\n * @param banque (optional)\r\n * @param adresse_Line1 (optional)\r\n * @param adresse_Line2 (optional)\r\n * @param adresse_CodePostal (optional)\r\n * @param adresse_Ville (optional)\r\n * @param rIB_Id (optional)\r\n * @param rIB_TypeId (optional)\r\n * @param rIB_PartName (optional)\r\n * @param rIB_actionType (optional)\r\n * @param rIB_ExtraInfos (optional)\r\n * @param rIB_FileName (optional)\r\n * @param rIB_ContentType (optional)\r\n * @param rIB_Content_CanRead (optional)\r\n * @param rIB_Content_CanWrite (optional)\r\n * @param rIB_Content_CanSeek (optional)\r\n * @param rIB_Content_CanTimeout (optional)\r\n * @param rIB_Content_Length (optional)\r\n * @param rIB_Content_Position (optional)\r\n * @param rIB_Content_ReadTimeout (optional)\r\n * @param rIB_Content_WriteTimeout (optional)\r\n * @param files (optional)\r\n * @return Success\r\n */\r\n createOrUpdateDonneesBancaires(structureId, iban, bic, banque, adresse_Line1, adresse_Line2, adresse_CodePostal, adresse_Ville, rIB_Id, rIB_TypeId, rIB_PartName, rIB_actionType, rIB_ExtraInfos, rIB_FileName, rIB_ContentType, rIB_Content_CanRead, rIB_Content_CanWrite, rIB_Content_CanSeek, rIB_Content_CanTimeout, rIB_Content_Length, rIB_Content_Position, rIB_Content_ReadTimeout, rIB_Content_WriteTimeout, files, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Structure/{structureId}/donneesBancaires\";\r\n if (structureId === undefined || structureId === null)\r\n throw new Error(\"The parameter 'structureId' must be defined.\");\r\n url_ = url_.replace(\"{structureId}\", encodeURIComponent(\"\" + structureId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = new FormData();\r\n if (iban === null || iban === undefined)\r\n throw new Error(\"The parameter 'iban' cannot be null.\");\r\n else\r\n content_.append(\"Iban\", iban.toString());\r\n if (bic === null || bic === undefined)\r\n throw new Error(\"The parameter 'bic' cannot be null.\");\r\n else\r\n content_.append(\"Bic\", bic.toString());\r\n if (banque === null || banque === undefined)\r\n throw new Error(\"The parameter 'banque' cannot be null.\");\r\n else\r\n content_.append(\"Banque\", banque.toString());\r\n if (adresse_Line1 === null || adresse_Line1 === undefined)\r\n throw new Error(\"The parameter 'adresse_Line1' cannot be null.\");\r\n else\r\n content_.append(\"Adresse.Line1\", adresse_Line1.toString());\r\n if (adresse_Line2 === null || adresse_Line2 === undefined)\r\n throw new Error(\"The parameter 'adresse_Line2' cannot be null.\");\r\n else\r\n content_.append(\"Adresse.Line2\", adresse_Line2.toString());\r\n if (adresse_CodePostal === null || adresse_CodePostal === undefined)\r\n throw new Error(\"The parameter 'adresse_CodePostal' cannot be null.\");\r\n else\r\n content_.append(\"Adresse.CodePostal\", adresse_CodePostal.toString());\r\n if (adresse_Ville === null || adresse_Ville === undefined)\r\n throw new Error(\"The parameter 'adresse_Ville' cannot be null.\");\r\n else\r\n content_.append(\"Adresse.Ville\", adresse_Ville.toString());\r\n if (rIB_Id === null || rIB_Id === undefined)\r\n throw new Error(\"The parameter 'rIB_Id' cannot be null.\");\r\n else\r\n content_.append(\"RIB.Id\", rIB_Id.toString());\r\n if (rIB_TypeId === null || rIB_TypeId === undefined)\r\n throw new Error(\"The parameter 'rIB_TypeId' cannot be null.\");\r\n else\r\n content_.append(\"RIB.TypeId\", rIB_TypeId.toString());\r\n if (rIB_PartName === null || rIB_PartName === undefined)\r\n throw new Error(\"The parameter 'rIB_PartName' cannot be null.\");\r\n else\r\n content_.append(\"RIB.PartName\", rIB_PartName.toString());\r\n if (rIB_actionType === null || rIB_actionType === undefined)\r\n throw new Error(\"The parameter 'rIB_actionType' cannot be null.\");\r\n else\r\n content_.append(\"RIB.actionType\", rIB_actionType.toString());\r\n if (rIB_ExtraInfos === null || rIB_ExtraInfos === undefined)\r\n throw new Error(\"The parameter 'rIB_ExtraInfos' cannot be null.\");\r\n else\r\n content_.append(\"RIB.ExtraInfos\", JSON.stringify(rIB_ExtraInfos));\r\n if (rIB_FileName === null || rIB_FileName === undefined)\r\n throw new Error(\"The parameter 'rIB_FileName' cannot be null.\");\r\n else\r\n content_.append(\"RIB.FileName\", rIB_FileName.toString());\r\n if (rIB_ContentType === null || rIB_ContentType === undefined)\r\n throw new Error(\"The parameter 'rIB_ContentType' cannot be null.\");\r\n else\r\n content_.append(\"RIB.ContentType\", rIB_ContentType.toString());\r\n if (rIB_Content_CanRead === null || rIB_Content_CanRead === undefined)\r\n throw new Error(\"The parameter 'rIB_Content_CanRead' cannot be null.\");\r\n else\r\n content_.append(\"RIB.Content.CanRead\", rIB_Content_CanRead.toString());\r\n if (rIB_Content_CanWrite === null || rIB_Content_CanWrite === undefined)\r\n throw new Error(\"The parameter 'rIB_Content_CanWrite' cannot be null.\");\r\n else\r\n content_.append(\"RIB.Content.CanWrite\", rIB_Content_CanWrite.toString());\r\n if (rIB_Content_CanSeek === null || rIB_Content_CanSeek === undefined)\r\n throw new Error(\"The parameter 'rIB_Content_CanSeek' cannot be null.\");\r\n else\r\n content_.append(\"RIB.Content.CanSeek\", rIB_Content_CanSeek.toString());\r\n if (rIB_Content_CanTimeout === null || rIB_Content_CanTimeout === undefined)\r\n throw new Error(\"The parameter 'rIB_Content_CanTimeout' cannot be null.\");\r\n else\r\n content_.append(\"RIB.Content.CanTimeout\", rIB_Content_CanTimeout.toString());\r\n if (rIB_Content_Length === null || rIB_Content_Length === undefined)\r\n throw new Error(\"The parameter 'rIB_Content_Length' cannot be null.\");\r\n else\r\n content_.append(\"RIB.Content.Length\", rIB_Content_Length.toString());\r\n if (rIB_Content_Position === null || rIB_Content_Position === undefined)\r\n throw new Error(\"The parameter 'rIB_Content_Position' cannot be null.\");\r\n else\r\n content_.append(\"RIB.Content.Position\", rIB_Content_Position.toString());\r\n if (rIB_Content_ReadTimeout === null || rIB_Content_ReadTimeout === undefined)\r\n throw new Error(\"The parameter 'rIB_Content_ReadTimeout' cannot be null.\");\r\n else\r\n content_.append(\"RIB.Content.ReadTimeout\", rIB_Content_ReadTimeout.toString());\r\n if (rIB_Content_WriteTimeout === null || rIB_Content_WriteTimeout === undefined)\r\n throw new Error(\"The parameter 'rIB_Content_WriteTimeout' cannot be null.\");\r\n else\r\n content_.append(\"RIB.Content.WriteTimeout\", rIB_Content_WriteTimeout.toString());\r\n if (files === null || files === undefined)\r\n throw new Error(\"The parameter 'files' cannot be null.\");\r\n else\r\n files.forEach(item_ => content_.append(\"files\", item_.data, item_.fileName ? item_.fileName : \"files\"));\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {},\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processCreateOrUpdateDonneesBancaires(_response);\r\n });\r\n }\r\n processCreateOrUpdateDonneesBancaires(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getStructureNote(structureId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Structure/{structureId}/note\";\r\n if (structureId === undefined || structureId === null)\r\n throw new Error(\"The parameter 'structureId' must be defined.\");\r\n url_ = url_.replace(\"{structureId}\", encodeURIComponent(\"\" + structureId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetStructureNote(_response);\r\n });\r\n }\r\n processGetStructureNote(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n updateStructureNote(structureId, body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Structure/{structureId}/note\";\r\n if (structureId === undefined || structureId === null)\r\n throw new Error(\"The parameter 'structureId' must be defined.\");\r\n url_ = url_.replace(\"{structureId}\", encodeURIComponent(\"\" + structureId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processUpdateStructureNote(_response);\r\n });\r\n }\r\n processUpdateStructureNote(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n updateStructureNotePro(structureId, body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Structure/{structureId}/notePro\";\r\n if (structureId === undefined || structureId === null)\r\n throw new Error(\"The parameter 'structureId' must be defined.\");\r\n url_ = url_.replace(\"{structureId}\", encodeURIComponent(\"\" + structureId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processUpdateStructureNotePro(_response);\r\n });\r\n }\r\n processUpdateStructureNotePro(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param search (optional)\r\n * @return Success\r\n */\r\n autocompleteStructureName(search, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Structure/autocomplete/structureName?\";\r\n if (search === null)\r\n throw new Error(\"The parameter 'search' cannot be null.\");\r\n else if (search !== undefined)\r\n url_ += \"search=\" + encodeURIComponent(\"\" + search) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processAutocompleteStructureName(_response);\r\n });\r\n }\r\n processAutocompleteStructureName(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param search (optional)\r\n * @return Success\r\n */\r\n autocompleteResponsableEmail(search, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Structure/autocomplete/responsableEmail?\";\r\n if (search === null)\r\n throw new Error(\"The parameter 'search' cannot be null.\");\r\n else if (search !== undefined)\r\n url_ += \"search=\" + encodeURIComponent(\"\" + search) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processAutocompleteResponsableEmail(_response);\r\n });\r\n }\r\n processAutocompleteResponsableEmail(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param search (optional)\r\n * @return Success\r\n */\r\n autocompleteUsername(search, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Structure/autocomplete/username?\";\r\n if (search === null)\r\n throw new Error(\"The parameter 'search' cannot be null.\");\r\n else if (search !== undefined)\r\n url_ += \"search=\" + encodeURIComponent(\"\" + search) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processAutocompleteUsername(_response);\r\n });\r\n }\r\n processAutocompleteUsername(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param search (optional)\r\n * @return Success\r\n */\r\n autocompleteResponsableName(search, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Structure/autocomplete/responsableName?\";\r\n if (search === null)\r\n throw new Error(\"The parameter 'search' cannot be null.\");\r\n else if (search !== undefined)\r\n url_ += \"search=\" + encodeURIComponent(\"\" + search) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processAutocompleteResponsableName(_response);\r\n });\r\n }\r\n processAutocompleteResponsableName(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getDocuments(structureId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Structure/{structureId}/documents\";\r\n if (structureId === undefined || structureId === null)\r\n throw new Error(\"The parameter 'structureId' must be defined.\");\r\n url_ = url_.replace(\"{structureId}\", encodeURIComponent(\"\" + structureId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetDocuments(_response);\r\n });\r\n }\r\n processGetDocuments(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n updateStructureDocumentsValidation(structureId, body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Structure/{structureId}/documents/validation\";\r\n if (structureId === undefined || structureId === null)\r\n throw new Error(\"The parameter 'structureId' must be defined.\");\r\n url_ = url_.replace(\"{structureId}\", encodeURIComponent(\"\" + structureId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processUpdateStructureDocumentsValidation(_response);\r\n });\r\n }\r\n processUpdateStructureDocumentsValidation(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param filters (optional)\r\n * @param sorts (optional)\r\n * @param page (optional)\r\n * @param pageSize (optional)\r\n * @param disablePagination (optional)\r\n * @return Success\r\n */\r\n getStructureHistory(filters, sorts, page, pageSize, disablePagination, structureId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Structure/{structureId}/history?\";\r\n if (structureId === undefined || structureId === null)\r\n throw new Error(\"The parameter 'structureId' must be defined.\");\r\n url_ = url_.replace(\"{structureId}\", encodeURIComponent(\"\" + structureId));\r\n if (filters === null)\r\n throw new Error(\"The parameter 'filters' cannot be null.\");\r\n else if (filters !== undefined)\r\n url_ += \"Filters=\" + encodeURIComponent(\"\" + filters) + \"&\";\r\n if (sorts === null)\r\n throw new Error(\"The parameter 'sorts' cannot be null.\");\r\n else if (sorts !== undefined)\r\n url_ += \"Sorts=\" + encodeURIComponent(\"\" + sorts) + \"&\";\r\n if (page === null)\r\n throw new Error(\"The parameter 'page' cannot be null.\");\r\n else if (page !== undefined)\r\n url_ += \"Page=\" + encodeURIComponent(\"\" + page) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n if (disablePagination === null)\r\n throw new Error(\"The parameter 'disablePagination' cannot be null.\");\r\n else if (disablePagination !== undefined)\r\n url_ += \"DisablePagination=\" + encodeURIComponent(\"\" + disablePagination) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetStructureHistory(_response);\r\n });\r\n }\r\n processGetStructureHistory(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getStructureBalance(structureId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Structure/{structureId}/balance\";\r\n if (structureId === undefined || structureId === null)\r\n throw new Error(\"The parameter 'structureId' must be defined.\");\r\n url_ = url_.replace(\"{structureId}\", encodeURIComponent(\"\" + structureId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetStructureBalance(_response);\r\n });\r\n }\r\n processGetStructureBalance(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getDoublonsStructure(structureId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Structure/{structureId}/doublons\";\r\n if (structureId === undefined || structureId === null)\r\n throw new Error(\"The parameter 'structureId' must be defined.\");\r\n url_ = url_.replace(\"{structureId}\", encodeURIComponent(\"\" + structureId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetDoublonsStructure(_response);\r\n });\r\n }\r\n processGetDoublonsStructure(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n updateRIBValidation(structureId, body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Structure/{structureId}/rib/validation\";\r\n if (structureId === undefined || structureId === null)\r\n throw new Error(\"The parameter 'structureId' must be defined.\");\r\n url_ = url_.replace(\"{structureId}\", encodeURIComponent(\"\" + structureId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processUpdateRIBValidation(_response);\r\n });\r\n }\r\n processUpdateRIBValidation(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\nexport class TemplateClient {\r\n constructor(baseUrl, instance) {\r\n this.jsonParseReviver = undefined;\r\n this.instance = instance ? instance : axios.create();\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n updateTemplate(templateId, body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Template/{templateId}\";\r\n if (templateId === undefined || templateId === null)\r\n throw new Error(\"The parameter 'templateId' must be defined.\");\r\n url_ = url_.replace(\"{templateId}\", encodeURIComponent(\"\" + templateId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processUpdateTemplate(_response);\r\n });\r\n }\r\n processUpdateTemplate(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param code (optional)\r\n * @return Success\r\n */\r\n getTemplateByCode(code, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Template?\";\r\n if (code === null)\r\n throw new Error(\"The parameter 'code' cannot be null.\");\r\n else if (code !== undefined)\r\n url_ += \"code=\" + encodeURIComponent(\"\" + code) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetTemplateByCode(_response);\r\n });\r\n }\r\n processGetTemplateByCode(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\nexport class TypeDeDocumentClient {\r\n constructor(baseUrl, instance) {\r\n this.jsonParseReviver = undefined;\r\n this.instance = instance ? instance : axios.create();\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getTypesDeDocument(cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/TypeDeDocument\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetTypesDeDocument(_response);\r\n });\r\n }\r\n processGetTypesDeDocument(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n createTypeDeDocument(body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/TypeDeDocument\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processCreateTypeDeDocument(_response);\r\n });\r\n }\r\n processCreateTypeDeDocument(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 201) {\r\n const _responseText = response.data;\r\n let result201 = null;\r\n let resultData201 = _responseText;\r\n result201 = resultData201;\r\n return Promise.resolve(result201);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n updateTypeDeDocument(id, body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/TypeDeDocument/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processUpdateTypeDeDocument(_response);\r\n });\r\n }\r\n processUpdateTypeDeDocument(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n deleteTypeDeDocument(id, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/TypeDeDocument/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {},\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processDeleteTypeDeDocument(_response);\r\n });\r\n }\r\n processDeleteTypeDeDocument(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\nexport class UserClient {\r\n constructor(baseUrl, instance) {\r\n this.jsonParseReviver = undefined;\r\n this.instance = instance ? instance : axios.create();\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getMe(cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/User/me\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetMe(_response);\r\n });\r\n }\r\n processGetMe(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param roles (optional)\r\n * @param search (optional)\r\n * @param actifs (optional)\r\n * @return Success\r\n */\r\n getUsers(roles, search, actifs, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/User?\";\r\n if (roles === null)\r\n throw new Error(\"The parameter 'roles' cannot be null.\");\r\n else if (roles !== undefined)\r\n roles && roles.forEach(item => { url_ += \"roles=\" + encodeURIComponent(\"\" + item) + \"&\"; });\r\n if (search === null)\r\n throw new Error(\"The parameter 'search' cannot be null.\");\r\n else if (search !== undefined)\r\n url_ += \"search=\" + encodeURIComponent(\"\" + search) + \"&\";\r\n if (actifs === null)\r\n throw new Error(\"The parameter 'actifs' cannot be null.\");\r\n else if (actifs !== undefined)\r\n url_ += \"actifs=\" + encodeURIComponent(\"\" + actifs) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetUsers(_response);\r\n });\r\n }\r\n processGetUsers(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n createUser(body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/User\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processCreateUser(_response);\r\n });\r\n }\r\n processCreateUser(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n updateUser(userId, body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/User/{userId}\";\r\n if (userId === undefined || userId === null)\r\n throw new Error(\"The parameter 'userId' must be defined.\");\r\n url_ = url_.replace(\"{userId}\", encodeURIComponent(\"\" + userId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processUpdateUser(_response);\r\n });\r\n }\r\n processUpdateUser(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getActionPermissions(cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/User/permissions\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetActionPermissions(_response);\r\n });\r\n }\r\n processGetActionPermissions(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\nexport class ValidationClient {\r\n constructor(baseUrl, instance) {\r\n this.jsonParseReviver = undefined;\r\n this.instance = instance ? instance : axios.create();\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getValidationDescriptors(cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Validation\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetValidationDescriptors(_response);\r\n });\r\n }\r\n processGetValidationDescriptors(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\nexport class VersementClient {\r\n constructor(baseUrl, instance) {\r\n this.jsonParseReviver = undefined;\r\n this.instance = instance ? instance : axios.create();\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getVersementDetails(versementId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/{versementId}/details\";\r\n if (versementId === undefined || versementId === null)\r\n throw new Error(\"The parameter 'versementId' must be defined.\");\r\n url_ = url_.replace(\"{versementId}\", encodeURIComponent(\"\" + versementId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetVersementDetails(_response);\r\n });\r\n }\r\n processGetVersementDetails(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n updateDSVInstructionVersement(versementId, body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/{versementId}/dsvinstruction/update\";\r\n if (versementId === undefined || versementId === null)\r\n throw new Error(\"The parameter 'versementId' must be defined.\");\r\n url_ = url_.replace(\"{versementId}\", encodeURIComponent(\"\" + versementId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processUpdateDSVInstructionVersement(_response);\r\n });\r\n }\r\n processUpdateDSVInstructionVersement(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n createVersementArtiste(versementId, body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/artiste/{versementId}\";\r\n if (versementId === undefined || versementId === null)\r\n throw new Error(\"The parameter 'versementId' must be defined.\");\r\n url_ = url_.replace(\"{versementId}\", encodeURIComponent(\"\" + versementId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processCreateVersementArtiste(_response);\r\n });\r\n }\r\n processCreateVersementArtiste(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 201) {\r\n const _responseText = response.data;\r\n let result201 = null;\r\n let resultData201 = _responseText;\r\n result201 = resultData201;\r\n return Promise.resolve(result201);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n updateVersementArtiste(versementArtisteId, body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/artiste/{versementArtisteId}\";\r\n if (versementArtisteId === undefined || versementArtisteId === null)\r\n throw new Error(\"The parameter 'versementArtisteId' must be defined.\");\r\n url_ = url_.replace(\"{versementArtisteId}\", encodeURIComponent(\"\" + versementArtisteId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processUpdateVersementArtiste(_response);\r\n });\r\n }\r\n processUpdateVersementArtiste(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n deleteVersementArtiste(versementArtisteId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/artiste/{versementArtisteId}\";\r\n if (versementArtisteId === undefined || versementArtisteId === null)\r\n throw new Error(\"The parameter 'versementArtisteId' must be defined.\");\r\n url_ = url_.replace(\"{versementArtisteId}\", encodeURIComponent(\"\" + versementArtisteId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processDeleteVersementArtiste(_response);\r\n });\r\n }\r\n processDeleteVersementArtiste(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n updateStatutDemandeVersement(versementId, body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/{versementId}/statut\";\r\n if (versementId === undefined || versementId === null)\r\n throw new Error(\"The parameter 'versementId' must be defined.\");\r\n url_ = url_.replace(\"{versementId}\", encodeURIComponent(\"\" + versementId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processUpdateStatutDemandeVersement(_response);\r\n });\r\n }\r\n processUpdateStatutDemandeVersement(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param versementArtistes (optional)\r\n * @param enseignants (optional)\r\n * @param documents (optional)\r\n * @return Success\r\n */\r\n updateArtisteDocument(versementId, versementArtistes, enseignants, documents, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/{versementId}/contratscachets/artiste/document\";\r\n if (versementId === undefined || versementId === null)\r\n throw new Error(\"The parameter 'versementId' must be defined.\");\r\n url_ = url_.replace(\"{versementId}\", encodeURIComponent(\"\" + versementId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = new FormData();\r\n if (versementArtistes === null || versementArtistes === undefined)\r\n throw new Error(\"The parameter 'versementArtistes' cannot be null.\");\r\n else\r\n versementArtistes.forEach(item_ => content_.append(\"VersementArtistes\", item_.toString()));\r\n if (enseignants === null || enseignants === undefined)\r\n throw new Error(\"The parameter 'enseignants' cannot be null.\");\r\n else\r\n enseignants.forEach(item_ => content_.append(\"Enseignants\", item_.toString()));\r\n if (documents === null || documents === undefined)\r\n throw new Error(\"The parameter 'documents' cannot be null.\");\r\n else\r\n documents.forEach(item_ => content_.append(\"documents\", item_.data, item_.fileName ? item_.fileName : \"documents\"));\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processUpdateArtisteDocument(_response);\r\n });\r\n }\r\n processUpdateArtisteDocument(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n updateVersementArtistesValidation(versementId, body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/{versementId}/artistes/validation\";\r\n if (versementId === undefined || versementId === null)\r\n throw new Error(\"The parameter 'versementId' must be defined.\");\r\n url_ = url_.replace(\"{versementId}\", encodeURIComponent(\"\" + versementId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processUpdateVersementArtistesValidation(_response);\r\n });\r\n }\r\n processUpdateVersementArtistesValidation(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n updateVersementDepensesValidation(versementId, body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/{versementId}/depenses/validation\";\r\n if (versementId === undefined || versementId === null)\r\n throw new Error(\"The parameter 'versementId' must be defined.\");\r\n url_ = url_.replace(\"{versementId}\", encodeURIComponent(\"\" + versementId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processUpdateVersementDepensesValidation(_response);\r\n });\r\n }\r\n processUpdateVersementDepensesValidation(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n updateVersementDocumentsValidation(versementId, body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/{versementId}/documents/validation\";\r\n if (versementId === undefined || versementId === null)\r\n throw new Error(\"The parameter 'versementId' must be defined.\");\r\n url_ = url_.replace(\"{versementId}\", encodeURIComponent(\"\" + versementId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processUpdateVersementDocumentsValidation(_response);\r\n });\r\n }\r\n processUpdateVersementDocumentsValidation(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getRecalculMasseSalariale(versementId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/{versementId}/recalculate\";\r\n if (versementId === undefined || versementId === null)\r\n throw new Error(\"The parameter 'versementId' must be defined.\");\r\n url_ = url_.replace(\"{versementId}\", encodeURIComponent(\"\" + versementId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetRecalculMasseSalariale(_response);\r\n });\r\n }\r\n processGetRecalculMasseSalariale(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getDemandeVersementMasseSalariale(versementId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/{versementId}/massesalariale\";\r\n if (versementId === undefined || versementId === null)\r\n throw new Error(\"The parameter 'versementId' must be defined.\");\r\n url_ = url_.replace(\"{versementId}\", encodeURIComponent(\"\" + versementId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetDemandeVersementMasseSalariale(_response);\r\n });\r\n }\r\n processGetDemandeVersementMasseSalariale(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\nexport class VueClient {\r\n constructor(baseUrl, instance) {\r\n this.jsonParseReviver = undefined;\r\n this.instance = instance ? instance : axios.create();\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n /**\r\n * @param type (optional)\r\n * @return Success\r\n */\r\n getVues(type, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Vue?\";\r\n if (type === null)\r\n throw new Error(\"The parameter 'type' cannot be null.\");\r\n else if (type !== undefined)\r\n url_ += \"type=\" + encodeURIComponent(\"\" + type) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetVues(_response);\r\n });\r\n }\r\n processGetVues(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n createVue(body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Vue\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processCreateVue(_response);\r\n });\r\n }\r\n processCreateVue(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 201) {\r\n const _responseText = response.data;\r\n let result201 = null;\r\n let resultData201 = _responseText;\r\n result201 = resultData201;\r\n return Promise.resolve(result201);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n updateVue(vueId, body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Vue/{vueId}\";\r\n if (vueId === undefined || vueId === null)\r\n throw new Error(\"The parameter 'vueId' must be defined.\");\r\n url_ = url_.replace(\"{vueId}\", encodeURIComponent(\"\" + vueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processUpdateVue(_response);\r\n });\r\n }\r\n processUpdateVue(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n deleteVue(vueId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Vue/{vueId}\";\r\n if (vueId === undefined || vueId === null)\r\n throw new Error(\"The parameter 'vueId' must be defined.\");\r\n url_ = url_.replace(\"{vueId}\", encodeURIComponent(\"\" + vueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {},\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processDeleteVue(_response);\r\n });\r\n }\r\n processDeleteVue(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\nexport var AnswerType;\r\n(function (AnswerType) {\r\n AnswerType[\"None\"] = \"none\";\r\n AnswerType[\"Text\"] = \"text\";\r\n AnswerType[\"MultilineText\"] = \"multilineText\";\r\n AnswerType[\"Date\"] = \"date\";\r\n AnswerType[\"IntegerNumber\"] = \"integerNumber\";\r\n AnswerType[\"DecimalNumber\"] = \"decimalNumber\";\r\n AnswerType[\"SingleChoiceList\"] = \"singleChoiceList\";\r\n AnswerType[\"MultipleChoiceList\"] = \"multipleChoiceList\";\r\n AnswerType[\"YesNo\"] = \"yesNo\";\r\n AnswerType[\"YesNoDontKnow\"] = \"yesNoDontKnow\";\r\n AnswerType[\"File\"] = \"file\";\r\n AnswerType[\"Url\"] = \"url\";\r\n AnswerType[\"Link\"] = \"link\";\r\n AnswerType[\"Period\"] = \"period\";\r\n AnswerType[\"Html\"] = \"html\";\r\n AnswerType[\"Array\"] = \"array\";\r\n AnswerType[\"Blocking\"] = \"blocking\";\r\n})(AnswerType || (AnswerType = {}));\r\nexport var ChampDepense;\r\n(function (ChampDepense) {\r\n ChampDepense[\"None\"] = \"none\";\r\n ChampDepense[\"Autre\"] = \"autre\";\r\n ChampDepense[\"SalairesArtisteEnregistrement\"] = \"salairesArtisteEnregistrement\";\r\n ChampDepense[\"SalairesArtisteRepetition\"] = \"salairesArtisteRepetition\";\r\n ChampDepense[\"SalairesArtisteRepresentation\"] = \"salairesArtisteRepresentation\";\r\n ChampDepense[\"SalairesArtisteMensualisation\"] = \"salairesArtisteMensualisation\";\r\n ChampDepense[\"ChargesSocialesPatronalesArtistes\"] = \"chargesSocialesPatronalesArtistes\";\r\n ChampDepense[\"AutresSalairesArtistiquesChargesSocialesPatronalesIncluses\"] = \"autresSalairesArtistiquesChargesSocialesPatronalesIncluses\";\r\n ChampDepense[\"SalairesTechniciensChargesSocialesPatronalesIncluses\"] = \"salairesTechniciensChargesSocialesPatronalesIncluses\";\r\n ChampDepense[\"SalairesPersonnelsAdministratifsChargesSocialesPatronalesIncluses\"] = \"salairesPersonnelsAdministratifsChargesSocialesPatronalesIncluses\";\r\n ChampDepense[\"LocationSalle\"] = \"locationSalle\";\r\n ChampDepense[\"Assurances\"] = \"assurances\";\r\n ChampDepense[\"Defraiements\"] = \"defraiements\";\r\n ChampDepense[\"PublicitePromotion\"] = \"publicitePromotion\";\r\n ChampDepense[\"Organisme\"] = \"organisme\";\r\n ChampDepense[\"Musiciens\"] = \"musiciens\";\r\n ChampDepense[\"Danseurs\"] = \"danseurs\";\r\n ChampDepense[\"Choristes\"] = \"choristes\";\r\n ChampDepense[\"Chanteurs\"] = \"chanteurs\";\r\n ChampDepense[\"Comediens\"] = \"comediens\";\r\n ChampDepense[\"ChefsOrchestre\"] = \"chefsOrchestre\";\r\n ChampDepense[\"ChargesPatronales\"] = \"chargesPatronales\";\r\n ChampDepense[\"CongesSpectales\"] = \"congesSpectales\";\r\n ChampDepense[\"Auteurs\"] = \"auteurs\";\r\n ChampDepense[\"MetteursEnScene\"] = \"metteursEnScene\";\r\n ChampDepense[\"Choregraphes\"] = \"choregraphes\";\r\n ChampDepense[\"DecorateursCostumiers\"] = \"decorateursCostumiers\";\r\n ChampDepense[\"CommandesMusicales\"] = \"commandesMusicales\";\r\n ChampDepense[\"Agessa\"] = \"agessa\";\r\n ChampDepense[\"AdministrationCoordination\"] = \"administrationCoordination\";\r\n ChampDepense[\"TelephoneFaxEnvois\"] = \"telephoneFaxEnvois\";\r\n ChampDepense[\"TechniciensIngenieurs\"] = \"techniciensIngenieurs\";\r\n ChampDepense[\"Divers\"] = \"divers\";\r\n ChampDepense[\"CommunicationPublicite\"] = \"communicationPublicite\";\r\n ChampDepense[\"AttacheDePresse\"] = \"attacheDePresse\";\r\n ChampDepense[\"FraisDeFonctionnementLocation\"] = \"fraisDeFonctionnementLocation\";\r\n ChampDepense[\"MasseSalarialeArtistiqueEstimeeContratsVente\"] = \"masseSalarialeArtistiqueEstimeeContratsVente\";\r\n ChampDepense[\"ContratsVentes\"] = \"contratsVentes\";\r\n ChampDepense[\"BilletsAvion\"] = \"billetsAvion\";\r\n ChampDepense[\"BilletsTrain\"] = \"billetsTrain\";\r\n ChampDepense[\"LocationVoiture\"] = \"locationVoiture\";\r\n ChampDepense[\"Hotel\"] = \"hotel\";\r\n ChampDepense[\"Restauration\"] = \"restauration\";\r\n ChampDepense[\"Carburant\"] = \"carburant\";\r\n ChampDepense[\"TransportInstruments\"] = \"transportInstruments\";\r\n ChampDepense[\"Hebergement\"] = \"hebergement\";\r\n ChampDepense[\"CotisationAFC\"] = \"cotisationAFC\";\r\n ChampDepense[\"SalaireArtistes\"] = \"salaireArtistes\";\r\n ChampDepense[\"RealisationEtImpressionInvitations\"] = \"realisationEtImpressionInvitations\";\r\n ChampDepense[\"EnvoisEtInsertionsPresse\"] = \"envoisEtInsertionsPresse\";\r\n ChampDepense[\"Deplacements\"] = \"deplacements\";\r\n ChampDepense[\"FraisOrganisation\"] = \"fraisOrganisation\";\r\n ChampDepense[\"Sacem\"] = \"sacem\";\r\n ChampDepense[\"Arrangeur\"] = \"arrangeur\";\r\n ChampDepense[\"LocationStudio\"] = \"locationStudio\";\r\n ChampDepense[\"LocationMateriel\"] = \"locationMateriel\";\r\n ChampDepense[\"SalairesEnseignantsPermanents\"] = \"salairesEnseignantsPermanents\";\r\n ChampDepense[\"ChargesSocialesEnseignantsPermanents\"] = \"chargesSocialesEnseignantsPermanents\";\r\n ChampDepense[\"SalairesEnseignantsVacataires\"] = \"salairesEnseignantsVacataires\";\r\n ChampDepense[\"ChargesSocialesEnseignantsVacataires\"] = \"chargesSocialesEnseignantsVacataires\";\r\n ChampDepense[\"Loyers\"] = \"loyers\";\r\n ChampDepense[\"FraisFonctionnement\"] = \"fraisFonctionnement\";\r\n ChampDepense[\"Cotisations\"] = \"cotisations\";\r\n ChampDepense[\"FraisBancaires\"] = \"fraisBancaires\";\r\n ChampDepense[\"TaxesSalaires\"] = \"taxesSalaires\";\r\n ChampDepense[\"FormationProfessionnelleContinue\"] = \"formationProfessionnelleContinue\";\r\n ChampDepense[\"TaxeApprentissage\"] = \"taxeApprentissage\";\r\n ChampDepense[\"DevisRealisation\"] = \"devisRealisation\";\r\n ChampDepense[\"DroitsPourUtilisationsSecondaires\"] = \"droitsPourUtilisationsSecondaires\";\r\n ChampDepense[\"DroitsSurDocumentsArchives\"] = \"droitsSurDocumentsArchives\";\r\n ChampDepense[\"DroitsPhotographiques\"] = \"droitsPhotographiques\";\r\n ChampDepense[\"DroitsAuteur\"] = \"droitsAuteur\";\r\n ChampDepense[\"BandesEtFournitures\"] = \"bandesEtFournitures\";\r\n ChampDepense[\"SalaireVerseSuiteAnnulations\"] = \"salaireVerseSuiteAnnulations\";\r\n ChampDepense[\"IndemniteVerseSuiteAnnulations\"] = \"indemniteVerseSuiteAnnulations\";\r\n ChampDepense[\"PrestationTechnique\"] = \"prestationTechnique\";\r\n ChampDepense[\"Copiste\"] = \"copiste\";\r\n ChampDepense[\"SalairesPersonnelsAdministratifs\"] = \"salairesPersonnelsAdministratifs\";\r\n ChampDepense[\"ChargesSocialesPersonnelsAdministratifs\"] = \"chargesSocialesPersonnelsAdministratifs\";\r\n ChampDepense[\"AutresSalairesChargesSocialesIncluses\"] = \"autresSalairesChargesSocialesIncluses\";\r\n ChampDepense[\"SalairesArtisteConcert\"] = \"salairesArtisteConcert\";\r\n ChampDepense[\"SalairesArtisteEngagementDirect\"] = \"SalairesArtisteEngagementDirect\";\r\n ChampDepense[\"CotisationPatronalesEngagementDirect\"] = \"CotisationPatronalesEngagementDirect\";\r\n ChampDepense[\"SalairesArtisteContratVente\"] = \"SalairesArtisteContratVente\";\r\n ChampDepense[\"CotisationPatronalesContratVente\"] = \"CotisationPatronalesContratVente\";\r\n})(ChampDepense || (ChampDepense = {}));\r\nexport var ChampFinancement;\r\n(function (ChampFinancement) {\r\n ChampFinancement[\"None\"] = \"none\";\r\n ChampFinancement[\"Autre\"] = \"autre\";\r\n ChampFinancement[\"VenteTotaleBillets\"] = \"venteTotaleBillets\";\r\n ChampFinancement[\"VenteTiers\"] = \"venteTiers\";\r\n ChampFinancement[\"RecettesAnnexes\"] = \"recettesAnnexes\";\r\n ChampFinancement[\"ContrepartiesEnServicesOuCoProduction\"] = \"contrepartiesEnServicesOuCoProduction\";\r\n ChampFinancement[\"ApportsPersonnelsGarantis\"] = \"apportsPersonnelsGarantis\";\r\n ChampFinancement[\"FondsEuropeens\"] = \"fondsEuropeens\";\r\n ChampFinancement[\"MinistereDeLaCulture\"] = \"ministereDeLaCulture\";\r\n ChampFinancement[\"Drac\"] = \"drac\";\r\n ChampFinancement[\"ConseilRegional\"] = \"conseilRegional\";\r\n ChampFinancement[\"ConseilGeneral\"] = \"conseilGeneral\";\r\n ChampFinancement[\"CommunauteDeCommunes\"] = \"communauteDeCommunes\";\r\n ChampFinancement[\"Municipalite\"] = \"municipalite\";\r\n ChampFinancement[\"Cnm\"] = \"cnm\";\r\n ChampFinancement[\"SacemOuAssociationBeaumarchais\"] = \"sacemOuAssociationBeaumarchais\";\r\n ChampFinancement[\"Sacd\"] = \"sacd\";\r\n ChampFinancement[\"ScpPouSPPF\"] = \"scpPouSPPF\";\r\n ChampFinancement[\"Adami\"] = \"adami\";\r\n ChampFinancement[\"MontantDemandeSPEDIDAM\"] = \"montantDemandeSPEDIDAM\";\r\n ChampFinancement[\"VenteSpectacles\"] = \"venteSpectacles\";\r\n ChampFinancement[\"VenteBilletsEscompte\"] = \"venteBilletsEscompte\";\r\n ChampFinancement[\"ContrePartiesEnServices\"] = \"contrePartiesEnServices\";\r\n ChampFinancement[\"CoProduction\"] = \"coProduction\";\r\n ChampFinancement[\"Divers\"] = \"divers\";\r\n ChampFinancement[\"Sacem\"] = \"sacem\";\r\n ChampFinancement[\"Fcm\"] = \"fcm\";\r\n ChampFinancement[\"FinancementParticipatifOuCampagneCrowdfunding\"] = \"financementParticipatifOuCampagneCrowdfunding\";\r\n ChampFinancement[\"FondSoutienProfessionnalisationAFC\"] = \"fondSoutienProfessionnalisationAFC\";\r\n ChampFinancement[\"AutresPartenaires\"] = \"autresPartenaires\";\r\n ChampFinancement[\"Vente\"] = \"vente\";\r\n ChampFinancement[\"ConseilDepartemental\"] = \"conseilDepartemental\";\r\n ChampFinancement[\"Cnc\"] = \"cnc\";\r\n ChampFinancement[\"Cours\"] = \"cours\";\r\n ChampFinancement[\"Adhesions\"] = \"adhesions\";\r\n ChampFinancement[\"AfdasCifCnfpt\"] = \"afdasCifCnfpt\";\r\n ChampFinancement[\"AutresRecettesExploitation\"] = \"autresRecettesExploitation\";\r\n ChampFinancement[\"Ville\"] = \"ville\";\r\n ChampFinancement[\"ApportFondsPropres\"] = \"apportFondsPropres\";\r\n ChampFinancement[\"ApportProducteur\"] = \"apportProducteur\";\r\n ChampFinancement[\"ApportCoProducteur\"] = \"apportCoProducteur\";\r\n ChampFinancement[\"ApportEditeurDeMusique\"] = \"apportEditeurDeMusique\";\r\n ChampFinancement[\"IndemnisationChomageSalaireArtiste\"] = \"indemnisationChomageSalaireArtiste\";\r\n ChampFinancement[\"IndemnisationChomageAutreSalaire\"] = \"indemnisationChomageAutreSalaire\";\r\n})(ChampFinancement || (ChampFinancement = {}));\r\nexport var Civilite;\r\n(function (Civilite) {\r\n Civilite[\"None\"] = \"none\";\r\n Civilite[\"Monsieur\"] = \"monsieur\";\r\n Civilite[\"Madame\"] = \"madame\";\r\n})(Civilite || (Civilite = {}));\r\nexport var CommissionTimeSlot;\r\n(function (CommissionTimeSlot) {\r\n CommissionTimeSlot[\"None\"] = \"none\";\r\n CommissionTimeSlot[\"Matin\"] = \"matin\";\r\n CommissionTimeSlot[\"ApresMidi\"] = \"apresMidi\";\r\n})(CommissionTimeSlot || (CommissionTimeSlot = {}));\r\nexport var ConditionOperator;\r\n(function (ConditionOperator) {\r\n ConditionOperator[\"Empty\"] = \"empty\";\r\n ConditionOperator[\"Equal\"] = \"equal\";\r\n ConditionOperator[\"AnyOf\"] = \"anyOf\";\r\n ConditionOperator[\"LesserThan\"] = \"lesserThan\";\r\n})(ConditionOperator || (ConditionOperator = {}));\r\nexport var CritereDossierSortProperty;\r\n(function (CritereDossierSortProperty) {\r\n CritereDossierSortProperty[\"Categorie\"] = \"categorie\";\r\n CritereDossierSortProperty[\"DateDebut\"] = \"dateDebut\";\r\n})(CritereDossierSortProperty || (CritereDossierSortProperty = {}));\r\nexport var CritereDossierVersion;\r\n(function (CritereDossierVersion) {\r\n CritereDossierVersion[\"All\"] = \"all\";\r\n CritereDossierVersion[\"Current\"] = \"current\";\r\n CritereDossierVersion[\"Past\"] = \"past\";\r\n CritereDossierVersion[\"Future\"] = \"future\";\r\n})(CritereDossierVersion || (CritereDossierVersion = {}));\r\nexport var DocumentScope;\r\n(function (DocumentScope) {\r\n DocumentScope[\"None\"] = \"none\";\r\n DocumentScope[\"Structure\"] = \"structure\";\r\n DocumentScope[\"Dossier\"] = \"dossier\";\r\n DocumentScope[\"Commission\"] = \"commission\";\r\n})(DocumentScope || (DocumentScope = {}));\r\nexport var Emploi;\r\n(function (Emploi) {\r\n Emploi[\"None\"] = \"none\";\r\n Emploi[\"Musicien\"] = \"musicien\";\r\n Emploi[\"Chanteur\"] = \"chanteur\";\r\n Emploi[\"ChefOrchestre\"] = \"chefOrchestre\";\r\n Emploi[\"Choriste\"] = \"choriste\";\r\n Emploi[\"Comedien\"] = \"comedien\";\r\n Emploi[\"Circassien\"] = \"circassien\";\r\n Emploi[\"Danseur\"] = \"danseur\";\r\n Emploi[\"Marionnettiste\"] = \"marionnettiste\";\r\n})(Emploi || (Emploi = {}));\r\nexport var Equipements;\r\n(function (Equipements) {\r\n Equipements[\"None\"] = \"none\";\r\n Equipements[\"PcBureau\"] = \"pcBureau\";\r\n Equipements[\"PcPortable\"] = \"pcPortable\";\r\n Equipements[\"Tablette\"] = \"tablette\";\r\n Equipements[\"Imprimante\"] = \"imprimante\";\r\n Equipements[\"TelephonePortable\"] = \"telephonePortable\";\r\n Equipements[\"Autre\"] = \"autre\";\r\n})(Equipements || (Equipements = {}));\r\nexport var FilterOperator;\r\n(function (FilterOperator) {\r\n FilterOperator[\"Equals\"] = \"equals\";\r\n FilterOperator[\"NotEquals\"] = \"notEquals\";\r\n FilterOperator[\"GreaterThan\"] = \"greaterThan\";\r\n FilterOperator[\"LessThan\"] = \"lessThan\";\r\n FilterOperator[\"GreaterThanOrEqualTo\"] = \"greaterThanOrEqualTo\";\r\n FilterOperator[\"LessThanOrEqualTo\"] = \"lessThanOrEqualTo\";\r\n FilterOperator[\"Contains\"] = \"contains\";\r\n FilterOperator[\"StartsWith\"] = \"startsWith\";\r\n})(FilterOperator || (FilterOperator = {}));\r\nexport var GenerationsSpedidamSortProperty;\r\n(function (GenerationsSpedidamSortProperty) {\r\n GenerationsSpedidamSortProperty[\"Commission\"] = \"commission\";\r\n GenerationsSpedidamSortProperty[\"StyleMusical\"] = \"styleMusical\";\r\n GenerationsSpedidamSortProperty[\"Nom\"] = \"nom\";\r\n GenerationsSpedidamSortProperty[\"Prenom\"] = \"prenom\";\r\n GenerationsSpedidamSortProperty[\"IsActive\"] = \"isActive\";\r\n GenerationsSpedidamSortProperty[\"MontantEnveloppe\"] = \"montantEnveloppe\";\r\n})(GenerationsSpedidamSortProperty || (GenerationsSpedidamSortProperty = {}));\r\nexport var GroupeCommission;\r\n(function (GroupeCommission) {\r\n GroupeCommission[\"None\"] = \"none\";\r\n GroupeCommission[\"A\"] = \"a\";\r\n GroupeCommission[\"B\"] = \"b\";\r\n GroupeCommission[\"C\"] = \"c\";\r\n GroupeCommission[\"Suppleant\"] = \"suppleant\";\r\n})(GroupeCommission || (GroupeCommission = {}));\r\nexport var ModeVersement;\r\n(function (ModeVersement) {\r\n ModeVersement[\"None\"] = \"none\";\r\n ModeVersement[\"Automatique\"] = \"automatique\";\r\n ModeVersement[\"Manuel\"] = \"manuel\";\r\n ModeVersement[\"Programme\"] = \"programme\";\r\n})(ModeVersement || (ModeVersement = {}));\r\nexport var ObjetDiscussion;\r\n(function (ObjetDiscussion) {\r\n ObjetDiscussion[\"None\"] = \"none\";\r\n ObjetDiscussion[\"InformationGeneral\"] = \"informationGeneral\";\r\n ObjetDiscussion[\"MiseAJourCompte\"] = \"miseAJourCompte\";\r\n ObjetDiscussion[\"AbsenceLogo\"] = \"absenceLogo\";\r\n ObjetDiscussion[\"ConventionNonConforme\"] = \"conventionNonConforme\";\r\n ObjetDiscussion[\"ConventionRecueHorodate\"] = \"conventionRecueHorodate\";\r\n ObjetDiscussion[\"ContratNonConforme\"] = \"contratNonConforme\";\r\n ObjetDiscussion[\"DecisionDefavorable\"] = \"decisionDefavorable\";\r\n ObjetDiscussion[\"DecisionFavorable\"] = \"decisionFavorable\";\r\n ObjetDiscussion[\"DemandeVersementNonConforme\"] = \"demandeVersementNonConforme\";\r\n ObjetDiscussion[\"DemandeVersementAcompteNonConforme\"] = \"demandeVersementAcompteNonConforme\";\r\n ObjetDiscussion[\"DemandeVersementSoldeNonConforme\"] = \"demandeVersementSoldeNonConforme\";\r\n ObjetDiscussion[\"DemandeVersementAFaire\"] = \"demandeVersementAFaire\";\r\n ObjetDiscussion[\"DossierHorsCrit\\u00E8res\"] = \"dossierHorsCrit\\u00E8res\";\r\n ObjetDiscussion[\"DossierIncomplet\"] = \"dossierIncomplet\";\r\n ObjetDiscussion[\"EnAttenteConventionSigne\"] = \"enAttenteConventionSigne\";\r\n ObjetDiscussion[\"EnAttenteDelegationSignature\"] = \"enAttenteDelegationSignature\";\r\n ObjetDiscussion[\"EnAttenteDemandeDerogation\"] = \"enAttenteDemandeDerogation\";\r\n ObjetDiscussion[\"EnAttenteSupportPhysique\"] = \"enAttenteSupportPhysique\";\r\n ObjetDiscussion[\"EnAttenteValidationServiceJuridique\"] = \"enAttenteValidationServiceJuridique\";\r\n ObjetDiscussion[\"EnAttenteValidationServiceSpectacleVivant\"] = \"enAttenteValidationServiceSpectacleVivant\";\r\n ObjetDiscussion[\"ExamenDossierReporte\"] = \"examenDossierReporte\";\r\n ObjetDiscussion[\"FeuillePresenceNonConforme\"] = \"feuillePresenceNonConforme\";\r\n ObjetDiscussion[\"ImpossibleOuvrirPieceJointe\"] = \"impossibleOuvrirPieceJointe\";\r\n ObjetDiscussion[\"LienIndiqueNonValide\"] = \"lienIndiqueNonValide\";\r\n ObjetDiscussion[\"RemunerationArtisteNonConforme\"] = \"remunerationArtisteNonConforme\";\r\n ObjetDiscussion[\"MiseAJourPiecesJointesMonCompte\"] = \"miseAJourPiecesJointesMonCompte\";\r\n ObjetDiscussion[\"NonRespectCriteres\"] = \"nonRespectCriteres\";\r\n ObjetDiscussion[\"ReaffectationAide\"] = \"reaffectationAide\";\r\n ObjetDiscussion[\"UrgentRappelAvantReaffectationAide\"] = \"urgentRappelAvantReaffectationAide\";\r\n ObjetDiscussion[\"VersementProrata\"] = \"versementProrata\";\r\n ObjetDiscussion[\"VersementAide\"] = \"versementAide\";\r\n ObjetDiscussion[\"DemandeRemboursement\"] = \"demandeRemboursement\";\r\n ObjetDiscussion[\"DemandeDeComplementInformation\"] = \"demandeDeComplementInformation\";\r\n})(ObjetDiscussion || (ObjetDiscussion = {}));\r\nexport var QualificationEnseignant;\r\n(function (QualificationEnseignant) {\r\n QualificationEnseignant[\"None\"] = \"none\";\r\n QualificationEnseignant[\"Autodidacte\"] = \"autodidacte\";\r\n QualificationEnseignant[\"CertificatAptitude\"] = \"certificatAptitude\";\r\n QualificationEnseignant[\"DiplomeEtat\"] = \"diplomeEtat\";\r\n QualificationEnseignant[\"Autre\"] = \"autre\";\r\n})(QualificationEnseignant || (QualificationEnseignant = {}));\r\nexport var RemunerationSortProperty;\r\n(function (RemunerationSortProperty) {\r\n RemunerationSortProperty[\"Emploi\"] = \"emploi\";\r\n RemunerationSortProperty[\"TypePrestation\"] = \"typePrestation\";\r\n RemunerationSortProperty[\"StyleMusical\"] = \"styleMusical\";\r\n RemunerationSortProperty[\"CategorieDossier\"] = \"categorieDossier\";\r\n RemunerationSortProperty[\"MontantMinimum\"] = \"montantMinimum\";\r\n})(RemunerationSortProperty || (RemunerationSortProperty = {}));\r\nexport var Role;\r\n(function (Role) {\r\n Role[\"None\"] = \"none\";\r\n Role[\"Admin\"] = \"admin\";\r\n Role[\"Gerant\"] = \"gerant\";\r\n Role[\"ResponsableService\"] = \"responsableService\";\r\n Role[\"ResponsableCommissions\"] = \"responsableCommissions\";\r\n Role[\"ChargeInstructionDivisionCulturelle\"] = \"chargeInstructionDivisionCulturelle\";\r\n Role[\"ChargeInstructionSpectacleVivant\"] = \"chargeInstructionSpectacleVivant\";\r\n Role[\"StagiaireDivisionCulturelle\"] = \"stagiaireDivisionCulturelle\";\r\n Role[\"MembreCommission\"] = \"membreCommission\";\r\n Role[\"ResponsableJuridique\"] = \"responsableJuridique\";\r\n Role[\"ResponsableCommunication\"] = \"responsableCommunication\";\r\n Role[\"CommissaireComptes\"] = \"commissaireComptes\";\r\n Role[\"ResponsableComptable\"] = \"responsableComptable\";\r\n})(Role || (Role = {}));\r\nexport var SortDirection;\r\n(function (SortDirection) {\r\n SortDirection[\"Asc\"] = \"asc\";\r\n SortDirection[\"Desc\"] = \"desc\";\r\n})(SortDirection || (SortDirection = {}));\r\nexport var StatutBordereau;\r\n(function (StatutBordereau) {\r\n StatutBordereau[\"None\"] = \"none\";\r\n StatutBordereau[\"Preparatoire\"] = \"preparatoire\";\r\n StatutBordereau[\"Amendable\"] = \"amendable\";\r\n StatutBordereau[\"Verse\"] = \"verse\";\r\n})(StatutBordereau || (StatutBordereau = {}));\r\nexport var StatutCommission;\r\n(function (StatutCommission) {\r\n StatutCommission[\"None\"] = \"none\";\r\n StatutCommission[\"Planifiee\"] = \"planifiee\";\r\n StatutCommission[\"Figee\"] = \"figee\";\r\n StatutCommission[\"EnCours\"] = \"enCours\";\r\n StatutCommission[\"EnAttenteCA\"] = \"enAttenteCA\";\r\n StatutCommission[\"CaEnCours\"] = \"caEnCours\";\r\n StatutCommission[\"Terminee\"] = \"terminee\";\r\n})(StatutCommission || (StatutCommission = {}));\r\nexport var StatutDiscussion;\r\n(function (StatutDiscussion) {\r\n StatutDiscussion[\"None\"] = \"none\";\r\n StatutDiscussion[\"EnCours\"] = \"enCours\";\r\n StatutDiscussion[\"Termine\"] = \"termine\";\r\n})(StatutDiscussion || (StatutDiscussion = {}));\r\nexport var StatutDossier;\r\n(function (StatutDossier) {\r\n StatutDossier[\"None\"] = \"none\";\r\n StatutDossier[\"Brouillon\"] = \"brouillon\";\r\n StatutDossier[\"SansSuite\"] = \"sansSuite\";\r\n StatutDossier[\"Soumis\"] = \"soumis\";\r\n StatutDossier[\"PrisEnCharge\"] = \"prisEnCharge\";\r\n StatutDossier[\"HorsCriteres\"] = \"horsCriteres\";\r\n StatutDossier[\"Renonciation\"] = \"renonciation\";\r\n StatutDossier[\"ProgrammeEnCommission\"] = \"programmeEnCommission\";\r\n StatutDossier[\"Refuse\"] = \"refuse\";\r\n StatutDossier[\"Accepte\"] = \"accepte\";\r\n StatutDossier[\"Solde\"] = \"solde\";\r\n StatutDossier[\"Reaffecte\"] = \"reaffecte\";\r\n})(StatutDossier || (StatutDossier = {}));\r\nexport var StatutEnseignant;\r\n(function (StatutEnseignant) {\r\n StatutEnseignant[\"None\"] = \"none\";\r\n StatutEnseignant[\"Permanent\"] = \"permanent\";\r\n StatutEnseignant[\"Vacataire\"] = \"vacataire\";\r\n})(StatutEnseignant || (StatutEnseignant = {}));\r\nexport var StatutGenerationPdf;\r\n(function (StatutGenerationPdf) {\r\n StatutGenerationPdf[\"None\"] = \"none\";\r\n StatutGenerationPdf[\"Pending\"] = \"pending\";\r\n StatutGenerationPdf[\"Done\"] = \"done\";\r\n StatutGenerationPdf[\"Failed\"] = \"failed\";\r\n})(StatutGenerationPdf || (StatutGenerationPdf = {}));\r\nexport var StatutPageVitrine;\r\n(function (StatutPageVitrine) {\r\n StatutPageVitrine[\"None\"] = \"none\";\r\n StatutPageVitrine[\"Draft\"] = \"draft\";\r\n StatutPageVitrine[\"Published\"] = \"published\";\r\n})(StatutPageVitrine || (StatutPageVitrine = {}));\r\nexport var StatutStructure;\r\n(function (StatutStructure) {\r\n StatutStructure[\"None\"] = \"none\";\r\n StatutStructure[\"Pending\"] = \"pending\";\r\n StatutStructure[\"Enabled\"] = \"enabled\";\r\n StatutStructure[\"Disabled\"] = \"disabled\";\r\n StatutStructure[\"Partial\"] = \"partial\";\r\n})(StatutStructure || (StatutStructure = {}));\r\nexport var StatutVersement;\r\n(function (StatutVersement) {\r\n StatutVersement[\"None\"] = \"none\";\r\n StatutVersement[\"Brouillon\"] = \"brouillon\";\r\n StatutVersement[\"Soumis\"] = \"soumis\";\r\n StatutVersement[\"Modification\"] = \"modification\";\r\n StatutVersement[\"Valide\"] = \"valide\";\r\n StatutVersement[\"Verse\"] = \"verse\";\r\n StatutVersement[\"PriseEnCharge\"] = \"priseEnCharge\";\r\n StatutVersement[\"EnAttente\"] = \"enAttente\";\r\n StatutVersement[\"Reaffectation\"] = \"reaffectation\";\r\n})(StatutVersement || (StatutVersement = {}));\r\nexport var TypeBordereau;\r\n(function (TypeBordereau) {\r\n TypeBordereau[\"None\"] = \"none\";\r\n TypeBordereau[\"Versement\"] = \"versement\";\r\n TypeBordereau[\"Reaffectation\"] = \"reaffectation\";\r\n})(TypeBordereau || (TypeBordereau = {}));\r\nexport var TypeContrat;\r\n(function (TypeContrat) {\r\n TypeContrat[\"None\"] = \"none\";\r\n TypeContrat[\"Cdi\"] = \"cdi\";\r\n TypeContrat[\"Cdd\"] = \"cdd\";\r\n TypeContrat[\"Cdii\"] = \"cdii\";\r\n TypeContrat[\"Autre\"] = \"autre\";\r\n})(TypeContrat || (TypeContrat = {}));\r\nexport var TypeDeDocumentExtraInfoValueType;\r\n(function (TypeDeDocumentExtraInfoValueType) {\r\n TypeDeDocumentExtraInfoValueType[\"String\"] = \"string\";\r\n TypeDeDocumentExtraInfoValueType[\"Date\"] = \"date\";\r\n})(TypeDeDocumentExtraInfoValueType || (TypeDeDocumentExtraInfoValueType = {}));\r\nexport var TypeDepense;\r\n(function (TypeDepense) {\r\n TypeDepense[\"None\"] = \"none\";\r\n TypeDepense[\"Autre\"] = \"autre\";\r\n TypeDepense[\"BudgetPrevisionnelDepenses\"] = \"budgetPrevisionnelDepenses\";\r\n TypeDepense[\"SalaireAutrePersonnel\"] = \"salaireAutrePersonnel\";\r\n TypeDepense[\"AutresDepenses\"] = \"autresDepenses\";\r\n TypeDepense[\"BudgetRepetitionsEtEnregistrements\"] = \"budgetRepetitionsEtEnregistrements\";\r\n TypeDepense[\"BudgetScenique\"] = \"budgetScenique\";\r\n TypeDepense[\"Promotion\"] = \"promotion\";\r\n TypeDepense[\"Salles\"] = \"salles\";\r\n TypeDepense[\"FraisDeplacement\"] = \"fraisDeplacement\";\r\n TypeDepense[\"ContratsVenteEtAutreSalairePersonnel\"] = \"contratsVenteEtAutreSalairePersonnel\";\r\n TypeDepense[\"AutreMasseSalariale\"] = \"autreMasseSalariale\";\r\n TypeDepense[\"FraisDePersonnel\"] = \"fraisDePersonnel\";\r\n TypeDepense[\"AutresFraisDePersonnel\"] = \"autresFraisDePersonnel\";\r\n TypeDepense[\"ServicesExterieurs\"] = \"servicesExterieurs\";\r\n TypeDepense[\"ImpotsTaxes\"] = \"impotsTaxes\";\r\n TypeDepense[\"FraisDeRealisationDuDocumentDePromotion\"] = \"fraisDeRealisationDuDocumentDePromotion\";\r\n TypeDepense[\"Droits\"] = \"droits\";\r\n TypeDepense[\"BudgetPrevisionnelAnnulations\"] = \"budgetPrevisionnelAnnulations\";\r\n})(TypeDepense || (TypeDepense = {}));\r\nexport var TypeFinancement;\r\n(function (TypeFinancement) {\r\n TypeFinancement[\"None\"] = \"none\";\r\n TypeFinancement[\"Autre\"] = \"autre\";\r\n TypeFinancement[\"RecettesPropres\"] = \"recettesPropres\";\r\n TypeFinancement[\"FinancementPublic\"] = \"financementPublic\";\r\n TypeFinancement[\"SubventionsOrganismesProfessionnels\"] = \"subventionsOrganismesProfessionnels\";\r\n TypeFinancement[\"SubventionsEtatCollectivitesTerritoriales\"] = \"subventionsEtatCollectivitesTerritoriales\";\r\n})(TypeFinancement || (TypeFinancement = {}));\r\nexport var TypePoste;\r\n(function (TypePoste) {\r\n TypePoste[\"None\"] = \"none\";\r\n TypePoste[\"Administrateur\"] = \"administrateur\";\r\n TypePoste[\"Tresorier\"] = \"tresorier\";\r\n TypePoste[\"SecretaireAdministratif\"] = \"secretaireAdministratif\";\r\n TypePoste[\"Directeur\"] = \"directeur\";\r\n TypePoste[\"President\"] = \"president\";\r\n TypePoste[\"Gerant\"] = \"gerant\";\r\n})(TypePoste || (TypePoste = {}));\r\nexport var TypePrestation;\r\n(function (TypePrestation) {\r\n TypePrestation[\"None\"] = \"none\";\r\n TypePrestation[\"Repetition\"] = \"repetition\";\r\n TypePrestation[\"Enregistrement\"] = \"enregistrement\";\r\n TypePrestation[\"Representation\"] = \"representation\";\r\n TypePrestation[\"Diffusion\"] = \"diffusion\";\r\n TypePrestation[\"Concert\"] = \"concert\";\r\n})(TypePrestation || (TypePrestation = {}));\r\nexport var TypesAdresses;\r\n(function (TypesAdresses) {\r\n TypesAdresses[\"None\"] = \"none\";\r\n TypesAdresses[\"AdresseSiege\"] = \"adresseSiege\";\r\n TypesAdresses[\"AdressePersonnelle\"] = \"adressePersonnelle\";\r\n TypesAdresses[\"Autre\"] = \"autre\";\r\n})(TypesAdresses || (TypesAdresses = {}));\r\nexport var TypeTransport;\r\n(function (TypeTransport) {\r\n TypeTransport[\"None\"] = \"none\";\r\n TypeTransport[\"Voiture\"] = \"voiture\";\r\n TypeTransport[\"Train\"] = \"train\";\r\n TypeTransport[\"Avion\"] = \"avion\";\r\n})(TypeTransport || (TypeTransport = {}));\r\nexport var TypeVersement;\r\n(function (TypeVersement) {\r\n TypeVersement[\"None\"] = \"none\";\r\n TypeVersement[\"Acompte\"] = \"acompte\";\r\n TypeVersement[\"Solde\"] = \"solde\";\r\n TypeVersement[\"Complet\"] = \"complet\";\r\n TypeVersement[\"Complementaire\"] = \"complementaire\";\r\n})(TypeVersement || (TypeVersement = {}));\r\nexport var VueType;\r\n(function (VueType) {\r\n VueType[\"None\"] = \"none\";\r\n VueType[\"Structure\"] = \"structure\";\r\n VueType[\"Dossier\"] = \"dossier\";\r\n})(VueType || (VueType = {}));\r\nexport var ProblemDetailsCode;\r\n(function (ProblemDetailsCode) {\r\n ProblemDetailsCode[\"Unknown\"] = \"unknown\";\r\n ProblemDetailsCode[\"InvalidParameters\"] = \"invalidParameters\";\r\n ProblemDetailsCode[\"PreconditionFailed\"] = \"preconditionFailed\";\r\n ProblemDetailsCode[\"AccessDenied\"] = \"accessDenied\";\r\n ProblemDetailsCode[\"Unauthorized\"] = \"unauthorized\";\r\n ProblemDetailsCode[\"Forbidden\"] = \"forbidden\";\r\n ProblemDetailsCode[\"EntityNotFound\"] = \"entityNotFound\";\r\n ProblemDetailsCode[\"EmailingServiceUnavailable\"] = \"emailingServiceUnavailable\";\r\n ProblemDetailsCode[\"SiretNotFound\"] = \"siretNotFound\";\r\n ProblemDetailsCode[\"MissingDocument\"] = \"missingDocument\";\r\n ProblemDetailsCode[\"MissingDocumentExtraInfo\"] = \"missingDocumentExtraInfo\";\r\n ProblemDetailsCode[\"InvalidDocument\"] = \"invalidDocument\";\r\n ProblemDetailsCode[\"InvalidDocumentExtraInfoValue\"] = \"invalidDocumentExtraInfoValue\";\r\n ProblemDetailsCode[\"DocumentExpired\"] = \"documentExpired\";\r\n ProblemDetailsCode[\"InvalidLanguage\"] = \"invalidLanguage\";\r\n ProblemDetailsCode[\"CannotResetStatutStructure\"] = \"cannotResetStatutStructure\";\r\n ProblemDetailsCode[\"CannotModifyActiveCritereDossier\"] = \"cannotModifyActiveCritereDossier\";\r\n ProblemDetailsCode[\"CannotDeleteNonEmptyCategory\"] = \"cannotDeleteNonEmptyCategory\";\r\n ProblemDetailsCode[\"EntityAlreadyExists\"] = \"entityAlreadyExists\";\r\n ProblemDetailsCode[\"EntitiesNotFound\"] = \"entitiesNotFound\";\r\n ProblemDetailsCode[\"StructurePending\"] = \"structurePending\";\r\n ProblemDetailsCode[\"StructureDisabled\"] = \"structureDisabled\";\r\n ProblemDetailsCode[\"InvalidPrestation\"] = \"invalidPrestation\";\r\n ProblemDetailsCode[\"CategorieDossierQuotaExceeded\"] = \"categorieDossierQuotaExceeded\";\r\n ProblemDetailsCode[\"ForbiddenCategorieDossier\"] = \"forbiddenCategorieDossier\";\r\n ProblemDetailsCode[\"NotImplemented\"] = \"notImplemented\";\r\n ProblemDetailsCode[\"BudgetNotBalanced\"] = \"budgetNotBalanced\";\r\n ProblemDetailsCode[\"MontantAideMustBeInferior\"] = \"montantAideMustBeInferior\";\r\n ProblemDetailsCode[\"MontantAideMustBeSuperior\"] = \"montantAideMustBeSuperior\";\r\n ProblemDetailsCode[\"MontantAideMustBeInferiorOrEqual\"] = \"montantAideMustBeInferiorOrEqual\";\r\n ProblemDetailsCode[\"MontantDepenseMustBeInferior\"] = \"montantDepenseMustBeInferior\";\r\n ProblemDetailsCode[\"MontantDepenseMustBeSuperiorOrEqualException\"] = \"montantDepenseMustBeSuperiorOrEqualException\";\r\n ProblemDetailsCode[\"MontantFinancementMustBeInferior\"] = \"montantFinancementMustBeInferior\";\r\n ProblemDetailsCode[\"MontantFinancementMustBeSuperiorOrEqual\"] = \"montantFinancementMustBeSuperiorOrEqual\";\r\n ProblemDetailsCode[\"InvalidAnswers\"] = \"invalidAnswers\";\r\n ProblemDetailsCode[\"AdresseNotFound\"] = \"adresseNotFound\";\r\n ProblemDetailsCode[\"MissingFile\"] = \"missingFile\";\r\n ProblemDetailsCode[\"InvalidIban\"] = \"invalidIban\";\r\n ProblemDetailsCode[\"MinimumRemuneration\"] = \"minimumRemuneration\";\r\n ProblemDetailsCode[\"InvalidStatutDossierChange\"] = \"invalidStatutDossierChange\";\r\n ProblemDetailsCode[\"CannotUpdateDossier\"] = \"cannotUpdateDossier\";\r\n ProblemDetailsCode[\"CannotDeleteDossier\"] = \"cannotDeleteDossier\";\r\n ProblemDetailsCode[\"CannotDeleteVersement\"] = \"cannotDeleteVersement\";\r\n ProblemDetailsCode[\"MaximumDates\"] = \"maximumDates\";\r\n ProblemDetailsCode[\"MaxRangeBetweenDatesExceeded\"] = \"maxRangeBetweenDatesExceeded\";\r\n ProblemDetailsCode[\"DateCAMustBeSuperiorToDateDebutCommission\"] = \"dateCAMustBeSuperiorToDateDebutCommission\";\r\n ProblemDetailsCode[\"DateFinMustBeSuperiorToDateDebutCommission\"] = \"dateFinMustBeSuperiorToDateDebutCommission\";\r\n ProblemDetailsCode[\"DateFinSoumissionMustBeInferiorToDateDebutCommission\"] = \"dateFinSoumissionMustBeInferiorToDateDebutCommission\";\r\n ProblemDetailsCode[\"DateDebutDossierMustBeSuperiorToDateFinCommission\"] = \"dateDebutDossierMustBeSuperiorToDateFinCommission\";\r\n ProblemDetailsCode[\"CommissionWithSameDateDebutExistsException\"] = \"commissionWithSameDateDebutExistsException\";\r\n ProblemDetailsCode[\"CannotUpdateCommissionWithDossiersException\"] = \"cannotUpdateCommissionWithDossiersException\";\r\n ProblemDetailsCode[\"EmailAlreadyUsed\"] = \"emailAlreadyUsed\";\r\n ProblemDetailsCode[\"InvalidStatutCommission\"] = \"invalidStatutCommission\";\r\n ProblemDetailsCode[\"InvalidStatutDossierToChangeCommission\"] = \"invalidStatutDossierToChangeCommission\";\r\n ProblemDetailsCode[\"CannotUpdateCommissionStatut\"] = \"cannotUpdateCommissionStatut\";\r\n ProblemDetailsCode[\"CannotOpenCommission\"] = \"cannotOpenCommission\";\r\n ProblemDetailsCode[\"CannotPrendreEnchargeDossier\"] = \"cannotPrendreEnchargeDossier\";\r\n ProblemDetailsCode[\"CannotPrendreEnchargeDemandeVersement\"] = \"cannotPrendreEnchargeDemandeVersement\";\r\n ProblemDetailsCode[\"DossiersNonValideEnCommission\"] = \"dossiersNonValideEnCommission\";\r\n ProblemDetailsCode[\"CommissionsMembersAreNotSet\"] = \"commissionsMembersAreNotSet\";\r\n ProblemDetailsCode[\"DateFinSoumissionMustBePassed\"] = \"dateFinSoumissionMustBePassed\";\r\n ProblemDetailsCode[\"MinCachetRequired\"] = \"minCachetRequired\";\r\n ProblemDetailsCode[\"PeriodStartDateShouldBeAfterCommissionEnding\"] = \"periodStartDateShouldBeAfterCommissionEnding\";\r\n ProblemDetailsCode[\"DateEmbaucheIsNotValid\"] = \"dateEmbaucheIsNotValid\";\r\n ProblemDetailsCode[\"DossierIsNotValid\"] = \"dossierIsNotValid\";\r\n ProblemDetailsCode[\"CannotRenounceDossier\"] = \"cannotRenounceDossier\";\r\n ProblemDetailsCode[\"InvalidBordereauStatus\"] = \"invalidBordereauStatus\";\r\n ProblemDetailsCode[\"BordereauAmendableMaxExceeded\"] = \"bordereauAmendableMaxExceeded\";\r\n ProblemDetailsCode[\"CannotCloseBordereau\"] = \"cannotCloseBordereau\";\r\n ProblemDetailsCode[\"CannotArchiveBordereau\"] = \"cannotArchiveBordereau\";\r\n ProblemDetailsCode[\"InvalidOperation\"] = \"invalidOperation\";\r\n ProblemDetailsCode[\"CannotDeleteMouvementBordereauVerse\"] = \"cannotDeleteMouvementBordereauVerse\";\r\n ProblemDetailsCode[\"CannotDeleteMouvementBordereau\"] = \"cannotDeleteMouvementBordereau\";\r\n ProblemDetailsCode[\"BordereauStillAmendable\"] = \"bordereauStillAmendable\";\r\n ProblemDetailsCode[\"BordereauReaffectationStillAmendable\"] = \"bordereauReaffectationStillAmendable\";\r\n ProblemDetailsCode[\"CannotFigerCommissionWithOutstandingDossiers\"] = \"cannotFigerCommissionWithOutstandingDossiers\";\r\n ProblemDetailsCode[\"CannotProgrammerEnCommissionDossierCommissionClosed\"] = \"cannotProgrammerEnCommissionDossierCommissionClosed\";\r\n ProblemDetailsCode[\"CannotProgrammerEnCommissionDossierCACommissionClosed\"] = \"cannotProgrammerEnCommissionDossierCACommissionClosed\";\r\n ProblemDetailsCode[\"CannotUpdateCommissionContent\"] = \"cannotUpdateCommissionContent\";\r\n ProblemDetailsCode[\"CannotUpdateCommissionCAContent\"] = \"cannotUpdateCommissionCAContent\";\r\n ProblemDetailsCode[\"CannotCreateCritereDossierOnCommissionSpecifique\"] = \"cannotCreateCritereDossierOnCommissionSpecifique\";\r\n ProblemDetailsCode[\"InvalidDate\"] = \"invalidDate\";\r\n})(ProblemDetailsCode || (ProblemDetailsCode = {}));\r\nexport class ApiException extends Error {\r\n constructor(message, status, response, headers, result) {\r\n super();\r\n this.isApiException = true;\r\n this.message = message;\r\n this.status = status;\r\n this.response = response;\r\n this.headers = headers;\r\n this.result = result;\r\n }\r\n static isApiException(obj) {\r\n return obj.isApiException === true;\r\n }\r\n}\r\nfunction throwException(message, status, response, headers, result) {\r\n if (result !== null && result !== undefined)\r\n throw result;\r\n else\r\n throw new ApiException(message, status, response, headers, null);\r\n}\r\nfunction isAxiosError(obj) {\r\n return obj && obj.isAxiosError === true;\r\n}\r\n","import React from 'react';\r\nconst TotalAmountsTable = ({ data }) => {\r\n return (React.createElement(\"div\", { className: \"totalAmountsTable\" }, data.map((item, index) => (React.createElement(\"div\", { key: index },\r\n React.createElement(\"div\", null,\r\n React.createElement(\"div\", { className: \"totalAmountsTable__value\" }, item.value),\r\n React.createElement(\"div\", { className: \"totalAmountsTable__label\" }, item.label)))))));\r\n};\r\nexport default TotalAmountsTable;\r\n","/* tslint:disable */\r\n/* eslint-disable */\r\n//----------------------\r\n// \r\n// Generated using the NSwag toolchain v13.15.3.0 (NJsonSchema v10.6.4.0 (Newtonsoft.Json v13.0.0.0)) (http://NSwag.org)\r\n// \r\n//----------------------\r\n// ReSharper disable InconsistentNaming\r\nimport axios from 'axios';\r\nexport class AdresseClient {\r\n constructor(baseUrl, instance) {\r\n this.jsonParseReviver = undefined;\r\n this.instance = instance ? instance : axios.create();\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n /**\r\n * @param postcode (optional)\r\n * @return Success\r\n */\r\n searchAdresse(query, postcode, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Adresse/search?\";\r\n if (query === undefined || query === null)\r\n throw new Error(\"The parameter 'query' must be defined and cannot be null.\");\r\n else\r\n url_ += \"query=\" + encodeURIComponent(\"\" + query) + \"&\";\r\n if (postcode === null)\r\n throw new Error(\"The parameter 'postcode' cannot be null.\");\r\n else if (postcode !== undefined)\r\n url_ += \"postcode=\" + encodeURIComponent(\"\" + postcode) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processSearchAdresse(_response);\r\n });\r\n }\r\n processSearchAdresse(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\nexport class ArtisteClient {\r\n constructor(baseUrl, instance) {\r\n this.jsonParseReviver = undefined;\r\n this.instance = instance ? instance : axios.create();\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getArtiste(artisteId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Artiste/{artisteId}\";\r\n if (artisteId === undefined || artisteId === null)\r\n throw new Error(\"The parameter 'artisteId' must be defined.\");\r\n url_ = url_.replace(\"{artisteId}\", encodeURIComponent(\"\" + artisteId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetArtiste(_response);\r\n });\r\n }\r\n processGetArtiste(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n updateArtiste(artisteId, body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Artiste/{artisteId}\";\r\n if (artisteId === undefined || artisteId === null)\r\n throw new Error(\"The parameter 'artisteId' must be defined.\");\r\n url_ = url_.replace(\"{artisteId}\", encodeURIComponent(\"\" + artisteId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processUpdateArtiste(_response);\r\n });\r\n }\r\n processUpdateArtiste(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n deleteArtiste(artisteId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Artiste/{artisteId}\";\r\n if (artisteId === undefined || artisteId === null)\r\n throw new Error(\"The parameter 'artisteId' must be defined.\");\r\n url_ = url_.replace(\"{artisteId}\", encodeURIComponent(\"\" + artisteId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {},\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processDeleteArtiste(_response);\r\n });\r\n }\r\n processDeleteArtiste(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param dossierId (optional)\r\n * @param search (optional)\r\n * @return Success\r\n */\r\n autocompleteArtiste(dossierId, search, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Artiste/autocomplete?\";\r\n if (dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' cannot be null.\");\r\n else if (dossierId !== undefined)\r\n url_ += \"dossierId=\" + encodeURIComponent(\"\" + dossierId) + \"&\";\r\n if (search === null)\r\n throw new Error(\"The parameter 'search' cannot be null.\");\r\n else if (search !== undefined)\r\n url_ += \"search=\" + encodeURIComponent(\"\" + search) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processAutocompleteArtiste(_response);\r\n });\r\n }\r\n processAutocompleteArtiste(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 403) {\r\n const _responseText = response.data;\r\n let result403 = null;\r\n let resultData403 = _responseText;\r\n result403 = resultData403;\r\n return throwException(\"Forbidden\", status, _responseText, _headers, result403);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\nexport class AuthClient {\r\n constructor(baseUrl, instance) {\r\n this.jsonParseReviver = undefined;\r\n this.instance = instance ? instance : axios.create();\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n login(body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Auth/login\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processLogin(_response);\r\n });\r\n }\r\n processLogin(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 401) {\r\n const _responseText = response.data;\r\n let result401 = null;\r\n let resultData401 = _responseText;\r\n result401 = resultData401;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers, result401);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n logout(cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Auth/logout\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {},\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processLogout(_response);\r\n });\r\n }\r\n processLogout(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n changePassword(body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Auth/password/change\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processChangePassword(_response);\r\n });\r\n }\r\n processChangePassword(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n resetPassword(body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Auth/password/reset\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processResetPassword(_response);\r\n });\r\n }\r\n processResetPassword(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n changePasswordWithResetToken(body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Auth/password/reset/change\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processChangePasswordWithResetToken(_response);\r\n });\r\n }\r\n processChangePasswordWithResetToken(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\nexport class BanqueClient {\r\n constructor(baseUrl, instance) {\r\n this.jsonParseReviver = undefined;\r\n this.instance = instance ? instance : axios.create();\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n /**\r\n * @param iban (optional)\r\n * @return Success\r\n */\r\n validateIban(iban, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Banque/validate-account?\";\r\n if (iban === null)\r\n throw new Error(\"The parameter 'iban' cannot be null.\");\r\n else if (iban !== undefined)\r\n url_ += \"iban=\" + encodeURIComponent(\"\" + iban) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processValidateIban(_response);\r\n });\r\n }\r\n processValidateIban(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\nexport class DossierClient {\r\n constructor(baseUrl, instance) {\r\n this.jsonParseReviver = undefined;\r\n this.instance = instance ? instance : axios.create();\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n /**\r\n * @param filters (optional)\r\n * @param sorts (optional)\r\n * @param page (optional)\r\n * @param pageSize (optional)\r\n * @param disablePagination (optional)\r\n * @return Success\r\n */\r\n getDossiers(filters, sorts, page, pageSize, disablePagination, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier?\";\r\n if (filters === null)\r\n throw new Error(\"The parameter 'filters' cannot be null.\");\r\n else if (filters !== undefined)\r\n url_ += \"Filters=\" + encodeURIComponent(\"\" + filters) + \"&\";\r\n if (sorts === null)\r\n throw new Error(\"The parameter 'sorts' cannot be null.\");\r\n else if (sorts !== undefined)\r\n url_ += \"Sorts=\" + encodeURIComponent(\"\" + sorts) + \"&\";\r\n if (page === null)\r\n throw new Error(\"The parameter 'page' cannot be null.\");\r\n else if (page !== undefined)\r\n url_ += \"Page=\" + encodeURIComponent(\"\" + page) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n if (disablePagination === null)\r\n throw new Error(\"The parameter 'disablePagination' cannot be null.\");\r\n else if (disablePagination !== undefined)\r\n url_ += \"DisablePagination=\" + encodeURIComponent(\"\" + disablePagination) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetDossiers(_response);\r\n });\r\n }\r\n processGetDossiers(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n createDossier(body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processCreateDossier(_response);\r\n });\r\n }\r\n processCreateDossier(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getCurrentDossierInfo(dossierId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/currentDossier/{dossierId}\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetCurrentDossierInfo(_response);\r\n });\r\n }\r\n processGetCurrentDossierInfo(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getDossierDetails(dossierId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/details\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetDossierDetails(_response);\r\n });\r\n }\r\n processGetDossierDetails(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n renonciationDossier(dossierId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/renonciation\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processRenonciationDossier(_response);\r\n });\r\n }\r\n processRenonciationDossier(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n duplicationDossier(dossierId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/duplicate\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processDuplicationDossier(_response);\r\n });\r\n }\r\n processDuplicationDossier(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getCurrentCritereDossier(categorieId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/categorie/{categorieId}/critere\";\r\n if (categorieId === undefined || categorieId === null)\r\n throw new Error(\"The parameter 'categorieId' must be defined.\");\r\n url_ = url_.replace(\"{categorieId}\", encodeURIComponent(\"\" + categorieId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetCurrentCritereDossier(_response);\r\n });\r\n }\r\n processGetCurrentCritereDossier(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getDossierCommission(dossierId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/commission\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetDossierCommission(_response);\r\n });\r\n }\r\n processGetDossierCommission(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n createPrestation(dossierId, body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/prestation\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processCreatePrestation(_response);\r\n });\r\n }\r\n processCreatePrestation(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 201) {\r\n const _responseText = response.data;\r\n let result201 = null;\r\n let resultData201 = _responseText;\r\n result201 = resultData201;\r\n return Promise.resolve(result201);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n createArtiste(dossierId, body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/artiste\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processCreateArtiste(_response);\r\n });\r\n }\r\n processCreateArtiste(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 201) {\r\n const _responseText = response.data;\r\n let result201 = null;\r\n let resultData201 = _responseText;\r\n result201 = resultData201;\r\n return Promise.resolve(result201);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param nom (optional)\r\n * @param prenom (optional)\r\n * @param ville (optional)\r\n * @param disciplines (optional)\r\n * @param otherDiscipline (optional)\r\n * @param instrumentId (optional)\r\n * @param qualification (optional)\r\n * @param typeContrat (optional)\r\n * @param statut (optional)\r\n * @param remunerationBruteAnnuelle (optional)\r\n * @param montantChargesPatronales (optional)\r\n * @param tarifHoraireBrut (optional)\r\n * @param remunerationPremierTrimestre (optional)\r\n * @param contratEngagement_Id (optional)\r\n * @param contratEngagement_TypeId (optional)\r\n * @param contratEngagement_PartName (optional)\r\n * @param contratEngagement_ExtraInfos (optional)\r\n * @param contratEngagement_FileName (optional)\r\n * @param contratEngagement_ContentType (optional)\r\n * @param contratEngagement_Content_CanRead (optional)\r\n * @param contratEngagement_Content_CanWrite (optional)\r\n * @param contratEngagement_Content_CanSeek (optional)\r\n * @param contratEngagement_Content_CanTimeout (optional)\r\n * @param contratEngagement_Content_Length (optional)\r\n * @param contratEngagement_Content_Position (optional)\r\n * @param contratEngagement_Content_ReadTimeout (optional)\r\n * @param contratEngagement_Content_WriteTimeout (optional)\r\n * @param justificatifRemuneration_Id (optional)\r\n * @param justificatifRemuneration_TypeId (optional)\r\n * @param justificatifRemuneration_PartName (optional)\r\n * @param justificatifRemuneration_ExtraInfos (optional)\r\n * @param justificatifRemuneration_FileName (optional)\r\n * @param justificatifRemuneration_ContentType (optional)\r\n * @param justificatifRemuneration_Content_CanRead (optional)\r\n * @param justificatifRemuneration_Content_CanWrite (optional)\r\n * @param justificatifRemuneration_Content_CanSeek (optional)\r\n * @param justificatifRemuneration_Content_CanTimeout (optional)\r\n * @param justificatifRemuneration_Content_Length (optional)\r\n * @param justificatifRemuneration_Content_Position (optional)\r\n * @param justificatifRemuneration_Content_ReadTimeout (optional)\r\n * @param justificatifRemuneration_Content_WriteTimeout (optional)\r\n * @param documents (optional)\r\n * @return Success\r\n */\r\n createEnseignant(dossierId, nom, prenom, ville, disciplines, otherDiscipline, instrumentId, qualification, typeContrat, statut, remunerationBruteAnnuelle, montantChargesPatronales, tarifHoraireBrut, remunerationPremierTrimestre, contratEngagement_Id, contratEngagement_TypeId, contratEngagement_PartName, contratEngagement_ExtraInfos, contratEngagement_FileName, contratEngagement_ContentType, contratEngagement_Content_CanRead, contratEngagement_Content_CanWrite, contratEngagement_Content_CanSeek, contratEngagement_Content_CanTimeout, contratEngagement_Content_Length, contratEngagement_Content_Position, contratEngagement_Content_ReadTimeout, contratEngagement_Content_WriteTimeout, justificatifRemuneration_Id, justificatifRemuneration_TypeId, justificatifRemuneration_PartName, justificatifRemuneration_ExtraInfos, justificatifRemuneration_FileName, justificatifRemuneration_ContentType, justificatifRemuneration_Content_CanRead, justificatifRemuneration_Content_CanWrite, justificatifRemuneration_Content_CanSeek, justificatifRemuneration_Content_CanTimeout, justificatifRemuneration_Content_Length, justificatifRemuneration_Content_Position, justificatifRemuneration_Content_ReadTimeout, justificatifRemuneration_Content_WriteTimeout, documents, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/enseignant\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = new FormData();\r\n if (nom === null || nom === undefined)\r\n throw new Error(\"The parameter 'nom' cannot be null.\");\r\n else\r\n content_.append(\"Nom\", nom.toString());\r\n if (prenom === null || prenom === undefined)\r\n throw new Error(\"The parameter 'prenom' cannot be null.\");\r\n else\r\n content_.append(\"Prenom\", prenom.toString());\r\n if (ville === null || ville === undefined)\r\n throw new Error(\"The parameter 'ville' cannot be null.\");\r\n else\r\n content_.append(\"Ville\", ville.toString());\r\n if (disciplines === null || disciplines === undefined)\r\n throw new Error(\"The parameter 'disciplines' cannot be null.\");\r\n else\r\n disciplines.forEach(item_ => content_.append(\"Disciplines\", item_.toString()));\r\n if (otherDiscipline === null || otherDiscipline === undefined)\r\n throw new Error(\"The parameter 'otherDiscipline' cannot be null.\");\r\n else\r\n content_.append(\"OtherDiscipline\", otherDiscipline.toString());\r\n if (instrumentId === null || instrumentId === undefined)\r\n throw new Error(\"The parameter 'instrumentId' cannot be null.\");\r\n else\r\n content_.append(\"InstrumentId\", instrumentId.toString());\r\n if (qualification === null || qualification === undefined)\r\n throw new Error(\"The parameter 'qualification' cannot be null.\");\r\n else\r\n content_.append(\"Qualification\", qualification.toString());\r\n if (typeContrat === null || typeContrat === undefined)\r\n throw new Error(\"The parameter 'typeContrat' cannot be null.\");\r\n else\r\n content_.append(\"TypeContrat\", typeContrat.toString());\r\n if (statut === null || statut === undefined)\r\n throw new Error(\"The parameter 'statut' cannot be null.\");\r\n else\r\n content_.append(\"Statut\", statut.toString());\r\n if (remunerationBruteAnnuelle === null || remunerationBruteAnnuelle === undefined)\r\n throw new Error(\"The parameter 'remunerationBruteAnnuelle' cannot be null.\");\r\n else\r\n content_.append(\"RemunerationBruteAnnuelle\", remunerationBruteAnnuelle.toString());\r\n if (montantChargesPatronales === null || montantChargesPatronales === undefined)\r\n throw new Error(\"The parameter 'montantChargesPatronales' cannot be null.\");\r\n else\r\n content_.append(\"MontantChargesPatronales\", montantChargesPatronales.toString());\r\n if (tarifHoraireBrut === null || tarifHoraireBrut === undefined)\r\n throw new Error(\"The parameter 'tarifHoraireBrut' cannot be null.\");\r\n else\r\n content_.append(\"TarifHoraireBrut\", tarifHoraireBrut.toString());\r\n if (remunerationPremierTrimestre === null || remunerationPremierTrimestre === undefined)\r\n throw new Error(\"The parameter 'remunerationPremierTrimestre' cannot be null.\");\r\n else\r\n content_.append(\"RemunerationPremierTrimestre\", remunerationPremierTrimestre.toString());\r\n if (contratEngagement_Id === null || contratEngagement_Id === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Id' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Id\", contratEngagement_Id.toString());\r\n if (contratEngagement_TypeId === null || contratEngagement_TypeId === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_TypeId' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.TypeId\", contratEngagement_TypeId.toString());\r\n if (contratEngagement_PartName === null || contratEngagement_PartName === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_PartName' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.PartName\", contratEngagement_PartName.toString());\r\n if (contratEngagement_ExtraInfos === null || contratEngagement_ExtraInfos === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_ExtraInfos' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.ExtraInfos\", JSON.stringify(contratEngagement_ExtraInfos));\r\n if (contratEngagement_FileName === null || contratEngagement_FileName === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_FileName' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.FileName\", contratEngagement_FileName.toString());\r\n if (contratEngagement_ContentType === null || contratEngagement_ContentType === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_ContentType' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.ContentType\", contratEngagement_ContentType.toString());\r\n if (contratEngagement_Content_CanRead === null || contratEngagement_Content_CanRead === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_CanRead' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.CanRead\", contratEngagement_Content_CanRead.toString());\r\n if (contratEngagement_Content_CanWrite === null || contratEngagement_Content_CanWrite === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_CanWrite' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.CanWrite\", contratEngagement_Content_CanWrite.toString());\r\n if (contratEngagement_Content_CanSeek === null || contratEngagement_Content_CanSeek === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_CanSeek' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.CanSeek\", contratEngagement_Content_CanSeek.toString());\r\n if (contratEngagement_Content_CanTimeout === null || contratEngagement_Content_CanTimeout === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_CanTimeout' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.CanTimeout\", contratEngagement_Content_CanTimeout.toString());\r\n if (contratEngagement_Content_Length === null || contratEngagement_Content_Length === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_Length' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.Length\", contratEngagement_Content_Length.toString());\r\n if (contratEngagement_Content_Position === null || contratEngagement_Content_Position === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_Position' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.Position\", contratEngagement_Content_Position.toString());\r\n if (contratEngagement_Content_ReadTimeout === null || contratEngagement_Content_ReadTimeout === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_ReadTimeout' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.ReadTimeout\", contratEngagement_Content_ReadTimeout.toString());\r\n if (contratEngagement_Content_WriteTimeout === null || contratEngagement_Content_WriteTimeout === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_WriteTimeout' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.WriteTimeout\", contratEngagement_Content_WriteTimeout.toString());\r\n if (justificatifRemuneration_Id === null || justificatifRemuneration_Id === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Id' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Id\", justificatifRemuneration_Id.toString());\r\n if (justificatifRemuneration_TypeId === null || justificatifRemuneration_TypeId === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_TypeId' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.TypeId\", justificatifRemuneration_TypeId.toString());\r\n if (justificatifRemuneration_PartName === null || justificatifRemuneration_PartName === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_PartName' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.PartName\", justificatifRemuneration_PartName.toString());\r\n if (justificatifRemuneration_ExtraInfos === null || justificatifRemuneration_ExtraInfos === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_ExtraInfos' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.ExtraInfos\", JSON.stringify(justificatifRemuneration_ExtraInfos));\r\n if (justificatifRemuneration_FileName === null || justificatifRemuneration_FileName === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_FileName' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.FileName\", justificatifRemuneration_FileName.toString());\r\n if (justificatifRemuneration_ContentType === null || justificatifRemuneration_ContentType === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_ContentType' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.ContentType\", justificatifRemuneration_ContentType.toString());\r\n if (justificatifRemuneration_Content_CanRead === null || justificatifRemuneration_Content_CanRead === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_CanRead' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.CanRead\", justificatifRemuneration_Content_CanRead.toString());\r\n if (justificatifRemuneration_Content_CanWrite === null || justificatifRemuneration_Content_CanWrite === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_CanWrite' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.CanWrite\", justificatifRemuneration_Content_CanWrite.toString());\r\n if (justificatifRemuneration_Content_CanSeek === null || justificatifRemuneration_Content_CanSeek === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_CanSeek' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.CanSeek\", justificatifRemuneration_Content_CanSeek.toString());\r\n if (justificatifRemuneration_Content_CanTimeout === null || justificatifRemuneration_Content_CanTimeout === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_CanTimeout' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.CanTimeout\", justificatifRemuneration_Content_CanTimeout.toString());\r\n if (justificatifRemuneration_Content_Length === null || justificatifRemuneration_Content_Length === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_Length' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.Length\", justificatifRemuneration_Content_Length.toString());\r\n if (justificatifRemuneration_Content_Position === null || justificatifRemuneration_Content_Position === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_Position' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.Position\", justificatifRemuneration_Content_Position.toString());\r\n if (justificatifRemuneration_Content_ReadTimeout === null || justificatifRemuneration_Content_ReadTimeout === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_ReadTimeout' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.ReadTimeout\", justificatifRemuneration_Content_ReadTimeout.toString());\r\n if (justificatifRemuneration_Content_WriteTimeout === null || justificatifRemuneration_Content_WriteTimeout === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_WriteTimeout' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.WriteTimeout\", justificatifRemuneration_Content_WriteTimeout.toString());\r\n if (documents === null || documents === undefined)\r\n throw new Error(\"The parameter 'documents' cannot be null.\");\r\n else\r\n documents.forEach(item_ => content_.append(\"documents\", item_.data, item_.fileName ? item_.fileName : \"documents\"));\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processCreateEnseignant(_response);\r\n });\r\n }\r\n processCreateEnseignant(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 201) {\r\n const _responseText = response.data;\r\n let result201 = null;\r\n let resultData201 = _responseText;\r\n result201 = resultData201;\r\n return Promise.resolve(result201);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param nom (optional)\r\n * @param prenom (optional)\r\n * @param ville (optional)\r\n * @param disciplines (optional)\r\n * @param otherDiscipline (optional)\r\n * @param instrumentId (optional)\r\n * @param qualification (optional)\r\n * @param typeContrat (optional)\r\n * @param statut (optional)\r\n * @param remunerationBruteAnnuelle (optional)\r\n * @param montantChargesPatronales (optional)\r\n * @param tarifHoraireBrut (optional)\r\n * @param remunerationPremierTrimestre (optional)\r\n * @param contratEngagement_Id (optional)\r\n * @param contratEngagement_TypeId (optional)\r\n * @param contratEngagement_PartName (optional)\r\n * @param contratEngagement_ExtraInfos (optional)\r\n * @param contratEngagement_FileName (optional)\r\n * @param contratEngagement_ContentType (optional)\r\n * @param contratEngagement_Content_CanRead (optional)\r\n * @param contratEngagement_Content_CanWrite (optional)\r\n * @param contratEngagement_Content_CanSeek (optional)\r\n * @param contratEngagement_Content_CanTimeout (optional)\r\n * @param contratEngagement_Content_Length (optional)\r\n * @param contratEngagement_Content_Position (optional)\r\n * @param contratEngagement_Content_ReadTimeout (optional)\r\n * @param contratEngagement_Content_WriteTimeout (optional)\r\n * @param justificatifRemuneration_Id (optional)\r\n * @param justificatifRemuneration_TypeId (optional)\r\n * @param justificatifRemuneration_PartName (optional)\r\n * @param justificatifRemuneration_ExtraInfos (optional)\r\n * @param justificatifRemuneration_FileName (optional)\r\n * @param justificatifRemuneration_ContentType (optional)\r\n * @param justificatifRemuneration_Content_CanRead (optional)\r\n * @param justificatifRemuneration_Content_CanWrite (optional)\r\n * @param justificatifRemuneration_Content_CanSeek (optional)\r\n * @param justificatifRemuneration_Content_CanTimeout (optional)\r\n * @param justificatifRemuneration_Content_Length (optional)\r\n * @param justificatifRemuneration_Content_Position (optional)\r\n * @param justificatifRemuneration_Content_ReadTimeout (optional)\r\n * @param justificatifRemuneration_Content_WriteTimeout (optional)\r\n * @param documents (optional)\r\n * @return Success\r\n */\r\n updateEnseignant(dossierId, enseignantId, nom, prenom, ville, disciplines, otherDiscipline, instrumentId, qualification, typeContrat, statut, remunerationBruteAnnuelle, montantChargesPatronales, tarifHoraireBrut, remunerationPremierTrimestre, contratEngagement_Id, contratEngagement_TypeId, contratEngagement_PartName, contratEngagement_ExtraInfos, contratEngagement_FileName, contratEngagement_ContentType, contratEngagement_Content_CanRead, contratEngagement_Content_CanWrite, contratEngagement_Content_CanSeek, contratEngagement_Content_CanTimeout, contratEngagement_Content_Length, contratEngagement_Content_Position, contratEngagement_Content_ReadTimeout, contratEngagement_Content_WriteTimeout, justificatifRemuneration_Id, justificatifRemuneration_TypeId, justificatifRemuneration_PartName, justificatifRemuneration_ExtraInfos, justificatifRemuneration_FileName, justificatifRemuneration_ContentType, justificatifRemuneration_Content_CanRead, justificatifRemuneration_Content_CanWrite, justificatifRemuneration_Content_CanSeek, justificatifRemuneration_Content_CanTimeout, justificatifRemuneration_Content_Length, justificatifRemuneration_Content_Position, justificatifRemuneration_Content_ReadTimeout, justificatifRemuneration_Content_WriteTimeout, documents, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/enseignant/{enseignantId}\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n if (enseignantId === undefined || enseignantId === null)\r\n throw new Error(\"The parameter 'enseignantId' must be defined.\");\r\n url_ = url_.replace(\"{enseignantId}\", encodeURIComponent(\"\" + enseignantId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = new FormData();\r\n if (nom === null || nom === undefined)\r\n throw new Error(\"The parameter 'nom' cannot be null.\");\r\n else\r\n content_.append(\"Nom\", nom.toString());\r\n if (prenom === null || prenom === undefined)\r\n throw new Error(\"The parameter 'prenom' cannot be null.\");\r\n else\r\n content_.append(\"Prenom\", prenom.toString());\r\n if (ville === null || ville === undefined)\r\n throw new Error(\"The parameter 'ville' cannot be null.\");\r\n else\r\n content_.append(\"Ville\", ville.toString());\r\n if (disciplines === null || disciplines === undefined)\r\n throw new Error(\"The parameter 'disciplines' cannot be null.\");\r\n else\r\n disciplines.forEach(item_ => content_.append(\"Disciplines\", item_.toString()));\r\n if (otherDiscipline === null || otherDiscipline === undefined)\r\n throw new Error(\"The parameter 'otherDiscipline' cannot be null.\");\r\n else\r\n content_.append(\"OtherDiscipline\", otherDiscipline.toString());\r\n if (instrumentId === null || instrumentId === undefined)\r\n throw new Error(\"The parameter 'instrumentId' cannot be null.\");\r\n else\r\n content_.append(\"InstrumentId\", instrumentId.toString());\r\n if (qualification === null || qualification === undefined)\r\n throw new Error(\"The parameter 'qualification' cannot be null.\");\r\n else\r\n content_.append(\"Qualification\", qualification.toString());\r\n if (typeContrat === null || typeContrat === undefined)\r\n throw new Error(\"The parameter 'typeContrat' cannot be null.\");\r\n else\r\n content_.append(\"TypeContrat\", typeContrat.toString());\r\n if (statut === null || statut === undefined)\r\n throw new Error(\"The parameter 'statut' cannot be null.\");\r\n else\r\n content_.append(\"Statut\", statut.toString());\r\n if (remunerationBruteAnnuelle === null || remunerationBruteAnnuelle === undefined)\r\n throw new Error(\"The parameter 'remunerationBruteAnnuelle' cannot be null.\");\r\n else\r\n content_.append(\"RemunerationBruteAnnuelle\", remunerationBruteAnnuelle.toString());\r\n if (montantChargesPatronales === null || montantChargesPatronales === undefined)\r\n throw new Error(\"The parameter 'montantChargesPatronales' cannot be null.\");\r\n else\r\n content_.append(\"MontantChargesPatronales\", montantChargesPatronales.toString());\r\n if (tarifHoraireBrut === null || tarifHoraireBrut === undefined)\r\n throw new Error(\"The parameter 'tarifHoraireBrut' cannot be null.\");\r\n else\r\n content_.append(\"TarifHoraireBrut\", tarifHoraireBrut.toString());\r\n if (remunerationPremierTrimestre === null || remunerationPremierTrimestre === undefined)\r\n throw new Error(\"The parameter 'remunerationPremierTrimestre' cannot be null.\");\r\n else\r\n content_.append(\"RemunerationPremierTrimestre\", remunerationPremierTrimestre.toString());\r\n if (contratEngagement_Id === null || contratEngagement_Id === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Id' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Id\", contratEngagement_Id.toString());\r\n if (contratEngagement_TypeId === null || contratEngagement_TypeId === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_TypeId' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.TypeId\", contratEngagement_TypeId.toString());\r\n if (contratEngagement_PartName === null || contratEngagement_PartName === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_PartName' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.PartName\", contratEngagement_PartName.toString());\r\n if (contratEngagement_ExtraInfos === null || contratEngagement_ExtraInfos === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_ExtraInfos' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.ExtraInfos\", JSON.stringify(contratEngagement_ExtraInfos));\r\n if (contratEngagement_FileName === null || contratEngagement_FileName === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_FileName' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.FileName\", contratEngagement_FileName.toString());\r\n if (contratEngagement_ContentType === null || contratEngagement_ContentType === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_ContentType' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.ContentType\", contratEngagement_ContentType.toString());\r\n if (contratEngagement_Content_CanRead === null || contratEngagement_Content_CanRead === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_CanRead' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.CanRead\", contratEngagement_Content_CanRead.toString());\r\n if (contratEngagement_Content_CanWrite === null || contratEngagement_Content_CanWrite === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_CanWrite' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.CanWrite\", contratEngagement_Content_CanWrite.toString());\r\n if (contratEngagement_Content_CanSeek === null || contratEngagement_Content_CanSeek === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_CanSeek' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.CanSeek\", contratEngagement_Content_CanSeek.toString());\r\n if (contratEngagement_Content_CanTimeout === null || contratEngagement_Content_CanTimeout === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_CanTimeout' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.CanTimeout\", contratEngagement_Content_CanTimeout.toString());\r\n if (contratEngagement_Content_Length === null || contratEngagement_Content_Length === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_Length' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.Length\", contratEngagement_Content_Length.toString());\r\n if (contratEngagement_Content_Position === null || contratEngagement_Content_Position === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_Position' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.Position\", contratEngagement_Content_Position.toString());\r\n if (contratEngagement_Content_ReadTimeout === null || contratEngagement_Content_ReadTimeout === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_ReadTimeout' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.ReadTimeout\", contratEngagement_Content_ReadTimeout.toString());\r\n if (contratEngagement_Content_WriteTimeout === null || contratEngagement_Content_WriteTimeout === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_WriteTimeout' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.WriteTimeout\", contratEngagement_Content_WriteTimeout.toString());\r\n if (justificatifRemuneration_Id === null || justificatifRemuneration_Id === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Id' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Id\", justificatifRemuneration_Id.toString());\r\n if (justificatifRemuneration_TypeId === null || justificatifRemuneration_TypeId === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_TypeId' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.TypeId\", justificatifRemuneration_TypeId.toString());\r\n if (justificatifRemuneration_PartName === null || justificatifRemuneration_PartName === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_PartName' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.PartName\", justificatifRemuneration_PartName.toString());\r\n if (justificatifRemuneration_ExtraInfos === null || justificatifRemuneration_ExtraInfos === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_ExtraInfos' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.ExtraInfos\", JSON.stringify(justificatifRemuneration_ExtraInfos));\r\n if (justificatifRemuneration_FileName === null || justificatifRemuneration_FileName === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_FileName' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.FileName\", justificatifRemuneration_FileName.toString());\r\n if (justificatifRemuneration_ContentType === null || justificatifRemuneration_ContentType === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_ContentType' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.ContentType\", justificatifRemuneration_ContentType.toString());\r\n if (justificatifRemuneration_Content_CanRead === null || justificatifRemuneration_Content_CanRead === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_CanRead' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.CanRead\", justificatifRemuneration_Content_CanRead.toString());\r\n if (justificatifRemuneration_Content_CanWrite === null || justificatifRemuneration_Content_CanWrite === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_CanWrite' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.CanWrite\", justificatifRemuneration_Content_CanWrite.toString());\r\n if (justificatifRemuneration_Content_CanSeek === null || justificatifRemuneration_Content_CanSeek === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_CanSeek' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.CanSeek\", justificatifRemuneration_Content_CanSeek.toString());\r\n if (justificatifRemuneration_Content_CanTimeout === null || justificatifRemuneration_Content_CanTimeout === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_CanTimeout' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.CanTimeout\", justificatifRemuneration_Content_CanTimeout.toString());\r\n if (justificatifRemuneration_Content_Length === null || justificatifRemuneration_Content_Length === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_Length' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.Length\", justificatifRemuneration_Content_Length.toString());\r\n if (justificatifRemuneration_Content_Position === null || justificatifRemuneration_Content_Position === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_Position' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.Position\", justificatifRemuneration_Content_Position.toString());\r\n if (justificatifRemuneration_Content_ReadTimeout === null || justificatifRemuneration_Content_ReadTimeout === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_ReadTimeout' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.ReadTimeout\", justificatifRemuneration_Content_ReadTimeout.toString());\r\n if (justificatifRemuneration_Content_WriteTimeout === null || justificatifRemuneration_Content_WriteTimeout === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_WriteTimeout' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.WriteTimeout\", justificatifRemuneration_Content_WriteTimeout.toString());\r\n if (documents === null || documents === undefined)\r\n throw new Error(\"The parameter 'documents' cannot be null.\");\r\n else\r\n documents.forEach(item_ => content_.append(\"documents\", item_.data, item_.fileName ? item_.fileName : \"documents\"));\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processUpdateEnseignant(_response);\r\n });\r\n }\r\n processUpdateEnseignant(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n deleteEnseignant(dossierId, enseignantId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/enseignant/{enseignantId}\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n if (enseignantId === undefined || enseignantId === null)\r\n throw new Error(\"The parameter 'enseignantId' must be defined.\");\r\n url_ = url_.replace(\"{enseignantId}\", encodeURIComponent(\"\" + enseignantId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {},\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processDeleteEnseignant(_response);\r\n });\r\n }\r\n processDeleteEnseignant(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n updatePrestation(prestationId, body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/prestation/{prestationId}\";\r\n if (prestationId === undefined || prestationId === null)\r\n throw new Error(\"The parameter 'prestationId' must be defined.\");\r\n url_ = url_.replace(\"{prestationId}\", encodeURIComponent(\"\" + prestationId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processUpdatePrestation(_response);\r\n });\r\n }\r\n processUpdatePrestation(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n deletePrestation(prestationId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/prestation/{prestationId}\";\r\n if (prestationId === undefined || prestationId === null)\r\n throw new Error(\"The parameter 'prestationId' must be defined.\");\r\n url_ = url_.replace(\"{prestationId}\", encodeURIComponent(\"\" + prestationId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {},\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processDeletePrestation(_response);\r\n });\r\n }\r\n processDeletePrestation(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getEtapesCreationDossier(categorieId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/categorie/{categorieId}/etapes\";\r\n if (categorieId === undefined || categorieId === null)\r\n throw new Error(\"The parameter 'categorieId' must be defined.\");\r\n url_ = url_.replace(\"{categorieId}\", encodeURIComponent(\"\" + categorieId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetEtapesCreationDossier(_response);\r\n });\r\n }\r\n processGetEtapesCreationDossier(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param answers (optional)\r\n * @param files (optional)\r\n * @return Success\r\n */\r\n submitInfosProjetAnswers(dossierId, answers, files, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/etapes/informationsProjet/answers\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = new FormData();\r\n if (answers === null || answers === undefined)\r\n throw new Error(\"The parameter 'answers' cannot be null.\");\r\n else\r\n content_.append(\"Answers\", JSON.stringify(answers));\r\n if (files === null || files === undefined)\r\n throw new Error(\"The parameter 'files' cannot be null.\");\r\n else\r\n files.forEach(item_ => content_.append(\"files\", item_.data, item_.fileName ? item_.fileName : \"files\"));\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {},\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processSubmitInfosProjetAnswers(_response);\r\n });\r\n }\r\n processSubmitInfosProjetAnswers(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n setResponsableDossier(dossierId, body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/responsable\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processSetResponsableDossier(_response);\r\n });\r\n }\r\n processSetResponsableDossier(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param answers (optional)\r\n * @param files (optional)\r\n * @return Success\r\n */\r\n submitDescriptionProjetAnswers(dossierId, answers, files, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/etapes/descriptionProjet/answers\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = new FormData();\r\n if (answers === null || answers === undefined)\r\n throw new Error(\"The parameter 'answers' cannot be null.\");\r\n else\r\n content_.append(\"Answers\", JSON.stringify(answers));\r\n if (files === null || files === undefined)\r\n throw new Error(\"The parameter 'files' cannot be null.\");\r\n else\r\n files.forEach(item_ => content_.append(\"files\", item_.data, item_.fileName ? item_.fileName : \"files\"));\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {},\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processSubmitDescriptionProjetAnswers(_response);\r\n });\r\n }\r\n processSubmitDescriptionProjetAnswers(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400 = null;\r\n let resultData400 = _responseText;\r\n result400 = resultData400;\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param commentaire (optional)\r\n * @param documents (optional)\r\n * @param depenses (optional)\r\n * @param financements (optional)\r\n * @param files (optional)\r\n * @return Success\r\n */\r\n createBudget(dossierId, commentaire, documents, depenses, financements, files, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/budget\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = new FormData();\r\n if (commentaire === null || commentaire === undefined)\r\n throw new Error(\"The parameter 'commentaire' cannot be null.\");\r\n else\r\n content_.append(\"Commentaire\", commentaire.toString());\r\n if (documents === null || documents === undefined)\r\n throw new Error(\"The parameter 'documents' cannot be null.\");\r\n else\r\n documents.forEach(item_ => content_.append(\"Documents\", item_.toString()));\r\n if (depenses === null || depenses === undefined)\r\n throw new Error(\"The parameter 'depenses' cannot be null.\");\r\n else\r\n depenses.forEach(item_ => content_.append(\"Depenses\", item_.toString()));\r\n if (financements === null || financements === undefined)\r\n throw new Error(\"The parameter 'financements' cannot be null.\");\r\n else\r\n financements.forEach(item_ => content_.append(\"Financements\", item_.toString()));\r\n if (files === null || files === undefined)\r\n throw new Error(\"The parameter 'files' cannot be null.\");\r\n else\r\n files.forEach(item_ => content_.append(\"files\", item_.data, item_.fileName ? item_.fileName : \"files\"));\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processCreateBudget(_response);\r\n });\r\n }\r\n processCreateBudget(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 201) {\r\n const _responseText = response.data;\r\n let result201 = null;\r\n let resultData201 = _responseText;\r\n result201 = resultData201;\r\n return Promise.resolve(result201);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param commentaire (optional)\r\n * @param documents (optional)\r\n * @param depenses (optional)\r\n * @param financements (optional)\r\n * @param files (optional)\r\n * @return Success\r\n */\r\n updateBudget(dossierId, commentaire, documents, depenses, financements, files, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/budget\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = new FormData();\r\n if (commentaire === null || commentaire === undefined)\r\n throw new Error(\"The parameter 'commentaire' cannot be null.\");\r\n else\r\n content_.append(\"Commentaire\", commentaire.toString());\r\n if (documents === null || documents === undefined)\r\n throw new Error(\"The parameter 'documents' cannot be null.\");\r\n else\r\n documents.forEach(item_ => content_.append(\"Documents\", item_.toString()));\r\n if (depenses === null || depenses === undefined)\r\n throw new Error(\"The parameter 'depenses' cannot be null.\");\r\n else\r\n depenses.forEach(item_ => content_.append(\"Depenses\", item_.toString()));\r\n if (financements === null || financements === undefined)\r\n throw new Error(\"The parameter 'financements' cannot be null.\");\r\n else\r\n financements.forEach(item_ => content_.append(\"Financements\", item_.toString()));\r\n if (files === null || files === undefined)\r\n throw new Error(\"The parameter 'files' cannot be null.\");\r\n else\r\n files.forEach(item_ => content_.append(\"files\", item_.data, item_.fileName ? item_.fileName : \"files\"));\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processUpdateBudget(_response);\r\n });\r\n }\r\n processUpdateBudget(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getDossierBudget(dossierId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/budget\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetDossierBudget(_response);\r\n });\r\n }\r\n processGetDossierBudget(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getBudgetViewModel(dossierId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/budget/viewmodel\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetBudgetViewModel(_response);\r\n });\r\n }\r\n processGetBudgetViewModel(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getPrestationsViewModel(dossierId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/prestations/viewmodel\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetPrestationsViewModel(_response);\r\n });\r\n }\r\n processGetPrestationsViewModel(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getLieux(dossierId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/lieux\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetLieux(_response);\r\n });\r\n }\r\n processGetLieux(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getDossierPays(dossierId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/pays\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetDossierPays(_response);\r\n });\r\n }\r\n processGetDossierPays(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n validatePrestations(dossierId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/prestations/validation\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processValidatePrestations(_response);\r\n });\r\n }\r\n processValidatePrestations(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n validateArtistes(dossierId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/artistes/validation\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processValidateArtistes(_response);\r\n });\r\n }\r\n processValidateArtistes(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n validateEnseignants(dossierId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/enseignant/validation\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processValidateEnseignants(_response);\r\n });\r\n }\r\n processValidateEnseignants(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n createChiffresCles(dossierId, body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/chiffresCles\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processCreateChiffresCles(_response);\r\n });\r\n }\r\n processCreateChiffresCles(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n createOrUpdateAidesFonctionnement(dossierId, body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/aidesFonctionnement\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processCreateOrUpdateAidesFonctionnement(_response);\r\n });\r\n }\r\n processCreateOrUpdateAidesFonctionnement(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getChiffresClesViewModel(dossierId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/chiffresCles/viewModel\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetChiffresClesViewModel(_response);\r\n });\r\n }\r\n processGetChiffresClesViewModel(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param nom (optional)\r\n * @param prenom (optional)\r\n * @param email (optional)\r\n * @param adresse_Line1 (optional)\r\n * @param adresse_Line2 (optional)\r\n * @param adresse_CodePostal (optional)\r\n * @param adresse_Ville (optional)\r\n * @param dateNaissance (optional)\r\n * @param dateEmbauchePrevue (optional)\r\n * @param salaireBrut (optional)\r\n * @param cV_Id (optional)\r\n * @param cV_TypeId (optional)\r\n * @param cV_PartName (optional)\r\n * @param cV_ExtraInfos (optional)\r\n * @param cV_FileName (optional)\r\n * @param cV_ContentType (optional)\r\n * @param cV_Content_CanRead (optional)\r\n * @param cV_Content_CanWrite (optional)\r\n * @param cV_Content_CanSeek (optional)\r\n * @param cV_Content_CanTimeout (optional)\r\n * @param cV_Content_Length (optional)\r\n * @param cV_Content_Position (optional)\r\n * @param cV_Content_ReadTimeout (optional)\r\n * @param cV_Content_WriteTimeout (optional)\r\n * @param diplome_Id (optional)\r\n * @param diplome_TypeId (optional)\r\n * @param diplome_PartName (optional)\r\n * @param diplome_ExtraInfos (optional)\r\n * @param diplome_FileName (optional)\r\n * @param diplome_ContentType (optional)\r\n * @param diplome_Content_CanRead (optional)\r\n * @param diplome_Content_CanWrite (optional)\r\n * @param diplome_Content_CanSeek (optional)\r\n * @param diplome_Content_CanTimeout (optional)\r\n * @param diplome_Content_Length (optional)\r\n * @param diplome_Content_Position (optional)\r\n * @param diplome_Content_ReadTimeout (optional)\r\n * @param diplome_Content_WriteTimeout (optional)\r\n * @param conventionCollective (optional)\r\n * @param equipements (optional)\r\n * @param autresEquipements (optional)\r\n * @param typesAdresses (optional)\r\n * @param autreAdresse_Line1 (optional)\r\n * @param autreAdresse_Line2 (optional)\r\n * @param autreAdresse_CodePostal (optional)\r\n * @param autreAdresse_Ville (optional)\r\n * @param documents (optional)\r\n * @return Success\r\n */\r\n createSalarie(dossierId, nom, prenom, email, adresse_Line1, adresse_Line2, adresse_CodePostal, adresse_Ville, dateNaissance, dateEmbauchePrevue, salaireBrut, cV_Id, cV_TypeId, cV_PartName, cV_ExtraInfos, cV_FileName, cV_ContentType, cV_Content_CanRead, cV_Content_CanWrite, cV_Content_CanSeek, cV_Content_CanTimeout, cV_Content_Length, cV_Content_Position, cV_Content_ReadTimeout, cV_Content_WriteTimeout, diplome_Id, diplome_TypeId, diplome_PartName, diplome_ExtraInfos, diplome_FileName, diplome_ContentType, diplome_Content_CanRead, diplome_Content_CanWrite, diplome_Content_CanSeek, diplome_Content_CanTimeout, diplome_Content_Length, diplome_Content_Position, diplome_Content_ReadTimeout, diplome_Content_WriteTimeout, conventionCollective, equipements, autresEquipements, typesAdresses, autreAdresse_Line1, autreAdresse_Line2, autreAdresse_CodePostal, autreAdresse_Ville, documents, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/salarie\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = new FormData();\r\n if (nom === null || nom === undefined)\r\n throw new Error(\"The parameter 'nom' cannot be null.\");\r\n else\r\n content_.append(\"Nom\", nom.toString());\r\n if (prenom === null || prenom === undefined)\r\n throw new Error(\"The parameter 'prenom' cannot be null.\");\r\n else\r\n content_.append(\"Prenom\", prenom.toString());\r\n if (email === null || email === undefined)\r\n throw new Error(\"The parameter 'email' cannot be null.\");\r\n else\r\n content_.append(\"Email\", email.toString());\r\n if (adresse_Line1 === null || adresse_Line1 === undefined)\r\n throw new Error(\"The parameter 'adresse_Line1' cannot be null.\");\r\n else\r\n content_.append(\"Adresse.Line1\", adresse_Line1.toString());\r\n if (adresse_Line2 === null || adresse_Line2 === undefined)\r\n throw new Error(\"The parameter 'adresse_Line2' cannot be null.\");\r\n else\r\n content_.append(\"Adresse.Line2\", adresse_Line2.toString());\r\n if (adresse_CodePostal === null || adresse_CodePostal === undefined)\r\n throw new Error(\"The parameter 'adresse_CodePostal' cannot be null.\");\r\n else\r\n content_.append(\"Adresse.CodePostal\", adresse_CodePostal.toString());\r\n if (adresse_Ville === null || adresse_Ville === undefined)\r\n throw new Error(\"The parameter 'adresse_Ville' cannot be null.\");\r\n else\r\n content_.append(\"Adresse.Ville\", adresse_Ville.toString());\r\n if (dateNaissance === null || dateNaissance === undefined)\r\n throw new Error(\"The parameter 'dateNaissance' cannot be null.\");\r\n else\r\n content_.append(\"DateNaissance\", dateNaissance.toJSON());\r\n if (dateEmbauchePrevue === null || dateEmbauchePrevue === undefined)\r\n throw new Error(\"The parameter 'dateEmbauchePrevue' cannot be null.\");\r\n else\r\n content_.append(\"DateEmbauchePrevue\", dateEmbauchePrevue.toJSON());\r\n if (salaireBrut === null || salaireBrut === undefined)\r\n throw new Error(\"The parameter 'salaireBrut' cannot be null.\");\r\n else\r\n content_.append(\"SalaireBrut\", salaireBrut.toString());\r\n if (cV_Id === null || cV_Id === undefined)\r\n throw new Error(\"The parameter 'cV_Id' cannot be null.\");\r\n else\r\n content_.append(\"CV.Id\", cV_Id.toString());\r\n if (cV_TypeId === null || cV_TypeId === undefined)\r\n throw new Error(\"The parameter 'cV_TypeId' cannot be null.\");\r\n else\r\n content_.append(\"CV.TypeId\", cV_TypeId.toString());\r\n if (cV_PartName === null || cV_PartName === undefined)\r\n throw new Error(\"The parameter 'cV_PartName' cannot be null.\");\r\n else\r\n content_.append(\"CV.PartName\", cV_PartName.toString());\r\n if (cV_ExtraInfos === null || cV_ExtraInfos === undefined)\r\n throw new Error(\"The parameter 'cV_ExtraInfos' cannot be null.\");\r\n else\r\n content_.append(\"CV.ExtraInfos\", JSON.stringify(cV_ExtraInfos));\r\n if (cV_FileName === null || cV_FileName === undefined)\r\n throw new Error(\"The parameter 'cV_FileName' cannot be null.\");\r\n else\r\n content_.append(\"CV.FileName\", cV_FileName.toString());\r\n if (cV_ContentType === null || cV_ContentType === undefined)\r\n throw new Error(\"The parameter 'cV_ContentType' cannot be null.\");\r\n else\r\n content_.append(\"CV.ContentType\", cV_ContentType.toString());\r\n if (cV_Content_CanRead === null || cV_Content_CanRead === undefined)\r\n throw new Error(\"The parameter 'cV_Content_CanRead' cannot be null.\");\r\n else\r\n content_.append(\"CV.Content.CanRead\", cV_Content_CanRead.toString());\r\n if (cV_Content_CanWrite === null || cV_Content_CanWrite === undefined)\r\n throw new Error(\"The parameter 'cV_Content_CanWrite' cannot be null.\");\r\n else\r\n content_.append(\"CV.Content.CanWrite\", cV_Content_CanWrite.toString());\r\n if (cV_Content_CanSeek === null || cV_Content_CanSeek === undefined)\r\n throw new Error(\"The parameter 'cV_Content_CanSeek' cannot be null.\");\r\n else\r\n content_.append(\"CV.Content.CanSeek\", cV_Content_CanSeek.toString());\r\n if (cV_Content_CanTimeout === null || cV_Content_CanTimeout === undefined)\r\n throw new Error(\"The parameter 'cV_Content_CanTimeout' cannot be null.\");\r\n else\r\n content_.append(\"CV.Content.CanTimeout\", cV_Content_CanTimeout.toString());\r\n if (cV_Content_Length === null || cV_Content_Length === undefined)\r\n throw new Error(\"The parameter 'cV_Content_Length' cannot be null.\");\r\n else\r\n content_.append(\"CV.Content.Length\", cV_Content_Length.toString());\r\n if (cV_Content_Position === null || cV_Content_Position === undefined)\r\n throw new Error(\"The parameter 'cV_Content_Position' cannot be null.\");\r\n else\r\n content_.append(\"CV.Content.Position\", cV_Content_Position.toString());\r\n if (cV_Content_ReadTimeout === null || cV_Content_ReadTimeout === undefined)\r\n throw new Error(\"The parameter 'cV_Content_ReadTimeout' cannot be null.\");\r\n else\r\n content_.append(\"CV.Content.ReadTimeout\", cV_Content_ReadTimeout.toString());\r\n if (cV_Content_WriteTimeout === null || cV_Content_WriteTimeout === undefined)\r\n throw new Error(\"The parameter 'cV_Content_WriteTimeout' cannot be null.\");\r\n else\r\n content_.append(\"CV.Content.WriteTimeout\", cV_Content_WriteTimeout.toString());\r\n if (diplome_Id === null || diplome_Id === undefined)\r\n throw new Error(\"The parameter 'diplome_Id' cannot be null.\");\r\n else\r\n content_.append(\"Diplome.Id\", diplome_Id.toString());\r\n if (diplome_TypeId === null || diplome_TypeId === undefined)\r\n throw new Error(\"The parameter 'diplome_TypeId' cannot be null.\");\r\n else\r\n content_.append(\"Diplome.TypeId\", diplome_TypeId.toString());\r\n if (diplome_PartName === null || diplome_PartName === undefined)\r\n throw new Error(\"The parameter 'diplome_PartName' cannot be null.\");\r\n else\r\n content_.append(\"Diplome.PartName\", diplome_PartName.toString());\r\n if (diplome_ExtraInfos === null || diplome_ExtraInfos === undefined)\r\n throw new Error(\"The parameter 'diplome_ExtraInfos' cannot be null.\");\r\n else\r\n content_.append(\"Diplome.ExtraInfos\", JSON.stringify(diplome_ExtraInfos));\r\n if (diplome_FileName === null || diplome_FileName === undefined)\r\n throw new Error(\"The parameter 'diplome_FileName' cannot be null.\");\r\n else\r\n content_.append(\"Diplome.FileName\", diplome_FileName.toString());\r\n if (diplome_ContentType === null || diplome_ContentType === undefined)\r\n throw new Error(\"The parameter 'diplome_ContentType' cannot be null.\");\r\n else\r\n content_.append(\"Diplome.ContentType\", diplome_ContentType.toString());\r\n if (diplome_Content_CanRead === null || diplome_Content_CanRead === undefined)\r\n throw new Error(\"The parameter 'diplome_Content_CanRead' cannot be null.\");\r\n else\r\n content_.append(\"Diplome.Content.CanRead\", diplome_Content_CanRead.toString());\r\n if (diplome_Content_CanWrite === null || diplome_Content_CanWrite === undefined)\r\n throw new Error(\"The parameter 'diplome_Content_CanWrite' cannot be null.\");\r\n else\r\n content_.append(\"Diplome.Content.CanWrite\", diplome_Content_CanWrite.toString());\r\n if (diplome_Content_CanSeek === null || diplome_Content_CanSeek === undefined)\r\n throw new Error(\"The parameter 'diplome_Content_CanSeek' cannot be null.\");\r\n else\r\n content_.append(\"Diplome.Content.CanSeek\", diplome_Content_CanSeek.toString());\r\n if (diplome_Content_CanTimeout === null || diplome_Content_CanTimeout === undefined)\r\n throw new Error(\"The parameter 'diplome_Content_CanTimeout' cannot be null.\");\r\n else\r\n content_.append(\"Diplome.Content.CanTimeout\", diplome_Content_CanTimeout.toString());\r\n if (diplome_Content_Length === null || diplome_Content_Length === undefined)\r\n throw new Error(\"The parameter 'diplome_Content_Length' cannot be null.\");\r\n else\r\n content_.append(\"Diplome.Content.Length\", diplome_Content_Length.toString());\r\n if (diplome_Content_Position === null || diplome_Content_Position === undefined)\r\n throw new Error(\"The parameter 'diplome_Content_Position' cannot be null.\");\r\n else\r\n content_.append(\"Diplome.Content.Position\", diplome_Content_Position.toString());\r\n if (diplome_Content_ReadTimeout === null || diplome_Content_ReadTimeout === undefined)\r\n throw new Error(\"The parameter 'diplome_Content_ReadTimeout' cannot be null.\");\r\n else\r\n content_.append(\"Diplome.Content.ReadTimeout\", diplome_Content_ReadTimeout.toString());\r\n if (diplome_Content_WriteTimeout === null || diplome_Content_WriteTimeout === undefined)\r\n throw new Error(\"The parameter 'diplome_Content_WriteTimeout' cannot be null.\");\r\n else\r\n content_.append(\"Diplome.Content.WriteTimeout\", diplome_Content_WriteTimeout.toString());\r\n if (conventionCollective === null || conventionCollective === undefined)\r\n throw new Error(\"The parameter 'conventionCollective' cannot be null.\");\r\n else\r\n content_.append(\"ConventionCollective\", conventionCollective.toString());\r\n if (equipements === null || equipements === undefined)\r\n throw new Error(\"The parameter 'equipements' cannot be null.\");\r\n else\r\n content_.append(\"Equipements\", equipements.toString());\r\n if (autresEquipements === null || autresEquipements === undefined)\r\n throw new Error(\"The parameter 'autresEquipements' cannot be null.\");\r\n else\r\n content_.append(\"AutresEquipements\", autresEquipements.toString());\r\n if (typesAdresses === null || typesAdresses === undefined)\r\n throw new Error(\"The parameter 'typesAdresses' cannot be null.\");\r\n else\r\n content_.append(\"TypesAdresses\", typesAdresses.toString());\r\n if (autreAdresse_Line1 === null || autreAdresse_Line1 === undefined)\r\n throw new Error(\"The parameter 'autreAdresse_Line1' cannot be null.\");\r\n else\r\n content_.append(\"AutreAdresse.Line1\", autreAdresse_Line1.toString());\r\n if (autreAdresse_Line2 === null || autreAdresse_Line2 === undefined)\r\n throw new Error(\"The parameter 'autreAdresse_Line2' cannot be null.\");\r\n else\r\n content_.append(\"AutreAdresse.Line2\", autreAdresse_Line2.toString());\r\n if (autreAdresse_CodePostal === null || autreAdresse_CodePostal === undefined)\r\n throw new Error(\"The parameter 'autreAdresse_CodePostal' cannot be null.\");\r\n else\r\n content_.append(\"AutreAdresse.CodePostal\", autreAdresse_CodePostal.toString());\r\n if (autreAdresse_Ville === null || autreAdresse_Ville === undefined)\r\n throw new Error(\"The parameter 'autreAdresse_Ville' cannot be null.\");\r\n else\r\n content_.append(\"AutreAdresse.Ville\", autreAdresse_Ville.toString());\r\n if (documents === null || documents === undefined)\r\n throw new Error(\"The parameter 'documents' cannot be null.\");\r\n else\r\n documents.forEach(item_ => content_.append(\"documents\", item_.data, item_.fileName ? item_.fileName : \"documents\"));\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processCreateSalarie(_response);\r\n });\r\n }\r\n processCreateSalarie(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getSalarie(dossierId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/salarie\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetSalarie(_response);\r\n });\r\n }\r\n processGetSalarie(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param nom (optional)\r\n * @param prenom (optional)\r\n * @param adresse_Line1 (optional)\r\n * @param adresse_Line2 (optional)\r\n * @param adresse_CodePostal (optional)\r\n * @param adresse_Ville (optional)\r\n * @param dateNaissance (optional)\r\n * @param dateEmbauchePrevue (optional)\r\n * @param salaireBrut (optional)\r\n * @param cV_Id (optional)\r\n * @param cV_TypeId (optional)\r\n * @param cV_PartName (optional)\r\n * @param cV_ExtraInfos (optional)\r\n * @param cV_FileName (optional)\r\n * @param cV_ContentType (optional)\r\n * @param cV_Content_CanRead (optional)\r\n * @param cV_Content_CanWrite (optional)\r\n * @param cV_Content_CanSeek (optional)\r\n * @param cV_Content_CanTimeout (optional)\r\n * @param cV_Content_Length (optional)\r\n * @param cV_Content_Position (optional)\r\n * @param cV_Content_ReadTimeout (optional)\r\n * @param cV_Content_WriteTimeout (optional)\r\n * @param diplome_Id (optional)\r\n * @param diplome_TypeId (optional)\r\n * @param diplome_PartName (optional)\r\n * @param diplome_ExtraInfos (optional)\r\n * @param diplome_FileName (optional)\r\n * @param diplome_ContentType (optional)\r\n * @param diplome_Content_CanRead (optional)\r\n * @param diplome_Content_CanWrite (optional)\r\n * @param diplome_Content_CanSeek (optional)\r\n * @param diplome_Content_CanTimeout (optional)\r\n * @param diplome_Content_Length (optional)\r\n * @param diplome_Content_Position (optional)\r\n * @param diplome_Content_ReadTimeout (optional)\r\n * @param diplome_Content_WriteTimeout (optional)\r\n * @param conventionCollective (optional)\r\n * @param equipements (optional)\r\n * @param autresEquipements (optional)\r\n * @param typesAdresses (optional)\r\n * @param autreAdresse_Line1 (optional)\r\n * @param autreAdresse_Line2 (optional)\r\n * @param autreAdresse_CodePostal (optional)\r\n * @param autreAdresse_Ville (optional)\r\n * @param documents (optional)\r\n * @return Success\r\n */\r\n updateSalarie(salarieId, nom, prenom, adresse_Line1, adresse_Line2, adresse_CodePostal, adresse_Ville, dateNaissance, dateEmbauchePrevue, salaireBrut, cV_Id, cV_TypeId, cV_PartName, cV_ExtraInfos, cV_FileName, cV_ContentType, cV_Content_CanRead, cV_Content_CanWrite, cV_Content_CanSeek, cV_Content_CanTimeout, cV_Content_Length, cV_Content_Position, cV_Content_ReadTimeout, cV_Content_WriteTimeout, diplome_Id, diplome_TypeId, diplome_PartName, diplome_ExtraInfos, diplome_FileName, diplome_ContentType, diplome_Content_CanRead, diplome_Content_CanWrite, diplome_Content_CanSeek, diplome_Content_CanTimeout, diplome_Content_Length, diplome_Content_Position, diplome_Content_ReadTimeout, diplome_Content_WriteTimeout, conventionCollective, equipements, autresEquipements, typesAdresses, autreAdresse_Line1, autreAdresse_Line2, autreAdresse_CodePostal, autreAdresse_Ville, documents, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/salarie/{salarieId}\";\r\n if (salarieId === undefined || salarieId === null)\r\n throw new Error(\"The parameter 'salarieId' must be defined.\");\r\n url_ = url_.replace(\"{salarieId}\", encodeURIComponent(\"\" + salarieId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = new FormData();\r\n if (nom === null || nom === undefined)\r\n throw new Error(\"The parameter 'nom' cannot be null.\");\r\n else\r\n content_.append(\"Nom\", nom.toString());\r\n if (prenom === null || prenom === undefined)\r\n throw new Error(\"The parameter 'prenom' cannot be null.\");\r\n else\r\n content_.append(\"Prenom\", prenom.toString());\r\n if (adresse_Line1 === null || adresse_Line1 === undefined)\r\n throw new Error(\"The parameter 'adresse_Line1' cannot be null.\");\r\n else\r\n content_.append(\"Adresse.Line1\", adresse_Line1.toString());\r\n if (adresse_Line2 === null || adresse_Line2 === undefined)\r\n throw new Error(\"The parameter 'adresse_Line2' cannot be null.\");\r\n else\r\n content_.append(\"Adresse.Line2\", adresse_Line2.toString());\r\n if (adresse_CodePostal === null || adresse_CodePostal === undefined)\r\n throw new Error(\"The parameter 'adresse_CodePostal' cannot be null.\");\r\n else\r\n content_.append(\"Adresse.CodePostal\", adresse_CodePostal.toString());\r\n if (adresse_Ville === null || adresse_Ville === undefined)\r\n throw new Error(\"The parameter 'adresse_Ville' cannot be null.\");\r\n else\r\n content_.append(\"Adresse.Ville\", adresse_Ville.toString());\r\n if (dateNaissance === null || dateNaissance === undefined)\r\n throw new Error(\"The parameter 'dateNaissance' cannot be null.\");\r\n else\r\n content_.append(\"DateNaissance\", dateNaissance.toJSON());\r\n if (dateEmbauchePrevue === null || dateEmbauchePrevue === undefined)\r\n throw new Error(\"The parameter 'dateEmbauchePrevue' cannot be null.\");\r\n else\r\n content_.append(\"DateEmbauchePrevue\", dateEmbauchePrevue.toJSON());\r\n if (salaireBrut === null || salaireBrut === undefined)\r\n throw new Error(\"The parameter 'salaireBrut' cannot be null.\");\r\n else\r\n content_.append(\"SalaireBrut\", salaireBrut.toString());\r\n if (cV_Id === null || cV_Id === undefined)\r\n throw new Error(\"The parameter 'cV_Id' cannot be null.\");\r\n else\r\n content_.append(\"CV.Id\", cV_Id.toString());\r\n if (cV_TypeId === null || cV_TypeId === undefined)\r\n throw new Error(\"The parameter 'cV_TypeId' cannot be null.\");\r\n else\r\n content_.append(\"CV.TypeId\", cV_TypeId.toString());\r\n if (cV_PartName === null || cV_PartName === undefined)\r\n throw new Error(\"The parameter 'cV_PartName' cannot be null.\");\r\n else\r\n content_.append(\"CV.PartName\", cV_PartName.toString());\r\n if (cV_ExtraInfos === null || cV_ExtraInfos === undefined)\r\n throw new Error(\"The parameter 'cV_ExtraInfos' cannot be null.\");\r\n else\r\n content_.append(\"CV.ExtraInfos\", JSON.stringify(cV_ExtraInfos));\r\n if (cV_FileName === null || cV_FileName === undefined)\r\n throw new Error(\"The parameter 'cV_FileName' cannot be null.\");\r\n else\r\n content_.append(\"CV.FileName\", cV_FileName.toString());\r\n if (cV_ContentType === null || cV_ContentType === undefined)\r\n throw new Error(\"The parameter 'cV_ContentType' cannot be null.\");\r\n else\r\n content_.append(\"CV.ContentType\", cV_ContentType.toString());\r\n if (cV_Content_CanRead === null || cV_Content_CanRead === undefined)\r\n throw new Error(\"The parameter 'cV_Content_CanRead' cannot be null.\");\r\n else\r\n content_.append(\"CV.Content.CanRead\", cV_Content_CanRead.toString());\r\n if (cV_Content_CanWrite === null || cV_Content_CanWrite === undefined)\r\n throw new Error(\"The parameter 'cV_Content_CanWrite' cannot be null.\");\r\n else\r\n content_.append(\"CV.Content.CanWrite\", cV_Content_CanWrite.toString());\r\n if (cV_Content_CanSeek === null || cV_Content_CanSeek === undefined)\r\n throw new Error(\"The parameter 'cV_Content_CanSeek' cannot be null.\");\r\n else\r\n content_.append(\"CV.Content.CanSeek\", cV_Content_CanSeek.toString());\r\n if (cV_Content_CanTimeout === null || cV_Content_CanTimeout === undefined)\r\n throw new Error(\"The parameter 'cV_Content_CanTimeout' cannot be null.\");\r\n else\r\n content_.append(\"CV.Content.CanTimeout\", cV_Content_CanTimeout.toString());\r\n if (cV_Content_Length === null || cV_Content_Length === undefined)\r\n throw new Error(\"The parameter 'cV_Content_Length' cannot be null.\");\r\n else\r\n content_.append(\"CV.Content.Length\", cV_Content_Length.toString());\r\n if (cV_Content_Position === null || cV_Content_Position === undefined)\r\n throw new Error(\"The parameter 'cV_Content_Position' cannot be null.\");\r\n else\r\n content_.append(\"CV.Content.Position\", cV_Content_Position.toString());\r\n if (cV_Content_ReadTimeout === null || cV_Content_ReadTimeout === undefined)\r\n throw new Error(\"The parameter 'cV_Content_ReadTimeout' cannot be null.\");\r\n else\r\n content_.append(\"CV.Content.ReadTimeout\", cV_Content_ReadTimeout.toString());\r\n if (cV_Content_WriteTimeout === null || cV_Content_WriteTimeout === undefined)\r\n throw new Error(\"The parameter 'cV_Content_WriteTimeout' cannot be null.\");\r\n else\r\n content_.append(\"CV.Content.WriteTimeout\", cV_Content_WriteTimeout.toString());\r\n if (diplome_Id === null || diplome_Id === undefined)\r\n throw new Error(\"The parameter 'diplome_Id' cannot be null.\");\r\n else\r\n content_.append(\"Diplome.Id\", diplome_Id.toString());\r\n if (diplome_TypeId === null || diplome_TypeId === undefined)\r\n throw new Error(\"The parameter 'diplome_TypeId' cannot be null.\");\r\n else\r\n content_.append(\"Diplome.TypeId\", diplome_TypeId.toString());\r\n if (diplome_PartName === null || diplome_PartName === undefined)\r\n throw new Error(\"The parameter 'diplome_PartName' cannot be null.\");\r\n else\r\n content_.append(\"Diplome.PartName\", diplome_PartName.toString());\r\n if (diplome_ExtraInfos === null || diplome_ExtraInfos === undefined)\r\n throw new Error(\"The parameter 'diplome_ExtraInfos' cannot be null.\");\r\n else\r\n content_.append(\"Diplome.ExtraInfos\", JSON.stringify(diplome_ExtraInfos));\r\n if (diplome_FileName === null || diplome_FileName === undefined)\r\n throw new Error(\"The parameter 'diplome_FileName' cannot be null.\");\r\n else\r\n content_.append(\"Diplome.FileName\", diplome_FileName.toString());\r\n if (diplome_ContentType === null || diplome_ContentType === undefined)\r\n throw new Error(\"The parameter 'diplome_ContentType' cannot be null.\");\r\n else\r\n content_.append(\"Diplome.ContentType\", diplome_ContentType.toString());\r\n if (diplome_Content_CanRead === null || diplome_Content_CanRead === undefined)\r\n throw new Error(\"The parameter 'diplome_Content_CanRead' cannot be null.\");\r\n else\r\n content_.append(\"Diplome.Content.CanRead\", diplome_Content_CanRead.toString());\r\n if (diplome_Content_CanWrite === null || diplome_Content_CanWrite === undefined)\r\n throw new Error(\"The parameter 'diplome_Content_CanWrite' cannot be null.\");\r\n else\r\n content_.append(\"Diplome.Content.CanWrite\", diplome_Content_CanWrite.toString());\r\n if (diplome_Content_CanSeek === null || diplome_Content_CanSeek === undefined)\r\n throw new Error(\"The parameter 'diplome_Content_CanSeek' cannot be null.\");\r\n else\r\n content_.append(\"Diplome.Content.CanSeek\", diplome_Content_CanSeek.toString());\r\n if (diplome_Content_CanTimeout === null || diplome_Content_CanTimeout === undefined)\r\n throw new Error(\"The parameter 'diplome_Content_CanTimeout' cannot be null.\");\r\n else\r\n content_.append(\"Diplome.Content.CanTimeout\", diplome_Content_CanTimeout.toString());\r\n if (diplome_Content_Length === null || diplome_Content_Length === undefined)\r\n throw new Error(\"The parameter 'diplome_Content_Length' cannot be null.\");\r\n else\r\n content_.append(\"Diplome.Content.Length\", diplome_Content_Length.toString());\r\n if (diplome_Content_Position === null || diplome_Content_Position === undefined)\r\n throw new Error(\"The parameter 'diplome_Content_Position' cannot be null.\");\r\n else\r\n content_.append(\"Diplome.Content.Position\", diplome_Content_Position.toString());\r\n if (diplome_Content_ReadTimeout === null || diplome_Content_ReadTimeout === undefined)\r\n throw new Error(\"The parameter 'diplome_Content_ReadTimeout' cannot be null.\");\r\n else\r\n content_.append(\"Diplome.Content.ReadTimeout\", diplome_Content_ReadTimeout.toString());\r\n if (diplome_Content_WriteTimeout === null || diplome_Content_WriteTimeout === undefined)\r\n throw new Error(\"The parameter 'diplome_Content_WriteTimeout' cannot be null.\");\r\n else\r\n content_.append(\"Diplome.Content.WriteTimeout\", diplome_Content_WriteTimeout.toString());\r\n if (conventionCollective === null || conventionCollective === undefined)\r\n throw new Error(\"The parameter 'conventionCollective' cannot be null.\");\r\n else\r\n content_.append(\"ConventionCollective\", conventionCollective.toString());\r\n if (equipements === null || equipements === undefined)\r\n throw new Error(\"The parameter 'equipements' cannot be null.\");\r\n else\r\n content_.append(\"Equipements\", equipements.toString());\r\n if (autresEquipements === null || autresEquipements === undefined)\r\n throw new Error(\"The parameter 'autresEquipements' cannot be null.\");\r\n else\r\n content_.append(\"AutresEquipements\", autresEquipements.toString());\r\n if (typesAdresses === null || typesAdresses === undefined)\r\n throw new Error(\"The parameter 'typesAdresses' cannot be null.\");\r\n else\r\n content_.append(\"TypesAdresses\", typesAdresses.toString());\r\n if (autreAdresse_Line1 === null || autreAdresse_Line1 === undefined)\r\n throw new Error(\"The parameter 'autreAdresse_Line1' cannot be null.\");\r\n else\r\n content_.append(\"AutreAdresse.Line1\", autreAdresse_Line1.toString());\r\n if (autreAdresse_Line2 === null || autreAdresse_Line2 === undefined)\r\n throw new Error(\"The parameter 'autreAdresse_Line2' cannot be null.\");\r\n else\r\n content_.append(\"AutreAdresse.Line2\", autreAdresse_Line2.toString());\r\n if (autreAdresse_CodePostal === null || autreAdresse_CodePostal === undefined)\r\n throw new Error(\"The parameter 'autreAdresse_CodePostal' cannot be null.\");\r\n else\r\n content_.append(\"AutreAdresse.CodePostal\", autreAdresse_CodePostal.toString());\r\n if (autreAdresse_Ville === null || autreAdresse_Ville === undefined)\r\n throw new Error(\"The parameter 'autreAdresse_Ville' cannot be null.\");\r\n else\r\n content_.append(\"AutreAdresse.Ville\", autreAdresse_Ville.toString());\r\n if (documents === null || documents === undefined)\r\n throw new Error(\"The parameter 'documents' cannot be null.\");\r\n else\r\n documents.forEach(item_ => content_.append(\"documents\", item_.data, item_.fileName ? item_.fileName : \"documents\"));\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processUpdateSalarie(_response);\r\n });\r\n }\r\n processUpdateSalarie(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n deleteSalarie(salarieId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/salarie/{salarieId}\";\r\n if (salarieId === undefined || salarieId === null)\r\n throw new Error(\"The parameter 'salarieId' must be defined.\");\r\n url_ = url_.replace(\"{salarieId}\", encodeURIComponent(\"\" + salarieId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {},\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processDeleteSalarie(_response);\r\n });\r\n }\r\n processDeleteSalarie(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n deleteDossier(dossierId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {},\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processDeleteDossier(_response);\r\n });\r\n }\r\n processDeleteDossier(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status === 403) {\r\n const _responseText = response.data;\r\n let result403 = null;\r\n let resultData403 = _responseText;\r\n result403 = resultData403;\r\n return throwException(\"Forbidden\", status, _responseText, _headers, result403);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getMasseSalariale(dossierId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/masseSalariale\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetMasseSalariale(_response);\r\n });\r\n }\r\n processGetMasseSalariale(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n soumettreDossier(dossierId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/soumettreDossier\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processSoumettreDossier(_response);\r\n });\r\n }\r\n processSoumettreDossier(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n createTrajet(dossierId, body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/trajet\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processCreateTrajet(_response);\r\n });\r\n }\r\n processCreateTrajet(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 201) {\r\n const _responseText = response.data;\r\n let result201 = null;\r\n let resultData201 = _responseText;\r\n result201 = resultData201;\r\n return Promise.resolve(result201);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n deleteTrajet(trajetId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{trajetId}/trajet\";\r\n if (trajetId === undefined || trajetId === null)\r\n throw new Error(\"The parameter 'trajetId' must be defined.\");\r\n url_ = url_.replace(\"{trajetId}\", encodeURIComponent(\"\" + trajetId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {},\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processDeleteTrajet(_response);\r\n });\r\n }\r\n processDeleteTrajet(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n updateTrajet(trajetId, body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{trajetId}/trajet\";\r\n if (trajetId === undefined || trajetId === null)\r\n throw new Error(\"The parameter 'trajetId' must be defined.\");\r\n url_ = url_.replace(\"{trajetId}\", encodeURIComponent(\"\" + trajetId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processUpdateTrajet(_response);\r\n });\r\n }\r\n processUpdateTrajet(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param filters (optional)\r\n * @param sorts (optional)\r\n * @param page (optional)\r\n * @param pageSize (optional)\r\n * @param disablePagination (optional)\r\n * @param versementId (optional)\r\n * @return Success\r\n */\r\n getTrajets(dossierId, filters, sorts, page, pageSize, disablePagination, versementId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/trajets?\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n if (filters === null)\r\n throw new Error(\"The parameter 'filters' cannot be null.\");\r\n else if (filters !== undefined)\r\n url_ += \"Filters=\" + encodeURIComponent(\"\" + filters) + \"&\";\r\n if (sorts === null)\r\n throw new Error(\"The parameter 'sorts' cannot be null.\");\r\n else if (sorts !== undefined)\r\n url_ += \"Sorts=\" + encodeURIComponent(\"\" + sorts) + \"&\";\r\n if (page === null)\r\n throw new Error(\"The parameter 'page' cannot be null.\");\r\n else if (page !== undefined)\r\n url_ += \"Page=\" + encodeURIComponent(\"\" + page) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n if (disablePagination === null)\r\n throw new Error(\"The parameter 'disablePagination' cannot be null.\");\r\n else if (disablePagination !== undefined)\r\n url_ += \"DisablePagination=\" + encodeURIComponent(\"\" + disablePagination) + \"&\";\r\n if (versementId === null)\r\n throw new Error(\"The parameter 'versementId' cannot be null.\");\r\n else if (versementId !== undefined)\r\n url_ += \"versementId=\" + encodeURIComponent(\"\" + versementId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetTrajets(_response);\r\n });\r\n }\r\n processGetTrajets(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param versementId (optional)\r\n * @param document_Id (optional)\r\n * @param document_TypeId (optional)\r\n * @param document_PartName (optional)\r\n * @param document_ExtraInfos (optional)\r\n * @param document_FileName (optional)\r\n * @param document_ContentType (optional)\r\n * @param document_Content_CanRead (optional)\r\n * @param document_Content_CanWrite (optional)\r\n * @param document_Content_CanSeek (optional)\r\n * @param document_Content_CanTimeout (optional)\r\n * @param document_Content_Length (optional)\r\n * @param document_Content_Position (optional)\r\n * @param document_Content_ReadTimeout (optional)\r\n * @param document_Content_WriteTimeout (optional)\r\n * @param documents (optional)\r\n * @return Success\r\n */\r\n validateTrajets(dossierId, versementId, document_Id, document_TypeId, document_PartName, document_ExtraInfos, document_FileName, document_ContentType, document_Content_CanRead, document_Content_CanWrite, document_Content_CanSeek, document_Content_CanTimeout, document_Content_Length, document_Content_Position, document_Content_ReadTimeout, document_Content_WriteTimeout, documents, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/trajets/validation\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = new FormData();\r\n if (versementId === null || versementId === undefined)\r\n throw new Error(\"The parameter 'versementId' cannot be null.\");\r\n else\r\n content_.append(\"VersementId\", versementId.toString());\r\n if (document_Id === null || document_Id === undefined)\r\n throw new Error(\"The parameter 'document_Id' cannot be null.\");\r\n else\r\n content_.append(\"Document.Id\", document_Id.toString());\r\n if (document_TypeId === null || document_TypeId === undefined)\r\n throw new Error(\"The parameter 'document_TypeId' cannot be null.\");\r\n else\r\n content_.append(\"Document.TypeId\", document_TypeId.toString());\r\n if (document_PartName === null || document_PartName === undefined)\r\n throw new Error(\"The parameter 'document_PartName' cannot be null.\");\r\n else\r\n content_.append(\"Document.PartName\", document_PartName.toString());\r\n if (document_ExtraInfos === null || document_ExtraInfos === undefined)\r\n throw new Error(\"The parameter 'document_ExtraInfos' cannot be null.\");\r\n else\r\n content_.append(\"Document.ExtraInfos\", JSON.stringify(document_ExtraInfos));\r\n if (document_FileName === null || document_FileName === undefined)\r\n throw new Error(\"The parameter 'document_FileName' cannot be null.\");\r\n else\r\n content_.append(\"Document.FileName\", document_FileName.toString());\r\n if (document_ContentType === null || document_ContentType === undefined)\r\n throw new Error(\"The parameter 'document_ContentType' cannot be null.\");\r\n else\r\n content_.append(\"Document.ContentType\", document_ContentType.toString());\r\n if (document_Content_CanRead === null || document_Content_CanRead === undefined)\r\n throw new Error(\"The parameter 'document_Content_CanRead' cannot be null.\");\r\n else\r\n content_.append(\"Document.Content.CanRead\", document_Content_CanRead.toString());\r\n if (document_Content_CanWrite === null || document_Content_CanWrite === undefined)\r\n throw new Error(\"The parameter 'document_Content_CanWrite' cannot be null.\");\r\n else\r\n content_.append(\"Document.Content.CanWrite\", document_Content_CanWrite.toString());\r\n if (document_Content_CanSeek === null || document_Content_CanSeek === undefined)\r\n throw new Error(\"The parameter 'document_Content_CanSeek' cannot be null.\");\r\n else\r\n content_.append(\"Document.Content.CanSeek\", document_Content_CanSeek.toString());\r\n if (document_Content_CanTimeout === null || document_Content_CanTimeout === undefined)\r\n throw new Error(\"The parameter 'document_Content_CanTimeout' cannot be null.\");\r\n else\r\n content_.append(\"Document.Content.CanTimeout\", document_Content_CanTimeout.toString());\r\n if (document_Content_Length === null || document_Content_Length === undefined)\r\n throw new Error(\"The parameter 'document_Content_Length' cannot be null.\");\r\n else\r\n content_.append(\"Document.Content.Length\", document_Content_Length.toString());\r\n if (document_Content_Position === null || document_Content_Position === undefined)\r\n throw new Error(\"The parameter 'document_Content_Position' cannot be null.\");\r\n else\r\n content_.append(\"Document.Content.Position\", document_Content_Position.toString());\r\n if (document_Content_ReadTimeout === null || document_Content_ReadTimeout === undefined)\r\n throw new Error(\"The parameter 'document_Content_ReadTimeout' cannot be null.\");\r\n else\r\n content_.append(\"Document.Content.ReadTimeout\", document_Content_ReadTimeout.toString());\r\n if (document_Content_WriteTimeout === null || document_Content_WriteTimeout === undefined)\r\n throw new Error(\"The parameter 'document_Content_WriteTimeout' cannot be null.\");\r\n else\r\n content_.append(\"Document.Content.WriteTimeout\", document_Content_WriteTimeout.toString());\r\n if (documents === null || documents === undefined)\r\n throw new Error(\"The parameter 'documents' cannot be null.\");\r\n else\r\n documents.forEach(item_ => content_.append(\"documents\", item_.data, item_.fileName ? item_.fileName : \"documents\"));\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processValidateTrajets(_response);\r\n });\r\n }\r\n processValidateTrajets(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getEnseignantsViewModel(dossierId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/enseignants/viewmodel\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetEnseignantsViewModel(_response);\r\n });\r\n }\r\n processGetEnseignantsViewModel(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param page (optional)\r\n * @param pageSize (optional)\r\n * @return Success\r\n */\r\n getEnseignants(dossierId, page, pageSize, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/enseignants?\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n if (page === null)\r\n throw new Error(\"The parameter 'page' cannot be null.\");\r\n else if (page !== undefined)\r\n url_ += \"page=\" + encodeURIComponent(\"\" + page) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"pageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetEnseignants(_response);\r\n });\r\n }\r\n processGetEnseignants(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param filters (optional)\r\n * @param sorts (optional)\r\n * @param page (optional)\r\n * @param pageSize (optional)\r\n * @param disablePagination (optional)\r\n * @return Success\r\n */\r\n getArtistes(dossierId, filters, sorts, page, pageSize, disablePagination, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/artistes?\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n if (filters === null)\r\n throw new Error(\"The parameter 'filters' cannot be null.\");\r\n else if (filters !== undefined)\r\n url_ += \"Filters=\" + encodeURIComponent(\"\" + filters) + \"&\";\r\n if (sorts === null)\r\n throw new Error(\"The parameter 'sorts' cannot be null.\");\r\n else if (sorts !== undefined)\r\n url_ += \"Sorts=\" + encodeURIComponent(\"\" + sorts) + \"&\";\r\n if (page === null)\r\n throw new Error(\"The parameter 'page' cannot be null.\");\r\n else if (page !== undefined)\r\n url_ += \"Page=\" + encodeURIComponent(\"\" + page) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n if (disablePagination === null)\r\n throw new Error(\"The parameter 'disablePagination' cannot be null.\");\r\n else if (disablePagination !== undefined)\r\n url_ += \"DisablePagination=\" + encodeURIComponent(\"\" + disablePagination) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetArtistes(_response);\r\n });\r\n }\r\n processGetArtistes(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 403) {\r\n const _responseText = response.data;\r\n let result403 = null;\r\n let resultData403 = _responseText;\r\n result403 = resultData403;\r\n return throwException(\"Forbidden\", status, _responseText, _headers, result403);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getArtistesViewModel(dossierId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/artistes/viewmodel\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetArtistesViewModel(_response);\r\n });\r\n }\r\n processGetArtistesViewModel(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getInfosProjetViewModel(dossierId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/etapes/informationsProjet\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetInfosProjetViewModel(_response);\r\n });\r\n }\r\n processGetInfosProjetViewModel(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getDescriptionProjetViewModel(dossierId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Dossier/{dossierId}/description-projet/viewmodel\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetDescriptionProjetViewModel(_response);\r\n });\r\n }\r\n processGetDescriptionProjetViewModel(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\nexport class MessageAlerteClient {\r\n constructor(baseUrl, instance) {\r\n this.jsonParseReviver = undefined;\r\n this.instance = instance ? instance : axios.create();\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getMessageAlerte(cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/MessageAlerte/message\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetMessageAlerte(_response);\r\n });\r\n }\r\n processGetMessageAlerte(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getAllMessageAlerte(cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/MessageAlerte/messages\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetAllMessageAlerte(_response);\r\n });\r\n }\r\n processGetAllMessageAlerte(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\nexport class MessagerieClient {\r\n constructor(baseUrl, instance) {\r\n this.jsonParseReviver = undefined;\r\n this.instance = instance ? instance : axios.create();\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getMessagerie(cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Messagerie\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetMessagerie(_response);\r\n });\r\n }\r\n processGetMessagerie(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n createMessageDiscussion(discussionId, body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Messagerie/{discussionId}/message\";\r\n if (discussionId === undefined || discussionId === null)\r\n throw new Error(\"The parameter 'discussionId' must be defined.\");\r\n url_ = url_.replace(\"{discussionId}\", encodeURIComponent(\"\" + discussionId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processCreateMessageDiscussion(_response);\r\n });\r\n }\r\n processCreateMessageDiscussion(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 201) {\r\n const _responseText = response.data;\r\n let result201 = null;\r\n let resultData201 = _responseText;\r\n result201 = resultData201;\r\n return Promise.resolve(result201);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n setDiscussionLu(discussionId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Messagerie/{discussionId}/lu\";\r\n if (discussionId === undefined || discussionId === null)\r\n throw new Error(\"The parameter 'discussionId' must be defined.\");\r\n url_ = url_.replace(\"{discussionId}\", encodeURIComponent(\"\" + discussionId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {},\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processSetDiscussionLu(_response);\r\n });\r\n }\r\n processSetDiscussionLu(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\nexport class NotificationClient {\r\n constructor(baseUrl, instance) {\r\n this.jsonParseReviver = undefined;\r\n this.instance = instance ? instance : axios.create();\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getNotifications(cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Notification\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetNotifications(_response);\r\n });\r\n }\r\n processGetNotifications(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\nexport class PageVitrineClient {\r\n constructor(baseUrl, instance) {\r\n this.jsonParseReviver = undefined;\r\n this.instance = instance ? instance : axios.create();\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getPagesVitrine(cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/PageVitrine\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetPagesVitrine(_response);\r\n });\r\n }\r\n processGetPagesVitrine(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\nexport class PaysClient {\r\n constructor(baseUrl, instance) {\r\n this.jsonParseReviver = undefined;\r\n this.instance = instance ? instance : axios.create();\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getPays(cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Pays\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetPays(_response);\r\n });\r\n }\r\n processGetPays(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\nexport class StructureClient {\r\n constructor(baseUrl, instance) {\r\n this.jsonParseReviver = undefined;\r\n this.instance = instance ? instance : axios.create();\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n /**\r\n * @param json (optional)\r\n * @param document1 (optional)\r\n * @param document2 (optional)\r\n * @param documentN (optional)\r\n * @return Success\r\n */\r\n createStructure(json, document1, document2, documentN, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Structure\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = new FormData();\r\n if (json === null || json === undefined)\r\n throw new Error(\"The parameter 'json' cannot be null.\");\r\n else\r\n content_.append(\"json\", JSON.stringify(json));\r\n if (document1 === null || document1 === undefined)\r\n throw new Error(\"The parameter 'document1' cannot be null.\");\r\n else\r\n content_.append(\"document1\", document1.data, document1.fileName ? document1.fileName : \"document1\");\r\n if (document2 === null || document2 === undefined)\r\n throw new Error(\"The parameter 'document2' cannot be null.\");\r\n else\r\n content_.append(\"document2\", document2.data, document2.fileName ? document2.fileName : \"document2\");\r\n if (documentN === null || documentN === undefined)\r\n throw new Error(\"The parameter 'documentN' cannot be null.\");\r\n else\r\n content_.append(\"documentN\", documentN.data, documentN.fileName ? documentN.fileName : \"documentN\");\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processCreateStructure(_response);\r\n });\r\n }\r\n processCreateStructure(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 201) {\r\n const _responseText = response.data;\r\n let result201 = null;\r\n let resultData201 = _responseText;\r\n result201 = resultData201;\r\n return Promise.resolve(result201);\r\n }\r\n else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400 = null;\r\n let resultData400 = _responseText;\r\n result400 = resultData400;\r\n return throwException(\"Bad Request\", status, _responseText, _headers, result400);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param structureId (optional)\r\n * @return Success\r\n */\r\n getStructureInfoFromSiret(siret, structureId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Structure/siret/{siret}?\";\r\n if (siret === undefined || siret === null)\r\n throw new Error(\"The parameter 'siret' must be defined.\");\r\n url_ = url_.replace(\"{siret}\", encodeURIComponent(\"\" + siret));\r\n if (structureId === null)\r\n throw new Error(\"The parameter 'structureId' cannot be null.\");\r\n else if (structureId !== undefined)\r\n url_ += \"structureId=\" + encodeURIComponent(\"\" + structureId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetStructureInfoFromSiret(_response);\r\n });\r\n }\r\n processGetStructureInfoFromSiret(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getFormesJuridiques(cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Structure/formeJuridique\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetFormesJuridiques(_response);\r\n });\r\n }\r\n processGetFormesJuridiques(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param codeAPE (optional)\r\n * @param nomenclatureAPE (optional)\r\n * @return Success\r\n */\r\n getRequiredTypesDeDocument(formeJuridiqueId, codeAPE, nomenclatureAPE, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Structure/formeJuridique/{formeJuridiqueId}/requiredTypeDeDocument?\";\r\n if (formeJuridiqueId === undefined || formeJuridiqueId === null)\r\n throw new Error(\"The parameter 'formeJuridiqueId' must be defined.\");\r\n url_ = url_.replace(\"{formeJuridiqueId}\", encodeURIComponent(\"\" + formeJuridiqueId));\r\n if (codeAPE === null)\r\n throw new Error(\"The parameter 'codeAPE' cannot be null.\");\r\n else if (codeAPE !== undefined)\r\n url_ += \"codeAPE=\" + encodeURIComponent(\"\" + codeAPE) + \"&\";\r\n if (nomenclatureAPE === null)\r\n throw new Error(\"The parameter 'nomenclatureAPE' cannot be null.\");\r\n else if (nomenclatureAPE !== undefined)\r\n url_ += \"nomenclatureAPE=\" + encodeURIComponent(\"\" + nomenclatureAPE) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetRequiredTypesDeDocument(_response);\r\n });\r\n }\r\n processGetRequiredTypesDeDocument(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getStructureTypesDeDocument(cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Structure/requiredTypeDeDocument\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetStructureTypesDeDocument(_response);\r\n });\r\n }\r\n processGetStructureTypesDeDocument(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param email (optional)\r\n * @return Success\r\n */\r\n resendValidationEmail(structureId, email, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Structure/{structureId}/resendValidationEmail?\";\r\n if (structureId === undefined || structureId === null)\r\n throw new Error(\"The parameter 'structureId' must be defined.\");\r\n url_ = url_.replace(\"{structureId}\", encodeURIComponent(\"\" + structureId));\r\n if (email === null)\r\n throw new Error(\"The parameter 'email' cannot be null.\");\r\n else if (email !== undefined)\r\n url_ += \"email=\" + encodeURIComponent(\"\" + email) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {},\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processResendValidationEmail(_response);\r\n });\r\n }\r\n processResendValidationEmail(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getDocuments(cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Structure/documents\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetDocuments(_response);\r\n });\r\n }\r\n processGetDocuments(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getStructureValidationContacts(cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Structure/validation/contacts\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetStructureValidationContacts(_response);\r\n });\r\n }\r\n processGetStructureValidationContacts(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n updateStructureValidationContacts(body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Structure/validation/contacts\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processUpdateStructureValidationContacts(_response);\r\n });\r\n }\r\n processUpdateStructureValidationContacts(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param iban (optional)\r\n * @param bic (optional)\r\n * @param banque (optional)\r\n * @param adresse_Line1 (optional)\r\n * @param adresse_Line2 (optional)\r\n * @param adresse_CodePostal (optional)\r\n * @param adresse_Ville (optional)\r\n * @param rIB_Id (optional)\r\n * @param rIB_TypeId (optional)\r\n * @param rIB_PartName (optional)\r\n * @param rIB_ExtraInfos (optional)\r\n * @param rIB_FileName (optional)\r\n * @param rIB_ContentType (optional)\r\n * @param rIB_Content_CanRead (optional)\r\n * @param rIB_Content_CanWrite (optional)\r\n * @param rIB_Content_CanSeek (optional)\r\n * @param rIB_Content_CanTimeout (optional)\r\n * @param rIB_Content_Length (optional)\r\n * @param rIB_Content_Position (optional)\r\n * @param rIB_Content_ReadTimeout (optional)\r\n * @param rIB_Content_WriteTimeout (optional)\r\n * @param files (optional)\r\n * @return Success\r\n */\r\n createOrUpdateDonneesBancaires(iban, bic, banque, adresse_Line1, adresse_Line2, adresse_CodePostal, adresse_Ville, rIB_Id, rIB_TypeId, rIB_PartName, rIB_ExtraInfos, rIB_FileName, rIB_ContentType, rIB_Content_CanRead, rIB_Content_CanWrite, rIB_Content_CanSeek, rIB_Content_CanTimeout, rIB_Content_Length, rIB_Content_Position, rIB_Content_ReadTimeout, rIB_Content_WriteTimeout, files, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Structure/donneesBancaires\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = new FormData();\r\n if (iban === null || iban === undefined)\r\n throw new Error(\"The parameter 'iban' cannot be null.\");\r\n else\r\n content_.append(\"Iban\", iban.toString());\r\n if (bic === null || bic === undefined)\r\n throw new Error(\"The parameter 'bic' cannot be null.\");\r\n else\r\n content_.append(\"Bic\", bic.toString());\r\n if (banque === null || banque === undefined)\r\n throw new Error(\"The parameter 'banque' cannot be null.\");\r\n else\r\n content_.append(\"Banque\", banque.toString());\r\n if (adresse_Line1 === null || adresse_Line1 === undefined)\r\n throw new Error(\"The parameter 'adresse_Line1' cannot be null.\");\r\n else\r\n content_.append(\"Adresse.Line1\", adresse_Line1.toString());\r\n if (adresse_Line2 === null || adresse_Line2 === undefined)\r\n throw new Error(\"The parameter 'adresse_Line2' cannot be null.\");\r\n else\r\n content_.append(\"Adresse.Line2\", adresse_Line2.toString());\r\n if (adresse_CodePostal === null || adresse_CodePostal === undefined)\r\n throw new Error(\"The parameter 'adresse_CodePostal' cannot be null.\");\r\n else\r\n content_.append(\"Adresse.CodePostal\", adresse_CodePostal.toString());\r\n if (adresse_Ville === null || adresse_Ville === undefined)\r\n throw new Error(\"The parameter 'adresse_Ville' cannot be null.\");\r\n else\r\n content_.append(\"Adresse.Ville\", adresse_Ville.toString());\r\n if (rIB_Id === null || rIB_Id === undefined)\r\n throw new Error(\"The parameter 'rIB_Id' cannot be null.\");\r\n else\r\n content_.append(\"RIB.Id\", rIB_Id.toString());\r\n if (rIB_TypeId === null || rIB_TypeId === undefined)\r\n throw new Error(\"The parameter 'rIB_TypeId' cannot be null.\");\r\n else\r\n content_.append(\"RIB.TypeId\", rIB_TypeId.toString());\r\n if (rIB_PartName === null || rIB_PartName === undefined)\r\n throw new Error(\"The parameter 'rIB_PartName' cannot be null.\");\r\n else\r\n content_.append(\"RIB.PartName\", rIB_PartName.toString());\r\n if (rIB_ExtraInfos === null || rIB_ExtraInfos === undefined)\r\n throw new Error(\"The parameter 'rIB_ExtraInfos' cannot be null.\");\r\n else\r\n content_.append(\"RIB.ExtraInfos\", JSON.stringify(rIB_ExtraInfos));\r\n if (rIB_FileName === null || rIB_FileName === undefined)\r\n throw new Error(\"The parameter 'rIB_FileName' cannot be null.\");\r\n else\r\n content_.append(\"RIB.FileName\", rIB_FileName.toString());\r\n if (rIB_ContentType === null || rIB_ContentType === undefined)\r\n throw new Error(\"The parameter 'rIB_ContentType' cannot be null.\");\r\n else\r\n content_.append(\"RIB.ContentType\", rIB_ContentType.toString());\r\n if (rIB_Content_CanRead === null || rIB_Content_CanRead === undefined)\r\n throw new Error(\"The parameter 'rIB_Content_CanRead' cannot be null.\");\r\n else\r\n content_.append(\"RIB.Content.CanRead\", rIB_Content_CanRead.toString());\r\n if (rIB_Content_CanWrite === null || rIB_Content_CanWrite === undefined)\r\n throw new Error(\"The parameter 'rIB_Content_CanWrite' cannot be null.\");\r\n else\r\n content_.append(\"RIB.Content.CanWrite\", rIB_Content_CanWrite.toString());\r\n if (rIB_Content_CanSeek === null || rIB_Content_CanSeek === undefined)\r\n throw new Error(\"The parameter 'rIB_Content_CanSeek' cannot be null.\");\r\n else\r\n content_.append(\"RIB.Content.CanSeek\", rIB_Content_CanSeek.toString());\r\n if (rIB_Content_CanTimeout === null || rIB_Content_CanTimeout === undefined)\r\n throw new Error(\"The parameter 'rIB_Content_CanTimeout' cannot be null.\");\r\n else\r\n content_.append(\"RIB.Content.CanTimeout\", rIB_Content_CanTimeout.toString());\r\n if (rIB_Content_Length === null || rIB_Content_Length === undefined)\r\n throw new Error(\"The parameter 'rIB_Content_Length' cannot be null.\");\r\n else\r\n content_.append(\"RIB.Content.Length\", rIB_Content_Length.toString());\r\n if (rIB_Content_Position === null || rIB_Content_Position === undefined)\r\n throw new Error(\"The parameter 'rIB_Content_Position' cannot be null.\");\r\n else\r\n content_.append(\"RIB.Content.Position\", rIB_Content_Position.toString());\r\n if (rIB_Content_ReadTimeout === null || rIB_Content_ReadTimeout === undefined)\r\n throw new Error(\"The parameter 'rIB_Content_ReadTimeout' cannot be null.\");\r\n else\r\n content_.append(\"RIB.Content.ReadTimeout\", rIB_Content_ReadTimeout.toString());\r\n if (rIB_Content_WriteTimeout === null || rIB_Content_WriteTimeout === undefined)\r\n throw new Error(\"The parameter 'rIB_Content_WriteTimeout' cannot be null.\");\r\n else\r\n content_.append(\"RIB.Content.WriteTimeout\", rIB_Content_WriteTimeout.toString());\r\n if (files === null || files === undefined)\r\n throw new Error(\"The parameter 'files' cannot be null.\");\r\n else\r\n files.forEach(item_ => content_.append(\"files\", item_.data, item_.fileName ? item_.fileName : \"files\"));\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {},\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processCreateOrUpdateDonneesBancaires(_response);\r\n });\r\n }\r\n processCreateOrUpdateDonneesBancaires(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n updateStructureJuridique(body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Structure/structureJuridique\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processUpdateStructureJuridique(_response);\r\n });\r\n }\r\n processUpdateStructureJuridique(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n updateStructureContact(body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Structure/contact\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processUpdateStructureContact(_response);\r\n });\r\n }\r\n processUpdateStructureContact(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n updateStructureAdresse(body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Structure/adresse\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processUpdateStructureAdresse(_response);\r\n });\r\n }\r\n processUpdateStructureAdresse(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getStructureCategoriesDossier(cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Structure/categoriesDossier\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetStructureCategoriesDossier(_response);\r\n });\r\n }\r\n processGetStructureCategoriesDossier(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getStructureCorrespondantAdministratif(cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Structure/correspondantAdministratif\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetStructureCorrespondantAdministratif(_response);\r\n });\r\n }\r\n processGetStructureCorrespondantAdministratif(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getStructureDetails(cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Structure/details\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetStructureDetails(_response);\r\n });\r\n }\r\n processGetStructureDetails(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param documents (optional)\r\n * @param files (optional)\r\n * @return Success\r\n */\r\n updateStructureDocuments(documents, files, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Structure/structureDocuments\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = new FormData();\r\n if (documents === null || documents === undefined)\r\n throw new Error(\"The parameter 'documents' cannot be null.\");\r\n else\r\n documents.forEach(item_ => content_.append(\"Documents\", item_.toString()));\r\n if (files === null || files === undefined)\r\n throw new Error(\"The parameter 'files' cannot be null.\");\r\n else\r\n files.forEach(item_ => content_.append(\"files\", item_.data, item_.fileName ? item_.fileName : \"files\"));\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {},\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processUpdateStructureDocuments(_response);\r\n });\r\n }\r\n processUpdateStructureDocuments(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n updateStructureInformations(body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Structure/informations\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processUpdateStructureInformations(_response);\r\n });\r\n }\r\n processUpdateStructureInformations(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\nexport class TestClient {\r\n constructor(baseUrl, instance) {\r\n this.jsonParseReviver = undefined;\r\n this.instance = instance ? instance : axios.create();\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n /**\r\n * @return Success\r\n */\r\n deleteBudget(dossierId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Test/{dossierId}/budget\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {},\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processDeleteBudget(_response);\r\n });\r\n }\r\n processDeleteBudget(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\nexport class UserClient {\r\n constructor(baseUrl, instance) {\r\n this.jsonParseReviver = undefined;\r\n this.instance = instance ? instance : axios.create();\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n changeUserEmail(body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/User/email/change\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processChangeUserEmail(_response);\r\n });\r\n }\r\n processChangeUserEmail(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getMe(cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/User/me\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetMe(_response);\r\n });\r\n }\r\n processGetMe(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\nexport class ValidationClient {\r\n constructor(baseUrl, instance) {\r\n this.jsonParseReviver = undefined;\r\n this.instance = instance ? instance : axios.create();\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getValidationDescriptors(cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Validation\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetValidationDescriptors(_response);\r\n });\r\n }\r\n processGetValidationDescriptors(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\nexport class VersementClient {\r\n constructor(baseUrl, instance) {\r\n this.jsonParseReviver = undefined;\r\n this.instance = instance ? instance : axios.create();\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n createVersement(dossierId, body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/dossier/{dossierId}/versement\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processCreateVersement(_response);\r\n });\r\n }\r\n processCreateVersement(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 201) {\r\n const _responseText = response.data;\r\n let result201 = null;\r\n let resultData201 = _responseText;\r\n result201 = resultData201;\r\n return Promise.resolve(result201);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param filters (optional)\r\n * @param sorts (optional)\r\n * @param page (optional)\r\n * @param pageSize (optional)\r\n * @param disablePagination (optional)\r\n * @return Success\r\n */\r\n getVersements(dossierId, filters, sorts, page, pageSize, disablePagination, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/dossier/{dossierId}/versements?\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n if (filters === null)\r\n throw new Error(\"The parameter 'filters' cannot be null.\");\r\n else if (filters !== undefined)\r\n url_ += \"Filters=\" + encodeURIComponent(\"\" + filters) + \"&\";\r\n if (sorts === null)\r\n throw new Error(\"The parameter 'sorts' cannot be null.\");\r\n else if (sorts !== undefined)\r\n url_ += \"Sorts=\" + encodeURIComponent(\"\" + sorts) + \"&\";\r\n if (page === null)\r\n throw new Error(\"The parameter 'page' cannot be null.\");\r\n else if (page !== undefined)\r\n url_ += \"Page=\" + encodeURIComponent(\"\" + page) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n if (disablePagination === null)\r\n throw new Error(\"The parameter 'disablePagination' cannot be null.\");\r\n else if (disablePagination !== undefined)\r\n url_ += \"DisablePagination=\" + encodeURIComponent(\"\" + disablePagination) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetVersements(_response);\r\n });\r\n }\r\n processGetVersements(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getEtapesDemandeVersement(categorieId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/categorie/{categorieId}/etapes\";\r\n if (categorieId === undefined || categorieId === null)\r\n throw new Error(\"The parameter 'categorieId' must be defined.\");\r\n url_ = url_.replace(\"{categorieId}\", encodeURIComponent(\"\" + categorieId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetEtapesDemandeVersement(_response);\r\n });\r\n }\r\n processGetEtapesDemandeVersement(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n deleteVersement(versementId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/{versementId}/delete\";\r\n if (versementId === undefined || versementId === null)\r\n throw new Error(\"The parameter 'versementId' must be defined.\");\r\n url_ = url_.replace(\"{versementId}\", encodeURIComponent(\"\" + versementId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {},\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processDeleteVersement(_response);\r\n });\r\n }\r\n processDeleteVersement(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getDemandeVersementDetails(versementId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/{versementId}/details\";\r\n if (versementId === undefined || versementId === null)\r\n throw new Error(\"The parameter 'versementId' must be defined.\");\r\n url_ = url_.replace(\"{versementId}\", encodeURIComponent(\"\" + versementId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetDemandeVersementDetails(_response);\r\n });\r\n }\r\n processGetDemandeVersementDetails(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getDemandeVersementInfos(dossierId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/dossier/{dossierId}/versement/infos\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetDemandeVersementInfos(_response);\r\n });\r\n }\r\n processGetDemandeVersementInfos(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param hasSendDocPromoImage (optional)\r\n * @return Success\r\n */\r\n updateHasSendDocPromoImage(dossierId, hasSendDocPromoImage, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/dossier/{dossierId}/versement/infos/promoimage?\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n if (hasSendDocPromoImage === null)\r\n throw new Error(\"The parameter 'hasSendDocPromoImage' cannot be null.\");\r\n else if (hasSendDocPromoImage !== undefined)\r\n url_ += \"hasSendDocPromoImage=\" + encodeURIComponent(\"\" + hasSendDocPromoImage) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processUpdateHasSendDocPromoImage(_response);\r\n });\r\n }\r\n processUpdateHasSendDocPromoImage(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getDemandeVersementLieuxDates(dossierId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/dossier/{dossierId}/versement/lieuxdates\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetDemandeVersementLieuxDates(_response);\r\n });\r\n }\r\n processGetDemandeVersementLieuxDates(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n createPrestationOnDemandeVersement(dossierId, body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/dossier/{dossierId}/versement/lieuxdates/create\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processCreatePrestationOnDemandeVersement(_response);\r\n });\r\n }\r\n processCreatePrestationOnDemandeVersement(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 201) {\r\n const _responseText = response.data;\r\n let result201 = null;\r\n let resultData201 = _responseText;\r\n result201 = resultData201;\r\n return Promise.resolve(result201);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n updatePrestationOnDemandeVersement(dossierId, lieuId, body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/dossier/{dossierId}/versement/lieuxdates/{lieuId}/update\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n if (lieuId === undefined || lieuId === null)\r\n throw new Error(\"The parameter 'lieuId' must be defined.\");\r\n url_ = url_.replace(\"{lieuId}\", encodeURIComponent(\"\" + lieuId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processUpdatePrestationOnDemandeVersement(_response);\r\n });\r\n }\r\n processUpdatePrestationOnDemandeVersement(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n deletePrestationOnDemandeVersement(dossierId, lieuId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/dossier/{dossierId}/versement/lieuxdates/{lieuId}/delete\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n if (lieuId === undefined || lieuId === null)\r\n throw new Error(\"The parameter 'lieuId' must be defined.\");\r\n url_ = url_.replace(\"{lieuId}\", encodeURIComponent(\"\" + lieuId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processDeletePrestationOnDemandeVersement(_response);\r\n });\r\n }\r\n processDeletePrestationOnDemandeVersement(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getContratsCachetsOnDemandeVersement(versementId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/{versementId}/contratscachets\";\r\n if (versementId === undefined || versementId === null)\r\n throw new Error(\"The parameter 'versementId' must be defined.\");\r\n url_ = url_.replace(\"{versementId}\", encodeURIComponent(\"\" + versementId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetContratsCachetsOnDemandeVersement(_response);\r\n });\r\n }\r\n processGetContratsCachetsOnDemandeVersement(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param depensesSpecifiques (optional)\r\n * @param autresDepenses (optional)\r\n * @param documents (optional)\r\n * @return Success\r\n */\r\n createOrUpdateDepenses(dossierId, depensesSpecifiques, autresDepenses, documents, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/dossier/{dossierId}/versement/contratscachets/depenses\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = new FormData();\r\n if (depensesSpecifiques === null || depensesSpecifiques === undefined)\r\n throw new Error(\"The parameter 'depensesSpecifiques' cannot be null.\");\r\n else\r\n depensesSpecifiques.forEach(item_ => content_.append(\"DepensesSpecifiques\", item_.toString()));\r\n if (autresDepenses === null || autresDepenses === undefined)\r\n throw new Error(\"The parameter 'autresDepenses' cannot be null.\");\r\n else\r\n autresDepenses.forEach(item_ => content_.append(\"AutresDepenses\", item_.toString()));\r\n if (documents === null || documents === undefined)\r\n throw new Error(\"The parameter 'documents' cannot be null.\");\r\n else\r\n documents.forEach(item_ => content_.append(\"documents\", item_.data, item_.fileName ? item_.fileName : \"documents\"));\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processCreateOrUpdateDepenses(_response);\r\n });\r\n }\r\n processCreateOrUpdateDepenses(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 201) {\r\n const _responseText = response.data;\r\n let result201 = null;\r\n let resultData201 = _responseText;\r\n result201 = resultData201;\r\n return Promise.resolve(result201);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n updateVersementCommentaire(versementId, body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/{versementId}/commentaire\";\r\n if (versementId === undefined || versementId === null)\r\n throw new Error(\"The parameter 'versementId' must be defined.\");\r\n url_ = url_.replace(\"{versementId}\", encodeURIComponent(\"\" + versementId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processUpdateVersementCommentaire(_response);\r\n });\r\n }\r\n processUpdateVersementCommentaire(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param filters (optional)\r\n * @param sorts (optional)\r\n * @param page (optional)\r\n * @param pageSize (optional)\r\n * @param disablePagination (optional)\r\n * @return Success\r\n */\r\n getVersementArtistes(versementId, filters, sorts, page, pageSize, disablePagination, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/{versementId}/artistes?\";\r\n if (versementId === undefined || versementId === null)\r\n throw new Error(\"The parameter 'versementId' must be defined.\");\r\n url_ = url_.replace(\"{versementId}\", encodeURIComponent(\"\" + versementId));\r\n if (filters === null)\r\n throw new Error(\"The parameter 'filters' cannot be null.\");\r\n else if (filters !== undefined)\r\n url_ += \"Filters=\" + encodeURIComponent(\"\" + filters) + \"&\";\r\n if (sorts === null)\r\n throw new Error(\"The parameter 'sorts' cannot be null.\");\r\n else if (sorts !== undefined)\r\n url_ += \"Sorts=\" + encodeURIComponent(\"\" + sorts) + \"&\";\r\n if (page === null)\r\n throw new Error(\"The parameter 'page' cannot be null.\");\r\n else if (page !== undefined)\r\n url_ += \"Page=\" + encodeURIComponent(\"\" + page) + \"&\";\r\n if (pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' cannot be null.\");\r\n else if (pageSize !== undefined)\r\n url_ += \"PageSize=\" + encodeURIComponent(\"\" + pageSize) + \"&\";\r\n if (disablePagination === null)\r\n throw new Error(\"The parameter 'disablePagination' cannot be null.\");\r\n else if (disablePagination !== undefined)\r\n url_ += \"DisablePagination=\" + encodeURIComponent(\"\" + disablePagination) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetVersementArtistes(_response);\r\n });\r\n }\r\n processGetVersementArtistes(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 403) {\r\n const _responseText = response.data;\r\n let result403 = null;\r\n let resultData403 = _responseText;\r\n result403 = resultData403;\r\n return throwException(\"Forbidden\", status, _responseText, _headers, result403);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n createVersementArtiste(versementId, body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/artiste/{versementId}\";\r\n if (versementId === undefined || versementId === null)\r\n throw new Error(\"The parameter 'versementId' must be defined.\");\r\n url_ = url_.replace(\"{versementId}\", encodeURIComponent(\"\" + versementId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processCreateVersementArtiste(_response);\r\n });\r\n }\r\n processCreateVersementArtiste(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 201) {\r\n const _responseText = response.data;\r\n let result201 = null;\r\n let resultData201 = _responseText;\r\n result201 = resultData201;\r\n return Promise.resolve(result201);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param body (optional)\r\n * @return Success\r\n */\r\n updateVersementArtiste(versementArtisteId, body, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/artiste/{versementArtisteId}\";\r\n if (versementArtisteId === undefined || versementArtisteId === null)\r\n throw new Error(\"The parameter 'versementArtisteId' must be defined.\");\r\n url_ = url_.replace(\"{versementArtisteId}\", encodeURIComponent(\"\" + versementArtisteId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = JSON.stringify(body);\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processUpdateVersementArtiste(_response);\r\n });\r\n }\r\n processUpdateVersementArtiste(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getVersementArtiste(versementArtisteId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/artiste/{versementArtisteId}\";\r\n if (versementArtisteId === undefined || versementArtisteId === null)\r\n throw new Error(\"The parameter 'versementArtisteId' must be defined.\");\r\n url_ = url_.replace(\"{versementArtisteId}\", encodeURIComponent(\"\" + versementArtisteId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetVersementArtiste(_response);\r\n });\r\n }\r\n processGetVersementArtiste(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n deleteVersementArtiste(versementArtisteId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/artiste/{versementArtisteId}\";\r\n if (versementArtisteId === undefined || versementArtisteId === null)\r\n throw new Error(\"The parameter 'versementArtisteId' must be defined.\");\r\n url_ = url_.replace(\"{versementArtisteId}\", encodeURIComponent(\"\" + versementArtisteId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processDeleteVersementArtiste(_response);\r\n });\r\n }\r\n processDeleteVersementArtiste(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param nom (optional)\r\n * @param prenom (optional)\r\n * @param ville (optional)\r\n * @param disciplines (optional)\r\n * @param otherDiscipline (optional)\r\n * @param instrumentId (optional)\r\n * @param qualification (optional)\r\n * @param typeContrat (optional)\r\n * @param statut (optional)\r\n * @param remunerationBruteAnnuelle (optional)\r\n * @param montantChargesPatronales (optional)\r\n * @param tarifHoraireBrut (optional)\r\n * @param remunerationPremierTrimestre (optional)\r\n * @param contratEngagement_Id (optional)\r\n * @param contratEngagement_TypeId (optional)\r\n * @param contratEngagement_PartName (optional)\r\n * @param contratEngagement_ExtraInfos (optional)\r\n * @param contratEngagement_FileName (optional)\r\n * @param contratEngagement_ContentType (optional)\r\n * @param contratEngagement_Content_CanRead (optional)\r\n * @param contratEngagement_Content_CanWrite (optional)\r\n * @param contratEngagement_Content_CanSeek (optional)\r\n * @param contratEngagement_Content_CanTimeout (optional)\r\n * @param contratEngagement_Content_Length (optional)\r\n * @param contratEngagement_Content_Position (optional)\r\n * @param contratEngagement_Content_ReadTimeout (optional)\r\n * @param contratEngagement_Content_WriteTimeout (optional)\r\n * @param justificatifRemuneration_Id (optional)\r\n * @param justificatifRemuneration_TypeId (optional)\r\n * @param justificatifRemuneration_PartName (optional)\r\n * @param justificatifRemuneration_ExtraInfos (optional)\r\n * @param justificatifRemuneration_FileName (optional)\r\n * @param justificatifRemuneration_ContentType (optional)\r\n * @param justificatifRemuneration_Content_CanRead (optional)\r\n * @param justificatifRemuneration_Content_CanWrite (optional)\r\n * @param justificatifRemuneration_Content_CanSeek (optional)\r\n * @param justificatifRemuneration_Content_CanTimeout (optional)\r\n * @param justificatifRemuneration_Content_Length (optional)\r\n * @param justificatifRemuneration_Content_Position (optional)\r\n * @param justificatifRemuneration_Content_ReadTimeout (optional)\r\n * @param justificatifRemuneration_Content_WriteTimeout (optional)\r\n * @param documents (optional)\r\n * @return Success\r\n */\r\n createEnseignantOnDemandeVersement(dossierId, nom, prenom, ville, disciplines, otherDiscipline, instrumentId, qualification, typeContrat, statut, remunerationBruteAnnuelle, montantChargesPatronales, tarifHoraireBrut, remunerationPremierTrimestre, contratEngagement_Id, contratEngagement_TypeId, contratEngagement_PartName, contratEngagement_ExtraInfos, contratEngagement_FileName, contratEngagement_ContentType, contratEngagement_Content_CanRead, contratEngagement_Content_CanWrite, contratEngagement_Content_CanSeek, contratEngagement_Content_CanTimeout, contratEngagement_Content_Length, contratEngagement_Content_Position, contratEngagement_Content_ReadTimeout, contratEngagement_Content_WriteTimeout, justificatifRemuneration_Id, justificatifRemuneration_TypeId, justificatifRemuneration_PartName, justificatifRemuneration_ExtraInfos, justificatifRemuneration_FileName, justificatifRemuneration_ContentType, justificatifRemuneration_Content_CanRead, justificatifRemuneration_Content_CanWrite, justificatifRemuneration_Content_CanSeek, justificatifRemuneration_Content_CanTimeout, justificatifRemuneration_Content_Length, justificatifRemuneration_Content_Position, justificatifRemuneration_Content_ReadTimeout, justificatifRemuneration_Content_WriteTimeout, documents, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/dossier/{dossierId}/versement/contratscachets/enseignant/create\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = new FormData();\r\n if (nom === null || nom === undefined)\r\n throw new Error(\"The parameter 'nom' cannot be null.\");\r\n else\r\n content_.append(\"Nom\", nom.toString());\r\n if (prenom === null || prenom === undefined)\r\n throw new Error(\"The parameter 'prenom' cannot be null.\");\r\n else\r\n content_.append(\"Prenom\", prenom.toString());\r\n if (ville === null || ville === undefined)\r\n throw new Error(\"The parameter 'ville' cannot be null.\");\r\n else\r\n content_.append(\"Ville\", ville.toString());\r\n if (disciplines === null || disciplines === undefined)\r\n throw new Error(\"The parameter 'disciplines' cannot be null.\");\r\n else\r\n disciplines.forEach(item_ => content_.append(\"Disciplines\", item_.toString()));\r\n if (otherDiscipline === null || otherDiscipline === undefined)\r\n throw new Error(\"The parameter 'otherDiscipline' cannot be null.\");\r\n else\r\n content_.append(\"OtherDiscipline\", otherDiscipline.toString());\r\n if (instrumentId === null || instrumentId === undefined)\r\n throw new Error(\"The parameter 'instrumentId' cannot be null.\");\r\n else\r\n content_.append(\"InstrumentId\", instrumentId.toString());\r\n if (qualification === null || qualification === undefined)\r\n throw new Error(\"The parameter 'qualification' cannot be null.\");\r\n else\r\n content_.append(\"Qualification\", qualification.toString());\r\n if (typeContrat === null || typeContrat === undefined)\r\n throw new Error(\"The parameter 'typeContrat' cannot be null.\");\r\n else\r\n content_.append(\"TypeContrat\", typeContrat.toString());\r\n if (statut === null || statut === undefined)\r\n throw new Error(\"The parameter 'statut' cannot be null.\");\r\n else\r\n content_.append(\"Statut\", statut.toString());\r\n if (remunerationBruteAnnuelle === null || remunerationBruteAnnuelle === undefined)\r\n throw new Error(\"The parameter 'remunerationBruteAnnuelle' cannot be null.\");\r\n else\r\n content_.append(\"RemunerationBruteAnnuelle\", remunerationBruteAnnuelle.toString());\r\n if (montantChargesPatronales === null || montantChargesPatronales === undefined)\r\n throw new Error(\"The parameter 'montantChargesPatronales' cannot be null.\");\r\n else\r\n content_.append(\"MontantChargesPatronales\", montantChargesPatronales.toString());\r\n if (tarifHoraireBrut === null || tarifHoraireBrut === undefined)\r\n throw new Error(\"The parameter 'tarifHoraireBrut' cannot be null.\");\r\n else\r\n content_.append(\"TarifHoraireBrut\", tarifHoraireBrut.toString());\r\n if (remunerationPremierTrimestre === null || remunerationPremierTrimestre === undefined)\r\n throw new Error(\"The parameter 'remunerationPremierTrimestre' cannot be null.\");\r\n else\r\n content_.append(\"RemunerationPremierTrimestre\", remunerationPremierTrimestre.toString());\r\n if (contratEngagement_Id === null || contratEngagement_Id === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Id' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Id\", contratEngagement_Id.toString());\r\n if (contratEngagement_TypeId === null || contratEngagement_TypeId === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_TypeId' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.TypeId\", contratEngagement_TypeId.toString());\r\n if (contratEngagement_PartName === null || contratEngagement_PartName === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_PartName' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.PartName\", contratEngagement_PartName.toString());\r\n if (contratEngagement_ExtraInfos === null || contratEngagement_ExtraInfos === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_ExtraInfos' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.ExtraInfos\", JSON.stringify(contratEngagement_ExtraInfos));\r\n if (contratEngagement_FileName === null || contratEngagement_FileName === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_FileName' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.FileName\", contratEngagement_FileName.toString());\r\n if (contratEngagement_ContentType === null || contratEngagement_ContentType === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_ContentType' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.ContentType\", contratEngagement_ContentType.toString());\r\n if (contratEngagement_Content_CanRead === null || contratEngagement_Content_CanRead === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_CanRead' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.CanRead\", contratEngagement_Content_CanRead.toString());\r\n if (contratEngagement_Content_CanWrite === null || contratEngagement_Content_CanWrite === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_CanWrite' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.CanWrite\", contratEngagement_Content_CanWrite.toString());\r\n if (contratEngagement_Content_CanSeek === null || contratEngagement_Content_CanSeek === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_CanSeek' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.CanSeek\", contratEngagement_Content_CanSeek.toString());\r\n if (contratEngagement_Content_CanTimeout === null || contratEngagement_Content_CanTimeout === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_CanTimeout' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.CanTimeout\", contratEngagement_Content_CanTimeout.toString());\r\n if (contratEngagement_Content_Length === null || contratEngagement_Content_Length === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_Length' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.Length\", contratEngagement_Content_Length.toString());\r\n if (contratEngagement_Content_Position === null || contratEngagement_Content_Position === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_Position' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.Position\", contratEngagement_Content_Position.toString());\r\n if (contratEngagement_Content_ReadTimeout === null || contratEngagement_Content_ReadTimeout === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_ReadTimeout' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.ReadTimeout\", contratEngagement_Content_ReadTimeout.toString());\r\n if (contratEngagement_Content_WriteTimeout === null || contratEngagement_Content_WriteTimeout === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_WriteTimeout' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.WriteTimeout\", contratEngagement_Content_WriteTimeout.toString());\r\n if (justificatifRemuneration_Id === null || justificatifRemuneration_Id === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Id' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Id\", justificatifRemuneration_Id.toString());\r\n if (justificatifRemuneration_TypeId === null || justificatifRemuneration_TypeId === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_TypeId' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.TypeId\", justificatifRemuneration_TypeId.toString());\r\n if (justificatifRemuneration_PartName === null || justificatifRemuneration_PartName === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_PartName' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.PartName\", justificatifRemuneration_PartName.toString());\r\n if (justificatifRemuneration_ExtraInfos === null || justificatifRemuneration_ExtraInfos === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_ExtraInfos' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.ExtraInfos\", JSON.stringify(justificatifRemuneration_ExtraInfos));\r\n if (justificatifRemuneration_FileName === null || justificatifRemuneration_FileName === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_FileName' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.FileName\", justificatifRemuneration_FileName.toString());\r\n if (justificatifRemuneration_ContentType === null || justificatifRemuneration_ContentType === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_ContentType' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.ContentType\", justificatifRemuneration_ContentType.toString());\r\n if (justificatifRemuneration_Content_CanRead === null || justificatifRemuneration_Content_CanRead === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_CanRead' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.CanRead\", justificatifRemuneration_Content_CanRead.toString());\r\n if (justificatifRemuneration_Content_CanWrite === null || justificatifRemuneration_Content_CanWrite === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_CanWrite' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.CanWrite\", justificatifRemuneration_Content_CanWrite.toString());\r\n if (justificatifRemuneration_Content_CanSeek === null || justificatifRemuneration_Content_CanSeek === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_CanSeek' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.CanSeek\", justificatifRemuneration_Content_CanSeek.toString());\r\n if (justificatifRemuneration_Content_CanTimeout === null || justificatifRemuneration_Content_CanTimeout === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_CanTimeout' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.CanTimeout\", justificatifRemuneration_Content_CanTimeout.toString());\r\n if (justificatifRemuneration_Content_Length === null || justificatifRemuneration_Content_Length === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_Length' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.Length\", justificatifRemuneration_Content_Length.toString());\r\n if (justificatifRemuneration_Content_Position === null || justificatifRemuneration_Content_Position === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_Position' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.Position\", justificatifRemuneration_Content_Position.toString());\r\n if (justificatifRemuneration_Content_ReadTimeout === null || justificatifRemuneration_Content_ReadTimeout === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_ReadTimeout' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.ReadTimeout\", justificatifRemuneration_Content_ReadTimeout.toString());\r\n if (justificatifRemuneration_Content_WriteTimeout === null || justificatifRemuneration_Content_WriteTimeout === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_WriteTimeout' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.WriteTimeout\", justificatifRemuneration_Content_WriteTimeout.toString());\r\n if (documents === null || documents === undefined)\r\n throw new Error(\"The parameter 'documents' cannot be null.\");\r\n else\r\n documents.forEach(item_ => content_.append(\"documents\", item_.data, item_.fileName ? item_.fileName : \"documents\"));\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processCreateEnseignantOnDemandeVersement(_response);\r\n });\r\n }\r\n processCreateEnseignantOnDemandeVersement(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 201) {\r\n const _responseText = response.data;\r\n let result201 = null;\r\n let resultData201 = _responseText;\r\n result201 = resultData201;\r\n return Promise.resolve(result201);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param nom (optional)\r\n * @param prenom (optional)\r\n * @param ville (optional)\r\n * @param disciplines (optional)\r\n * @param otherDiscipline (optional)\r\n * @param instrumentId (optional)\r\n * @param qualification (optional)\r\n * @param typeContrat (optional)\r\n * @param statut (optional)\r\n * @param remunerationBruteAnnuelle (optional)\r\n * @param montantChargesPatronales (optional)\r\n * @param tarifHoraireBrut (optional)\r\n * @param remunerationPremierTrimestre (optional)\r\n * @param contratEngagement_Id (optional)\r\n * @param contratEngagement_TypeId (optional)\r\n * @param contratEngagement_PartName (optional)\r\n * @param contratEngagement_ExtraInfos (optional)\r\n * @param contratEngagement_FileName (optional)\r\n * @param contratEngagement_ContentType (optional)\r\n * @param contratEngagement_Content_CanRead (optional)\r\n * @param contratEngagement_Content_CanWrite (optional)\r\n * @param contratEngagement_Content_CanSeek (optional)\r\n * @param contratEngagement_Content_CanTimeout (optional)\r\n * @param contratEngagement_Content_Length (optional)\r\n * @param contratEngagement_Content_Position (optional)\r\n * @param contratEngagement_Content_ReadTimeout (optional)\r\n * @param contratEngagement_Content_WriteTimeout (optional)\r\n * @param justificatifRemuneration_Id (optional)\r\n * @param justificatifRemuneration_TypeId (optional)\r\n * @param justificatifRemuneration_PartName (optional)\r\n * @param justificatifRemuneration_ExtraInfos (optional)\r\n * @param justificatifRemuneration_FileName (optional)\r\n * @param justificatifRemuneration_ContentType (optional)\r\n * @param justificatifRemuneration_Content_CanRead (optional)\r\n * @param justificatifRemuneration_Content_CanWrite (optional)\r\n * @param justificatifRemuneration_Content_CanSeek (optional)\r\n * @param justificatifRemuneration_Content_CanTimeout (optional)\r\n * @param justificatifRemuneration_Content_Length (optional)\r\n * @param justificatifRemuneration_Content_Position (optional)\r\n * @param justificatifRemuneration_Content_ReadTimeout (optional)\r\n * @param justificatifRemuneration_Content_WriteTimeout (optional)\r\n * @param documents (optional)\r\n * @return Success\r\n */\r\n updateEnseignantOnDemandeVersement(enseignantId, nom, prenom, ville, disciplines, otherDiscipline, instrumentId, qualification, typeContrat, statut, remunerationBruteAnnuelle, montantChargesPatronales, tarifHoraireBrut, remunerationPremierTrimestre, contratEngagement_Id, contratEngagement_TypeId, contratEngagement_PartName, contratEngagement_ExtraInfos, contratEngagement_FileName, contratEngagement_ContentType, contratEngagement_Content_CanRead, contratEngagement_Content_CanWrite, contratEngagement_Content_CanSeek, contratEngagement_Content_CanTimeout, contratEngagement_Content_Length, contratEngagement_Content_Position, contratEngagement_Content_ReadTimeout, contratEngagement_Content_WriteTimeout, justificatifRemuneration_Id, justificatifRemuneration_TypeId, justificatifRemuneration_PartName, justificatifRemuneration_ExtraInfos, justificatifRemuneration_FileName, justificatifRemuneration_ContentType, justificatifRemuneration_Content_CanRead, justificatifRemuneration_Content_CanWrite, justificatifRemuneration_Content_CanSeek, justificatifRemuneration_Content_CanTimeout, justificatifRemuneration_Content_Length, justificatifRemuneration_Content_Position, justificatifRemuneration_Content_ReadTimeout, justificatifRemuneration_Content_WriteTimeout, documents, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/dossier/versement/contratscachets/enseignant/{enseignantId}/update\";\r\n if (enseignantId === undefined || enseignantId === null)\r\n throw new Error(\"The parameter 'enseignantId' must be defined.\");\r\n url_ = url_.replace(\"{enseignantId}\", encodeURIComponent(\"\" + enseignantId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = new FormData();\r\n if (nom === null || nom === undefined)\r\n throw new Error(\"The parameter 'nom' cannot be null.\");\r\n else\r\n content_.append(\"Nom\", nom.toString());\r\n if (prenom === null || prenom === undefined)\r\n throw new Error(\"The parameter 'prenom' cannot be null.\");\r\n else\r\n content_.append(\"Prenom\", prenom.toString());\r\n if (ville === null || ville === undefined)\r\n throw new Error(\"The parameter 'ville' cannot be null.\");\r\n else\r\n content_.append(\"Ville\", ville.toString());\r\n if (disciplines === null || disciplines === undefined)\r\n throw new Error(\"The parameter 'disciplines' cannot be null.\");\r\n else\r\n disciplines.forEach(item_ => content_.append(\"Disciplines\", item_.toString()));\r\n if (otherDiscipline === null || otherDiscipline === undefined)\r\n throw new Error(\"The parameter 'otherDiscipline' cannot be null.\");\r\n else\r\n content_.append(\"OtherDiscipline\", otherDiscipline.toString());\r\n if (instrumentId === null || instrumentId === undefined)\r\n throw new Error(\"The parameter 'instrumentId' cannot be null.\");\r\n else\r\n content_.append(\"InstrumentId\", instrumentId.toString());\r\n if (qualification === null || qualification === undefined)\r\n throw new Error(\"The parameter 'qualification' cannot be null.\");\r\n else\r\n content_.append(\"Qualification\", qualification.toString());\r\n if (typeContrat === null || typeContrat === undefined)\r\n throw new Error(\"The parameter 'typeContrat' cannot be null.\");\r\n else\r\n content_.append(\"TypeContrat\", typeContrat.toString());\r\n if (statut === null || statut === undefined)\r\n throw new Error(\"The parameter 'statut' cannot be null.\");\r\n else\r\n content_.append(\"Statut\", statut.toString());\r\n if (remunerationBruteAnnuelle === null || remunerationBruteAnnuelle === undefined)\r\n throw new Error(\"The parameter 'remunerationBruteAnnuelle' cannot be null.\");\r\n else\r\n content_.append(\"RemunerationBruteAnnuelle\", remunerationBruteAnnuelle.toString());\r\n if (montantChargesPatronales === null || montantChargesPatronales === undefined)\r\n throw new Error(\"The parameter 'montantChargesPatronales' cannot be null.\");\r\n else\r\n content_.append(\"MontantChargesPatronales\", montantChargesPatronales.toString());\r\n if (tarifHoraireBrut === null || tarifHoraireBrut === undefined)\r\n throw new Error(\"The parameter 'tarifHoraireBrut' cannot be null.\");\r\n else\r\n content_.append(\"TarifHoraireBrut\", tarifHoraireBrut.toString());\r\n if (remunerationPremierTrimestre === null || remunerationPremierTrimestre === undefined)\r\n throw new Error(\"The parameter 'remunerationPremierTrimestre' cannot be null.\");\r\n else\r\n content_.append(\"RemunerationPremierTrimestre\", remunerationPremierTrimestre.toString());\r\n if (contratEngagement_Id === null || contratEngagement_Id === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Id' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Id\", contratEngagement_Id.toString());\r\n if (contratEngagement_TypeId === null || contratEngagement_TypeId === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_TypeId' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.TypeId\", contratEngagement_TypeId.toString());\r\n if (contratEngagement_PartName === null || contratEngagement_PartName === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_PartName' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.PartName\", contratEngagement_PartName.toString());\r\n if (contratEngagement_ExtraInfos === null || contratEngagement_ExtraInfos === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_ExtraInfos' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.ExtraInfos\", JSON.stringify(contratEngagement_ExtraInfos));\r\n if (contratEngagement_FileName === null || contratEngagement_FileName === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_FileName' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.FileName\", contratEngagement_FileName.toString());\r\n if (contratEngagement_ContentType === null || contratEngagement_ContentType === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_ContentType' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.ContentType\", contratEngagement_ContentType.toString());\r\n if (contratEngagement_Content_CanRead === null || contratEngagement_Content_CanRead === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_CanRead' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.CanRead\", contratEngagement_Content_CanRead.toString());\r\n if (contratEngagement_Content_CanWrite === null || contratEngagement_Content_CanWrite === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_CanWrite' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.CanWrite\", contratEngagement_Content_CanWrite.toString());\r\n if (contratEngagement_Content_CanSeek === null || contratEngagement_Content_CanSeek === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_CanSeek' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.CanSeek\", contratEngagement_Content_CanSeek.toString());\r\n if (contratEngagement_Content_CanTimeout === null || contratEngagement_Content_CanTimeout === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_CanTimeout' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.CanTimeout\", contratEngagement_Content_CanTimeout.toString());\r\n if (contratEngagement_Content_Length === null || contratEngagement_Content_Length === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_Length' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.Length\", contratEngagement_Content_Length.toString());\r\n if (contratEngagement_Content_Position === null || contratEngagement_Content_Position === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_Position' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.Position\", contratEngagement_Content_Position.toString());\r\n if (contratEngagement_Content_ReadTimeout === null || contratEngagement_Content_ReadTimeout === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_ReadTimeout' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.ReadTimeout\", contratEngagement_Content_ReadTimeout.toString());\r\n if (contratEngagement_Content_WriteTimeout === null || contratEngagement_Content_WriteTimeout === undefined)\r\n throw new Error(\"The parameter 'contratEngagement_Content_WriteTimeout' cannot be null.\");\r\n else\r\n content_.append(\"ContratEngagement.Content.WriteTimeout\", contratEngagement_Content_WriteTimeout.toString());\r\n if (justificatifRemuneration_Id === null || justificatifRemuneration_Id === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Id' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Id\", justificatifRemuneration_Id.toString());\r\n if (justificatifRemuneration_TypeId === null || justificatifRemuneration_TypeId === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_TypeId' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.TypeId\", justificatifRemuneration_TypeId.toString());\r\n if (justificatifRemuneration_PartName === null || justificatifRemuneration_PartName === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_PartName' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.PartName\", justificatifRemuneration_PartName.toString());\r\n if (justificatifRemuneration_ExtraInfos === null || justificatifRemuneration_ExtraInfos === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_ExtraInfos' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.ExtraInfos\", JSON.stringify(justificatifRemuneration_ExtraInfos));\r\n if (justificatifRemuneration_FileName === null || justificatifRemuneration_FileName === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_FileName' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.FileName\", justificatifRemuneration_FileName.toString());\r\n if (justificatifRemuneration_ContentType === null || justificatifRemuneration_ContentType === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_ContentType' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.ContentType\", justificatifRemuneration_ContentType.toString());\r\n if (justificatifRemuneration_Content_CanRead === null || justificatifRemuneration_Content_CanRead === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_CanRead' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.CanRead\", justificatifRemuneration_Content_CanRead.toString());\r\n if (justificatifRemuneration_Content_CanWrite === null || justificatifRemuneration_Content_CanWrite === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_CanWrite' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.CanWrite\", justificatifRemuneration_Content_CanWrite.toString());\r\n if (justificatifRemuneration_Content_CanSeek === null || justificatifRemuneration_Content_CanSeek === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_CanSeek' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.CanSeek\", justificatifRemuneration_Content_CanSeek.toString());\r\n if (justificatifRemuneration_Content_CanTimeout === null || justificatifRemuneration_Content_CanTimeout === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_CanTimeout' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.CanTimeout\", justificatifRemuneration_Content_CanTimeout.toString());\r\n if (justificatifRemuneration_Content_Length === null || justificatifRemuneration_Content_Length === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_Length' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.Length\", justificatifRemuneration_Content_Length.toString());\r\n if (justificatifRemuneration_Content_Position === null || justificatifRemuneration_Content_Position === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_Position' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.Position\", justificatifRemuneration_Content_Position.toString());\r\n if (justificatifRemuneration_Content_ReadTimeout === null || justificatifRemuneration_Content_ReadTimeout === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_ReadTimeout' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.ReadTimeout\", justificatifRemuneration_Content_ReadTimeout.toString());\r\n if (justificatifRemuneration_Content_WriteTimeout === null || justificatifRemuneration_Content_WriteTimeout === undefined)\r\n throw new Error(\"The parameter 'justificatifRemuneration_Content_WriteTimeout' cannot be null.\");\r\n else\r\n content_.append(\"JustificatifRemuneration.Content.WriteTimeout\", justificatifRemuneration_Content_WriteTimeout.toString());\r\n if (documents === null || documents === undefined)\r\n throw new Error(\"The parameter 'documents' cannot be null.\");\r\n else\r\n documents.forEach(item_ => content_.append(\"documents\", item_.data, item_.fileName ? item_.fileName : \"documents\"));\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processUpdateEnseignantOnDemandeVersement(_response);\r\n });\r\n }\r\n processUpdateEnseignantOnDemandeVersement(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 201) {\r\n const _responseText = response.data;\r\n let result201 = null;\r\n let resultData201 = _responseText;\r\n result201 = resultData201;\r\n return Promise.resolve(result201);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param versementArtistes (optional)\r\n * @param documents (optional)\r\n * @return Success\r\n */\r\n updateArtisteDocument(versementId, versementArtistes, documents, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/{versementId}/contratscachets/artiste/document\";\r\n if (versementId === undefined || versementId === null)\r\n throw new Error(\"The parameter 'versementId' must be defined.\");\r\n url_ = url_.replace(\"{versementId}\", encodeURIComponent(\"\" + versementId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = new FormData();\r\n if (versementArtistes === null || versementArtistes === undefined)\r\n throw new Error(\"The parameter 'versementArtistes' cannot be null.\");\r\n else\r\n versementArtistes.forEach(item_ => content_.append(\"VersementArtistes\", item_.toString()));\r\n if (documents === null || documents === undefined)\r\n throw new Error(\"The parameter 'documents' cannot be null.\");\r\n else\r\n documents.forEach(item_ => content_.append(\"documents\", item_.data, item_.fileName ? item_.fileName : \"documents\"));\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processUpdateArtisteDocument(_response);\r\n });\r\n }\r\n processUpdateArtisteDocument(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param enseignants (optional)\r\n * @param documents (optional)\r\n * @return Success\r\n */\r\n updateEnseignantRemuneration(dossierId, enseignants, documents, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/dossier/{dossierId}/versement/contratscachets/enseignant/remuneration\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = new FormData();\r\n if (enseignants === null || enseignants === undefined)\r\n throw new Error(\"The parameter 'enseignants' cannot be null.\");\r\n else\r\n enseignants.forEach(item_ => content_.append(\"Enseignants\", item_.toString()));\r\n if (documents === null || documents === undefined)\r\n throw new Error(\"The parameter 'documents' cannot be null.\");\r\n else\r\n documents.forEach(item_ => content_.append(\"documents\", item_.data, item_.fileName ? item_.fileName : \"documents\"));\r\n let options_ = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processUpdateEnseignantRemuneration(_response);\r\n });\r\n }\r\n processUpdateEnseignantRemuneration(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n deleteEnseignantOnDemandeVersement(enseignantId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/dossier/versement/contratscachets/enseignant/{enseignantId}/delete\";\r\n if (enseignantId === undefined || enseignantId === null)\r\n throw new Error(\"The parameter 'enseignantId' must be defined.\");\r\n url_ = url_.replace(\"{enseignantId}\", encodeURIComponent(\"\" + enseignantId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processDeleteEnseignantOnDemandeVersement(_response);\r\n });\r\n }\r\n processDeleteEnseignantOnDemandeVersement(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getPiecesJointesOnDemandeVersement(versementId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/{versementId}/piecesjointes\";\r\n if (versementId === undefined || versementId === null)\r\n throw new Error(\"The parameter 'versementId' must be defined.\");\r\n url_ = url_.replace(\"{versementId}\", encodeURIComponent(\"\" + versementId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetPiecesJointesOnDemandeVersement(_response);\r\n });\r\n }\r\n processGetPiecesJointesOnDemandeVersement(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getInfoBancaireOnDemandeVersement(dossierId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/dossier/{dossierId}/versement/infobancaire\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetInfoBancaireOnDemandeVersement(_response);\r\n });\r\n }\r\n processGetInfoBancaireOnDemandeVersement(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @param piecesJointes (optional)\r\n * @param documents (optional)\r\n * @return Success\r\n */\r\n createOrUpdatePieceJointes(versementId, piecesJointes, documents, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/{versementId}/piecesjointes/update\";\r\n if (versementId === undefined || versementId === null)\r\n throw new Error(\"The parameter 'versementId' must be defined.\");\r\n url_ = url_.replace(\"{versementId}\", encodeURIComponent(\"\" + versementId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n const content_ = new FormData();\r\n if (piecesJointes === null || piecesJointes === undefined)\r\n throw new Error(\"The parameter 'piecesJointes' cannot be null.\");\r\n else\r\n piecesJointes.forEach(item_ => content_.append(\"PiecesJointes\", item_.toString()));\r\n if (documents === null || documents === undefined)\r\n throw new Error(\"The parameter 'documents' cannot be null.\");\r\n else\r\n documents.forEach(item_ => content_.append(\"documents\", item_.data, item_.fileName ? item_.fileName : \"documents\"));\r\n let options_ = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processCreateOrUpdatePieceJointes(_response);\r\n });\r\n }\r\n processCreateOrUpdatePieceJointes(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 201) {\r\n const _responseText = response.data;\r\n let result201 = null;\r\n let resultData201 = _responseText;\r\n result201 = resultData201;\r\n return Promise.resolve(result201);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n getRecapitulatifDemandeVersement(versementId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/{versementId}/recapitulatif\";\r\n if (versementId === undefined || versementId === null)\r\n throw new Error(\"The parameter 'versementId' must be defined.\");\r\n url_ = url_.replace(\"{versementId}\", encodeURIComponent(\"\" + versementId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processGetRecapitulatifDemandeVersement(_response);\r\n });\r\n }\r\n processGetRecapitulatifDemandeVersement(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n /**\r\n * @return Success\r\n */\r\n soumettreVersement(versementId, cancelToken) {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/{versementId}/soumettre\";\r\n if (versementId === undefined || versementId === null)\r\n throw new Error(\"The parameter 'versementId' must be defined.\");\r\n url_ = url_.replace(\"{versementId}\", encodeURIComponent(\"\" + versementId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n let options_ = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n return this.instance.request(options_).catch((_error) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n }\r\n else {\r\n throw _error;\r\n }\r\n }).then((_response) => {\r\n return this.processSoumettreVersement(_response);\r\n });\r\n }\r\n processSoumettreVersement(response) {\r\n const status = response.status;\r\n let _headers = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200 = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return Promise.resolve(result200);\r\n }\r\n else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404 = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\nexport var AnswerType;\r\n(function (AnswerType) {\r\n AnswerType[\"None\"] = \"none\";\r\n AnswerType[\"Text\"] = \"text\";\r\n AnswerType[\"MultilineText\"] = \"multilineText\";\r\n AnswerType[\"Date\"] = \"date\";\r\n AnswerType[\"IntegerNumber\"] = \"integerNumber\";\r\n AnswerType[\"DecimalNumber\"] = \"decimalNumber\";\r\n AnswerType[\"SingleChoiceList\"] = \"singleChoiceList\";\r\n AnswerType[\"MultipleChoiceList\"] = \"multipleChoiceList\";\r\n AnswerType[\"YesNo\"] = \"yesNo\";\r\n AnswerType[\"YesNoDontKnow\"] = \"yesNoDontKnow\";\r\n AnswerType[\"File\"] = \"file\";\r\n AnswerType[\"Url\"] = \"url\";\r\n AnswerType[\"Link\"] = \"link\";\r\n AnswerType[\"Period\"] = \"period\";\r\n AnswerType[\"Html\"] = \"html\";\r\n AnswerType[\"Array\"] = \"array\";\r\n AnswerType[\"Blocking\"] = \"blocking\";\r\n})(AnswerType || (AnswerType = {}));\r\nexport var ChampDepense;\r\n(function (ChampDepense) {\r\n ChampDepense[\"None\"] = \"none\";\r\n ChampDepense[\"Autre\"] = \"autre\";\r\n ChampDepense[\"SalairesArtisteEnregistrement\"] = \"salairesArtisteEnregistrement\";\r\n ChampDepense[\"SalairesArtisteRepetition\"] = \"salairesArtisteRepetition\";\r\n ChampDepense[\"SalairesArtisteRepresentation\"] = \"salairesArtisteRepresentation\";\r\n ChampDepense[\"SalairesArtisteMensualisation\"] = \"salairesArtisteMensualisation\";\r\n ChampDepense[\"ChargesSocialesPatronalesArtistes\"] = \"chargesSocialesPatronalesArtistes\";\r\n ChampDepense[\"AutresSalairesArtistiquesChargesSocialesPatronalesIncluses\"] = \"autresSalairesArtistiquesChargesSocialesPatronalesIncluses\";\r\n ChampDepense[\"SalairesTechniciensChargesSocialesPatronalesIncluses\"] = \"salairesTechniciensChargesSocialesPatronalesIncluses\";\r\n ChampDepense[\"SalairesPersonnelsAdministratifsChargesSocialesPatronalesIncluses\"] = \"salairesPersonnelsAdministratifsChargesSocialesPatronalesIncluses\";\r\n ChampDepense[\"LocationSalle\"] = \"locationSalle\";\r\n ChampDepense[\"Assurances\"] = \"assurances\";\r\n ChampDepense[\"Defraiements\"] = \"defraiements\";\r\n ChampDepense[\"PublicitePromotion\"] = \"publicitePromotion\";\r\n ChampDepense[\"Organisme\"] = \"organisme\";\r\n ChampDepense[\"Musiciens\"] = \"musiciens\";\r\n ChampDepense[\"Danseurs\"] = \"danseurs\";\r\n ChampDepense[\"Choristes\"] = \"choristes\";\r\n ChampDepense[\"Chanteurs\"] = \"chanteurs\";\r\n ChampDepense[\"Comediens\"] = \"comediens\";\r\n ChampDepense[\"ChefsOrchestre\"] = \"chefsOrchestre\";\r\n ChampDepense[\"ChargesPatronales\"] = \"chargesPatronales\";\r\n ChampDepense[\"CongesSpectales\"] = \"congesSpectales\";\r\n ChampDepense[\"Auteurs\"] = \"auteurs\";\r\n ChampDepense[\"MetteursEnScene\"] = \"metteursEnScene\";\r\n ChampDepense[\"Choregraphes\"] = \"choregraphes\";\r\n ChampDepense[\"DecorateursCostumiers\"] = \"decorateursCostumiers\";\r\n ChampDepense[\"CommandesMusicales\"] = \"commandesMusicales\";\r\n ChampDepense[\"Agessa\"] = \"agessa\";\r\n ChampDepense[\"AdministrationCoordination\"] = \"administrationCoordination\";\r\n ChampDepense[\"TelephoneFaxEnvois\"] = \"telephoneFaxEnvois\";\r\n ChampDepense[\"TechniciensIngenieurs\"] = \"techniciensIngenieurs\";\r\n ChampDepense[\"Divers\"] = \"divers\";\r\n ChampDepense[\"CommunicationPublicite\"] = \"communicationPublicite\";\r\n ChampDepense[\"AttacheDePresse\"] = \"attacheDePresse\";\r\n ChampDepense[\"FraisDeFonctionnementLocation\"] = \"fraisDeFonctionnementLocation\";\r\n ChampDepense[\"MasseSalarialeArtistiqueEstimeeContratsVente\"] = \"masseSalarialeArtistiqueEstimeeContratsVente\";\r\n ChampDepense[\"ContratsVentes\"] = \"contratsVentes\";\r\n ChampDepense[\"BilletsAvion\"] = \"billetsAvion\";\r\n ChampDepense[\"BilletsTrain\"] = \"billetsTrain\";\r\n ChampDepense[\"LocationVoiture\"] = \"locationVoiture\";\r\n ChampDepense[\"Hotel\"] = \"hotel\";\r\n ChampDepense[\"Restauration\"] = \"restauration\";\r\n ChampDepense[\"Carburant\"] = \"carburant\";\r\n ChampDepense[\"TransportInstruments\"] = \"transportInstruments\";\r\n ChampDepense[\"Hebergement\"] = \"hebergement\";\r\n ChampDepense[\"CotisationAFC\"] = \"cotisationAFC\";\r\n ChampDepense[\"SalaireArtistes\"] = \"salaireArtistes\";\r\n ChampDepense[\"RealisationEtImpressionInvitations\"] = \"realisationEtImpressionInvitations\";\r\n ChampDepense[\"EnvoisEtInsertionsPresse\"] = \"envoisEtInsertionsPresse\";\r\n ChampDepense[\"Deplacements\"] = \"deplacements\";\r\n ChampDepense[\"FraisOrganisation\"] = \"fraisOrganisation\";\r\n ChampDepense[\"Sacem\"] = \"sacem\";\r\n ChampDepense[\"Arrangeur\"] = \"arrangeur\";\r\n ChampDepense[\"LocationStudio\"] = \"locationStudio\";\r\n ChampDepense[\"LocationMateriel\"] = \"locationMateriel\";\r\n ChampDepense[\"SalairesEnseignantsPermanents\"] = \"salairesEnseignantsPermanents\";\r\n ChampDepense[\"ChargesSocialesEnseignantsPermanents\"] = \"chargesSocialesEnseignantsPermanents\";\r\n ChampDepense[\"SalairesEnseignantsVacataires\"] = \"salairesEnseignantsVacataires\";\r\n ChampDepense[\"ChargesSocialesEnseignantsVacataires\"] = \"chargesSocialesEnseignantsVacataires\";\r\n ChampDepense[\"Loyers\"] = \"loyers\";\r\n ChampDepense[\"FraisFonctionnement\"] = \"fraisFonctionnement\";\r\n ChampDepense[\"Cotisations\"] = \"cotisations\";\r\n ChampDepense[\"FraisBancaires\"] = \"fraisBancaires\";\r\n ChampDepense[\"TaxesSalaires\"] = \"taxesSalaires\";\r\n ChampDepense[\"FormationProfessionnelleContinue\"] = \"formationProfessionnelleContinue\";\r\n ChampDepense[\"TaxeApprentissage\"] = \"taxeApprentissage\";\r\n ChampDepense[\"DevisRealisation\"] = \"devisRealisation\";\r\n ChampDepense[\"DroitsPourUtilisationsSecondaires\"] = \"droitsPourUtilisationsSecondaires\";\r\n ChampDepense[\"DroitsSurDocumentsArchives\"] = \"droitsSurDocumentsArchives\";\r\n ChampDepense[\"DroitsPhotographiques\"] = \"droitsPhotographiques\";\r\n ChampDepense[\"DroitsAuteur\"] = \"droitsAuteur\";\r\n ChampDepense[\"BandesEtFournitures\"] = \"bandesEtFournitures\";\r\n ChampDepense[\"SalaireVerseSuiteAnnulations\"] = \"salaireVerseSuiteAnnulations\";\r\n ChampDepense[\"IndemniteVerseSuiteAnnulations\"] = \"indemniteVerseSuiteAnnulations\";\r\n ChampDepense[\"PrestationTechnique\"] = \"prestationTechnique\";\r\n ChampDepense[\"Copiste\"] = \"copiste\";\r\n ChampDepense[\"SalairesPersonnelsAdministratifs\"] = \"salairesPersonnelsAdministratifs\";\r\n ChampDepense[\"ChargesSocialesPersonnelsAdministratifs\"] = \"chargesSocialesPersonnelsAdministratifs\";\r\n ChampDepense[\"AutresSalairesChargesSocialesIncluses\"] = \"autresSalairesChargesSocialesIncluses\";\r\n ChampDepense[\"SalairesArtisteConcert\"] = \"salairesArtisteConcert\";\r\n ChampDepense[\"SalairesArtisteEngagementDirect\"] = \"SalairesArtisteEngagementDirect\";\r\n ChampDepense[\"CotisationPatronalesEngagementDirect\"] = \"CotisationPatronalesEngagementDirect\";\r\n ChampDepense[\"SalairesArtisteContratVente\"] = \"SalairesArtisteContratVente\";\r\n ChampDepense[\"CotisationPatronalesContratVente\"] = \"CotisationPatronalesContratVente\";\r\n})(ChampDepense || (ChampDepense = {}));\r\nexport var ChampFinancement;\r\n(function (ChampFinancement) {\r\n ChampFinancement[\"None\"] = \"none\";\r\n ChampFinancement[\"Autre\"] = \"autre\";\r\n ChampFinancement[\"VenteTotaleBillets\"] = \"venteTotaleBillets\";\r\n ChampFinancement[\"VenteTiers\"] = \"venteTiers\";\r\n ChampFinancement[\"RecettesAnnexes\"] = \"recettesAnnexes\";\r\n ChampFinancement[\"ContrepartiesEnServicesOuCoProduction\"] = \"contrepartiesEnServicesOuCoProduction\";\r\n ChampFinancement[\"ApportsPersonnelsGarantis\"] = \"apportsPersonnelsGarantis\";\r\n ChampFinancement[\"FondsEuropeens\"] = \"fondsEuropeens\";\r\n ChampFinancement[\"MinistereDeLaCulture\"] = \"ministereDeLaCulture\";\r\n ChampFinancement[\"Drac\"] = \"drac\";\r\n ChampFinancement[\"ConseilRegional\"] = \"conseilRegional\";\r\n ChampFinancement[\"ConseilGeneral\"] = \"conseilGeneral\";\r\n ChampFinancement[\"CommunauteDeCommunes\"] = \"communauteDeCommunes\";\r\n ChampFinancement[\"Municipalite\"] = \"municipalite\";\r\n ChampFinancement[\"Cnm\"] = \"cnm\";\r\n ChampFinancement[\"SacemOuAssociationBeaumarchais\"] = \"sacemOuAssociationBeaumarchais\";\r\n ChampFinancement[\"Sacd\"] = \"sacd\";\r\n ChampFinancement[\"ScpPouSPPF\"] = \"scpPouSPPF\";\r\n ChampFinancement[\"Adami\"] = \"adami\";\r\n ChampFinancement[\"MontantDemandeSPEDIDAM\"] = \"montantDemandeSPEDIDAM\";\r\n ChampFinancement[\"VenteSpectacles\"] = \"venteSpectacles\";\r\n ChampFinancement[\"VenteBilletsEscompte\"] = \"venteBilletsEscompte\";\r\n ChampFinancement[\"ContrePartiesEnServices\"] = \"contrePartiesEnServices\";\r\n ChampFinancement[\"CoProduction\"] = \"coProduction\";\r\n ChampFinancement[\"Divers\"] = \"divers\";\r\n ChampFinancement[\"Sacem\"] = \"sacem\";\r\n ChampFinancement[\"Fcm\"] = \"fcm\";\r\n ChampFinancement[\"FinancementParticipatifOuCampagneCrowdfunding\"] = \"financementParticipatifOuCampagneCrowdfunding\";\r\n ChampFinancement[\"FondSoutienProfessionnalisationAFC\"] = \"fondSoutienProfessionnalisationAFC\";\r\n ChampFinancement[\"AutresPartenaires\"] = \"autresPartenaires\";\r\n ChampFinancement[\"Vente\"] = \"vente\";\r\n ChampFinancement[\"ConseilDepartemental\"] = \"conseilDepartemental\";\r\n ChampFinancement[\"Cnc\"] = \"cnc\";\r\n ChampFinancement[\"Cours\"] = \"cours\";\r\n ChampFinancement[\"Adhesions\"] = \"adhesions\";\r\n ChampFinancement[\"AfdasCifCnfpt\"] = \"afdasCifCnfpt\";\r\n ChampFinancement[\"AutresRecettesExploitation\"] = \"autresRecettesExploitation\";\r\n ChampFinancement[\"Ville\"] = \"ville\";\r\n ChampFinancement[\"ApportFondsPropres\"] = \"apportFondsPropres\";\r\n ChampFinancement[\"ApportProducteur\"] = \"apportProducteur\";\r\n ChampFinancement[\"ApportCoProducteur\"] = \"apportCoProducteur\";\r\n ChampFinancement[\"ApportEditeurDeMusique\"] = \"apportEditeurDeMusique\";\r\n ChampFinancement[\"IndemnisationChomageSalaireArtiste\"] = \"indemnisationChomageSalaireArtiste\";\r\n ChampFinancement[\"IndemnisationChomageAutreSalaire\"] = \"indemnisationChomageAutreSalaire\";\r\n})(ChampFinancement || (ChampFinancement = {}));\r\nexport var Civilite;\r\n(function (Civilite) {\r\n Civilite[\"None\"] = \"none\";\r\n Civilite[\"Monsieur\"] = \"monsieur\";\r\n Civilite[\"Madame\"] = \"madame\";\r\n})(Civilite || (Civilite = {}));\r\nexport var ConditionOperator;\r\n(function (ConditionOperator) {\r\n ConditionOperator[\"Empty\"] = \"empty\";\r\n ConditionOperator[\"Equal\"] = \"equal\";\r\n ConditionOperator[\"AnyOf\"] = \"anyOf\";\r\n ConditionOperator[\"LesserThan\"] = \"lesserThan\";\r\n})(ConditionOperator || (ConditionOperator = {}));\r\nexport var DocumentScope;\r\n(function (DocumentScope) {\r\n DocumentScope[\"None\"] = \"none\";\r\n DocumentScope[\"Structure\"] = \"structure\";\r\n DocumentScope[\"Dossier\"] = \"dossier\";\r\n DocumentScope[\"Commission\"] = \"commission\";\r\n})(DocumentScope || (DocumentScope = {}));\r\nexport var Emploi;\r\n(function (Emploi) {\r\n Emploi[\"None\"] = \"none\";\r\n Emploi[\"Musicien\"] = \"musicien\";\r\n Emploi[\"Chanteur\"] = \"chanteur\";\r\n Emploi[\"ChefOrchestre\"] = \"chefOrchestre\";\r\n Emploi[\"Choriste\"] = \"choriste\";\r\n Emploi[\"Comedien\"] = \"comedien\";\r\n Emploi[\"Circassien\"] = \"circassien\";\r\n Emploi[\"Danseur\"] = \"danseur\";\r\n Emploi[\"Marionnettiste\"] = \"marionnettiste\";\r\n})(Emploi || (Emploi = {}));\r\nexport var Equipements;\r\n(function (Equipements) {\r\n Equipements[\"None\"] = \"none\";\r\n Equipements[\"PcBureau\"] = \"pcBureau\";\r\n Equipements[\"PcPortable\"] = \"pcPortable\";\r\n Equipements[\"Tablette\"] = \"tablette\";\r\n Equipements[\"Imprimante\"] = \"imprimante\";\r\n Equipements[\"TelephonePortable\"] = \"telephonePortable\";\r\n Equipements[\"Autre\"] = \"autre\";\r\n})(Equipements || (Equipements = {}));\r\nexport var EtapeCreationDossier;\r\n(function (EtapeCreationDossier) {\r\n EtapeCreationDossier[\"None\"] = \"none\";\r\n EtapeCreationDossier[\"ValidationStructure\"] = \"validationStructure\";\r\n EtapeCreationDossier[\"Type\"] = \"type\";\r\n EtapeCreationDossier[\"Criteres\"] = \"criteres\";\r\n EtapeCreationDossier[\"InformationsProjet\"] = \"informationsProjet\";\r\n EtapeCreationDossier[\"ChiffresCles\"] = \"chiffresCles\";\r\n EtapeCreationDossier[\"SalarieArtistes\"] = \"salarieArtistes\";\r\n EtapeCreationDossier[\"LieuxDates\"] = \"lieuxDates\";\r\n EtapeCreationDossier[\"ContratsCachets\"] = \"contratsCachets\";\r\n EtapeCreationDossier[\"Trajets\"] = \"trajets\";\r\n EtapeCreationDossier[\"Enseignants\"] = \"enseignants\";\r\n EtapeCreationDossier[\"Budget\"] = \"budget\";\r\n EtapeCreationDossier[\"DescriptionProjet\"] = \"descriptionProjet\";\r\n EtapeCreationDossier[\"Validation\"] = \"validation\";\r\n})(EtapeCreationDossier || (EtapeCreationDossier = {}));\r\nexport var EtapeDemandeVersement;\r\n(function (EtapeDemandeVersement) {\r\n EtapeDemandeVersement[\"None\"] = \"none\";\r\n EtapeDemandeVersement[\"ValidationStructure\"] = \"validationStructure\";\r\n EtapeDemandeVersement[\"ValidationDocumentStructure\"] = \"validationDocumentStructure\";\r\n EtapeDemandeVersement[\"InformationsProjet\"] = \"informationsProjet\";\r\n EtapeDemandeVersement[\"ValidationArtiste\"] = \"validationArtiste\";\r\n EtapeDemandeVersement[\"ValidationEnseignant\"] = \"validationEnseignant\";\r\n EtapeDemandeVersement[\"ValidationDeplacement\"] = \"validationDeplacement\";\r\n EtapeDemandeVersement[\"PieceJointe\"] = \"pieceJointe\";\r\n EtapeDemandeVersement[\"ConfirmationRIB\"] = \"confirmationRIB\";\r\n EtapeDemandeVersement[\"Recapitulatif\"] = \"recapitulatif\";\r\n})(EtapeDemandeVersement || (EtapeDemandeVersement = {}));\r\nexport var FilterOperator;\r\n(function (FilterOperator) {\r\n FilterOperator[\"Equals\"] = \"equals\";\r\n FilterOperator[\"NotEquals\"] = \"notEquals\";\r\n FilterOperator[\"GreaterThan\"] = \"greaterThan\";\r\n FilterOperator[\"LessThan\"] = \"lessThan\";\r\n FilterOperator[\"GreaterThanOrEqualTo\"] = \"greaterThanOrEqualTo\";\r\n FilterOperator[\"LessThanOrEqualTo\"] = \"lessThanOrEqualTo\";\r\n FilterOperator[\"Contains\"] = \"contains\";\r\n FilterOperator[\"StartsWith\"] = \"startsWith\";\r\n})(FilterOperator || (FilterOperator = {}));\r\nexport var GroupeCommission;\r\n(function (GroupeCommission) {\r\n GroupeCommission[\"None\"] = \"none\";\r\n GroupeCommission[\"A\"] = \"a\";\r\n GroupeCommission[\"B\"] = \"b\";\r\n GroupeCommission[\"C\"] = \"c\";\r\n GroupeCommission[\"Suppleant\"] = \"suppleant\";\r\n})(GroupeCommission || (GroupeCommission = {}));\r\nexport var ModeVersement;\r\n(function (ModeVersement) {\r\n ModeVersement[\"None\"] = \"none\";\r\n ModeVersement[\"Automatique\"] = \"automatique\";\r\n ModeVersement[\"Manuel\"] = \"manuel\";\r\n ModeVersement[\"Programme\"] = \"programme\";\r\n})(ModeVersement || (ModeVersement = {}));\r\nexport var ObjetDiscussion;\r\n(function (ObjetDiscussion) {\r\n ObjetDiscussion[\"None\"] = \"none\";\r\n ObjetDiscussion[\"InformationGeneral\"] = \"informationGeneral\";\r\n ObjetDiscussion[\"MiseAJourCompte\"] = \"miseAJourCompte\";\r\n ObjetDiscussion[\"AbsenceLogo\"] = \"absenceLogo\";\r\n ObjetDiscussion[\"ConventionNonConforme\"] = \"conventionNonConforme\";\r\n ObjetDiscussion[\"ConventionRecueHorodate\"] = \"conventionRecueHorodate\";\r\n ObjetDiscussion[\"ContratNonConforme\"] = \"contratNonConforme\";\r\n ObjetDiscussion[\"DecisionDefavorable\"] = \"decisionDefavorable\";\r\n ObjetDiscussion[\"DecisionFavorable\"] = \"decisionFavorable\";\r\n ObjetDiscussion[\"DemandeVersementNonConforme\"] = \"demandeVersementNonConforme\";\r\n ObjetDiscussion[\"DemandeVersementAcompteNonConforme\"] = \"demandeVersementAcompteNonConforme\";\r\n ObjetDiscussion[\"DemandeVersementSoldeNonConforme\"] = \"demandeVersementSoldeNonConforme\";\r\n ObjetDiscussion[\"DemandeVersementAFaire\"] = \"demandeVersementAFaire\";\r\n ObjetDiscussion[\"DossierHorsCrit\\u00E8res\"] = \"dossierHorsCrit\\u00E8res\";\r\n ObjetDiscussion[\"DossierIncomplet\"] = \"dossierIncomplet\";\r\n ObjetDiscussion[\"EnAttenteConventionSigne\"] = \"enAttenteConventionSigne\";\r\n ObjetDiscussion[\"EnAttenteDelegationSignature\"] = \"enAttenteDelegationSignature\";\r\n ObjetDiscussion[\"EnAttenteDemandeDerogation\"] = \"enAttenteDemandeDerogation\";\r\n ObjetDiscussion[\"EnAttenteSupportPhysique\"] = \"enAttenteSupportPhysique\";\r\n ObjetDiscussion[\"EnAttenteValidationServiceJuridique\"] = \"enAttenteValidationServiceJuridique\";\r\n ObjetDiscussion[\"EnAttenteValidationServiceSpectacleVivant\"] = \"enAttenteValidationServiceSpectacleVivant\";\r\n ObjetDiscussion[\"ExamenDossierReporte\"] = \"examenDossierReporte\";\r\n ObjetDiscussion[\"FeuillePresenceNonConforme\"] = \"feuillePresenceNonConforme\";\r\n ObjetDiscussion[\"ImpossibleOuvrirPieceJointe\"] = \"impossibleOuvrirPieceJointe\";\r\n ObjetDiscussion[\"LienIndiqueNonValide\"] = \"lienIndiqueNonValide\";\r\n ObjetDiscussion[\"RemunerationArtisteNonConforme\"] = \"remunerationArtisteNonConforme\";\r\n ObjetDiscussion[\"MiseAJourPiecesJointesMonCompte\"] = \"miseAJourPiecesJointesMonCompte\";\r\n ObjetDiscussion[\"NonRespectCriteres\"] = \"nonRespectCriteres\";\r\n ObjetDiscussion[\"ReaffectationAide\"] = \"reaffectationAide\";\r\n ObjetDiscussion[\"UrgentRappelAvantReaffectationAide\"] = \"urgentRappelAvantReaffectationAide\";\r\n ObjetDiscussion[\"VersementProrata\"] = \"versementProrata\";\r\n ObjetDiscussion[\"VersementAide\"] = \"versementAide\";\r\n ObjetDiscussion[\"DemandeRemboursement\"] = \"demandeRemboursement\";\r\n ObjetDiscussion[\"DemandeDeComplementInformation\"] = \"demandeDeComplementInformation\";\r\n})(ObjetDiscussion || (ObjetDiscussion = {}));\r\nexport var QualificationEnseignant;\r\n(function (QualificationEnseignant) {\r\n QualificationEnseignant[\"None\"] = \"none\";\r\n QualificationEnseignant[\"Autodidacte\"] = \"autodidacte\";\r\n QualificationEnseignant[\"CertificatAptitude\"] = \"certificatAptitude\";\r\n QualificationEnseignant[\"DiplomeEtat\"] = \"diplomeEtat\";\r\n QualificationEnseignant[\"Autre\"] = \"autre\";\r\n})(QualificationEnseignant || (QualificationEnseignant = {}));\r\nexport var StatutCommission;\r\n(function (StatutCommission) {\r\n StatutCommission[\"None\"] = \"none\";\r\n StatutCommission[\"Planifiee\"] = \"planifiee\";\r\n StatutCommission[\"Figee\"] = \"figee\";\r\n StatutCommission[\"EnCours\"] = \"enCours\";\r\n StatutCommission[\"EnAttenteCA\"] = \"enAttenteCA\";\r\n StatutCommission[\"CaEnCours\"] = \"caEnCours\";\r\n StatutCommission[\"Terminee\"] = \"terminee\";\r\n})(StatutCommission || (StatutCommission = {}));\r\nexport var StatutDiscussion;\r\n(function (StatutDiscussion) {\r\n StatutDiscussion[\"None\"] = \"none\";\r\n StatutDiscussion[\"EnCours\"] = \"enCours\";\r\n StatutDiscussion[\"Termine\"] = \"termine\";\r\n})(StatutDiscussion || (StatutDiscussion = {}));\r\nexport var StatutDossier;\r\n(function (StatutDossier) {\r\n StatutDossier[\"None\"] = \"none\";\r\n StatutDossier[\"Brouillon\"] = \"brouillon\";\r\n StatutDossier[\"SansSuite\"] = \"sansSuite\";\r\n StatutDossier[\"Soumis\"] = \"soumis\";\r\n StatutDossier[\"PrisEnCharge\"] = \"prisEnCharge\";\r\n StatutDossier[\"HorsCriteres\"] = \"horsCriteres\";\r\n StatutDossier[\"Renonciation\"] = \"renonciation\";\r\n StatutDossier[\"ProgrammeEnCommission\"] = \"programmeEnCommission\";\r\n StatutDossier[\"Refuse\"] = \"refuse\";\r\n StatutDossier[\"Accepte\"] = \"accepte\";\r\n StatutDossier[\"Solde\"] = \"solde\";\r\n StatutDossier[\"Reaffecte\"] = \"reaffecte\";\r\n})(StatutDossier || (StatutDossier = {}));\r\nexport var StatutEnseignant;\r\n(function (StatutEnseignant) {\r\n StatutEnseignant[\"None\"] = \"none\";\r\n StatutEnseignant[\"Permanent\"] = \"permanent\";\r\n StatutEnseignant[\"Vacataire\"] = \"vacataire\";\r\n})(StatutEnseignant || (StatutEnseignant = {}));\r\nexport var StatutGenerationPdf;\r\n(function (StatutGenerationPdf) {\r\n StatutGenerationPdf[\"None\"] = \"none\";\r\n StatutGenerationPdf[\"Pending\"] = \"pending\";\r\n StatutGenerationPdf[\"Done\"] = \"done\";\r\n StatutGenerationPdf[\"Failed\"] = \"failed\";\r\n})(StatutGenerationPdf || (StatutGenerationPdf = {}));\r\nexport var StatutStructure;\r\n(function (StatutStructure) {\r\n StatutStructure[\"None\"] = \"none\";\r\n StatutStructure[\"Pending\"] = \"pending\";\r\n StatutStructure[\"Enabled\"] = \"enabled\";\r\n StatutStructure[\"Disabled\"] = \"disabled\";\r\n StatutStructure[\"Partial\"] = \"partial\";\r\n})(StatutStructure || (StatutStructure = {}));\r\nexport var StatutVersement;\r\n(function (StatutVersement) {\r\n StatutVersement[\"None\"] = \"none\";\r\n StatutVersement[\"Brouillon\"] = \"brouillon\";\r\n StatutVersement[\"Soumis\"] = \"soumis\";\r\n StatutVersement[\"Modification\"] = \"modification\";\r\n StatutVersement[\"Valide\"] = \"valide\";\r\n StatutVersement[\"Verse\"] = \"verse\";\r\n StatutVersement[\"PriseEnCharge\"] = \"priseEnCharge\";\r\n StatutVersement[\"EnAttente\"] = \"enAttente\";\r\n StatutVersement[\"Reaffectation\"] = \"reaffectation\";\r\n})(StatutVersement || (StatutVersement = {}));\r\nexport var TypeContrat;\r\n(function (TypeContrat) {\r\n TypeContrat[\"None\"] = \"none\";\r\n TypeContrat[\"Cdi\"] = \"cdi\";\r\n TypeContrat[\"Cdd\"] = \"cdd\";\r\n TypeContrat[\"Cdii\"] = \"cdii\";\r\n TypeContrat[\"Autre\"] = \"autre\";\r\n})(TypeContrat || (TypeContrat = {}));\r\nexport var TypeDeDocumentExtraInfoValueType;\r\n(function (TypeDeDocumentExtraInfoValueType) {\r\n TypeDeDocumentExtraInfoValueType[\"String\"] = \"string\";\r\n TypeDeDocumentExtraInfoValueType[\"Date\"] = \"date\";\r\n})(TypeDeDocumentExtraInfoValueType || (TypeDeDocumentExtraInfoValueType = {}));\r\nexport var TypeDepense;\r\n(function (TypeDepense) {\r\n TypeDepense[\"None\"] = \"none\";\r\n TypeDepense[\"Autre\"] = \"autre\";\r\n TypeDepense[\"BudgetPrevisionnelDepenses\"] = \"budgetPrevisionnelDepenses\";\r\n TypeDepense[\"SalaireAutrePersonnel\"] = \"salaireAutrePersonnel\";\r\n TypeDepense[\"AutresDepenses\"] = \"autresDepenses\";\r\n TypeDepense[\"BudgetRepetitionsEtEnregistrements\"] = \"budgetRepetitionsEtEnregistrements\";\r\n TypeDepense[\"BudgetScenique\"] = \"budgetScenique\";\r\n TypeDepense[\"Promotion\"] = \"promotion\";\r\n TypeDepense[\"Salles\"] = \"salles\";\r\n TypeDepense[\"FraisDeplacement\"] = \"fraisDeplacement\";\r\n TypeDepense[\"ContratsVenteEtAutreSalairePersonnel\"] = \"contratsVenteEtAutreSalairePersonnel\";\r\n TypeDepense[\"AutreMasseSalariale\"] = \"autreMasseSalariale\";\r\n TypeDepense[\"FraisDePersonnel\"] = \"fraisDePersonnel\";\r\n TypeDepense[\"AutresFraisDePersonnel\"] = \"autresFraisDePersonnel\";\r\n TypeDepense[\"ServicesExterieurs\"] = \"servicesExterieurs\";\r\n TypeDepense[\"ImpotsTaxes\"] = \"impotsTaxes\";\r\n TypeDepense[\"FraisDeRealisationDuDocumentDePromotion\"] = \"fraisDeRealisationDuDocumentDePromotion\";\r\n TypeDepense[\"Droits\"] = \"droits\";\r\n TypeDepense[\"BudgetPrevisionnelAnnulations\"] = \"budgetPrevisionnelAnnulations\";\r\n})(TypeDepense || (TypeDepense = {}));\r\nexport var TypeFinancement;\r\n(function (TypeFinancement) {\r\n TypeFinancement[\"None\"] = \"none\";\r\n TypeFinancement[\"Autre\"] = \"autre\";\r\n TypeFinancement[\"RecettesPropres\"] = \"recettesPropres\";\r\n TypeFinancement[\"FinancementPublic\"] = \"financementPublic\";\r\n TypeFinancement[\"SubventionsOrganismesProfessionnels\"] = \"subventionsOrganismesProfessionnels\";\r\n TypeFinancement[\"SubventionsEtatCollectivitesTerritoriales\"] = \"subventionsEtatCollectivitesTerritoriales\";\r\n})(TypeFinancement || (TypeFinancement = {}));\r\nexport var TypePoste;\r\n(function (TypePoste) {\r\n TypePoste[\"None\"] = \"none\";\r\n TypePoste[\"Administrateur\"] = \"administrateur\";\r\n TypePoste[\"Tresorier\"] = \"tresorier\";\r\n TypePoste[\"SecretaireAdministratif\"] = \"secretaireAdministratif\";\r\n TypePoste[\"Directeur\"] = \"directeur\";\r\n TypePoste[\"President\"] = \"president\";\r\n TypePoste[\"Gerant\"] = \"gerant\";\r\n})(TypePoste || (TypePoste = {}));\r\nexport var TypePrestation;\r\n(function (TypePrestation) {\r\n TypePrestation[\"None\"] = \"none\";\r\n TypePrestation[\"Repetition\"] = \"repetition\";\r\n TypePrestation[\"Enregistrement\"] = \"enregistrement\";\r\n TypePrestation[\"Representation\"] = \"representation\";\r\n TypePrestation[\"Diffusion\"] = \"diffusion\";\r\n TypePrestation[\"Concert\"] = \"concert\";\r\n})(TypePrestation || (TypePrestation = {}));\r\nexport var TypesAdresses;\r\n(function (TypesAdresses) {\r\n TypesAdresses[\"None\"] = \"none\";\r\n TypesAdresses[\"AdresseSiege\"] = \"adresseSiege\";\r\n TypesAdresses[\"AdressePersonnelle\"] = \"adressePersonnelle\";\r\n TypesAdresses[\"Autre\"] = \"autre\";\r\n})(TypesAdresses || (TypesAdresses = {}));\r\nexport var TypeTransport;\r\n(function (TypeTransport) {\r\n TypeTransport[\"None\"] = \"none\";\r\n TypeTransport[\"Voiture\"] = \"voiture\";\r\n TypeTransport[\"Train\"] = \"train\";\r\n TypeTransport[\"Avion\"] = \"avion\";\r\n})(TypeTransport || (TypeTransport = {}));\r\nexport var TypeVersement;\r\n(function (TypeVersement) {\r\n TypeVersement[\"None\"] = \"none\";\r\n TypeVersement[\"Acompte\"] = \"acompte\";\r\n TypeVersement[\"Solde\"] = \"solde\";\r\n TypeVersement[\"Complet\"] = \"complet\";\r\n TypeVersement[\"Complementaire\"] = \"complementaire\";\r\n})(TypeVersement || (TypeVersement = {}));\r\nexport var ProblemDetailsCode;\r\n(function (ProblemDetailsCode) {\r\n ProblemDetailsCode[\"Unknown\"] = \"unknown\";\r\n ProblemDetailsCode[\"InvalidParameters\"] = \"invalidParameters\";\r\n ProblemDetailsCode[\"PreconditionFailed\"] = \"preconditionFailed\";\r\n ProblemDetailsCode[\"AccessDenied\"] = \"accessDenied\";\r\n ProblemDetailsCode[\"Unauthorized\"] = \"unauthorized\";\r\n ProblemDetailsCode[\"Forbidden\"] = \"forbidden\";\r\n ProblemDetailsCode[\"EntityNotFound\"] = \"entityNotFound\";\r\n ProblemDetailsCode[\"EmailingServiceUnavailable\"] = \"emailingServiceUnavailable\";\r\n ProblemDetailsCode[\"SiretNotFound\"] = \"siretNotFound\";\r\n ProblemDetailsCode[\"MissingDocument\"] = \"missingDocument\";\r\n ProblemDetailsCode[\"MissingDocumentExtraInfo\"] = \"missingDocumentExtraInfo\";\r\n ProblemDetailsCode[\"InvalidDocument\"] = \"invalidDocument\";\r\n ProblemDetailsCode[\"InvalidDocumentExtraInfoValue\"] = \"invalidDocumentExtraInfoValue\";\r\n ProblemDetailsCode[\"DocumentExpired\"] = \"documentExpired\";\r\n ProblemDetailsCode[\"InvalidLanguage\"] = \"invalidLanguage\";\r\n ProblemDetailsCode[\"CannotResetStatutStructure\"] = \"cannotResetStatutStructure\";\r\n ProblemDetailsCode[\"CannotModifyActiveCritereDossier\"] = \"cannotModifyActiveCritereDossier\";\r\n ProblemDetailsCode[\"CannotDeleteNonEmptyCategory\"] = \"cannotDeleteNonEmptyCategory\";\r\n ProblemDetailsCode[\"EntityAlreadyExists\"] = \"entityAlreadyExists\";\r\n ProblemDetailsCode[\"EntitiesNotFound\"] = \"entitiesNotFound\";\r\n ProblemDetailsCode[\"StructurePending\"] = \"structurePending\";\r\n ProblemDetailsCode[\"StructureDisabled\"] = \"structureDisabled\";\r\n ProblemDetailsCode[\"InvalidPrestation\"] = \"invalidPrestation\";\r\n ProblemDetailsCode[\"CategorieDossierQuotaExceeded\"] = \"categorieDossierQuotaExceeded\";\r\n ProblemDetailsCode[\"ForbiddenCategorieDossier\"] = \"forbiddenCategorieDossier\";\r\n ProblemDetailsCode[\"NotImplemented\"] = \"notImplemented\";\r\n ProblemDetailsCode[\"BudgetNotBalanced\"] = \"budgetNotBalanced\";\r\n ProblemDetailsCode[\"MontantAideMustBeInferior\"] = \"montantAideMustBeInferior\";\r\n ProblemDetailsCode[\"MontantAideMustBeSuperior\"] = \"montantAideMustBeSuperior\";\r\n ProblemDetailsCode[\"MontantAideMustBeInferiorOrEqual\"] = \"montantAideMustBeInferiorOrEqual\";\r\n ProblemDetailsCode[\"MontantDepenseMustBeInferior\"] = \"montantDepenseMustBeInferior\";\r\n ProblemDetailsCode[\"MontantDepenseMustBeSuperiorOrEqualException\"] = \"montantDepenseMustBeSuperiorOrEqualException\";\r\n ProblemDetailsCode[\"MontantFinancementMustBeInferior\"] = \"montantFinancementMustBeInferior\";\r\n ProblemDetailsCode[\"MontantFinancementMustBeSuperiorOrEqual\"] = \"montantFinancementMustBeSuperiorOrEqual\";\r\n ProblemDetailsCode[\"InvalidAnswers\"] = \"invalidAnswers\";\r\n ProblemDetailsCode[\"AdresseNotFound\"] = \"adresseNotFound\";\r\n ProblemDetailsCode[\"MissingFile\"] = \"missingFile\";\r\n ProblemDetailsCode[\"InvalidIban\"] = \"invalidIban\";\r\n ProblemDetailsCode[\"MinimumRemuneration\"] = \"minimumRemuneration\";\r\n ProblemDetailsCode[\"InvalidStatutDossierChange\"] = \"invalidStatutDossierChange\";\r\n ProblemDetailsCode[\"CannotUpdateDossier\"] = \"cannotUpdateDossier\";\r\n ProblemDetailsCode[\"CannotDeleteDossier\"] = \"cannotDeleteDossier\";\r\n ProblemDetailsCode[\"CannotDeleteVersement\"] = \"cannotDeleteVersement\";\r\n ProblemDetailsCode[\"MaximumDates\"] = \"maximumDates\";\r\n ProblemDetailsCode[\"MaxRangeBetweenDatesExceeded\"] = \"maxRangeBetweenDatesExceeded\";\r\n ProblemDetailsCode[\"DateCAMustBeSuperiorToDateDebutCommission\"] = \"dateCAMustBeSuperiorToDateDebutCommission\";\r\n ProblemDetailsCode[\"DateFinMustBeSuperiorToDateDebutCommission\"] = \"dateFinMustBeSuperiorToDateDebutCommission\";\r\n ProblemDetailsCode[\"DateFinSoumissionMustBeInferiorToDateDebutCommission\"] = \"dateFinSoumissionMustBeInferiorToDateDebutCommission\";\r\n ProblemDetailsCode[\"DateDebutDossierMustBeSuperiorToDateFinCommission\"] = \"dateDebutDossierMustBeSuperiorToDateFinCommission\";\r\n ProblemDetailsCode[\"CommissionWithSameDateDebutExistsException\"] = \"commissionWithSameDateDebutExistsException\";\r\n ProblemDetailsCode[\"CannotUpdateCommissionWithDossiersException\"] = \"cannotUpdateCommissionWithDossiersException\";\r\n ProblemDetailsCode[\"EmailAlreadyUsed\"] = \"emailAlreadyUsed\";\r\n ProblemDetailsCode[\"InvalidStatutCommission\"] = \"invalidStatutCommission\";\r\n ProblemDetailsCode[\"InvalidStatutDossierToChangeCommission\"] = \"invalidStatutDossierToChangeCommission\";\r\n ProblemDetailsCode[\"CannotUpdateCommissionStatut\"] = \"cannotUpdateCommissionStatut\";\r\n ProblemDetailsCode[\"CannotOpenCommission\"] = \"cannotOpenCommission\";\r\n ProblemDetailsCode[\"CannotPrendreEnchargeDossier\"] = \"cannotPrendreEnchargeDossier\";\r\n ProblemDetailsCode[\"CannotPrendreEnchargeDemandeVersement\"] = \"cannotPrendreEnchargeDemandeVersement\";\r\n ProblemDetailsCode[\"DossiersNonValideEnCommission\"] = \"dossiersNonValideEnCommission\";\r\n ProblemDetailsCode[\"CommissionsMembersAreNotSet\"] = \"commissionsMembersAreNotSet\";\r\n ProblemDetailsCode[\"DateFinSoumissionMustBePassed\"] = \"dateFinSoumissionMustBePassed\";\r\n ProblemDetailsCode[\"MinCachetRequired\"] = \"minCachetRequired\";\r\n ProblemDetailsCode[\"PeriodStartDateShouldBeAfterCommissionEnding\"] = \"periodStartDateShouldBeAfterCommissionEnding\";\r\n ProblemDetailsCode[\"DateEmbaucheIsNotValid\"] = \"dateEmbaucheIsNotValid\";\r\n ProblemDetailsCode[\"DossierIsNotValid\"] = \"dossierIsNotValid\";\r\n ProblemDetailsCode[\"CannotRenounceDossier\"] = \"cannotRenounceDossier\";\r\n ProblemDetailsCode[\"InvalidBordereauStatus\"] = \"invalidBordereauStatus\";\r\n ProblemDetailsCode[\"BordereauAmendableMaxExceeded\"] = \"bordereauAmendableMaxExceeded\";\r\n ProblemDetailsCode[\"CannotCloseBordereau\"] = \"cannotCloseBordereau\";\r\n ProblemDetailsCode[\"CannotArchiveBordereau\"] = \"cannotArchiveBordereau\";\r\n ProblemDetailsCode[\"InvalidOperation\"] = \"invalidOperation\";\r\n ProblemDetailsCode[\"CannotDeleteMouvementBordereauVerse\"] = \"cannotDeleteMouvementBordereauVerse\";\r\n ProblemDetailsCode[\"CannotDeleteMouvementBordereau\"] = \"cannotDeleteMouvementBordereau\";\r\n ProblemDetailsCode[\"BordereauStillAmendable\"] = \"bordereauStillAmendable\";\r\n ProblemDetailsCode[\"BordereauReaffectationStillAmendable\"] = \"bordereauReaffectationStillAmendable\";\r\n ProblemDetailsCode[\"CannotFigerCommissionWithOutstandingDossiers\"] = \"cannotFigerCommissionWithOutstandingDossiers\";\r\n ProblemDetailsCode[\"CannotProgrammerEnCommissionDossierCommissionClosed\"] = \"cannotProgrammerEnCommissionDossierCommissionClosed\";\r\n ProblemDetailsCode[\"CannotProgrammerEnCommissionDossierCACommissionClosed\"] = \"cannotProgrammerEnCommissionDossierCACommissionClosed\";\r\n ProblemDetailsCode[\"CannotUpdateCommissionContent\"] = \"cannotUpdateCommissionContent\";\r\n ProblemDetailsCode[\"CannotUpdateCommissionCAContent\"] = \"cannotUpdateCommissionCAContent\";\r\n ProblemDetailsCode[\"CannotCreateCritereDossierOnCommissionSpecifique\"] = \"cannotCreateCritereDossierOnCommissionSpecifique\";\r\n ProblemDetailsCode[\"InvalidDate\"] = \"invalidDate\";\r\n})(ProblemDetailsCode || (ProblemDetailsCode = {}));\r\nexport class ApiException extends Error {\r\n constructor(message, status, response, headers, result) {\r\n super();\r\n this.isApiException = true;\r\n this.message = message;\r\n this.status = status;\r\n this.response = response;\r\n this.headers = headers;\r\n this.result = result;\r\n }\r\n static isApiException(obj) {\r\n return obj.isApiException === true;\r\n }\r\n}\r\nfunction throwException(message, status, response, headers, result) {\r\n if (result !== null && result !== undefined)\r\n throw result;\r\n else\r\n throw new ApiException(message, status, response, headers, null);\r\n}\r\nfunction isAxiosError(obj) {\r\n return obj && obj.isAxiosError === true;\r\n}\r\n","import '../../i18n';\r\nimport React, { useEffect, useMemo, useState } from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { useSortBy, useTable } from 'react-table';\r\nimport { Emploi } from '../../models/generated/BackOffice-api';\r\nimport { formatNumber, sortArrayAsc } from '../../utils/functions';\r\nimport Table, { styleTable } from \"../basics/Table\";\r\nimport TotalAmountsTable from '../basics/TotalAmountsTable';\r\nimport { CategorieDossier } from '../../enums/CategorieDossier';\r\nconst Artistes = ({ details, isResponsableAndMembreCommission = false, isBo = false, isEngagementDirect = false, openModal }) => {\r\n var _a, _b, _c, _d, _e, _f, _g, _h;\r\n const [data, setData] = useState([]);\r\n const { t, i18n } = useTranslation();\r\n const categorieCode = (_a = details === null || details === void 0 ? void 0 : details.categorie) === null || _a === void 0 ? void 0 : _a.code;\r\n const categoryWithEngagementDirect = [CategorieDossier.Festival, CategorieDossier.SoireeArtistes];\r\n const IsCategoryWithEngagementDirect = () => categoryWithEngagementDirect.includes(categorieCode);\r\n /** React table config */\r\n const columns = useMemo(() => {\r\n return [\r\n {\r\n Header: \"Table\",\r\n columns: [\r\n { accessor: \"id\" },\r\n { accessor: \"isAssociated\" },\r\n {\r\n Header: t(\"shared.nom\"),\r\n accessor: \"nom\",\r\n disableSortBy: true,\r\n Cell: (value) => (React.createElement(\"span\", { className: \"detailsTab__cellTable\" },\r\n value.cell.row.values.isAssociated && isResponsableAndMembreCommission && (React.createElement(\"i\", { className: \"fas fa-circle\", style: { color: 'black', fontSize: 6 } })),\r\n value.value))\r\n },\r\n { Header: t(\"shared.prenom\"), accessor: \"prenom\", disableSortBy: true },\r\n { Header: t(\"shared.emploi\"), accessor: \"emploi\", disableSortBy: true },\r\n { Header: t(\"shared.instrument\"), accessor: \"instrument\", disableSortBy: true },\r\n { Header: t(\"shared.repetition\"), accessor: \"montantRepetitions\", className: 'table__cell--montants', disableSortBy: true, },\r\n { Header: t(\"shared.representation\"), accessor: \"montantRepresentations\", className: 'table__cell--montants', disableSortBy: true, },\r\n { Header: t(\"shared.enregistrement\"), accessor: \"montantEnregistrement\", className: 'table__cell--montants', disableSortBy: true, },\r\n { Header: t(\"shared.concert\"), accessor: \"montantConcert\", className: 'table__cell--montants', disableSortBy: true, },\r\n { Header: t(\"shared.mensualisation\"), accessor: \"mensualisations\", className: 'table__cell--montants', disableSortBy: true, },\r\n { Header: t(\"shared.charges\"), accessor: \"montantCharge\", className: 'table__cell--montants', disableSortBy: true, },\r\n {\r\n accessor: \"actions\",\r\n disableSortBy: true,\r\n Cell: (props) => (React.createElement(\"span\", null,\r\n React.createElement(\"i\", { className: \"fas fa-plus-circle\", role: \"button\", onClick: () => openModal(props.value) })))\r\n }\r\n ]\r\n }\r\n ];\r\n }, [details]);\r\n const hiddenColumns = () => {\r\n const array = [\"id\", \"isAssociated\"];\r\n if (!isBo)\r\n array.push(\"actions\");\r\n if (!details.hasConcert)\r\n array.push(\"montantConcert\");\r\n if (!details.hasEnregistrement)\r\n array.push(\"montantEnregistrement\");\r\n if (!details.hasMensualisation)\r\n array.push(\"mensualisations\");\r\n if (!details.hasRepresentation)\r\n array.push(\"montantRepresentations\");\r\n if (!details.hasRepetition)\r\n array.push(\"montantRepetitions\");\r\n return array;\r\n };\r\n const { getTableProps, getTableBodyProps, headerGroups, rows, prepareRow, state } = useTable({\r\n columns,\r\n data,\r\n initialState: {\r\n hiddenColumns: hiddenColumns()\r\n },\r\n manualSortBy: true\r\n }, useSortBy);\r\n useEffect(() => {\r\n var _a;\r\n let data = (_a = details.artistes) === null || _a === void 0 ? void 0 : _a.map(artiste => {\r\n var _a, _b;\r\n return ({\r\n nom: artiste.nom,\r\n prenom: artiste.prenom,\r\n charges: \"\",\r\n emploi: artiste.emploi,\r\n instrument: ((_b = (_a = artiste.instrument) === null || _a === void 0 ? void 0 : _a.intitule) === null || _b === void 0 ? void 0 : _b[i18n.language]) || '-',\r\n id: artiste.id,\r\n isAssociated: artiste.isAssociated,\r\n isEngagementDirect: artiste.isEngagementDirect,\r\n actions: artiste.id,\r\n mensualisations: `${formatNumber(artiste.mensualisations)} €`,\r\n montantConcert: `${formatNumber(artiste.montantConcert)} €`,\r\n montantRepetitions: `${formatNumber(artiste.montantRepetitions)} €`,\r\n montantEnregistrement: `${formatNumber(artiste.montantEnregistrement)} €`,\r\n montantRepresentations: `${formatNumber(artiste.montantRepresentations)} €`,\r\n montantCharge: `${formatNumber(artiste.montantCharge)} €`\r\n });\r\n });\r\n if (IsCategoryWithEngagementDirect()) {\r\n data = data.filter(a => a.isEngagementDirect == isEngagementDirect);\r\n }\r\n data = data.sort((a, b) => sortArrayAsc(a.nom.toLowerCase(), b.nom.toLowerCase())) || [];\r\n setData(data);\r\n setTotalAmountTable(details);\r\n }, [details]);\r\n const getArtistesCountByEmploi = (emploi) => {\r\n var _a;\r\n return ((_a = details === null || details === void 0 ? void 0 : details.artistes) === null || _a === void 0 ? void 0 : _a.filter(x => x.emploi === emploi && x.isEngagementDirect == isEngagementDirect).length) || 0;\r\n };\r\n const chanteursCount = getArtistesCountByEmploi(Emploi.Chanteur);\r\n const danseursCount = getArtistesCountByEmploi(Emploi.Danseur);\r\n const musiciensCount = getArtistesCountByEmploi(Emploi.Musicien);\r\n const chefsOrchestreCount = getArtistesCountByEmploi(Emploi.ChefOrchestre);\r\n const choristesCount = getArtistesCountByEmploi(Emploi.Choriste);\r\n const comediensCount = getArtistesCountByEmploi(Emploi.Comedien);\r\n const circassiensCount = getArtistesCountByEmploi(Emploi.Circassien);\r\n const marionettistesCount = getArtistesCountByEmploi(Emploi.Marionnettiste);\r\n // Total cachets\r\n const [totalsData, setTotalsData] = useState([]);\r\n const setTotalAmountTable = (details) => {\r\n if (!details.artistes.length)\r\n return;\r\n const updatedData = [];\r\n if (details.hasConcert) {\r\n updatedData.push({\r\n label: t(`createFolder.contratsCachets.statsConcert`),\r\n value: (IsCategoryWithEngagementDirect()) ?\r\n `${formatNumber(details.artistes.filter(a => a.isEngagementDirect == isEngagementDirect).reduce((total, curr) => total + curr.montantConcert, 0))} €` :\r\n `${formatNumber(details.artistes.reduce((total, curr) => total + curr.montantConcert, 0))} €`\r\n });\r\n }\r\n if (details.hasEnregistrement) {\r\n updatedData.push({\r\n label: t(`createFolder.contratsCachets.statsEnregistrement`),\r\n value: (IsCategoryWithEngagementDirect()) ?\r\n `${formatNumber(details.artistes.filter(a => a.isEngagementDirect == isEngagementDirect).reduce((total, curr) => total + curr.montantEnregistrement, 0))} €` :\r\n `${formatNumber(details.artistes.reduce((total, curr) => total + curr.montantEnregistrement, 0))} €`\r\n });\r\n }\r\n if (details.hasRepresentation) {\r\n updatedData.push({\r\n label: t(`createFolder.contratsCachets.statsRepresentation`),\r\n value: (IsCategoryWithEngagementDirect()) ?\r\n `${formatNumber(details.artistes.filter(a => a.isEngagementDirect == isEngagementDirect).reduce((total, curr) => total + curr.montantRepresentations, 0))} €` :\r\n `${formatNumber(details.artistes.reduce((total, curr) => total + curr.montantRepresentations, 0))} €`\r\n });\r\n }\r\n if (details.hasRepetition) {\r\n updatedData.push({\r\n label: t(`createFolder.contratsCachets.statsRepetition`),\r\n value: (IsCategoryWithEngagementDirect()) ?\r\n `${formatNumber(details.artistes.filter(a => a.isEngagementDirect == isEngagementDirect).reduce((total, curr) => total + curr.montantRepetitions, 0))} €` :\r\n `${formatNumber(details.artistes.reduce((total, curr) => total + curr.montantRepetitions, 0))} €`\r\n });\r\n }\r\n if (details.hasMensualisation) {\r\n updatedData.push({\r\n label: t(`createFolder.contratsCachets.salaires`),\r\n value: (IsCategoryWithEngagementDirect()) ?\r\n `${formatNumber(details.artistes.filter(a => a.isEngagementDirect == isEngagementDirect).reduce((total, curr) => total + curr.mensualisations, 0))} €` :\r\n `${formatNumber(details.artistes.reduce((total, curr) => total + curr.mensualisations, 0))} €`\r\n });\r\n }\r\n updatedData.push({\r\n label: t(`createFolder.contratsCachets.statsChargesPatronales`),\r\n value: (IsCategoryWithEngagementDirect()) ?\r\n `${formatNumber(details.artistes.filter(a => a.isEngagementDirect == isEngagementDirect).reduce((total, curr) => total + curr.montantCharge, 0))} €` :\r\n `${formatNumber(details.artistes.reduce((total, curr) => total + curr.montantCharge, 0))} €`\r\n });\r\n setTotalsData(updatedData);\r\n };\r\n return (React.createElement(React.Fragment, null,\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(\"div\", { className: \"detailsTab__iconsList\" },\r\n React.createElement(\"div\", { className: \"total\" },\r\n React.createElement(\"span\", null, IsCategoryWithEngagementDirect() ?\r\n ((_c = (_b = details === null || details === void 0 ? void 0 : details.artistes) === null || _b === void 0 ? void 0 : _b.filter(a => a.isEngagementDirect == isEngagementDirect)) === null || _c === void 0 ? void 0 : _c.length) || 0 :\r\n ((_d = details === null || details === void 0 ? void 0 : details.artistes) === null || _d === void 0 ? void 0 : _d.length) || 0),\r\n React.createElement(\"div\", null, t('dossier.details.artistes', { count: ((_e = details === null || details === void 0 ? void 0 : details.artistes) === null || _e === void 0 ? void 0 : _e.length) || 0 }))),\r\n (IsCategoryWithEngagementDirect() ?\r\n ((details === null || details === void 0 ? void 0 : details.artistes) && ((_g = (_f = details.artistes) === null || _f === void 0 ? void 0 : _f.filter(a => a.isEngagementDirect == isEngagementDirect)) === null || _g === void 0 ? void 0 : _g.length) > 0) :\r\n ((details === null || details === void 0 ? void 0 : details.artistes) && ((_h = details.artistes) === null || _h === void 0 ? void 0 : _h.length) > 0)) && (React.createElement(\"div\", { className: \"icons\" },\r\n musiciensCount > 0 && (React.createElement(\"div\", null,\r\n React.createElement(\"i\", { className: \"fas fa-music\" }),\r\n t('dossier.details.musiciensWithCount', { count: musiciensCount }))),\r\n chefsOrchestreCount > 0 && (React.createElement(\"div\", null,\r\n React.createElement(\"i\", { className: \"fas fa-ear\" }),\r\n t('dossier.details.chefsOrchestreWithCount', { count: chefsOrchestreCount }))),\r\n choristesCount > 0 && (React.createElement(\"div\", null,\r\n React.createElement(\"i\", { className: \"fas fa-users\" }),\r\n t('dossier.details.choristesWithCount', { count: choristesCount }))),\r\n danseursCount > 0 && (React.createElement(\"div\", null,\r\n React.createElement(\"i\", { className: \"fas fa-walking\" }),\r\n t('dossier.details.danseursWithCount', { count: danseursCount }))),\r\n chanteursCount > 0 && (React.createElement(\"div\", null,\r\n React.createElement(\"i\", { className: \"fas fa-microphone-alt\" }),\r\n t('dossier.details.chanteursWithCount', { count: chanteursCount }))),\r\n comediensCount > 0 && (React.createElement(\"div\", null,\r\n React.createElement(\"i\", { className: \"fas fa-user-ninja\" }),\r\n t('dossier.details.comediensWithCount', { count: comediensCount }))),\r\n circassiensCount > 0 && (React.createElement(\"div\", null,\r\n React.createElement(\"i\", { className: \"fas fa-drum\" }),\r\n t('dossier.details.circassiensWithCount', { count: circassiensCount }))),\r\n marionettistesCount > 0 && (React.createElement(\"div\", null,\r\n React.createElement(\"i\", { className: \"fas fa-male\" }),\r\n t('dossier.details.marionettistesWithCount', { count: marionettistesCount })))))),\r\n React.createElement(\"div\", { className: \"detailsTab__table\" },\r\n React.createElement(Table, { data: data, getTableProps: getTableProps, getTableBodyProps: getTableBodyProps, headerGroups: headerGroups, rows: rows, prepareRow: prepareRow, styles: styleTable.onglet })),\r\n totalsData.length > 0 && (React.createElement(TotalAmountsTable, { data: totalsData })))));\r\n};\r\nexport default Artistes;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport Table, { styleTable } from \"../basics/Table\";\r\nimport { useTable, useSortBy } from 'react-table';\r\nconst DeplacementsTable = ({ trajets }) => {\r\n const [trajetsTable, setTrajetsTable] = useState([]);\r\n useEffect(() => {\r\n trajets && setTable(trajets);\r\n }, [trajets]);\r\n const columns = React.useMemo(() => {\r\n return [{\r\n Header: \"Table\",\r\n columns: [\r\n { Header: \"Id\", accessor: \"id\", disableSortBy: true },\r\n { Header: \"Lieu de départ\", accessor: \"depart\", disableSortBy: true },\r\n { Header: \"Lieu de destination\", accessor: \"etape\", disableSortBy: true },\r\n { Header: \"Lieu de retour\", accessor: \"arrivee\", disableSortBy: true },\r\n { Header: \"Artistes\", accessor: \"artistes\", disableSortBy: true },\r\n ]\r\n }];\r\n }, []);\r\n const { getTableProps, getTableBodyProps, headerGroups, rows, prepareRow, state } = useTable({\r\n columns: columns,\r\n data: trajetsTable,\r\n initialState: { hiddenColumns: [\"id\"] },\r\n }, useSortBy);\r\n const setTable = (trajets) => {\r\n var _a, _b, _c, _d, _e, _f, _g;\r\n let result = [];\r\n if (trajets) {\r\n for (let trajet of trajets) {\r\n if (trajet.etapes) {\r\n let arrivee = trajet.etapes[((_a = trajet.etapes) === null || _a === void 0 ? void 0 : _a.length) - 1] && ((_c = trajet.etapes[((_b = trajet.etapes) === null || _b === void 0 ? void 0 : _b.length) - 1].pays) === null || _c === void 0 ? void 0 : _c.nom);\r\n let step = (((_d = trajet.etapes) === null || _d === void 0 ? void 0 : _d.length) || 0) > 2 ? (_e = trajet.etapes) === null || _e === void 0 ? void 0 : _e.slice(1, trajet.etapes.length - 1) : [];\r\n let destinations = step === null || step === void 0 ? void 0 : step.map(e => { var _a; return (_a = e.pays) === null || _a === void 0 ? void 0 : _a.nom; }).join(\", \");\r\n let item = {\r\n id: trajet.id || '',\r\n depart: ((_f = trajet.etapes[0].pays) === null || _f === void 0 ? void 0 : _f.nom) || '',\r\n etape: destinations || '',\r\n arrivee: arrivee,\r\n artistes: ((_g = trajet.artistes) === null || _g === void 0 ? void 0 : _g.map(e => e.fullName).join(\", \")) || ''\r\n };\r\n result.push(item);\r\n }\r\n }\r\n setTrajetsTable(result);\r\n }\r\n };\r\n return (React.createElement(Table, { data: trajetsTable, getTableProps: getTableProps, getTableBodyProps: getTableBodyProps, headerGroups: headerGroups, rows: rows, prepareRow: prepareRow, styles: styleTable.onglet }));\r\n};\r\nexport default DeplacementsTable;\r\n","import moment from 'moment';\r\nimport React, { Fragment, useEffect, useMemo, useState } from 'react';\r\nimport { useSortBy, useTable } from 'react-table';\r\nimport { CategorieDossier } from '../../enums/CategorieDossier';\r\nimport { TypePrestation } from '../../models/generated/BackOffice-api';\r\nimport Table, { styleTable } from \"../basics/Table\";\r\nimport { formaterDate } from '../../utils/functions';\r\nconst Programmation = ({ dates, categorieDossier }) => {\r\n const [data, setData] = useState([]);\r\n /** React table config */\r\n const columns = useMemo(() => {\r\n return [\r\n {\r\n Header: \"Table\",\r\n columns: [\r\n {\r\n Header: \"Date\",\r\n accessor: \"DateSpectacle\",\r\n sortType: (rowA, rowB, id, desc) => {\r\n let a = moment(rowA.values[id], 'DD/MM/YYYY').valueOf();\r\n let b = moment(rowB.values[id], 'DD/MM/YYYY').valueOf();\r\n if (a > b) {\r\n return 1;\r\n }\r\n if (a < b) {\r\n return -1;\r\n }\r\n return 0;\r\n }\r\n },\r\n {\r\n Header: \"Lieu\",\r\n accessor: \"Lieu\",\r\n sortType: \"basic\"\r\n },\r\n {\r\n Header: \"Pays\",\r\n accessor: \"Pays\",\r\n sortType: \"basic\"\r\n },\r\n {\r\n Header: \"Département\",\r\n accessor: \"Departement\",\r\n sortType: \"basic\"\r\n },\r\n {\r\n Header: \"Description\",\r\n accessor: \"Description\",\r\n sortType: \"basic\"\r\n },\r\n {\r\n Header: \"Ville\",\r\n accessor: \"Ville\",\r\n sortType: \"basic\"\r\n },\r\n {\r\n Header: \"Artistes\",\r\n accessor: \"Artistes\",\r\n sortType: \"basic\"\r\n },\r\n {\r\n Header: \"Id\",\r\n accessor: \"Id\"\r\n }\r\n ]\r\n }\r\n ];\r\n }, [categorieDossier]);\r\n const getArtistesListByDate = (date) => {\r\n var _a;\r\n return (_a = date.artistes) === null || _a === void 0 ? void 0 : _a.map(x => (React.createElement(Fragment, { key: x.id },\r\n React.createElement(\"span\", { className: `${(x === null || x === void 0 ? void 0 : x.artistePrincipal) ? \"artiste-principal\" : \"\"} ${!(x === null || x === void 0 ? void 0 : x.isEngagementDirect) ? \"isContratVente\" : \"\"}` }, x === null || x === void 0 ? void 0 : x.fullName)))).reduce((accumulator, currentVal) => {\r\n if (accumulator.length) {\r\n accumulator.push(', ');\r\n }\r\n return [accumulator, currentVal];\r\n }, []);\r\n };\r\n /** Get the datas for the table */\r\n useEffect(() => {\r\n const data = dates === null || dates === void 0 ? void 0 : dates.map(date => ({\r\n DateSpectacle: formaterDate(date.date),\r\n Lieu: date.lieu,\r\n Departement: date.departement ? date.departement : '',\r\n Description: date.description,\r\n Ville: date.ville,\r\n Pays: date.pays.nom,\r\n Artistes: getArtistesListByDate(date)\r\n }));\r\n setData(data);\r\n }, [dates]);\r\n const getHiddenColumns = () => {\r\n const hiddenColumns = ['Id'];\r\n const typePrestation = dates[0].typePrestation;\r\n if (typePrestation !== TypePrestation.Representation &&\r\n typePrestation !== TypePrestation.Repetition &&\r\n typePrestation !== TypePrestation.Enregistrement &&\r\n typePrestation !== TypePrestation.Diffusion &&\r\n typePrestation !== TypePrestation.Concert) {\r\n hiddenColumns.push('Lieu');\r\n }\r\n if (typePrestation === TypePrestation.Diffusion) {\r\n hiddenColumns.push('Artistes');\r\n }\r\n if ((categorieDossier === null || categorieDossier === void 0 ? void 0 : categorieDossier.code) && categorieDossier.code === CategorieDossier.DeplacementInternational) {\r\n hiddenColumns.push('Departement');\r\n }\r\n return hiddenColumns;\r\n };\r\n const { getTableProps, getTableBodyProps, headerGroups, rows, prepareRow } = useTable({\r\n columns,\r\n data,\r\n initialState: {\r\n hiddenColumns: getHiddenColumns()\r\n },\r\n manualSortBy: true\r\n }, useSortBy);\r\n return (React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(Table, { className: \"table--programmation\", data: data, getTableProps: getTableProps, getTableBodyProps: getTableBodyProps, headerGroups: headerGroups, rows: rows, prepareRow: prepareRow, styles: styleTable.onglet })));\r\n};\r\nexport default Programmation;\r\n","import { CategorieDossier } from \"../enums/CategorieDossier\";\r\nimport { ChampDepense } from \"../models/generated/BackOffice-api\";\r\nexport const getChampDepenseKey = (champ, categorieCode) => {\r\n switch (categorieCode) {\r\n case CategorieDossier.AidePromotionImage:\r\n switch (champ) {\r\n case ChampDepense.SalairesArtisteEnregistrement:\r\n case ChampDepense.SalairesArtisteRepetition:\r\n return champ + \"Api\";\r\n default:\r\n return champ;\r\n }\r\n case CategorieDossier.InteretGeneral:\r\n switch (champ) {\r\n case ChampDepense.ContratsVentes:\r\n return champ + \"IG\";\r\n default:\r\n return champ;\r\n }\r\n default:\r\n return champ;\r\n }\r\n};\r\n","import clsx from \"clsx\";\r\nimport React from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { CategorieDossier } from \"../../enums/CategorieDossier\";\r\nimport { TypeDepense, TypeFinancement } from '../../models/generated/BackOffice-api';\r\nimport { formatNumber } from '../../utils/functions';\r\nimport { getChampDepenseKey } from \"../../utils/translationHelpers\";\r\nimport TotalAmountsTable from \"../basics/TotalAmountsTable\";\r\nconst Contenu = ({ budget, categorie }) => {\r\n const { t } = useTranslation();\r\n const getBudgetByType = (budgetType) => {\r\n if (!budget) {\r\n return [];\r\n }\r\n const budgetByType = budget[budgetType];\r\n return (budgetByType === null || budgetByType === void 0 ? void 0 : budgetByType.reduce((accumulator, currentVal) => {\r\n const budgetByType = accumulator.filter(x => x.some(y => y.type === currentVal.type));\r\n if (budgetByType.length) {\r\n budgetByType[0].push(currentVal);\r\n }\r\n else {\r\n accumulator.push([currentVal]);\r\n }\r\n return accumulator;\r\n }, [])) || [];\r\n };\r\n const getTotalByBudgetType = (budgetType) => {\r\n if (!budget) {\r\n return 0;\r\n }\r\n const budgetByType = budget[budgetType];\r\n return (budgetByType === null || budgetByType === void 0 ? void 0 : budgetByType.map(x => x.montant).reduce((accumulator = 0, currentVal = 0) => accumulator + currentVal, 0)) || 0;\r\n };\r\n const depensesByType = getBudgetByType(\"depenses\");\r\n const financementsByType = getBudgetByType(\"financements\");\r\n const totalDepenses = getTotalByBudgetType(\"depenses\");\r\n const totalFinancements = getTotalByBudgetType(\"financements\");\r\n return (React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n depensesByType.length > 0 && (React.createElement(\"table\", { className: \"detailsTab__table detailsTab__tableBudget\" },\r\n React.createElement(\"thead\", null,\r\n React.createElement(\"tr\", null,\r\n React.createElement(\"th\", { className: \"budgetCol\", id: \"budgetPrevisionnelDepenses\", scope: \"col\" },\r\n React.createElement(\"h4\", null, t(`dossier.depense.title`))),\r\n React.createElement(\"th\", { id: \"budgetHTDepenses\", scope: \"col\" }, t(`shared.budgetHt`)),\r\n React.createElement(\"th\", { id: \"commentaireDepenses\", scope: \"col\" }, t(`shared.commentaire`)),\r\n React.createElement(\"th\", { id: \"documentDepenses\", scope: \"col\" }, t(`shared.document`)))),\r\n React.createElement(\"tbody\", null, depensesByType.map((x, index) => (React.createElement(React.Fragment, { key: index },\r\n React.createElement(\"tr\", null,\r\n React.createElement(\"th\", { id: x[0].type, scope: \"colgroup\", colSpan: 3 },\r\n index + 1,\r\n \". \",\r\n t(`dossier.depense.${((categorie === null || categorie === void 0 ? void 0 : categorie.code) === CategorieDossier.AidePromotionImage) && (x[0].type === TypeDepense.AutresDepenses)\r\n ? `${x[0].type}Api`\r\n : x[0].type}`))),\r\n x.map((y, i) => (React.createElement(\"tr\", { key: `${y.id}${i}` },\r\n React.createElement(\"td\", { className: \"budgetCol\", headers: `${x[0].type} budgetPrevisionnelDepenses` },\r\n index + 1,\r\n \".\",\r\n i + 1,\r\n \" \",\r\n y.champ == 'autre' ? y.intitule : t(`champDepense.${getChampDepenseKey(y.champ, categorie === null || categorie === void 0 ? void 0 : categorie.code)}`)),\r\n React.createElement(\"td\", { headers: `${x[0].type} budgetHTDepenses` },\r\n y.montant ? formatNumber(y.montant) : '-',\r\n \" \\u20AC\"),\r\n React.createElement(\"td\", { headers: `${x[0].type} commentaireDepenses` }, y.commentaire),\r\n React.createElement(\"td\", { headers: `${x[0].type} documentDepenses` }, y.document &&\r\n React.createElement(\"a\", { className: \"documentsIcon\", target: \"_blank\", href: y.document.uri },\r\n React.createElement(\"i\", { className: \"fas fa-file-upload\" }),\r\n y.document.fileName))))),\r\n React.createElement(\"tr\", { className: \"strong\" },\r\n React.createElement(\"td\", null, \"Sous-total\"),\r\n React.createElement(\"td\", null, `${formatNumber(x.reduce((acc, currentVal) => acc + currentVal.montant, 0))} €`),\r\n React.createElement(\"td\", null)))))))),\r\n (totalDepenses !== 0) ? (React.createElement(TotalAmountsTable, { data: [\r\n {\r\n label: t(`dossier.depense.titleTotal`),\r\n value: `${formatNumber(totalDepenses)} €`,\r\n }\r\n ] })) : (React.createElement(\"div\", { className: \"detailsTab__informations\" },\r\n React.createElement(\"div\", { className: \"detailsTab__text\" }, \"-\"))),\r\n financementsByType.length > 0 && (React.createElement(\"table\", { className: \"detailsTab__table detailsTab__tableBudget\" },\r\n React.createElement(\"thead\", null,\r\n React.createElement(\"tr\", null,\r\n React.createElement(\"th\", { className: \"budgetCol\", id: \"budgetPrevisionnelFinancements\", scope: \"col\" },\r\n React.createElement(\"h4\", null, t(`dossier.financement.title`))),\r\n React.createElement(\"th\", { id: \"budgetHTFinancements\", scope: \"col\" }, t(`shared.budgetHt`)),\r\n React.createElement(\"th\", { id: \"commentaireFinancements\", scope: \"col\" }, t(`shared.commentaire`)),\r\n React.createElement(\"th\", { id: \"documentFinancements\", scope: \"col\" }, t(`shared.document`)))),\r\n React.createElement(\"tbody\", null, financementsByType.map((x, i) => {\r\n const index = i + depensesByType.length;\r\n return React.createElement(React.Fragment, { key: index },\r\n React.createElement(\"tr\", null,\r\n React.createElement(\"th\", { id: x[0].type, scope: \"colgroup\", colSpan: 3 },\r\n index + 1,\r\n \". \",\r\n t(`dossier.financement.${(categorie === null || categorie === void 0 ? void 0 : categorie.code) === CategorieDossier.AidePromotionImage && x[0].type === TypeFinancement.RecettesPropres\r\n ? x[0].type + 'Api'\r\n : x[0].type}`))),\r\n x.map((y, i) => (React.createElement(\"tr\", { key: `${y.id}${i}`, className: clsx({ 'strong': y.champ === 'montantDemandeSPEDIDAM' }) },\r\n React.createElement(\"td\", { className: \"budgetCol\", headers: `${x[0].type} budgetPrevisionnelFinancements` },\r\n index + 1,\r\n \".\",\r\n i + 1,\r\n \" \",\r\n t(`champFinancement.${y.champ}`),\r\n y.intitule !== \"\" &&\r\n y.champ === \"autre\" &&\r\n `: ${y.intitule}`),\r\n React.createElement(\"td\", { headers: `${x[0].type} budgetHTFinancements` },\r\n y.montant ? formatNumber(y.montant) : '-',\r\n \" \\u20AC\"),\r\n React.createElement(\"td\", { headers: `${x[0].type} commentaireFinancements` }, y.commentaire),\r\n React.createElement(\"td\", { headers: `${x[0].type} documentFinancements` }, y.document &&\r\n React.createElement(\"a\", { className: \"documentsIcon\", target: \"_blank\", href: y.document.uri },\r\n React.createElement(\"i\", { className: \"fas fa-file-upload\" }),\r\n y.document.fileName))))),\r\n React.createElement(\"tr\", { className: \"strong\" },\r\n React.createElement(\"td\", null, \"Sous-total\"),\r\n React.createElement(\"td\", null, `${formatNumber(x.reduce((acc, currentVal) => acc + currentVal.montant, 0))} €`),\r\n React.createElement(\"td\", null)));\r\n })))),\r\n (totalFinancements !== 0) ? (React.createElement(TotalAmountsTable, { data: [\r\n {\r\n label: t(`dossier.financement.titleTotal`),\r\n value: `${formatNumber(totalFinancements)} €`,\r\n }\r\n ] })) : (React.createElement(\"div\", { className: \"detailsTab__informations\" },\r\n React.createElement(\"div\", { className: \"detailsTab__text\" }, \"-\")))));\r\n};\r\nexport default Contenu;\r\n","import React from 'react';\r\nconst InformationsBudget = ({ budget, isDetailDossierTab = false }) => {\r\n return (React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(\"div\", { className: \"detailsTab__informations\" },\r\n React.createElement(\"div\", { className: \"detailsTab__text\" }, (budget === null || budget === void 0 ? void 0 : budget.commentaire) || '-'),\r\n (!isDetailDossierTab && (budget === null || budget === void 0 ? void 0 : budget.documents) && budget.documents.length > 0) && (React.createElement(\"div\", { className: \"detailsTab__attachedDocuments\" },\r\n React.createElement(\"div\", { className: \"title\" }, \"Autres documents compl\\u00E9mentaire relatif \\u00E0 ce budget\"),\r\n React.createElement(\"ul\", null, budget.documents.map(x => (React.createElement(\"li\", { key: x.id },\r\n React.createElement(\"a\", { target: \"_blank\", href: x.uri },\r\n React.createElement(\"i\", { className: \"fas fa-file-upload\" })),\r\n x.fileName)))))))));\r\n};\r\nexport default InformationsBudget;\r\n","import React from 'react';\r\nimport InputReadOnly from '../InputReadOnly';\r\nimport { TypePoste } from '../../models/generated/BackOffice-api';\r\nimport { formatNumber, formatPhone } from '../../utils/functions';\r\nimport { useTranslation } from 'react-i18next';\r\nconst Structure = ({ \r\n// Ne passer que structure idéalement\r\ndetails: { structure = {} } }) => {\r\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;\r\n const { t, i18n } = useTranslation();\r\n return (React.createElement(React.Fragment, null,\r\n React.createElement(\"div\", { className: \"detailsTab__row\" },\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: 'structure_info' }, \"Information Structure\"),\r\n React.createElement(\"div\", { className: 'structure_separator' }),\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Raison sociale\", content: structure.raisonSociale || '-' })),\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Statut juridique\", content: ((_a = structure.formeJuridique) === null || _a === void 0 ? void 0 : _a.nom) || '-' })),\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Code Structure\", content: structure.codeStructure || '-' })),\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Code APE\", content: structure.codeAPE || '-' })),\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Nomenclature APE\", content: structure.nomenclatureAPE || '-' })),\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Civilit\\u00E9 du repr\\u00E9sentant l\\u00E9gal de la structure\", content: ((_b = structure.representantLegal) === null || _b === void 0 ? void 0 : _b.civilite) ? t(`common.civilite.${structure.representantLegal.civilite}`) : '-' }))),\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: 'structure_info' }, \"Repr\\u00E9sentant l\\u00E9gal\"),\r\n React.createElement(\"div\", { className: 'structure_separator' }),\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Nom\", content: ((_c = structure.representantLegal) === null || _c === void 0 ? void 0 : _c.nom) || '-' })),\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Pr\\u00E9nom\", content: ((_d = structure.representantLegal) === null || _d === void 0 ? void 0 : _d.prenom) || '-' })),\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Poste\", content: ((_e = structure.representantLegal) === null || _e === void 0 ? void 0 : _e.poste) && ((_f = structure.representantLegal) === null || _f === void 0 ? void 0 : _f.poste) !== TypePoste.None ? t(`common.typePoste.${structure.representantLegal.poste}`) : '-' }))),\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: 'structure_info' }, \"Coordonn\\u00E9es\"),\r\n React.createElement(\"div\", { className: 'structure_separator' }),\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Email\", content: ((_g = structure.representantLegal) === null || _g === void 0 ? void 0 : _g.email) || '-' })),\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"T\\u00E9l\\u00E9phone fixe\", content: ((_h = structure.representantLegal) === null || _h === void 0 ? void 0 : _h.telephoneFixe) ? formatPhone(structure.representantLegal.telephoneFixe) : '-' })),\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"T\\u00E9l\\u00E9phone portable\", content: ((_j = structure.representantLegal) === null || _j === void 0 ? void 0 : _j.telephonePortable) ? formatPhone(structure.representantLegal.telephonePortable) : '-' })),\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Adresse\", content: ((_k = structure.adresse) === null || _k === void 0 ? void 0 : _k.line1) || '-' })),\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Compl\\u00E9ment d'adresse\", content: ((_l = structure.adresse) === null || _l === void 0 ? void 0 : _l.line2) || '-' })),\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Code postal et ville\", content: (((_m = structure.adresse) === null || _m === void 0 ? void 0 : _m.codePostal) && ((_o = structure.adresse) === null || _o === void 0 ? void 0 : _o.ville)) ?\r\n `${formatNumber(parseInt(structure.adresse.codePostal))} ${structure.adresse.ville}`\r\n : '-' })),\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Adresse de correspondance\", content: ((_p = structure.adresseCorrespondance) === null || _p === void 0 ? void 0 : _p.line1) || '-' })),\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Compl\\u00E9ment d'adresse de correspondance\", content: ((_q = structure.adresseCorrespondance) === null || _q === void 0 ? void 0 : _q.line2) || '-' })),\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Code postal et ville de correspondance\", content: (((_r = structure.adresseCorrespondance) === null || _r === void 0 ? void 0 : _r.codePostal) && ((_s = structure.adresseCorrespondance) === null || _s === void 0 ? void 0 : _s.ville)) ?\r\n `${formatNumber(parseInt(structure.adresseCorrespondance.codePostal))} ${structure.adresseCorrespondance.ville}`\r\n : '-' })))),\r\n React.createElement(\"div\", { className: \"detailsTab__row\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Informations\", content: structure.informations || '-' })))));\r\n};\r\nexport default Structure;\r\n","import React, { useState, useEffect } from 'react';\r\nimport Table, { styleTable } from '../basics/Table';\r\nimport { useTable, useSortBy } from 'react-table';\r\nimport Modal from 'react-modal';\r\nimport { formatNumber, sortArrayAsc } from '../../utils/functions';\r\nimport { useTranslation } from 'react-i18next';\r\nimport InputReadOnly from '../InputReadOnly';\r\nconst Enseignants = ({ enseignants }) => {\r\n const { t, i18n } = useTranslation();\r\n const [isOpen, setIsOpen] = useState(false);\r\n const [selectedEnseignant, setSelectedEnseignant] = useState();\r\n const [data, setData] = useState([]);\r\n useEffect(() => {\r\n Modal.setAppElement('body');\r\n }, []);\r\n useEffect(() => {\r\n if (enseignants) {\r\n const array = enseignants.map((e) => {\r\n return {\r\n actions: e,\r\n nom: e.nom,\r\n prenom: e.prenom,\r\n disciplines: e.disciplines,\r\n typeContrat: e.typeContrat\r\n };\r\n }).sort((a, b) => sortArrayAsc(a.nom.toLowerCase(), b.nom.toLowerCase()));\r\n setData(array);\r\n }\r\n }, [enseignants]);\r\n const openModal = (value) => {\r\n setIsOpen(true);\r\n setSelectedEnseignant(value);\r\n };\r\n const closeModal = () => {\r\n setIsOpen(false);\r\n setSelectedEnseignant(undefined);\r\n };\r\n const columns = React.useMemo(() => {\r\n return [{\r\n Header: \"Table\",\r\n columns: [\r\n { Header: t('enseignants.listColumns.nom'), accessor: \"nom\", disableSortBy: true },\r\n { Header: t('enseignants.listColumns.prenom'), accessor: \"prenom\", disableSortBy: true },\r\n { Header: t('enseignants.listColumns.discipline'), accessor: \"disciplines\", disableSortBy: true, Cell: (value) => (React.createElement(\"span\", null, value.cell.value.map((element) => { return element.text[i18n.language]; }).join(\", \")))\r\n },\r\n { Header: t('enseignants.listColumns.typeContrat'), accessor: \"typeContrat\", disableSortBy: true },\r\n { accessor: \"id\", disableSortBy: true },\r\n { accessor: \"actions\", disableSortBy: true, Cell: (value) => (React.createElement(\"span\", null,\r\n React.createElement(\"i\", { className: \"fas fa-plus-circle\", role: \"button\", onClick: () => openModal(value.value) })))\r\n }\r\n ]\r\n }];\r\n }, []);\r\n const { getTableProps, getTableBodyProps, headerGroups, rows, prepareRow } = useTable({\r\n columns,\r\n data,\r\n initialState: { hiddenColumns: [\"id\"] },\r\n }, useSortBy);\r\n return React.createElement(React.Fragment, null,\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(Table, { data: data, getTableProps: getTableProps, getTableBodyProps: getTableBodyProps, headerGroups: headerGroups, rows: rows, prepareRow: prepareRow, styles: styleTable.onglet }),\r\n React.createElement(Modal, { isOpen: isOpen, style: {\r\n content: {\r\n overflow: 'visible',\r\n minWidth: '1000px'\r\n },\r\n overlay: {\r\n backgroundColor: 'rgba(0, 0, 0, .2)',\r\n zIndex: 10\r\n }\r\n }, className: \"normal__modal artisteModal\" },\r\n React.createElement(\"div\", { className: \"modal__header\" },\r\n React.createElement(\"h3\", null, \"D\\u00E9tails d'un enseignant\")),\r\n selectedEnseignant &&\r\n React.createElement(\"div\", { className: \"modal__content\" },\r\n React.createElement(\"div\", { className: \"detailsTab__row\" },\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Qualification\", content: selectedEnseignant.qualification ? t(`qualification.${selectedEnseignant.qualification}`) : '-' }))),\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Statut\", content: selectedEnseignant.statut ? t(`statutEnseignant.${selectedEnseignant.statut}`) : '-' }))),\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Ville\", content: selectedEnseignant.ville || '-' })))),\r\n React.createElement(\"div\", { className: \"detailsTab__row\" },\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Montant charges patronales\", content: selectedEnseignant.montantChargesPatronales ? `${formatNumber(selectedEnseignant.montantChargesPatronales)} €` : '-' }))),\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"R\\u00E9muneration brute annuelle\", content: selectedEnseignant.remunerationBruteAnnuelle ? `${formatNumber(selectedEnseignant.remunerationBruteAnnuelle)} €` : '-' }))),\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"R\\u00E9muneration premier trimestre\", content: selectedEnseignant.remunerationPremierTrimestre ? `${formatNumber(selectedEnseignant.remunerationPremierTrimestre)} €` : '-' })))),\r\n React.createElement(\"div\", { className: \"detailsTab__row\" },\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Tarif horaire brut\", content: selectedEnseignant.tarifHoraireBrut ? `${formatNumber(selectedEnseignant.tarifHoraireBrut)} €` : '-' }))),\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(\"div\", { className: \"inputReadOnly\" },\r\n React.createElement(\"label\", null, \"Contrat d'engagement\"),\r\n React.createElement(\"p\", null, selectedEnseignant.contratEngagement\r\n ? React.createElement(\"a\", { className: \"documentsIcon\", target: \"_blank\", href: selectedEnseignant.contratEngagement.uri },\r\n React.createElement(\"i\", { className: \"fas fa-file-upload\" }),\r\n selectedEnseignant.contratEngagement.fileName)\r\n : '-')))),\r\n selectedEnseignant.instrument\r\n ? React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Instrument\", content: selectedEnseignant.instrument.intitule.fr })))\r\n : React.createElement(\"div\", { className: \"detailsTab__column\" }))),\r\n React.createElement(\"div\", { className: \"modal__footer\" },\r\n React.createElement(\"button\", { type: \"button\", onClick: closeModal }, \"Fermer\")))));\r\n};\r\nexport default Enseignants;\r\n","import React from 'react';\r\nimport InputReadOnly from '../InputReadOnly';\r\nimport { useTranslation } from 'react-i18next';\r\nimport moment from 'moment';\r\nconst Salaries = ({ salarie }) => {\r\n var _a, _b, _c, _d;\r\n const { t, i18n } = useTranslation();\r\n return (React.createElement(React.Fragment, null,\r\n React.createElement(\"div\", { className: \"detailsTab__row\" },\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Nom\", content: `${salarie.nom || '-'}` }))),\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Pr\\u00E9nom\", content: `${salarie.prenom || '-'}` }))),\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Email\", content: `${salarie.email || '-'}` })))),\r\n React.createElement(\"div\", { className: \"detailsTab__row\" },\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Adresse\", content: `${((_a = salarie.adresse) === null || _a === void 0 ? void 0 : _a.line1) || '-'}` }))),\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Adresse compl\\u00E9mentaire\", content: `${((_b = salarie.adresse) === null || _b === void 0 ? void 0 : _b.line2) || '-'}` }))),\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Ville\", content: `${((_c = salarie.adresse) === null || _c === void 0 ? void 0 : _c.ville) || '-'}` })))),\r\n React.createElement(\"div\", { className: \"detailsTab__row\" },\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Code postal\", content: `${((_d = salarie.adresse) === null || _d === void 0 ? void 0 : _d.codePostal) || '-'}` }))),\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Type d'adresse\", content: t(`typesAdresses.${salarie.typesAdresses}`) }))),\r\n React.createElement(\"div\", null)),\r\n salarie.autreAdresse && React.createElement(\"div\", { className: \"detailsTab__midsection\" },\r\n React.createElement(\"h4\", null, \"Autre adresse\"),\r\n React.createElement(\"div\", { className: \"detailsTab__row\" },\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Adresse\", content: `${salarie.autreAdresse.line1 || '-'}` }))),\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Adresse compl\\u00E9mentaire\", content: `${salarie.autreAdresse.line2 || '-'}` }))),\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Ville\", content: `${salarie.autreAdresse.ville || '-'}` })))),\r\n React.createElement(\"div\", { className: \"detailsTab__row\" },\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Code postal\", content: `${salarie.autreAdresse.codePostal || '-'}` }))))),\r\n React.createElement(\"div\", { className: \"detailsTab__row\" },\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Date de naissance\", content: `${moment(salarie.dateNaissance).format('DD/MM/YYYY') || '-'}` }))),\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Date d'embauche pr\\u00E9vue\", content: `${moment(salarie.dateEmbauchePrevue).format('DD/MM/YYYY') || '-'}` }))),\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Salaire brut\", content: `${salarie.salaireBrut || '-'}` })))),\r\n React.createElement(\"div\", { className: \"detailsTab__row\" },\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Equipements\", content: `${salarie.equipements.split(',').map(e => { return e; }).filter(e => e !== \"none\" && e !== \"autre\").join(\", \")\r\n || '-'}` }))),\r\n salarie.autresEquipements &&\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Autre \\u00E9quipement\", content: `${salarie.autresEquipements || '-'}` }))),\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Convention collective\", content: `${salarie.conventionCollective || '-'}` })))),\r\n React.createElement(\"div\", { className: \"detailsTab__row\" },\r\n salarie.cv &&\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(\"div\", { className: \"inputReadOnly\" },\r\n React.createElement(\"label\", null, \"CV\"),\r\n React.createElement(\"p\", null,\r\n React.createElement(\"a\", { href: salarie.cv.uri, target: \"_blank\", rel: \"noreferrer\" }, salarie.cv.fileName))))),\r\n salarie.diplome &&\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(\"div\", { className: \"inputReadOnly\" },\r\n React.createElement(\"label\", null, \"Dipl\\u00F4me\"),\r\n React.createElement(\"p\", null,\r\n React.createElement(\"a\", { href: salarie.diplome.uri, target: \"_blank\", rel: \"noreferrer\" }, salarie.diplome.fileName))))))));\r\n};\r\nexport default Salaries;\r\n","import React from 'react';\r\nimport InputReadOnly from '../InputReadOnly';\r\nimport { formatNumber } from '../../utils/functions';\r\nconst ChiffresCles = ({ chiffres }) => {\r\n return (React.createElement(React.Fragment, null,\r\n React.createElement(\"div\", { className: \"detailsTab__row\" },\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Nombre d'enseignants en CDI\", content: `${formatNumber(chiffres.nombreEnseignantCDI) || '-'}` }))),\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Nombre d'enseignants en CDD\", content: `${formatNumber(chiffres.nombreEnseignantCDD) || '-'}` }))),\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Nombre d'enseignants en CDII\", content: `${formatNumber(chiffres.nombreEnseignantCDII) || '-'}` })))),\r\n React.createElement(\"div\", { className: \"detailsTab__row\" },\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Nombre de musicien intermittent\", content: `${formatNumber(chiffres.nombreMusicienIntermittent) || '-'}` }))),\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Nombre d'employ\\u00E9 administratif\", content: `${formatNumber(chiffres.nombreEmployeAdministratif) || '-'}` }))),\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Nombre d'employ\\u00E9 administratif ETP\", content: `${formatNumber(chiffres.nombreEmployeAdministratifETP) || '-'}` })))),\r\n React.createElement(\"div\", { className: \"detailsTab__row\" },\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Nombre total d'enseignant\", content: `${formatNumber(chiffres.nombreTotalEnseignant) || '-'}` }))),\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Nombre total d'enseignant ETP\", content: `${formatNumber(chiffres.nombreTotalEnseignantETP) || '-'}` }))),\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Nombre d'\\u00E9tudiant en cycle pro\", content: `${formatNumber(chiffres.nombreEtudiantCyclePro) || '-'}` })))),\r\n React.createElement(\"div\", { className: \"detailsTab__row\" },\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Nombre d'\\u00E9tudiant AFDAS\", content: `${formatNumber(chiffres.nombreEtudiantAFDAS) || '-'}` }))),\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Nombre d'\\u00E9tudiant CNFPT\", content: `${formatNumber(chiffres.nombreEtudiantCNFPT) || '-'}` }))),\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Nombre d'\\u00E9tudiant CIF\", content: `${formatNumber(chiffres.nombreEtudiantCIF) || '-'}` })))),\r\n React.createElement(\"div\", { className: \"detailsTab__row\" },\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Nombre d'\\u00E9tudiant en formation continue\", content: `${formatNumber(chiffres.nombreEtudiantFormationContinue) || '-'}` }))),\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Nombre d'\\u00E9tudiant en formation initiale\", content: `${formatNumber(chiffres.nombreEtudiantFormationInitiale) || '-'}` }))),\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Nombre d'\\u00E9l\\u00E8ve amateur\", content: `${formatNumber(chiffres.nombreEleveAmateur) || '-'}` })))),\r\n React.createElement(\"div\", { className: \"detailsTab__row\" },\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Nombre d'\\u00E9tudiant en cycle professionnel\", content: `${formatNumber(chiffres.nombreEtudiantCycleProfessionnelCurrentYear) || '-'}` }))),\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Nombre d'\\u00E9tudiant en cycle professionnel - N1\", content: `${formatNumber(chiffres.nombreEtudiantCycleProfessionnelN1) || '-'}` }))),\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Nombre d'\\u00E9tudiant en cycle professionnel - N2\", content: `${formatNumber(chiffres.nombreEtudiantCycleProfessionnelN2) || '-'}` })))),\r\n React.createElement(\"div\", { className: \"detailsTab__row\" },\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Nombre d'\\u00E9tudiant en cycle professionnel - N3\", content: `${formatNumber(chiffres.nombreEtudiantCycleProfessionnelN3) || '-'}` }))),\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Nombre d'\\u00E9tudiant en cycle professionnel - N4\", content: `${formatNumber(chiffres.nombreEtudiantCycleProfessionnelN4) || '-'}` }))),\r\n React.createElement(\"div\", { className: \"detailsTab__column\" })),\r\n React.createElement(\"div\", { className: \"detailsTab__row\" },\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Nombre d'\\u00E9tudiant en cycle loisir\", content: `${formatNumber(chiffres.nombreEtudiantCycleLoisirCurrentYear) || '-'}` }))),\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Nombre d'\\u00E9tudiant en cycle loisir - N1\", content: `${formatNumber(chiffres.nombreEtudiantCycleLoisirN1) || '-'}` }))),\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Nombre d'\\u00E9tudiant en cycle loisir - N2\", content: `${formatNumber(chiffres.nombreEtudiantCycleLoisirN2) || '-'}` })))),\r\n React.createElement(\"div\", { className: \"detailsTab__row\" },\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Nombre d'\\u00E9tudiant en cycle loisir - N3\", content: `${formatNumber(chiffres.nombreEtudiantCycleLoisirN3) || '-'}` }))),\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Nombre d'\\u00E9tudiant en cycle loisir - N4\", content: `${formatNumber(chiffres.nombreEtudiantCycleLoisirN4) || '-'}` }))),\r\n React.createElement(\"div\", { className: \"detailsTab__column\" })),\r\n React.createElement(\"div\", { className: \"detailsTab__row\" },\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Chiffre d'affaire\", content: `${formatNumber(chiffres.chiffreAffaire) || '-'}` }))),\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Chiffre d'affaire - N1\", content: `${formatNumber(chiffres.chiffreAffaireN1) || '-'}` }))),\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Chiffre d'affaire - N2\", content: `${formatNumber(chiffres.chiffreAffaireN2) || '-'}` })))),\r\n React.createElement(\"div\", { className: \"detailsTab__row\" },\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Chiffre d'affaire - N3\", content: `${formatNumber(chiffres.chiffreAffaireN3) || '-'}` }))),\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Chiffre d'affaire - N4\", content: `${formatNumber(chiffres.chiffreAffaireN4) || '-'}` }))),\r\n React.createElement(\"div\", { className: \"detailsTab__column\" })),\r\n React.createElement(\"div\", { className: \"detailsTab__row\" },\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Salaires\", content: `${formatNumber(chiffres.salaires) || '-'}` }))),\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Salaires - N1\", content: `${formatNumber(chiffres.salairesN1) || '-'}` }))),\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Salaires - N2\", content: `${formatNumber(chiffres.salairesN2) || '-'}` })))),\r\n React.createElement(\"div\", { className: \"detailsTab__row\" },\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Salaires - N3\", content: `${formatNumber(chiffres.salairesN3) || '-'}` }))),\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: \"Salaires - N4\", content: `${formatNumber(chiffres.salairesN4) || '-'}` }))),\r\n React.createElement(\"div\", { className: \"detailsTab__column\" }))));\r\n};\r\nexport default ChiffresCles;\r\n","import { AnswerType, ConditionOperator } from \"../models/generated/FrontOffice-api\";\r\nimport _ from \"lodash\";\r\nexport const shouldDisplayQuestion = (question, answers) => {\r\n if (!question.conditions) {\r\n return true;\r\n }\r\n return question.conditions.every(c => isConditionSatisfied(c, answers));\r\n};\r\nexport const shouldDisplayChoice = (choice, answers) => {\r\n if (!choice.conditions) {\r\n return true;\r\n }\r\n return choice.conditions.every(c => isConditionSatisfied(c, answers));\r\n};\r\nexport const isConditionSatisfied = (condition, answers) => {\r\n var _a, _b;\r\n const answer = answers[condition.questionId];\r\n switch (condition.operator) {\r\n case ConditionOperator.Empty:\r\n return answer === null || answer === undefined || answer === [] || answer === \"\";\r\n case ConditionOperator.Equal:\r\n if (Array.isArray(answer)) {\r\n return answer.some(item => { var _a; return item === ((_a = answers[condition.operandQuestionId]) !== null && _a !== void 0 ? _a : condition.operand); });\r\n }\r\n else {\r\n return answer === ((_a = answers[condition.operandQuestionId]) !== null && _a !== void 0 ? _a : condition.operand);\r\n }\r\n case ConditionOperator.AnyOf:\r\n if (Array.isArray(answer)) {\r\n const arr = answer;\r\n const intersect = _.intersection(arr, condition.operands);\r\n return intersect.length > 0;\r\n }\r\n else {\r\n return condition.operands.includes(answer);\r\n }\r\n case ConditionOperator.LesserThan:\r\n return answer < ((_b = answers[condition.operandQuestionId]) !== null && _b !== void 0 ? _b : condition.operand);\r\n default:\r\n throw new Error(\"Invalid condition operator\");\r\n }\r\n};\r\nconst allowUndefined = (question) => {\r\n return question.answerType === AnswerType.None || !question.isRequired;\r\n};\r\nconst isValidURL = (str) => {\r\n // protocol // domain // OR ip (v4) address // port and path // query string // fragment locator\r\n const pattern = /^(http:\\/\\/www\\.|https:\\/\\/www\\.|http:\\/\\/|https:\\/\\/|www\\.)((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|((\\d{1,3}\\.){3}\\d{1,3}))(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*(\\?[;&a-z\\d%_.~+=-]*)?(\\#[-a-z\\d_]*)?$/i;\r\n return pattern.test(str);\r\n};\r\nexport const parseAnswerValue = (value, answerType) => {\r\n switch (answerType) {\r\n case AnswerType.Date:\r\n if (typeof value === \"string\" || typeof value === \"number\") {\r\n value = new Date(value);\r\n }\r\n break;\r\n case AnswerType.IntegerNumber:\r\n if (typeof value === \"string\") {\r\n value = Number.parseInt(value);\r\n }\r\n break;\r\n case AnswerType.DecimalNumber:\r\n if (typeof value === \"string\") {\r\n value = Number.parseFloat(value);\r\n }\r\n break;\r\n case AnswerType.YesNo:\r\n if (typeof value === \"string\") {\r\n value = value.toLowerCase() === \"true\";\r\n }\r\n break;\r\n case AnswerType.YesNoDontKnow:\r\n if (typeof value === \"string\") {\r\n console.log(value.toLowerCase());\r\n value = value.toLowerCase();\r\n }\r\n break;\r\n case AnswerType.Period:\r\n if (value && typeof value === \"object\") {\r\n value = {\r\n start: parseAnswerValue(value.start, AnswerType.Date),\r\n end: parseAnswerValue(value.end, AnswerType.Date),\r\n };\r\n }\r\n break;\r\n }\r\n return value;\r\n};\r\n//TODO: renommer ça en ValidateAnswer\r\nexport const isAnswerValid = (question, answerValue, t) => {\r\n if (answerValue === undefined) {\r\n if (allowUndefined(question) === true) {\r\n return { isValid: true };\r\n }\r\n else {\r\n return {\r\n isValid: false,\r\n message: t(\"validation-messages.not-empty\")\r\n };\r\n }\r\n }\r\n if (question.presetAnswer && !question.presetAnswer.isModifiable) {\r\n if (answerValue === question.presetAnswer.value === true) {\r\n return { isValid: true };\r\n }\r\n else {\r\n return {\r\n isValid: false,\r\n message: t(\"validation-messages.invalid-field\")\r\n };\r\n }\r\n }\r\n switch (question.answerType) {\r\n case AnswerType.None:\r\n if (!answerValue === true) {\r\n return { isValid: true };\r\n }\r\n else {\r\n return {\r\n isValid: false,\r\n message: t(\"validation-messages.invalid-field\")\r\n };\r\n }\r\n case AnswerType.Text:\r\n case AnswerType.MultilineText:\r\n case AnswerType.Url:\r\n case AnswerType.Html:\r\n if (typeof answerValue === \"string\") {\r\n if (answerValue.length === 0) {\r\n if (question.isRequired) {\r\n return {\r\n isValid: false,\r\n message: t(\"validation-messages.required\")\r\n };\r\n }\r\n else {\r\n return { isValid: true };\r\n }\r\n }\r\n if (question.answerMaxLength && answerValue.length > question.answerMaxLength) {\r\n return {\r\n isValid: false,\r\n message: t(\"validation-messages.max-length\", { length: question.answerMaxLength })\r\n };\r\n }\r\n if (question.answerMinLength && answerValue.length < question.answerMinLength) {\r\n return {\r\n isValid: false,\r\n message: t(\"validation-messages.min-length\", { length: question.answerMinLength })\r\n };\r\n }\r\n const isMultiLine = question.answerType === AnswerType.MultilineText || question.answerType === AnswerType.Html;\r\n if (isMultiLine && answerValue === \"\") {\r\n return {\r\n isValid: false,\r\n message: t(\"validation-messages.not-empty\")\r\n };\r\n }\r\n if (question.answerType === AnswerType.Url && !isValidURL(answerValue)) {\r\n return {\r\n isValid: false,\r\n message: t(\"validation-messages.invalid-url\")\r\n };\r\n }\r\n return { isValid: true };\r\n }\r\n else {\r\n return {\r\n isValid: false,\r\n message: t(\"validation-messages.invalid-field\")\r\n };\r\n }\r\n case AnswerType.Date:\r\n if (answerValue instanceof Date) {\r\n if (question.answerMaxValue instanceof Date && answerValue > question.answerMaxValue) {\r\n return {\r\n isValid: false,\r\n message: t(\"validation-messages.max-date\", { date: question.answerMaxValue })\r\n };\r\n }\r\n if (question.answerMinValue instanceof Date && answerValue < question.answerMinValue) {\r\n return {\r\n isValid: false,\r\n message: t(\"validation-messages.min-date\", { date: question.answerMinValue })\r\n };\r\n }\r\n return { isValid: true };\r\n }\r\n else {\r\n return {\r\n isValid: false,\r\n message: t(\"validation-messages.invalid-date\")\r\n };\r\n }\r\n case AnswerType.IntegerNumber:\r\n case AnswerType.DecimalNumber:\r\n if (typeof answerValue === \"number\") {\r\n if (Number.isNaN(answerValue) || !Number.isFinite(answerValue)) {\r\n return {\r\n isValid: false,\r\n message: t(\"validation-messages.invalid-field\")\r\n };\r\n }\r\n if (typeof question.answerMaxValue === \"number\" && answerValue >= question.answerMaxValue) {\r\n return {\r\n isValid: false,\r\n message: t(\"validation-messages.max-number\", { number: question.answerMaxValue })\r\n };\r\n }\r\n if (typeof question.answerMinValue === \"number\" && answerValue <= question.answerMinValue) {\r\n return {\r\n isValid: false,\r\n message: t(\"validation-messages.min-number\", { number: question.answerMinValue })\r\n };\r\n }\r\n if (question.answerType !== AnswerType.DecimalNumber && !Number.isInteger(answerValue)) {\r\n return {\r\n isValid: false,\r\n message: t(\"validation-messages.invalid-number\")\r\n };\r\n }\r\n return { isValid: true };\r\n }\r\n else {\r\n return {\r\n isValid: false,\r\n message: t(\"validation-messages.invalid-field\")\r\n };\r\n }\r\n case AnswerType.SingleChoiceList:\r\n if (question.choices && question.choices.some(c => c.id === answerValue)) {\r\n return { isValid: true };\r\n }\r\n else {\r\n return {\r\n isValid: false,\r\n message: t(\"validation-messages.not-empty\")\r\n };\r\n }\r\n ;\r\n case AnswerType.MultipleChoiceList:\r\n if (Array.isArray(answerValue) && answerValue.length > 0 && answerValue.every(a => question.choices.some(c => c.id === a))) {\r\n return { isValid: true };\r\n }\r\n else {\r\n return {\r\n isValid: false,\r\n message: t(\"validation-messages.not-empty\")\r\n };\r\n }\r\n ;\r\n case AnswerType.YesNo:\r\n if (typeof answerValue === \"boolean\") {\r\n return { isValid: true };\r\n }\r\n else {\r\n return {\r\n isValid: false,\r\n message: t(\"validation-messages.invalid-field\")\r\n };\r\n }\r\n ;\r\n case AnswerType.YesNoDontKnow:\r\n if (answerValue === null || typeof answerValue === \"boolean\") {\r\n return { isValid: true };\r\n }\r\n else {\r\n return {\r\n isValid: false,\r\n message: t(\"validation-messages.invalid-field\")\r\n };\r\n }\r\n ;\r\n case AnswerType.Period:\r\n if (typeof answerValue === \"object\") {\r\n let { start, end } = answerValue;\r\n if (!start || !end) {\r\n return {\r\n isValid: false,\r\n message: t(\"validation-messages.invalid-field\")\r\n };\r\n }\r\n if (end <= start) {\r\n return {\r\n isValid: false,\r\n message: t(\"validation-messages.invalid-field\")\r\n };\r\n }\r\n return { isValid: true };\r\n }\r\n else {\r\n return {\r\n isValid: false,\r\n message: t(\"validation-messages.invalid-field\")\r\n };\r\n }\r\n case AnswerType.File:\r\n if (typeof answerValue === \"object\") {\r\n const currentFileExtension = (answerValue.name || answerValue.fileName).split('.').pop();\r\n if (question.fileExtensions && !question.fileExtensions.some(x => x === currentFileExtension)) {\r\n return {\r\n isValid: false,\r\n message: t(\"validation-messages.invalid-file-format\", { formats: question.fileExtensions.join(', ') })\r\n };\r\n }\r\n return { isValid: true };\r\n }\r\n else {\r\n return {\r\n isValid: false,\r\n message: t(\"validation-messages.invalid-field\")\r\n };\r\n }\r\n case AnswerType.Array:\r\n if (Array.isArray(answerValue)) {\r\n let itemResults = {};\r\n for (let index = 0; index < answerValue.length; index++) {\r\n const item = answerValue[index];\r\n let itemResult = {};\r\n for (const q of question.arrayItemsQuestions) {\r\n let r = isAnswerValid(q, item[q.id], t);\r\n if (!r.isValid)\r\n itemResult[q.id] = r;\r\n }\r\n if (Object.keys(itemResult).length !== 0) {\r\n itemResults[index.toString()] = itemResult;\r\n }\r\n }\r\n return {\r\n isValid: Object.keys(itemResults).length === 0,\r\n message: Object.keys(itemResults).length === 0 ? \"\" : t(\"validation-messages.invalid-fields\"),\r\n items: itemResults\r\n };\r\n }\r\n return { isValid: true };\r\n case AnswerType.Blocking:\r\n // There's no valid answer to a blocking question (that's the point)\r\n return {\r\n isValid: false,\r\n message: ''\r\n };\r\n }\r\n};\r\n","export enum StyleMusical {\r\n pasDeMusiqueId = \"51\",\r\n}","import React from \"react\";\r\nimport InputReadOnly from '../../../InputReadOnly';\r\nconst SimpleQuestionInput = (props) => {\r\n return (props.isUrl || props.id === \"contenu-projet-lien-extrait-audiovisuel-realisateur\" || props.id === \"contenu-projet-lien-extrait-audiovisuel-artiste\")\r\n ? React.createElement(\"div\", { className: `inputReadOnly` },\r\n React.createElement(\"label\", null, `${props.title ? props.title : \"\"}`),\r\n React.createElement(\"p\", null,\r\n React.createElement(\"a\", { href: `${props.currentValue}`, target: \"_blank\", rel: \"noreferrer\" }, props.currentValue)))\r\n : React.createElement(InputReadOnly, { label: props.title, content: `${props.currentValue}` });\r\n};\r\nexport default SimpleQuestionInput;\r\n","import React from \"react\";\r\nimport InputReadOnly from '../../../InputReadOnly';\r\nconst YesNoQuestionInput = (props) => {\r\n return React.createElement(InputReadOnly, { hasHtmlLabel: true, label: `${props.title ? props.title : \"\"}`, content: `${props.currentValue == true ? props.t(\"common.yes\") : (props.currentValue == false ? props.t(\"common.no\") : props.t(\"common.dontknow\"))}` });\r\n};\r\nexport default YesNoQuestionInput;\r\n","import React from \"react\";\r\nimport InputReadOnly from '../../../InputReadOnly';\r\nconst ChoiceListQuestionInput = (props) => {\r\n const content = () => {\r\n var _a, _b;\r\n if (props.isMulti) {\r\n const values = (_a = props.currentValue) === null || _a === void 0 ? void 0 : _a.map((curr) => {\r\n var _a;\r\n const value = (_a = props.question) === null || _a === void 0 ? void 0 : _a.choices.filter(c => !props.choiceFilter || props.choiceFilter(c)).find(c => c.id === curr);\r\n return (value === null || value === void 0 ? void 0 : value.textWithoutTraduction) ? `${value === null || value === void 0 ? void 0 : value.textWithoutTraduction}` : `${value === null || value === void 0 ? void 0 : value.text[props.lang]}`;\r\n });\r\n if (values)\r\n return `${values.join(\", \")}`;\r\n }\r\n else {\r\n const value = (_b = props.question) === null || _b === void 0 ? void 0 : _b.choices.filter(c => !props.choiceFilter || props.choiceFilter(c)).find(c => c.id === props.currentValue);\r\n return (value === null || value === void 0 ? void 0 : value.textWithoutTraduction) ? `${value === null || value === void 0 ? void 0 : value.textWithoutTraduction}` : `${value === null || value === void 0 ? void 0 : value.text[props.lang]}`;\r\n }\r\n };\r\n return React.createElement(InputReadOnly, { label: props.title, content: content() });\r\n};\r\nexport default ChoiceListQuestionInput;\r\n","import React from \"react\";\r\nimport InputReadOnly from '../../../InputReadOnly';\r\nimport { formaterDate } from \"../../../../utils/functions\";\r\nconst DateQuestionInput = (props) => {\r\n return React.createElement(InputReadOnly, { hasHtmlLabel: true, label: `${props.title ? props.title : \"\"}`, content: `${formaterDate(props.currentValue)}` });\r\n};\r\nexport default DateQuestionInput;\r\n","import React from \"react\";\r\nimport moment from 'moment';\r\nimport InputReadOnly from '../../../InputReadOnly';\r\nconst PeriodQuestionInput = (props) => {\r\n var _a, _b;\r\n return React.createElement(InputReadOnly, { label: `${props.title ? props.title : \"\"}`, content: `${moment((_a = props.currentValue) === null || _a === void 0 ? void 0 : _a.start).format(\"DD/MM/YYYY\")} - ${moment((_b = props.currentValue) === null || _b === void 0 ? void 0 : _b.end).format(\"DD/MM/YYYY\")}` });\r\n};\r\nexport default PeriodQuestionInput;\r\n","import React from \"react\";\r\nconst FileQuestionInput = (props) => {\r\n var _a, _b;\r\n return (React.createElement(\"div\", { className: `inputReadOnly` },\r\n React.createElement(\"label\", { dangerouslySetInnerHTML: { __html: props.title ? props.title : \"\" } }),\r\n React.createElement(\"p\", null,\r\n React.createElement(\"a\", { href: `${(_a = props.currentValue) === null || _a === void 0 ? void 0 : _a.uri}`, target: \"_blank\", rel: \"noreferrer\" }, (_b = props.currentValue) === null || _b === void 0 ? void 0 : _b.fileName))));\r\n};\r\nexport default FileQuestionInput;\r\n","import React from \"react\";\r\nimport { getAnswer } from '../RenderBlockContent';\r\nconst ArrayQuestionInputItem = (props) => {\r\n return React.createElement(\"div\", { className: \"creationDossier__row\" }, props.questions.map((question, i) => {\r\n var _a;\r\n const currentValue = getAnswer(question, (_a = props.item) !== null && _a !== void 0 ? _a : {});\r\n return React.createElement(\"div\", { key: i }, props.renderQuestionInput(question, //question: QuestionDto\r\n currentValue, question === null || question === void 0 ? void 0 : question.id));\r\n }));\r\n};\r\nexport default ArrayQuestionInputItem;\r\n","import React from \"react\";\r\nimport ArrayQuestionInputItem from \"./ArrayQuestionInputItem\";\r\nconst ArrayQuestionInput = (props) => {\r\n var _a;\r\n return React.createElement(\"div\", null,\r\n props.title &&\r\n React.createElement(\"div\", { className: \"questionField__title\" }, props.title), (_a = props.currentValue) === null || _a === void 0 ? void 0 :\r\n _a.map((item, i) => {\r\n var _a;\r\n return React.createElement(\"div\", { key: i },\r\n React.createElement(ArrayQuestionInputItem, { index: i, item: item, renderQuestionInput: props.renderQuestionInput, questions: (_a = props.question) === null || _a === void 0 ? void 0 : _a.arrayItemsQuestions }));\r\n }));\r\n};\r\nexport default ArrayQuestionInput;\r\n","import React from \"react\";\r\nimport { parseAnswerValue, shouldDisplayChoice, shouldDisplayQuestion, } from \"../../../utils/questionHelpers\";\r\nimport SimpleQuestionInput from \"./questions/SimpleQuestionInput\";\r\nimport YesNoQuestionInput from \"./questions/YesNoQuestionInput\";\r\nimport ChoiceListQuestionInput from \"./questions/ChoiceListQuestionInput\";\r\nimport DateQuestionInput from \"./questions/DateQuestionInput\";\r\nimport PeriodQuestionInput from \"./questions/PeriodQuestionInput\";\r\nimport FileQuestionInput from \"./questions/FileQuestionInput\";\r\nimport ArrayQuestionInput from \"./questions/ArrayQuestionInput\";\r\nimport { AnswerType } from '../../../models/generated/FrontOffice-api';\r\nimport { useTranslation } from 'react-i18next';\r\nexport const getQuestions = (block, answers) => {\r\n if (!block.questions) {\r\n return [];\r\n }\r\n // Determine which questions should be visible based on current answers\r\n const isVisible = {};\r\n for (const q of block.questions) {\r\n isVisible[q.id] = shouldDisplayQuestion(q, answers);\r\n }\r\n // Remove questions that depend on questions that are not visible (repeat until none are found)\r\n // This could happen if the answer to a previous question changes. For instance:\r\n // - question B is visible if the answer to question A is \"true\"\r\n // - question C is visible if the answer to question B is \"true\"\r\n // - user answers \"true\" to question A, which makes question B visible\r\n // - user answers \"true\" to question B, which makes question C visible\r\n // - user changes their answer to question A to \"false\"\r\n // - question B becomes hidden, so question C should become hidden as well,\r\n // even though we have a \"true\" answer to B\r\n let removedAny;\r\n do {\r\n removedAny = false;\r\n for (const q of block.questions) {\r\n if (!isVisible[q.id]) {\r\n continue;\r\n }\r\n // If question depends on a question that is not visible\r\n if (q.conditions && q.conditions.some(c => !isVisible[c.questionId])) {\r\n // Hide that question\r\n isVisible[q.id] = false;\r\n removedAny = true;\r\n }\r\n }\r\n } while (removedAny);\r\n return block.questions.filter(q => isVisible[q.id]);\r\n};\r\nexport const getAnswer = (question, answers) => {\r\n if (answers) {\r\n let value = !answers.hasOwnProperty(question.id) && question.presetAnswer\r\n ? question.presetAnswer.value\r\n : answers[question.id];\r\n return parseAnswerValue(value, question.answerType);\r\n }\r\n};\r\nconst RenderBlockContent = ({ block, answers, lang }) => {\r\n const { t } = useTranslation();\r\n const renderQuestion = (question, block, currentValue) => {\r\n var _a;\r\n if (question.id == \"duree-estimee\" && question.answerType == AnswerType.IntegerNumber) {\r\n currentValue = (_a = answers[\"duree-estimee\"]) === null || _a === void 0 ? void 0 : _a.toString();\r\n }\r\n const questionId = block.id + \"-\" + question.id;\r\n return renderQuestionInput(question, currentValue, questionId);\r\n };\r\n const renderQuestionInput = (question, currentValue, questionId) => {\r\n var _a, _b, _c, _d, _e, _f, _g, _h, _j;\r\n switch (question.answerType) {\r\n case AnswerType.Text:\r\n case AnswerType.MultilineText:\r\n case AnswerType.Html:\r\n case AnswerType.IntegerNumber:\r\n case AnswerType.DecimalNumber:\r\n return React.createElement(SimpleQuestionInput, { title: (_a = question.text) === null || _a === void 0 ? void 0 : _a[lang], isUrl: false, id: questionId, question: question, currentValue: currentValue || \"\" });\r\n case AnswerType.Link:\r\n case AnswerType.Url:\r\n return React.createElement(SimpleQuestionInput, { title: (_b = question.text) === null || _b === void 0 ? void 0 : _b[lang], isUrl: true, id: questionId, question: question, currentValue: currentValue });\r\n case AnswerType.YesNo:\r\n case AnswerType.YesNoDontKnow:\r\n return React.createElement(YesNoQuestionInput, { title: (_c = question.text) === null || _c === void 0 ? void 0 : _c[lang], id: questionId, question: question, currentValue: currentValue, t: t });\r\n case AnswerType.File:\r\n return React.createElement(FileQuestionInput, { title: (_d = question.text) === null || _d === void 0 ? void 0 : _d[lang], id: questionId, question: question, currentValue: currentValue });\r\n case AnswerType.Date:\r\n return React.createElement(DateQuestionInput, { title: (_e = question.text) === null || _e === void 0 ? void 0 : _e[lang], id: questionId, question: question, currentValue: currentValue });\r\n case AnswerType.Period:\r\n return React.createElement(PeriodQuestionInput, { title: (_f = question.text) === null || _f === void 0 ? void 0 : _f[lang], id: questionId, question: question, currentValue: currentValue });\r\n case AnswerType.SingleChoiceList:\r\n return React.createElement(ChoiceListQuestionInput, { title: (_g = question.text) === null || _g === void 0 ? void 0 : _g[lang], id: questionId, question: question, currentValue: currentValue, choiceFilter: c => shouldDisplayChoice(c, answers), isMulti: false, lang: lang });\r\n case AnswerType.MultipleChoiceList:\r\n return React.createElement(ChoiceListQuestionInput, { title: (_h = question.text) === null || _h === void 0 ? void 0 : _h[lang], id: questionId, question: question, currentValue: currentValue, choiceFilter: c => shouldDisplayChoice(c, answers), isMulti: true, lang: lang });\r\n case AnswerType.Array:\r\n return React.createElement(ArrayQuestionInput, { title: (_j = question.text) === null || _j === void 0 ? void 0 : _j[lang], id: questionId, question: question, currentValue: currentValue, renderQuestionInput: renderQuestionInput });\r\n default:\r\n console.warn(`Question type \"${question.answerType}\" not supported`);\r\n return null;\r\n }\r\n };\r\n return (React.createElement(React.Fragment, null, block.questions && getQuestions(block, answers)\r\n .filter(q => q.id !== \"nom-du-projet\" && !(block.id === \"contenu-projet\" && q.id === \"description\"))\r\n .map(question => (React.createElement(\"div\", { key: question.id }, renderQuestion(question, block, getAnswer(question, answers)))))));\r\n};\r\nexport default RenderBlockContent;\r\n","import React, { useState, useEffect } from 'react';\r\nimport RenderBlockContent from './infosProjet/RenderBlockContent';\r\nimport { useTranslation } from 'react-i18next';\r\nimport InputReadOnly from '../InputReadOnly';\r\nimport clsx from 'clsx';\r\nconst InfosProjet = ({ details, lang, showResponsableDossier = true, showBlockTitle = true, className }) => {\r\n const { t, i18n } = useTranslation();\r\n const [blocks, setBlocks] = useState([]);\r\n const [answers, setAnswers] = useState({});\r\n useEffect(() => {\r\n if (details) {\r\n setBlocks(details.questionBlocks);\r\n setAnswers(details.answers);\r\n }\r\n }, [details]);\r\n return (React.createElement(\"div\", { className: clsx('dossier-infos-complementaires', className) }, blocks.map(block => {\r\n var _a, _b, _c, _d, _e, _f, _g;\r\n return (React.createElement(React.Fragment, { key: block.id }, (block.id === \"infos-responsable-dossier\") ? (React.createElement(React.Fragment, null, showResponsableDossier && (React.createElement(\"div\", { className: \"detailsTab__content\", id: \"block-\" + block.id },\r\n React.createElement(\"h4\", { className: \"title--red\" }, t('createFolder.responsableDossier.title')),\r\n React.createElement(\"section\", { className: \"creationDossier__item\" },\r\n React.createElement(\"div\", { className: \"detailsTab__row\" },\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: t('createFolder.responsableDossier.civilite'), content: ((_a = details.responsableDossier) === null || _a === void 0 ? void 0 : _a.civilite) || '-' }))),\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: t('createFolder.responsableDossier.lastname'), content: ((_b = details.responsableDossier) === null || _b === void 0 ? void 0 : _b.nom) || '-' }))),\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: t('createFolder.responsableDossier.firstname'), content: ((_c = details.responsableDossier) === null || _c === void 0 ? void 0 : _c.prenom) || '-' })))),\r\n React.createElement(\"div\", { className: \"detailsTab__row\" },\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: t('createFolder.responsableDossier.email'), content: ((_d = details.responsableDossier) === null || _d === void 0 ? void 0 : _d.email) || '-' }))),\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: t('createFolder.responsableDossier.fix-phone'), content: ((_e = details.responsableDossier) === null || _e === void 0 ? void 0 : _e.telephoneFixe) || '-' }))),\r\n React.createElement(\"div\", { className: \"detailsTab__column\" },\r\n React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(InputReadOnly, { label: t('createFolder.responsableDossier.phone'), content: ((_f = details.responsableDossier) === null || _f === void 0 ? void 0 : _f.telephonePortable) || '-' }))))))))) : (React.createElement(\"div\", { className: \"detailsTab__content\", id: \"block-\" + block.id },\r\n showBlockTitle && (React.createElement(\"h4\", { className: \"title--red\" }, (_g = block.title) === null || _g === void 0 ? void 0 : _g[i18n.language])),\r\n React.createElement(\"section\", { className: \"detailsInfosProjet\" },\r\n React.createElement(RenderBlockContent, { block: block, answers: answers, key: block.id, lang: lang }))))));\r\n })));\r\n};\r\nexport default InfosProjet;\r\n","import React, { useState, useEffect } from 'react';\r\nimport RenderBlockContent from './infosProjet/RenderBlockContent';\r\nimport clsx from \"clsx\";\r\nimport { useTranslation } from 'react-i18next';\r\nconst DescriptionProjet = ({ details, lang }) => {\r\n const { i18n } = useTranslation();\r\n const [blocks, setBlocks] = useState([]);\r\n const [answers, setAnswers] = useState({});\r\n useEffect(() => {\r\n if (details) {\r\n setBlocks(details.questionsBlocks);\r\n setAnswers(details.answers);\r\n }\r\n }, [details]);\r\n const renderBlockContent = (block) => {\r\n return (React.createElement(RenderBlockContent, { block: block, answers: answers, key: block.id, lang: lang }));\r\n };\r\n const renderBlock = (block, i) => {\r\n var _a;\r\n return (React.createElement(\"div\", { className: clsx(block.title && 'detailsTab__content'), id: \"block-\" + block.id, key: i },\r\n block.title && (React.createElement(\"h4\", { className: \"title--red\" }, (_a = block.title) === null || _a === void 0 ? void 0 : _a[i18n.language])),\r\n React.createElement(\"section\", null, renderBlockContent(block))));\r\n };\r\n return (React.createElement(React.Fragment, null, blocks.filter(b => b.id !== \"donnees-bancaires\" && b.id !== \"pieces-jointes-obligatoires\").map(renderBlock)));\r\n};\r\nexport default DescriptionProjet;\r\n","import React from \"react\";\r\nconst Contenu = ({ details }) => {\r\n return (React.createElement(\"div\", { className: \"detailsTab__content\" },\r\n React.createElement(\"div\", { className: \"detailsTab__informations\" },\r\n React.createElement(\"div\", { className: \"detailsTab__text\" }, (details === null || details === void 0 ? void 0 : details.description) || 'Aucune description'))));\r\n};\r\nexport default Contenu;\r\n","import React, { useEffect, useState } from 'react';\nimport {\n DossierDetailsDto,\n LieuDateDetailsDto,\n\tDossierInfosProjetViewModelDto,\n\tDescriptionProjetViewModelDto,\n\tDocumentWithValidationDto\n} from '../../../services/generated/FrontOffice-api';\nimport { useTranslation } from 'react-i18next';\nimport FormButton from 'adel-shared/dist/components/basics/FormButton';\nimport InputReadOnly from 'adel-shared/dist/components/InputReadOnly';\nimport DocumentValidationLight from '../detailsDossier/DocumentValidationLight';\nimport Artistes from 'adel-shared/dist/components/DossierDetails/Artistes';\nimport DeplacementTable from 'adel-shared/dist/components/DossierDetails/DeplacementsTable';\nimport Programmation from 'adel-shared/dist/components/DossierDetails/Programmation';\nimport BudgetsPrevisionnels from 'adel-shared/dist/components/DossierDetails/BudgetsPrevisionnels';\nimport InformationsBudget from 'adel-shared/dist/components/DossierDetails/InformationsBudget';\nimport Structure from 'adel-shared/dist/components/DossierDetails/Structure';\nimport Enseignants from 'adel-shared/dist/components/DossierDetails/Enseignants';\nimport Salaries from 'adel-shared/dist/components/DossierDetails/Salaries';\nimport ChiffresCles from 'adel-shared/dist/components/DossierDetails/ChiffresCles';\nimport InfosProjet from 'adel-shared/dist/components/DossierDetails/InfosProjet';\nimport DescriptionProjet from 'adel-shared/dist/components/DossierDetails/DescriptionProjet';\nimport Contenu from 'adel-shared/dist/components/DossierDetails/Contenu';\nimport { CategorieDossier } from 'adel-shared/dist/enums/CategorieDossier';\nimport { formaterDate } from 'adel-shared/dist/utils/functions';\n\ninterface DetailsDossierContentProps {\n\tdossierDetails: DossierDetailsDto;\n\tdescrProj: DescriptionProjetViewModelDto;\n\tinfosProjet: DossierInfosProjetViewModelDto;\n}\n\nconst DetailsDossierContent: React.FunctionComponent = ({dossierDetails, descrProj, infosProjet}) => {\n\tconst { t, i18n } = useTranslation();\n\n const handlePrintClick = () => {\n window.print();\n };\n\n const datesByPrestation = dossierDetails.dates?.length ? dossierDetails.dates.reduce((accumulator: LieuDateDetailsDto[][], currentVal) => {\n const date = accumulator.filter(\n x => x.some(\n y => y.typePrestation === currentVal.typePrestation\n )\n );\n\n if (date.length) {\n date[0].push(currentVal);\n } else {\n accumulator.push([currentVal]);\n }\n\n return accumulator;\n }, []) : [];\n\n const [pieceObligatoires, setPieceObligatoires] = useState([]);\n const [pieceJointe, setPieceJointe] = useState([]);\n\n\tuseEffect(() => {\n\t\tif (dossierDetails.documents) {\n\t\t\tconst docO = dossierDetails.documents.filter(d => d.type?.isRequired) || [];\n\t\t\tconst docJ = dossierDetails.documents.filter(d => !d.type?.isRequired) || [];\n\t\t\tsetPieceObligatoires(docO);\n\t\t\tsetPieceJointe(docJ);\n\t\t}\n\t}, [dossierDetails.documents]);\n\n return (<>\n\t\t
\n\t\t\t

{t(\"detailsDossier.structure\")}

\n\t\t\t\n\t\t
\n\n\t\t
\n\t\t\t

{t(\"detailsDossier.infosDossier.title\")}

\n\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t\n\t\t\t{infosProjet &&\n\t\t\t\t\n\t\t\t}\n\t\t
\n\n\t\t{pieceObligatoires.length > 0 &&\n\t\t\t
\n\t\t\t\t

{t(\"detailsDossier.documentsObligatoires\")}

\n\t\t\t\t\n\t\t\t
\n\t\t}\n\t\t{pieceJointe.length > 0 &&\n\t\t\t
\n\t\t\t\t

{t(\"detailsDossier.documents\")}

\n\t\t\t\t\n\t\t\t
\n\t\t}\n\t\t{(dossierDetails.categorie?.code != CategorieDossier.Festival \n\t\t&& dossierDetails.categorie?.code != CategorieDossier.SoireeArtistes) ?\n\t\t\t\t\t\t\t\t\tdossierDetails?.artistes && dossierDetails.artistes.length > 0 &&\n\n\t\t
\n\t\t\t\t

{t(\"detailsDossier.artistes\")}

\n\t\t\t\t\n\t\t\t
\n\t\t\t:\n\t\t(dossierDetails.artistes && dossierDetails.artistes.filter(a => a.isEngagementDirect).length > 0) &&\n\t\t\t
\n\t\t\t\t

Artistes engagement direct

\n\t\t\t\t\n\t\t\t
\n\t\t}\n\t\t{(dossierDetails.artistes && dossierDetails.artistes.filter(a => !a.isEngagementDirect).length > 0) &&\n\t\t\t
\n\t\t\t\t

Artistes issus des contrats de cession

\n\t\t\t\t\n\t\t\t
\n\t\t}\n\t\t{dossierDetails.trajets?.length > 0 &&\n\t\t\t
\n\t\t\t\t

{t(\"detailsDossier.deplacements\")}

\n\t\t\t\t\n\t\t\t
\n\t\t}\n\t\t\n\t\t{dossierDetails?.salaries && dossierDetails.salaries.length > 0 &&\n\t\t\t
\n\t\t\t\t

{t(\"detailsDossier.salarie\")}

\n\t\t\t\t\n\t\t\t
\n\t\t}\n\t\t{dossierDetails?.enseignants && dossierDetails.enseignants.length > 0 &&\n\t\t\t
\n\t\t\t\t

{t(\"detailsDossier.enseignants\")}

\n\t\t\t\t\n\t\t\t
\n\t\t}\n\t\t{dossierDetails?.chiffresCles &&\n\t\t\t
\n\t\t\t\t

{t(\"detailsDossier.chiffres\")}

\n\t\t\t\t\n\t\t\t
\n\t\t}\n\n\t\t{datesByPrestation?.map((x, i) => (\n\t\t\t
\n\t\t\t\t

{t(\"detailsDossier.programmation\")} {t(`structure.prestation.${x[0].typePrestation}`)}s ({x.length})

\n\t\t\t\t\n\t\t\t
\n\t\t))}\n\n\t\t
\n\t\t\t

{t(\"detailsDossier.budgets.title\")}

\n\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t

{t(\"detailsDossier.budgets.infos\")}

\n\t\t\t\t\n\t\t\t
\n\n\t\t\t
\n\t\t\t\t

{t(\"detailsDossier.budgets.autre\")}

\n\t\t\t\t\n\t\t\t
\n\t\t
\n\n\t\t
\n\t\t\t

{t(\"detailsDossier.contenu\")}

\n\t\t\t\n\t\t\t{descrProj &&\n\t\t\t//@ts-ignore\n\t\t\t\t\n\t\t\t}\n\t\t
\n\n\t\t
\n\t\t\t

{t(\"detailsDossier.commentaires\")}

\n\t\t\t\n\t\t\t\n\t\t
\n\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\n );\n};\n\nexport default DetailsDossierContent;","import React, { forwardRef, ForwardRefExoticComponent, PropsWithoutRef, RefAttributes, useEffect, useImperativeHandle, useState } from \"react\";\nimport { useTranslation } from 'react-i18next';\nimport { navigate, RouteComponentProps } from \"@reach/router\";\nimport { StepRef } from \"../CreationDossier\";\nimport { useAxios } from \"../../../custom-hooks/useAxios\";\nimport { DescriptionProjetViewModelDto, DossierClient, DossierDetailsDto, DossierInfosProjetViewModelDto, EtapeCreationDossier } from \"../../../services/generated/FrontOffice-api\";\nimport { toast } from \"react-toastify\";\nimport { CreationDossierSteps, EtapeCreationPlus } from \"../../../context/CreationDossierSteps\";\nimport DetailsDossierContent from '../detailsDossier/DetailsDossierContent';\n\ninterface ValidationProps extends RouteComponentProps {\n dossierId: string;\n setCanGoNext: (value: boolean) => void;\n setIsLoading: (value: boolean) => void;\n navigateToStep: (targetStep: CreationDossierSteps) => Promise\n}\n\nconst Validation: ForwardRefExoticComponent & RefAttributes> = forwardRef((props, ref) => {\n const { t } = useTranslation();\n const axiosInstance = useAxios();\n const dossierClient = new DossierClient(\"\", axiosInstance);\n\n const [dossierDetails, setDossierDetails] = useState({});\n const [descrProj, setDescrProj] = useState();\n const [infosProjet, setInfosProjet] = useState();\n\n useEffect(() => {\n window.scrollTo(0, 0);\n props.setCanGoNext(true);\n (async () => {\n const resultDetails = await dossierClient.getDossierDetails(props.dossierId);\n setDossierDetails(resultDetails);\n })();\n (async () => {\n const resultProjet = await dossierClient.getInfosProjetViewModel(props.dossierId);\n setInfosProjet(resultProjet);\n })();\n (async () => {\n const resulDescr = await dossierClient.getDescriptionProjetViewModel(props.dossierId);\n setDescrProj(resulDescr);\n })();\n }, [])\n\n useImperativeHandle(ref, () => ({\n async validateForm(): Promise {\n props.setIsLoading(true);\n try {\n let stepWithValidationErrors: CreationDossierSteps = await dossierClient.soumettreDossier(props.dossierId) as any; // TODO: fixer le type any\n if (stepWithValidationErrors) {\n toast.error(t(\"createFolder.error-validation\") + t(`createFolder.menu.${stepWithValidationErrors}`));\n if (stepWithValidationErrors === EtapeCreationDossier.ValidationStructure) stepWithValidationErrors = EtapeCreationPlus.ValidationStructure2; // L'étape 1 de validation n'a aucune règle de validation\n await props.navigateToStep(stepWithValidationErrors);\n props.setIsLoading(false);\n return false;\n }\n props.setIsLoading(false);\n toast.success(t('createFolder.finalValidation.success'));\n navigate('/Structures');\n return false;\n } catch (error) {\n props.setIsLoading(false);\n if(error.code === \"dossierIsNotValid\")\n toast.error(t(`createFolder.recapitulatif.${error.code}`));\n else if (error.exception?.message)\n toast.error(error.exception.message);\n else\n toast.error(t(\"errors.default\"));\n return false;\n }\n }\n }));\n\n return (\n
\n

{t(\"createFolder.menu.recap\")}

\n
\n
\n \n
\n );\n});\n\nexport default Validation;","import React, { useEffect } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport Modal from 'react-modal';\nimport { modalSmallerCustomStyles } from '../../../../constants/config.constant';\nimport FormButton from 'adel-shared/dist/components/basics/FormButton';\nimport Loader from 'react-loader-spinner';\n\ninterface ModalDeleteArtisteProps {\n\tisOpen: boolean;\n\tonCancel: () => void;\n\tonValidate: () => void;\n\tisLoading?: boolean;\n}\n\nconst ModalDeleteArtiste: React.SFC = ({\n\tisOpen,\n\tonCancel,\n\tonValidate,\n\tisLoading\n}) => {\n\tconst { t } = useTranslation();\n\n useEffect(() => {\n Modal.setAppElement('body');\n\t}, []);\n\n\treturn (\n\t\n
\n

{t('createFolder.salarieArtistes.artistes.deleteTitle')}

\n
\n
\n\t\t\t
\n\t\t\t\t

{t('createFolder.salarieArtistes.artistes.delete')}

\n\t\t\t
\n
\n
\n onCancel()}\n />\n {isLoading\n ? \n : onValidate()}\n />}\n
\n );\n}\n\nexport default ModalDeleteArtiste;","import React, { useMemo, useState, useEffect } from 'react';\nimport FormButton from 'adel-shared/dist/components/basics/FormButton';\nimport Table, { styleTable } from 'adel-shared/dist/components/basics/Table';\nimport { ArtisteLightDto, ArtisteClient, MasseSalarialeDto } from '../../../../services/generated/FrontOffice-api';\nimport { useTranslation } from 'react-i18next';\nimport { useTable, useSortBy } from 'react-table';\nimport { useAxios } from '../../../../custom-hooks/useAxios';\nimport ModalDeleteArtiste from './ModalDeleteArtiste';\nimport { formatNumber } from 'adel-shared/dist/utils/functions';\nimport TotalAmountsTable from 'adel-shared/dist/components/basics/TotalAmountsTable';\n\ninterface ArtisteListProps {\n\tartistes: ArtisteLightDto[]\n\tonAddArtist: () => void;\n\tduplicateArtiste: (id: string) => void;\n\teditArtiste: (id: string) => void;\n\tinformDeleteArtiste: () => void;\n\tdossierId: string;\n\tcategorieDossierId: string;\n\tstats: MasseSalarialeDto;\n}\n\nconst ArtisteList: React.FunctionComponent = ({\n\tartistes,\n\tonAddArtist,\n\tduplicateArtiste,\n\teditArtiste,\n\tinformDeleteArtiste,\n\tstats\n}) => {\n\tconst { t } = useTranslation();\n\tconst axiosInstance = useAxios();\n\tconst artisteClient = useMemo(() => { return new ArtisteClient(\"\", axiosInstance) }, [axiosInstance]);\n\tconst [modalDeletePageVitrineIsOpen, setModalDeletePageVitrineIsOpen] = useState(false)\n\tconst [artisteId, setArtisteId] = useState()\n\tconst [totalsData, setTotalsData] = useState([]);\n\tconst [data, setData] = useState([]);\n\n\tuseEffect(() => {\n\t\tsetData(artistes.map(x => ({\n\t\t\t...x,\n\t\t\temploi: t(`emplois.${x.emploi}`)\n\t\t})));\n\t}, [artistes]);\n\n\tconst columns = React.useMemo(() => { // VFA : Je n'arrive pas à trouver le type exact de cet objet... Je laisse en any T_T\n\t\treturn [{\n\t\t\tHeader: \"Table\",\n\t\t\tcolumns: [\n\t\t\t\t{ Header: \"Id\", accessor: \"id\", disableSortBy: true },\n\t\t\t\t{ Header: t('createFolder.contratsCachets.listColumns.nom'), accessor: \"nom\", disableSortBy: true },\n\t\t\t\t{ Header: t('createFolder.contratsCachets.listColumns.prenom'), accessor: \"prenom\", disableSortBy: true },\n\t\t\t\t{ Header: t('createFolder.contratsCachets.listColumns.emploi'), accessor: \"emploi\", disableSortBy: true },\n\t\t\t\t{\n\t\t\t\t\tHeader: \"\", accessor: \"Actions\", disableSortBy: true,\n\t\t\t\t\tCell: (value: any) => (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
{ duplicateArtiste(value.cell.row.values.id) }}>
\n\t\t\t\t\t\t\t
{ editArtiste(value.cell.row.values.id) }}>
\n\t\t\t\t\t\t\t
{ openDeleteArtiste(value.cell.row.values.id) }}>
\n\t\t\t\t\t\t
\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t]\n\t\t}];\n\t}, []);\n\n\tuseEffect(() => {\n\t\tif(!Object.keys(stats).length) return;\n\n\t\tconst updatedData = [];\n\n\t\tObject.keys(stats.montantCachets).map(key => {\n\t\t\tupdatedData.push({\n\t\t\t\tlabel: t(`createFolder.contratsCachets.stats${key}`),\n\t\t\t\tvalue: `${formatNumber(stats.montantCachets[key])} €`\n\t\t\t})\n\t\t});\n\n\t\tif(stats.montantSalaires !== 0) {\n\t\t\tupdatedData.push({\n\t\t\t\tlabel: 'Montant salaires',\n\t\t\t\tvalue: `${formatNumber(stats.montantSalaires)} €`\n\t\t\t})\n\t\t}\n\n\t\tif(stats.chargesPatronales !== 0) {\n\t\t\tupdatedData.push({\n\t\t\t\tlabel: 'Charges patronales',\n\t\t\t\tvalue: `${formatNumber(stats.chargesPatronales)} €`\n\t\t\t})\n\t\t}\n\n\t\tsetTotalsData(updatedData);\n\t}, [stats]);\n\n\tconst { getTableProps, getTableBodyProps, headerGroups, rows, prepareRow } = useTable({\n\t\tcolumns,\n\t\tdata,\n\t\tinitialState: { hiddenColumns: [\"id\"] },\n\t}, useSortBy);\n\n\tconst openDeleteArtiste = (data: any) => {\n\t\tsetArtisteId(data)\n\t\tsetModalDeletePageVitrineIsOpen(true)\n\t}\n\n\tconst deleteArtiste = () => {\n\t\tartisteClient.deleteArtiste(artisteId);\n\t\tsetModalDeletePageVitrineIsOpen(false);\n\t\tinformDeleteArtiste();\n\t}\n\n\treturn <>\n\t\t
\n\t\t\t

{t(\"createFolder.contratsCachets.title\")}

\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t\t\n\t\t{stats && artistes?.length > 0 && (\n\t\t\t\n\t\t)}\n\t\t setModalDeletePageVitrineIsOpen(false)}\n\t\t\tonValidate={deleteArtiste}\n\t\t/>\n\t;\n}\n\nexport default ArtisteList;","import React, { useMemo, useState, useEffect } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport Input from 'adel-shared/dist/components/basics/Input';\nimport { FormContextValues, ValidationOptions } from 'react-hook-form';\nimport { CreateArtisteDto, Emploi, Groupe, GroupeCodeValues, LieuDateDto, RemunerationDto, TypePrestation } from '../../../../services/generated/FrontOffice-api';\nimport { Dictionary } from 'lodash';\nimport { CategorieDossier } from '../../../../enums/Dossiers';\nimport { DatesSelectOption, SalairesCusto } from './EditArtiste';\nimport { StyleMusical } from '../../../../enums/StyleMusical';\n\n\ninterface MontantBrutInputProps {\n\tform: FormContextValues;\n\tlabel: string;\n\tname: string;\n\tstep: number;\n\tvalue: number;\n\tindex: number;\n\thandleChangeObject: (value: string, index: number, propertyName: string, selectedAll?:boolean) => void;\n\tgroupesEmploi?: any\n\testSalaire: boolean;\n\tremuneration: RemunerationDto[];\n\temploi: Emploi;\n\tstyleMusical: string; // styleMusical ID\n\ttypePrestation?: keyof typeof TypePrestation;\n\tsalaire?: SalairesCusto;\n\tdatesSelectOptions?: DatesSelectOption[];\n\tprestation?: string\n}\n\nconst MontantBrutInput: React.FunctionComponent = ({\n\tname,\n\tstep,\n\tform,\n\tvalue,\n\tlabel,\n\thandleChangeObject,\n\tindex,\n\testSalaire,\n\tremuneration,\n\ttypePrestation,\n\tgroupesEmploi,\n\temploi,\n\tstyleMusical,\n\tsalaire,\n\tdatesSelectOptions,\n\tprestation\n}) => {\n\tconst { t } = useTranslation();\n\n\tuseEffect(() => {\n\t\t(async () => {\n\t\t\tawait form.triggerValidation(name)\n\t\t})()\n\t}, [emploi, styleMusical, salaire, datesSelectOptions, groupesEmploi]);\n\tconst montantMinValidator = (remuneration:RemunerationDto[]):Dictionary => {\n\t\tif(remuneration?.length > 0) {\n\t\t\tstyleMusical = styleMusical ?? StyleMusical.pasDeMusiqueId;\n\t\t\tvar musiciens = groupesEmploi.filter((gr: any) => gr.groupe.code === GroupeCodeValues.Musiciens).map((gr: any) => gr.type.charAt(0).toLowerCase() + gr.type.slice(1));\n\n\t\t\treturn {\n\t\t\t\trequired: t(\"validation-messages.required\"),\n\t\t\t\tvalidate: {validate: (value) => {\n\t\t\t\t\tconst item = remuneration.find(r => {\n\t\t\t\t\t\tconst basicValidator = r.montantMinimum > value;\n\t\t\t\t\t\tconst emploiValidator = (r.emploi === Groupe.Musiciens && musiciens.includes(emploi)) || (r.emploi === Groupe.Autre && !musiciens.includes(emploi));\n\t\t\t\t\t\tconst estSalaireValidator = r.estSalaire === estSalaire;\n\n\t\t\t\t\t\tconst salaireTypePrestaValidator = salaire?.lieuDateByPresta?.find(e => e.typePresta === r.typePrestation)?.dates.length > 0\n\t\t\t\t\t\t\t\t\t\t\t\t\t? salaire.lieuDateByPresta.find(e => e.typePresta === r.typePrestation).typePresta\n\t\t\t\t\t\t\t\t\t\t\t\t\t: null;\n\n\t\t\t\t\t\tconst typePrestaValidator = salaire \n\t\t\t\t\t\t\t? salaireTypePrestaValidator\n\t\t\t\t\t\t\t: r.typePrestation === TypePrestation[typePrestation as keyof typeof TypePrestation];\n\n\t\t\t\t\t\tif(r.styleMusical && !styleMusical)\n\t\t\t\t\t\t\treturn false;\n\n\t\t\t\t\t\tswitch(r.categorieDossier.code) {\n\t\t\t\t\t\t\tcase CategorieDossier.AidePromotionImage:\n\t\t\t\t\t\t\t\tif(basicValidator && emploiValidator && typePrestaValidator)\n\t\t\t\t\t\t\t\t\treturn r.montantMinimum\n\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\t// Qu'est-ce que Diffusion au festival d’Avignon (Spectacle musical) ?\n\t\t\t\t\t\t\tcase CategorieDossier.DiffusionAvignon: // Diffusion au festival d’Avignon (Autre)\n\t\t\t\t\t\t\t\tif(basicValidator && estSalaireValidator && typePrestaValidator)\n\t\t\t\t\t\t\t\t\treturn r.montantMinimum\n\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\tcase CategorieDossier.BODramatiqueChoregraphique:\n\t\t\t\t\t\t\t\tif(basicValidator && typePrestaValidator)\n\t\t\t\t\t\t\t\t\treturn r.montantMinimum\n\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\tcase CategorieDossier.SpectacleDramatiqueChoregraphiqueCirque:\n\t\t\t\t\t\t\t\tif(basicValidator && typePrestaValidator && emploiValidator && estSalaireValidator)\n\t\t\t\t\t\t\t\t\treturn r.montantMinimum\n\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\tcase CategorieDossier.DeplacementInternational:\n\t\t\t\t\t\t\t\tif(basicValidator && emploiValidator && typePrestaValidator)\n\t\t\t\t\t\t\t\t\treturn r.montantMinimum\n\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\tcase CategorieDossier.Festival:\n\t\t\t\t\t\t\t\tif(basicValidator && typePrestaValidator)\n\t\t\t\t\t\t\t\t\treturn r.montantMinimum\n\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\tcase CategorieDossier.Fortissimo:\n\t\t\t\t\t\t\t\tif(basicValidator && emploiValidator)\n\t\t\t\t\t\t\t\t\treturn r.montantMinimum\n\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\tcase CategorieDossier.DiffusionLieu:\n\t\t\t\t\t\t\t\tif(basicValidator && emploiValidator && typePrestaValidator)\n\t\t\t\t\t\t\t\t\treturn r.montantMinimum\n\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\tcase CategorieDossier.MusiqueFilm:\n\t\t\t\t\t\t\t\tif(basicValidator && typePrestaValidator)\n\t\t\t\t\t\t\t\t\treturn r.montantMinimum\n\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\tcase CategorieDossier.AideResidences:\n\t\t\t\t\t\t\t\tif(basicValidator && emploiValidator && typePrestaValidator)\n\t\t\t\t\t\t\t\t\treturn r.montantMinimum\n\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\tcase CategorieDossier.SoireeArtistes:\n\t\t\t\t\t\t\t\tif(basicValidator && emploiValidator && typePrestaValidator)\n\t\t\t\t\t\t\t\t\treturn r.montantMinimum\n\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\tcase CategorieDossier.SpectacleMusical:\n\t\t\t\t\t\t\t\tif(basicValidator && typePrestaValidator)\n\t\t\t\t\t\t\t\t\treturn r.montantMinimum\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\t\tif(item) {\n\t\t\t\t\t\tconst result:string = t(\"validation-messages.min-montant\", {number:item.montantMinimum});\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t}\t\t\t\t\t\n\t\t\t\t}}\n\t\t\t};\n\t\t} else {\n\t\t\treturn { required: t(\"validation-messages.required\") };\n\t\t}\n\t}\n\n\n\treturn {\n\t\t\tawait form.triggerValidation(name);\n\t\t}}\n\t\tonChange={(value: string) => {\n\t\t\thandleChangeObject(value, index, 'montantBrut');\n\t\t}}\n\t/>\n\n}\n\nexport default MontantBrutInput;","import Input from 'adel-shared/dist/components/basics/Input';\nimport InputSelect, { AdelOption } from 'adel-shared/dist/components/basics/InputSelect';\nimport { Dictionary } from 'adel-shared/dist/models';\nimport { uniqueId } from 'lodash';\nimport moment from 'moment';\nimport React, { FunctionComponent, useEffect, useState } from 'react';\nimport { Controller, FormContextValues, ValidationOptions } from 'react-hook-form';\nimport { useTranslation } from 'react-i18next';\nimport { tauxChargesPatronales } from '../../../../constants/config.constant';\nimport useValidation from '../../../../custom-hooks/useValidation';\nimport { CategorieDossier } from '../../../../enums/Dossiers';\nimport { CachetDto, CreateArtisteDto, Emploi, LieuDateDto, RemunerationDto, TypePrestation } from '../../../../services/generated/FrontOffice-api';\nimport { DatesSelectOption } from './EditArtiste';\nimport MontantBrutInput from './MontantBrutInput'\n\ninterface CachetsProps {\n\tcachets: CachetDto[];\n\tsetCachets: (cachets: CachetDto[]) => void;\n\tform: FormContextValues;\n\tcachetType: keyof typeof TypePrestation;\n\tdates: LieuDateDto[];\n\tdatesSelectOptions:DatesSelectOption[];\n\tsetDatesSelectOptions:(value:DatesSelectOption[]) => void;\n\tgroupesEmploi?: any;\n\tremuneration: RemunerationDto[];\n\tcodeCategorie: CategorieDossier;\n\ttypePrestation: keyof typeof TypePrestation;\n\temploi: Emploi;\n\tstyleMusical: string; // styleMusical ID\n}\n\nconst Cachets: FunctionComponent = ({\n\tcachets,\n\tsetCachets,\n\tform,\n\tcachetType,\n\tdates,\n\tcodeCategorie,\n\tdatesSelectOptions,\n\tsetDatesSelectOptions,\n\tgroupesEmploi,\n\tremuneration,\n\ttypePrestation,\n\temploi,\n\tstyleMusical\n}) => {\n\tconst { getRootValidator } = useValidation();\n\tconst cachetValidator = getRootValidator(\"CreateCachetDto\");\n\tconst [selectedDates, setSelectedDates] = useState([]);\n\tconst [selectedDate, setSelectedDate] = useState();\n\tconst [hasDateLimite, setHasDateLimite] = useState();\n\tconst { t } = useTranslation();\n\n\tuseEffect(() => {\n\t\tif (dates) {\n\t\t\tsetSelectedDates(cachets.reduce((acc, currentVal) => {\n\t\t\t\treturn acc.concat(currentVal.dates);\n\t\t\t}, []));\n\t\t}\n\t}, [dates]);\n\n\tuseEffect(() => {\n\t\tif (codeCategorie === CategorieDossier.InteretGeneral\n\t\t|| codeCategorie === CategorieDossier.AideResidences\n\t\t|| codeCategorie === CategorieDossier.AideSpecifique\n\t\t) {\n\t\t\tsetHasDateLimite(false);\n\t\t} else {\n\t\t\tsetHasDateLimite(true);\n\t\t}\n\t}, [codeCategorie]);\n\n\tconst addCachet = () => {\n\t\tlet temporaryId = uniqueId('TEMPORARY_');\n\t\tconst newCachet: CachetDto = {\n\t\t\tid: temporaryId,\n\t\t\tdates: [],\n\t\t\tmontantBrut: undefined,\n\t\t\ttauxChargesPatronales: undefined,\n\t\t\tcount: undefined\n\t\t}\n\t\tlet updateCachets = [...cachets]\n\t\tupdateCachets = [...updateCachets, newCachet]\n\t\tsetCachets(updateCachets)\n\t}\n\n\tconst deleteCachet = (id:string) => {\n\t\tconst updateCachets = [...cachets]\n\n\t\tfor (const i in updateCachets) {\n\t\t\tif (id === updateCachets[i].id) {\n\t\t\t\tif(datesSelectOptions.find(elem => TypePrestation[elem.typePresta] === TypePrestation[cachetType])) {\n\t\t\t\t\tconst update = [...datesSelectOptions];\n\t\t\t\t\tconst datesToAddToOptions = updateCachets[i]?.dates?.map(date => ({\n\t\t\t\t\t\tlabel: date.description ? moment(date.date).format('DD/MM/YYYY') + \" (\" + date.description +\")\" : moment(date.date).format('DD/MM/YYYY'),\n\t\t\t\t\t\tvalue: date\n\t\t\t\t\t}));\n\n\t\t\t\t\tupdate.find(elem => TypePrestation[elem.typePresta] === TypePrestation[cachetType]).options = update\n\t\t\t\t\t\t.find(elem => TypePrestation[elem.typePresta] === TypePrestation[cachetType])\n\t\t\t\t\t\t.options.concat(datesToAddToOptions);\n\n\t\t\t\t\tsetDatesSelectOptions(update);\n\t\t\t\t}\n\t\t\t\tsetSelectedDates(selectedDates.filter((x: LieuDateDto) => updateCachets[i].dates.find(c => x.id !== c.id)));\n\t\t\t\tupdateCachets.splice(updateCachets.indexOf(updateCachets[i]), 1);\n\t\t\t}\n\t\t}\n\t\tsetSelectedDate(null);\n\t\tsetCachets(updateCachets);\n\t}\n\n\tconst handleChangeObject = (value: LieuDateDto | string, index: number, propertyName: string, selectedAll?:boolean) => {\n\t\tconst updateCachets = [...cachets];\n\n\t\tswitch(propertyName) {\n\t\t\tcase 'lieuDateIds' :\n\t\t\t\tif(selectedAll) {\n\t\t\t\t\tsetSelectedDates(dates);\n\t\t\t\t\tconst update = [...datesSelectOptions];\n\t\t\t\t\tupdate.find(elem => TypePrestation[elem.typePresta] === TypePrestation[cachetType]).options.length = 0;\n\t\t\t\t\tsetDatesSelectOptions(update);\n\t\t\t\t\tupdateCachets[index].dates = dates;\n\t\t\t\t\tupdateCachets[index].count = dates?.length || 0;\n\t\t\t\t} else {\n\t\t\t\t\tsetSelectedDates([...selectedDates, value as LieuDateDto]);\n\t\t\t\t\tupdateCachets[index].dates.push(value as LieuDateDto);\n\t\t\t\t\tupdateCachets[index].count = updateCachets[index]?.dates?.length || 0;\n\n\t\t\t\t\tif(datesSelectOptions.find(elem => TypePrestation[elem.typePresta] === TypePrestation[cachetType])) {\n\t\t\t\t\t\tconst update = [...datesSelectOptions];\n\t\t\t\t\t\tupdate.find(elem => TypePrestation[elem.typePresta] === TypePrestation[cachetType]).options = update\n\t\t\t\t\t\t\t.find(elem => TypePrestation[elem.typePresta] === TypePrestation[cachetType])\n\t\t\t\t\t\t\t.options.filter(a => a.value.id !== (value as LieuDateDto).id);\n\t\t\t\t\t\tsetDatesSelectOptions(update);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t\tcase 'montantBrut' :\n\t\t\t\tupdateCachets[index].montantBrut = parseFloat(value as string);\n\t\t\t\tbreak;\n\t\t\tcase 'tauxChargesPatronales':\n\t\t\t\tupdateCachets[index].tauxChargesPatronales = parseFloat(value as string);\n\t\t\t\tbreak;\n\t\t\tcase 'count':\n\t\t\t\tupdateCachets[index].count = parseFloat(value as string);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\n\t\tsetCachets(updateCachets);\n\t}\n\n\tconst deleteDate = (itemClicked: LieuDateDto, index: number) => {\n\t\tconst updateCachets = [...cachets]\n\t\tupdateCachets[index].dates = updateCachets[index].dates.filter((x: LieuDateDto) => x.id !== itemClicked.id);\n\t\tsetCachets(updateCachets);\n\t\tsetSelectedDates(selectedDates.filter((x: LieuDateDto) => x.id !== itemClicked.id));\n\t\tsetSelectedDate(null);\n\n\t\tif(datesSelectOptions.find(elem => TypePrestation[elem.typePresta] === TypePrestation[cachetType])) {\n\t\t\tconst updatedDates = [...datesSelectOptions];\n\t\t\tconst datesCurrentPresta = updatedDates.find(elem => TypePrestation[elem.typePresta] === TypePrestation[cachetType]).options;\n\t\t\tdatesCurrentPresta.push({\n\t\t\t\tlabel: itemClicked.description ? moment(itemClicked.date).format('DD/MM/YYYY') + \" (\" + itemClicked.description +\")\" : moment(itemClicked.date).format('DD/MM/YYYY'),\n\t\t\t\tvalue: itemClicked\n\t\t\t});\n\t\t\tdatesCurrentPresta.sort((a, b) => {\n\t\t\t\tif(a.value.date && b.value.date) {\n\t\t\t\t\treturn a.value.date > b.value.date ? 1 : -1;\n\t\t\t\t}\n\t\t\t\treturn 0;\n\t\t\t});\n\t\t\tsetDatesSelectOptions(updatedDates);\n\t\t}\n\t}\n\n\tconst optionsDate = () => {\n\t\tlet opts: AdelOption[] | AdelOption[] = [];\n\n\t\tconst allDates = datesSelectOptions.find(elem => TypePrestation[elem.typePresta] === TypePrestation[cachetType]);\n\t\t\n\t\tif (allDates) {\n\t\t\topts = allDates.options;\n\t\t} else {\n\t\t\topts = [];\n\t\t}\n\n\t\tconst isAllDatesOpt = opts.some((x: any) => x.value === 'all');\n\n\t\tif(!isAllDatesOpt && opts.length > 1) {\n\t\t\topts.unshift({\n\t\t\t\tlabel: t('createFolder.contratsCachets.allDates'),\n\t\t\t\tvalue: \"all\"\n\t\t\t});\n\t\t}\n\t\treturn opts;\n\t}\n \n\t\n\n\treturn (<>\n\t\t{cachets.map((x, i) => (\n\t\t\t
\n\t\t\t\t

\n\t\t\t\t\t\n\t\t\t\t\t{t(`createFolder.contratsCachets.${cachetType}`)}\n\t\t\t\t

\n\t\t\t\t
\n\t\t\t\t\t (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tname={name}\n\t\t\t\t\t\t\t\tlabel={`${t('createFolder.form.dates')}`}\n\t\t\t\t\t\t\t\tclassname=\"inputSelect\"\n\t\t\t\t\t\t\t\toptions={optionsDate()}\n\t\t\t\t\t\t\t\terrors={form.errors}\n\t\t\t\t\t\t\t\tonChange={(value) => {\n\t\t\t\t\t\t\t\t\tif(typeof value !== \"string\") {\n\t\t\t\t\t\t\t\t\t\thandleChangeObject(value, i, 'lieuDateIds');\n\t\t\t\t\t\t\t\t\t\tsetSelectedDate(value);\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\thandleChangeObject(value, i, 'lieuDateIds',true);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tvalue={selectedDate}\n\t\t\t\t\t\t\t\tplaceholder={t(\"common.select\")}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t/>\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t{cachets[i].dates?.map((date: LieuDateDto, index: number) => (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{dates.find(d => d.id == date.id)?.description ? \n\t\t\t\t\t\t\t\t\t\tmoment(date.date).format('DD/MM/YYYY') + \" (\" + dates.find(d => d.id == date.id)?.description +\")\" : \n\t\t\t\t\t\t\t\t\t\tmoment(date.date).format('DD/MM/YYYY') }\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t deleteDate({...date, description: dates.find(d => d.id == date.id)?.description}, i)}>\n\t\t\t\t\t\t\t\t\t{cachets[i]?.dates.length === 1 || cachets[i].dates.indexOf(date) === cachets[i]?.dates.length - 1 ? '' : ', '}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t{!cachets[i].dates || cachets[i].dates?.length === 0 && (\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t{t(\"createFolder.lieuxDates.no-date\")}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t (value == cachets[i].dates.length) || `${t('createFolder.contratsCachets.number-cachet-error', { number: cachets[i].dates.length })}` }\n\t\t\t\t\t\t\t: cachetValidator?.[\"Count\"]\n\t\t\t\t\t\t)}\n\t\t\t\t\t\terrors={form.errors}\n\t\t\t\t\t\tvalue={cachets[i].dates.length}\n\t\t\t\t\t\tonChange={(value: string) => {\n\t\t\t\t\t\t\thandleChangeObject(value, i, 'count');\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t\t {\n\t\t\t\t\t\t\thandleChangeObject(value, i, 'tauxChargesPatronales');\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t
\n\t\t\t
\n\t\t))}\n\t\t{cachets.length < 1 ?\n\t\t\t
\n\t\t\t\t\n\t\t\t\t{t(\"createFolder.contratsCachets.addCachet\")}\n\t\t\t
\n\t\t\t: datesSelectOptions.find(elem => TypePrestation[elem.typePresta] === TypePrestation[cachetType])?.options.length > 0 &&\n\t\t\t
\n\t\t\t\t\n\t\t\t\t{t(\"createFolder.contratsCachets.addCachet\")}\n\t\t\t
\n\t\t}\n\t);\n}\n\nexport default Cachets;","import React, { useState, useEffect, FunctionComponent } from 'react';\nimport Input from 'adel-shared/dist/components/basics/Input';\nimport { useTranslation } from 'react-i18next';\nimport InputSelect, { AdelOption } from 'adel-shared/dist/components/basics/InputSelect';\nimport moment from 'moment';\nimport { CreateArtisteDto, LieuDateDto, TypePrestation } from '../../../../services/generated/FrontOffice-api';\nimport { DatesSelectOption, LieuDateByPrestation, SalairesCusto } from './EditArtiste';\nimport { Controller, FormContextValues } from 'react-hook-form';\n\ninterface SalairesDatesBlockProps {\n\tsalaires: SalairesCusto[];\n\tsetSalaires: (value: SalairesCusto[]) => void;\n\tdates: { [key: string]: LieuDateDto[]; };\n\tdatesSelectOptions: DatesSelectOption[];\n\tsetDatesSelectOptions:(value: DatesSelectOption[]) => void;\n\tsalaire: SalairesCusto;\n\ttypePresta: string;\n\tform: FormContextValues;\n}\n\nconst SalairesDatesBlock: FunctionComponent = ({\n\tsalaires,\n\tsetSalaires,\n\tdates,\n\tdatesSelectOptions,\n\tsetDatesSelectOptions,\n\tsalaire,\n\ttypePresta,\n\tform\n}) => {\n\tconst { t } = useTranslation();\n\n\t/** Options pour les types Enregistrement */\n\tconst [enregistrementOptions, setEnregistrementOptions] = useState[]>([]);\n\n\tconst salairesDates = salaire.lieuDateByPresta?.find(e => e.typePresta === TypePrestation[typePresta as keyof typeof TypePrestation])?.dates;\n\t\n\tuseEffect(() => {\n\t\tif (salaires && salaire && (TypePrestation[typePresta as keyof typeof TypePrestation]) === TypePrestation.Enregistrement)\n\t\t\tsetEnregistrementOptions(generationDatesOptions(dates[typePresta], salaire.lieuDateByPresta?.find(e => e.typePresta === TypePrestation.Enregistrement)))\n\t}, [salaires]);\n\n\tconst generationDatesOptions = (array: LieuDateDto[], selectedSalaire: LieuDateByPrestation) => {\n\t\tif (selectedSalaire) {\n\t\t\treturn array?.filter(d => !selectedSalaire.dates.some(s => s.id === d.id)).map(date => ({\n\t\t\t\tlabel: moment(date.date).format('DD/MM/YYY'),\n\t\t\t\tvalue: date\n\t\t\t}));\n\t\t}\n\t\treturn array?.map(date => ({\n\t\t\tlabel: moment(date.date).format('DD/MM/YYY'),\n\t\t\tvalue: date\n\t\t}));\n\t}\n\n\tconst optionsDate = () => {\n\t\tlet opts: (AdelOption | AdelOption)[] = [];\n\n\t\tif(TypePrestation[typePresta as keyof typeof TypePrestation] !== TypePrestation.Enregistrement) {\n\t\t\topts = datesSelectOptions.find(elem => TypePrestation[elem.typePresta] === TypePrestation[typePresta as keyof typeof TypePrestation])?.options || [];\n\t\t} else {\n\t\t\topts = enregistrementOptions;\n\t\t}\n\n\t\tconst isAllDatesOpt = opts.some((x: any) => x.value === 'all');\n\n\t\tif(!isAllDatesOpt && opts.length > 1) {\n\t\t\topts.unshift({\n\t\t\t\tlabel: t('createFolder.contratsCachets.allDates'),\n\t\t\t\tvalue: \"all\"\n\t\t\t});\n\t\t}\n\n\t\treturn opts;\n\t};\n\n\tconst changeDates = (dateFromSelect: LieuDateDto | string, typePresta: string, salaire: SalairesCusto) => {\n\t\tconst updateSalaires = [...salaires];\n\t\tconst currentSalaire = updateSalaires.find(d => d.id === salaire.id);\n\t\tconst currentDates = currentSalaire.lieuDateByPresta.find(l => l.typePresta === TypePrestation[typePresta as keyof typeof TypePrestation]);\n\n\t\t// If select all\n\t\tif(typeof dateFromSelect === 'string') {\n\t\t\tconst addedDates = dates[typePresta].filter(x => datesSelectOptions.find(y => y.typePresta === typePresta)?.options.some(z => z.value.id === x.id));\n\n\t\t\tif(currentDates) {\n\t\t\t\tcurrentDates.dates = [\n\t\t\t\t\t...currentDates.dates,\n\t\t\t\t\t...addedDates\n\t\t\t\t];\n\t\t\t} else {\n\t\t\t\tcurrentSalaire.lieuDateByPresta.push({\n\t\t\t\t\ttypePresta: TypePrestation[typePresta as keyof typeof TypePrestation],\n\t\t\t\t\tdates: addedDates\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tconst updatedOptions = [...datesSelectOptions];\n\t\t\tupdatedOptions.find(elem => TypePrestation[elem.typePresta] === TypePrestation[typePresta as keyof typeof TypePrestation]).options.length = 0;\n\t\t\tsetDatesSelectOptions(updatedOptions);\n\n\t\t\tsetSalaires(updateSalaires);\n\t\t} else {\n\t\t\tif (currentDates) {\n\t\t\t\tcurrentDates.dates.push(dateFromSelect);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tcurrentSalaire.lieuDateByPresta.push({\n\t\t\t\t\ttypePresta: TypePrestation[typePresta as keyof typeof TypePrestation],\n\t\t\t\t\tdates: [dateFromSelect] || []\n\t\t\t\t});\n\t\t\t}\n\t\t\tsetSalaires(updateSalaires);\n\t\n\t\t\t// Update de DatesSelectOptions (quand ce n'est pas un enregistrement)\n\t\t\tif (TypePrestation[typePresta as keyof typeof TypePrestation] !== TypePrestation.Enregistrement) {\n\t\t\t\tif (datesSelectOptions.find(elem => TypePrestation[elem.typePresta] === TypePrestation[typePresta as keyof typeof TypePrestation])) {\n\t\t\t\t\tconst updatedOptions = [...datesSelectOptions];\n\t\t\t\t\tconst updatedDates = updatedOptions.find(e => e.typePresta === typePresta)?.options.filter(d => d.value.id !== dateFromSelect.id );\n\t\n\t\t\t\t\tif (updatedDates) {\n\t\t\t\t\t\tupdatedOptions.find(elem => TypePrestation[elem.typePresta] === TypePrestation[typePresta as keyof typeof TypePrestation]).options = updatedDates;\n\t\t\t\t\t\tsetDatesSelectOptions(updatedOptions);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tconst deleteDate = (itemClicked: LieuDateDto, selectedSalaire:SalairesCusto) => {\n\t\tconst updateSalaires = [...salaires]\n\t\tconst salaireToUpdate = updateSalaires.find(s => s.id == selectedSalaire.id).lieuDateByPresta;\n\n\t\tif (salaireToUpdate) {\n\t\t\tupdateSalaires.find(s => s.id == selectedSalaire.id).lieuDateByPresta.find(l => l.typePresta === itemClicked.typePrestation).dates = \n\t\t\t\tupdateSalaires.find(s => s.id == selectedSalaire.id).lieuDateByPresta.find(l => l.typePresta === itemClicked.typePrestation).dates\n\t\t\t\t.filter(d => d.id !== itemClicked.id)\n\t\t}\n\t\tsetSalaires(updateSalaires);\n\n\t\tif (itemClicked.typePrestation !== TypePrestation.Enregistrement) {\n\t\t\tif(datesSelectOptions.find(elem => TypePrestation[elem.typePresta] === TypePrestation[typePresta as keyof typeof TypePrestation])) {\n\t\t\t\tconst updatedDates = [...datesSelectOptions];\n\t\t\t\tconst datesCurrentPresta = updatedDates.find(elem => TypePrestation[elem.typePresta] === itemClicked.typePrestation).options;\n\t\t\t\tdatesCurrentPresta.push({\n\t\t\t\t\tlabel: moment(itemClicked.date).format('DD/MM/YYYY'),\n\t\t\t\t\tvalue: itemClicked\n\t\t\t\t});\n\t\t\t\tdatesCurrentPresta.sort((a, b) => {\n\t\t\t\t\tif(a.value.date && b.value.date) {\n\t\t\t\t\t\treturn a.value.date > b.value.date ? 1 : -1;\n\t\t\t\t\t}\n\t\t\t\t\treturn 0;\n\t\t\t\t});\n\t\t\t\tsetDatesSelectOptions(updatedDates);\n\t\t\t}\n\t\t}\n\t}\n\n\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tname={name}\n\t\t\t\t\t\t\tlabel={`${t('createFolder.contratsCachets.listColumns.date' + typePresta)}`}\n\t\t\t\t\t\t\tclassname=\"inputSelect inputSelect--multi\"\n\t\t\t\t\t\t\toptions={optionsDate()}\n\t\t\t\t\t\t\terrors={form.errors}\n\t\t\t\t\t\t\tonChange={date => {\n\t\t\t\t\t\t\t\tonChange(date);\n\t\t\t\t\t\t\t\tchangeDates(date, typePresta, salaire);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tplaceholder={t(\"common.select\")}\n\t\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t/>\n\t\t\t
\n\t\t\t
\n\t\t\t\t \n\t\t\t\t
\n\t\t\t\t\t{salaire.lieuDateByPresta?.filter(e => e.typePresta === TypePrestation[typePresta as keyof typeof TypePrestation])?.map((lieuDate, index: number) => (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{lieuDate.dates.map((date, i) => (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{moment(date?.date).format('DD/MM/YYYY')}\n\t\t\t\t\t\t\t\t\t deleteDate(date, salaire)}>\n\t\t\t\t\t\t\t\t\t{lieuDate.dates.length === 1 || lieuDate.dates.indexOf(date) === lieuDate.dates.length - 1 ? '' : ', '}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\n\t\t\t\t\t))}\n\t\t\t\t
\n\t\t\t
\n\t\t\t\n\t\t
\n\t);\n}\n\nexport default SalairesDatesBlock;","import Input from 'adel-shared/dist/components/basics/Input';\nimport { uniqueId } from 'lodash';\nimport moment from 'moment';\nimport React, { FunctionComponent, useEffect } from 'react';\nimport { FormContextValues } from 'react-hook-form';\nimport { useTranslation } from 'react-i18next';\nimport { AdelOption } from '../../../../../../../../../Shared/src/adel-shared/dist/components/basics/InputSelect';\nimport { tauxChargesPatronales } from '../../../../constants/config.constant';\nimport { CreateArtisteDto, Emploi, LieuDateDto, RemunerationDto, TypePrestation } from '../../../../services/generated/FrontOffice-api';\nimport { formMode } from '../ContratsCachets';\nimport { DatesSelectOption, SalairesCusto } from './EditArtiste';\nimport MontantBrutInput from './MontantBrutInput';\nimport SalairesDatesBlock from './SalairesDatesBlock';\n\ninterface SalairesProps {\n\tsalaires: SalairesCusto[];\n\tsetSalaires: (value: SalairesCusto[]) => void,\n\tdates: { [key: string]: LieuDateDto[]; };\n\tcurrentFormMode: formMode;\n\tdatesSelectOptions:DatesSelectOption[];\n\tsetDatesSelectOptions:(value:DatesSelectOption[]) => void;\n\tform: FormContextValues;\n\tsetInvalidSalaireDates: (value:boolean) => void;\n\tgroupesEmploi?: any\n\tremuneration: RemunerationDto[];\n\ttypePrestation?: keyof typeof TypePrestation;\n\temploi: Emploi;\n\tstyleMusical: string; // styleMusical ID\n}\n\nconst Salaires: FunctionComponent = ({\n\tsalaires,\n\tsetSalaires,\n\tdatesSelectOptions,\n\tsetDatesSelectOptions,\n\tsetInvalidSalaireDates,\n\tform,\n\tdates,\n\tremuneration,\n\tgroupesEmploi,\n\temploi,\n\tstyleMusical\n}) => {\n\tconst { t } = useTranslation();\n\tconst isSalaireDatesInvalid = salaires.length > 0 && (!salaires.find(s => s.lieuDateByPresta.length > 0) \n\t|| !salaires.find(s => s.lieuDateByPresta.find(l => l.dates.length > 0)));\n\n\tconst handleChangeObject = (value: string, index: number, propertyName: string) => {\n\t\tconst updateSalaires = [...salaires];\n\t\tswitch (propertyName) {\n\t\t\tcase \"montantBrut\":\n\t\t\t\tupdateSalaires[index].montantBrut = Math.round(parseFloat(value as string) * 100) / 100;\n\t\t\t\tbreak;\n\t\t\tcase \"tauxChargesPatronales\":\n\t\t\t\tupdateSalaires[index].tauxChargesPatronales = parseFloat(value as string);\n\t\t\t\tbreak;\n\t\t\tdefault: break;\n\t\t}\n\t\tsetSalaires(updateSalaires)\n\t}\n\n\tuseEffect(() => {\n\t\tsetInvalidSalaireDates(isSalaireDatesInvalid)\n\t}, [salaires]);\n\n\tconst addSalaire = () => {\n\t\tconst temporaryId = uniqueId('TEMPORARY_');\n\t\tconst newSalaire: SalairesCusto = {\n\t\t\tid: temporaryId,\n\t\t\tlieuDateByPresta: [],\n\t\t};\n\t\tsetSalaires([...salaires, newSalaire]);\n\t}\n\n\tconst deleteSalaire = (itemClicked:SalairesCusto) => {\n\t\tconst updateSalaires = [...salaires]\n\t\tfor (let i in updateSalaires) {\n\t\t\tif (itemClicked.id === updateSalaires[i].id)\n\t\t\t\tupdateSalaires.splice(updateSalaires.indexOf(updateSalaires[i]), 1);\n\t\t}\n\t\tsetSalaires(updateSalaires)\n\n\t\t/** Suppression de dates dans les options (non Enregistrements) */\n\t\tif(datesSelectOptions.find(elem => itemClicked.lieuDateByPresta.some(l => TypePrestation[elem.typePresta] === l.typePresta))) {\n\t\t\tconst update = [...datesSelectOptions];\n\n\t\t\tlet datesToAdd:AdelOption[] = [];\n\t\t\titemClicked.lieuDateByPresta.filter(e => e.typePresta !== TypePrestation.Enregistrement).forEach(lieuDate =>\n\t\t\t\tdatesToAdd = lieuDate.dates.map(date => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tlabel: moment(date.date).format('DD/MM/YYYY'),\n\t\t\t\t\t\tvalue: date\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t);\n\n\t\t\tupdate.find(elem => itemClicked.lieuDateByPresta.some(l => TypePrestation[elem.typePresta] === l.typePresta)).options = update\n\t\t\t\t.find(elem => itemClicked.lieuDateByPresta.some(l => TypePrestation[elem.typePresta] === l.typePresta))\n\t\t\t\t.options.concat(datesToAdd);\n\t\t\tsetDatesSelectOptions(update);\n\t\t}\n\t}\n\n\treturn (<>\n\t\t{salaires.map((salaire, i) => (\n\t\t\t
\n\t\t\t\t

\n\t\t\t\t\t\n\t\t\t\t\t{t(\"createFolder.contratsCachets.salaire\")}\n\t\t\t\t

\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t {\n\t\t\t\t\t\t\thandleChangeObject(value, i, 'tauxChargesPatronales');\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t
\n\t\t\t\t{Object.keys(dates).map((typePresta, i) => (\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t))}\n\t\t\t
\n\t\t))}\n\t\t{isSalaireDatesInvalid &&\n\t\t\t
\n\t\t\t\t{t(\"createFolder.contratsCachets.minimumDateSalaire\")}\n\t\t\t
\n\t\t}\n\t\t
\n\t\t\t\n\t\t\t{t(\"createFolder.contratsCachets.addSalaire\")}\n\t\t
\n\t);\n}\n\nexport default Salaires;","import React, { useState } from \"react\";\r\nimport InputRadioButton from './InputRadioButton';\r\nimport { useTranslation } from \"react-i18next\";\r\nfunction InputRadioYesNo({ name, label, radioLabels, onChange, value, errorMessage }) {\r\n const { t } = useTranslation();\r\n const [checked, setChecked] = useState(value);\r\n const handleChange = (value) => {\r\n if (onChange) {\r\n onChange(value);\r\n setChecked(value);\r\n }\r\n };\r\n return (React.createElement(\"div\", { className: \"input\" },\r\n React.createElement(\"label\", null, label),\r\n React.createElement(\"div\", { className: \"InputRadioYesNo\" },\r\n React.createElement(InputRadioButton, { name: name, label: (radioLabels === null || radioLabels === void 0 ? void 0 : radioLabels[0]) || t(\"common.yes\"), id: name + \"-yes\", onChange: (e) => e.target.checked && handleChange(true), checked: value === undefined ? false : checked }),\r\n React.createElement(InputRadioButton, { name: name, label: (radioLabels === null || radioLabels === void 0 ? void 0 : radioLabels[1]) || t(\"common.no\"), id: name + \"-no\", onChange: (e) => e.target.checked && handleChange(false), checked: value === undefined ? false : !checked })),\r\n errorMessage &&\r\n React.createElement(\"p\", { className: \"input__errorMessage\" }, errorMessage)));\r\n}\r\nexport default InputRadioYesNo;\r\n","import React, { useImperativeHandle, useEffect, useState, forwardRef, ForwardRefExoticComponent, PropsWithoutRef, RefAttributes, useRef, useMemo } from 'react';\nimport { RouteComponentProps } from '@reach/router';\nimport { useTranslation } from 'react-i18next';\nimport { useAxios } from '../../../custom-hooks/useAxios';\nimport { DossierClient, ArtisteLightDto, ArtisteLightDtoSortedFilteredPage, ArtisteClient, ArtisteDto, MasseSalarialeDto, ArtistesValidationErrorDto } from '../../../services/generated/FrontOffice-api';\nimport ArtisteList from './artistes/ArtisteList';\nimport EditArtiste, { EditArtisteRef } from './artistes/EditArtiste';\nimport _ from 'lodash';\nimport ModalValidationArtiste from './artistes/ModalValidationArtiste';\nimport useIsMounted from '../../../custom-hooks/useIsMounted';\nimport { CategorieDossier } from '../../../enums/Dossiers';\n\nenum View {\n\tList = \"List\",\n\tEdit = \"Edit\"\n}\n\nexport enum formMode {\n\tIS_CREATION = 1,\n\tIS_DUPLICATE,\n\tIS_EDIT\n}\n\ninterface ContratsCachetsProps extends RouteComponentProps {\n\tdossierId: string;\n\tcategorieDossierId: string;\n\tsetEditMode: (value: boolean) => void;\n\tsetIsFormValid: (value: boolean) => void;\n\tsetCanGoNext: (value: boolean) => void;\n\tsetIsLoading: (value: boolean) => void;\n\tcodeCategorie: CategorieDossier;\n}\n\nconst ContratsCachets: ForwardRefExoticComponent & RefAttributes> = forwardRef(({\n\tdossierId,\n\tcategorieDossierId,\n\tsetEditMode,\n\tsetIsFormValid,\n\tsetIsLoading,\n\tcodeCategorie,\n\tsetCanGoNext\n}, ref) => {\n\tconst { t, i18n } = useTranslation();\n\n\tconst isMounted = useIsMounted();\n\tconst axiosInstance = useAxios();\n\tconst dossierClient = useMemo(() => { return new DossierClient(\"\", axiosInstance) }, [axiosInstance]);\n\tconst artisteClient = useMemo(() => { return new ArtisteClient(\"\", axiosInstance) }, [axiosInstance]);\n\n\n\tconst [currentView, setCurrentView] = useState(View.List);\n\tconst [artistes, setArtistes] = useState([]);\n\n\tconst [artisteSelected, setArtisteSelected] = useState()\n\n\tconst [currentFormMode, setCurrentFormMode] = useState(formMode.IS_CREATION)\n\n\tconst [stats, setStats] = useState({})\n\n\n\tconst [errorsValidation, setErrorsValidation] = useState([]);\n\tconst [modalValidationArtisteIsOpen, setModalValidationArtisteIsOpen] = useState(false);\n\n\t/** Filtres */\n\tconst [sort, setSort] = useState(\"Nom\");\n\tconst [filters, setFilters] = useState(\"\");\n\tconst [page, setPage] = useState(1);\n\tconst [pageSize, setPageSize] = useState(1000);\n\tconst [disabledPagination, setDisabledPagination] = useState(true);\n\n\n\t// UseMemo to save the debounce function in memory when component is re-rendered\n\tconst debounceFetchArtists = useMemo(() => _.debounce((dossierId: string, filters: string, sort: string, page: number, pageSize: number, disabledPagination: boolean) => {\n\t\tdossierClient.getArtistes(dossierId, filters, sort, page, pageSize, disabledPagination).then((result: ArtisteLightDtoSortedFilteredPage) => {\n\t\t\tsetArtistes(result.items);\n\t\t\tgetAllStats()\n\t\t});\n\t}, 1000), []);\n\n\tuseEffect(() => {\n\t\t//TODO: ajouter une regle du style check si on a des artists avant de pouvoir go next\n\t\tsetCanGoNext(true)\n\t}, [])\n\n\tuseEffect(() => {\n\t\tdebounceFetchArtists(dossierId, filters, sort, page, pageSize, disabledPagination)\n\t}, [filters, sort, page, pageSize, disabledPagination]);\n\n\tuseEffect(() => {\n\t\tswitch (currentView) {\n\t\t\tcase View.List:\n\t\t\t\tsetEditMode(false);\n\t\t\t\tsetArtisteSelected(undefined);\n\t\t\t\tdebounceFetchArtists(dossierId, filters, sort, page, pageSize, disabledPagination)\n\t\t\t\tbreak;\n\t\t\tcase View.Edit:\n\t\t\t\tsetEditMode(true);\n\t\t\t\tbreak;\n\t\t}\n\t}, [currentView]);\n\n\tuseEffect(() => {\n\t\tif (errorsValidation && errorsValidation.length > 0) {\n\t\t\tsetModalValidationArtisteIsOpen(true)\n\t\t}\n\t}, [errorsValidation])\n\n\tconst addArtisteRef: React.MutableRefObject = useRef(null);\n\n\tuseImperativeHandle(ref, () => ({\n\t\tasync validateForm(): Promise {\n\t\t\tsetIsLoading(true);\n\n\t\t\tswitch (currentView) {\n\t\t\t\tcase View.List:\n\t\t\t\t\tlet result = await dossierClient.validateArtistes(dossierId);\n\t\t\t\t\tsetErrorsValidation(result?.errors)\n\t\t\t\t\tgetAllStats();\n\t\t\t\t\tsetIsLoading(false);\n\t\t\t\t\tif (result?.errors && result.errors.length > 0) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\tcase View.Edit:\n\t\t\t\t\tif (addArtisteRef && addArtisteRef.current) {\n\t\t\t\t\t\tlet result = await addArtisteRef.current.validateAndSend();\n\t\t\t\t\t\tsetIsLoading(false);\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsetIsLoading(false);\n\t\t\t\t\t\tconsole.error(\"addArtisteRef undefined. Please contact your Dev Team.\");\n\t\t\t\t\t}\n\t\t\t}\n\t\t\tthrow \"currentView unknown. Please contact your Dev Team.\";\n\t\t}\n\t}));\n\n\n\tconst duplicateArtiste = (data: any) => {\n\t\tsetIsLoading(true);\n\t\tartisteClient.getArtiste(data).then((result) => {\n\t\t\tsetArtisteSelected(result);\n\t\t\tsetCurrentFormMode(formMode.IS_DUPLICATE);\n\t\t\tsetCurrentView(View.Edit);\n\t\t\tsetIsLoading(false);\n\t\t})\n\t}\n\n\tconst editArtiste = (data: any) => {\n\t\tsetIsLoading(true);\n\t\tartisteClient.getArtiste(data).then((result) => {\n\t\t\tsetArtisteSelected(result);\n\t\t\tsetCurrentFormMode(formMode.IS_EDIT);\n\t\t\tsetCurrentView(View.Edit);\n\t\t\tsetIsLoading(false);\n\t\t})\n\t}\n\n\tconst deleteArtiste = () => {\n\t\tsetIsLoading(true);\n\t\tdebounceFetchArtists(dossierId, filters, sort, page, pageSize, disabledPagination)\n\t\tsetIsLoading(false);\n\t}\n\n\tconst getAllStats = () => {\n\t\tdossierClient.getMasseSalariale(dossierId).then((result) => {\n\t\t\tif(isMounted()) {\n\t\t\t\tsetStats(result);\n\t\t\t}\n\t\t})\n\t}\n\n\tconst renderSwitchView = () => {\n\t\tswitch (currentView) {\n\t\t\tcase View.List:\n\t\t\t\treturn {\n\t\t\t\t\t\tsetCurrentView(View.Edit);\n\t\t\t\t\t\tsetCurrentFormMode(formMode.IS_CREATION);\n\t\t\t\t\t}}\n\t\t\t\t\tduplicateArtiste={duplicateArtiste}\n\t\t\t\t\teditArtiste={editArtiste}\n\t\t\t\t\tinformDeleteArtiste={deleteArtiste}\n\t\t\t\t\tdossierId={dossierId}\n\t\t\t\t\tcategorieDossierId={categorieDossierId}\n\t\t\t\t\tstats={stats}\n\n\n\t\t\t\t/>\n\t\t\tcase View.Edit:\n\t\t\t\treturn {\n\t\t\t\t\t\tsetCurrentView(View.List);\n\t\t\t\t\t\tsetCurrentFormMode(formMode.IS_CREATION)\n\t\t\t\t\t}}\n\t\t\t\t\tartisteSelected={artisteSelected}\n\t\t\t\t\tcurrentFormMode={currentFormMode}\n\t\t\t\t\tcodeCategorie={codeCategorie}\n\t\t\t\t/>\n\t\t}\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{renderSwitchView()}\n\t\t\t{ currentView === View.List && errorsValidation.length > 0 &&\n\t\t\t\t setModalValidationArtisteIsOpen(false)}\n\t\t\t\t\terrorsValidation={errorsValidation}\n\t\t\t\t/>\n\t\t\t}\n\t\t);\n});\n\nexport default ContratsCachets;","import Input from 'adel-shared/dist/components/basics/Input';\nimport InputSelect, { AdelOption } from 'adel-shared/dist/components/basics/InputSelect';\nimport moment from 'moment';\nimport React, {\n\tForwardRefExoticComponent,\n\tPropsWithoutRef,\n\tRefAttributes,\n\tforwardRef,\n\tuseEffect,\n\tuseImperativeHandle,\n\tuseMemo,\n\tuseState,\n\tuseCallback\n} from 'react';\nimport { Controller, useForm } from 'react-hook-form';\nimport { useTranslation } from 'react-i18next';\nimport { toast } from 'react-toastify';\nimport { useAxios } from '../../../../custom-hooks/useAxios';\nimport useValidation from '../../../../custom-hooks/useValidation';\nimport { CategorieDossier } from '../../../../enums/Dossiers';\nimport {\n\tArtisteClient,\n\tArtisteDto,\n\tCachetDto,\n\tCreateArtisteDto,\n\tCreateCachetDto,\n\tDossierArtistesViewModelDto,\n\tDossierClient,\n\tEmploi,\n\tLieuDateDto,\n\tRemunerationDto,\n\tSalaireDto,\n\tTypePrestation,\n\tUpdateArtisteDto,\n\tUpdateCachetDto\n} from '../../../../services/generated/FrontOffice-api';\nimport { formMode } from '../ContratsCachets';\nimport Cachets from './Cachets';\nimport Salaires from './Salaires';\nimport InputRadioYesNo from 'adel-shared/dist/components/basics/InputRadioYesNo';\n\nexport interface EditArtisteRef {\n\tvalidateAndSend: () => Promise;\n}\n\nexport interface LieuDateByPrestation {\n\ttypePresta: TypePrestation;\n\tdates: LieuDateDto[];\n}\nexport interface SalairesCusto extends SalaireDto {\n\tlieuDateByPresta: LieuDateByPrestation[];\n}\n\nexport interface DatesSelectOption {\n\ttypePresta: keyof typeof TypePrestation,\n\toptions: AdelOption[]\n}\n\ninterface EditArtisteProps {\n\tdossierId: string;\n\tcloseView: () => void;\n\tsetIsFormValid: (value: boolean) => void;\n\tartisteSelected: ArtisteDto;\n\tcurrentFormMode: formMode;\n\tcodeCategorie: CategorieDossier;\n}\n\nconst EditArtiste: ForwardRefExoticComponent & RefAttributes> = forwardRef(({\n\tdossierId,\n\tcloseView,\n\tsetIsFormValid,\n\tartisteSelected,\n\tcurrentFormMode,\n\tcodeCategorie\n}, ref) => {\n\tconst { t, i18n } = useTranslation();\n\tconst form = useForm({defaultValues: {\n\t\tinstrumentId: artisteSelected?.instrument?.id,\n\t\tformation: artisteSelected?.formation\n\t}});\n\n\tconst { getRootValidator } = useValidation();\n\tconst artisteValidator = getRootValidator(\"CreateArtisteDto\");\n\tconst axiosInstance = useAxios();\n\tconst dossierClient = useMemo(() => { return new DossierClient(\"\", axiosInstance) }, [axiosInstance]);\n\tconst artisteClient = useMemo(() => { return new ArtisteClient(\"\", axiosInstance) }, [axiosInstance]);\n\n\tconst emploi = form.watch(\"emploi\");\n\tconst styleMusical = form.watch(\"stylemusical\");\n\n\tconst [isArtistePrincipal, setIsArtistePrincipal] = useState(false);\n\tconst [isArtisteTitulaire, setIsArtisteTitulaire] = useState();\n\tconst [isArtisteAdditionnel, setIsArtisteAdditionnel] = useState();\n\tconst [isArtistGenerationSpedidam, setIsArtistGenerationSpedidam] = useState(false);\n\n\tconst YesNotOptions = [\n\t\t{ value: \"oui\", label: t(\"common.yes\") },\n\t\t{ value: \"non\", label: t(\"common.no\") }\n\t]\n\n\n\t//L'ensemble des types de cachets\n\tconst [enregistrements, setEnregistrements] = useState([]);\n\tconst [repetitions, setRepetitions] = useState([]);\n\tconst [representations, setRepresentations] = useState([]);\n\tconst [diffusion, setDiffusion] = useState([]);\n\tconst [concert, setConcert] = useState([]);\n\n\tconst [salaires, setSalaires] = useState([]);\n\tconst [viewModel, setViewModel] = useState({});\n\tconst [datesSelectOptions, setDatesSelectOptions] = useState([]);\n\n\t//infos extraites de viewmodel\n\tconst [instrumentsOptions, setInstrumentsOptions] = useState[]>([]);\n\tconst [stylesMusicauxOptions, setStylesMusicauxOptions] = useState[]>([]);\n\tconst [emploisOptions, setEmploisOptions] = useState[]>([]);\n\n\tconst [invalidSalaireDates, setInvalidSalaireDates] = useState(false);\n\tconst [remunerations, setRemunerations] = useState([]);\n\tconst [groupesEmploi, setGroupesEmploi] = useState([]);\n\n\tuseEffect(() => {\n\t\tsetIsFormValid(true);\n\t\t(async() => {\n\t\t\tgetArtistesViewModel();\n\t\t})();\n\t}, []);\n\tconst getArtistesViewModel = async() => {\n\t\tconst result = await dossierClient.getArtistesViewModel(dossierId)\n\t\tsetViewModel(result)\n\n\t\t//récupération rémunérations minimum\n\t\tsetRemunerations(result.remunerations);\n\t\tsetGroupesEmploi(result.groupesEmploi);\n\n\t\t//on récupère la liste d'instruments\n\t\tif (result?.instruments) {\n\t\t\tconst instruments = result.instruments.map(instrument => ({\n\t\t\t\tlabel: instrument.intitule[i18n.language] ?? \"\",\n\t\t\t\tvalue: instrument.id\n\t\t\t}));\n\t\t\tsetInstrumentsOptions(instruments)\n\t\t}\n\t\t//on récupère la liste des styles musicaux\n\t\tif (result?.stylesMusicaux) {\n\t\t\tconst stylesMusicaux = result.stylesMusicaux.map(styleMusical => ({\n\t\t\t\tlabel: styleMusical.intitule[i18n.language] ?? \"\",\n\t\t\t\tvalue: styleMusical.id\n\t\t\t}));\n\t\t\tsetStylesMusicauxOptions(stylesMusicaux)\n\t\t}\n\t\t//on récupère la liste des emplois\n\t\tif (result?.emplois) {\n\t\t\tconst emplois = result.emplois.map(emploi => ({\n\t\t\t\tlabel: t('emplois.' + emploi),\n\t\t\t\tvalue: emploi\n\t\t\t}));\n\t\t\tsetEmploisOptions(emplois)\n\t\t}\n\t}\n\n\tuseEffect(() => {\n\t\tif(artisteSelected?.styleMusical && stylesMusicauxOptions.length > 0)\n\t\t\tform.setValue(\"styleMusical\", artisteSelected.styleMusical.id);\n\t}, [stylesMusicauxOptions, artisteSelected?.styleMusical]);\n\n\tuseEffect(() => {\n\t\t//si on est en edition/duplication. On veut transmettre les données de l'artiste aux formulaires : 1) info artiste 2) cachets 3) salaires. On modifie le format de salaires pour faciliter la chose <.<\n\t\tif (currentFormMode !== formMode.IS_CREATION) {\n\t\t\tif (artisteSelected && viewModel) {\n\t\t\t\tif (currentFormMode === formMode.IS_EDIT) {\n\t\t\t\t\tform.setValue(\"nom\", artisteSelected.nom);\n\t\t\t\t\tform.setValue(\"prenom\", artisteSelected.prenom);\n\t\t\t\t\tform.setValue(\"email\", artisteSelected.email);\n\t\t\t\t\tform.setValue(\"lieuHabitation\", artisteSelected.lieuHabitation);\n\t\t\t\t\tform.setValue(\"emploi\", artisteSelected.emploi);\n\t\t\t\t\tform.setValue(\"isEngagementDirect\", artisteSelected.isEngagementDirect);\n\t\t\t\t}\n\t\t\t\tsetIsArtisteTitulaire(artisteSelected.isTitulaire);\n\t\t\t\tsetIsArtisteAdditionnel(!artisteSelected.isTitulaire);\n\t\t\t\tsetIsArtistePrincipal(artisteSelected.artistePrincipal);\n\t\t\t\tsetIsArtistGenerationSpedidam(artisteSelected.isGenerationSpedidam);\n\t\t\t\tlet enregistrementCachets: CachetDto[] = [];\n\t\t\t\tlet repetitionCachets: CachetDto[] = [];\n\t\t\t\tlet representationCachets: CachetDto[] = [];\n\t\t\t\tlet diffusionCachets: CachetDto[] = [];\n\t\t\t\tlet concertCachets: CachetDto[] = [];\n\t\t\t\tlet modifiedSalaires: SalairesCusto[] = [];\n\n\t\t\t\tartisteSelected.cachets.forEach(elem => {\n\t\t\t\t\tconst modifiedElem:CachetDto = {\n\t\t\t\t\t\tid: elem.id,\n\t\t\t\t\t\tcount: elem.count,\n\t\t\t\t\t\tdates: elem.dates,\n\t\t\t\t\t\tmontantBrut: elem.montantBrut,\n\t\t\t\t\t\ttauxChargesPatronales: Math.round(elem.tauxChargesPatronales * 100),\n\t\t\t\t\t\ttypePrestation: elem.typePrestation\n\t\t\t\t\t}\n\n\t\t\t\t\tswitch(elem.typePrestation) {\n\t\t\t\t\t\tcase TypePrestation.Enregistrement:\n\t\t\t\t\t\t\tenregistrementCachets.push(modifiedElem)\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase TypePrestation.Repetition:\n\t\t\t\t\t\t\trepetitionCachets.push(modifiedElem)\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase TypePrestation.Representation:\n\t\t\t\t\t\t\trepresentationCachets.push(modifiedElem)\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase TypePrestation.Diffusion:\n\t\t\t\t\t\t\tdiffusionCachets.push(modifiedElem)\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase TypePrestation.Concert:\n\t\t\t\t\t\t\tconcertCachets.push(modifiedElem)\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\tsetEnregistrements(enregistrementCachets)\n\t\t\t\tsetRepetitions(repetitionCachets)\n\t\t\t\tsetRepresentations(representationCachets)\n\t\t\t\tsetDiffusion(diffusionCachets)\n\t\t\t\tsetConcert(concertCachets)\n\n\t\t\t\tconst lieuDateMapper = (salaireDates: LieuDateDto[]) => {\n\t\t\t\t\treturn salaireDates.reduce((acc:LieuDateByPrestation[], currentValue:LieuDateDto, index:number, array:LieuDateDto[]) => {\n\t\t\t\t\t\tconst newValue:LieuDateByPrestation = {\n\t\t\t\t\t\t\ttypePresta: currentValue.typePrestation,\n\t\t\t\t\t\t\tdates: array.filter(d => d.typePrestation === currentValue.typePrestation)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(!acc.some(d => d.typePresta === currentValue.typePrestation)) acc.push(newValue);\n\t\t\t\t\t\treturn acc;\n\t\t\t\t\t}, []);\n\t\t\t\t};\n\n\t\t\t\tmodifiedSalaires = artisteSelected.salaires.map(salaire => ({\n\t\t\t\t\tid: salaire.id,\n\t\t\t\t\tmontantBrut: salaire.montantBrut,\n\t\t\t\t\ttauxChargesPatronales: salaire.tauxChargesPatronales * 100,\n\t\t\t\t\tlieuDateByPresta: lieuDateMapper(salaire.dates)\n\t\t\t\t}));\n\n\t\t\t\tsetSalaires(modifiedSalaires)\n\t\t\t}\n\t\t}\n\n\t\t/** Dates */\n\t\tsettingDatesOptions();\n\t}, [artisteSelected, viewModel]);\n\n\t// Set par défaut des listes d'options pour les dates\n\tconst settingDatesOptions = useCallback(() => {\n\t\t\n\t\tif (viewModel?.lieuDatesByType) {\n\t\t\tlet defaultOpt = Object.keys(viewModel.lieuDatesByType).map((typePresta:string) => {\n\t\t\t\treturn {\n\t\t\t\t\ttypePresta: typePresta as keyof typeof TypePrestation,\n\t\t\t\t\toptions: viewModel.lieuDatesByType[typePresta].map((date:LieuDateDto) => { return {\n\t\t\t\t\t\tlabel: date.description ? moment(date.date).format('DD/MM/YYYY') + \" (\" + date.description +\")\" : moment(date.date).format('DD/MM/YYYY'),\n\t\t\t\t\t\tvalue: date,\n\t\t\t\t\t}})\n\t\t\t\t};\n\t\t\t});\n\n\t\t\tif (artisteSelected) {\n\t\t\t\t// Check si des dates existent dans les cachets\n\t\t\t\tartisteSelected.cachets.forEach(c => {\n\t\t\t\t\tif (defaultOpt.find(e => TypePrestation[e.typePresta] === c.typePrestation)) {\n\t\t\t\t\t\tdefaultOpt.find(e => TypePrestation[e.typePresta] === c.typePrestation).options = defaultOpt.find(e => TypePrestation[e.typePresta] === c.typePrestation)\n\t\t\t\t\t\t\t.options.filter(date =>\n\t\t\t\t\t\t\t\t!c.dates.find(cachetDate => cachetDate.id === date.value.id)\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\t// Check si des dates existent dans les salaires\n\t\t\t\tsalaires?.forEach(s => {\n\t\t\t\t\tconst existingSalaireDates = s.lieuDateByPresta.find(l => defaultOpt.find(e => TypePrestation[e.typePresta] === l.typePresta));\n\t\t\t\t\tdefaultOpt.find(e => TypePrestation[e.typePresta] === existingSalaireDates.typePresta).options = defaultOpt\n\t\t\t\t\t\t.find(e => TypePrestation[e.typePresta] === existingSalaireDates.typePresta)\n\t\t\t\t\t\t.options.filter(date =>\n\t\t\t\t\t\t\t!existingSalaireDates.dates.find(salaireDate => salaireDate.id === date.value.id)\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tsetDatesSelectOptions(defaultOpt);\n\t\t}\n\t}, [viewModel, salaires]);\n\n\n\n\t/** Envoi des valeurs à l'API */\n\tconst getAllCachets = () => {\n\t\tlet cachets: (CreateCachetDto | UpdateCachetDto)[] = [];\n\t\tObject.keys(viewModel.lieuDatesByType).forEach(elem => {\n\t\t\tconst cachetsForThisType = whichCachetValue(elem as keyof typeof TypePrestation).map(item => ({\n\t\t\t\tid: item.id && !item.id.includes('TEMPORARY_') ? item.id : null,\n\t\t\t\tlieuDateIds: item.dates?.map(i => i.id),\n\t\t\t\tmontantBrut: item.montantBrut,\n\t\t\t\ttauxChargesPatronales: item.tauxChargesPatronales / 100,\n\t\t\t\tcount: item.count\n\t\t\t}));\n\t\t\tcachets = cachets.concat(cachetsForThisType)\n\t\t});\n\t\treturn cachets;\n\t}\n\n\tconst getAllSalaires = () => {\n\t\treturn salaires.reduce((salairesAcc, currentSalaire) => {\n\t\t\tconst finalLieuDateIds = currentSalaire.lieuDateByPresta.reduce((a, c) => a.concat(c.dates.map(e => e.id)), []);\n\t\t\tif (finalLieuDateIds.length) {\n\t\t\t\tsalairesAcc.push({\n\t\t\t\t\tid: currentSalaire.id && !currentSalaire.id.includes('TEMPORARY_') ? currentSalaire.id : null,\n\t\t\t\t\tlieuDateIds: finalLieuDateIds,\n\t\t\t\t\tmontantBrut: parseFloat(currentSalaire.montantBrut.toString()),\n\t\t\t\t\ttauxChargesPatronales: parseFloat(currentSalaire.tauxChargesPatronales.toString()) / 100,\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn salairesAcc;\n\t\t}, []);\n\t}\n\n\tuseImperativeHandle(ref, () => ({\n\t\tasync validateAndSend(): Promise {\n\t\t\tconst result = await form.triggerValidation();\n\n\t\t\tif(invalidSalaireDates)\n\t\t\t\treturn false;\n\n\t\t\tif (result) {\n\t\t\t\tconst formValues = form.getValues() as Record;\n\n\t\t\t\tconst allCachets = getAllCachets();\n\t\t\t\tconst allSalaires = getAllSalaires();\n\n\t\t\t\tif (allCachets.filter(x => x.lieuDateIds.length === 0).length > 0) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\n\t\t\t\tif (allCachets.length > 0 || allSalaires.length > 0 || isArtisteTitulaire) {\n\t\t\t\t\tconst body: CreateArtisteDto | UpdateArtisteDto = {\n\t\t\t\t\t\tnom: formValues.nom,\n\t\t\t\t\t\tprenom: formValues.prenom,\n\t\t\t\t\t\temail: formValues.email,\n\t\t\t\t\t\tlieuHabitation: formValues.lieuHabitation,\n\t\t\t\t\t\temploi: formValues.emploi as Emploi,\n\t\t\t\t\t\tstyleMusicalId: formValues.styleMusical,\n\t\t\t\t\t\tinstrumentId: formValues.instrumentId && emploi === 'musicien' ? formValues.instrumentId : undefined,\n\t\t\t\t\t\tartistePrincipal: isArtistePrincipal,\n\t\t\t\t\t\tformation: viewModel.formationRequired ? formValues.formation : undefined,\n\t\t\t\t\t\tisGenerationSpedidam: isArtistGenerationSpedidam,\n\t\t\t\t\t\tisTitulaire: isArtisteTitulaire,\n\t\t\t\t\t\tisEngagementDirect: formValues?.isEngagementDirect as unknown as boolean ?? true,\n\t\t\t\t\t\tcachets: allCachets,\n\t\t\t\t\t\tsalaires: allSalaires\n\t\t\t\t\t}\n\t\t\t\t\ttry {\n\t\t\t\t\t\tif (currentFormMode === formMode.IS_CREATION || currentFormMode === formMode.IS_DUPLICATE) {\n\t\t\t\t\t\t\tawait dossierClient.createArtiste(dossierId, body);\n\t\t\t\t\t\t} else if (currentFormMode === formMode.IS_EDIT) {\n\t\t\t\t\t\t\tawait artisteClient.updateArtiste(artisteSelected.id, body)\n\t\t\t\t\t\t}\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tif (error.additionalDetails && error.code === \"maxRangeBetweenDatesExceeded\") {\n\t\t\t\t\t\t\ttoast.error(t(\"createFolder.contratsCachets.maxRangeBetweenDatesExceeded\", {number: error.additionalDetails.nbJourMax}))\n\t\t\t\t\t\t} else if (error.additionalDetails && error.code === \"maximumDates\") {\n\t\t\t\t\t\t\ttoast.error(t(\"createFolder.contratsCachets.maximumDates\", {number: error.additionalDetails.nbJourMax}))\n\t\t\t\t\t\t} else if (error.additionalDetails && error.code === \"minCachetRequired\") {\n\t\t\t\t\t\t\ttoast.error(\n\t\t\t\t\t\t\t\t\tt(\"createFolder.contratsCachets.minCachetRequired\", {number: error.additionalDetails.nbCachet})\n\t\t\t\t\t\t\t\t\t+' '\n\t\t\t\t\t\t\t\t\t+ t(`createFolder.contratsCachets.${error.additionalDetails.typePrestation}`)\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t} else if (error.exception?.message)\n\t\t\t\t\t\t\ttoast.error(error.exception.message);\n\t\t\t\t\t\telse{\n\t\t\t\t\t\t\ttoast.error(t(\"errors.default\"))\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\tcloseView();\n\t\t\t\t\treturn true;\n\t\t\t\t} else {\n\t\t\t\t\ttoast.error(t(\"createFolder.contratsCachets.errorDate\"))\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconsole.debug(\"form error detected\");\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}));\n\n\tconst whichCachetValue = (type: keyof typeof TypePrestation) => {\n\t\tswitch (TypePrestation[type]) {\n\t\t\tcase TypePrestation.Enregistrement:\n\t\t\t\treturn enregistrements\n\t\t\tcase TypePrestation.Repetition:\n\t\t\t\treturn repetitions\n\t\t\tcase TypePrestation.Representation:\n\t\t\t\treturn representations\n\t\t\tcase TypePrestation.Diffusion:\n\t\t\t\treturn diffusion\n\t\t\tcase TypePrestation.Concert:\n\t\t\t\treturn concert\n\t\t\tdefault:\n\t\t\t\treturn []\n\t\t}\n\t}\n\n\tconst whichCachetModifier = (type: keyof typeof TypePrestation) => {\n\t\tswitch (TypePrestation[type]) {\n\t\t\tcase TypePrestation.Enregistrement:\n\t\t\t\treturn setEnregistrements\n\t\t\tcase TypePrestation.Repetition:\n\t\t\t\treturn setRepetitions\n\t\t\tcase TypePrestation.Representation:\n\t\t\t\treturn setRepresentations\n\t\t\tcase TypePrestation.Diffusion:\n\t\t\t\treturn setDiffusion\n\t\t\tcase TypePrestation.Concert:\n\t\t\t\treturn setConcert\n\t\t\tdefault:\n\t\t\t\treturn null\n\t\t}\n\t}\n const getArtistPrincipalLabel = (): string => {\n\t\tlet value = codeCategorie === CategorieDossier.AideResidences && isArtistePrincipal ? \" (soliste, leader de la formation)\" : \"\" \n\t\treturn t('createFolder.contratsCachets.listColumns.artistPrincipal') + value\n\t}\n\treturn <>\n\t\t
\n\t\t\t
closeView()}>\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{t(\"createFolder.contratsCachets.back\")}\n\t\t\t\t\n\t\t\t
\n\t\t\t

{t(\"createFolder.contratsCachets.add\")}

\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\t{artisteValidator &&\n\t\t\t\t\t (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tname={name}\n\t\t\t\t\t\t\t\tlabel={`${t('createFolder.contratsCachets.listColumns.emploi')}*`}\n\t\t\t\t\t\t\t\tclassname=\"inputSelect\"\n\t\t\t\t\t\t\t\toptions={emploisOptions}\n\t\t\t\t\t\t\t\terrors={form.errors}\n\t\t\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\t\t\tonChange={onChange}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\trules={artisteValidator[\"Emploi\"]}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\t{stylesMusicauxOptions.length > 0 &&\n\t\t\t\t\t (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\trules={{ required: { value: true, message: t('validation-messages.required') } }}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t
\n\t\t\t
\n\t\t\t\t{instrumentsOptions.length > 0 && emploi === 'musicien' &&\n\t\t\t\t (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tname={name}\n\t\t\t\t\t\t\tlabel={`${t('createFolder.contratsCachets.listColumns.instrument')}*`}\n\t\t\t\t\t\t\tclassname=\"inputSelect\"\n\t\t\t\t\t\t\toptions={instrumentsOptions}\n\t\t\t\t\t\t\tisSearchable={true}\n\t\t\t\t\t\t\terrors={form.errors}\n\t\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\t\tonChange={onChange}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\trules={{ required: { value: true, message: t('validation-messages.required') } }}\n\t\t\t\t/>}\n\t\t\t
\n\n\t\t\t{viewModel?.formationRequired &&
\n\t\t\t\t\n\t\t\t
}\n\n\t\t\t{viewModel?.artistePrincipalInfoRequired &&
\n\t\t\t\t {\n\t\t\t\t\t\tif(selected === \"oui\")\n\t\t\t\t\t\t\tsetIsArtistePrincipal(true);\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\tsetIsArtistePrincipal(false);\n\t\t\t\t\t}}\n\t\t\t\t\tvalue={isArtistePrincipal === true ? \"oui\" : \"non\"}\n\t\t\t\t/>\n\t\t\t
}\n\n\t\t\t{viewModel?.generationSpedidamInfoRequired &&
\n\t\t\t\t {\n\t\t\t\t\t\tif(selected === \"oui\")\n\t\t\t\t\t\t\tsetIsArtistGenerationSpedidam(true);\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\tsetIsArtistGenerationSpedidam(false);\n\t\t\t\t\t}}\n\t\t\t\t\tvalue={isArtistGenerationSpedidam === true ? \"oui\" : \"non\"}\n\t\t\t\t/>\n\t\t\t
}\n\n\t\t\t{viewModel?.artisteTitulaireInfoRequired &&
\n\t\t\t\t {\n\t\t\t\t\t\tif(selected === \"oui\") {\n\t\t\t\t\t\t\tsetIsArtisteTitulaire(true);\n\t\t\t\t\t\t\tsetIsArtisteAdditionnel(false);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsetIsArtisteTitulaire(false);\n\t\t\t\t\t\t\tsetIsArtisteAdditionnel(true);\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\tvalue={isArtisteAdditionnel === undefined ? \"\" : isArtisteTitulaire === true ? \"oui\" : \"non\"}\n\t\t\t\t/>\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t
{\n\t\t\t\t\t\tisArtisteAdditionnel === undefined ? \"\" : isArtisteAdditionnel === true ? t('common.yes') : t('common.no')\n\t\t\t\t\t}
\n\t\t\t\t
\n\t\t\t
}\n\t\t\t{(codeCategorie == CategorieDossier.SoireeArtistes || codeCategorie == CategorieDossier.Festival) && \n\t\t\t\t\t (\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\t/>\n\t\t\t}\n\n\t\t
\n\t\t{viewModel?.lieuDatesByType && Object.keys(viewModel.lieuDatesByType).map((elem, i) => (\n\t\t\t
\n\t\t\t\t

{t(`createFolder.contratsCachets.Cachet${elem}`)}

\n\t\t\t\t\n\t\t\t
\n\t\t))}\n\t\t{viewModel?.mensualisation &&\n\t\t\t
\n\t\t\t\t

{t(\"createFolder.contratsCachets.salaires\")}

\n\t\t\t\t\n\t\t\t
\n\t\t}\n\t;\n});\n\nexport default EditArtiste;","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { ArtistesValidationErrorDto } from '../../../../services/generated/FrontOffice-api';\nimport ModalErrorInformation from '../../../basics/ModalErrorInformation';\n\ninterface ModalValidationArtisteProps {\n\tisOpen: boolean;\n\tonCancel: () => void;\n\tisLoading?: boolean;\n\terrorsValidation: ArtistesValidationErrorDto[];\n}\n\nconst ModalValidationArtiste: React.FunctionComponent = ({\n\tisOpen,\n\tonCancel,\n\tisLoading,\n\terrorsValidation\n}) => {\n\tconst { t } = useTranslation();\n\n\treturn (\n\t\t\n\t\t\t
\n\t\t\t\t
    \n\t\t\t\t\t{errorsValidation?.map((element, idx) => (\n\t\t\t\t\t\t
  • \n\t\t\t\t\t\t\t{element.hasDateWithoutCachet &&\n\t\t\t\t\t\t\t\t
    {t(\"validation-artiste.hasDateWithoutCachet\")}
    \n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t{element.hasMinimumNbArtisteEngagement &&\n\t\t\t\t\t\t\t\t
    {t(\"validation-artiste.hasMinimumNbArtisteEngagement\", {\n\t\t\t\t\t\t\t\t\tnumber: element.nombreLimiteArtisteEngagementDirect\n\t\t\t\t\t\t\t\t})}
    \n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t{element.emploiComparisonConstraint && element.emploiComparisonConstraint.more.length > 0 &&\n\t\t\t\t\t\t\t\telement.emploiComparisonConstraint.more.map((item, idx) => (\n\t\t\t\t\t\t\t\t\t
    {t(\"validation-artiste.emploiComparisonConstraintMore\")}\n\t\t\t\t\t\t\t\t\t\t{t(`emplois.${item}`)}\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t))\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t{element.emploiComparisonConstraint && element.emploiComparisonConstraint.less.length > 0 &&\n\t\t\t\t\t\t\t\telement.emploiComparisonConstraint.less.map((item, idx) => (\n\t\t\t\t\t\t\t\t\t
    {t(\"validation-artiste.emploiComparisonConstraintLess\")}\n\t\t\t\t\t\t\t\t\t\t{t(`emplois.${item}`)}\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t))\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t{element.shouldHaveLess && element.shouldHaveLess.length > 0 &&\n\t\t\t\t\t\t\t\telement.shouldHaveLess.map((item, idx) => (\n\t\t\t\t\t\t\t\t\t
    {t(\"validation-artiste.shouldHaveLess\")}\n\t\t\t\t\t\t\t\t\t\t{t(`emplois.${item}`)}\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t))\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t{element.than && element.than.length > 0 &&\n\t\t\t\t\t\t\t\telement.than.map((item, idx) => (\n\t\t\t\t\t\t\t\t\t
    {t(\"validation-artiste.than\")}\n\t\t\t\t\t\t\t\t\t\t{t(`emplois.${item}`)}\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t))\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t{element.surpassedMensualisationLimit &&\n\t\t\t\t\t\t\t\t
    {t(\"validation-artiste.surpassedMensualisationLimit\", {number: element.surpassedMensualisationLimit})}
    \n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t{element.typeCachetRequired && element.typeCachetRequired.length > 0 &&\n\t\t\t\t\t\t\t\telement.typeCachetRequired.map((item, idx) => (\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t{t(\"validation-artiste.typeCachetRequired\", {item:item})}\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t))\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t{element.minimumEmploiCountConstraint && element.minimumEmploiCountConstraint.length > 0 &&\n\t\t\t\t\t\t\t\telement.minimumEmploiCountConstraint.map((item, idx) => (\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t{t(\"validation-artiste.minimumEmploiCountConstraint1\")} {item.minimum} {item.emplois.map((e, i) => (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{t('emplois.' + e)} {(item.emplois.length > 1 && i < (item.emplois.length - 1)) && `${t(\"common.or\")} `}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t))} {t(\"validation-artiste.minimumEmploiCountConstraint2\")}\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t))\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t{element.numberOfArtisteMustBeTheSameForEachRepresentationDate &&\n\t\t\t\t\t\t\t\t
    {t(\"validation-artiste.numberOfArtisteMustBeTheSameForEachRepresentationDate\")}
    \n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t{element.numberOfAudioArtistMustBeInferiorToVisualArtist &&\n\t\t\t\t\t\t\t\t
    {t(\"validation-artiste.numberOfAudioArtistMustBeInferiorToVisualArtist\")}
    \n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t{element.artisteWithLessDateInDifferentPlaceThan && element.artisteWithLessDateInDifferentPlaceThan !== 0 &&\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t{t(\"validation-artiste.artisteWithLessDateInDifferentPlaceThan\", {\n\t\t\t\t\t\t\t\t\t\tnumber: element.artisteWithLessDateInDifferentPlaceThan,\n\t\t\t\t\t\t\t\t\t\tname: element.artisteWithLessDateInDifferentPlaceThanFullName\n\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t{element.nombreLimiteArtiste && element.nombreLimiteArtiste > 0\n\t\t\t\t\t\t\t\t?
    \n\t\t\t\t\t\t\t\t\t{t(\"validation-artiste.nombreLimiteArtiste\", {\n\t\t\t\t\t\t\t\t\t\tnumber: element.nombreLimiteArtiste\n\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t: <>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t
  • \n\t\t\t\t\t))}\n\t\t\t\t
\n\t\t\t
\n\t\t\n\t);\n}\n\nexport default ModalValidationArtiste;","import { useEffect, useRef, useCallback } from \"react\";\r\n\r\nconst useIsMounted = () => {\r\n\tconst mountedRef = useRef(false);\r\n\r\n\tconst isMounted = useCallback(() => mountedRef.current, []);\r\n\r\n\tuseEffect(() => {\r\n\t\tmountedRef.current = true;\r\n\r\n\t\treturn () => {\r\n\t\t\tmountedRef.current = false;\r\n\t\t};\r\n\t}, []);\r\n\r\n\treturn isMounted;\r\n};\r\n\r\nexport default useIsMounted;","import React, { useEffect, useState, forwardRef, useImperativeHandle, useRef, useMemo } from \"react\";\nimport { RouteComponentProps } from '@reach/router';\nimport { useTranslation } from 'react-i18next';\nimport { DossierClient, ArtisteLightDto, SalarieDto, ArtisteLightDtoSortedFilteredPage, ArtisteClient, ArtisteDto, ArtistesValidationErrorDto } from '../../../services/generated/FrontOffice-api';\nimport { useAxios } from '../../../custom-hooks/useAxios';\nimport Salarie, { EditSalarieRef } from './salarie/Salarie';\nimport Artistes, { EditArtistesRef } from './salarie/Artistes';\nimport FormButton from 'adel-shared/dist/components/basics/FormButton';\nimport Table, { styleTable } from 'adel-shared/dist/components/basics/Table';\nimport { useTable, useSortBy } from 'react-table';\nimport _ from 'lodash';\nimport { toast } from 'react-toastify';\nimport ModalDeleteArtiste from './artistes/ModalDeleteArtiste';\nimport ModalValidationArtiste from './artistes/ModalValidationArtiste';\nimport Loader from 'react-loader-spinner';\nimport useValidation from '../../../custom-hooks/useValidation';\n\nenum View {\n\tList = \"List\",\n\tSalarie = \"Salarie\",\n\tArtiste = \"Artiste\"\n}\n\nexport enum SalarieFormMode {\n\tIS_CREATION = 1,\n\tIS_DUPLICATE = 2,\n\tIS_EDIT = 3\n}\n\ninterface SalarieAristesProps extends RouteComponentProps {\n\tref: any,\n\tsetCanGoNext: (value: boolean) => void;\n\tdossierId?: string;\n\tisLoading?: boolean;\n\tsetIsLoading: (value: boolean) => void;\n\tsetEditMode: (value: boolean) => void;\n\tsetIsFormValid: (value: boolean) => void;\n}\n\nconst SalarieAristes: React.FunctionComponent = forwardRef((props, ref) => {\n\tconst { t } = useTranslation(); const axiosInstance = useAxios();\n\tconst dossierClient = useMemo(() => { return new DossierClient(\"\", axiosInstance) }, [axiosInstance]);\n\tconst artisteClient = useMemo(() => { return new ArtisteClient(\"\", axiosInstance) }, [axiosInstance]);\n\n\tconst salarieRef: React.MutableRefObject = useRef(null);\n\tconst artistesRef: React.MutableRefObject = useRef(null);\n\n\tconst [currentView, setCurrentView] = useState(View.List);\n\tconst [currentFormMode, setCurrentFormMode] = useState(SalarieFormMode.IS_CREATION);\n\tconst [salarie, setSalarie] = useState({});\n\tconst [artistes, setArtistes] = useState([]);\n\tconst [artisteSelected, setArtisteSelected] = useState();\n\tconst [salarieSelected, setSalarieSelected] = useState();\n\n\tconst [showDeleteArtiste, setShowDeleteArtiste] = useState(false);\n\tconst [artisteDeleteId, setArtisteDeleteId] = useState();\n\tconst [errorsValidation, setErrorsValidation] = useState([]);\n\tconst [openValidation, setOpenValidation] = useState(false);\n\n\tconst [isArtistLoading, setIsArtistLoading] = useState(false);\n\n\tconst { getRootValidator } = useValidation();\n\tconst adresseValidator = getRootValidator(\"CreateOrUpdateAdresseDto\");\n\tconst artisteValidator = getRootValidator(\"CreateArtisteDto\");\n\tconst salarieValidator = getRootValidator(\"CreateSalarieDto\");\n\n\t/** Salarié */\n\tuseEffect(() => {\n\t\tif (!props.dossierId) return;\n\t\tprops.setCanGoNext(true);\n\t}, [props.dossierId]);\n\n\tconst fetchSalarie = async () => {\n\t\tconst result = await dossierClient.getSalarie(props.dossierId);\n\t\tsetSalarie(result);\n\t}\n\n\t/** Artistes */\n\tconst [sort, setSort] = useState(\"\");\n\tconst [filters, setFilters] = useState(\"\");\n\tconst [page, setPage] = useState(1);\n\tconst [pageSize, setPageSize] = useState(1000);\n\tconst [disabledPagination, setDisabledPagination] = useState(false);\n\n\t// UseMemo to save the debounce function in memory when component is re-rendered\n\tconst debounceFetchArtists = useMemo(() => _.debounce((dossierId: string, filters: string, sort: string, page: number, pageSize: number, disabledPagination: boolean) => {\n\t\tsetIsArtistLoading(true);\n\t\tdossierClient.getArtistes(dossierId, filters, sort, page, pageSize, disabledPagination).then((result: ArtisteLightDtoSortedFilteredPage) => {\n\t\t\tsetArtistes(result.items);\n\t\t\tsetIsArtistLoading(false);\n\t\t});\n\t}, 1000), []);\n\n\tuseEffect(() => {\n\t\tdebounceFetchArtists(props.dossierId, filters, sort, page, pageSize, disabledPagination);\n\t}, [filters, sort, page, pageSize, disabledPagination]);\n\n\n\n\t/** Pour le bouton Valider de CreationDossier */\n\tuseEffect(() => {\n\t\tswitch (currentView) {\n\t\t\tcase View.List:\n\t\t\t\tprops.setEditMode(false);\n\t\t\t\tdebounceFetchArtists(props.dossierId, filters, sort, page, pageSize, disabledPagination);\n\t\t\t\t(async function () {await fetchSalarie()})();\n\t\t\t\tbreak;\n\t\t\tcase View.Salarie:\n\t\t\t\tprops.setEditMode(true);\n\t\t\t\tbreak;\n\t\t\tcase View.Artiste:\n\t\t\t\tprops.setEditMode(true);\n\t\t\t\tbreak;\n\t\t}\n\t}, [currentView]);\n\n\n\n\t/** Actions sur les artistes */\n\tconst duplicateArtiste = async (id:string) => {\n\t\tprops.setIsLoading(true);\n\t\ttry {\n\t\t\tlet result = await artisteClient.getArtiste(id);\n\t\t\tsetArtisteSelected(result);\n\t\t\tsetCurrentFormMode(SalarieFormMode.IS_DUPLICATE);\n\t\t\tsetCurrentView(View.Artiste);\n\t\t} catch(error) {\n\t\t\tif (error.exception?.message)\n\t\t\t\ttoast.error(error.exception.message);\n\t\t\telse\n\t\t\t\ttoast.error(t(\"errors.default\"));\n\t\t}\n\t\tprops.setIsLoading(false);\n\t}\n\n\tconst editArtiste = async (id:string) => {\n\t\tprops.setIsLoading(true);\n\t\ttry {\n\t\t\tlet result = await artisteClient.getArtiste(id);\n\t\t\tsetArtisteSelected(result);\n\t\t\tsetCurrentFormMode(SalarieFormMode.IS_EDIT);\n\t\t\tsetCurrentView(View.Artiste);\n\t\t} catch(error) {\n\t\t\tif (error.exception?.message)\n\t\t\t\ttoast.error(error.exception.message);\n\t\t\telse\n\t\t\t\ttoast.error(t(\"errors.default\"));\n\t\t}\n\t\tprops.setIsLoading(false);\n\t}\n\n\tconst openDeleteArtiste = (id:string) => {\n\t\tsetArtisteDeleteId(id);\n\t\tsetShowDeleteArtiste(true);\n\t}\n\n\tconst deleteArtiste = async () => {\n\t\tsetShowDeleteArtiste(false);\n\t\tprops.setIsLoading(true);\n\t\ttry {\n\t\t\tawait artisteClient.deleteArtiste(artisteDeleteId);\n\t\t\tawait debounceFetchArtists(props.dossierId, filters, sort, page, pageSize, disabledPagination);\n\t\t} catch(error) {\n\t\t\tif (error.exception?.message)\n\t\t\t\ttoast.error(error.exception.message);\n\t\t\telse\n\t\t\t\ttoast.error(t(\"errors.default\"));\n\t\t}\n\t\tsetArtisteDeleteId(undefined);\n\t\tprops.setIsLoading(false);\n\t}\n\n\n\n\t/** Salarie actions */\n\tconst editSalarie = (salarie:SalarieDto) => {\n\t\tsetSalarieSelected(salarie);\n\t\tsetCurrentFormMode(SalarieFormMode.IS_EDIT);\n\t\tsetCurrentView(View.Salarie);\n\t}\n\n\tconst deleteSalarie = async (id:string) => {\n\t\tprops.setIsLoading(true);\n\t\ttry {\n\t\t\tawait dossierClient.deleteSalarie(id);\n\t\t\tawait fetchSalarie();\n\t\t} catch(error) {\n\t\t\tif (error.exception?.message)\n\t\t\t\ttoast.error(error.exception.message);\n\t\t\telse\n\t\t\t\ttoast.error(t(\"errors.default\"));\n\t\t}\n\t\tprops.setIsLoading(false);\n\t}\n\n\n\n\t/** Table setup */\n\tconst columns = React.useMemo(() => { // VFA : Je n'arrive pas à trouver le type exact de cet objet... Je laisse en any T_T\n\treturn [{\n\t\tHeader: \"Table\",\n\t\tcolumns: [\n\t\t\t{ Header: \"Id\", accessor: \"id\", disableSortBy: true },\n\t\t\t{ Header: t('createFolder.contratsCachets.listColumns.nom'), accessor: \"nom\", disableSortBy: true },\n\t\t\t{ Header: t('createFolder.contratsCachets.listColumns.prenom'), accessor: \"prenom\", disableSortBy: true },\n\t\t\t{ Header: t('createFolder.contratsCachets.listColumns.emploi'), accessor: \"emploi\", disableSortBy: true },\n\t\t\t{\n\t\t\t\tHeader: \"\", accessor: \"Actions\", disableSortBy: true,\n\t\t\t\tCell: (value: any) => (\n\t\t\t\t\t\n\t\t\t\t\t\t
{ duplicateArtiste(value.cell.row.values.id) }}>
\n\t\t\t\t\t\t
{ editArtiste(value.cell.row.values.id) }}>
\n\t\t\t\t\t\t
{ openDeleteArtiste(value.cell.row.values.id) }}>
\n\t\t\t\t\t
\n\t\t\t\t)}\n\t\t\t]\n\t\t}];\n\t}, []);\n\n\tconst { getTableProps, getTableBodyProps, headerGroups, rows, prepareRow } = useTable({\n\t\tcolumns: columns,\n\t\tdata: artistes,\n\t\tinitialState: { hiddenColumns: [\"id\"] },\n\t}, useSortBy);\n\t\n\n\n\t/** View List mode */\n\tconst listView = () => {\n\t\treturn (\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t

{t(\"createFolder.menu.salarieArtistes\")}

\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t

{t(\"createFolder.salarieArtistes.salarie.title\")}

\n\t\t\t\t\t{\n\t\t\t\t\t\tsalarie && Object.keys(salarie).length > 0\n\t\t\t\t\t\t?
\n\t\t\t\t\t\t\t{salarie.nom} {salarie.prenom}\n\t\t\t\t\t\t\t { editSalarie(salarie) }}>\n\t\t\t\t\t\t\t { deleteSalarie(salarie.id) }}>\n\t\t\t\t\t\t
\n\t\t\t\t\t\t:
\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\tsetCurrentView(View.Salarie);\n\t\t\t\t\t\t\t\t\tsetCurrentFormMode(SalarieFormMode.IS_CREATION);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t
\n\t\t\t\t\t}\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t

{t(\"createFolder.salarieArtistes.artistes.title\")}

\n\t\t\t\t\t
\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\tsetCurrentView(View.Artiste);\n\t\t\t\t\t\t\t\tsetCurrentFormMode(SalarieFormMode.IS_CREATION);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t{\n\t\t\t\t\t\tisArtistLoading\n\t\t\t\t\t\t?
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t: \n\t\t\t\t\t}\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t setShowDeleteArtiste(false)}\n\t\t\t\t\tonValidate={() => deleteArtiste()}\n\t\t\t\t\tisLoading={props.isLoading}\n\t\t\t\t/>\n\t\t\t\t setOpenValidation(false)}\n\t\t\t\t\terrorsValidation={errorsValidation}\n\t\t\t\t/>\n\t\t\t
\n\t\t)\n\t}\n\n\t/** Views */\n\tconst renderSwitchView = () => {\n\t\tswitch (currentView) {\n\t\t\tcase View.List:\n\t\t\t\treturn listView();\n\n\t\t\tcase View.Salarie:\n\t\t\t\treturn {\n\t\t\t\t\t\tsetCurrentView(View.List);\n\t\t\t\t\t\tsetCurrentFormMode(SalarieFormMode.IS_CREATION)\n\t\t\t\t\t}}\n\t\t\t\t\tcurrentFormMode={currentFormMode}\n\t\t\t\t\tdossierId={props.dossierId}\n\t\t\t\t\tsalarieSelected={salarieSelected}\n\t\t\t\t\tsalarieValidator={salarieValidator}\n\t\t\t\t\tadresseValidator={adresseValidator}\n\t\t\t\t/>\n\t\t\tcase View.Artiste:\n\t\t\t\treturn {\n\t\t\t\t\t\tsetCurrentView(View.List);\n\t\t\t\t\t\tsetCurrentFormMode(SalarieFormMode.IS_CREATION)\n\t\t\t\t\t}}\n\t\t\t\t\tdossierId={props.dossierId}\n\t\t\t\t\tcurrentFormMode={currentFormMode}\n\t\t\t\t\tartisteSelected={artisteSelected}\n\t\t\t\t\tartisteValidator={artisteValidator}\n\t\t\t\t/>\n\t\t}\n\t}\n\n\tuseImperativeHandle(ref, () => ({\n\t\tasync validateForm(): Promise {\n\t\t\tprops.setIsLoading(true);\n\n\t\t\tswitch (currentView) {\n\t\t\t\tcase View.List:\n\t\t\t\t\tlet valid = await dossierClient.validateArtistes(props.dossierId);\n\t\t\t\t\tif (valid.errors && valid.errors.length > 0) {\n\t\t\t\t\t\tsetErrorsValidation(valid.errors);\n\t\t\t\t\t\tsetOpenValidation(true);\n\t\t\t\t\t\tprops.setIsLoading(false);\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tprops.setIsLoading(false);\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\tcase View.Salarie:\n\t\t\t\t\tif (salarieRef && salarieRef.current) {\n\t\t\t\t\t\tlet result = await salarieRef.current.validateAndSend();\n\t\t\t\t\t\tprops.setIsLoading(false);\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tprops.setIsLoading(false);\n\t\t\t\t\t\tconsole.error(\"salarieRef undefined. Please contact your Dev Team.\");\n\t\t\t\t\t}\n\t\t\t\tcase View.Artiste:\n\t\t\t\t\tif (artistesRef && artistesRef.current) {\n\t\t\t\t\t\tlet result = await artistesRef.current.validateAndSend();\n\t\t\t\t\t\tprops.setIsLoading(false);\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tprops.setIsLoading(false);\n\t\t\t\t\t\tconsole.error(\"artistesRef undefined. Please contact your Dev Team.\");\n\t\t\t\t\t}\n\t\t\t}\n\t\t\tthrow \"currentView unknown. Please contact your Dev Team.\";\n\t\t}\n\t}));\n\n\treturn renderSwitchView();\n});\n\nexport default SalarieAristes;","import React, { FunctionComponent } from \"react\";\nimport { Civilite } from \"../../services/generated/FrontOffice-api\";\nimport InputSelect from \"adel-shared/dist/components/basics/InputSelect\";\nimport { useTranslation } from \"react-i18next\";\nimport { Controller, FormContextValues } from \"react-hook-form\";\nimport Input from \"../basics/Input\";\nimport { CreateOrUpdateResponsableDossierDto } from \"../../clients/AdelDossierClient\";\nimport useValidation from \"../../custom-hooks/useValidation\";\n\ninterface InfosResponsableDossierProps {\n\tform: FormContextValues\n}\n\nconst InfosResponsableDossier: FunctionComponent = ({\n\tform: {\n\t\tcontrol,\n\t\tregister,\n\t\terrors\n\t}\n}) => {\n const { t } = useTranslation();\n\tconst { getRootValidator } = useValidation();\n const validator = getRootValidator(\"CreateOrUpdateResponsableDossierDto\");\n\n const civiliteOptions = () => {\n\t\tconst allOptions = Object.values(Civilite).filter(x => x !== Civilite.None).map(x => ({\n\t\t\tvalue: x,\n\t\t\tlabel: t(`common.civilite.${x}`)\n\t\t}));\n return allOptions;\n };\n\n return (\n
\n\t\t\t
\n\t\t\t\t (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tname={name}\n\t\t\t\t\t\t\tlabel={t('createFolder.responsableDossier.civilite')}\n\t\t\t\t\t\t\tclassname=\"inputSelectFO\"\n\t\t\t\t\t\t\toptions={civiliteOptions()}\n\t\t\t\t\t\t\terrors={errors}\n\t\t\t\t\t\t\tonChange={onChange}\n\t\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\t\tplaceholder={t(\"common.select\")}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\trules={validator?.[\"Civilite\"]}\n\t\t\t\t/>\n\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t
\n\t\t\t
\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t
\n
\n\t);\n}\n\nexport default InfosResponsableDossier;","import {AnswerType, ConditionOperator, QuestionBlockDto} from \"../../../../services/generated/FrontOffice-api\";\n\nexport const fakeQuestionsData: QuestionBlockDto[] = [\n {\n id: \"b1\",\n title: { \"fr\": \"Bloc 1\", \"en\": \"Block 1\"},\n questions: [\n\t\t\t{\n\t\t\t\tanswerType: AnswerType.Array,\n\t\t\t\tarrayItemsQuestions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tanswerMaxLength: 100,\n\t\t\t\t\t\tanswerType: AnswerType.Text,\n\t\t\t\t\t\tid: \"nom\",\n\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t\ttext: {fr: \"Nom\", en: \"Nom\"}\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tanswerMaxLength: 100,\n\t\t\t\t\t\tanswerType: AnswerType.Text,\n\t\t\t\t\t\tid: \"prenom\",\n\t\t\t\t\t\tisRequired: true,\n\t\t\t\t\t\ttext: {fr: \"Prenom\", en: \"Prenom\"}\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tanswerType: AnswerType.File,\n\t\t\t\t\t\tid: \"cv\",\n\t\t\t\t\t\tisRequired: false,\n\t\t\t\t\t\ttext: {fr: \"CV en pièce jointe\", en: \"CV en pièce jointe\"}\n\t\t\t\t\t}\n\t\t\t\t],\n\t\t\t\tid: \"compositeurs\",\n\t\t\t\tisRequired: false\n\t\t\t},\n {\n id: \"q1\",\n text: { \"fr\": \"texte\", \"en\": \"text\" },\n isRequired: true,\n answerType: AnswerType.IntegerNumber,\n answerMinLength: 5,\n answerMaxLength: 20,\n presetAnswer: {\n value: 8,\n isModifiable: true\n }\n },\n // {\n // id: \"q2\",\n // text: { \"fr\": \"texte multiligne\", \"en\": \"multiline text\" },\n // isRequired: true,\n // answerType: AnswerType.MultilineText,\n // answerMinLength: 5,\n // answerMaxLength: 20,\n // presetAnswer: {\n // value: \"hello world\",\n // isModifiable: true\n // }\n // },\n // {\n // id: \"q3\",\n // text: { \"fr\": \"entier\", \"en\": \"integer\" },\n // isRequired: true,\n // answerType: AnswerType.IntegerNumber,\n // answerMinValue: 0,\n // answerMaxValue: 200,\n // presetAnswer: {\n // value: 42,\n // isModifiable: true\n // }\n // },\n // {\n // id: \"q4\",\n // text: { \"fr\": \"décimal\", \"en\": \"decimal\" },\n // isRequired: true,\n // answerType: AnswerType.DecimalNumber,\n // answerMinValue: 0.0,\n // answerMaxValue: 200.0,\n // presetAnswer: {\n // value: 123.45,\n // isModifiable: true\n // }\n // },\n // {\n // id: \"q4\",\n // text: { \"fr\": \"date\", \"en\": \"date\" },\n // isRequired: true,\n // answerType: AnswerType.Date,\n // answerMinValue: new Date(),\n // answerMaxValue: (() => { const d = new Date(); d.setFullYear(d.getFullYear() + 1); return d; })()\n // },\n {\n id: \"q5\",\n text: { \"fr\": \"période\", \"en\": \"period\" },\n isRequired: true,\n answerType: AnswerType.Period,\n answerMinValue: new Date(),\n answerMaxValue: (() => { const d = new Date(); d.setFullYear(d.getFullYear() + 1); return d; })()\n },\n // {\n // id: \"q6\",\n // text: { \"fr\": \"oui/non\", \"en\": \"yes/no\" },\n // isRequired: true,\n // answerType: AnswerType.YesNo\n // },\n // {\n // id: \"q7\",\n // text: { \"fr\": \"oui/non/ne sait pas\", \"en\": \"yes/no/don't know\" },\n // isRequired: true,\n // answerType: AnswerType.YesNoDontKnow\n // },\n // {\n // id: \"q8\",\n // text: { \"fr\": \"html\", \"en\": \"html\" },\n // isRequired: true,\n // answerType: AnswerType.Html,\n // answerMaxLength: 200,\n // presetAnswer: {\n // value: \"

hello world

\",\n // isModifiable: true\n // }\n // },\n // {\n // id: \"q9\",\n // text: { \"fr\": \"liste de choix\", \"en\": \"choice list\" },\n // isRequired: true,\n // answerType: AnswerType.SingleChoiceList,\n // choices: [\n // {\n // id: \"choix1\",\n // text: {fr: \"blabla\", en: \"blabla\"}\n // },\n // {\n // id: \"choix2\",\n // text: {fr: \"blablabla\", en: \"blablabla\"}\n // },\n // {\n // id: \"none\",\n // text: {fr: \"Aucun\", en: \"None\"},\n // isNone: true\n // },\n // {\n // id: \"other\",\n // text: {fr: \"Autre\", en: \"Other\"},\n // isOther: true\n // }\n // ]\n // },\n // {\n // id: \"q9-other\",\n // text: {fr: \"Veuillez préciser\", en: \"Please specify\"},\n // answerType: AnswerType.Text,\n // answerMaxLength: 50,\n // conditions: [\n // {\n // questionId: \"q9\",\n // operator: ConditionOperator.Equal,\n // operand: \"other\"\n // }\n // ]\n // },\n // {\n // id: \"q10\",\n // text: { \"fr\": \"liste de choix multiple\", \"en\": \"multiple choice list\" },\n // isRequired: false,\n // answerType: AnswerType.MultipleChoiceList,\n // choices: [\n // {\n // id: \"choix1\",\n // text: {fr: \"blabla\", en: \"blabla\"}\n // },\n // {\n // id: \"choix2\",\n // text: {fr: \"blablabla\", en: \"blablabla\"}\n // },\n // {\n // id: \"none\",\n // text: {fr: \"Aucun\", en: \"None\"},\n // isNone: true\n // },\n // {\n // id: \"other\",\n // text: {fr: \"Autre\", en: \"Other\"},\n // isOther: true\n // }\n // ]\n // },\n // {\n // id: \"q10-other\",\n // text: {fr: \"Veuillez préciser\", en: \"Please specify\"},\n // answerType: AnswerType.Text,\n // answerMaxLength: 50,\n // conditions: [\n // {\n // questionId: \"q10\",\n // operator: ConditionOperator.Equal,\n // operand: \"other\"\n // }\n // ]\n // },\n // {\n // id: \"q99\",\n // text: { \"fr\": \"Oups, vous avez donné les mauvaises réponses\", \"en\": \"Oops, you gave the wrong answers\" },\n // answerType: AnswerType.Blocking\n // }\n ]\n },\n // {\n // id: \"b2\",\n // title: { \"fr\": \"Bloc 2\", \"en\": \"Block 2\"},\n // questions: [\n // {\n // id: \"qb1\",\n // text: { \"fr\": \"A\", \"en\": \"A\" },\n // isRequired: true,\n // answerType: AnswerType.YesNo\n // },\n // {\n // id: \"qb2\",\n // text: { \"fr\": \"B\", \"en\": \"B\" },\n // isRequired: true,\n // answerType: AnswerType.YesNo,\n // conditions: [\n // {\n // questionId: \"qb1\",\n // operator: ConditionOperator.Equal,\n // operand: true\n // }\n // ]\n // },\n // {\n // id: \"qb3\",\n // text: { \"fr\": \"C\", \"en\": \"C\" },\n // isRequired: true,\n // answerType: AnswerType.YesNo,\n // conditions: [\n // {\n // questionId: \"qb2\",\n // operator: ConditionOperator.Equal,\n // operand: true\n // }\n // ]\n // },\n // {\n // id: \"qb4\",\n // text: { \"fr\": \"D\", \"en\": \"D\" },\n // isRequired: true,\n // answerType: AnswerType.YesNo,\n // conditions: [\n // {\n // questionId: \"qb3\",\n // operator: ConditionOperator.Equal,\n // operand: true\n // }\n // ]\n // },\n // {\n // id: \"qb5\",\n // text: { \"fr\": \"E\", \"en\": \"E\" },\n // isRequired: true,\n // answerType: AnswerType.YesNo,\n // conditions: [\n // {\n // questionId: \"qb2\",\n // operator: ConditionOperator.Equal,\n // operand: true\n // }\n // ]\n // },\n // ]\n // }\n];","import React, {forwardRef, useEffect, useImperativeHandle, useState, FunctionComponent} from \"react\";\nimport {RouteComponentProps} from \"@reach/router\";\nimport {useTranslation} from \"react-i18next\";\nimport {useAxios} from \"../../../custom-hooks/useAxios\";\nimport {\n AnswerType,\n DossierClient,\n QuestionBlockDto,\n QuestionDto,\n ResponsableDossierDto,\n\tStructureClient\n} from \"../../../services/generated/FrontOffice-api\";\nimport {Dictionary} from \"../../../models\";\nimport { isAnswerValid, ValidationResult } from \"../../../helpers/questionHelpers\";\nimport {fakeQuestionsData} from \"./questions/fakeQuestionsData\";\nimport InfosResponsableDossier from \"../InfosResponsableDossier\";\nimport {useForm} from \"react-hook-form\";\nimport {isFileRef} from \"../../../models/FileRef\";\nimport {AdelDossierClient, SubmitInfosProjetAnswersDto, CreateOrUpdateResponsableDossierDto} from \"../../../clients/AdelDossierClient\";\nimport RenderBlockContent, { getQuestions, getAnswer } from './questionsBlock/RenderBlockContent';\nimport { toast } from 'react-toastify';\nimport { normalizeDate } from 'adel-shared/dist/utils/functions';\nimport clsx from \"clsx\";\nimport moment from \"moment\";\n\ninterface InfosProjetProps extends RouteComponentProps {\n ref: any;\n\tdossierId: string;\n\tnomCategorie: string;\n categorieDossierId: string;\n\tsetCanGoNext: (value: boolean) => void;\n\tsetIsLoading: (value: boolean) => void;\n}\n\nconst InfosProjet : FunctionComponent = forwardRef((props, ref) => {\n const { i18n, t } = useTranslation();\n\n const axiosInstance = useAxios();\n const dossierClient = new DossierClient(\"\", axiosInstance);\n const structureClient = new StructureClient(\"\", axiosInstance);\n const adelDossierClient = new AdelDossierClient(\"\", axiosInstance);\n\n const responsableForm = useForm({});\n\n const [fortissimoTitleCorrect, setFortissimoTitleCorrect] = useState(false);\n\n const [blocks, setBlocks] = useState([]);\n\tconst [answers, setAnswers] = useState>({});\n\tconst [messageValidation, setMessageValidation] = useState>({});\n\n const setResponsable = (responsable: ResponsableDossierDto) => {\n if (responsable) {\n\t\t\tconst responsableValues = Object.entries(responsable).map(([key, value]) => ({\n\t\t\t\t[key]: value\n\t\t\t}));\n\t\t\tresponsableForm.setValue(responsableValues);\n }\n }\n\n useEffect(() => {\n\n if (!props.dossierId) {\n return;\n }\n\n const fetchViewModel = async () => {\n const viewModel = await dossierClient.getInfosProjetViewModel(props.dossierId);\n setBlocks(viewModel.questionBlocks);\n\n let answers = viewModel.answers;\n setAnswers(answers);\n\n\t\t\tlet responsable = viewModel.responsableDossier ? viewModel.responsableDossier : {};\n\n\t\t\t// Si pas de responsable rempli, on récupère celui de correspondant administratif, sinon celui de viewModel\n\t\t\tif (Object.keys(responsable).length === 0) {\n\t\t\t\tconst resp = await structureClient.getStructureCorrespondantAdministratif();\n\t\t\t\tsetResponsable(resp);\n\t\t\t} else {\n\t\t\t\tsetResponsable(responsable);\n\t\t\t}\n }\n\n // Use this instead of fetchBlocks for testing\n const fetchFakeBlocks = () => {\n setBlocks(fakeQuestionsData);\n }\n\n //fetchFakeBlocks();\n fetchViewModel();\n\n props.setCanGoNext(true);\n }, [props.dossierId]);\n\n const getParsedAnswers = () => blocks\n .flatMap(block => getQuestions(block, answers))\n .map(question => ({id: question.id, type: question.answerType, value: getAnswer(question, answers)}));\n\n\n /** VALIDATION */\n\tconst validateAnswers = () => {\n\t\tsetMessageValidation({});\n\t\tlet errors: Dictionary = {};\n\n\t\tconst validation = (item: QuestionDto):ValidationResult | Dictionary => {\n\t\t\tif (isAnswerValid(item, getAnswer(item, answers), t).isValid === false) {\n\n\t\t\t\t/** Answers Array */\n\t\t\t\tlet items: Dictionary> = {};\n\n\t\t\t\tif (Array.isArray(answers[item.id]) && answers[item.id].length > 0) {\n\t\t\t\t\tanswers[item.id].forEach((q:any, itemIndex:number) => {\n\t\t\t\t\t\t// Initialiser items à => { nom: null, prenom: null, cv: null } pour chaque groupe d'inputs dynamiques créés\n\t\t\t\t\t\tif (!items[itemIndex])\n\t\t\t\t\t\t\titems[itemIndex] = item.arrayItemsQuestions.reduce((acc, v) => {acc[v.id] = null; return acc;}, {} as Dictionary);\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t// Ensuite assigner les valeurs de answers des inputs à items\n\t\t\t\t\t\tObject.assign(items[itemIndex], answers[item.id][itemIndex]);\n\t\t\t\t\t\t\n\t\t\t\t\t\t// Pour chaque input du groupe, on va tester la validation et lui assigner son ValidationResult associé\n\t\t\t\t\t\tfor (const [key, value] of Object.entries(items[itemIndex])) {\n\t\t\t\t\t\t\tconst itemToCheck = item.arrayItemsQuestions.find(aa => aa.id === key);\n\t\t\t\t\t\t\tconst answerToCheck = answers[item.id][itemIndex];\n\n\t\t\t\t\t\t\tlet validationResult = isAnswerValid(itemToCheck, getAnswer(itemToCheck, answerToCheck), t);\n\n\t\t\t\t\t\t\titems[itemIndex][key] = {\n\t\t\t\t\t\t\t\tisValid: validationResult.isValid, \n\t\t\t\t\t\t\t\tmessage: validationResult.message\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t\t/** Answers simples */\n\t\t\t\tif (!errors[item.id]) {\n\t\t\t\t\terrors[item.id] = {} as ValidationResult\n\t\t\t\t}\n\t\t\t\terrors[item.id] = {\n\t\t\t\t\tisValid: false, \n\t\t\t\t\tmessage: isAnswerValid(item, getAnswer(item, answers), t).message,\n\t\t\t\t\titems: items\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn errors;\n\t\t}\n\n blocks.forEach(block => {\n\t\t\tgetQuestions(block, answers).forEach(q => {\n\t\t\t\tvalidation(q);\n\t\t\t})\n\t\t});\n\t\tsetMessageValidation(errors);\n\n\t\tblocks.forEach(block => {\n if (!getQuestions(block, answers).every(q => isAnswerValid(q, getAnswer(q, answers), t).isValid )) {\n return false;\n }\n\t\t});\n\n\t\tif(Object.keys(errors).length > 0) {\n\t\t\treturn false;\n\t\t} else return true;\n\t};\n\n const submitInfosProjet = async (answers: {id: string, type: AnswerType, value: any}[], responsable: CreateOrUpdateResponsableDossierDto) => {\n let data: SubmitInfosProjetAnswersDto = {\n answers: {}\n };\n let files: Dictionary = {};\n\n for (let answer of answers) {\n if (answer.type === AnswerType.File) {\n if (answer.value instanceof File) {\n // Uploading a new file\n data.answers[answer.id] = {\n partName: answer.id,\n fileName: answer.value.name,\n contentType: answer.value.type\n };\n files[answer.id] = answer.value;\n } else if (isFileRef(answer.value)) {\n // Specifying an existing file\n data.answers[answer.id] = { id: answer.value.id };\n }\n } else if (answer.type === AnswerType.Date) {\n\t\t\t\tdata.answers[answer.id] = normalizeDate(answer.value);\n\t\t\t} else if (answer.type === AnswerType.Period) {\n\t\t\t\tconst start = normalizeDate(answer.value.start);\n\t\t\t\tconst end = answer.value.end;\n\t\t\t\tdata.answers[answer.id] = {start, end};\n\t\t\t} else {\n data.answers[answer.id] = answer.value;\n }\n }\n await dossierClient.setResponsableDossier(props.dossierId, responsable);\n\t\tawait adelDossierClient.submitInfosProjetAnswers(props.dossierId, data, files);\n }\n\n useImperativeHandle(ref, () => ({\n async validateForm(): Promise {\n const responsableResult = await responsableForm.triggerValidation();\n const answersResult = validateAnswers();\n\n\t\t\tif (props.nomCategorie === \"Fortissimo\" && getParsedAnswers().find(e => e.id === \"nom-du-projet\").value.substring(0, 11) !== \"Fortissimo \") {\n\t\t\t\tsetFortissimoTitleCorrect(true)\n\t\t\t\treturn false;\n\t\t\t} else {\n\t\t\t\tsetFortissimoTitleCorrect(false)\n\t\t\t}\n\n if (responsableResult && answersResult) {\n\t\t\t\tprops.setIsLoading(true);\n\t\t\t\ttry {\n\t\t\t\t\tawait submitInfosProjet(getParsedAnswers(), responsableForm.getValues());\n\t\t\t\t\tprops.setIsLoading(false);\n\t\t\t\t\treturn true;\n\t\t\t\t} catch(error) {\n\t\t\t\t\tprops.setIsLoading(false);\n\n\t\t\t\t\tif(error.code === 'periodStartDateShouldBeAfterCommissionEnding') {\n\t\t\t\t\t\ttoast.error(t(\n\t\t\t\t\t\t\t'createFolder.informationsDossier.errors.periodStartDateShouldBeAfterCommissionEnding',\n\t\t\t\t\t\t\t{date: moment(error.additionalDetails.dateLimite).format('DD/MM/YYYY')}\n\t\t\t\t\t\t));\n\t\t\t\t\t}\n\t\t\t\t\telse if (error?.exception?.message != null){\n\t\t\t\t\t\ttoast.error(error?.exception?.message);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\ttoast.error(t(\"errors.default\"));\n\t\t\t\t\t}\n\n\t\t\t\t\tObject.keys(error.additionalDetails?.errors).forEach(item =>\n\t\t\t\t\t\ttoast.error(error.additionalDetails?.errors[item][i18n.language])\n\t\t\t\t\t);\n\t\t\t\t\treturn false;\n\t\t\t\t}\n } else {\n toast.error(t(\"validation-messages.invalid-form\"));\n\t\t\t}\n return false;\n }\n }));\n\n const renderBlockContent = (block: QuestionBlockDto) => {\n if (block.id === \"infos-responsable-dossier\") {\n return (\n\t\t\t\t\n\t\t\t);\n }\n\n\t\treturn (\n\t\t\t\n\t\t);\n }\n\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t

\n\t\t\t\t\t{t(\"createFolder.infoProjet.title\", {name: props.nomCategorie})}\n\t\t\t\t

\n\t\t\t
\n\t\t\t{blocks.map(block => (\n\t\t\t\t
\n\t\t\t\t\t

\n\t\t\t\t\t\t{block.title?.[i18n.language]}\n\t\t\t\t\t

\n\t\t\t\t\t{block.id === \"infos-responsable-dossier\"\n\t\t\t\t\t\t? renderBlockContent(block)\n\t\t\t\t\t\t: (\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t{renderBlockContent(block)}\n\t\t\t\t\t\t\t\t{fortissimoTitleCorrect &&\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t{t('createFolder.error-title-fortissimo')}\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t
\n\t\t\t))}\n \t
\n\t);\n});\n\nexport default InfosProjet;","import React, { useState, useEffect, useRef } from \"react\";\r\nimport { ErrorMessage } from \"react-hook-form\";\r\nimport DatePicker from 'react-date-picker';\r\nconst InputCalendarManual = ({ defaultDate, onDateSelected, label, minDate, maxDate, errors, name }) => {\r\n const ref = useRef();\r\n const [date, setDate] = useState(defaultDate);\r\n useEffect(() => {\r\n setDate(defaultDate);\r\n }, [defaultDate]);\r\n return React.createElement(\"div\", { className: \"inputFile__calendarManualWrapper\", ref: ref },\r\n React.createElement(\"label\", null, label),\r\n React.createElement(\"div\", { className: \"inputFile__calendarManual\" },\r\n React.createElement(DatePicker, { onChange: (date) => {\r\n onDateSelected(date);\r\n }, value: date, locale: \"fr-FR\", minDate: minDate, maxDate: maxDate, clearIcon: null, calendarIcon: null }),\r\n React.createElement(\"i\", { className: \"far fa-calendar-alt\" })),\r\n errors &&\r\n React.createElement(ErrorMessage, { errors: errors, name: name }, ({ message }) => React.createElement(\"p\", { className: \"input__errorMessage\" }, message)));\r\n};\r\nexport default InputCalendarManual;\r\n","import React, { useState, useRef, useEffect } from \"react\";\r\nimport Calendar from \"react-calendar\";\r\nimport Moment from \"react-moment\";\r\nimport 'react-calendar/dist/Calendar.css';\r\nimport useOnClickOutside from 'use-onclickoutside';\r\nconst InputCalendarLabelled = ({ defaultDate, onDateSelected, label, minDate, maxDate }) => {\r\n const [date, setDate] = useState(defaultDate);\r\n const [showCalendar, setShowCalendar] = useState(false);\r\n const ref = useRef();\r\n useOnClickOutside(ref, () => setShowCalendar(false));\r\n useEffect(() => {\r\n setDate(defaultDate);\r\n }, [defaultDate]);\r\n return React.createElement(\"div\", { className: \"input\" },\r\n React.createElement(\"label\", null, label),\r\n React.createElement(\"div\", { className: \"inputFile__calendar\", onClick: () => setShowCalendar(true) },\r\n React.createElement(\"span\", null, date && React.createElement(Moment, { format: \"DD/MM/YYYY\" }, date)),\r\n \" \",\r\n React.createElement(\"i\", { className: \"far fa-calendar-alt\" }),\r\n showCalendar &&\r\n React.createElement(Calendar, { onChange: (date) => {\r\n setDate(date);\r\n onDateSelected(date);\r\n setShowCalendar(false);\r\n }, minDate: minDate, maxDate: maxDate, value: date, locale: \"fr-FR\" })));\r\n};\r\nexport default InputCalendarLabelled;\r\n","import React, { useEffect, useState, forwardRef, useImperativeHandle, useMemo } from \"react\";\nimport { useTranslation } from 'react-i18next';\nimport Input from 'adel-shared/dist/components/basics/Input';\nimport InputSelect, { AdelOption } from 'adel-shared/dist/components/basics/InputSelect';\nimport { useForm, Controller } from 'react-hook-form';\nimport { debounce } from 'lodash';\nimport { useAxios } from '../../../../custom-hooks/useAxios';\nimport { toast } from \"react-toastify\";\nimport { SalarieFormMode } from '../SalarieArtistes';\nimport InputCalendarManual from 'adel-shared/dist/components/basics/InputCalendarManual';\nimport InputCalendarLabelled from 'adel-shared/dist/components/basics/InputCalendarLabelled';\nimport InputFileSingle, { DocumentWithFile } from 'adel-shared/dist/components/basics/InputFileSingle';\nimport { Equipements, TypesAdresses, SalarieDto, GeoAdresseDto, AdresseClient } from '../../../../services/generated/FrontOffice-api';\nimport { AdelDossierClient, CreateSalarieDto } from '../../../../clients/AdelDossierClient';\nimport { Dictionary } from '../../../../models';\nimport moment from \"moment\";\nimport { normalizeDate } from \"adel-shared/dist/utils/functions\";\n\nexport interface EditSalarieRef {\n\tvalidateAndSend: () => Promise;\n}\n\ninterface SalarieProps {\n\tref: any;\n\tsetIsFormValid: (value: boolean) => void;\n\tcloseView: () => void;\n\tcurrentFormMode: SalarieFormMode;\n\tdossierId: string;\n\tsalarieSelected: SalarieDto;\n\tsalarieValidator: Dictionary;\n\tadresseValidator: Dictionary;\n}\n\nconst Salarie: React.FunctionComponent = forwardRef(({\n\tsetIsFormValid,\n\tcloseView,\n\tcurrentFormMode,\n\tdossierId,\n\tsalarieSelected,\n\tsalarieValidator = {},\n\tadresseValidator= {}\n}, ref) => {\n\tconst { t } = useTranslation();\n\tconst axiosInstance = useAxios();\n\tconst {\n\t\tregister,\n\t\tgetValues,\n\t\tsetValue,\n\t\ttriggerValidation,\n\t\tcontrol,\n\t\twatch,\n\t\terrors\n\t} = useForm({});\n\tconst adelDossierClient = new AdelDossierClient(\"\", axiosInstance);\n\tconst nextDay = new Date(new Date().setDate(new Date().getDate() + 1));\n\n\t/** Datas à envoyer qui ne sont pas dans le getValues() */\n\tconst [adresses, setAdresses] = useState([]);\n\tconst [equipements, setEquipements] = useState([]);\n const [dateNaissance, setDateNaissance] = useState(null);\n\tconst [dateEmbauche, setDateEmbauche] = useState(nextDay);\n\tconst {\n\t\tville,\n\t\tcodePostal,\n\t\tvilleAutre,\n\t\tcodePostalAutre\n\t} = watch([\n\t\t'ville',\n\t\t'codePostal',\n\t\t'villeAutre',\n\t\t'codePostalAutre'\n\t]);\n\n\n\n\t/** GeoAdresse */\n\tconst [geoAdresse, setGeoAdresse] = useState([]);\n\tconst searchAdresse = (input: string, isAutreAdresse:boolean) => {\n\t\tif (!!input) {\n\t\t\ttry {\n\t\t\t\tconst adresseClient = new AdresseClient('', axiosInstance);\n\n\t\t\t\tlet searchString = `${ville} ${input}`;\n\t\t\t\tlet codePostalString = codePostal;\n\n\t\t\t\tif(isAutreAdresse) {\n\t\t\t\t\tsearchString = `${villeAutre} ${input}`;\n\t\t\t\t\tcodePostalString = codePostalAutre;\n\t\t\t\t}\n\n\t\t\t\tadresseClient.searchAdresse(searchString, codePostalString).then(results => {\n\t\t\t\t\tsetGeoAdresse(results);\n\t\t\t\t});\n\t\t\t\tonAdresseChange(input, isAutreAdresse);\n\t\t\t}\n\t\t\tcatch (error) {\n\t\t\t\tif (error.exception?.message)\n\t\t\t\t\ttoast.error(error.exception.message);\n\t\t\t\telse\n\t\t\t\t\ttoast.error(t(\"errors.default\"));\n\t\t\t}\n\t\t}\n\t}\n\tconst onAdresseChange = (label: string, isAutreAdresse:boolean) => {\n\t\tconst selectedAdresse = geoAdresse.find(adresse => adresse.label === label);\n\n\t\tif (selectedAdresse) {\n\t\t\tif(isAutreAdresse) {\n\t\t\t\tsetValue([\n\t\t\t\t\t{ line1Autre: `${selectedAdresse.numero} ${selectedAdresse.rue}` },\n\t\t\t\t\t{ codePostalAutre: selectedAdresse.codePostal },\n\t\t\t\t\t{ villeAutre: selectedAdresse.ville }\n\t\t\t\t]);\n\t\t\t} else {\n\t\t\t\tsetValue([\n\t\t\t\t\t{ line1: `${selectedAdresse.numero} ${selectedAdresse.rue}` },\n\t\t\t\t\t{ codePostal: selectedAdresse.codePostal },\n\t\t\t\t\t{ ville: selectedAdresse.ville }\n\t\t\t\t]);\n\t\t\t}\n\t\t}\n\t}\n\n\t/** Dates */\n\tconst handleDateNaissanceChange = (date: Date) => {\n\t\tsetValue('dateNaissance', date);\n\t\tsetDateNaissance(date);\n\t}\n\tconst handleDateEmbaucheChange = (date: Date) => {\n\t\tsetValue('dateEmbauche', date);\n\t\tsetDateEmbauche(date);\n\t}\n\n\n\n\t/*** Equipements */\n\tconst equipementOptions: AdelOption[] = useMemo(() => {\n\t\tlet allOptions: AdelOption[] = [];\n\n\t\tfor (let statut in Equipements) {\n\t\t\tif (statut !== \"None\") {\n\t\t\t\tallOptions.push(\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: Equipements[statut as keyof typeof Equipements],\n\t\t\t\t\t\tlabel: t(`common.equipements.${Equipements[statut as keyof typeof Equipements]}`)\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t}\n\t\t}\n\t\treturn allOptions;\n\t}, []);\n\n\tconst setEquipementsValue = (value:any) => { // value: AdelOption[]\n\t\tconst result = (value as any[])?.map(o => o.value) ?? [];\n\t\tsetEquipements(result);\n\t}\n\tconst getOptionForValue = (value: any): any => {\n return equipementOptions.find(o => o.value == value);\n }\n\n\n\n\t/** Adresse lieu travail */\n\tconst adresseOptions: AdelOption[] = useMemo(() => {\n\t\tlet allOptions: AdelOption[] = [];\n\t\tfor (let statut in TypesAdresses) {\n\t\t\tif (statut !== \"None\") {\n\t\t\t\tallOptions.push(\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: TypesAdresses[statut as keyof typeof TypesAdresses],\n\t\t\t\t\t\tlabel: t(`common.typesAdresses.${TypesAdresses[statut as keyof typeof TypesAdresses]}`)\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t}\n\t\t}\n\t\treturn allOptions;\n\t}, []);\n\n\tconst setAdressesValue = (value:any) => {\n\t\tconst result = (value as any[])?.map(o => o.value) ?? [];\n\t\tsetAdresses(result);\n\t}\n\tconst getOptionAdresseForValue = (value: any): any => {\n return adresseOptions.find(o => o.value == value);\n }\n\n\tconst isFilePDF = (value: DocumentWithFile) => {\n\t\treturn value.file.type === 'application/pdf' || t('validation-messages.invalid-file-format', {formats: 'PDF'});\n\t};\n\n\t/** Validation et envoi */\n\tuseEffect(() => {\n\t\tif (salarieSelected) {\n\t\t\tlet equipementSplitted = salarieSelected.equipements.split(\",\") as Equipements[];\n\t\t\tlet array:Equipements[] = [];\n\t\t\tequipementSplitted.map((e: Equipements) => {\n\t\t\t\tarray.push(e)\n\t\t\t})\n\t\t\tsetEquipements(array);\n\n\t\t\tlet adressesSplitted = salarieSelected.typesAdresses.split(\", \") as TypesAdresses[];\n\t\t\tlet arrayAdresses:TypesAdresses[] = [];\n\t\t\tadressesSplitted.map((e: TypesAdresses) => {\n\t\t\t\tarrayAdresses.push(e)\n\t\t\t})\n\t\t\tsetAdresses(arrayAdresses);\n\n\t\t\tsetValue([\n\t\t\t\t{ nom: salarieSelected?.nom },\n\t\t\t\t{ prenom: salarieSelected?.prenom },\n\t\t\t\t{ salaireBrut: salarieSelected?.salaireBrut },\n\t\t\t\t{ conventionCollective: salarieSelected?.conventionCollective },\n\t\t\t\t{ email: salarieSelected.email },\n\t\t\t\t{ equipements: equipementSplitted.map(getOptionForValue) },\n\t\t\t\t{ line1: salarieSelected.adresse?.line1 },\n\t\t\t\t{ line2: salarieSelected.adresse?.line2 },\n\t\t\t\t{ codePostal: salarieSelected.adresse?.codePostal },\n\t\t\t\t{ ville: salarieSelected.adresse?.ville },\n\t\t\t\t{ adresseLieuTravail: adressesSplitted.map(getOptionAdresseForValue) }\n\t\t\t]);\n\n\t\t\tsetDateNaissance(salarieSelected?.dateNaissance && new Date(salarieSelected?.dateNaissance));\n\t\t\tsetDateEmbauche(salarieSelected?.dateEmbauchePrevue && new Date(salarieSelected?.dateEmbauchePrevue));\n\n\t\t\tif(salarieSelected.cv) {\n\t\t\t\tsetValue('cv', {\n\t\t\t\t\tid: salarieSelected?.cv.id,\n\t\t\t\t\tfileName: salarieSelected?.cv.fileName\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif(salarieSelected.diplome) {\n\t\t\t\tsetValue('diplome', {\n\t\t\t\t\tid: salarieSelected?.diplome.id,\n\t\t\t\t\tfileName: salarieSelected?.diplome.fileName\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}, [salarieSelected]);\n\n\tuseEffect(() => {\n if(salarieSelected && equipements.find(e => e === Equipements.Autre)) {\n\t\t\tsetValue([\n\t\t\t\t{ autresEquipements: salarieSelected?.autresEquipements }\n\t\t\t]);\n\t\t}\n\t\tif(salarieSelected && adresses.find(e => e === TypesAdresses.Autre)) {\n\t\t\tsetValue([\n\t\t\t\t{ line1Autre: salarieSelected.autreAdresse?.line1 },\n\t\t\t\t{ line2Autre: salarieSelected.autreAdresse?.line2 },\n\t\t\t\t{ codePostalAutre: salarieSelected.autreAdresse?.codePostal },\n\t\t\t\t{ villeAutre: salarieSelected.autreAdresse?.ville }\n\t\t\t]);\n\t\t}\n\t}, [salarieSelected, equipements, adresses]);\n\n\n\n\tuseEffect(() => {\n setIsFormValid(true);\n\t}, []);\n\n\tuseImperativeHandle(ref, () => ({\n\t\tasync validateAndSend(): Promise {\n\t\t\tconst result = await triggerValidation();\n\n\t\t\tif (result) {\n\t\t\t\tconst {\n\t\t\t\t\tline1,\n\t\t\t\t\tline2,\n\t\t\t\t\tcodePostal,\n\t\t\t\t\tville,\n\t\t\t\t\tcv,\n\t\t\t\t\tdiplome,\n\t\t\t\t\t...formValues\n\t\t\t\t} = getValues();\n\n\t\t\t\tconst dataToSend: CreateSalarieDto = {\n\t\t\t\t\t...formValues,\n\t\t\t\t\tadresse: {\n\t\t\t\t\t\tline1,\n\t\t\t\t\t\tline2,\n\t\t\t\t\t\tcodePostal,\n\t\t\t\t\t\tville\n\t\t\t\t\t},\n\t\t\t\t\tdateNaissance: normalizeDate(dateNaissance),\n\t\t\t\t\tdateEmbauchePrevue: normalizeDate(dateEmbauche),\n\t\t\t\t\tsalaireBrut: parseFloat(formValues.salaireBrut),\n\t\t\t\t\ttypesAdresses: adresses.join(','),\n\t\t\t\t\tequipements: equipements.join(','),\n\t\t\t\t\tcv: {partName: 'cv'},\n\t\t\t\t\tdiplome: {partName: 'diplome'},\n\t\t\t\t\tautresEquipements: formValues.autresEquipements || \"\"\n\t\t\t\t}\n\n\t\t\t\tif(cv.id)\n\t\t\t\t\tdataToSend.cv = {id: cv.id};\n\n\t\t\t\tif(diplome.id)\n\t\t\t\t\tdataToSend.diplome = {id: diplome.id};\n\n\t\t\t\tif(adresses.find(a => a === TypesAdresses.Autre))\n\t\t\t\t\tdataToSend.autreAdresse = {\n\t\t\t\t\t\tline1: formValues.line1Autre,\n\t\t\t\t\t\tline2: formValues.line2Autre,\n\t\t\t\t\t\tcodePostal: formValues.codePostalAutre,\n\t\t\t\t\t\tville: formValues.villeAutre\n\t\t\t\t\t};\n\n\t\t\t\ttry {\n\t\t\t\t\tswitch(currentFormMode) {\n\t\t\t\t\t\tcase SalarieFormMode.IS_CREATION:\n\t\t\t\t\t\t\tawait adelDossierClient.createSalarie(dossierId, dataToSend, { 'cv': cv.file, 'diplome': diplome.file });\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase SalarieFormMode.IS_EDIT:\n\t\t\t\t\t\t\tlet files = {};\n\t\t\t\t\t\t\tif(!cv.id) files = {...files, 'cv': cv.file};\n\t\t\t\t\t\t\tif(!diplome.id) files = {...files, 'diplome': diplome.file};\n\t\t\t\t\t\t\tawait adelDossierClient.updateSalarie(salarieSelected.id, dataToSend, files);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tcloseView();\n\t\t\t\t\treturn true;\n\t\t\t\t} catch (error) {\n\t\t\t\t\tif(error.code === 'dateEmbaucheIsNotValid') {\n\t\t\t\t\t\tconst date = moment(error.additionalDetails?.dateLimite).format('DD/MM/YYYY');\n\t\t\t\t\t\tif(error.additionalDetails?.isMin) {\n\t\t\t\t\t\t\ttoast.error(t(`createFolder.salarieArtistes.salarie.errors.dateEmbaucheShouldBeAfter`, { date }));\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\ttoast.error(t(`createFolder.salarieArtistes.salarie.errors.dateEmbaucheShouldBeBefore`, { date }));\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttoast.error(t('errors.default'));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}));\n\n\treturn (<>\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{t(\"createFolder.salarieArtistes.salarie.back\")}\n\t\t\t\t\n\t\t\t
\n\t\t\t

{t(\"createFolder.salarieArtistes.salarie.title\")}

\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t
\n\n\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t adresse.label)}\n\t\t\t\tonChange={debounce((value) => searchAdresse(value, false), 1000)}\n\t\t\t/>\n\t\t\t\n\t\t
\n\t\t\n\t\t
\n\t\t\t (\n\t\t\t\t\t\n\t\t\t\t\t\tname={name}\n\t\t\t\t\t\tisMulti\n\t\t\t\t\t\tlabel={t('createFolder.salarieArtistes.salarie.form.adresseLieuTravail')}\n\t\t\t\t\t\tclassname=\"inputSelect inputSelect--multi\"\n\t\t\t\t\t\toptions={adresseOptions}\n\t\t\t\t\t\terrors={errors}\n\t\t\t\t\t\tonChange={(selectedAdresse) => {\n\t\t\t\t\t\t\tonChange(selectedAdresse);\n\t\t\t\t\t\t\tsetAdressesValue(selectedAdresse);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\tplaceholder={t(\"common.select\")}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\trules={salarieValidator?.[\"AutreAdresse\"]}\n\t\t\t/>\n\t\t\t
\n\t\t
\n\t\t{adresses.find(a => a === TypesAdresses.Autre) &&\n\t\t\t<>\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t adresse.label)}\n\t\t\t\t\t\tonChange={debounce((value) => searchAdresse(value, true), 1000)}\n\t\t\t\t\t/>\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\n\t\t}\n\n\t\t
\n\t\t\t (\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\trules={salarieValidator?.[\"DateNaissance\"]}\n\t\t\t/>\n\t\t\t\n\n\t\t\t\n\t\t
\n\n\t\t
\n\t\t\t\n\t\t\t (\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\trules={{\n\t\t\t\t\t...salarieValidator[\"CV\"],\n\t\t\t\t\tvalidate: isFilePDF\n\t\t\t\t}}\n\t\t\t/>\n\t\t
\n\t\t
\n\t\t\t (\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\trules={{\n\t\t\t\t\t...salarieValidator[\"Diplome\"],\n\t\t\t\t\tvalidate: isFilePDF\n\t\t\t\t}}\n\t\t\t/>\n\t\t\t
\n\t\t
\n\n\t\t
\n\t\t\t (\n\t\t\t\t\t\t\n\t\t\t\t\t\tlabel={t('createFolder.salarieArtistes.salarie.form.equipements')}\n\t\t\t\t\t\tname=\"equipements\"\n\t\t\t\t\t\tclassname=\"inputSelect inputSelect--multi\"\n\t\t\t\t\t\toptions={equipementOptions}\n\t\t\t\t\t\tonChange={(value) => {\n\t\t\t\t\t\t\tonChange(value);\n\t\t\t\t\t\t\tsetEquipementsValue(value);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\tisMulti\n\t\t\t\t\t\terrors={errors}\n\t\t\t\t\t\tplaceholder={t(\"common.select\")}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\trules={salarieValidator[\"Equipements\"]}\n\t\t\t/>\n\t\t\t{equipements.find(e => e === Equipements.Autre)\n\t\t\t\t? \n\t\t\t\t:
\n\t\t\t}\n\t\t
\n\t\t
\n\t\t\t\n\t\t
\n\t)\n});\n\nexport default Salarie;\n","import Input from 'adel-shared/dist/components/basics/Input';\nimport InputRadioYesNo from 'adel-shared/dist/components/basics/InputRadioYesNo';\nimport InputSelect, { AdelOption } from 'adel-shared/dist/components/basics/InputSelect';\nimport _ from 'lodash';\nimport React, { forwardRef, useEffect, useImperativeHandle, useMemo, useState } from \"react\";\nimport { Controller, useForm } from 'react-hook-form';\nimport { useTranslation } from 'react-i18next';\nimport { toast } from \"react-toastify\";\nimport { useAxios } from '../../../../custom-hooks/useAxios';\nimport { Dictionary } from '../../../../models';\nimport { ArtisteClient, ArtisteDto, CreateArtisteDto, DossierClient, Emploi, InstrumentDto, UpdateArtisteDto } from '../../../../services/generated/FrontOffice-api';\nimport { SalarieFormMode } from '../SalarieArtistes';\n\nexport interface EditArtistesRef {\n\tvalidateAndSend: () => Promise;\n}\n\ninterface ArtistesProps {\n\tref: any;\n\tsetIsFormValid: (value: boolean) => void;\n\tcloseView: () => void;\n\tcurrentFormMode: SalarieFormMode;\n\tdossierId?: string;\n\tartisteSelected?: ArtisteDto;\n\tartisteValidator: Dictionary;\n}\n\nconst Artistes: React.SFC = forwardRef((props, ref) => {\n\tconst { t, i18n } = useTranslation();\n\tconst axiosInstance = useAxios();\n\tconst dossierClient = useMemo(() => { return new DossierClient(\"\", axiosInstance) }, [axiosInstance]);\n\tconst artisteClient = useMemo(() => { return new ArtisteClient(\"\", axiosInstance) }, [axiosInstance]);\n\n\tconst { register, getValues, setValue, triggerValidation, errors, control } = useForm({});\n\n\tconst [showInstrument, setShowInstrument] = useState(false);\n\n\tconst [instrumentsOptions, setInstrumentsOptions] = useState[]>([]);\n\tconst [artistePrincipal, setArtistePrincipal] = useState(false);\n\tconst [hasArtistePrincipal, setHasArtistePrincipal] = useState();\n\n\tconst [errorArtistePrincipalTriggered, setErrorArtistePrincipalTriggered] = useState(false);\n\n\t/** Emplois */\n\tconst emploisOptions: AdelOption[] = useMemo(() => {\n\t\tlet allOptions: AdelOption[] = [];\n\t\tfor (let statut in Emploi) {\n\t\t\tif (statut !== \"None\") {\n\t\t\t\tallOptions.push(\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: Emploi[statut as keyof typeof Emploi],\n\t\t\t\t\t\tlabel: t(`emplois.${Emploi[statut as keyof typeof Emploi]}`)\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t}\n\t\t}\n\t\treturn allOptions;\n\t}, []);\n\n\n\n\t/** Instruments */\n\tconst getArtistViewModel = async () => {\n\t\ttry {\n\t\t\tlet result = await dossierClient.getArtistesViewModel(props.dossierId);\n\t\t\tif (result && result.instruments) {\n\t\t\t\tlet instruments = result.instruments.map((instrument: InstrumentDto) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tlabel: instrument.intitule[i18n.language] ?? \"\",\n\t\t\t\t\t\tvalue: instrument.id\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tsetInstrumentsOptions(instruments)\n\t\t\t\tsetHasArtistePrincipal(result.artistePrincipalInfoRequired);\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tif (error.exception?.message)\n\t\t\t\ttoast.error(error.exception.message);\n\t\t\telse\n\t\t\t\ttoast.error(t(\"errors.default\"));\n\t\t}\n\t}\n\n\n\n\t/** Validation et envoi */\n\tuseEffect(() => {\n\t\tprops.setIsFormValid(true);\n\t\t(async () => {\n\t\t\tawait getArtistViewModel();\n\t\t})();\n\t}, []);\n\n\tuseEffect(() => {\n\t\tif (props.artisteSelected && instrumentsOptions) {\n\t\t\tswitch (props.currentFormMode) {\n\t\t\t\tcase SalarieFormMode.IS_EDIT:\n\t\t\t\t\tif(props.artisteSelected.emploi === Emploi.Musicien)\n\t\t\t\t\t\tsetShowInstrument(true);\n\t\t\t\t\tsetValue([\n\t\t\t\t\t\t{ nom: props.artisteSelected.nom },\n\t\t\t\t\t\t{ prenom: props.artisteSelected.prenom },\n\t\t\t\t\t\t{ email: props.artisteSelected.email },\n\t\t\t\t\t\t{ lieuHabitation: props.artisteSelected.lieuHabitation },\n\t\t\t\t\t\t{ emploi: props.artisteSelected.emploi },\n\t\t\t\t\t\t{ instrumentId: props.artisteSelected.instrument?.id },\n\t\t\t\t\t\t{ siteInternet: props.artisteSelected.siteInternet },\n\t\t\t\t\t\t{ formation: props.artisteSelected.formation },\n\t\t\t\t\t\t{ isGenerationSpedidam: props.artisteSelected.isGenerationSpedidam },\n\t\t\t\t\t\t{ isAssociated: props.artisteSelected.isAssociated },\n\t\t\t\t\t\t{ isTitulaire: props.artisteSelected.isTitulaire }\n\t\t\t\t\t]);\n\t\t\t\t\tsetArtistePrincipal(props.artisteSelected.artistePrincipal);\n\t\t\t\t\tbreak;\n\t\t\t\tcase SalarieFormMode.IS_DUPLICATE:\n\t\t\t\t\tif(props.artisteSelected.emploi === Emploi.Musicien)\n\t\t\t\t\t\tsetShowInstrument(true);\n\t\t\t\t\tsetValue([\n\t\t\t\t\t\t{ lieuHabitation: props.artisteSelected.lieuHabitation },\n\t\t\t\t\t\t{ emploi: props.artisteSelected.emploi },\n\t\t\t\t\t\t{ instrumentId: props.artisteSelected.instrument.id },\n\t\t\t\t\t\t{ siteInternet: props.artisteSelected.siteInternet },\n\t\t\t\t\t\t{ formation: props.artisteSelected.formation },\n\t\t\t\t\t\t{ isGenerationSpedidam: props.artisteSelected.isGenerationSpedidam },\n\t\t\t\t\t\t{ isAssociated: props.artisteSelected.isAssociated },\n\t\t\t\t\t\t{ isTitulaire: props.artisteSelected.isTitulaire }\n\t\t\t\t\t]);\n\t\t\t\t\tsetArtistePrincipal(props.artisteSelected.artistePrincipal);\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}, [props.artisteSelected, instrumentsOptions]);\n\n\tuseImperativeHandle(ref, () => ({\n\t\tasync validateAndSend(): Promise {\n\t\t\tconst result = await triggerValidation();\n\n\t\t\tif (artistePrincipal === undefined) {\n\t\t\t\tsetErrorArtistePrincipalTriggered(true);\n\t\t\t} else {\n\t\t\t\tsetErrorArtistePrincipalTriggered(false);\n\t\t\t}\n\n\t\t\tif (result) {\n\t\t\t\tlet { nom, prenom, email, lieuHabitation, emploi, instrumentId, siteInternet, formation, isGenerationSpedidam, isAssociated, isTitulaire } = getValues();\n\n\t\t\t\tlet artiste: CreateArtisteDto | UpdateArtisteDto = {\n\t\t\t\t\tnom,\n\t\t\t\t\tprenom,\n\t\t\t\t\temail,\n\t\t\t\t\tlieuHabitation,\n\t\t\t\t\temploi,\n\t\t\t\t\tsiteInternet,\n\t\t\t\t\tformation,\n\t\t\t\t\tisGenerationSpedidam,\n\t\t\t\t\tisAssociated,\n\t\t\t\t\tisTitulaire\n\t\t\t\t}\n\n\t\t\t\tif (hasArtistePrincipal) {\n\t\t\t\t\tartiste.artistePrincipal = artistePrincipal;\n\t\t\t\t}\n\n\t\t\t\tif (showInstrument) {\n\t\t\t\t\tartiste.instrumentId = instrumentId;\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tif (props.currentFormMode === SalarieFormMode.IS_CREATION || props.currentFormMode === SalarieFormMode.IS_DUPLICATE) {\n\t\t\t\t\t\tawait dossierClient.createArtiste(props.dossierId, artiste);\n\t\t\t\t\t} else if (props.currentFormMode === SalarieFormMode.IS_EDIT) {\n\t\t\t\t\t\tawait artisteClient.updateArtiste(props.artisteSelected.id, artiste)\n\t\t\t\t\t}\n\t\t\t\t\tprops.closeView();\n\t\t\t\t\treturn true;\n\t\t\t\t} catch (error) {\n\t\t\t\t\tif (error.exception?.message)\n\t\t\t\t\t\ttoast.error(error.exception.message);\n\t\t\t\t\telse \n\t\t\t\t\t\ttoast.error(t(\"errors.default\"));\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}));\n\n\n\treturn (<>\n\t\t
\n\t\t\t
props.closeView()}>\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{t(\"createFolder.salarieArtistes.artistes.back\")}\n\t\t\t\t\n\t\t\t
\n\t\t\t

{t(\"createFolder.salarieArtistes.artistes.title\")}

\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t (\n\t\t\t\t\t\n\t\t\t\t\t\tname={name}\n\t\t\t\t\t\tlabel={t('createFolder.contratsCachets.listColumns.emploi')}\n\t\t\t\t\t\tclassname=\"inputSelect\"\n\t\t\t\t\t\toptions={emploisOptions}\n\t\t\t\t\t\terrors={errors}\n\t\t\t\t\t\tonChange={(emploi) => {\n\t\t\t\t\t\t\tonChange(emploi);\n\t\t\t\t\t\t\tsetShowInstrument(emploi === Emploi.Musicien);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\tplaceholder={t(\"common.select\")}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\trules={props.artisteValidator && props.artisteValidator[\"Emploi\"]}\n\t\t\t/>\n\t\t\t{showInstrument\n\t\t\t\t? (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tname={name}\n\t\t\t\t\t\t\tlabel={`${t('createFolder.contratsCachets.listColumns.instrument')}*`}\n\t\t\t\t\t\t\tclassname=\"inputSelect\"\n\t\t\t\t\t\t\toptions={instrumentsOptions}\n\t\t\t\t\t\t\terrors={errors}\n\t\t\t\t\t\t\tonChange={(instrumentId) => {\n\t\t\t\t\t\t\t\tonChange(instrumentId);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\t\tplaceholder={t(\"common.select\")}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\trules={props.artisteValidator && props.artisteValidator[\"InstrumentId\"]}\n\t\t\t\t/>\n\t\t\t\t:
\n\t\t\t}\n\t\t
\n\t\t
\n\t\t\t{\n\t\t\t\thasArtistePrincipal &&\n\t\t\t\t setArtistePrincipal(value)}\n\t\t\t\t\tvalue={artistePrincipal}\n\t\t\t\t\terrorMessage={errorArtistePrincipalTriggered && t('validation-messages.required')}\n\t\t\t\t\tradioLabels={[t(\"common.yes\"), t(\"common.no\")]}\n\t\t\t\t/>\n\t\t\t}\n\t\t\t\n\t\t
\n\t)\n});\n\nexport default Artistes;\n","import InputSelect, { AdelOption } from 'adel-shared/dist/components/basics/InputSelect';\nimport _ from 'lodash';\nimport React, { forwardRef, useEffect, useImperativeHandle, useMemo, useState } from \"react\";\nimport { Controller, useForm } from 'react-hook-form';\nimport { useTranslation } from 'react-i18next';\nimport { toast } from \"react-toastify\";\nimport { useAxios } from '../../../../custom-hooks/useAxios';\nimport { Dictionary } from '../../../../models';\nimport { CreateOrUpdateEtapeDto, CreateOrUpdateTrajetDto, DossierClient, EtapeDto, PaysClient, PaysDto, TrajetDto, TypeTransport } from '../../../../services/generated/FrontOffice-api';\nimport { TrajetsFormMode } from '../Trajets';\nimport RenderTrajetBlock from './RenderTrajetBlock';\n\nexport interface EditTrajetRef {\n\tvalidateAndSend: () => Promise;\n}\n\nexport enum CategorieLieu {\n\tDepart = \"depart\",\n\tArrivee = \"arrivee\",\n\tEtapes = \"etapes\",\n\tEscale = \"escale\",\n\tEscales = \"escales\"\n}\n\ninterface EtapesFromForm {\n\tpays: PaysDto | AdelOption;\n\ttransport: string;\n\tescale: {\n\t\taller: {\n\t\t\tboolean: string;\n\t\t\tpays: PaysDto | AdelOption;\n\t\t},\n\t\tretour: {\n\t\t\tboolean: string;\n\t\t\tpays: PaysDto | AdelOption;\n\t\t}\n\t}\n}\n\ninterface EditTrajetProps {\n\tref: any;\n\tsetIsFormValid: (value: boolean) => void;\n\tcloseView: () => void;\n\tcurrentFormMode: TrajetsFormMode;\n\tdossierId: string;\n\ttrajetSelected: TrajetDto;\n\ttrajetValidator: Dictionary;\n\tetapeValidator: Dictionary;\n\tescaleValidator: Dictionary;\n}\n\nconst EditTrajet: React.FC = forwardRef(({\n\tsetIsFormValid,\n\tcloseView,\n\tcurrentFormMode,\n\tdossierId,\n\ttrajetSelected,\n\ttrajetValidator,\n\tetapeValidator,\n\tescaleValidator\n}, ref) => {\n\tconst { t } = useTranslation();\n\tconst axiosInstance = useAxios();\n\tconst { register, getValues, setValue, triggerValidation, errors, control, watch } = useForm({ defaultValues: {\n\t\tartistes: []\t\n\t}});\n\n\tconst dossierClient = useMemo(() => { return new DossierClient(\"\", axiosInstance) }, [axiosInstance]);\n\tconst paysClient = new PaysClient(\"\", axiosInstance);\n\n\tconst [isSelectWithoutCar, setIsSelectWithoutCar] = useState(false);\n\tconst [artisteOptions, setArtisteOptions] = useState[]>([]);\n\n\tconst [etapes, setEtapes] = useState([]);\n\tconst [depart, setDepart] = useState();\n\tconst [arrivee, setArrivee] = useState();\n\n\tconst watchArtistes = watch(\"artistes\");\n\n\tuseEffect(() => {\n\t\tsetIsFormValid(true);\n\t\t(async () => {\n\t\t\tawait getArtistsList();\n\t\t\tawait fetchPays();\n\t\t\tawait fetchPaysPresta();\n\t\t})();\n\t}, []);\n\n\n\t/** Render escale */\n\tconst addEtape = () => {\n\t\tlet temporaryId = 'TEMPORARY_' + Math.random().toString(36).substr(2, 9);\n\t\tlet array = [...etapes];\n\t\tarray.push({ id: temporaryId });\n\t\tsetEtapes(array);\n\t}\n\n\tconst removeEtape = (id:string) => {\n\t\tlet array = [...etapes];\n\t\tfor (let i in array) {\n\t\t\tif (id === array[i].id)\n\t\t\t\tarray.splice(array.indexOf(array[i]), 1);\n\t\t}\n\t\tsetEtapes(array);\n\t}\n\n\n\n\t/** Pays */\n\tconst [pays, setPays] = useState([]);\n\tconst fetchPays = async () => {\n\t\tlet result = await paysClient.getPays();\n\t\tsetPays(result);\n\t}\n\n\tconst [paysPrestations, setPaysPrestations] = useState([]);\n\tconst fetchPaysPresta = async () => {\n\t\tlet result = await dossierClient.getDossierPays(dossierId);\n\t\tsetPaysPrestations(result);\n\t}\n\n\n\n\t/** Artistes */\n\tconst getArtistsList = async () => {\n\t\ttry {\n\t\t\tlet result = await dossierClient.getArtistes(dossierId, \"\", \"\", 1, 1000, true);\n\t\t\tif (result && result.items) {\n\t\t\t\tsetArtisteOptions(result.items.map(item => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tlabel: item.fullName,\n\t\t\t\t\t\tvalue: item.id\n\t\t\t\t\t}\n\t\t\t\t}));\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tif (error.exception?.message)\n\t\t\t\ttoast.error(error.exception.message);\n\t\t\telse\n\t\t\t\ttoast.error(t(\"errors.default\"));\n\t\t}\n\t}\n\n\n\t/** Edition */\n\tuseEffect(() => {\n\t\tif (currentFormMode === TrajetsFormMode.IS_EDIT && artisteOptions) {\n\t\t\tif (trajetSelected) {\n\t\t\t\tsetValue([\n\t\t\t\t\t{ artistes: trajetSelected.artistes.map(e => { return {value: e.id, label: e.fullName}}) }\n\t\t\t\t]);\n\n\t\t\t\tlet etapes = trajetSelected.etapes.sort((a,b) => a.order - b.order); // pour être sûr d'avoir les étapes dans l'ordre selon order\n\t\t\t\tconst timer = setTimeout( () => {\n\t\t\t\t\tupdateFields(etapes);\n\t\t\t\t}, 0);\n\t\t\t\treturn () => clearTimeout(timer);\n\t\t\t}\n\t\t}\n\t}, [trajetSelected, currentFormMode, artisteOptions]);\n\n\tconst updateFields = (etapes: TrajetDto[]) => {\n\t\tlet start:EtapeDto = etapes[0];\n\t\tlet finish:EtapeDto = etapes[etapes.length - 1];\n\t\tlet steps:EtapeDto[] = etapes.length > 2 ? etapes.slice(1, etapes.length-1) : [];\n\n\t\t/** depart */\n\t\tsetDepart(start);\n\t\tsetValue(\"depart.pays\", {label: start.pays.nom, value: start.pays});\n\t\tsetValue(\"depart.transport\", start.typeTransport);\n\n\t\t/** arrivee */\n\t\tsetArrivee(finish);\n\t\tsetValue(\"arrivee.pays\", {label: finish.pays.nom, value:finish.pays});\n\t\tsetValue(\"arrivee.transport\", finish.typeTransport);\n\n\t\t/** etapes */\n\t\tsetEtapes(steps);\n\t\tif (start.typeTransport === TypeTransport.Voiture) {\n\t\t\tsetIsSelectWithoutCar(true);\n\t\t} else {\n\t\t\tsetIsSelectWithoutCar(false);\n\t\t}\n\t\tsteps.forEach((e,i) => {\n\t\t\te.pays && setValue(`etapes[${i}].pays`, {label: e.pays.nom, value: e.pays});\n\t\t\tsetValue(`etapes[${i}].transport`, e.typeTransport);\n\t\t\te.escaleAllerPays && setValue(`etapes[${i}].escale.aller.pays`, {label: e.escaleAllerPays.nom, value: e.escaleAllerPays});\n\t\t\te.escaleRetourPays && setValue(`etapes[${i}].escale.retour.pays`, {label: e.escaleRetourPays.nom, value: e.escaleRetourPays});\n\n\t\t\tif(e.escaleAllerPays)\n\t\t\t\tsetValue(`etapes[${i}].escale.aller.boolean`, \"true\");\n\t\t\telse\n\t\t\t\tsetValue(`etapes[${i}].escale.aller.boolean`, \"false\");\n\n\t\t\tif(e.escaleRetourPays)\n\t\t\t\tsetValue(`etapes[${i}].escale.retour.boolean`, \"true\");\n\t\t\telse\n\t\t\t\tsetValue(`etapes[${i}].escale.retour.boolean`, \"false\");\n\n\t\t})\n\t}\n\n\n\n\t/** Validation et envoi */\n\tconst [hasNoDestination, setHasNoDestination] = useState(false);\n\tconst [hasTooManyArtists, setHasTooManyArtists] = useState(false);\n\tconst checkValidationDestination = () => {\n\t\tlet etapesFromForm = getValues({nest:true}).etapes;\n\t\tlet isFormValid:boolean = true;\n\t\n\t\tif (etapes.length === 0) {\n\t\t\tsetHasNoDestination(true);\n\t\t\tisFormValid = false;\n\t\t} else {\n\t\t\tsetHasNoDestination(false);\n\t\t}\n\n\t\tif (watchArtistes.length > 12) {\n\t\t\tsetHasTooManyArtists(true);\n\t\t\tisFormValid = false;\n\t\t} else {\n\t\t\tsetHasTooManyArtists(false);\n\t\t}\n\n\t\tif (watchArtistes.length === 0) \n\t\t\tisFormValid = false;\n\n\t\tconst isValid = etapesFromForm != null && etapesFromForm.some((etape:EtapesFromForm) =>\n\t\t\t(etape.escale.aller.boolean !== undefined &&\n\t\t\tetape.escale.retour.boolean !== undefined) ||\n\t\t\t((etape.escale.aller.boolean === \"true\" && etape.escale.aller.pays !== undefined) ||\n\t\t\t(etape.escale.retour.boolean === \"true\" && etape.escale.retour.pays !== undefined))\n\t\t);\n\n\t\treturn (isValid && isFormValid);\n\t}\n\n\tuseImperativeHandle(ref, () => ({\n\t\tasync validateAndSend(): Promise {\n\t\t\tlet result = await triggerValidation();\n\t\t\tlet resultValidateDestination = checkValidationDestination();\n\n\t\t\tif (resultValidateDestination === false)\n\t\t\t\treturn false;\n\n\t\t\tif (result) {\n\t\t\t\tlet dataToSend: CreateOrUpdateTrajetDto = {};\n\t\t\t\tlet etapesToSend:CreateOrUpdateEtapeDto[] = [];\n\t\t\t\tdataToSend.artisteIds = getValues().artistes.map((e:AdelOption) => e.value);\n\n\t\t\t\tif (currentFormMode === TrajetsFormMode.IS_CREATION) {\n\t\t\t\t\tlet depart:CreateOrUpdateEtapeDto = createDepart();\n\t\t\t\t\tlet arrivee:CreateOrUpdateEtapeDto = createArrivee();\n\t\t\t\t\tlet etapes:CreateOrUpdateEtapeDto[] = createEtapes();\n\t\t\t\t\tdataToSend.etapes = trajetToSend(etapesToSend, depart, arrivee, etapes);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tlet start:CreateOrUpdateEtapeDto = createDepart(depart);\n\t\t\t\t\tlet finish:CreateOrUpdateEtapeDto = createArrivee(arrivee);\n\t\t\t\t\tlet steps:CreateOrUpdateEtapeDto[] = createEtapes(etapes);\n\t\t\t\t\tdataToSend.etapes = trajetToSend(etapesToSend, start, finish, steps);\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tif (currentFormMode === TrajetsFormMode.IS_CREATION) {\n\t\t\t\t\t\tawait dossierClient.createTrajet(dossierId, dataToSend);\n\t\t\t\t\t} else if (currentFormMode === TrajetsFormMode.IS_EDIT) {\n\t\t\t\t\t\tawait dossierClient.updateTrajet(trajetSelected.id, dataToSend);\n\t\t\t\t\t}\n\t\t\t\t\tcloseView();\n\t\t\t\t\treturn true;\n\t\t\t\t} catch (error) {\n\t\t\t\t\tif (error.exception?.message)\n\t\t\t\t\t\ttoast.error(error.exception.message);\n\t\t\t\t\telse\n\t\t\t\t\t\ttoast.error(t(\"errors.default\"));\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}));\n\n\tconst trajetToSend = (etapesToSend:CreateOrUpdateEtapeDto[],\n\t\tdepart:CreateOrUpdateEtapeDto,\n\t\tarrivee:CreateOrUpdateEtapeDto,\n\t\tetapes:CreateOrUpdateEtapeDto[]) => {\n\n\t\tetapesToSend.push(depart); // depart = order 1\n\n\t\tlet index = 1;\n\t\tconst stepArray = etapes.map((e:CreateOrUpdateEtapeDto) => {\n\t\t\tindex++;\n\t\t\treturn {...e, order: index};\n\t\t});\n\t\tetapesToSend = etapesToSend.concat(stepArray);\n\n\t\tarrivee = {...arrivee, order: index+1 }\n\t\tetapesToSend.push(arrivee);\n\n\t\treturn etapesToSend;\n\t}\n\n\tconst createDepart = (step?:EtapeDto) => {\n\t\tlet depart:CreateOrUpdateEtapeDto = {\n\t\t\tpaysId: getValues(\"depart.pays\").id ? getValues(\"depart.pays\").id : getValues(\"depart.pays\").value.id,\n\t\t\ttypeTransport: getValues(\"depart.transport\"),\n\t\t\torder: 1\n\t\t};\n\t\tif (step)\n\t\t\tdepart = {...depart, id: step.id }\n\n\t\treturn depart;\n\t}\n\n\tconst createArrivee = (step?:EtapeDto) => {\n\t\tlet arrivee:CreateOrUpdateEtapeDto = {\n\t\t\tpaysId: getValues(\"arrivee.pays\").id ? getValues(\"arrivee.pays\").id : getValues(\"arrivee.pays\").value.id,\n\t\t\ttypeTransport: getValues(\"arrivee.transport\")\n\t\t};\n\t\tif (step)\n\t\t\tarrivee = {...arrivee, id: step.id }\n\n\t\treturn arrivee;\n\t}\n\n\tconst createEtapes = (steps?:EtapeDto[]) => {\n\t\tlet etapesFromForm = getValues({nest:true}).etapes;\n\t\treturn etapesFromForm.map((etape:EtapesFromForm, i:number) => {\n\t\t\tif(steps && steps.length > 0 && steps[i] && !steps[i].id.includes('TEMPORARY_')) {\n\t\t\t\treturn {\n\t\t\t\t\tescaleRetourPaysId: (etape.escale.retour.pays as PaysDto)?.id\n\t\t\t\t\t\t\t\t\t\t|| (etape.escale.retour.pays as AdelOption)?.value.id\n\t\t\t\t\t\t\t\t\t\t|| null,\n\t\t\t\t\tescaleAllerPaysId: (etape.escale.aller.pays as PaysDto)?.id\n\t\t\t\t\t\t\t\t\t\t|| (etape.escale.aller.pays as AdelOption)?.value.id\n\t\t\t\t\t\t\t\t\t\t|| null,\n\t\t\t\t\ttypeTransport: etape.transport,\n\t\t\t\t\tpaysId: (etape.pays as PaysDto).id || (etape.pays as AdelOption).value.id,\n\t\t\t\t\tid: steps[i].id\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treturn {\n\t\t\t\t\tescaleRetourPaysId: (etape.escale.retour.pays as PaysDto)?.id\n\t\t\t\t\t\t\t\t\t\t|| (etape.escale.retour.pays as AdelOption)?.value.id\n\t\t\t\t\t\t\t\t\t\t|| null,\n\t\t\t\t\tescaleAllerPaysId: (etape.escale.aller.pays as PaysDto)?.id\n\t\t\t\t\t\t\t\t\t\t|| (etape.escale.aller.pays as AdelOption)?.value.id\n\t\t\t\t\t\t\t\t\t\t|| null,\n\t\t\t\t\ttypeTransport: etape.transport,\n\t\t\t\t\tpaysId: (etape.pays as PaysDto).id || (etape.pays as AdelOption).value.id,\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\n\treturn (
\n\t\t
\n\t\t\t
closeView()}>\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{t(\"createFolder.trajets.back\")}\n\t\t\t\t\n\t\t\t
\n\t\t\t

{t(\"createFolder.trajets.title\")}

\n\t\t
\n\t\t
\n\t\t\t

{t(\"createFolder.trajets.listColumns.depart\")}

\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t

{t(\"createFolder.trajets.listColumns.etape\")}

\n\t\t\t{hasNoDestination &&\n\t\t\t\t
{t(\"createFolder.trajets.no-destination\")}
\n\t\t\t}\n\t\t\t{etapes.length > 0 && etapes.map((e:EtapeDto, i:number) => {\n\t\t\t\treturn
\n\t\t\t\t\t

\n\t\t\t\t\t\t{t(\"createFolder.trajets.form.etape\")} {i+1}\n\t\t\t\t\t\t { removeEtape(e.id) }}>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t

\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t})}\n\t\t\t
{ addEtape() }}>\n\t\t\t\t{t(\"createFolder.trajets.addStep\")}\n\t\t\t
\n\t\t
\n\t\t
\n\t\t\t

{t(\"createFolder.trajets.listColumns.arrivee\")}

\n\t\t\t\n\t\t
\n\t\t
\n\t\t\t

{t(\"createFolder.trajets.listColumns.artistes\")}

\n\t\t\t{hasTooManyArtists &&\n\t\t\t\t
{t(\"createFolder.trajets.form.too-many-artists\")}
\n\t\t\t}\n\t\t\t{!watchArtistes &&\n\t\t\t\t
{t(\"createFolder.trajets.form.no-empty-artist\")}
\n\t\t\t}\n\t\t\t
\n\t\t\t\t (\n\t\t\t\t\t\t // string[]\n\t\t\t\t\t\t\tname={name}\n\t\t\t\t\t\t\tlabel={t('createFolder.trajets.form.artistes')}\n\t\t\t\t\t\t\tclassname=\"inputSelect inputSelect--fullWidth inputSelect--multi\"\n\t\t\t\t\t\t\toptions={artisteOptions}\n\t\t\t\t\t\t\terrors={errors}\n\t\t\t\t\t\t\tonChange={(value) => onChange(value) }\n\t\t\t\t\t\t\tselectAll={`${t('createFolder.trajets.form.all-artistes')}`}\n\t\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\t\tisMulti\n\t\t\t\t\t\t\tplaceholder={t(\"common.select\")}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\trules={trajetValidator && trajetValidator[\"ArtisteIds\"]}\n\t\t\t\t/>\n\t\t\t
\n\t\t
\n\t
)\n});\n\nexport default EditTrajet;\n","import React, { useState, useCallback, useEffect } from 'react';\nimport { useTranslation } from 'react-i18next';\n\ninterface EscaleCheckboxProps {\n\tname: string;\n\treference?: any;\n\tonChange: (value:React.ChangeEvent) => void;\n\tvalue?:string;\n}\n\nconst EscaleCheckbox: React.FC = ({\n\tname,\n\treference,\n\tonChange,\n\tvalue\n}) => {\n\tconst { t } = useTranslation();\n\t\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t onChange(e)}\n\t\t\t\t\t\tchecked={value === \"true\"}\n\t\t\t\t\t/>\n\t\t\t\t\t\n\t\t\t\t
\n\n\t\t\t\t
\n\t\t\t\t\t onChange(e)}\n\t\t\t\t\t/>\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t);\n}\n\nexport default EscaleCheckbox;","import Input from 'adel-shared/dist/components/basics/Input';\nimport InputSelect, { AdelOption } from 'adel-shared/dist/components/basics/InputSelect';\nimport React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { Controller } from 'react-hook-form';\nimport { useTranslation } from 'react-i18next';\nimport { Dictionary } from '../../../../models';\nimport { PaysDto, TypeTransport } from '../../../../services/generated/FrontOffice-api';\nimport { CategorieLieu } from './EditTrajet';\nimport EscaleCheckbox from './EscaleCheckbox';\n\ninterface RenderTrajetBlockProps {\n\tname:string;\n\tisDepart: boolean;\n\tisDestination: boolean;\n\tcontrol: any;\n\terrors?: any;\n\twatch: any;\n\tsetValue?:any;\n\tetapeValidator: Dictionary;\n\tpaysList?: PaysDto[];\n\tpaysPrestations?: PaysDto[];\n\tpaysFull: PaysDto[];\n\n\tisSelectWithoutCar: boolean;\n\tsetIsSelectWithoutCar: (value:boolean) => void;\n}\n\nconst RenderTrajetBlock: React.FC = ({\n\tname,\n\tisDepart,\n\tisDestination,\n\tpaysList,\n\tpaysFull,\n\tpaysPrestations,\n\twatch,\n\tcontrol,\n\terrors,\n\tsetValue,\n\tisSelectWithoutCar,\n\tsetIsSelectWithoutCar,\n\tetapeValidator,\n}) => {\n\tconst { t } = useTranslation();\n\tconst [selectedTransport, setSelectedTransport] = useState();\n\tconst watchPaysDepart = watch(`depart.pays`);\n\n\tconst watchAller = watch(`${name}.${CategorieLieu.Escale}.aller.boolean`);\n\tconst watchRetour = watch(`${name}.${CategorieLieu.Escale}.retour.boolean`);\n\n\tconst watchPaysAller = watch(`${name}.${CategorieLieu.Escale}.aller.pays`);\n\tconst watchPaysRetour = watch(`${name}.${CategorieLieu.Escale}.retour.pays`);\n\n\tconst [paysOptionsFull, setPaysOptionsFull] = useState[]>([]);\n\tconst [paysOptions, setPaysOptions] = useState[]>([]);\n\n\n\t/** Pays Option */\n\tuseEffect(() => {\n\t\tlet array:AdelOption[] = [];\n\n\t\tif (paysList) {\n\t\t\tif (isDepart) {\n\t\t\t\tarray = paysList && paysList.sort((a, b) => a.nom.localeCompare(b.nom))\n\t\t\t\t\t\t.filter(e => e.estAimable || e.nom === \"FRANCE\")\n\t\t\t\t\t\t.map((element: PaysDto) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tvalue: element,\n\t\t\t\t\t\tlabel: element.nom\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tarray = paysList && paysList.sort((a, b) => a.nom.localeCompare(b.nom))\n\t\t\t\t\t\t.filter(e => e.nom === \"FRANCE\" || watchPaysDepart?.id === e.id)\n\t\t\t\t\t\t.map((element: PaysDto) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tvalue: element,\n\t\t\t\t\t\tlabel: element.nom\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\tsetPaysOptions(array);\n\t\t} else if (paysPrestations) {\n\t\t\tarray = paysPrestations && paysPrestations.sort((a, b) => a.nom.localeCompare(b.nom)).map(function (element: PaysDto) {\n\t\t\t\treturn {\n\t\t\t\t\tvalue: element,\n\t\t\t\t\tlabel: element.nom\n\t\t\t\t}\n\t\t\t});\n\t\t\tsetPaysOptions(array);\n\t\t}\n\n\t}, [paysList, paysPrestations, watchPaysDepart]);\n\n\tuseEffect(() => {\n\t\tif (paysFull) {\n\t\t\tsetPaysOptionsFull(paysFull.sort((a, b) => a.nom.localeCompare(b.nom))\n\t\t\t\t.map((element: PaysDto) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tvalue: element,\n\t\t\t\t\t\tlabel: element.nom\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\t}, [paysFull]);\n\n\tuseEffect(() => {\n\t\tif(setValue && !isDepart && !isDestination)\n\t\t\tsetValue(`${name}.pays`, watchPaysDepart);\n\t}, [watchPaysDepart]);\n\n\n\n\t/** Type transports */\n\tconst transportOptions: AdelOption[] = useMemo(() => {\n\t\tlet allOptions: AdelOption[] = [];\n\t\tfor (let statut in TypeTransport) {\n\t\t\tif (statut !== \"None\") {\n\t\t\t\tallOptions.push(\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: TypeTransport[statut as keyof typeof TypeTransport],\n\t\t\t\t\t\tlabel: t(`common.typeTransport.${TypeTransport[statut as keyof typeof TypeTransport]}`)\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t}\n\t\t}\n\t\treturn allOptions;\n\t}, []);\n\n\tconst transportNoCarOptions: AdelOption[] = useMemo(() => {\n\t\tlet allOptions: AdelOption[] = [];\n\t\tfor (let statut in TypeTransport) {\n\t\t\tif (statut !== \"None\" && statut !== \"Voiture\") {\n\t\t\t\tallOptions.push(\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: TypeTransport[statut as keyof typeof TypeTransport],\n\t\t\t\t\t\tlabel: t(`common.typeTransport.${TypeTransport[statut as keyof typeof TypeTransport]}`)\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t}\n\t\t}\n\t\treturn allOptions;\n\t}, []);\n\n\tconst transportOnlyCarOptions: AdelOption[] = useMemo(() => {\n\t\tlet allOptions: AdelOption[] = [];\n\t\tfor (let statut in TypeTransport) {\n\t\t\tif (statut === \"Voiture\") {\n\t\t\t\tallOptions.push(\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: TypeTransport[statut as keyof typeof TypeTransport],\n\t\t\t\t\t\tlabel: t(`common.typeTransport.${TypeTransport[statut as keyof typeof TypeTransport]}`)\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t}\n\t\t}\n\t\treturn allOptions;\n\t}, []);\n\n\tconst renderSelect = useMemo(() => {\n\t\tif(isSelectWithoutCar) {\n\t\t\treturn (\n\t\t\t\t (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tname={name}\n\t\t\t\t\t\t\tlabel={t('createFolder.trajets.form.transport')}\n\t\t\t\t\t\t\tclassname=\"inputSelect\"\n\t\t\t\t\t\t\toptions={transportOnlyCarOptions}\n\t\t\t\t\t\t\terrors={errors}\n\t\t\t\t\t\t\tonChange={(selectedTransport) => {\n\t\t\t\t\t\t\t\tonChange(selectedTransport);\n\t\t\t\t\t\t\t\tsetSelectedTransport(selectedTransport);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\t\tplaceholder={t(\"common.select\")}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\trules={etapeValidator && etapeValidator[\"TypeTransport\"]}\n\t\t\t\t/>\n\t\t\t);\n\t\t} else {\n\t\t\treturn(\n\t\t\t (\n\t\t\t\t\t\n\t\t\t\t\t\tname={name}\n\t\t\t\t\t\tlabel={t('createFolder.trajets.form.transport')}\n\t\t\t\t\t\tclassname=\"inputSelect\"\n\t\t\t\t\t\toptions={transportNoCarOptions}\n\t\t\t\t\t\terrors={errors}\n\t\t\t\t\t\tonChange={(selectedTransport) => {\n\t\t\t\t\t\t\tonChange(selectedTransport);\n\t\t\t\t\t\t\tsetSelectedTransport(selectedTransport);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\tplaceholder={t(\"common.select\")}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\trules={etapeValidator && etapeValidator[\"TypeTransport\"]}\n\t\t\t/>\n\t\t)}\n\t}, [isSelectWithoutCar, transportOptions, control, name, errors]);\n\n\n\treturn (\n\t\t<>\n\t\t\t
\n\t\t\t\t (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tname={name}\n\t\t\t\t\t\t\tlabel={t('createFolder.trajets.form.pays')}\n\t\t\t\t\t\t\tclassname=\"inputSelect\"\n\t\t\t\t\t\t\toptions={paysOptions}\n\t\t\t\t\t\t\terrors={errors}\n\t\t\t\t\t\t\tonChange={(p) => onChange(p)}\n\t\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\t\tisSearchable={true}\n\t\t\t\t\t\t\tplaceholder={t(\"common.select\")}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\trules={etapeValidator && etapeValidator[\"PaysId\"]}\n\t\t\t\t/>\n\t\t\t\t{isDepart \n\t\t\t\t\t? (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tname={name}\n\t\t\t\t\t\t\t\tlabel={t('createFolder.trajets.form.transport')}\n\t\t\t\t\t\t\t\tclassname=\"inputSelect\"\n\t\t\t\t\t\t\t\toptions={transportOptions}\n\t\t\t\t\t\t\t\tplaceholder={t(\"common.select\")}\n\t\t\t\t\t\t\t\terrors={errors}\n\t\t\t\t\t\t\t\tonChange={(selectedTransport) => {\n\t\t\t\t\t\t\t\t\tonChange(selectedTransport);\n\t\t\t\t\t\t\t\t\tif(selectedTransport === TypeTransport.Voiture) {\n\t\t\t\t\t\t\t\t\t\tsetIsSelectWithoutCar(true);\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tsetIsSelectWithoutCar(false);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tsetSelectedTransport(selectedTransport);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\trules={etapeValidator && etapeValidator[\"TypeTransport\"]}\n\t\t\t\t\t/> \n\t\t\t\t\t: renderSelect\n\t\t\t\t}\n\t\t\t
\n\n\t\t\t{!isDepart && isDestination &&\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

{t('createFolder.trajets.aller')}

\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tname={name}\n\t\t\t\t\t\t\t\t\t\t\tlabel={t('createFolder.trajets.form.pays')}\n\t\t\t\t\t\t\t\t\t\t\tclassname=\"inputSelect\"\n\t\t\t\t\t\t\t\t\t\t\toptions={paysOptionsFull}\n\t\t\t\t\t\t\t\t\t\t\terrors={errors}\n\t\t\t\t\t\t\t\t\t\t\tonChange={(p) => onChange(p)}\n\t\t\t\t\t\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\t\t\t\t\t\tisSearchable={true}\n\t\t\t\t\t\t\t\t\t\t\tplaceholder={t(\"common.select\")}\n\t\t\t\t\t\t\t\t\t\t\tisDisabled={watchAller === \"false\" || watchAller === undefined}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{(watchAller === \"true\" && watchPaysAller === undefined) &&

{t(\"validation-messages.required-country\")}

}\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t{(watchAller !== \"true\" && watchAller !== \"false\") &&

{t(\"validation-messages.required-response\")}

}\t\t\t\t\t\t\n\t\t\t\t\t
\n\n\t\t\t\t\t
\n\t\t\t\t\t\t

{t('createFolder.trajets.retour')}

\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tname={name}\n\t\t\t\t\t\t\t\t\t\t\tlabel={t('createFolder.trajets.form.pays')}\n\t\t\t\t\t\t\t\t\t\t\tclassname=\"inputSelect\"\n\t\t\t\t\t\t\t\t\t\t\toptions={paysOptionsFull}\n\t\t\t\t\t\t\t\t\t\t\terrors={errors}\n\t\t\t\t\t\t\t\t\t\t\tonChange={(p) => onChange(p)}\n\t\t\t\t\t\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\t\t\t\t\t\tisSearchable={true}\n\t\t\t\t\t\t\t\t\t\t\tplaceholder={t(\"common.select\")}\n\t\t\t\t\t\t\t\t\t\t\tisDisabled={watchRetour === \"false\" || watchRetour === undefined}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{(watchRetour === \"true\" && watchPaysRetour === undefined) &&

{t(\"validation-messages.required-country\")}

}\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t{(watchRetour !== \"true\" && watchRetour !== \"false\") &&

{t(\"validation-messages.required-response\")}

}\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t}\n\t\t\n\t);\n}\n\nexport default RenderTrajetBlock;","import FormButton from 'adel-shared/dist/components/basics/FormButton';\nimport InputFileSingle, { DocumentWithFile } from 'adel-shared/dist/components/basics/InputFileSingle';\nimport Table, { styleTable } from 'adel-shared/dist/components/basics/Table';\nimport _ from 'lodash';\nimport React, { forwardRef, useContext, useEffect, useImperativeHandle, useMemo, useRef, useState } from \"react\";\nimport { useForm } from 'react-hook-form';\nimport { useTranslation } from 'react-i18next';\nimport Loader from 'react-loader-spinner';\nimport { useSortBy, useTable } from 'react-table';\nimport { toast } from 'react-toastify';\nimport { RouteComponentProps } from '@reach/router';\nimport { AdelDossierClient } from '../../../clients/AdelDossierClient';\nimport { AppStateContext } from '../../../context/AppContext';\nimport { useAxios } from '../../../custom-hooks/useAxios';\nimport useValidation from '../../../custom-hooks/useValidation';\nimport { DocumentUploadInfoDto, DossierClient, TrajetDto, TrajetViewModelDto } from '../../../services/generated/FrontOffice-api';\nimport EditTrajet, { EditTrajetRef } from './trajets/EditTrajet';\nimport ModaldeleteTrajet from './trajets/ModalDeleteTrajet';\n\nenum View {\n\tList = \"List\",\n\tEdit = \"Edit\"\n}\n\nexport enum TrajetsFormMode {\n\tIS_CREATION = 1,\n\tIS_EDIT = 3\n}\n\ninterface TrajetsTable {\n\tid: string;\n\tdepart: string;\n\tetape: string;\n\tarrivee: string;\n\tartistes: string;\n}\n\ninterface TrajetsProps extends RouteComponentProps {\n\tref: any,\n\tsetCanGoNext: (value: boolean) => void;\n\tisLoading?: boolean;\n\tsetIsLoading: (value: boolean) => void;\n\tsetEditMode: (value: boolean) => void;\n\tsetIsFormValid: (value: boolean) => void;\n}\n\nconst Trajets: React.FunctionComponent = forwardRef((props, ref) => {\n\tconst [{currentEditingDossier: dossier}] = useContext(AppStateContext);\n\tconst { t } = useTranslation(); const axiosInstance = useAxios();\n\tconst dossierClient = useMemo(() => { return new DossierClient(\"\", axiosInstance) }, [axiosInstance]);\n\tconst adelDossierClient = new AdelDossierClient(\"\", axiosInstance);\n\n\tconst trajetsRef: React.MutableRefObject = useRef(null);\n\tconst [currentView, setCurrentView] = useState(View.List);\n\tconst [currentFormMode, setCurrentFormMode] = useState(TrajetsFormMode.IS_CREATION);\n\n\tconst [trajets, setTrajets] = useState([]);\n\tconst [trajetsTable, setTrajetsTable] = useState([]);\n\tconst [trajetSelected, setTrajetSelected] = useState();\n\tconst [trajetDeleteId, setTrajetDeleteId] = useState();\n\tconst [document, setDocument] = useState();\n\n\tconst [showDeleteTrajet, setShowDeleteTrajet] = useState(false);\n\tconst [isTableLoading, setIsTableLoading] = useState(false);\n\n\tconst { getRootValidator } = useValidation();\n\tconst trajetValidator = getRootValidator(\"CreateOrUpdateTrajetDto\");\n\tconst etapeValidator = getRootValidator(\"CreateOrUpdateEtapeDto\");\n\tconst escaleValidator = getRootValidator(\"CreateOrUpdateEscaleDto\");\n\n\tconst { register, errors, triggerValidation } = useForm({});\n\n\n\t/** Salarié */\n\tuseEffect(() => {\n\t\tif (!dossier.id) return;\n\t\tprops.setCanGoNext(true);\n\t}, [dossier.id]);\n\n\t/** Trajets */\n\tconst [sort, setSort] = useState(\"\");\n\tconst [filters, setFilters] = useState(\"\");\n\tconst [page, setPage] = useState(1);\n\tconst [pageSize, setPageSize] = useState(1000);\n\tconst [disabledPagination, setDisabledPagination] = useState(false);\n\n\t// UseMemo to save the debounce function in memory when component is re-rendered\n\tconst debounceFetchTrajets = useMemo(() => _.debounce((\n\t\tdossierId: string,\n\t\tfilters: string,\n\t\tsort: string,\n\t\tpage: number,\n\t\tpageSize: number,\n\t\tdisabledPagination: boolean\n\t) => {\n\t\tsetIsTableLoading(true);\n\t\tdossierClient.getTrajets(\n\t\t\tdossierId,\n\t\t\tfilters,\n\t\t\tsort,\n\t\t\tpage,\n\t\t\tpageSize,\n\t\t\tdisabledPagination,\n\t\t\tundefined\n\t\t).then((result: TrajetViewModelDto) => {\n\t\t\tsetTable(result.trajets.items);\n\t\t\tif(result.document) {\n\t\t\t\tsetDocument({fileName: result.document.fileName, id: result.document.id});\n\t\t\t}\n\t\t\tsetIsTableLoading(false);\n\t\t});\n\t}, 1000), []);\n\n\tuseEffect(() => {\n\t\tdebounceFetchTrajets(\n\t\t\tdossier.id,\n\t\t\tfilters,\n\t\t\tsort,\n\t\t\tpage,\n\t\t\tpageSize,\n\t\t\tdisabledPagination\n\t\t);\n\t}, [filters, sort, page, pageSize, disabledPagination]);\n\n\tconst setTable = (trajets: TrajetDto[]) => {\n\t\tsetTrajets(trajets);\n\t\tlet result: TrajetsTable[] = [];\n\n\t\tfor (let trajet of trajets) {\n\t\t\tlet arrivee = trajet.etapes[trajet.etapes?.length - 1] && trajet.etapes[trajet.etapes?.length - 1].pays.nom;\n\t\t\tlet step = trajet.etapes?.length > 2 ? trajet.etapes?.slice(1, trajet.etapes.length-1) : [];\n\t\t\tlet destinations = step.map(e => e.pays.nom).join(\", \");\n\n\t\t\tlet item:TrajetsTable = {\n\t\t\t\tid: trajet.id,\n\t\t\t\tdepart: trajet.etapes[0]?.pays.nom as string,\n\t\t\t\tetape: destinations,\n\t\t\t\tarrivee: arrivee as string,\n\t\t\t\tartistes: trajet.artistes.map(e => e.fullName).join(\", \")\n\t\t\t}\n\t\t\tresult.push(item);\n\t\t}\n\t\tsetTrajetsTable(result);\n\t}\n\n\n\n\t/** Pour le bouton Valider de CreationDossier */\n\tuseEffect(() => {\n\t\tswitch (currentView) {\n\t\t\tcase View.List:\n\t\t\t\tprops.setEditMode(false);\n\t\t\t\tdebounceFetchTrajets(\n\t\t\t\t\tdossier.id,\n\t\t\t\t\tfilters,\n\t\t\t\t\tsort,\n\t\t\t\t\tpage,\n\t\t\t\t\tpageSize,\n\t\t\t\t\tdisabledPagination\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase View.Edit:\n\t\t\t\tprops.setEditMode(true);\n\t\t\t\tbreak;\n\t\t}\n\t}, [currentView]);\n\n\n\n\t/** Trajets actions */\n\tconst editTrajet = async (id:string) => {\n\t\tprops.setIsLoading(true);\n\t\ttry {\n\t\t\tconst result = await dossierClient.getTrajets(\n\t\t\t\tdossier.id,\n\t\t\t\tfilters,\n\t\t\t\tsort,\n\t\t\t\tpage,\n\t\t\t\tpageSize,\n\t\t\t\tdisabledPagination,\n\t\t\t\tundefined\n\t\t\t);\n\t\t\tsetTrajetSelected(result.trajets.items.find((e:TrajetDto) => e.id === id));\n\t\t\tsetCurrentFormMode(TrajetsFormMode.IS_EDIT);\n\t\t\tsetCurrentView(View.Edit);\n\t\t} catch(error) {\n\t\t\tif (error.exception?.message)\n\t\t\t\ttoast.error(error.exception.message);\n\t\t}\n\t\tprops.setIsLoading(false);\n\t}\n\n\tconst openDeleteTrajet = (id:string) => {\n\t\tsetTrajetDeleteId(id);\n\t\tsetShowDeleteTrajet(true);\n\t}\n\n\tconst deleteTrajet = async () => {\n\t\tsetShowDeleteTrajet(false);\n\t\tprops.setIsLoading(true);\n\t\ttry {\n\t\t\tawait dossierClient.deleteTrajet(trajetDeleteId);\n\t\t\tawait debounceFetchTrajets(\n\t\t\t\tdossier.id,\n\t\t\t\tfilters,\n\t\t\t\tsort,\n\t\t\t\tpage,\n\t\t\t\tpageSize,\n\t\t\t\tdisabledPagination\n\t\t\t);\n\t\t} catch(error) {\n\t\t\tif (error.exception?.message)\n\t\t\t\ttoast.error(error.exception.message);\n\t\t\telse\n\t\t\t\ttoast.error(t(\"errors.default\"));\n\t\t}\n\t\tsetTrajetDeleteId(undefined);\n\t\tprops.setIsLoading(false);\n\t}\n\n\n\t/** Table setup */\n\tconst columns = React.useMemo(() => { // VFA : Je n'arrive pas à trouver le type exact de cet objet... Je laisse en any T_T\n\treturn [{\n\t\tHeader: \"Table\",\n\t\tcolumns: [\n\t\t\t{ Header: \"Id\", accessor: \"id\", disableSortBy: true },\n\t\t\t{ Header: t('createFolder.trajets.listColumns.depart'), accessor: \"depart\", disableSortBy: true },\n\t\t\t{ Header: t('createFolder.trajets.listColumns.etape'), accessor: \"etape\", disableSortBy: true },\n\t\t\t{ Header: t('createFolder.trajets.listColumns.arrivee'), accessor: \"arrivee\", disableSortBy: true },\n\t\t\t{ Header: t('createFolder.trajets.listColumns.artistes'), accessor: \"artistes\", disableSortBy: true },\n\t\t\t{\n\t\t\t\tHeader: \"\", accessor: \"Actions\", disableSortBy: true,\n\t\t\t\tCell: (value: any) => (\n\t\t\t\t\t\n\t\t\t\t\t\t
{ editTrajet(value.cell.row.values.id) }}>
\n\t\t\t\t\t\t
{ openDeleteTrajet(value.cell.row.values.id) }}>
\n\t\t\t\t\t
\n\t\t\t\t)}\n\t\t\t]\n\t\t}];\n\t}, []);\n\n\tconst { getTableProps, getTableBodyProps, headerGroups, rows, prepareRow, state } = useTable({\n\t\tcolumns: columns,\n\t\tdata: trajetsTable,\n\t\tinitialState: { hiddenColumns: [\"id\"] },\n\t}, useSortBy);\n\n\n\n\t/** View List mode */\n\tconst listView = () => {\n\t\treturn (\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t

{t(\"createFolder.menu.trajets\")}

\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\tsetCurrentView(View.Edit);\n\t\t\t\t\t\t\t\tsetCurrentFormMode(TrajetsFormMode.IS_CREATION);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t{\n\t\t\t\t\t\tisTableLoading\n\t\t\t\t\t\t?
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t: \n\t\t\t\t\t}\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t {setDocument(e)}}\n\t\t\t\t\t\t\t\tcurrentValue={document}\n\t\t\t\t\t\t\t\tname=\"document\"\n\t\t\t\t\t\t\t\treference={register({ required: `${t(\"validation-messages.required-document\")}` })}\n\t\t\t\t\t\t\t\terrorMessage={errors}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t setShowDeleteTrajet(false)}\n\t\t\t\t\tonValidate={() => deleteTrajet()}\n\t\t\t\t\tisLoading={props.isLoading}\n\t\t\t\t/>\n\t\t\t
\n\t\t)\n\t}\n\n\t/** Views */\n\tconst renderSwitchView = () => {\n\t\tswitch (currentView) {\n\t\t\tcase View.List:\n\t\t\t\treturn listView();\n\t\t\tcase View.Edit:\n\t\t\t\treturn {\n\t\t\t\t\t\tsetCurrentView(View.List);\n\t\t\t\t\t\tsetCurrentFormMode(TrajetsFormMode.IS_CREATION)\n\t\t\t\t\t}}\n\t\t\t\t\tdossierId={dossier.id}\n\t\t\t\t\tcurrentFormMode={currentFormMode}\n\t\t\t\t\ttrajetSelected={trajetSelected}\n\t\t\t\t\ttrajetValidator={trajetValidator}\n\t\t\t\t\tetapeValidator={etapeValidator}\n\t\t\t\t\tescaleValidator={escaleValidator}\n\t\t\t\t/>\n\t\t}\n\t}\n\n\tuseImperativeHandle(ref, () => ({\n\t\tasync validateForm(): Promise {\n\t\t\tprops.setIsLoading(true);\n\n\t\t\ttry {\n\t\t\t\tswitch (currentView) {\n\t\t\t\t\tcase View.List:\n\t\t\t\t\t\tconst result = await triggerValidation();\n\n\t\t\t\t\t\tif(result) {\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tlet documentToSend:DocumentUploadInfoDto = {partName: \"document\"};\n\t\t\t\t\t\t\t\tif (document.id) {\n\t\t\t\t\t\t\t\t\tdocumentToSend = {...documentToSend, id: document.id}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tconst validationResult = await adelDossierClient.validateTrajets(\n\t\t\t\t\t\t\t\t\tdossier.id,\n\t\t\t\t\t\t\t\t\t{document: documentToSend},\n\t\t\t\t\t\t\t\t\t{document: !document.id && document.file}\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tif (validationResult.dossierWithoutTrajet) {\n\t\t\t\t\t\t\t\t\ttoast.error(t('createFolder.trajets.validation.dossierWithoutTrajet'));\n\t\t\t\t\t\t\t\t\tprops.setIsLoading(false);\n\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t} else if (validationResult.noTrajetFromAimableToAimable) {\n\t\t\t\t\t\t\t\t\ttoast.error(t('createFolder.trajets.validation.noTrajetFromAimableToAimable'));\n\t\t\t\t\t\t\t\t\tprops.setIsLoading(false);\n\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t} else if (validationResult.trajetWithoutArtiste) {\n\t\t\t\t\t\t\t\t\ttoast.error(t('createFolder.trajets.validation.trajetWithoutArtiste'));\n\t\t\t\t\t\t\t\t\tprops.setIsLoading(false);\n\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tprops.setIsLoading(false);\n\t\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} catch(error) {\n\t\t\t\t\t\t\t\tif (error.exception?.message)\n\t\t\t\t\t\t\t\t\ttoast.error(error.exception.message);\n\t\t\t\t\t\t\t\tprops.setIsLoading(false);\n\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tprops.setIsLoading(false);\n\t\t\t\t\t\treturn false;\n\t\t\t\t\tcase View.Edit:\n\t\t\t\t\t\tif (trajetsRef && trajetsRef.current) {\n\t\t\t\t\t\t\tlet result = await trajetsRef.current.validateAndSend();\n\t\t\t\t\t\t\tprops.setIsLoading(false);\n\t\t\t\t\t\t\treturn result;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tprops.setIsLoading(false);\n\t\t\t\t\t\t\ttoast.error(\"trajetsRef undefined. Please contact your Dev Team.\");\n\t\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthrow \"currentView unknown. Please contact your Dev Team.\";\n\t\t\t} catch (error) {\n\t\t\t\tif (error.exception?.message)\n\t\t\t\t\ttoast.error(error.exception.message);\n\t\t\t\tprops.setIsLoading(false);\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t}\n\t}));\n\n\treturn (<>{renderSwitchView()});\n});\n\nexport default Trajets;","import React, { useEffect } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport Modal from 'react-modal';\nimport { modalSmallerCustomStyles } from '../../../../constants/config.constant';\nimport FormButton from 'adel-shared/dist/components/basics/FormButton';\nimport Loader from 'react-loader-spinner';\n\ninterface ModalDeleteTrajetProps {\n\tisOpen: boolean;\n\tonCancel: () => void;\n\tonValidate: () => void;\n\tisLoading?: boolean;\n}\n\nconst ModalDeleteTrajet: React.SFC = ({\n\tisOpen,\n\tonCancel,\n\tonValidate,\n\tisLoading\n}) => {\n\tconst { t } = useTranslation();\n\n useEffect(() => {\n Modal.setAppElement('body');\n\t}, []);\n\n\treturn (\n\t\n
\n

{t('createFolder.trajets.delete.title')}

\n
\n
\n\t\t\t
\n\t\t\t\t

{t('createFolder.trajets.delete.content')}

\n\t\t\t
\n
\n
\n onCancel()}\n />\n {isLoading\n ? \n : onValidate()}\n />}\n
\n );\n}\n\nexport default ModalDeleteTrajet;","import BigNumber from 'bignumber.js';\nimport { DepenseBlockViewModelDto, FinancementBlockViewModelDto } from '../services/generated/FrontOffice-api';\n\n\nexport const calculBlockBudget = (values:any, isDepense: boolean, itemViewModel:DepenseBlockViewModelDto | FinancementBlockViewModelDto, isIG: boolean, id?: string) => {\n\tlet totalBlock = new BigNumber(0);\n\n\tfor (const key in values) {\n\t\t\n\t\t// dataInput[0] => depenses ou financements\n\t\t// dataInput[1] => type\n\t\t// dataInput[2] => champ\n\t\t// dataInput[3] => montant ou intitulé\n\t\tconst dataInput = key.split('.');\n\t\tconst value = values[key] === \"\" ? 0 : values[key];\n\n\t\tif (dataInput[4] && dataInput[4] === id) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (isDepense) {\n\t\t\tif (dataInput[0] === 'depenses' && dataInput[1] === itemViewModel.type && dataInput[3] === 'montant' \n\t\t\t&& ((dataInput[2] != 'masseSalarialeArtistiqueEstimeeContratsVente' && isIG) || !isIG)) {\n\t\t\t\t\n\t\t\t\ttotalBlock = totalBlock.plus(value)\n\t\t\t}\n\t\t} else {\n\t\t\tif (dataInput[0] !== 'depenses' && dataInput[1] === itemViewModel.type && dataInput[3] === 'montant') {\n\t\t\t\ttotalBlock = totalBlock.plus(value)\n\t\t\t}\n\t\t}\n\t}\n\n\treturn totalBlock.toNumber();\n}\n\nexport const calculDepensesBudget = (values:any) => {\n\tlet totalDepenses = new BigNumber(0);\n\n\tfor (const key in values) {\n\t\t// dataInput[0] => depenses ou financements\n\t\t// dataInput[1] => type\n\t\t// dataInput[2] => champ\n\t\t// dataInput[3] => montant ou intitulé\n\t\tconst dataInput = key.split('.');\n\t\tconst value = values[key] === \"\" ? 0 : values[key];\n\t\t\n\t\t/** Pour le total des dépenses */\n\t\tif (dataInput[0] === 'depenses' && dataInput[3] === 'montant') {\n\t\t\ttotalDepenses = totalDepenses.plus(value)\n\t\t}\n\t}\n\n\treturn totalDepenses.toNumber();\n}\n\nexport const calculFinancementsBudget = (values:any) => {\n\tlet totalFinances = new BigNumber(0);\n\n\tfor (const key in values) {\n\t\t// dataInput[0] => depenses ou financements\n\t\t// dataInput[1] => type\n\t\t// dataInput[2] => champ\n\t\t// dataInput[3] => montant ou intitulé\n\t\tconst dataInput = key.split('.');\n\t\tconst value = values[key] === \"\" ? 0 : values[key];\n\t\t\n\t\t/** Pour le total des financements */\n\t\tif (dataInput[0] !== 'depenses' && dataInput[3] === 'montant') {\n\t\t\ttotalFinances = totalFinances.plus(value)\n\t\t}\n\t}\n\n\treturn totalFinances.toNumber();\n}\n","import Input from 'adel-shared/dist/components/basics/Input';\nimport clsx from 'clsx';\nimport React, { useEffect, useState } from \"react\";\nimport { FormContextValues, ValidateResult, ValidationOptions } from 'react-hook-form';\nimport { useTranslation } from 'react-i18next';\nimport { IFileBudget } from '../../../../models/IFile';\nimport { DepenseViewModelDto, FinancementViewModelDto } from '../../../../services/generated/FrontOffice-api';\nimport Modal from '../../../basics/Modal';\nimport Textarea from '../../../basics/Textarea';\nimport { CommentChamp, ConfirmationMontantChamp } from '../Budget';\n\ninterface BudgetInputProps {\n\titem: DepenseViewModelDto|FinancementViewModelDto;\n\tmontant: () => void;\n\tform: FormContextValues;\n\tid: string;\n\tname: string;\n\tlabel?: string;\n\treadOnly?: boolean;\n\tisTypeOther?: boolean;\n\tindex?: number;\n\tisDepense: boolean;\n\tonCommentChange?: (id: string, value: any) => void;\n\tcommentsChamp: CommentChamp[];\n\tfiles: IFileBudget[];\n\tsetFiles: (value: IFileBudget[]) => void;\n\tdefaultConfirmationMontantChamp: ConfirmationMontantChamp[];\n\tonConfirmationMontantChange: (id: string, value: boolean) => void;\n\tonValidation: (value: string|number, name: string, min?: number, max?: number) => string | boolean;\n}\n\nconst BudgetInput: React.FunctionComponent = ({\n\titem,\n\tmontant,\n\tform: {\n\t\tsetValue,\n\t\tregister,\n\t\terrors\n\t},\n\tid,\n\tname,\n\tlabel,\n\treadOnly,\n\tisTypeOther,\n\tindex,\n\tisDepense,\n\tonCommentChange,\n\tcommentsChamp,\n\tfiles,\n\tsetFiles,\n\tdefaultConfirmationMontantChamp,\n\tonConfirmationMontantChange,\n\tonValidation\n}) => {\n\tconst { t } = useTranslation();\n\tconst [openComment, setOpenComment] = useState(false);\n\tconst [comment, setComment] = useState(\"\");\n\tconst [confirmationMontant, setConfirmationMontant] = useState(false);\n\tconst [file, setFile] = useState();\n\n\tconst idKeyOther = id !== \"\" ? name + \".montant.\" + id : name + \".montant.\" + index;\n\tconst idKey = name + \".montant\";\n\tconst montantMin = 'montantMin' in item ? item.montantMin : 0;\n\n\tuseEffect(() => {\n\t\t// Remplissage des infos venant de contrat cachet\n\t\tif (isDepense && (item as DepenseViewModelDto).montant !== undefined && (item as DepenseViewModelDto).montant >= 0) {\n\t\t\tsetValue(name + \".montant\", Math.round((item as DepenseViewModelDto).montant * 100) / 100)\n\t\t}\n\t\t// Remplissage des documents\n\t\tif (files && files.length > 0 && files.filter(doc => doc.partName === idKey)[0]) {\n\t\t\tsetFile(files.filter(doc => doc.partName === idKey)[0]);\n\t\t}\n\n\t}, [files, isDepense]);\n\n\n\tuseEffect(() => {\n\t\tinitializeComment();\n\t}, [openComment]);\n\n\n\t/** Validation par champ */\n\tconst customValidation: ValidationOptions = {\n validate: (data: number): ValidateResult => {\n const error = onValidation(data, name, montantMin, item.montantMax);\n if (error)\n return error;\n else\n return true;\n\t\t}\n\t};\n\n\t/** Commentaires */\n\tconst addComment = () => {\n\t\tif (comment.length <= 30) {\n\t\t\tif (isTypeOther) {\n\t\t\t\tonCommentChange(idKeyOther, comment);\n\t\t\t} else {\n\t\t\t\tonCommentChange(idKey, comment);\n\t\t\t}\n\t\t\tsetOpenComment(false);\n\t\t}\n\t}\n\n\tconst cancelComment = () => {\n\t\tconst commentChamp = [...commentsChamp];\n\n\t\tif (commentChamp.length > 0) {\n\t\t\tinitializeComment();\n\t\t} else {\n\t\t\tsetComment(\"\");\n\t\t}\n\t}\n\n\tconst initializeComment = () => {\n\t\tconst commentChamp = [...commentsChamp];\n\t\tlet data = \"\";\n\t\tconst currentCommKeyOther = commentChamp.filter(x => x.id === idKeyOther)[0];\n\t\tconst currentCommKey = commentChamp.filter(x => x.id === idKey)[0];\n\n\t\tif (commentChamp.length > 0) {\n\t\t\tif (isTypeOther) {\n\t\t\t\tif(currentCommKeyOther)\n\t\t\t\t\tdata = currentCommKeyOther.comment\n\t\t\t} else {\n\t\t\t\tif(currentCommKey) {\n\t\t\t\t\tdata = currentCommKey.comment;\n\t\t\t\t}\n\t\t\t}\n\t\t\tsetComment(data);\n\t\t}\n\t}\n\n\tuseEffect(() => {\n\t\tinitializeConfirmation(defaultConfirmationMontantChamp);\n\t}, [defaultConfirmationMontantChamp]);\n\n\tconst initializeConfirmation = (confChamp: ConfirmationMontantChamp[]) => {\n\t\tlet bool = false;\n\t\tconst currentConfKey = confChamp.find(x => x.id === idKey);\n\t\tconst currentConfKeyOther = confChamp.find(x => x.id === idKeyOther);\n\n\t\tif (confChamp.length > 0) {\n\t\t\tif (isTypeOther) {\n\t\t\t\tif(currentConfKeyOther)\n\t\t\t\t\tbool = currentConfKeyOther.confirmationMontant\n\t\t\t} else {\n\t\t\t\tif(currentConfKey) {\n\t\t\t\t\tbool = currentConfKey.confirmationMontant;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tsetConfirmationMontant(bool);\n\t}\n\n\tconst handleConfirmationMontant = () => {\n\t\tif (isTypeOther) {\n\t\t\tonConfirmationMontantChange(idKeyOther, !confirmationMontant);\n\t\t} else {\n\t\t\tonConfirmationMontantChange(idKey, !confirmationMontant);\n\t\t}\n\t\tsetConfirmationMontant(!confirmationMontant);\n\t}\n\n\n\t/** Fichier */\n\tconst addFile = (value: React.ChangeEvent) => {\n\t\tif (value && value.target && value.target.files && value.target.files.length !== 0 ) {\n\t\t\tsetFile({\n\t\t\t\tfile: value.target.files[0],\n\t\t\t\tfileName: value.target.files[0].name,\n\t\t\t\tpartName: name + \".montant\"\n\t\t\t});\n\t\t\tsetFiles([...files, {\n\t\t\t\tfile: value.target.files[0],\n\t\t\t\tfileName: value.target.files[0].name,\n\t\t\t\tpartName: name + \".montant\"\n\t\t\t}]);\n\t\t} else console.error(`Error adding file to : ${name}`)\n\t}\n\n\tconst deleteFile = () => {\n\t\tconst array = files.filter(f => f.partName !== file.partName)\n\t\tsetFiles(array);\n\t\tsetFile(null);\n\t}\n\n\tconst commentChampFilteredOther = commentsChamp.filter(c => c.id === idKeyOther);\n\tconst commentChampFiltered = commentsChamp.filter(c => c.id === idKey);\n\n\treturn (<>\n\t\t
\n\t\t\t
\n\t\t\t\t{!isTypeOther\n\t\t\t\t\t? \n\t\t\t\t\t: <>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t
\n\t\t\t
\n\t\t\t\t
setOpenComment(true)}>\n\t\t\t\t\t{comment !== \"\"\n\t\t\t\t\t\t\t|| ((isTypeOther && commentChampFilteredOther.length > 0\n\t\t\t\t\t\t\t\t&& commentChampFilteredOther[0].comment !== \"\")\n\t\t\t\t\t\t\t|| (!isTypeOther && commentChampFiltered.length > 0\n\t\t\t\t\t\t\t\t&& commentChampFiltered[0].comment !== \"\")\n\t\t\t\t\t\t)\n\t\t\t\t\t\t? <>{t(\"createFolder.form.comment\")}\n\t\t\t\t\t\t: <>{t(\"createFolder.form.addComment\")}\n\t\t\t\t\t}\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t\t{item.needConfirmation &&\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t}\n\t\t{item.hasAttachment &&\n\t\t\t
\n\t\t\t\t{!file && (\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t)}\n\t\t\t\t{file && (\n\t\t\t\t\t\n\t\t\t\t\t\t{file.fileName}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t
\n\t\t}\n\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
30})}>\n\t\t\t\t\t{comment.length}/30\n\t\t\t\t
\n\t\t\t\t{comment.length > 30 && (\n\t\t\t\t\t\n\t\t\t\t\t\t{t(\"validation-messages.max-length\", { length: 30 })}\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t
\n\t\t\n\t\n\t);\n}\n\nexport default BudgetInput;","import { formatNumber } from \"adel-shared/dist/utils/functions\";\nimport { getChampDepenseKey } from \"adel-shared/dist/utils/translationHelpers\";\nimport clsx from \"clsx\";\nimport React, { useEffect, useState } from \"react\";\nimport { FormContextValues } from \"react-hook-form\";\nimport { useTranslation } from 'react-i18next';\nimport { toast } from \"react-toastify\";\nimport { CategorieDossier } from '../../../../enums/Dossiers';\nimport { IFileBudget } from '../../../../models/IFile';\nimport {\n\tBudgetDto,\n\tBudgetViewModelDto,\n\tCategorieDossierDto,\n\tChampDepense,\n\tChampFinancement,\n\tDepenseBlockViewModelDto,\n\tDepenseDto,\n\tDepenseViewModelDto,\n\tFinancementBlockViewModelDto,\n\tFinancementDto,\n\tFinancementViewModelDto,\n\tTypeDepense,\n\tTypeFinancement\n} from '../../../../services/generated/FrontOffice-api';\nimport {\n\tcalculBlockBudget,\n\tcalculDepensesBudget,\n\tcalculFinancementsBudget\n} from '../../../../utils/budgetFunctions';\nimport { CommentChamp, ConfirmationMontantChamp } from '../Budget';\nimport BudgetInput from './BudgetInput';\n\ninterface BudgetBlockProps {\n\tisEditBudgetMode: boolean;\n\tform: FormContextValues;\n\titemViewModel: DepenseBlockViewModelDto|FinancementBlockViewModelDto;\n\tindex:number;\n\tisDepense: boolean;\n\tbudget: BudgetDto;\n\tsetBudget: (value:BudgetDto) => void;\n\tfiles: IFileBudget[];\n\tsetFiles: (value: IFileBudget[]) => void;\n\tcommentsChamp:CommentChamp[];\n\tsetCommentsChamp: (value:CommentChamp[]) => void;\n\tconfirmationMontantChamp: ConfirmationMontantChamp[];\n\tdefaultConfirmationMontantChamp: ConfirmationMontantChamp[];\n\tsetConfirmationMontantChamp: (value:ConfirmationMontantChamp[]) => void;\n\tsetTotalDepenses: (value:number) => void;\n\tsetTotalFinancements: (value:number) => void;\n\tsetIsBudgetValid: (value:boolean) => void;\n\tshowBaseCalcul?: boolean;\n\tbaseCalcul?: number;\n\tcategorieDossier: CategorieDossierDto;\n\tviewModel?: BudgetViewModelDto\n}\n\nconst BudgetBlock: React.FunctionComponent = ({\n\tisEditBudgetMode,\n\tform,\n\titemViewModel,\n\tindex,\n\tisDepense,\n\tbudget,\n\tsetBudget,\n\tfiles,\n\tsetFiles,\n\tcommentsChamp,\n\tsetCommentsChamp,\n\tconfirmationMontantChamp,\n\tdefaultConfirmationMontantChamp,\n\tsetConfirmationMontantChamp,\n\tsetTotalDepenses,\n\tsetTotalFinancements,\n\tshowBaseCalcul,\n\tbaseCalcul,\n\tsetIsBudgetValid,\n\tcategorieDossier,\n\tviewModel\n}) => {\n\tconst { t } = useTranslation();\n\tconst [montantBlock, setMontantBlock] = useState(0);\n\tconst [montantBlockDeplacement, setMontantBlockDeplacement] = useState();\n\n\tconst montantMax = itemViewModel.montantMax;\n\tconst montantMin = itemViewModel.montantMin;\n\tconst formValues = form.watch();\n\tconst isIGDerivates = () => {\n\t\treturn categorieDossier.code === CategorieDossier.DiffusionSpectacleVivantLabelisationReseauSPEDIDAM1 \n\t\t\t || categorieDossier.code === CategorieDossier.DiffusionSpectacleVivantLabelisationReseauSPEDIDAM2\n\t\t\t || categorieDossier.code === CategorieDossier.CreationAideSalons\n\t\t\t || categorieDossier.code === CategorieDossier.CreationSoutienFestival\n\t\t\t || categorieDossier.code === CategorieDossier.EducationArtistiqueCulturelleAideActionsEducation\n\t\t\t || categorieDossier.code === CategorieDossier.DiffusionSpectacleVivantRemisePrixArtistique\n\t\t\t|| categorieDossier.code === CategorieDossier.DiffusionSpectacleVivantRemiseEmissionTeleviseeMusicale\n\t }\n\t/** Montant du block */\n\tconst montant = (id?: string) => {\n\t\tsetMontantBlock(calculBlockBudget(formValues, isDepense, itemViewModel, isIGDerivates(),id));\n\t\tsetMontantBlockDeplacement(calculBlockBudget(formValues, true, {type: TypeDepense.FraisDeplacement}, isIGDerivates()))\n\t\tsetTotalDepenses(calculDepensesBudget(formValues));\n\t\tsetTotalFinancements(calculFinancementsBudget(formValues));\n\t}\n\n\tuseEffect(() => {\n\t\tmontant();\n\t}, [\n\t\tformValues,\n\t\tisDepense,\n\t\titemViewModel\n\t]);\n\n\tuseEffect(() => {\n if ((montantMax && montantBlock > montantMax) || (montantMin && montantBlock < montantMin)) {\n\t\t\tsetIsBudgetValid(false);\n\t\t} else {\n\t\t\tsetIsBudgetValid(true);\n\t\t}\n\t}, [\n\t\tmontantBlock,\n\t\tsetIsBudgetValid,\n\t\tmontantMax,\n\t\tmontantMin\n\t]);\t\n\t\n\tconst sumBlock = (block: string) => {\n\t\treturn Number(Object.entries(formValues).reduce(\n\t\t\t(accumulator, [k,v]) => k.includes(block) && k.includes('montant') ? accumulator + Number(v) : accumulator + 0,\n\t\t\t0\n\t\t ))\n\t}\n\tconst calculMaxAide = () => {\n\t\tlet pourcentageAide = viewModel.pourcentageAide/100\n\t\tswitch (categorieDossier.code) {\n\t\t\tcase CategorieDossier.AidePromotionImage:\t\t\t\n\t\t\t\treturn (sumBlock(TypeDepense.BudgetPrevisionnelDepenses) + sumBlock(TypeDepense.FraisDeRealisationDuDocumentDePromotion)) * pourcentageAide\n\t\t\tcase CategorieDossier.DeplacementInternational:\n\t\t\t\treturn sumBlock(TypeDepense.FraisDeplacement) * pourcentageAide\n\t\t\tcase CategorieDossier.BODramatiqueChoregraphique:\n\t\t\t\treturn sumBlock(TypeDepense.BudgetRepetitionsEtEnregistrements) * pourcentageAide\t\n\t\t\tcase CategorieDossier.SpectacleDramatiqueChoregraphiqueCirque:\n\t\t\tcase CategorieDossier.SpectacleMusical:\n\t\t\tcase CategorieDossier.Festival:\n\t\t\t return sumBlock(TypeDepense.BudgetPrevisionnelDepenses) * pourcentageAide\n\t\t\tcase CategorieDossier.Ecole:\n\t\t\t return sumBlock(TypeDepense.FraisDePersonnel) * pourcentageAide\n\t\t\tcase CategorieDossier.Fortissimo:\n\t\t\tcase CategorieDossier.InteretGeneral:\n\t\t\tcase CategorieDossier.DiffusionSpectacleVivantLabelisationReseauSPEDIDAM1:\n\t\t\tcase CategorieDossier.DiffusionSpectacleVivantLabelisationReseauSPEDIDAM2:\n\t\t\tcase CategorieDossier.CreationAideSalons:\n\t\t\tcase CategorieDossier.CreationSoutienFestival:\n\t\t\tcase CategorieDossier.EducationArtistiqueCulturelleAideActionsEducation:\n\t\t\tcase CategorieDossier.DiffusionSpectacleVivantRemisePrixArtistique:\n\t\t\tcase CategorieDossier.DiffusionSpectacleVivantRemiseEmissionTeleviseeMusicale:\n\t\t\tcase CategorieDossier.AideResidences:\n\t\t\t return sumBlock('depenses') * pourcentageAide\n\t\t\tcase CategorieDossier.SoireeArtistes:\n\t\t\t return (sumBlock(TypeDepense.BudgetPrevisionnelDepenses) + sumBlock(TypeDepense.ContratsVenteEtAutreSalairePersonnel)) * pourcentageAide\n\t\t}\n\t}\n\tconst validationInput = (value: string|number, name: string, min?: number, max?: number) => {\n\t\tlet maxValue = max && max < calculMaxAide() ? max : calculMaxAide().toFixed(2);\n\t\t\n\t\tif (value as number < min) {\n\t\t\treturn t('createFolder.budget.errors.min', {number:min});\n\t\t}\n \n\t\tif (value as number > max && name.indexOf(ChampFinancement.MontantDemandeSPEDIDAM) == -1) {\n\t\t\tif (name.indexOf(ChampDepense.CommandesMusicales) > -1) {\n\t\t\t\treturn t('createFolder.budget.errors.maxCommandeMusicale', {number:max});\n\t\t\t}\n\t\t\treturn t('createFolder.budget.errors.max', {number:max});\n\t\t}\n\n\t\tif (name.indexOf(ChampFinancement.MontantDemandeSPEDIDAM) > -1) {\t\t\t\n\t\t\t\n\t\t\tif(!value) {\n\t\t\t\treturn t('validation-messages.not-empty');\n\t\t\t}\n\t\t\tif(Number(value) as number > Number(maxValue)) {\n\t\t\t\treturn t('createFolder.budget.errors.max', {number:maxValue});\n\t\t\t}\n\t\t\t// Check base de calcul\n\t\t\tconst baseCalculCurrentCategorie = CategorieDossier.SpectacleDramatiqueChoregraphiqueCirque == categorieDossier.code ? \n\t\t\t (baseCalcul || (calculDepensesBudget(formValues) + formValues['depenses.budgetPrevisionnelDepenses.salairesArtisteMensualisation.montant'] ) * categorieDossier.pourcentageAide) \n\t\t\t\t\t\t\t : viewModel.montantMaxAide || (baseCalcul || (calculDepensesBudget(formValues)) * categorieDossier.pourcentageAide);\n\t\t\tif (baseCalculCurrentCategorie && (Number(value) > Number(baseCalculCurrentCategorie))) {\n\t\t\t\tviewModel.montantMaxAide \n\t\t\t\t&& toast.error(\"L'aide maximum demandée à la SPEDIDAM ne peut dépasser 35 % de la masse salariale artistique retenue une fois appliqué\tle plafonnement de la prise en compte du montant des cachets comme indiqué dans les critères du dossier\")\n\t\t\t\treturn t('createFolder.budget.errors.max', {number: baseCalculCurrentCategorie});\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\tif (name.indexOf(ChampDepense.DevisRealisation) > -1 && (!value || value <= 0)) {\n\t\t\treturn t('validation-messages.greater-than', {ComparaisonValue:0});\n\t\t}\n\n\t\treturn true;\n\t};\n\n\t/** RENDERS de blocks */\n\tconst renderChamp = (\n\t\tbudgetItem: DepenseDto|FinancementDto,\n\t\tisDepense: boolean,\n\t\titem: DepenseViewModelDto|FinancementViewModelDto,\n\t\ttype: TypeFinancement|TypeDepense,\n\t\tlabel: string,\n\t\tisTypeOther: boolean,\n\t\tindex: number\n\t) => {\n\t\tconst fieldName = `${isDepense ? \"depenses\" : \"financements\"}.${type}.${item.champ}`;\n\t\tconst categorieCodes = [CategorieDossier.Festival, CategorieDossier.SoireeArtistes];\n\t\tconst champsExclus = [ChampDepense.SalairesArtisteRepresentation, ChampDepense.ChargesSocialesPatronalesArtistes];\n\t\t\n\t\treturn (\t\n\t\t\t((categorieCodes.includes(categorieDossier.code as CategorieDossier) \n\t\t\t\t\t\t\t\t\t\t\t\t\t&& !champsExclus.includes(item.champ as ChampDepense))\n\t\t\t\t|| !categorieCodes.includes(categorieDossier.code as CategorieDossier)) &&\n\t\t\t\n\t\t);\n\t}\n\t\n\t/** AJOUT / SUPPRESSION DE LIGNES AUTRE */\n\tconst addAutre = (budgetType: any, isDepense: boolean) => {\n\t\tlet array = {...budget};\n\t\tlet temporaryId: string; // Id qui sert à cibler les nouvelles lignes qu'on ajoute\n\n\t\twhile (true) { // Pour être sûr d'avoir que des ids différents, il regénère l'id tant qu'il n'existe pas\n\t\t\ttemporaryId = '_' + Math.random().toString(36).substr(2, 9);\n\t\t\tif(isDepense) {\n\t\t\t\tif(!array.depenses || !array.depenses.some(d => d.id === temporaryId))\n\t\t\t\t\tbreak;\n\t\t\t} else {\n\t\t\t\tif(!array.financements || !array.financements.some(d => d.id === temporaryId))\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tif (isDepense) {\n\t\t\tif (!array.depenses) {\n\t\t\t\tarray = {\n\t\t\t\t\t...array,\n\t\t\t\t\tdepenses: []\n\t\t\t\t};\n\t\t\t}\n\t\t\tarray.depenses.push({\n\t\t\t\tid: temporaryId,\n\t\t\t\ttype: budgetType,\n\t\t\t\tchamp: ChampDepense.Autre\n\t\t\t});\n\t\t} else {\n\t\t\tif (!array.financements) {\n\t\t\t\tarray = {\n\t\t\t\t\t...array,\n\t\t\t\t\tfinancements: []\n\t\t\t\t};\n\t\t\t}\n\t\t\tarray.financements.push({\n\t\t\t\tid: temporaryId,\n\t\t\t\ttype: budgetType,\n\t\t\t\tchamp: ChampFinancement.Autre\n\t\t\t});\n\t\t}\n\t\tsetBudget(array);\n\t}\n\tconst deleteAutre = (id:string, isDepense: boolean) => {\n\t\tlet array = {...budget};\n\n\t\tif (isDepense) {\n\t\t\tbudget.depenses = array.depenses.filter((item) => item.id != id);\n\t\t} else {\n\t\t\tbudget.financements = array.financements.filter((item) => item.id != id);\n\t\t}\n\t\tmontant(id);\n\t\tsetBudget(budget);\n\t}\n\n\tconst onCommentChange = (id: string, comment: any) => {\n\t\tlet array = [...commentsChamp];\n\t\tif (array.length !== 0) {\n\t\t\tfor (let idx in array) {\n\t\t\t\tif (id === array[idx].id) {\n\t\t\t\t\tarray[idx] = {\n\t\t\t\t\t\tid: id,\n\t\t\t\t\t\tcomment: comment\n\t\t\t\t\t};\n\t\t\t\t\tsetCommentsChamp(array);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tarray.push({ id: id, comment: comment})\n\t\tsetCommentsChamp(array);\n\t}\n\n\tconst onConfirmationMontantChange = (id:string, confirmation: boolean) => {\n\t\tlet array = [...confirmationMontantChamp];\n\t\tif (array.length !== 0) {\n\t\t\tfor (let idx in array) {\n\t\t\t\tif (id === array[idx].id) {\n\t\t\t\t\tarray[idx] = {\n\t\t\t\t\t\tid: id,\n\t\t\t\t\t\tconfirmationMontant: confirmation\n\t\t\t\t\t};\n\t\t\t\t\tsetConfirmationMontantChamp(array);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tarray.push({ id: id, confirmationMontant: confirmation})\n\t\tsetConfirmationMontantChamp(array);\n\t}\n\n\n\t/** Render de champs Autre dans un block */\n\tconst renderDelete = (id:string, isDepense:boolean) => {\n\t\treturn(\n\t\t\t
\n\t\t\t\t
deleteAutre(id, isDepense) }>\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t);\n\t}\n\tconst renderAdd = (type:TypeDepense|TypeFinancement, isDepense:boolean) => {\n\t\treturn(\n\t\t\t
\n\t\t\t\t
addAutre(type, isDepense) }>\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t);\n\t}\n\n\t \n\t/** Render d'un champ */\n\tconst renderBlockRow = (\n\t\tisDepense:boolean,\n\t\ttype: TypeDepense|TypeFinancement,\n\t\tindex:number,\n\t\tviewModelDepenseArray?:DepenseViewModelDto[],\n\t\tviewModelFinancementArray?: FinancementViewModelDto[]\n\t) => {\n\treturn(\n\t\t
\n\t\t\t{isDepense && viewModelDepenseArray\n\t\t\t? viewModelDepenseArray.map((item, i) => (\n\t\t\t\t
\n\t\t\t\t\t{item.champ !== ChampDepense.Autre && \n\t\t\t\t\t\trenderChamp(\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tisDepense,\n\t\t\t\t\t\t\titem,\n\t\t\t\t\t\t\ttype,\n\t\t\t\t\t\t\t`${index+1}.${i+1}. ${t(`champDepense.${getChampDepenseKey(item.champ, categorieDossier.code as CategorieDossier)}`)}`,\n\t\t\t\t\t\t\tfalse,\n\t\t\t\t\t\t\ti\n\t\t\t\t\t\t)}\n\t\t\t\t\t
\n\t\t\t\t))\n\t\t\t: viewModelFinancementArray.map((item, i) => (\n\t\t\t\t
\n\t\t\t\t\t{item.champ !== ChampFinancement.Autre &&\n\t\t\t\t\t\trenderChamp(\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tisDepense,\n\t\t\t\t\t\t\titem,\n\t\t\t\t\t\t\ttype,\n\t\t\t\t\t\t\t`${index+1}.${i+1}. ${t(`champFinancement.${item.champ}`)}`,\n\t\t\t\t\t\t\tfalse,\n\t\t\t\t\t\t\ti\n\t\t\t\t\t\t)}\n\t\t\t\t
\n\t\t\t))}\n\t\t\t{isDepense\n\t\t\t? budget && budget.depenses && budget.depenses\n\t\t\t\t.filter(d => (d.type === type) && (d.champ === ChampDepense.Autre))\n\t\t\t\t.map((item, i) => (\n\t\t\t\t\t
\n\t\t\t\t\t\t{renderChamp(item, isDepense, item, type, \"\", true, i)}\n\t\t\t\t\t\t{renderDelete(item.id, isDepense)}\n\t\t\t\t\t
\n\t\t\t\t))\n\t\t\t: budget && budget.financements && budget.financements\n\t\t\t\t.filter(d => (d.type === type) && (d.champ === ChampFinancement.Autre))\n\t\t\t\t.map((item, i) => (\n\t\t\t\t\t
\n\t\t\t\t\t\t{renderChamp(item, isDepense, item, type, \"\", true, i)}\n\t\t\t\t\t\t{renderDelete(item.id, isDepense)}\n\t\t\t\t\t
\n\t\t\t\t))\n\t\t\t}\n\t\t\t{(isDepense ? viewModelDepenseArray : viewModelFinancementArray).some((x:DepenseDto|FinancementDto) => x.champ === (isDepense ? ChampDepense.Autre : ChampFinancement.Autre)) &&\n\t\t\t\trenderAdd(type, isDepense)\n\t\t\t}\n\t\t
);\n\t}\n\n\n\treturn (<>\n\t\t

\n\t\t\t{index+1}. {t(`createFolder.budget.${isDepense ? \"subtitlesDepenses\" : \"subtitlesFinancement\"}.${\n\t\t\t\tcategorieDossier.code === CategorieDossier.AidePromotionImage &&\n\t\t\t\t\t(itemViewModel.type === TypeDepense.AutresDepenses || itemViewModel.type === TypeFinancement.RecettesPropres)\n\t\t\t\t? itemViewModel.type + 'Api'\n\t\t\t\t: itemViewModel.type\n\t\t\t}`)}\n\t\t

\n\t\t{(montantMax || montantMin) &&\n\t\t\t
\n\t\t\t\t{montantMax &&\n\t\t\t\t\t
montantMax && \"subtitle--red\")}>\n\t\t\t\t\t\t{t(\"createFolder.budget.titles.montantMax\")}{montantBlock}/{montantMax}€\n\t\t\t\t\t
\n\t\t\t\t}\n\t\t\t\t{montantMin &&\n\t\t\t\t\t
\n\t\t\t\t\t\t{t(\"createFolder.budget.titles.montantMin\")}{montantMin}€\n\t\t\t\t\t
\n\t\t\t\t}\n\t\t\t
\n\t\t}\n\t\t
\n\t\t\t{isDepense\n\t\t\t\t? renderBlockRow(isDepense, itemViewModel.type, index, (itemViewModel as DepenseBlockViewModelDto).depenses)\n\t\t\t\t: renderBlockRow(isDepense, itemViewModel.type, index, null, (itemViewModel as FinancementBlockViewModelDto).financements)\n\t\t\t}\n\t\t\t

\n\t\t\t\t{t(\"createFolder.budget.titles.sousTotal\", {montant: formatNumber(montantBlock)})}\n\t\t\t

\n\n\t\t\t{showBaseCalcul && (\n\t\t\t\t

\n\t\t\t\t\t{t(\"createFolder.budget.titles.baseCalcul\", {\n\t\t\t\t\t\tmontant: formatNumber(montantBlock)\n\t\t\t\t\t})}\n\t\t\t\t

\n\t\t\t)}\n\t\t
\n\t);\n}\n\nexport default BudgetBlock;","import React, {forwardRef, useEffect, useImperativeHandle, useState} from \"react\";\nimport TotalAmountsTable from \"adel-shared/dist/components/basics/TotalAmountsTable\";\nimport { formatNumber } from 'adel-shared/dist/utils/functions';\nimport BigNumber from 'bignumber.js';\nimport { useForm } from 'react-hook-form';\nimport {useTranslation} from \"react-i18next\";\nimport { toast } from 'react-toastify';\nimport {RouteComponentProps} from \"@reach/router\";\nimport { AdelDossierClient } from '../../../clients/AdelDossierClient';\nimport {useAxios} from \"../../../custom-hooks/useAxios\";\nimport { CategorieDossier } from '../../../enums/Dossiers';\nimport { CreateBudgetDto, UpdateBudgetDto } from '../../../models/IDossier';\nimport { IFileBudget } from '../../../models/IFile';\nimport {\n\tBudgetDto,\n\tBudgetViewModelDto,\n\tCategorieDossierDto,\n\tChampDepense,\n\tChampFinancement,\n\tDepenseDto,\n\tDossierClient,\n\tFinancementDto,\n\tTypeDepense,\n\tTypeFinancement,\n\tUpdateDepenseDto,\n\tUpdateFinancementDto\n} from \"../../../services/generated/FrontOffice-api\";\nimport { calculDepensesBudget, calculFinancementsBudget } from '../../../utils/budgetFunctions';\nimport { convertIFilesBudgetToDocumentUploadInfoDto } from '../../../utils/functions';\nimport Textarea from '../../basics/Textarea';\nimport BudgetBlock from './budget/BudgetBlock';\n\ninterface BudgetProps extends RouteComponentProps {\n dossierId: string;\n\tcategorieDossier: CategorieDossierDto;\n\tsetCanGoNext: (value: boolean) => void;\n\tsetIsLoading: (value: boolean) => void;\n\tref: any;\n}\n\nexport interface CommentChamp {\n\tid: string;\n\tcomment: string;\n}\n\nexport interface ConfirmationMontantChamp {\n\tid: string;\n\tconfirmationMontant: boolean;\n}\n\nconst Budget : React.FC = forwardRef(({\n\tdossierId,\n\tcategorieDossier,\n\tsetCanGoNext,\n\tsetIsLoading\n}, ref) => {\n const { t } = useTranslation();\n const axiosInstance = useAxios();\n\tconst dossierClient = new DossierClient(\"\", axiosInstance);\n\tconst adelDossierClient = new AdelDossierClient(\"\", axiosInstance);\n\n\tconst form = useForm();\n\tconst {getValues, setValue, triggerValidation, watch} = form;\n\n\tconst watchCommandesMusicales = watch('depenses.budgetRepetitionsEtEnregistrements.commandesMusicales.montant') || 0;\n\n\tconst baseCalculFields = {\n\t\t[`${CategorieDossier.DeplacementInternational}`]: [\n\t\t\twatch('depenses.fraisDeplacement.locationVoiture.montant') || 0\n\t\t],\n\t\t[`${CategorieDossier.AidePromotionImage}`]: [\n\t\t\twatch(\"depenses.fraisDeRealisationDuDocumentDePromotion.devisRealisation.montant\") || 0,\n\t\t\twatch(\"depenses.budgetPrevisionnelDepenses.salairesArtisteRepetition.montant\") || 0,\n\t\t\twatch(\"depenses.budgetPrevisionnelDepenses.salairesArtisteEnregistrement.montant\") || 0,\n\t\t\twatch(\"depenses.budgetPrevisionnelDepenses.salairesArtisteRepresentation.montant\") || 0,\n\t\t\twatch(\"depenses.budgetPrevisionnelDepenses.salairesArtisteConcert.montant\") || 0,\n\t\t\twatch(\"depenses.budgetPrevisionnelDepenses.chargesSocialesPatronalesArtistes.montant\") || 0,\n\t\t\twatch(\"depenses.budgetPrevisionnelDepenses.salairesArtisteMensualisation.montant\") || 0,\n\t\t\twatch(\"depenses.budgetPrevisionnelDepenses.chargesPatronales.montant\") || 0\n\t\t],\n\t\t[`${CategorieDossier.Fortissimo}`]: [\n\t\t\twatch('depenses.budgetPrevisionnelDepenses.salaireArtistes.montant') || 0,\n\t\t\twatch(\"depenses.budgetPrevisionnelDepenses.chargesSocialesPatronalesArtistes.montant\") || 0,\n\t\t\twatch('depenses.autresDepenses.autresSalairesChargesSocialesIncluses.montant') || 0,\n\t\t\twatch('depenses.autresDepenses.realisationEtImpressionInvitations.montant') || 0,\n\t\t\twatch('depenses.autresDepenses.envoisEtInsertionsPresse.montant') || 0,\n\t\t\twatch('depenses.autresDepenses.deplacements.montant') || 0,\n\t\t\twatch('depenses.autresDepenses.defraiements.montant') || 0,\n\t\t\twatch('depenses.autresDepenses.fraisOrganisation.montant') || 0,\n\t\t\twatch('depenses.autresDepenses.divers.montant') || 0,\n\t\t\twatch('depenses.autresDepenses.sacem.montant') || 0\n\t\t],\n\t\t[`${CategorieDossier.BODramatiqueChoregraphique}`]: [\n\t\t\twatch('depenses.budgetRepetitionsEtEnregistrements.musiciens.montant') || 0,\n\t\t\twatch('depenses.budgetRepetitionsEtEnregistrements.chefsOrchestre.montant') || 0,\n\t\t\twatch('depenses.budgetRepetitionsEtEnregistrements.choristes.montant') || 0,\n\t\t\twatch('depenses.budgetRepetitionsEtEnregistrements.chanteurs.montant') || 0,\n\t\t\twatch('depenses.budgetRepetitionsEtEnregistrements.comediens.montant') || 0,\n\t\t\twatch('depenses.budgetRepetitionsEtEnregistrements.chargesPatronales.montant') || 0,\n\t\t\twatchCommandesMusicales > 3000 ? 3000 : watchCommandesMusicales,\n\t\t\twatch('depenses.budgetRepetitionsEtEnregistrements.agessa.montant') || 0\n\t\t]\n\t};\n\n\tconst [isEditBudgetMode, setIsEditBudgetMode] = useState(false);\n\tconst [viewModel, setViewModel] = useState({});\n\tconst [budget, setBudget] = useState({});\n\tconst [budgetOldState, setBudgetOldState] = useState({}); // Pour savoir quels sont les champs à l'update qui ont été rajouté ou non\n\n\tconst [commentsChamp, setCommentsChamp] = useState([]); // Les commentaires par champ\n\tconst [confirmationMontantChamp, setConfirmationMontantChamp] = useState([]); // Les confirmations montant par champ\n\tconst [defaultConfirmationMontantChamp, setDefaultConfirmationMontantChamp] = useState([]);\n\n\tconst [commentGeneral, setCommentGeneral] = useState(\"\"); // Le commentaire général à la fin\n\n\tconst [totalDepenses, setTotalDepenses] = useState(0);\n\tconst [totalFinancements, setTotalFinancements] = useState(0);\n\tconst [isBudgetValid, setIsBudgetValid] = useState(true);\n\n\tconst [files, setFiles] = useState([]);\n\n\n useEffect(() => {\n if (!dossierId) return;\n\t\t(async () => {\n\t\t\tawait fetchViewModel();\n\t\t\tawait fetchBudget();\n\t\t})();\n\t}, [dossierId]);\n\n\tuseEffect(() => {\n if (viewModel.hasBalance && resultBalance() !== 0) {\n\t\t\tsetCanGoNext(false);\n\t\t} else {\n\t\t\tsetCanGoNext(true);\n\t\t}\n\t}, [totalFinancements, totalDepenses]);\n\n\tconst fetchViewModel = async () => {\n\t\tconst result = await dossierClient.getBudgetViewModel(dossierId);\n\t\tsetViewModel(result);\n\t}\n\tconst fetchBudget = async () => {\n\t\tconst result = await dossierClient.getDossierBudget(dossierId);\n\n\t\tif (result.dossierId) {\n\t\t\t// Le budget récupéré de l'api qui ne sera pas modifié\n\t\t\tsetBudgetOldState({...result, depenses: [...result.depenses], financements: [...result.financements], documents: [...result.documents]});\n\t\t\tsetIsEditBudgetMode(true);\n\t\t\tsetDefaultValues(result);\n\t\t} else {\n\t\t\tsetBudget({dossierId:null});\n\t\t\tsetIsEditBudgetMode(false);\n\t\t}\n\t\tgetBalanceValues();\n\t}\n\n\tconst getBalanceValues = () => {\n\t\tlet values = getValues();\n\t\tsetTotalDepenses(calculDepensesBudget(values));\n\t\tsetTotalFinancements(calculFinancementsBudget(values));\n\t}\n\n\tconst setDefaultValues = (result: BudgetDto) => {\n\t\tsetBudget(result);\n\n\t\t/** Budget existant */\n\t\tlet docs = [...files];\n\t\tlet comms = [...commentsChamp];\n\t\tlet conf = [...confirmationMontantChamp];\n\n\t\t// Setter le commentaire général\n\t\tsetCommentGeneral(result.commentaire);\n\n\t\t// Setter les documents généraux\n\t\tif (result.documents) {\n\t\t\tresult.documents.forEach((doc, i) => {\n\t\t\t\tdocs.push({\n\t\t\t\t\tid: doc.id,\n\t\t\t\t\tfileName: doc.fileName,\n\t\t\t\t\tpartName: 'generalFiles-' + (i+1)\n\t\t\t\t});\n\t\t\t})\n\t\t}\n\n\t\tresult.depenses.forEach(item => {\n\t\t\tif (item.champ === ChampDepense.Autre) {\n\t\t\t\tsetValue(`depenses.${item.type}.${item.champ}.montant.${item.id}`, Math.round(item.montant * 100) / 100);\n\t\t\t\tsetValue(`depenses.${item.type}.${item.champ}.intitule.${item.id}`, item.intitule);\n\t\t\t\titem.commentaire && comms.push({id: `depenses.${item.type}.${item.champ}.montant.${item.id}`, comment: item.commentaire});\n\t\t\t\titem.confirmationMontant && conf.push({id: `depenses.${item.type}.${item.champ}.montant.${item.id}`, confirmationMontant: item.confirmationMontant});\n\t\t\t} else {\n\t\t\t\tsetValue(`depenses.${item.type}.${item.champ}.montant`, Math.round(item.montant * 100) / 100);\n\t\t\t\titem.document && docs.push({...item.document, partName:`depenses.${item.type}.${item.champ}.montant` });\n\t\t\t\titem.commentaire && comms.push({id: `depenses.${item.type}.${item.champ}.montant`, comment: item.commentaire});\n\t\t\t\titem.confirmationMontant && conf.push({id: `depenses.${item.type}.${item.champ}.montant`, confirmationMontant: item.confirmationMontant});\n\t\t\t}\n\t\t});\n\t\tresult.financements.forEach(item => {\n\t\t\tif (item.champ === ChampFinancement.Autre) {\n\t\t\t\tsetValue(`financements.${item.type}.${item.champ}.montant.${item.id}`, item.montant);\n\t\t\t\tsetValue(`financements.${item.type}.${item.champ}.intitule.${item.id}`, item.intitule);\n\t\t\t\titem.commentaire && comms.push({id: `financements.${item.type}.${item.champ}.montant.${item.id}`, comment: item.commentaire});\n\t\t\t\titem.confirmationMontant && conf.push({id: `financements.${item.type}.${item.champ}.montant.${item.id}`, confirmationMontant: item.confirmationMontant});\n\t\t\t} else {\n\t\t\t\tsetValue(`financements.${item.type}.${item.champ}.montant`, item.montant);\n\t\t\t\titem.document && docs.push({...item.document, partName:`financements.${item.type}.${item.champ}.montant` });\n\t\t\t\titem.commentaire && comms.push({id: `financements.${item.type}.${item.champ}.montant`, comment: item.commentaire});\n\t\t\t\titem.confirmationMontant && conf.push({id: `financements.${item.type}.${item.champ}.montant`, confirmationMontant: item.confirmationMontant});\n\t\t\t}\n\t\t});\n\n\t\tsetFiles(docs);\n\t\tsetCommentsChamp(comms);\n\t\tsetDefaultConfirmationMontantChamp(conf);\n\t\tsetConfirmationMontantChamp(conf);\n\t}\n\n const createAllValues = (budget:CreateBudgetDto, values:any, comments:CommentChamp[], confirmations:ConfirmationMontantChamp[], autre: boolean) => {\n\t\tif (values) {\n\t\t\tfor (const key in values) {\n\t\t\t\tconst dataInput = key.split('.'); // Les infos des champs se trouvent dans le nom de l'input => \"category\".\"type\".\"champ\".\"montant\"\n\t\t\t\t// dataInput[0] => depenses ou financements\n\t\t\t\t// dataInput[1] => type\n\t\t\t\t// dataInput[2] => champ\n\t\t\t\t// dataInput[3] => montant ou intitulé\n\t\t\t\t// dataInput[4] => index (si champ autre)\n\n\t\t\t\tconst commentsFiltered = comments.filter(c => c.id === key)[0];\n\t\t\t\tconst confirmationFiltered = confirmations.filter(c => c.id === key)[0];\n\t\t\t\t/** Champs normaux */\n\t\t\t\tif (dataInput[2] !== ChampDepense.Autre && dataInput[2] !==ChampFinancement.Autre) {\n\t\t\t\t\tlet dataToSend:any = {\n\t\t\t\t\t\ttype: dataInput[1],\n\t\t\t\t\t\tchamp: dataInput[2],\n\t\t\t\t\t\tmontant: 0,\n\t\t\t\t\t\tintitule: \"\",\n\t\t\t\t\t\tcommentaire: commentsFiltered ? commentsFiltered.comment : \"\",\n\t\t\t\t\t\tconfirmationMontant: confirmationFiltered && confirmationFiltered.confirmationMontant\n\t\t\t\t\t}\n\t\t\t\t\tdataToSend = {...dataToSend,\n\t\t\t\t\t\tmontant: !values[key] ? 0 : new BigNumber(values[key]).toNumber()\n\t\t\t\t\t}\n\n\t\t\t\t\tif (files.filter(c => c.partName === key).length > 0) {\n\t\t\t\t\t\tdataToSend = {\n\t\t\t\t\t\t\t...dataToSend,\n\t\t\t\t\t\t\tdocument: convertIFilesBudgetToDocumentUploadInfoDto(files.filter(c => c.partName === key))[0]\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (dataInput[0] === \"depenses\") {\n\t\t\t\t\t\tbudget.depenses.push(dataToSend as DepenseDto);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbudget.financements.push(dataToSend as FinancementDto);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t/** Champs de type Autre */\n\t\t\t\tif (dataInput[2] === (ChampDepense.Autre || ChampFinancement.Autre) && dataInput[3] === \"montant\" && autre) {\n\t\t\t\t\tlet dataToSend = {\n\t\t\t\t\t\ttype: dataInput[1],\n\t\t\t\t\t\tmontant: 0,\n\t\t\t\t\t\tintitule: values[key.replace('.montant.', '.intitule.')],\n\t\t\t\t\t\tcommentaire: commentsFiltered ? commentsFiltered.comment : \"\",\n\t\t\t\t\t\tconfirmationMontant: confirmationFiltered && confirmationFiltered.confirmationMontant\n\t\t\t\t\t}\n\t\t\t\t\tdataToSend = {...dataToSend,\n\t\t\t\t\t\tmontant: !values[key] ? 0 : new BigNumber(values[key]).toNumber()\n\t\t\t\t\t};\n\n\t\t\t\t\tif (dataInput[0] === \"depenses\") {\n\t\t\t\t\t\tbudget.depenses.push({...dataToSend, champ: ChampDepense.Autre} as DepenseDto);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbudget.financements.push({...dataToSend, champ: ChampFinancement.Autre} as FinancementDto);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/** Envoi de budget */\n\tconst createBudget = async (budgetCreate:CreateBudgetDto, values:any, comments:CommentChamp[], confirmations:ConfirmationMontantChamp[]) => {\n\n\t\tcreateAllValues(budgetCreate, values, comments, confirmations, true)\n\t\t// commentaire general s'il y a\n\t\tbudgetCreate = {\n\t\t\t...budgetCreate,\n\t\t\tcommentaire: commentGeneral\n\t\t}\n\t\t// documents\n\t\tbudgetCreate = {\n\t\t\t...budgetCreate,\n\t\t\tdocuments: convertIFilesBudgetToDocumentUploadInfoDto(files.filter(f => f.partName.indexOf('generalFiles-') !== -1))\n\t\t}\n\n\t\tawait adelDossierClient.createBudget(dossierId, budgetCreate, files);\n\t}\n\n\n\n\t/** Update de budget */\n\tconst updateBudget = async (values:any, comments:CommentChamp[], confirmations:ConfirmationMontantChamp[]) => {\n\t\tlet budgetUpdate: UpdateBudgetDto = {\n\t\t\tcommentaire: commentGeneral,\n\t\t\tdocuments: convertIFilesBudgetToDocumentUploadInfoDto(files.filter(f => f.partName.indexOf('generalFiles-') !== -1))\n\t\t};\n\t\tlet depenseDatas: UpdateDepenseDto[] = [];\n\t\tlet financementDatas: UpdateFinancementDto[] = [];\n\t\tlet budgetCreate:UpdateBudgetDto = {\n\t\t\tdepenses: [],\n\t\t\tfinancements: [],\n\t\t\tcommentaire: \"\",\n\t\t\tdocuments: []\n\t\t}\n\t\tcreateAllValues(budgetCreate, values, comments, confirmations, false)\n\t\tbudget.depenses.map(depense => {\n\t\t\tif(depense.champ === ChampDepense.Autre){\n\t\t\t\tbudgetCreate.depenses.push(depense)\n\t\t\t}\n\t\t})\n\t\tbudget.financements.map(financement => {\n\t\t\tif(financement.champ === ChampFinancement.Autre){\n\t\t\t\tbudgetCreate.financements.push(financement)\n\t\t\t}\n\t\t})\n\t\t\n\t\tfor (const key in values) {\n\t\t\tconst dataInput = key.split('.'); // Les infos des champs se trouvent dans le nom de l'input => \"category\".\"type\".\"champ\".\"montant\"\n\t\t\t// dataInput[0] => depenses ou financements\n\t\t\t// dataInput[1] => type\n\t\t\t// dataInput[2] => champ\n\t\t\t// dataInput[3] => montant ou intitulé\n\t\t\t// dataInput[4] => ID (si champ autre)\n \n\t\t\tconst commentsFiltered = comments.filter(c => c.id === key)[0];\n\t\t\tconst confirmationFiltered = confirmations.filter(c => c.id === key)[0];\n\t\t\t\n\t\t\t/** Champs normaux */\n\t\t\tif (dataInput[2] !== ChampDepense.Autre && dataInput[2] !==ChampFinancement.Autre) {\n\t\t\t\tif (dataInput[0] === \"depenses\") {\t\t\t\t\t\n\t\t\t\t\tif (budgetCreate.depenses.length > 0) {\n\t\t\t\t\t\tbudgetCreate.depenses\n\t\t\t\t\t\t.filter(depense => dataInput[1] === depense.type && dataInput[2] === depense.champ)\n\t\t\t\t\t\t.forEach(depense => {\n\t\t\t\t\t\t\tlet data:DepenseDto = {\n\t\t\t\t\t\t\t\tid: depense.id,\n\t\t\t\t\t\t\t\tintitule: depense.intitule,\n\t\t\t\t\t\t\t\tcommentaire: commentsFiltered ? commentsFiltered.comment : \"\",\n\t\t\t\t\t\t\t\tconfirmationMontant: confirmationFiltered && confirmationFiltered.confirmationMontant,\n\t\t\t\t\t\t\t\ttype: dataInput[1] as TypeDepense,\n\t\t\t\t\t\t\t\tchamp: dataInput[2] as ChampDepense,\n\t\t\t\t\t\t\t\tmontant: !values[key] ? 0 : new BigNumber(values[key]).toNumber()\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (convertIFilesBudgetToDocumentUploadInfoDto(files.filter(c => c.partName === key))[0]) {\n\t\t\t\t\t\t\t\tdata = {...data, document: convertIFilesBudgetToDocumentUploadInfoDto(files.filter(c => c.partName === key))[0] }\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdepenseDatas.push(data);\n\t\t\t\t\t\t})\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlet data:DepenseDto = {\n\t\t\t\t\t\t\tcommentaire: commentsFiltered ? commentsFiltered.comment : \"\",\n\t\t\t\t\t\t\tconfirmationMontant: confirmationFiltered && confirmationFiltered.confirmationMontant,\n\t\t\t\t\t\t\ttype: dataInput[1] as TypeDepense,\n\t\t\t\t\t\t\tchamp: dataInput[2] as ChampDepense,\n\t\t\t\t\t\t\tmontant: !values[key] ? 0 : new BigNumber(values[key]).toNumber()\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (convertIFilesBudgetToDocumentUploadInfoDto(files.filter(c => c.partName === key))[0]) {\n\t\t\t\t\t\t\tdata = {...data, document: convertIFilesBudgetToDocumentUploadInfoDto(files.filter(c => c.partName === key))[0] }\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdepenseDatas.push(data);\n\t\t\t\t\t}\n\n\t\t\t\t} else {\n\t\t\t\t\tif (budgetCreate.financements.length > 0) {\n\t\t\t\t\t\tbudgetCreate.financements\n\t\t\t\t\t\t.filter(finance => dataInput[1] === finance.type && dataInput[2] === finance.champ)\n\t\t\t\t\t\t.forEach(financement => {\n\t\t\t\t\t\t\tlet data:FinancementDto = {\n\t\t\t\t\t\t\t\tid: financement.id,\n\t\t\t\t\t\t\t\tintitule: financement.intitule,\n\t\t\t\t\t\t\t\tcommentaire: commentsFiltered ? commentsFiltered.comment : \"\",\n\t\t\t\t\t\t\t\tconfirmationMontant: confirmationFiltered && confirmationFiltered.confirmationMontant,\n\t\t\t\t\t\t\t\ttype: dataInput[1] as TypeFinancement,\n\t\t\t\t\t\t\t\tchamp: dataInput[2] as ChampFinancement,\n\t\t\t\t\t\t\t\tmontant: !values[key] ? 0 : new BigNumber(values[key]).toNumber()\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (convertIFilesBudgetToDocumentUploadInfoDto(files.filter(c => c.partName === key))[0]) {\n\t\t\t\t\t\t\t\tdata = {...data, document: convertIFilesBudgetToDocumentUploadInfoDto(files.filter(c => c.partName === key))[0] }\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tfinancementDatas.push(data);\n\t\t\t\t\t\t})\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlet data:FinancementDto = {\n\t\t\t\t\t\t\tcommentaire: commentsFiltered ? commentsFiltered.comment : \"\",\n\t\t\t\t\t\t\tconfirmationMontant: confirmationFiltered && confirmationFiltered.confirmationMontant,\n\t\t\t\t\t\t\ttype: dataInput[1] as TypeFinancement,\n\t\t\t\t\t\t\tchamp: dataInput[2] as ChampFinancement,\n\t\t\t\t\t\t\tmontant: !values[key] ? 0 : new BigNumber(values[key]).toNumber()\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (convertIFilesBudgetToDocumentUploadInfoDto(files.filter(c => c.partName === key))[0]) {\n\t\t\t\t\t\t\tdata = {...data, document: convertIFilesBudgetToDocumentUploadInfoDto(files.filter(c => c.partName === key))[0] }\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfinancementDatas.push(data);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t/** Champs autre */\n\t\t\tif (dataInput[2] === (ChampDepense.Autre || ChampFinancement.Autre) && dataInput[3] === \"montant\") {\n\t\t\t\tif (dataInput[0] === \"depenses\") {\n\t\t\t\t\tbudgetCreate.depenses\n\t\t\t\t\t.filter(depense => dataInput[4] === depense.id)\n\t\t\t\t\t.forEach(depense => {\n\t\t\t\t\t\tif (budgetOldState.depenses.filter(d => d.id === depense.id).length > 0) {\n\t\t\t\t\t\t\tdepenseDatas.push({\n\t\t\t\t\t\t\t\tid: depense.id,\n\t\t\t\t\t\t\t\tintitule: values[key.replace('.montant.', '.intitule.')],\n\t\t\t\t\t\t\t\tcommentaire: commentsFiltered ? commentsFiltered.comment : \"\",\n\t\t\t\t\t\t\t\tconfirmationMontant: confirmationFiltered && confirmationFiltered.confirmationMontant,\n\t\t\t\t\t\t\t\ttype: dataInput[1] as TypeDepense,\n\t\t\t\t\t\t\t\tchamp: ChampDepense.Autre,\n\t\t\t\t\t\t\t\tmontant: !values[key] ? 0 : new BigNumber(values[key]).toNumber(),\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdepenseDatas.push({\n\t\t\t\t\t\t\t\tintitule: values[key.replace('.montant.', '.intitule.')],\n\t\t\t\t\t\t\t\tcommentaire: commentsFiltered ? commentsFiltered.comment : \"\",\n\t\t\t\t\t\t\t\tconfirmationMontant: confirmationFiltered && confirmationFiltered.confirmationMontant,\n\t\t\t\t\t\t\t\ttype: dataInput[1] as TypeDepense,\n\t\t\t\t\t\t\t\tchamp: ChampDepense.Autre,\n\t\t\t\t\t\t\t\tmontant: !values[key] ? 0 : new BigNumber(values[key]).toNumber(),\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\n\t\t\t\t\t})\n\t\t\t\t} else {\n\t\t\t\t\tbudgetCreate.financements\n\t\t\t\t\t.filter(finance => dataInput[4] === finance.id)\n\t\t\t\t\t.forEach(finance => {\n\t\t\t\t\t\tif (budgetOldState.financements.filter(f => f.id === finance.id).length > 0) {\n\t\t\t\t\t\t\tfinancementDatas.push({\n\t\t\t\t\t\t\t\tid: finance.id,\n\t\t\t\t\t\t\t\tintitule: values[key.replace('.montant.', '.intitule.')],\n\t\t\t\t\t\t\t\tcommentaire: commentsFiltered ? commentsFiltered.comment : \"\",\n\t\t\t\t\t\t\t\tconfirmationMontant: confirmationFiltered && confirmationFiltered.confirmationMontant,\n\t\t\t\t\t\t\t\ttype: dataInput[1] as TypeFinancement,\n\t\t\t\t\t\t\t\tchamp: ChampFinancement.Autre,\n\t\t\t\t\t\t\t\tmontant: !values[key] ? 0 : new BigNumber(values[key]).toNumber(),\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tfinancementDatas.push({\n\t\t\t\t\t\t\t\tintitule: values[key.replace('.montant.', '.intitule.')],\n\t\t\t\t\t\t\t\tcommentaire: commentsFiltered ? commentsFiltered.comment : \"\",\n\t\t\t\t\t\t\t\tconfirmationMontant: confirmationFiltered && confirmationFiltered.confirmationMontant,\n\t\t\t\t\t\t\t\ttype: dataInput[1] as TypeFinancement,\n\t\t\t\t\t\t\t\tchamp: ChampFinancement.Autre,\n\t\t\t\t\t\t\t\tmontant: !values[key] ? 0 : new BigNumber(values[key]).toNumber(),\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tbudgetUpdate = {...budgetUpdate,\n\t\t\tdepenses: depenseDatas,\n\t\t\tfinancements: financementDatas\n\t\t}\n\t\tawait adelDossierClient.updateBudget(dossierId, budgetUpdate, files);\n\t}\n\n\n\n\t/** VALIDATION */\n useImperativeHandle(ref, () => ({\n async validateForm(): Promise {\n\t\t\tconst result = await triggerValidation();\n\t\t\t// Pour bloquer la validation si balance\n\t\t\tconst isBalanceInvalid = viewModel.hasBalance && (resultBalance() !== 0);\n\n\t\t\tlet values = getValues();\n\t\t\tlet comments = [...commentsChamp];\n\t\t\tlet confirmations = [...confirmationMontantChamp];\n\n\t\t\t/** Envoi de datas */\n\t\t\tif (result && !isBalanceInvalid && isBudgetValid) {\n\t\t\t\tsetIsLoading(true);\n\n\t\t\t\ttry {\n\t\t\t\t\tif (budget.dossierId === null && !isEditBudgetMode) {\n\t\t\t\t\t\t/** Création */\n\t\t\t\t\t\tlet budgetCreate:CreateBudgetDto = {\n\t\t\t\t\t\t\tdepenses: [],\n\t\t\t\t\t\t\tfinancements: [],\n\t\t\t\t\t\t\tcommentaire: \"\",\n\t\t\t\t\t\t\tdocuments: []\n\t\t\t\t\t\t}\n\t\t\t\t\t\tawait createBudget(budgetCreate, values, comments, confirmations);\n\t\t\t\t\t\tsetIsLoading(false);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t/** Edit */\n\t\t\t\t\t\tawait updateBudget(values, comments, confirmations);\n\t\t\t\t\t\tsetIsLoading(false);\n\t\t\t\t\t}\n\t\t\t\t\treturn true;\n\t\t\t\t} catch(error) {\n\t\t\t\t\tif(error?.exception?.message) {\n\t\t\t\t\t\ttoast.error(error.exception.message);\n\t\t\t\t\t} \n\t\t\t\t\telse{\n\t\t\t\t\t\tconst messagePt1 = t(`validation-messages.${error.code}`, {number: `${error.additionalDetails?.montant}`});\n\t\t\t\t\t\tconst messagePt2 = error.additionalDetails?.champ ? t(`champFinancement.${error.additionalDetails?.champ}`) : '';\n\t\t\t\t\t\ttoast.error(`${messagePt1} ${messagePt2}`);\n\t\t\t\t\t}\n\n\t\t\t\t\tsetIsLoading(false);\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\ttoast.error(t(\"validation-messages.invalid-form\"));\n\t\t\t}\n return false;\n }\n\t}));\n\n\n\n\t/** Documents */\n\tconst handleFileChange = (value: React.ChangeEvent) => {\n\t\tif (value && value.target && value.target.files && value.target.files.length !== 0 && value.target.files[0].name !== \"\") {\n\t\t\tsetFiles([...files,\n\t\t\t\t{\n\t\t\t\t\tfile: value.target.files[0],\n\t\t\t\t\tfileName: value.target.files[0].name,\n\t\t\t\t\tpartName: 'generalFiles-' + (files.length + 1)\n\t\t\t\t}]);\n\t\t} else {\n\t\t\tconsole.error(\"file added error\");\n\t\t}\n\t}\n\tconst deleteFile = (file: IFileBudget) => {\n\t\tif (files.length > 0) {\n\t\t\tlet array = files.filter(f => f.partName !== file.partName);\n\t\t\tsetFiles(array);\n\t\t}\n\t}\n\n\n\n\t/** Balance */\n\tconst resultBalance = () => {\n\t\tlet financement = new BigNumber(totalFinancements);\n\t\tlet result = financement.minus(totalDepenses);\n\t\treturn result.toNumber();\n\t}\n\n\tconst getBaseCalculByCategorie = () => {\n\t\tif(baseCalculFields[categorieDossier.code]) {\n\t\t\treturn baseCalculFields[categorieDossier.code].reduce((acc, curr) => parseFloat(curr) + parseFloat(acc));\n\t\t}\n\n\t\treturn null;\n\t};\n\n\tconst baseCalculCurrentCategorie = getBaseCalculByCategorie();\n\n\treturn
\n\t\t
\n\t\t\t
\n\t\t\t\t

{t(\"createFolder.budget.titles.budgetDepenses\")}

\n\t\t\t
\n\t\t\t{viewModel?.depenses?.map((itemViewModel, i) => (\n\t\t\t\t
\n\t\t\t\t\t\n\n\t\t\t\t\t{(\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\titemViewModel.type === TypeDepense.BudgetPrevisionnelDepenses &&\n\t\t\t\t\t\t\tcategorieDossier.code === CategorieDossier.AidePromotionImage\n\t\t\t\t\t\t) ||\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\titemViewModel.type === TypeDepense.AutresDepenses &&\n\t\t\t\t\t\t\tcategorieDossier.code === CategorieDossier.Fortissimo\n\t\t\t\t\t\t) ||\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\titemViewModel.type === TypeDepense.BudgetRepetitionsEtEnregistrements &&\n\t\t\t\t\t\t\tcategorieDossier.code === CategorieDossier.BODramatiqueChoregraphique\n\t\t\t\t\t\t)\n\t\t\t\t\t) && (\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\t{t(\"createFolder.budget.titles.baseCalculApi\")}\n\t\t\t\t\t\t\t{formatNumber(baseCalculCurrentCategorie)} €\n\t\t\t\t\t\t

\n\t\t\t\t\t)}\n\t\t\t\t
\n\t\t\t))}\n\t\t
\n\t\t
\n\t\t\t
\n\t\t\t\t

{t(\"createFolder.budget.titles.budgetFinancement\")}

\n\t\t\t
\n\t\t\t{viewModel?.financements?.map((itemViewModel, index) => {\n\t\t\t\tconst i = index + (viewModel?.depenses.length || 0 )\n\t\t\t\treturn
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t})}\n\t\t
\n\t\t{viewModel.hasBalance &&\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t}\n\t\t
\n\t\t\t
\n\t\t\t\t

{t(\"createFolder.budget.titles.infosComplementaires\")}

\n\t\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t{files && files.length < 3 &&\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t}\n\t\t\t\t\t\t{files && files.length > 0 && files.filter(f => f.partName.indexOf('generalFiles-') !== -1).length > 0 && (\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t{files.filter(f => f.partName.indexOf('generalFiles-') !== -1).map((file, i) => (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{file.fileName}\n\t\t\t\t\t\t\t\t\t\t deleteFile(file)}>\n\t\t\t\t\t\t\t\t\t\t{files.filter(f => f.partName.indexOf('generalFiles-') !== -1).length === 1\n\t\t\t\t\t\t\t\t\t\t\t|| files.filter(f => f.partName.indexOf('generalFiles-') !== -1).indexOf(file) === files.filter(f => f.partName.indexOf('generalFiles-') !== -1).length - 1\n\t\t\t\t\t\t\t\t\t\t\t? '' : ', '}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t)}\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t\t{viewModel.hasBalance && (resultBalance() !== 0) &&\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
{t(\"validation-messages.invalid-balance\")}
\n\t\t\t\t
\n\t\t\t
\n\t\t}\n
;\n});\n\nexport default Budget;","import React, {useState, useEffect} from 'react'\nimport Loader from 'react-loader-spinner'\nimport { useTranslation } from 'react-i18next';\nimport { useAxios } from '../../custom-hooks/useAxios';\nimport { DossierClient, CommissionDto } from '../../services/generated/FrontOffice-api';\nimport { RouteComponentProps } from '@reach/router';\n\ninterface ValidationProps extends RouteComponentProps {\n dossierId: string;\n}\n\n\nfunction MessageValidation(props: ValidationProps) {\n const { t, i18n } = useTranslation();\n const axiosInstance = useAxios();\n const dossierClient = new DossierClient(\"\", axiosInstance);\n const [commission, setCommission] = useState(undefined);\n const fullDateOptions:Intl.DateTimeFormatOptions = { year: 'numeric', month: 'long', day: 'numeric' };\n\n useEffect(() => {\n\t\t(async () => {\n\t\t\tconst result = await dossierClient.getDossierCommission(props.dossierId);\n setCommission(result);\n })();\n }, [props.dossierId])\n\n\n return (
\n {commission ?
\n
\n \n
    \n
  • {t('createFolder.finalValidation.dateCommission', { dateDebut: new Date(commission.dateDebut).toLocaleDateString(i18n.language, fullDateOptions), dateFin: new Date(commission.dateFin).toLocaleDateString(i18n.language, fullDateOptions)})}
  • \n
  • {t('createFolder.finalValidation.dateLimite', { dateLimite: new Date(commission.dateFinSoumission).toLocaleDateString(i18n.language, fullDateOptions)})}
  • \n
  • {t('createFolder.finalValidation.warningDeletion')}
  • \n
\n
\n\t\t\t
\n\t\t\t: props.dossierId && \n \n\t\t}\n
);\n};\nexport default MessageValidation\n","import React, { useState, useRef, useEffect, useContext, useMemo } from \"react\";\n\nimport { AuthenticatedRoute } from '../../containers/AuthenticatedRoute';\nimport Structures from '../../containers/structures/Structure';\nimport { RouteComponentProps, navigate, Router } from '@reach/router';\n\nimport { useTranslation } from 'react-i18next';\nimport Subtitles from '../basics/Subtitles';\nimport FormButton from 'adel-shared/dist/components/basics/FormButton';\n\nimport ValidationPart1 from './creationDossier/ValidationPart1';\nimport ValidationPart2 from './creationDossier/ValidationPart2';\nimport Criteres from './creationDossier/Criteres';\nimport TypeDossier from './creationDossier/TypeDossier';\nimport ChiffresCles from './creationDossier/ChiffresCles';\nimport LieuxDates from './creationDossier/LieuxDates';\nimport Enseignants from './creationDossier/Enseignants';\nimport Description from './creationDossier/Description';\nimport Validation from './creationDossier/Validation';\nimport { useDossierSteps } from '../../custom-hooks/useSteps';\nimport { CreationDossierSteps, EtapeCreationPlus } from '../../context/CreationDossierSteps';\n\nimport { AppStateContext } from '../../context/AppContext';\nimport {\n\tStructureClient,\n\tDossierClient,\n\tEtapeCreationDossier,\n\tCreateLieuDto,\n\tLieuxDto,\n\tCurrentDossierInfoDto,\n\tCategorieDossierDto\n} from '../../services/generated/FrontOffice-api';\nimport { useAxios } from '../../custom-hooks/useAxios';\nimport { UpdateLieuToSend } from '../../models/IDossier';\n\nimport FEST from \"../../assets/img/categorieDossier/FEST.png\";\nimport BO from \"../../assets/img/categorieDossier/BO.png\";\nimport DRAMA from \"../../assets/img/categorieDossier/DRAMA.png\";\nimport ECOLE from \"../../assets/img/categorieDossier/ECOLE.png\";\nimport FILM from \"../../assets/img/categorieDossier/FILM.png\";\nimport INT from \"../../assets/img/categorieDossier/INT.png\";\nimport MUSICAL from \"../../assets/img/categorieDossier/MUSICAL.png\";\nimport PROMO from \"../../assets/img/categorieDossier/PROMO.png\";\nimport FORTI from \"../../assets/img/categorieDossier/FORTI.png\";\nimport INTGEN from \"../../assets/img/categorieDossier/INTGEN.png\";\nimport SOIRART from \"../../assets/img/categorieDossier/SOIRART.png\";\nimport DIFFLIEU from \"../../assets/img/categorieDossier/DIFFLIEU.png\";\nimport AIDERES from \"../../assets/img/categorieDossier/AIDERES.png\";\nimport DIFFAVIG from \"../../assets/img/categorieDossier/DIFFAVIG.png\";\nimport ASA from \"../../assets/img/categorieDossier/ASA.png\";\nimport AUTRE from \"../../assets/img/categorieDossier/AUTRE.png\";\nimport { Dictionary } from 'adel-shared/dist/models';\nimport { ActionTypeEnum } from '../../context/ActionType';\nimport { Link } from '@reach/router';\nimport { toast } from \"react-toastify\";\nimport ContratsCachets from \"./creationDossier/ContratsCachets\";\nimport InfosProjet from \"./creationDossier/InfosProjet\";\nimport SalarieArtistes from \"./creationDossier/SalarieArtistes\";\nimport Trajets from \"./creationDossier/Trajets\";\nimport Budget from \"./creationDossier/Budget\";\nimport Loader from 'react-loader-spinner';\nimport clsx from 'clsx';\nimport { CategorieDossier } from '../../enums/Dossiers';\nimport MessageValidation from \"./MessageValidation\";\n\nexport interface StepRef {\n\tvalidateForm: () => Promise;\n}\n\ninterface CreationDossierProps extends RouteComponentProps {\n}\n\nconst CreationDossier: React.FunctionComponent = () => {\n\tconst { t } = useTranslation();\n\tconst [context, dispatch] = useContext(AppStateContext);\n\tconst axiosInstance = useAxios();\n\tconst structureClient = new StructureClient(\"\", axiosInstance);\n\tconst dossierClient = new DossierClient(\"\", axiosInstance);\n\n\t// States des infos à envoyer/récupérer à l'API\n\tconst [newPrestation, setNewPrestation] = useState({});\n\tconst [modifyPrestation, setModifyPrestation] = useState({ lieu: {}, id: '' });\n\n\n\t// Navigation step\n\tconst { steps, getNextStep, mergeSteps, isHigherOrCurrentStep, getStepIndex } = useDossierSteps();\n\tconst [canGoNext, setCanGoNext] = useState(false); // Pour les boutons Suivant\n\tconst [isFormValid, setIsFormValid] = useState(false); // Pour les boutons Valider\n\n\n\t//\n\tconst [dossierId, setDossierId] = useState(context.currentEditingDossier.id);\n\tconst [categorieDossierId, setCategorieDossierId] = useState(context.currentEditingDossier.categorieId);\n\tconst [currentStep, setCurrentStep] = useState(EtapeCreationDossier.ValidationStructure); // Initialized from context in the below useEffect\n\tconst [stepsInitialized, setStepsInitialized] = useState(false);\n\tconst [isRedirectedFromValidationStep, setIsRedirectedFromValidationStep] = useState(false);\n\tconst [categorieDossier, setCategorieDossier] = useState({});\n\n\tconst dynamicStepsLoaded = useMemo(() => { return steps.length > 4; }, [steps]);\n\n\t// Checkbox\n\tconst [criteriaRead, setCriteriaRead] = useState(false);\n\n\t// Validation & refs\n\tconst refs: { [key: string]: React.MutableRefObject; } = {\n\t\t[EtapeCreationDossier.ValidationStructure]: useRef(null),\n\t\t[EtapeCreationPlus.ValidationStructure2]: useRef(null),\n\t\t[EtapeCreationDossier.Type]: useRef(null),\n\t\t[EtapeCreationDossier.Criteres]: useRef(null),\n\t\t[EtapeCreationDossier.InformationsProjet]: useRef(null),\n\t\t[EtapeCreationDossier.LieuxDates]: useRef(null),\n\t\t[EtapeCreationDossier.ChiffresCles]: useRef(null),\n\t\t[EtapeCreationDossier.SalarieArtistes]: useRef(null),\n\t\t[EtapeCreationDossier.ContratsCachets]: useRef(null),\n\t\t[EtapeCreationDossier.Enseignants]: useRef(null),\n\t\t[EtapeCreationDossier.Budget]: useRef(null),\n\t\t[EtapeCreationDossier.DescriptionProjet]: useRef(null),\n\t\t[EtapeCreationDossier.Validation]: useRef(null),\n\t\t[EtapeCreationDossier.Trajets]: useRef(null)\n\t};\n\n\t// Images des icônes de catégories\n\tconst categorieTypeImgDic: Dictionary = {\n\t\tFEST,\n\t\tBO,\n\t\tDRAMA,\n\t\tECOLE,\n\t\tFILM,\n\t\tINT,\n\t\tMUSICAL,\n\t\tPROMO,\n\t\tFORTI,\n\t\tINTGEN,\n\t\tSOIRART,\n\t\tASA,\n\t\tDIFFLIEU,\n\t\tAIDERES,\n\t\tDIFFAVIG,\n\t\tAUTRE\n\t}\n\n\n\t/** LieuxDates Post & view */\n\tconst [isEditMode, setEditMode] = useState(false);\n\tconst [isLoading, setIsLoading] = useState(false);\n\tconst [lieuxList, setLieuxList] = useState([]);\n\n\tconst goBackToViewMode = async () => {\n\t\tif (refs[currentStep] && refs[currentStep].current) {\n\t\t\tlet isValid = await refs[currentStep].current.validateForm();\n\t\t\tif (isValid) setEditMode(false);\n\t\t}\n\t}\n\n\t/** Criterias & Create Dossier */\n\tconst createDossier = async () => {\n\t\ttry {\n\t\t\tdispatch({ type: ActionTypeEnum.CREATE_DOSSIER_REQUEST });\n\t\t\tvar dossier = await dossierClient.createDossier({ categorieId: categorieDossierId });\n\t\t\tlet firstStepAfterDossierCreation = getNextStep(EtapeCreationDossier.Criteres);\n\t\t\tdispatch({\n\t\t\t\ttype: ActionTypeEnum.CREATE_DOSSIER_SUCCESS, payload: {\n\t\t\t\t\tdossierId: dossier.id,\n\t\t\t\t\tcategorieId: dossier.categorieId,\n\t\t\t\t\tstate: {\n\t\t\t\t\t\tcurrentStep: firstStepAfterDossierCreation\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t\t\tsetDossierId(dossier.id);\n\t\t\tsetCategorieDossierId(dossier.categorieId);\n\t\t} catch (error) {\n\t\t\tif (error.exception?.message) {\n\t\t\t\ttoast.error(error.exception.message);\n\t\t\t}\n\t\t}\n\t}\n\n\tuseEffect(() => {\n\t\tif (dossierId === null || dossierId === undefined || dossierId === \"\") {\n\t\t\tif (criteriaRead) (async function () { await createDossier() })();\n\t\t}\n\t}, [criteriaRead]); // VFA: Pas convaincu de l'approche pour gérer le state des critères de dossier.\n\n\t// Initialize currentStep from context\n\tuseEffect(() => {\n\t\tif (!stepsInitialized && dynamicStepsLoaded) {\n\t\t\tif (dossierId) {\n\t\t\t\tlet firstStepAfterDossierCreation = getNextStep(EtapeCreationDossier.Criteres);\n\t\t\t\tsetCurrentStep(context.dossierStates[dossierId] ? context.dossierStates[dossierId]?.currentStep : firstStepAfterDossierCreation);\n\t\t\t\tgetInfosDossier();\n\t\t\t}\n\t\t\tsetStepsInitialized(true);\n\t\t}\n\t}, [dynamicStepsLoaded, stepsInitialized]);\n\n\tuseEffect(() => {\n\t\tif (categorieDossierId) {\n\t\t\t(async function () {\n\t\t\t\tconst types = await structureClient.getStructureCategoriesDossier(); // Pour récupérer de nom de la catégorie où on est\n\t\t\t\tconst steps = await dossierClient.getEtapesCreationDossier(categorieDossierId);\n\t\t\t\tmergeSteps(steps);\n\t\t\t\tconst categorie = types.find(c => c.id === categorieDossierId);\n\t\t\t\tif (categorie) {\n\t\t\t\t\tsetCategorieDossier(categorie);\n\t\t\t\t}\n\t\t\t})();\n\t\t}\n\t}, [categorieDossierId])\n\n\tuseEffect(() => {\n\t\tif (!dossierId || dossierId && stepsInitialized) {\n\t\t\tconsole.debug(`useEffect navigate to ${currentStep}`);\n\t\t\tnavigate(`/Dossiers/Creation/${currentStep}`);\n\t\t\tdossierId && dispatch({ type: ActionTypeEnum.UPDATE_DOSSIER_STATE, payload: { dossierId: dossierId, categorieId: categorieDossierId, state: { currentStep: currentStep } } });\n\t\t}\n\t}, [currentStep, stepsInitialized]);\n\n\n\n\t/** Info dossier */\n\tconst [infoDossier, setInfoDossier] = useState();\n\tconst getInfosDossier = async () => {\n\t\ttry {\n\t\t\tconst result = await dossierClient.getCurrentDossierInfo(dossierId);\n\t\t\tsetInfoDossier(result);\n\t\t} catch(error) {\n\t\t\tconsole.error(error)\n\t\t}\n\t}\n\n\tconst nextStep = async () => {\n\t\tif (refs[currentStep] && refs[currentStep].current) {\n\t\t\ttry {\n\t\t\t\tlet isValid = await refs[currentStep].current.validateForm();\t\t\n\t\t\t\t\n\t\t\t\tlet nextStep = getNextStep(currentStep);\n\n\t\t\t\t/** Si le currentStep est valide OU si le currentStep est valide et n'a pas de changement au niveau de ses documents */\n\t\t\t\tif (isValid) {\n\t\t\t\t\tsetCurrentStep(nextStep);\n\t\t\t\t}\n\t\t\t} catch(error) {\n\t\t\t\tif (error.exception?.message) {\n\t\t\t\t\ttoast.error(error.exception.message);\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\ttoast.error(\"nextStep was called but references were not initialized. Please contact your Dev Team.\");\n\t\t}\n\t}\n\n\tconst navigateToStep = async (targetStep: CreationDossierSteps): Promise => {\n\t\tsetIsRedirectedFromValidationStep(false); // reinit value\n\t\t// If trying to access to current step : do nothing\n\t\tif (targetStep === currentStep) return;\n\n\t\t// If trying to access to already filled step, allow navigation\n\t\tif (isHigherOrCurrentStep(targetStep, currentStep)) {\n\t\t\tsetIsRedirectedFromValidationStep(true);\n\t\t\tsetCurrentStep(targetStep);\n\t\t\treturn;\n\t\t}\n\n\t\tawait nextStep();\n\t}\n\n\t// Validate button label\n\tconst labelValidateButton = () => {\n\t\tswitch(currentStep) {\n\t\t\tcase EtapeCreationDossier.ValidationStructure:\n\t\t\t\treturn t('createFolder.buttons.validate1');\n\t\t\tcase EtapeCreationPlus.ValidationStructure2:\n\t\t\t\treturn t('createFolder.buttons.validate2');\n\t\t\tcase EtapeCreationDossier.Validation:\n\t\t\t\treturn t('createFolder.buttons.submit');\n\t\t\tdefault:\n\t\t\t\treturn t('createFolder.buttons.next');\n\t\t}\n\t}\n\n\tconst isIGDerivates = () => {\n return categorieDossier.code === CategorieDossier.DiffusionSpectacleVivantLabelisationReseauSPEDIDAM1 \n\t || categorieDossier.code === CategorieDossier.DiffusionSpectacleVivantLabelisationReseauSPEDIDAM2\n\t || categorieDossier.code === CategorieDossier.CreationAideSalons\n\t || categorieDossier.code === CategorieDossier.CreationSoutienFestival\n\t || categorieDossier.code === CategorieDossier.EducationArtistiqueCulturelleAideActionsEducation\n\t\t\t || categorieDossier.code === CategorieDossier.DiffusionSpectacleVivantRemisePrixArtistique\n\t\t\t || categorieDossier.code === CategorieDossier.DiffusionSpectacleVivantRemiseEmissionTeleviseeMusicale\n\t}\n\n\tconst renderMenu = () => {\n\t\t// Show static menu (3 static steps) when current step index < 4 || when additional dynamic steps are loaded\n\t\tif (getStepIndex(currentStep) >= 0 && getStepIndex(currentStep) < 4 || dynamicStepsLoaded)\n\t\t\treturn
    \n\t\t\t\t
  • isHigherOrCurrentStep(EtapeCreationDossier.ValidationStructure, currentStep) && navigateToStep(EtapeCreationDossier.ValidationStructure)}\n\t\t\t\t>\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t{t(\"createFolder.menu.validationStructure\")}\n\t\t\t\t
  • \n\t\t\t\t
  • isHigherOrCurrentStep(EtapeCreationDossier.Type, currentStep) && navigateToStep(EtapeCreationDossier.Type)}\n\t\t\t\t>\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t{t(\"createFolder.menu.type\")}\n\t\t\t\t
  • \n\t\t\t\t
  • {\n\t\t\t\t\t\tisHigherOrCurrentStep(EtapeCreationDossier.Criteres, currentStep) && navigateToStep(EtapeCreationDossier.Criteres)\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t{t(\"createFolder.menu.criteres\")}\n\t\t\t\t
  • \n\t\t\t\t{// On commence à partir de l'index 4 car les quatres premiers correspondent aux steps fixes du dessus\n\t\t\t\t\tdynamicStepsLoaded && steps && steps.slice(4).map((step, i) => (\n\t\t\t\t\t\t
  • isHigherOrCurrentStep(step, currentStep) && navigateToStep(step)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcategorieDossier.code === CategorieDossier.Fortissimo && step === EtapeCreationDossier.LieuxDates\n\t\t\t\t\t\t\t\t? t(\"createFolder.menu.lieuDate\")\n\t\t\t\t\t\t\t\t: t(`createFolder.menu.${step}`, {text: isIGDerivates() ? \" (le cas échéant)\" : \"\"})\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t
  • \n\t\t\t\t\t))\n\t\t\t\t}\n\t\t\t
\n\t}\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{t(\"navigation.folder\")}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t|\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{t(\"navigation.createFolder\")}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t{infoDossier &&\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t{infoDossier.structureNom} - {infoDossier.commissionNom} - {t(\"createFolder.form.categorie\")} {infoDossier.categorieNom} \n\t\t\t\t\t\t
\n\t\t\t\t\t}\n\t\t\t\t\t
\n\t\t\t\t\t\t{renderMenu()}\n\n\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{steps?.filter(item => item === EtapeCreationDossier.InformationsProjet).length !== 0 &&\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t{steps?.filter(item => item === EtapeCreationDossier.LieuxDates).length !== 0 &&\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t{steps?.filter(item => item === EtapeCreationDossier.ChiffresCles).length !== 0 &&\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t{steps?.filter(item => item === EtapeCreationDossier.SalarieArtistes).length !== 0 &&\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t{steps?.filter(item => item === EtapeCreationDossier.ContratsCachets).length !== 0 &&\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t{steps?.filter(item => item === EtapeCreationDossier.Trajets).length !== 0 &&\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t{steps?.filter(item => item === EtapeCreationDossier.Enseignants).length !== 0 &&\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t{steps?.filter(item => item === EtapeCreationDossier.Budget).length !== 0 &&\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t{steps?.filter(item => item === EtapeCreationDossier.DescriptionProjet).length !== 0 &&\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t{steps?.filter(item => item === EtapeCreationDossier.Validation).length !== 0 &&\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{t('createFolder.form.mandatory-fields')}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{currentStep === EtapeCreationDossier.Validation && (\n\t\t\t\t\t\t\t\t\t navigate('/Structures')}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{!isEditMode && (!isLoading\n\t\t\t\t\t\t\t\t\t? \n\t\t\t\t\t\t\t\t\t: )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t{isEditMode && (!isLoading\n\t\t\t\t\t\t\t\t\t? \n\t\t\t\t\t\t\t\t\t: )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t);\n};\n\nexport default CreationDossier;","import React, { useState } from 'react';\r\nimport { Link, RouteComponentProps, useParams } from '@reach/router';\r\nimport StructuresHeader from \"../../components/structures/dossiers/StructuresHeader\";\r\nimport Footer from \"../../components/basics/Footer\";\r\nimport { useEffect } from 'react';\r\nimport {\r\n CreateOrUpdateResponsableDossierDto,\r\n CurrentDossierInfoDto,\r\n DossierClient,\r\n DossierDetailsDto,\r\n StatutDossier,\r\n StructureClient,\r\n\tDossierInfosProjetViewModelDto,\r\n\tDescriptionProjetViewModelDto\r\n} from '../../services/generated/FrontOffice-api';\r\nimport { useAxios } from '../../custom-hooks/useAxios';\r\nimport { useTranslation } from 'react-i18next';\r\nimport FormButton from 'adel-shared/dist/components/basics/FormButton';\r\nimport { toast } from 'react-toastify';\r\nimport Loader from 'react-loader-spinner';\r\nimport { useForm } from 'react-hook-form';\r\nimport InfosResponsableDossier from \"./InfosResponsableDossier\";\r\nimport i18next from 'i18next';\r\nimport DetailsDossierContent from './detailsDossier/DetailsDossierContent';\r\nimport ModalValidateCancel from '../basics/ModalValidateCancel';\r\nimport useBooleanState from 'adel-shared/dist/custom-hooks/useBooleanState';\r\n\r\ninterface DetailsDossierProps extends RouteComponentProps {\r\n}\r\n\r\nconst DetailsDossier: React.FunctionComponent = () => {\r\n\tconst { t } = useTranslation();\r\n const axiosInstance = useAxios();\r\n const structureClient = new StructureClient(\"\", axiosInstance);\r\n const dossierClient = new DossierClient(\"\", axiosInstance);\r\n const location = useParams();\r\n\tconst dossierId = location.dossierId;\r\n\tconst [infoDossier, setInfoDossier] = useState({});\r\n const [isRenoncerLoading, setIsRenoncerLoading] = useState('start');\r\n const [isSubmitLoading, setIsSubmitLoading] = useState(false);\r\n const responsableForm = useForm({});\r\n const [dossierDetails, setDossierDetails] = useState({});\r\n const [descrProj, setDescrProj] = useState();\r\n const [infosProjet, setInfosProjet] = useState();\r\n const [isModalOpen, openModal, closeModal] = useBooleanState(false);\r\n\r\n useEffect(() => {\r\n (async() => {\r\n const resultDetails = await dossierClient.getDossierDetails(dossierId);\r\n setDossierDetails(resultDetails);\r\n\r\n const responsableDossier = resultDetails.responsable || {};\r\n\r\n\t\t\tconst resultInfosDossier = await dossierClient.getCurrentDossierInfo(dossierId);\r\n setInfoDossier(resultInfosDossier);\r\n\r\n\t\t\tif(!Object.keys(responsableDossier).length) {\r\n const resultResponsable = await structureClient.getStructureCorrespondantAdministratif();\r\n responsableForm.setValue(Object.entries(resultResponsable).map(([key, value]) => ({\r\n [key]: value\r\n })));\r\n } else {\r\n responsableForm.setValue(Object.entries(responsableDossier).map(([key, value]) => ({\r\n [key]: value\r\n })));\r\n }\r\n\r\n\t\t\tconst resultProjet = await dossierClient.getInfosProjetViewModel(dossierId);\r\n\t\t\tsetInfosProjet(resultProjet);\r\n\t\t\tconst resulDescr = await dossierClient.getDescriptionProjetViewModel(dossierId);\r\n\t\t\tsetDescrProj(resulDescr);\r\n })();\r\n }, []);\r\n const handleSubmit = async() => {\r\n if ((!responsableForm.getValues().telephoneFixe && !responsableForm.getValues().telephonePortable)) {\r\n toast.error(t('detailsFolder.structurePresident.president') + ': ' + t('errors.telephone'));\r\n return;\r\n }\r\n const isValid = await responsableForm.triggerValidation();\r\n if(!isValid) {\r\n\t\t\ttoast.error(t('common.validation-error.message'));\r\n return;\r\n }\r\n setIsSubmitLoading(true);\r\n try {\r\n await dossierClient.setResponsableDossier(dossierId, responsableForm.getValues());\r\n toast.success(t('createFolder.responsableDossier.success'));\r\n } catch(error) {\r\n if(error.code && i18next.exists(`createFolder.responsableDossier.errors.${error.code}`)) {\r\n toast.error(t(`createFolder.responsableDossier.errors.${error.code}`));\r\n } else if(error.exception?.message) {\r\n toast.error(error.exception.message);\r\n\t\t\t} else {\r\n toast.error(t('createFolder.responsableDossier.errors.default'));\r\n }\r\n }\r\n setIsSubmitLoading(false);\r\n };\r\n\r\n const handleRenoncerDossierClick = async() => {\r\n setIsRenoncerLoading('idle');\r\n closeModal()\r\n try {\r\n await dossierClient.renonciationDossier(dossierId);\r\n toast.success(t('detailsFolder.renonciation.success'));\r\n setIsRenoncerLoading('close');\r\n } catch(error) {\r\n toast.error(t('detailsFolder.renonciation.error'));\r\n setIsRenoncerLoading('start');\r\n }\r\n \r\n };\r\n\r\n const handlePrintClick = () => {\r\n window.print();\r\n };\r\n\r\n return (\r\n
\r\n
\r\n\t\t\t\t\r\n
\r\n \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{t(\"navigation.folder\")}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t|\r\n\r\n\t\t\t\t\t\t\r\n {t('detailsFolder.title')} {infoDossier.dossierNom}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n

\r\n {t('detailsFolder.title')} {infoDossier.dossierNom}\r\n

\r\n\r\n
\r\n {(infoDossier.commissionNom && infoDossier.categorieNom) && (\r\n <>\r\n {infoDossier.commissionNom} - {t(\"createFolder.form.categorie\")} {infoDossier.categorieNom}\r\n \r\n )}\r\n
\r\n\r\n

{t('detailsFolder.structurePresident.title')}

\r\n\r\n
\r\n \r\n
\r\n\r\n\t\t\t\t\t\r\n\r\n
\r\n {(StatutDossier[infoDossier.dossierStatut as keyof typeof StatutDossier] === StatutDossier.Accepte) && isRenoncerLoading !== 'close' && (\r\n
\r\n {isRenoncerLoading === 'idle' ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n )}\r\n\r\n
\r\n {isSubmitLoading ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n
\r\n
\r\n \r\n
\r\n

{t('structure.dossiers.renonciation')}

\r\n
\r\n \r\n
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default DetailsDossier;","import React from \"react\";\nimport { KeyboardEvent } from \"react\";\nimport { ErrorMessage } from \"react-hook-form\";\nimport Loader from 'react-loader-spinner';\nimport \"react-loader-spinner/dist/loader/css/react-spinner-loader.css\";\n\ninterface InputValidationMonCompteStructureProps {\n name:string;\n reference: any;\n label: string;\n placeHolder: string;\n maxLength?: number;\n type?: string;\n buttonLabel: string;\n onChange?: (value: string) => void;\n onValidate?: () => void;\n validated: boolean;\n errors?: any;\n isLoading?: boolean;\n\tonPaste?: (event: React.ClipboardEvent) => void;\n\tonInput?: (e?: KeyboardEvent) => void;\n\terrorMessageCusto?: string;\n}\n\nconst InputValidationMonCompteStructure: React.FunctionComponent = ({\n name,\n buttonLabel,\n label,\n placeHolder,\n maxLength,\n reference,\n type = 'text',\n validated,\n errors,\n onChange,\n onValidate,\n isLoading,\n\tonPaste,\n onInput,\n\terrorMessageCusto\n}) => {\n return (\n
\n {label}\n\n
\n {\n if (onChange) onChange(e.target.value)\n }}\n onPaste={onPaste}\n onInput={onInput}\n />\n {\n isLoading ?\n \n : validated ?\n \n : \n }\n
\n\n {errors &&\n \n {({ message }) =>

{message}

}\n
\n }\n {errorMessageCusto &&\n

{errorMessageCusto}

\n }\n
\n )\n}\n\nexport default InputValidationMonCompteStructure;","import React, { FunctionComponent, KeyboardEvent, useContext, useEffect, useRef, useState } from \"react\";\nimport { useTranslation } from 'react-i18next';\nimport { navigate, RouteComponentProps } from '@reach/router';\nimport { AdresseDto, FormeJuridiqueDto, StructureClient, StructureDetailsDto } from '../../services/generated/FrontOffice-api';\nimport FormButton from 'adel-shared/dist/components/basics/FormButton';\nimport { useForm } from \"react-hook-form\";\nimport useValidation from \"../../custom-hooks/useValidation\";\nimport Input from 'adel-shared/dist/components/basics/Input';\nimport Modal from 'react-modal';\nimport { modalSmallerCustomStyles } from \"../../constants/config.constant\";\nimport { AppStateContext } from '../../context/AppContext';\nimport { ActionTypeEnum } from \"../../context/ActionType\";\nimport InputValidationMonCompteStructure from \"./InputValidationMonCompteStructure\";\nimport { toast } from \"react-toastify\";\nimport { useAxios } from \"../../custom-hooks/useAxios\";\nimport { formatPhone } from 'adel-shared/dist/utils/functions';\n\ninterface MonCompteStructureProps extends RouteComponentProps {\n\tref: any;\n\tstructureDetails: StructureDetailsDto\n\tsetStructureDetails: (value:StructureDetailsDto) => void;\n\n}\n\nconst MonCompteStructure: FunctionComponent = ({\n\tstructureDetails, setStructureDetails\n}) => {\n\tconst { t } = useTranslation();\n\tconst axiosInstance = useAxios();\n\tconst structureClient = new StructureClient('', axiosInstance);\n\tconst [, dispatch] = useContext(AppStateContext);\n\tconst { register, getValues, setValue, triggerValidation, errors, watch } = useForm();\n\tconst watchFields = watch();\n\tconst { getRootValidator } = useValidation();\n\tconst updateStructureJuridiqueValidator = getRootValidator(\"UpdateStructureJuridiqueDto\");\n\tconst [isUpdateModalOpen, setIsUpdateModalOpen] = useState(false);\n\tconst [isLoading, setIsLoading] = useState(false);\n\tconst [editInput, setEditInput] = useState(false);\n\tconst [dataUpdated, setDataUpdated] = useState(false);\n\tconst [oldSiretValue, setOldSiretValue] = useState('');\n\tconst [siretValidated, setSiretValidated] = useState(false);\n\tconst [isSiretValidated, setIsSiretValidated] = useState(true);\n\tconst adresse = useRef({});\n\tconst formeJuridique = useRef({});\n\tconst siren = structureDetails.siret?.substring(0, 9);\n\tconst updatesRequiringDocuments = watchFields.nom !== structureDetails.representantLegal?.nom || \n\t\t\t\t\t\t\t\t\twatchFields.prenom !== structureDetails.representantLegal?.prenom ||\n\t\t\t\t\t\t\t\t\twatchFields.siret !== structureDetails.siret;\t\n\n\tuseEffect(() => {\n\t\tModal.setAppElement('body');\n\t}, []);\n\t\n const CheckSirenValidation = async() => {\n\t\tstructureClient.getStructureInfoFromSiret(structureDetails.siret, structureDetails.id && parseInt(structureDetails.id)).catch(()=> {\n\t\t\tsetIsSiretValidated(false)\n\t\t})\n\t}\n\n\tuseEffect(() => {\n\t\tif (structureDetails?.siret) {\n\t\t\tCheckSirenValidation()\n\t\t}\n\t}, [structureDetails]);\n\n\tuseEffect(() => {\n\t\tconst {\n\t\t\tsiret,\n\t\t\traisonSociale,\n\t\t\tcodeAPE,\n\t\t\tformeJuridique: {\n\t\t\t\tcode: codeFormeJuridique\n\t\t\t} = {},\n\t\t\trepresentantLegal: {\n\t\t\t\tnom,\n\t\t\t\tprenom,\n\t\t\t\temail,\n\t\t\t\ttelephoneFixe,\n\t\t\t\ttelephonePortable\n\t\t\t} = {},\n\t\t\tadresse: {\n\t\t\t\tline1: adresseLine1,\n\t\t\t\tline2: adresseLine2\n\t\t\t} = {}\n\t\t} = structureDetails;\n\n\t\tsetValue([\n\t\t\t{ nom },\n\t\t\t{ prenom },\n\t\t\t{ email },\n\t\t\t{ siret },\n\t\t\t{ codeAPE },\n\t\t\t{ raisonSociale },\n\t\t\t{ adresse: adresseLine1 },\n\t\t\t{ formeJuridique: codeFormeJuridique },\n\t\t\t{ telephoneFixe },\n\t\t\t{ telephonePortable }\n\t\t]);\n\t\tadresse.current = structureDetails.adresse;\n\t\tformeJuridique.current = structureDetails.formeJuridique;\n\t\tsetOldSiretValue(siret);\n\n\t\tif(adresseLine2) {\n\t\t\tsetValue([\n\t\t\t\t{ line2: adresseLine2 }\n\t\t\t]);\n\t\t}\n\t}, [structureDetails, editInput]);\n\n\tconst handleSubmit = async() => {\n\t\tconst result = await triggerValidation();\n\n\t\tif(!result) return;\n\n if (!getValues().telephoneFixe && !getValues().telephonePortable) {\n\t\t\ttoast.error(t('errors.telephone'));\n\t\t\treturn;\n\t\t}\n\n\t\tif(updatesRequiringDocuments) {\n\t\t\tsetStructureDetails({...structureDetails, representantLegal: {...structureDetails.representantLegal, nom: watchFields.nom, prenom: watchFields.prenom}, siret: watchFields.siret});\n\t\t\tsetIsUpdateModalOpen(true);\n\t\t} else {\n\t\t\ttry {\n\t\t\t\tconst {\n\t\t\t\t\tsiret,\n\t\t\t\t\traisonSociale,\n\t\t\t\t\tcodeAPE,\n\t\t\t\t\tnom,\n\t\t\t\t\tprenom,\n\t\t\t\t\temail,\n\t\t\t\t\ttelephoneFixe,\n\t\t\t\t\ttelephonePortable\n\t\t\t\t} = getValues();\n\n\t\t\t\tawait structureClient.updateStructureJuridique({\n\t\t\t\t\tsiret,\n\t\t\t\t\traisonSociale,\n\t\t\t\t\tcodeAPE,\n\t\t\t\t\tadresse: adresse.current,\n\t\t\t\t\tformeJuridique: formeJuridique.current,\n\t\t\t\t\tnomResponsable: nom,\n\t\t\t\t\tprenomResponsable: prenom,\n\t\t\t\t\temailResponsable: email,\n\t\t\t\t\ttelephoneFixe,\n\t\t\t\t\ttelephonePortable\n\t\t\t\t});\n\t\t\t\tconst structureDetailsDto = await structureClient.getStructureDetails();\n\t\t \tsetStructureDetails(structureDetailsDto);\n\t\t\t\ttoast.success(t('myAccount.structureUpdateSuccess'));\n\t\t\t} catch(error) {\n\t\t\t\ttoast.error(t('myAccount.structureUpdateError'));\n\t\t\t\t\n\t\t\t\tif (error.exception?.message)\n\t\t\t\t\ttoast.error(error.exception.message);\n\t\t\t}\n\t\t}\n\t};\n\n\tconst handleUpdateModalClose = () => {\n\t\tsetIsUpdateModalOpen(false)\n\t};\n\n\tconst handleUpdateModalValidate = () => {\n\t\tconst { siret, raisonSociale, formeJuridique, nom, prenom, email } = getValues();\n\t\tdispatch({\n\t\t\ttype: ActionTypeEnum.UPDATE_STRUCTURE,\n\t\t\tpayload: {\n\t\t\t\t...structureDetails,\n\t\t\t\tsiret,\n\t\t\t\traisonSociale,\n\t\t\t\tadresse: adresse.current,\n\t\t\t\tformeJuridique: formeJuridique.current,\n\t\t\t\trepresentantLegal: {\n\t\t\t\t\t...structureDetails.representantLegal,\n\t\t\t\t\tnom,\n\t\t\t\t\tprenom,\n\t\t\t\t\temail\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\tnavigate('/Compte/PiecesJointes/edit');\n\t};\n\n\tconst handleEditClick = () => {\n\t\tsetEditInput(true);\n\t};\n\n\tconst handleCancelEdit = () => {\n\t\tsetEditInput(false);\n\t}\n\n\t// Invalidate Siret to be able to query again the api if the SIRET is modified\n\tconst invalidateSiret = async () => {\n\t\tsetSiretValidated(false);\n\t};\n\n\tconst handleSiretInput = (e: KeyboardEvent) => {\n\t\tlet result;\n\n\t\tif(e.currentTarget.value.indexOf(siren) === 0 || !isSiretValidated) {\n\t\t\tresult = e.currentTarget.value;\n\t\t} else {\n\t\t\tif(e.currentTarget.value) {\n\t\t\t\tresult = oldSiretValue;\n\t\t\t} else {\n\t\t\t\tresult = siren;\n\t\t\t}\n\t\t}\n\n\t\tif (typeof result === 'string') {\n\t\t\tsetValue('siret', result);\n\t\t}\n\t\t\n\t\tsetOldSiretValue(e.currentTarget.value);\n\t};\n\n\tconst validateSiret = async () => {\n\t\tif (!triggerValidation(\"siret\")) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst { siret } = getValues();\n\t\tsetIsLoading(true);\n\n\t\ttry {\n\t\t\tconst result = await structureClient.getStructureInfoFromSiret(siret, structureDetails.id && parseInt(structureDetails.id));\n\n\t\t\tif (result.isRegisteredWithAdel) {\n\t\t\t\ttoast.error(t('errors.siretAlreadyRegistered'));\n\t\t\t\tsetIsLoading(false);\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tsetSiretValidated(true);\n\n\t\t\tsetValue('raisonSociale', result.raisonSociale);\n\t\t\tif(result.adresse) {\n\t\t\t\tsetValue('adresse', result.adresse.line1);\n\t\t\t\tsetValue('line2', result.adresse.line2);\n\t\t\t\tadresse.current = result.adresse;\n\t\t\t}\n\t\t\tif (result.formeJuridique) {\n\t\t\t\tsetValue('formeJuridique', result.formeJuridique.code);\n\t\t\t\tformeJuridique.current = result.formeJuridique;\n\t\t\t}\n\t\t\tsetValue('codeAPE', result.codeAPE);\n\n\t\t\tsetIsLoading(false);\t\t\n\n\t\t\t// Vérifier si des données ont été modifiées. Si c'est le cas afficher le message d'alerte\n\t\t\tif (structureDetails.codeAPE !== result.codeAPE ||\n\t\t\t\tstructureDetails.raisonSociale !== result.raisonSociale ||\n\t\t\t\tstructureDetails.formeJuridique.code !== result.formeJuridique.code ||\n\t\t\t\tstructureDetails.adresse.line1 !== result.adresse.line1 ||\n\t\t\t\tstructureDetails.adresse.line2 !== result.adresse.line2) {\n\t\t\t\tsetDataUpdated(true);\n\t\t\t}\n\n\t\t\treturn true;\n\t\t} catch (error) {\n\t\t\tdispatch({ type: ActionTypeEnum.ERROR_OCCURRED, payload: { type: error as string } });\n\t\t\tsetSiretValidated(false);\n\t\t\tsetIsLoading(false);\n\t\t\treturn false;\n\t\t}\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t
\n\t\t\t\t{dataUpdated ?
{t('signup.step-one.alert-validation-siret')}
: \"\"}\t\n\t\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t

{t(\"myAccount.structure\")}

\t\n\t\t\t\t{!editInput && (\n\t\t\t\t\t
\n\t\t\t\t)}\t\t\t\t\n\t\t\t
\t\t\t\n\t\t\t{structureDetails.siret && (\n\t\t\t\t<>\n\t\t\t\t\t{editInput ? (\n\t\t\t\t\t\t<>\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t) : (\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t)}\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t{editInput ? (\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t)}\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t{editInput ? (\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t)}\n\t\t\t\t\t
\n\n\t\t\t\t\t{editInput ? (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t) : (\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t)}\n\n\t\t\t\n\t\t\t\t
\n\t\t\t\t\t

{t('myAccount.structureUpdateModal.title')}

\n\t\t\t\t\t

{t('myAccount.structureUpdateModal.text')}

\n\t\t\t\t\t

{t('myAccount.structureUpdateModal.text2')}

\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\n\t\t\n\t)\n};\n\nexport default MonCompteStructure;\n","import React, { useEffect, useState } from \"react\";\nimport { useTranslation } from 'react-i18next';\nimport _ from 'lodash';\nimport { RouteComponentProps } from '@reach/router';\n\nimport { useForm } from \"react-hook-form\";\nimport { useStepThreeContext } from \"../../../context/context-helpers\";\nimport { IStepThreeModel } from \"../../../models/signup\";\nimport useValidation from \"../../../custom-hooks/useValidation\";\n\nimport InputValidation from \"../../basics/InputValidation\";\nimport Input from \"../../basics/Input\";\nimport FormButton from \"adel-shared/dist/components/basics/FormButton\"\nimport { AdresseClient, BanqueClient, GeoAdresseDto, StructureDetailsDto } from '../../../services/generated/FrontOffice-api';\nimport { useAxios } from '../../../custom-hooks/useAxios';\nimport { toast } from 'react-toastify';\nimport { AdelDossierClient, CreateOrUpdateDonneesBancairesDto } from '../../../clients/AdelDossierClient';\nimport InputFileSingle, { DocumentWithFile } from 'adel-shared/dist/components/basics/InputFileSingle';\n\ninterface BancaireEditProps extends RouteComponentProps {\n setEditInput: (value:boolean) => void;\n setIsIbanValid: (value:boolean) => void;\n isIbanValid: boolean;\n defaultValue?: StructureDetailsDto;\n\tsetDefaultValue: (value:StructureDetailsDto) => void;\n}\n\nconst BancaireEdit: React.FC = ({\n\tsetEditInput,\n\tdefaultValue,\n\tisIbanValid,\n\tsetIsIbanValid,\n\tsetDefaultValue\n}) => {\n\tconst [isLoading, setIsLoading] = useState(false);\n\tconst [isDonneesLoading, setIsDonneesLoading] = useState(false);\n\tconst { t } = useTranslation();\n\tconst axiosInstance = useAxios();\n const {\n\t\tregister,\n\t\terrors,\n\t\tsetValue,\n\t\tgetValues,\n\t\ttriggerValidation,\n\t\twatch\n\t} = useForm({ defaultValues: useStepThreeContext() });\n\tconst adelDossierClient = new AdelDossierClient(\"\", axiosInstance);\n const { getRootValidator } = useValidation();\n const adresseValidator = getRootValidator(\"CreateOrUpdateAdresseDto\");\n const donneesBancairesValidator = getRootValidator(\"CreateOrUpdateDonneesBancairesDto\");\n\tconst [ribPJ, setRibPJ] = useState();\n\tconst {pays, ville, codePostal} = watch(['pays', 'ville', 'codePostal']);\n\n\tuseEffect(() => {\n\t\tif(defaultValue?.donneesBancaires) {\n\t\t\tsetValue([\n\t\t\t\t{ iban: defaultValue.donneesBancaires.iban },\n\t\t\t\t{ banque: defaultValue.donneesBancaires.banque },\n\t\t\t\t{ bic: defaultValue.donneesBancaires.bic },\n\t\t\t\t{ line1: defaultValue.donneesBancaires.adresse?.line1 },\n\t\t\t\t{ line2: defaultValue.donneesBancaires.adresse?.line2 },\n\t\t\t\t{ codePostal: defaultValue.donneesBancaires.adresse?.codePostal },\n\t\t\t\t{ ville: defaultValue.donneesBancaires.adresse?.ville }\n\t\t\t]);\n\n\t\t\tif(defaultValue?.donneesBancaires?.rib) {\n\t\t\t\tsetRibPJ({\n\t\t\t\t\tid: defaultValue.donneesBancaires.rib.id,\n\t\t\t\t\turl: defaultValue.donneesBancaires.rib.uri,\n\t\t\t\t\tfileName: defaultValue.donneesBancaires.rib.fileName\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}, [defaultValue]);\n\n\tconst handleFileChange = (file: DocumentWithFile) => {\n\t\tif(file) {\n\t\t\tsetRibPJ({fileName: file.fileName, url:file.url, file: file.file});\n\t\t} else {\n\t\t\tsetRibPJ(undefined);\n\t\t\tsetValue([\n\t\t\t\t{ iban: null},\n\t\t\t\t{ banque: null },\n\t\t\t\t{ bic: null },\n\t\t\t\t{ line1: null },\n\t\t\t\t{ line2: null },\n\t\t\t\t{ codePostal: null },\n\t\t\t\t{ ville: null },\n\t\t\t\t{ pays: null }\n\t\t\t]);\n\t\t\tsetIsIbanValid(false);\n\t\t}\n\t};\n\n\tconst [geoAdresse, setGeoAdresse] = useState([]);\n\n\tconst validateIBan = async () => {\n\t\tconst client = new BanqueClient('', axiosInstance);\n\t\tconst iban = getValues().iban.replace(/\\s/g, \"\");\n\t\tsetIsLoading(true);\n\n\t\ttry {\n\t\t\tconst result = await client.validateIban(iban)\n\n\t\t\tif (result === false) {\n\t\t\t\tsetIsIbanValid(false);\n\t\t\t\tsetIsLoading(false);\n\t\t\t\ttoast.error(t(\"validation-messages.invalid-iban\"))\n\t\t\t\treturn false;\n\t\t\t} else {\n\t\t\t\tsetIsIbanValid(true);\n\t\t\t\tsetValue([\n\t\t\t\t\t{ iban: iban },\n\t\t\t\t]);\n\t\t\t\tsetRibPJ(undefined);\n\t\t\t\tsetIsLoading(false);\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\tcatch (error) {\n\t\t\tsetIsIbanValid(false);\n\t\t\tsetIsLoading(false);\n\t\t\tif (error.exception?.message)\n\t\t\t\ttoast.error(error.exception.message);\n\t\t\telse\n\t\t\t\ttoast.error(t(\"errors.default\"));\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tconst invalidateIban = async () => {\n\t\tsetIsIbanValid(false);\n\t}\n\n\tconst searchAdresse = (input: string) => {\n\t\tif (!!input) {\n\t\t\ttry {\n\t\t\t\tconst adresseClient = new AdresseClient('', axiosInstance);\n\t\t\t\tadresseClient.searchAdresse(`${pays} ${ville} ${input}`, codePostal).then(results => {\n\t\t\t\t\tsetGeoAdresse(results);\n\t\t\t\t});\n\t\t\t\tonAdresseChange(input);\n\t\t\t}\n\t\t\tcatch (error) {\n\t\t\t\tif (error.exception?.message)\n\t\t\t\t\ttoast.error(error.exception.message);\n\t\t\t\telse\n\t\t\t\t\ttoast.error(t(\"errors.default\"));\n\t\t\t}\n\t\t}\n\t}\n\tconst onAdresseChange = (label: string) => {\n\t\tif (!label) {\n\t\t\tsetValue([\n\t\t\t\t{ line1: null },\n\t\t\t\t{ codePostal: null },\n\t\t\t\t{ ville: null }\n\t\t\t]);\n\t\t\treturn;\n\t\t}\n\n\t\tconst geoAdresseFiltered = geoAdresse.filter(adresse => adresse.label === label);\n\n\t\tif (geoAdresseFiltered.length > 0) {\n\t\t\tconst selectedAdresse = geoAdresseFiltered[0];\n\t\t\tsetValue([\n\t\t\t\t{ line1: `${selectedAdresse.numero} ${selectedAdresse.rue}` },\n\t\t\t\t{ codePostal: selectedAdresse.codePostal },\n\t\t\t\t{ ville: selectedAdresse.ville }\n\t\t\t]);\n\t\t}\n\t}\n\n\tconst send = async () => {\n\t\tconst isValid = await triggerValidation();\n\n\t\tif(isValid) {\n\t\t\tconst {iban, bic, banque, line1, line2, codePostal, ville } = getValues();\n\t\t\tlet donneesBancairesValues: CreateOrUpdateDonneesBancairesDto = {\n\t\t\t\tiban,\n\t\t\t\tbic,\n\t\t\t\tbanque,\n\t\t\t\tadresse: {\n\t\t\t\t\tline1,\n\t\t\t\t\tline2,\n\t\t\t\t\tcodePostal,\n\t\t\t\t\tville\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif(ribPJ?.id) {\n\t\t\t\tdonneesBancairesValues = {...donneesBancairesValues, rib: {...donneesBancairesValues.rib, id: ribPJ.id }}\n\t\t\t}\n\n\t\t\tif(ribPJ?.file) {\n\t\t\t\tdonneesBancairesValues = {...donneesBancairesValues, rib: {...donneesBancairesValues.rib, partName: \"rib-PJ\" }}\n\t\t\t}\n\n\t\t\tif (donneesBancairesValues) {\n\t\t\t\tsetIsDonneesLoading(true);\n\t\t\t\ttry {\n\t\t\t\t\tawait adelDossierClient.createOrUpdateDonneesBancaires(donneesBancairesValues, ribPJ?.file && {\"rib-PJ\": ribPJ.file});\n\t\t\t\t\tsetDefaultValue({...defaultValue, donneesBancaires: {...donneesBancairesValues, rib: {fileName:ribPJ.fileName, uri: ribPJ.url, id:ribPJ.id } }});\n\t\t\t\t\tsetIsDonneesLoading(false);\n\t\t\t\t\tsetEditInput(false);\n\t\t\t\t\ttoast.success(t('myAccount.structureUpdateSuccess'));\n\t\t\t\t} catch (err) {\n\t\t\t\t\tsetIsDonneesLoading(false);\n\t\t\t\t\ttoast.error(t('myAccount.structureUpdateError'));\n\t\t\t\t\t\n\t\t\t\t\tif (err.exception?.message)\n\t\t\t\t\t\ttoast.error(err.exception.message);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t\n return (\n
\n \n\t\t\t{isIbanValid && \n\t\t\t
\n
\n \n\n \n
\n\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\n\t\t\t\t
\n \n\t\t\t\t\t adresse.label)}\n\t\t\t\t\t\tonChange={_.debounce((value) => searchAdresse(value), 1000)}\n />\n
\n\n
\n\t\t\t\t\t\n\t\t\t\t\t handleFileChange(file)}\n\t\t\t\t\t\tisRequired={false}\n\t\t\t\t\t\tcurrentValue={ribPJ && {\n\t\t\t\t\t\t\tid: ribPJ.id,\n\t\t\t\t\t\t\tfileName: ribPJ.fileName || '',\n\t\t\t\t\t\t\turl: ribPJ.url\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n
\n
}\n\n
\n\t\t\t\t setEditInput(false)}\n\t\t\t\t/>\n\t\t\t\t\n\t\t\t
\n
\n )\n};\n\nexport default BancaireEdit;\n","import React, { useEffect, useState } from \"react\";\nimport { useTranslation } from 'react-i18next';\nimport { RouteComponentProps } from '@reach/router';\nimport BancaireEdit from './BancaireEdit';\nimport { StructureDetailsDto } from '../../../services/generated/FrontOffice-api';\nimport DonneesBancaireReadonly from './DonneesBancaireReadonly';\n\ninterface MonCompteBancaireProps extends RouteComponentProps {\n ref: any;\n defaultValue?: StructureDetailsDto;\n\tsetStructureDetails: (value:StructureDetailsDto) => void;\n}\n\nconst MonCompteBancaire: React.FC = ({defaultValue, setStructureDetails}) => {\n const { t } = useTranslation();\n\tconst [editInput, setEditInput] = useState(false);\n const [isIbanValid, setIsIbanValid] = useState(false);\n\n\tuseEffect(() => {\n\t\tif(defaultValue)\n\t\t\tsetIsIbanValid(true);\n\t}, [defaultValue]);\n\n\tconst openEdit = () => {\n\t\tif(defaultValue)\n\t\t\tsetIsIbanValid(true);\n\t\tsetEditInput(true);\n\t}\n\n return (\n
\n
\n

{t(\"myAccount.infoBancaire\")}

\n\t\t\t\t{!editInput && defaultValue.donneesBancaires?.canEditRib && (\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t
\n\n\t\t\t{defaultValue.donneesBancaires && <>\n\t\t\t\t{editInput && defaultValue.donneesBancaires.canEditRib\n\t\t\t\t\t? \n\t\t\t\t\t: \n\t\t\t\t}\n\t\t\t}\n
\n )\n};\n\nexport default MonCompteBancaire;\n","import { useState } from \"react\";\r\nfunction useToggleState(defaultValue = false) {\r\n const [value, setValue] = useState(defaultValue);\r\n return [value, () => setValue(!value)];\r\n}\r\nexport default useToggleState;\r\n","import React, { useState, useEffect, FunctionComponent, ChangeEvent, useContext } from \"react\";\nimport { useTranslation } from 'react-i18next';\nimport { RouteComponentProps } from '@reach/router';\nimport FormButton from \"adel-shared/dist/components/basics/FormButton\";\nimport { StructureClient } from \"../../services/generated/FrontOffice-api\";\nimport { toast } from \"react-toastify\";\nimport useToggleState from \"adel-shared/dist/custom-hooks/useToggleState\";\nimport { AppStateContext } from '../../context/AppContext';\nimport { ActionTypeEnum } from '../../context/ActionType';\nimport { useAxios } from \"../../custom-hooks/useAxios\";\n\ninterface MonCompteInfosProps extends RouteComponentProps {\n}\n\nconst MonCompteInfos: FunctionComponent = () => {\n\tconst { t } = useTranslation();\n\tconst [editInput, toggleEditInput] = useToggleState(false);\n\tconst axiosInstance = useAxios();\n\tconst structureClient = new StructureClient(\"\", axiosInstance);\n\tconst [{structure}, dispatch] = useContext(AppStateContext);\n\tconst [infos, setInfos] = useState(structure.informations);\n\n\tuseEffect(() => {\n\t\tsetInfos(structure.informations);\n\t}, [structure.informations]);\n\n\tconst handleInfosChange = (e: ChangeEvent) => {\n\t\tsetInfos(e.target.value);\n\t};\n\n\tconst handleCancel = () => {\n\t\ttoggleEditInput();\n\t\tsetInfos(structure.informations);\n\t};\n\n\tconst handleSubmit = async() => {\n\t\ttry {\n\t\t\tawait structureClient.updateStructureInformations({\n\t\t\t\tinformations: infos\n\t\t\t});\n\t\t\tdispatch({\n\t\t\t\ttype: ActionTypeEnum.UPDATE_STRUCTURE_INFOS,\n\t\t\t\tpayload: {informations: infos}\n\t\t\t});\n\t\t\ttoast.success(t('myAccount.structureUpdateSuccess'));\n\t\t} catch {\n\t\t\ttoast.error(t('myAccount.structureUpdateError'));\n\t\t}\n\t};\n\n\n\treturn (\n\t\t<>\n\t\t\t
\n\t\t\t\t

{t(\"myAccount.infoStructure\")}

\n\t\t\t\t{!editInput && (\n\t\t\t\t\t
\n\t\t\t\t)}\n\t\t\t
\n\t\t\t
\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t\t{editInput && (\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t)}\n\t\t\n\t)\n};\n\nexport default MonCompteInfos;\n","import React, { useState, useEffect } from \"react\";\nimport Select, { ValueType, ActionMeta, OptionTypeBase } from \"react-select\";\nimport { ErrorMessage } from \"react-hook-form\";\n\ninterface InputSelectProps {\n\tname: string;\n\tlabel: string;\n\toptions?: AdelOption[];\n\tclassname: string;\n\terrors?: any;\n\tonChange?: (e: T) => void;\n\tvalue?: T;\n\tisSearchable?: boolean;\n\tcustomMatchValue?: (source: T, target: T) => boolean; // Used to compare complex values\n}\n\nexport interface AdelOption {\n\tlabel: string;\n\tvalue: T\n}\n\nfunction InputSelect({\n\tlabel,\n\tname,\n\tclassname,\n\toptions,\n\tonChange,\n\tvalue,\n\terrors,\n\tcustomMatchValue,\n\tisSearchable = false\n}: InputSelectProps) {\n\tconst [selectedValue, setSelectedValue] = useState>({});\n\n\tconst handleChange = (value: ValueType, actionMeta: ActionMeta) => {\n\t\tsetSelectedValue(value);\n\t\tlet adelOption = getAdelOptionFromReactSelectValue(value);\n\t\tif (onChange && adelOption?.value) {\n\t\t\tonChange(adelOption.value);\n\t\t}\n\t}\n\n\tuseEffect(() => {\n\t\tif (options && value) {\n\t\t\tlet selectedOption = options?.filter(option => {\n\t\t\t\tif (!customMatchValue) { // Aucune comparaison custom de définie = type simple (string, number, bool, etc.))\n\t\t\t\t\treturn option.value === value;\n\t\t\t\t} else { // Comparaison de type complexe (objets, etc.)\n\t\t\t\t\treturn customMatchValue(option.value, value);\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (selectedOption.length > 0) {\n\t\t\t\tsetSelectedValue(selectedOption[0]);\n\t\t\t} else {\n\t\t\t\t//TODO: Replace this ?\n\t\t\t\t// console.debug(\"value could not be found\", value);\n\t\t\t}\n\t\t}\n\t}, [value, options, customMatchValue]) // Executed only once for default value\n\n\tconst getAdelOptionFromReactSelectValue = (selectValue: ValueType): AdelOption | null => {\n\t\tif (selectValue) {\n\t\t\tlet adelOption = {\n\t\t\t\tvalue: (selectValue as AdelOption).value,\n\t\t\t\tlabel: (selectValue as AdelOption).label\n\t\t\t}\n\t\t\treturn adelOption;\n\t\t} else {\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tconst customStyles = {\n\t\toption: (base: any, state: any) => ({\n\t\t\t...base,\n\t\t\tbackgroundColor: state.isSelected ? '#d93943' : state.isFocused ? '#f4c7ca' : \"white\",\n\t\t}),\n\t};\n\n\treturn (\n\t\t
\n\t\t\t\n\n\t\t\t\n\n\t\t\t{errors &&\n\t\t\t\t\n\t\t\t\t\t{({ message }) =>

{message}

}\n\t\t\t\t
\n\t\t\t}\n\t\t
\n\t)\n}\n\nexport default InputSelect;","import React, { useState, useEffect, Fragment, useContext } from \"react\";\n\nimport { AuthenticatedRoute } from '../../containers/AuthenticatedRoute';\nimport Structures from '../../containers/structures/Structure';\nimport { RouteComponentProps, Router, Link, useLocation } from '@reach/router';\nimport { useTranslation } from 'react-i18next';\nimport { StructureClient, StructureDetailsDto } from '../../services/generated/FrontOffice-api';\nimport { useAxios } from '../../custom-hooks/useAxios';\nimport { useMediaQuery } from 'react-responsive'\n\nimport Subtitles from '../basics/Subtitles';\nimport MonCompteStructure from './MonCompteStructure';\nimport MonCompteBancaire from './bancaire/MonCompteBancaire';\nimport MonCompteInfos from './MonCompteInfos';\nimport MonCompteAdministratif from './MonCompteAdministratif';\nimport MonCompteCorrespondant from './correspondant/MonCompteCorrespondant';\nimport MonCompteFichier from './MonCompteFichier';\nimport { toast } from \"react-toastify\";\nimport clsx from 'clsx';\nimport { AppStateContext } from '../../context/AppContext';\nimport { ActionTypeEnum } from '../../context/ActionType';\n\ninterface MonCompteProps extends RouteComponentProps {\n}\n\nexport enum MonCompteRoutes {\n\tStructureJuridique = \"Structure\",\n\tInfoStructure = \"InfoStructure\",\n\tCorrespondantAdministratif = \"Correspondant\",\n\tAdresse = \"Adresse\",\n\tPiecesJointes = \"PiecesJointes\",\n\tInfosBanque = \"InfosBanque\"\n}\n\nconst MonCompte: React.FunctionComponent = () => {\n\tconst { t } = useTranslation();\n\tconst location = useLocation();\n\tconst axiosInstance = useAxios();\n\tconst structureClient = new StructureClient(\"\", axiosInstance);\n\tconst [structureDetails, setStructureDetails] = useState({});\n\tconst [initialStructureValues, setInitialStructureValues] = useState({});\n\tconst [, dispatch] = useContext(AppStateContext);\n \n\tuseEffect(() => {\n\t\t(async () => {\n\t\t\ttry {\n\t\t\t\tconst structureDetailsDto = await structureClient.getStructureDetails();\n\t\t\t\tsetStructureDetails(structureDetailsDto);\n\t\t\t\tsetInitialStructureValues({nom: structureDetailsDto.representantLegal.nom, prenom: structureDetailsDto.representantLegal.prenom, siret: structureDetailsDto.siret})\n\t\t\t\tdispatch({\n\t\t\t\t\ttype: ActionTypeEnum.UPDATE_STRUCTURE,\n\t\t\t\t\tpayload: structureDetailsDto\n\t\t\t\t});\n\t\t\t} catch (error) {\n\t\t\t\ttoast.error(\"Une erreur est survenue durant la récupération du détail de la structure.\");\n\t\t\t\t\n\t\t\t\tif (error.exception?.message)\n\t\t\t\t\ttoast.error(error.exception.message);\n\t\t\t\tconsole.error(error);\n\t\t\t}\n\t\t})();\n\t}, []);\n\n\n\tconst isMobile = useMediaQuery({\n\t\tquery: '(max-device-width: 768px)'\n\t})\n\n\tconst linkRoute = (route:string, label:string) => {\n\t\treturn (\n\t\t\t
  • \n\t\t\t\t\n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t

    {label}

    \n\t\t\t\t
    \n\t\t\t
  • \n\t\t);\n\t}\n\n\tconst pages = [\n\t\t{\n\t\t\tlist: linkRoute(MonCompteRoutes.StructureJuridique, t(\"myAccount.structure\")),\n\t\t\tpanel: \n\t\t\t\t\n\t\t\t\n\t\t},\n\t\t{\n\t\t\tlist: linkRoute(MonCompteRoutes.InfoStructure, t(\"myAccount.infoStructure\")),\n\t\t\tpanel: \n\t\t\t\t\n\t\t\t\n\t\t},\n\t\t{\n\t\t\tlist: linkRoute(MonCompteRoutes.CorrespondantAdministratif, t(\"myAccount.correspondant\")),\n\t\t\tpanel: \n\t\t\t\t\n\t\t\t\n\t\t},\n\t\t{\n\t\t\tlist: linkRoute(MonCompteRoutes.Adresse, t(\"myAccount.adresse\")),\n\t\t\tpanel: \n\t\t\t\t\n\t\t\t\n\t\t},\n\t\t{\n\t\t\tlist: linkRoute(MonCompteRoutes.PiecesJointes, t(\"myAccount.piecesJointes\")),\n\t\t\tpanel: \n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t},\n\t\t{\n\t\t\tlist: linkRoute(MonCompteRoutes.InfosBanque, t(\"myAccount.infoBancaire\")),\n\t\t\tpanel: \n\t\t\t\t\n\t\t\t\n\t\t}\n\n\t]\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{t(\"navigation.folder\")}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t|\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{t(\"navigation.myAccount\")}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t\n\n\t\t\t\t\t{isMobile ? (\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t\t\t\t{pages.map((item, idx) => (\n\t\t\t\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t\t\t\t\t\t{item.list}\n\t\t\t\t\t\t\t\t\t\t\t{item.panel}\n\t\t\t\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t) : (\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t\t\t\t{pages.map((item, idx) => (\n\t\t\t\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t\t\t\t\t\t{item.list}\n\t\t\t\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t{pages.map((item, i) => (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{item.panel}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t)}\n\t\t\t\t
    \n\t\t\t
    \n\t\t
    \n\t);\n};\n\nexport default MonCompte;","import React, { FunctionComponent, useEffect, useState } from \"react\";\nimport { useTranslation } from 'react-i18next';\nimport { RouteComponentProps } from '@reach/router';\nimport { Civilite, StructureClient, StructureDetailsDto, TypePoste, UpdateContactDto } from '../../services/generated/FrontOffice-api';\nimport FormButton from 'adel-shared/dist/components/basics/FormButton';\nimport { useForm, Controller } from \"react-hook-form\";\nimport Input from \"adel-shared/dist/components/basics/Input\";\nimport { useAxios } from \"../../custom-hooks/useAxios\";\nimport { toast } from \"react-toastify\";\nimport useValidation from \"../../custom-hooks/useValidation\";\nimport InputSelect from \"../basics/InputSelect\";\nimport InputRadioButton from \"adel-shared/dist/components/basics/InputRadioButton\";\nimport useBooleanState from 'adel-shared/dist/custom-hooks/useBooleanState';\nimport { modalSmallerCustomStyles } from \"../../constants/config.constant\";\nimport Modal from 'react-modal';\nimport { formatPhone } from 'adel-shared/dist/utils/functions';\n\n\ninterface MonCompteAdministratifProps extends RouteComponentProps {\n\tstructureDetails: StructureDetailsDto\n\tsetStructureDetails: (value:StructureDetailsDto) => void;\n}\ninterface UpdateCorrespondantForm extends UpdateContactDto {\n\tparDefaut: boolean;\n}\n\nconst MonCompteAdministratif: FunctionComponent = ({\n\tstructureDetails, setStructureDetails\n}) => {\n\tconst { t } = useTranslation();\n\tconst axiosInstance = useAxios();\n\tconst structureClient = new StructureClient(\"\", axiosInstance);\n\tconst { getRootValidator } = useValidation();\n\tconst updateStructureContactValidator = getRootValidator(\"UpdateContactValidator\");\n\tconst { register, getValues, setValue, triggerValidation, control, watch, errors } = useForm();\n\tconst parDefaut = watch('parDefaut');\n\tconst [editInput, setEditInput] = useState(false);\n\tconst representant = structureDetails.representantLegal;\n\tconst correspondant = structureDetails.correspondant || structureDetails.representantLegal;\n\tconst [isModalOpen, openModal, closeModal] = useBooleanState(false);\n\n\tconst optionsCivilite = Object.values(Civilite).filter(x => x !== Civilite.None).map(x => ({\n\t\tvalue: x,\n\t\tlabel: t(`common.civilite.${x}`)\n\t}));\n\n\tconst optionsPoste = Object.values(TypePoste).filter(x => x !== TypePoste.None).map(x => ({\n\t\tvalue: x,\n\t\tlabel: t(`common.typePoste.${x}`)\n\t}));\n\n\tuseEffect(() => {\n\t\tif(structureDetails.id && editInput) {\n\t\t\tsetValue('parDefaut', structureDetails.correspondant ? false : true);\n\t\t}\n\t}, [\n\t\tstructureDetails,\n\t\teditInput\n\t]);\n\n\tuseEffect(() => {\n\t\tconst correspondant = structureDetails.correspondant;\n\t\tif(correspondant && editInput) {\n\t\t\tconst poste = correspondant.poste;\n\t\t\tconst civilite = correspondant.civilite;\n\t\t\tconst nom = correspondant.nom;\n\t\t\tconst prenom = correspondant.prenom;\n\t\t\tconst telephoneFixe = correspondant.telephoneFixe;\n\t\t\tconst telephonePortable = correspondant.telephonePortable;\n\t\t\tconst email = correspondant.email;\n\n\t\t\tsetValue([\n\t\t\t\t{ poste },\n\t\t\t\t{ civilite },\n\t\t\t\t{ nom },\n\t\t\t\t{ prenom },\n\t\t\t\t{ telephoneFixe },\n\t\t\t\t{ telephonePortable },\n\t\t\t\t{ email }\n\t\t\t]);\n\t\t}\n\t}, [\n\t\tcorrespondant,\n\t\teditInput,\n\t]);\n\n\tconst handleEditClick = () => {\n\t\tsetEditInput(true);\n\t};\n\n\tconst handleCancelClick = () => {\n\t\tsetEditInput(false);\n\t};\n\n\tconst handleSubmit = async() => {\n\t\tconst isValid = await triggerValidation();\n\n\t\tif(!isValid) return;\n\n\t\ttry {\n\t\t\tconst { parDefaut, poste, civilite, nom, prenom, telephoneFixe, telephonePortable, email } = getValues();\n\t\t\tawait structureClient.updateStructureContact({\n\t\t\t\tparDefaut,\n\t\t\t\tautre: {\n\t\t\t\t\tposte,\n\t\t\t\t\tcivilite,\n\t\t\t\t\tnom,\n\t\t\t\t\tprenom,\n\t\t\t\t\ttelephoneFixe,\n\t\t\t\t\ttelephonePortable,\n\t\t\t\t\temail\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif (correspondant.email !== email)\n\t\t\t\topenModal();\n\n\t\t\ttoast.success(t('myAccount.correspondantSuccess'));\n\t\t\tsetEditInput(false);\n\t\t\tsetStructureDetails({...structureDetails,\n\t\t\t\tcorrespondant: {\n\t\t\t\t\tposte,\n\t\t\t\t\tcivilite,\n\t\t\t\t\tnom,\n\t\t\t\t\tprenom,\n\t\t\t\t\ttelephoneFixe,\n\t\t\t\t\ttelephonePortable,\n\t\t\t\t\temail\n\t\t\t\t}\n\t\t\t});\n\n\t\t} catch(error) {\n\t\t\ttoast.error(t('myAccount.correspondantError'));\n\t\t\t\n\t\t\tif (error.exception?.message)\n\t\t\t\ttoast.error(error.exception.message);\n\t\t}\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t
    \n\t\t\t\t

    {t(\"myAccount.correspondant\")}

    \n\t\t\t\t{!editInput && (\n\t\t\t\t\t
    \n\t\t\t\t)}\n\t\t\t
    \n\t\t\t{editInput ? (\n\t\t\t\t<>\n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t{`\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t${t('common.president')} \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t${representant.prenom} \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t${representant.nom} - \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t${representant.telephoneFixe ? `${formatPhone(representant.telephoneFixe)} - ` : \"\"} \n\t\t\t\t\t\t\t\t\t\t\t\t\t\t${representant.email}\n\t\t\t\t\t\t\t\t\t\t\t\t\t`}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\te.target.checked = !e.target.checked;\n\t\t\t\t\t\t\t\t\t\t\t\t\tonChange(e);\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t\t{!parDefaut && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\trules={updateStructureContactValidator?.[\"Poste\"]}\n\t\t\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\trules={updateStructureContactValidator?.[\"Civilite\"]}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\n\t\t\t) : (\n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t)}\n\t\t\t\n\t\t\t\t
    \n\t\t\t\t\t

    {t('myAccount.mailUpdateModal.title')}

    \n\t\t\t\t\t

    {t('myAccount.mailUpdateModal.text')}

    \n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t closeModal()}\n\t\t\t\t\t/>\n\t\t\t\t
    \n\t\t\t
    \n\t\t\n\t)\n};\n\nexport default MonCompteAdministratif;\n","import React, { useState, useContext } from \"react\";\nimport { useTranslation } from 'react-i18next';\nimport { RouteComponentProps } from '@reach/router';\nimport { AdresseClient, GeoAdresseDto, StructureClient, StructureDetailsDto } from \"../../../services/generated/FrontOffice-api\";\nimport Input from 'adel-shared/dist/components/basics/Input';\nimport InputSelect from 'adel-shared/dist/components/basics/InputSelect';\nimport useValidation from '../../../custom-hooks/useValidation';\nimport { useForm, Controller } from 'react-hook-form';\nimport { useAxios } from '../../../custom-hooks/useAxios';\nimport { toast } from 'react-toastify';\nimport { inputAutocompleteDisabled } from '../../../constants/config.constant';\nimport _ from 'lodash';\nimport FormButton from 'adel-shared/dist/components/basics/FormButton';\nimport InputRadioButton from \"adel-shared/dist/components/basics/InputRadioButton\";\nimport { AppStateContext } from '../../../context/AppContext';\nimport { ActionTypeEnum } from '../../../context/ActionType';\n\ninterface CorrespondantEditProps extends RouteComponentProps {\n\tstructureDetails: StructureDetailsDto;\n\tsetEditInput: (value: boolean) => void;\n}\n\nconst CorrespondantEdit: React.FunctionComponent = ({\n\tstructureDetails,\n\tsetEditInput\n}) => {\n\tconst { t } = useTranslation();\n\tconst {\n\t\twatch,\n\t\tcontrol,\n\t\tregister,\n\t\tgetValues,\n\t\tsetValue,\n\t\ttriggerValidation,\n\t\terrors\n\t} = useForm({\n\t\tdefaultValues: {\n\t\t\tcodeLangue: structureDetails.codeLangue,\n\t\t\tparDefaut: structureDetails.adresseCorrespondance ? false : true,\n\t\t\true: structureDetails.adresseCorrespondance?.line1,\n\t\t\tcomplementAdresse: structureDetails.adresseCorrespondance?.line2,\n\t\t\tcodePostal: structureDetails.adresseCorrespondance?.codePostal,\n\t\t\tville: structureDetails.adresseCorrespondance?.ville\n\t\t}\n\t});\n\tconst [,dispatch] = useContext(AppStateContext);\n\tconst { getRootValidator } = useValidation();\n\tconst adresseValidator = getRootValidator(\"CreateOrUpdateAdresseDto\");\n\tconst axiosInstance = useAxios();\n\tconst [geoAdresse, setGeoAdresse] = useState([]);\n\tconst {parDefaut, ville, codePostal} = watch(['parDefaut', 'ville', 'codePostal']);\n\n\tconst searchAdresse = (input: string) => {\n\t\tif (!!input) {\n\t\t\ttry {\n\t\t\t\tconst adresseClient = new AdresseClient('', axiosInstance);\n\t\t\t\tadresseClient.searchAdresse(`${ville} ${input}`, codePostal).then(results => {\n\t\t\t\t\tsetGeoAdresse(results);\n\t\t\t\t});\n\t\t\t\tonAdresseChange(input);\n\t\t\t}\n\t\t\tcatch (error) {\n\t\t\t\tif (error.exception?.message)\n\t\t\t\t\ttoast.error(error.exception.message);\n\t\t\t\telse\n\t\t\t\t\ttoast.error(t(\"errors.default\"));\n\t\t\t}\n\t\t}\n\t}\n\n\tconst onAdresseChange = (label: string) => {\n\t\tif (!label) {\n\t\t\tsetValue([\n\t\t\t\t{ rue: null },\n\t\t\t\t{ codePostal: null },\n\t\t\t\t{ ville: null }\n\t\t\t]);\n\t\t\treturn;\n\t\t}\n\n\t\tconst geoAdresseFiltered = geoAdresse.filter(adresse => adresse.label === label);\n\n\t\tif (geoAdresseFiltered.length > 0) {\n\t\t\tconst selectedAdresse = geoAdresseFiltered[0];\n\t\t\tsetValue([\n\t\t\t\t{ rue: `${selectedAdresse.numero} ${selectedAdresse.rue}` },\n\t\t\t\t{ codePostal: selectedAdresse.codePostal },\n\t\t\t\t{ ville: selectedAdresse.ville }\n\t\t\t]);\n\t\t}\n\t}\n\n\tconst handleSubmit = async() => {\n\t\tconst result = await triggerValidation();\n\n\t\tif(!result) return;\n\n\t\tconst client = new StructureClient();\n\n\t\tconst {codeLangue, parDefaut, rue, complementAdresse, codePostal, ville} = getValues();\n\t\tconst body = {\n\t\t\tcodeLangue,\n\t\t\tparDefaut,\n\t\t\tautre: {\n\t\t\t\tline1: rue,\n\t\t\t\tline2: complementAdresse,\n\t\t\t\tcodePostal,\n\t\t\t\tville\n\t\t\t}\n\t\t};\n\n\t\ttry {\n\t\t\tawait client.updateStructureAdresse(body);\n\t\t\tdispatch({\n\t\t\t\ttype: ActionTypeEnum.UPDATE_STRUCTURE_ADDRESS,\n\t\t\t\tpayload: body\n\t\t\t});\n\t\t\ttoast.success(t('myAccount.addressSuccess'));\n\t\t} catch(error) {\n\t\t\ttoast.error(t('myAccount.structureUpdateError'));\n\t\t\t\n\t\t\tif (error.exception?.message)\n\t\t\t\ttoast.error(error.exception.message);\n\t\t}\n\t};\n\n\treturn (\n\t\t
    \n\t\t\t (\n\t\t\t\t\t\n\t\t\t\t\t\tname={name}\n\t\t\t\t\t\tlabel={t(\"myAccount.form.langue\")}\n\t\t\t\t\t\tclassname=\"inputSelect\"\n\t\t\t\t\t\toptions={[\n\t\t\t\t\t\t\t{ value: \"fr\", label: t(\"common.fr\")},\n\t\t\t\t\t\t\t{ value: \"en\", label: t(\"common.en\")}\n\t\t\t\t\t\t]}\n\t\t\t\t\t\terrors={errors}\n\t\t\t\t\t\tonChange={onChange}\n\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\tplaceholder={t(\"common.select\")}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t/>\n\n\t\t\t
    \n\t\t\t\t (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t{structureDetails.adresse.line1}, {structureDetails.adresse.codePostal} {structureDetails.adresse.ville}\n\t\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\te.target.checked = !e.target.checked;\n\t\t\t\t\t\t\t\t\tonChange(e);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t/>\n\t\t\t
    \n\t\t\n\t\t\t{!parDefaut && (\n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\n\t\t\t\t\t adresse.label)}\n\t\t\t\t\t\tonChange={_.debounce((value) => searchAdresse(value), 1000)}\n\t\t\t\t\t/>\n\n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t)}\n\t\t
    \n\t\t\t setEditInput(false)}\n\t\t\t/>\n\t\t\t\n\t\t
    \n\t
    );\n};\n\nexport default CorrespondantEdit;\n","import React, { useState, useContext } from \"react\";\nimport { useTranslation } from 'react-i18next';\nimport { RouteComponentProps } from '@reach/router';\nimport CorrespondantEdit from './CorrespondantEdit';\nimport { AppStateContext } from '../../../context/AppContext';\n\ninterface MonCompteCorrespondantProps extends RouteComponentProps {\n}\n\nconst MonCompteCorrespondant: React.FunctionComponent = () => {\n\tconst { t } = useTranslation();\n\tconst [context, dispatch] = useContext(AppStateContext);\n\tconst [editInput, setEditInput] = useState(false);\n\n\tconst structureDetails = context.structure;\n\tconst codePostal = structureDetails.adresseCorrespondance?.codePostal || structureDetails.adresse?.codePostal;\n\tconst ville = structureDetails.adresseCorrespondance?.ville || structureDetails.adresse?.ville;\n\n\tconst getAdresse = () => {\n\t\tlet key: 'adresseCorrespondance' | 'adresse';\n\t\tif(structureDetails.adresseCorrespondance) {\n\t\t\tkey = 'adresseCorrespondance';\n\t\t} else {\n\t\t\tkey = 'adresse';\n\t\t}\n\t\treturn `${structureDetails[key].line1} ${structureDetails[key].line2 ? ' - ' + structureDetails[key].line2 : ''}`;\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t
    \n\t\t\t\t

    {t(\"myAccount.adresse\")}

    \n\t\t\t\t{!editInput && (\n\t\t\t\t\t setEditInput(true)}\n\t\t\t\t\t>
    \n\t\t\t\t)}\n\t\t\t
    \n\t\t\t{editInput ? (\n\t\t\t\t\n\t\t\t) : (\n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t)}\n\t\t\n\t)\n};\n\nexport default MonCompteCorrespondant;\n","import React, { useContext, useEffect, useState } from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport { useTranslation } from 'react-i18next';\nimport { toast } from \"react-toastify\";\nimport { RouteComponentProps } from '@reach/router';\nimport { AdelStructureClient } from \"../../clients/AdelStructureClient\";\nimport { AppStateContext } from '../../context/AppContext';\nimport { useAxios } from \"../../custom-hooks/useAxios\";\nimport getAsDate from '../../helpers/getAsDate';\nimport { Dictionary } from \"../../models\";\nimport { IFile } from \"../../models/IFile\";\nimport { DocumentDto, DocumentExtraInfoDto, DocumentUploadInfoDto, DocumentWithValidationDto, StructureClient, StructureDetailsDto, TypeDeDocumentDto } from \"../../services/generated/FrontOffice-api\";\nimport FormButton from 'adel-shared/dist/components/basics/FormButton';\nimport InputDocuments from \"../basics/InputDocuments/InputDocuments\";\nimport { ActionTypeEnum } from '../../context/ActionType';\nimport { formaterDate } from 'adel-shared/dist/utils/functions';\n\ninterface MonCompteFichierProps extends RouteComponentProps {\n\tstructureDetails: StructureDetailsDto\n\tsetStructureDetails: (value:StructureDetailsDto) => void;\n\tedit?: boolean;\n\tinitialStructureValues: any\n}\n\nconst MonCompteFichier: React.FunctionComponent = ({\n\tedit,\n\tsetStructureDetails,\n\tstructureDetails,\n\tinitialStructureValues\n}) => {\n\tconst { i18n, t } = useTranslation();\n\tconst [editInput, setEditInput] = useState(edit);\n\tconst [documents, setDocuments] = useState(structureDetails.documents);\n\tconst [documentList, setDocumentList] = useState([]);\n\tconst form = useForm();\n\tconst { setValue, getValues, triggerValidation } = form;\n\tconst [dirtyFields, setDirtyFields] = useState([]);\n\tconst [context, dispatch] = useContext(AppStateContext);\n\tconst axiosInstance = useAxios();\n\tconst structureClient = new StructureClient(\"\", axiosInstance);\n\tconst adelStructureClient = new AdelStructureClient(\"\", axiosInstance);\n\tconst [isDirty, setIsDirty] = useState(false);\n\n\tuseEffect(() => {\n\t\tif(structureDetails && structureDetails.documents && structureDetails.requiredDocuments) {\n\t\t\tsetDocuments(structureDetails.documents);\n\t\t\tinitDocumentList(structureDetails.documents, structureDetails.requiredDocuments);\n\t\t\tinitSiretOrResponsable(structureDetails);\n\t\t}\n\t}, [structureDetails,\n\t\tcontext.structure.siret,\n\t\tcontext.structure.representantLegal\n\t]);\n \n\tconst initDocumentList = (documents: DocumentWithValidationDto[], requiredDoc:TypeDeDocumentDto[]) => {\n\t\tconst array = requiredDoc.reduce((accumulator: DocumentWithValidationDto[], currentVal) => {\n\t\t\tlet doc:DocumentWithValidationDto;\t\t\t\n\t\t\tif (currentVal.hasChoix)\n\t\t\t\t{\n\t\t\t\t\tdoc = {...documents.find(d => currentVal.choix.find(c => c.id === d.type.id))};\n\t\t\t\t doc.type = {...currentVal, extraInfos: doc.type && doc.type.extraInfos || [], selectedNom: doc.type && doc.type.nom }\n\t\t\t\t}\n\t\t\t\t\n\t\t\telse\n\t\t\t\tdoc = documents.find(d => d.type.id === currentVal.id);\n\n\t\t\tif (doc && !accumulator.some(d => d.type.id === doc.type.id || d.type.id === currentVal.id))\n\t\t\t\taccumulator.push(doc)\n\t\t\telse\n\t\t\t\taccumulator.push({ type: currentVal })\n\n\t\t\treturn accumulator;\n\t\t}, []);\n\t\tsetDocumentList(array);\n\t}\n\n\tconst initSiretOrResponsable = (structure:StructureDetailsDto) => {\n\t\tconst docsToExclude: string[] = [];\n\t\tif (initialStructureValues.siret && context.structure.siret && initialStructureValues.siret !== context.structure.siret) {\n\t\t\tsetValue('avisdesituationinseedemoinsde3moisnom', '');\n\t\t\tdocsToExclude.push('avisdesituationinseedemoinsde3moisnom');\n\t\t}\n\t\tif(\n\t\t\t(\n\t\t\t\tinitialStructureValues?.nom &&\n\t\t\t\tinitialStructureValues?.prenom &&\n\t\t\t\tcontext.structure.representantLegal.nom &&\n\t\t\t\tcontext.structure.representantLegal.prenom\n\t\t\t) &&\n\t\t\t(\n\t\t\t\tinitialStructureValues.nom !== context.structure.representantLegal.nom ||\n\t\t\t\tinitialStructureValues.prenom !== context.structure.representantLegal.prenom\n\t\t\t)\n\t\t) {\n\t\t\tsetValue('composition-organes-direction', '');\n\t\t\tdocsToExclude.push('composition-organes-direction');\n\t\t}\n\t\tsetDocuments(structure.documents?.filter(d => !docsToExclude.includes(d.type.code)));\n\t}\n\n\n\tconst getExtraInfoNameFromCode = (typeDeDocument: TypeDeDocumentDto, extraInfoCode: string) => {\n\t\tconst extraInfoDefinition = typeDeDocument.extraInfos.find(info => info.code === extraInfoCode);\n\t\tif (extraInfoDefinition) {\n\t\t\treturn extraInfoDefinition.nom[i18n.language]\n\t\t} else {\n\t\t\tconsole.error(`extraInfoDefinition with code ${extraInfoCode} could not be found. Please contact your Dev Team`);\n\t\t}\n\t};\n\n\tconst handleEditClick = () => {\n\t\tsetEditInput(true);\n\t};\n \n\tconst handleCancelClick = () => {\n\t\tconst docs = structureDetails.documents;\n\n\t\tconst newArray = docs.map(doc => {\n\t\t\tif(doc.extraInfo?.length > 0) {\n\t\t\t\tconst newDoc = doc.extraInfo.map(d => {\n\t\t\t\t\tif(d.valueType === \"date\") {\n\t\t\t\t\t\treturn {...d, value: JSON.parse(d.jsonValue)};\n\t\t\t\t\t}\n\t\t\t\t\treturn d;\n\t\t\t\t})\n\t\t\t\treturn {...doc, extraInfo: newDoc};\n\t\t\t} else {\n\t\t\t\treturn doc;\n\t\t\t}\n\t\t});\n\n\t\tsetDocuments(newArray);\n\t\tsetDocumentList(newArray);\n\t\tsetEditInput(false);\n\t};\n\n\tconst isFieldDirty = (fieldName: string): boolean => {\n\t\treturn dirtyFields.findIndex(dirtyField => dirtyField === fieldName) > -1;\n\t}\n\n\tconst convertDocumentsAndFilesToDtosByRef = (documents: DocumentWithValidationDto[]): [DocumentUploadInfoDto[], IFile[]] => {\n\t\tconst modifiedDocuments: DocumentUploadInfoDto[] = [];\n\t\tconst files: IFile[] = [];\n\t\tconst formFiles: Dictionary = getValues();\n\t\tconst typeDeDocuments = documents.map(d => d.type);\n\n\t\ttypeDeDocuments.forEach(typeDeDocument => {\n\t\t\t// TODO : Skip non dirty existing documents => strip them of everything except id and typeId\n\n\t\t\tlet correspondingDocument: DocumentWithValidationDto;\n\n\t\t\tif (typeDeDocument.hasChoix) {\n\t\t\t\tcorrespondingDocument = documents.find(document => typeDeDocument.choix.some(choix => document.type.id === choix.id));\n\t\t\t} else {\n\t\t\t\tcorrespondingDocument = documents.find(document => document.type.id === typeDeDocument.id);\n\t\t\t}\n\n\t\t\tconst typeIdDoc = correspondingDocument\n\t\t\t\t\t\t\t\t? correspondingDocument.type.id\n\t\t\t\t\t\t\t\t: typeDeDocument.hasChoix\n\t\t\t\t\t\t\t\t\t? typeDeDocument.choix.find(choix => !choix.hasAttachment).id\n\t\t\t\t\t\t\t\t\t: \"\";\n\t\t\t// s'il n'a pas de document correspondant, lui donner l'id du type de document qui n'a pas de corresponding document\n\t\t\tlet modifiedDocument: DocumentUploadInfoDto = {\n\t\t\t\ttypeId: typeIdDoc\n\t\t\t};\n\n\t\t\tif (!isFieldDirty(typeDeDocument.code) && correspondingDocument?.id) {\n\t\t\t\tif (correspondingDocument?.extraInfo && correspondingDocument?.extraInfo.length > 0) {\n\t\t\t\t\tmodifiedDocument.extraInfos = {};\n\t\n\t\t\t\t\tcorrespondingDocument.extraInfo.forEach(extraInfo => {\n\t\t\t\t\t\tmodifiedDocument.extraInfos[extraInfo.code] = extraInfo.value;\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tmodifiedDocuments.push({ id: correspondingDocument.id, typeId: correspondingDocument.type.id, extraInfos: modifiedDocument.extraInfos });\n\t\t\t\treturn;\n\t\t\t} else {\n\t\t\t\t// Do nothing: id should not be specified for new or modified documents.\n\t\t\t}\n\n\t\t\t// If there's a corresponding file,\n\t\t\tlet correspondingFile = formFiles[typeDeDocument.code];\n\n\t\t\tif (typeDeDocument.hasChoix) {\n\t\t\t\ttypeDeDocument.choix.forEach(choix => {\n\t\t\t\t\tif (formFiles.hasOwnProperty(choix.code)) {\n\t\t\t\t\t\tcorrespondingFile = formFiles[choix.code];\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (correspondingFile) {\n\t\t\t\tlet modifiedFile: IFile = {\n\t\t\t\t\tcode: correspondingDocument.type.code,\n\t\t\t\t\tfile: correspondingFile[0]\n\t\t\t\t} as IFile;\n\n\t\t\t\tmodifiedDocument.partName = correspondingDocument.type.code;\n\n\t\t\t\tfiles.push(modifiedFile);\n\t\t\t}\n\n\t\t\tif (correspondingDocument?.extraInfo && correspondingDocument?.extraInfo.length > 0) {\n\t\t\t\tmodifiedDocument.extraInfos = {};\n\n\t\t\t\tcorrespondingDocument.extraInfo.forEach(extraInfo => {\n\t\t\t\t\tmodifiedDocument.extraInfos[extraInfo.code] = extraInfo.value;\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tmodifiedDocuments.push(modifiedDocument);\n\t\t});\n\n\t\treturn [modifiedDocuments, files];\n\t}\n\n\tconst handleSubmit = async() => {\n\t\tconst isValid = await triggerValidation();\n\n\t\tif(!isValid) return;\n\n\t\ttry {\n\t\t\tif(\n\t\t\t\tinitialStructureValues.nom !== context.structure.representantLegal.nom ||\n\t\t\t\tinitialStructureValues.prenom !== context.structure.representantLegal.prenom ||\n\t\t\t\tinitialStructureValues.siret !== context.structure.siret\n\t\t\t) {\n\t\t\t\tawait structureClient.updateStructureJuridique({\n\t\t\t\t\tsiret: context.structure.siret,\n\t\t\t\t\tadresse: context.structure.adresse,\n\t\t\t\t\tnomResponsable: context.structure.representantLegal.nom,\n\t\t\t\t\tprenomResponsable: context.structure.representantLegal.prenom,\n\t\t\t\t\temailResponsable: context.structure.representantLegal.email\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tconst [modifiedDocuments, files] = convertDocumentsAndFilesToDtosByRef(documents);\n\t\t \n\t\t (files.length > 0 || getValues('ni-licence-ni-attestation-guso') === \"\") && await adelStructureClient.updateStructureDocuments({\n\t\t\t\tdocuments: modifiedDocuments\n\t\t\t}, files);\n\n\t\t\t// reinit structureDetails\n\t\t\tconst newStructureDetails = {...structureDetails, documents: documents}\n\t\t\tsetStructureDetails(newStructureDetails);\n\t\t\tdispatch({\n\t\t\t\ttype: ActionTypeEnum.UPDATE_STRUCTURE,\n\t\t\t\tpayload: newStructureDetails\n\t\t\t});\n\n\t\t\t// reinit documents states\n\t\t\tinitDocumentList(documents, structureDetails.requiredDocuments);\n\t\t\tsetEditInput(false);\n\t\t\tconst structureDetailsDto = await structureClient.getStructureDetails();\n\t\t\tsetStructureDetails(structureDetailsDto);\n\t\t\ttoast.success(t('myAccount.structureUpdateSuccess'));\n\t\t} catch(error) {\n\t\t\ttoast.error(t('myAccount.structureUpdateError'));\n\t\t\tif (error.message){\n\t\t\t\ttoast.error(t(error.message));\n\t\t\t}\n\t\t\tif (error.exception?.message)\n\t\t\t\ttoast.error(error.exception.message);\n\t\t}\n\t};\n\n\tconst handleDocumentChange = (modifiedDocument: DocumentDto, file?: File) => {\n\t\tconst updatedDocuments = upsertDocument(documents, modifiedDocument, file);\n\n\t\tsetDocuments(updatedDocuments);\n\t\tsetIsDirty(true);\n\t};\n\n\tconst upsertDocument = (documents: DocumentWithValidationDto[], modifiedDocument: DocumentWithValidationDto, file?: File): DocumentWithValidationDto[] => {\n\t\tconst existingDocument = documents.find(document => document.type.id === modifiedDocument.type.id);\n\n\t\tif (!existingDocument) {\n\t\t\t// INSERT\n\n\t\t\treturn [...documents, modifiedDocument];\n\t\t} else {\n\t\t\t// UPDATE by merging properties using modification by reference ><\n\n\t\t\tif (modifiedDocument.fileName) existingDocument.fileName = modifiedDocument.fileName;\n\n\t\t\tif (modifiedDocument.extraInfo) existingDocument.extraInfo = modifiedDocument.extraInfo;\n\n\t\t\treturn documents;\n\t\t}\n\t};\n\n\tconst onReset = (fieldName: string,) => {\n\t\tsetValue(fieldName, '');\n\t\tsetDocuments(documents?.filter(d => d.type.code !== fieldName));\n\t\tif (dirtyFields.findIndex(field => field === fieldName) <= -1) {\n\t\t\tsetDirtyFields([...dirtyFields, fieldName]);\n\t\t}\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t
    \n\t\t\t\t

    {t(\"myAccount.piecesJointes\")}

    \n\t\t\t\t{!editInput && (\n\t\t\t\t\t
    \n\t\t\t\t)}\n\t\t\t
    \n\n\t\t\t{editInput ? (\n\t\t\t\t<>\n\t\t\t\t\t
    \n\t\t\t\t\t\t d.type)}\n\t\t\t\t\t\t\tdocuments={documents}\n\t\t\t\t\t\t\tonDocumentChange={handleDocumentChange}\n\t\t\t\t\t\t\tonReset={onReset}\n\t\t\t\t\t\t\tform={form}\n\t\t\t\t\t\t/>\n\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\n\t\t\t) : (\n\t\t\t\t
    \n\t\t\t\t\t{documentList?.map((document, i) => (\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    {document.type?.selectedNom?.[i18n.language] || document.type?.nom?.[i18n.language]}*
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t{document.uri &&\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{document.fileName}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t{document.fileName && !document.uri &&\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{document.fileName}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t{document?.extraInfo && document.extraInfo.length > 0 && (\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t{document.extraInfo.map((info,i) => (\n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\t\t{`${getExtraInfoNameFromCode(document.type, info.code)} : `}\n\t\t\t\t\t\t\t\t\t\t\t\t{info.valueType === \"date\" && }\n\t\t\t\t\t\t\t\t\t\t\t\t{info.valueType === \"string\" && info.value}\n\t\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t))}\n\t\t\t\t
    \n\t\t\t)}\n\t\t\n\t)\n};\n\nexport default MonCompteFichier;\n","import React, { useState, useEffect } from \"react\";\nimport { Link } from '@reach/router';\n\nimport Lang from \"../basics/Lang\";\nimport ColoredLogo from \"../../components/logo/ColoredLogo\";\nimport { useUserContext } from '../../context/context-helpers';\nimport { FOCurrentUserDto, NotificationClient } from '../../services/generated/FrontOffice-api';\nimport { useAxios } from '../../custom-hooks/useAxios';\nimport { useTranslation } from 'react-i18next';\n\ninterface PublicHeaderProps {\n}\n\nconst PublicHeader: React.FunctionComponent = props => {\n\tconst [user, setUser] = useState({});\n\tconst context = useUserContext();\n\n\tuseEffect(() => {\n\t\tif (context) {\n\t\t\tsetUser(context);\n\t\t}\n\t}, [context]);\n\n\n\treturn (\n\t\t
    \n\t\t\t
    \n\t\t\t\t{user.id ?\n\t\t\t\t\t\n\t\t\t\t\t:\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t
    \n\n\t\t\t
    \n\n\t\t\t\t{window.location.pathname !== \"/Structures\" &&\n\t\t\t\t\t\n\t\t\t\t}\n\n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t
    \n\t\t
    \n\t)\n};\nexport default PublicHeader;","import React, { useState, useEffect } from \"react\";\n\nimport { RouteComponentProps, useParams } from '@reach/router';\nimport Subtitles from \"../basics/Subtitles\";\nimport PublicHeader from \"../PagesVitrines/PublicHeader\";\nimport Footer from \"../basics/Footer\";\nimport { useTranslation } from \"react-i18next\";\nimport { PageVitrineDto } from \"adel-shared/dist/models/generated/BackOffice-api\";\nimport { useContext } from \"react\";\nimport { AppStateContext } from \"../../context/AppContext\";\n\ninterface PagesVitrinesProps extends RouteComponentProps {\n\n}\n\nconst PagesVitrines: React.FunctionComponent = () => {\n\tconst [pageVitrine, setPageVitrine] = useState({});\n\tconst { i18n } = useTranslation();\n\tconst { page } = useParams();\n\tconst [{pagesVitrine}] = useContext(AppStateContext);\n\n\tuseEffect(() => {\n\t\tsetPageVitrine(pagesVitrine.find(x => x.urlSlug[i18n.language] === page))\n\t}, [page]);\n\n\treturn (\n\t\t
    \n\t\t\t
    \n\t\t\t\t\n\n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\n\t\t\t\t\t
    \n\t\t\t\t
    \n\n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
    \n\t\t
    \n\t);\n};\n\nexport default PagesVitrines;","import Table, { styleTable } from 'adel-shared/dist/components/basics/Table';\nimport moment from 'moment';\nimport React, { useCallback, useContext, useEffect, useRef, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport Loader from 'react-loader-spinner';\nimport { useSortBy, useTable } from 'react-table';\nimport { toast } from 'react-toastify';\nimport { RouteComponentProps, navigate, useParams, Link, useLocation } from \"@reach/router\";\nimport { AuthenticatedRoute } from \"../../containers/AuthenticatedRoute\";\nimport Structures from '../../containers/structures/Structure';\nimport { ActionTypeEnum } from '../../context/ActionType';\nimport { AppStateContext } from '../../context/AppContext';\nimport { useAxios } from '../../custom-hooks/useAxios';\nimport { CurrentDossierInfoDto, DossierClient, EtapeDemandeVersement, ModeVersement, StatutDossier, StatutVersement, TypeVersement, VersementClient } from '../../services/generated/FrontOffice-api';\nimport ModalValidateCancel from \"../basics/ModalValidateCancel\";\nimport Subtitles from '../basics/Subtitles';\n\ninterface VersementsListeProps extends RouteComponentProps {\n}\n\ninterface ButtonVersement {\n\ttype: TypeVersement;\n\tmode: ModeVersement;\n}\n\nconst VersementsListe: React.FunctionComponent = () => {\n\tconst { t } = useTranslation();\n\tconst axiosInstance = useAxios();\n\tconst location = useParams();\n\tconst originalId = location.dossierId;\n\tconst versementClient = new VersementClient(\"\", axiosInstance);\n\tconst [context, dispatch] = useContext(AppStateContext);\n\tconst dossierClient = new DossierClient(\"\", axiosInstance);\n\t\n\tconst [sort, setSort] = useState(\"\");\n\tconst [data, setData] = useState([]);\n\tconst [isVersementLoading, setIsVersementLoading] = useState(false);\n\n\tconst [buttonList, setButtonList] = useState([]);\n\n\tconst [isModalDeleteOpen, setModalDeleteOpen] = useState(false);\n\tconst [isDeleteLoading, setIsDeleteLoading] = useState(false);\n\tconst versementDeleteId = useRef(null);\n\n\tconst [numeroDossier, setNumeroDossier] = useState();\n\tconst [numeroDossierModal, setNumeroDossierModal] = useState(false);\n\tconst [infoDossier, setInfoDossier] = useState();\n\n\tconst getInfosDossier = async () => {\n\t\ttry {\n\t\t\tconst result = await dossierClient.getCurrentDossierInfo(originalId);\n\t\t\tsetInfoDossier(result);\n\t\t} catch(error) {\n\t\t\tconsole.error(error)\n\t\t}\n\t}\n\n\tuseEffect(() => {\n\t\t(async function () {\n\t\t\tawait getVersements(sort);\n\t\t})();\n\t}, [sort]);\n\n\tuseEffect(() => {\n\t\t(async function () {\n\t\t\tawait getInfosDossier();\n\t\t})();\n\t}, [originalId]);\n\n\tconst getVersements = async (sort: string) => {\n\t\ttry {\n\t\t\tconst result = await versementClient.getVersements(originalId, \"\", sort, 1, 10, true);\n\t\t\tconst data = result.versements?.items.map(v =>\n\t\t\t({\n\t\t\t\tStatut: (\n\t\t\t\t\t\n\t\t\t\t\t\t{t(`versements.statut.${v.dateDerniereSoumission && v.statutVersement == StatutVersement.Soumis ? 'modifie' : v.statutVersement}`)}\n\t\t\t\t\t\n\t\t\t\t),\n\t\t\t\tType: (\n\t\t\t\t\t\n\t\t\t\t\t\t{t(`versements.type.${v.typeVersement}`)}\n\t\t\t\t\t\n\t\t\t\t),\n\t\t\t\tDateDeSoumission: moment(v.dateSoumission).format('DD/MM/YYYY'),\n\t\t\t\tId: v.id,\n\t\t\t\tStatutOrigin: v.statutVersement,\n\t\t\t\tDossierId: v.dossierId,\n\t\t\t\tOriginalDossierId: originalId\n\t\t\t}));\n\t\t\tsetData(data);\n\n\t\t\tif (result.numeroDossierToDo) {\n\t\t\t\tsetNumeroDossierModal(true);\n\t\t\t\tsetNumeroDossier(result.numeroDossierToDo);\n\t\t\t}\n\n\t\t\tconst arrayTypes = result.typesVersements;\n\t\t\tconst arrayModes = result.modesVersements;\n\n\t\t\tlet array: ButtonVersement[] = [];\n\t\t\tarrayTypes?.forEach(t => {\n\t\t\t\tarrayModes?.forEach(m => {\n\t\t\t\t\t(t !== \"none\" && m !== \"none\") && array.push({\n\t\t\t\t\t\ttype: t as TypeVersement,\n\t\t\t\t\t\tmode: m as ModeVersement\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t});\n\t\t\tsetButtonList(array);\n\t\t} catch (error) {\n\t\t\tif (error.exception?.message)\n\t\t\t\ttoast.error(error.exception.message);\n\t\t\telse\n\t\t\t\ttoast.error(t(\"errors.default\"));\n\t\t\tthrow error;\n\t\t}\n\t}\n\n\tconst onCloseNumeroModal = () => {\n\t\tsetNumeroDossierModal(false);\n\t\tsetNumeroDossier(undefined);\n\t}\n\n\n\tconst goToStatut = useCallback((id: string, dossierId: string, originalDossierId: string, type: TypeVersement) => {\n\t\tconst current = context?.versementStates[id]?.currentStep ? context.versementStates[id].currentStep : EtapeDemandeVersement.InformationsProjet;\n\t\tdispatch({\n\t\t\ttype: ActionTypeEnum.UPDATE_VERSEMENT_STATE, payload: {\n\t\t\t\tversementId: id,\n\t\t\t\tversementType: type,\n\t\t\t\tdossierId,\n\t\t\t\toriginalDossierId,\n\t\t\t\tstate: { currentStep: current }\n\t\t\t}\n\t\t});\n\t\tnavigate(`/Versements/Statut/${id}`);\n\t}, [dispatch, navigate]);\n\n\tconst goToEditVersement = (id: string, dossierId: string, originalDossierId: string, type: TypeVersement) => {\n\t\tconst current = context?.versementStates[id]?.currentStep ? context.versementStates[id].currentStep : EtapeDemandeVersement.InformationsProjet;\n\t\tdispatch({\n\t\t\ttype: ActionTypeEnum.UPDATE_VERSEMENT_STATE, payload: {\n\t\t\t\tversementId: id,\n\t\t\t\tversementType: type,\n\t\t\t\tdossierId,\n\t\t\t\toriginalDossierId,\n\t\t\t\tstate: { currentStep: current }\n\t\t\t}\n\t\t});\n\t\tnavigate(`/Versements/Creation/${current}`);\n\t}\n\n\n\tconst goToCreateVersement = useCallback(async (type: TypeVersement, mode: ModeVersement) => {\n\t\tif (mode && type) {\n\t\t\tsetIsVersementLoading(true);\n\t\t\ttry {\n\t\t\t\tconst body = {\n\t\t\t\t\ttype: type,\n\t\t\t\t\tmode: mode\n\t\t\t\t}\n\t\t\t\tlet newVersement = await versementClient.createVersement(originalId, body);\n\n\t\t\t\tif (mode !== ModeVersement.Automatique) {\n\t\t\t\t\tnavigate(`/Versements/Creation/${EtapeDemandeVersement.ValidationStructure}`);\n\t\t\t\t\tdispatch({\n\t\t\t\t\t\ttype: ActionTypeEnum.UPDATE_VERSEMENT_STATE, payload: {\n\t\t\t\t\t\t\tversementId: newVersement.id,\n\t\t\t\t\t\t\tversementType: type,\n\t\t\t\t\t\t\tdossierId: newVersement.dossierId,\n\t\t\t\t\t\t\toriginalDossierId: originalId,\n\t\t\t\t\t\t\tstate: { currentStep: EtapeDemandeVersement.ValidationStructure }\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\ttoast.success(t(\"versements.createSuccess\"));\n\t\t\t\t}\n\n\t\t\t\tsetIsVersementLoading(false);\n\n\t\t\t} catch (error) {\n\t\t\t\tif (error.exception?.message)\n\t\t\t\t\ttoast.error(error.exception.message);\n\t\t\t\telse\n\t\t\t\t\ttoast.error(t(\"errors.default\"));\n\t\t\t\tsetIsVersementLoading(false);\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t}\n\n\t}, [dispatch, navigate]);\n\n\tconst handleDeleteValidate = useCallback(async () => {\n\t\tsetIsDeleteLoading(true);\n\n\t\ttry {\n\t\t\tawait versementClient.deleteVersement(versementDeleteId.current);\n\t\t\tsetData(data.filter(x => x.Id !== versementDeleteId.current));\n\t\t\ttoast.success(t('versements.deleteSuccess'));\n\t\t} catch (error) {\n\t\t\tif (error.exception?.message)\n\t\t\t\ttoast.error(error.exception.message);\n\t\t\telse\n\t\t\t\ttoast.error(t(\"errors.default\"));\n\t\t}\n\n\t\tsetIsDeleteLoading(false);\n\t\tsetModalDeleteOpen(false);\n\t}, [\n\t\tdata,\n\t\tsetData,\n\t\tsetIsDeleteLoading,\n\t\tsetModalDeleteOpen,\n\t\tversementDeleteId\n\t]);\n\n\tconst handleDeleteClick = useCallback((id: string) => {\n\t\tversementDeleteId.current = id;\n\t\tsetModalDeleteOpen(true);\n\t}, [setModalDeleteOpen, versementDeleteId]);\n\n\tconst handleCancelDelete = useCallback(() => {\n\t\tsetModalDeleteOpen(false);\n\t}, [setModalDeleteOpen]);\n\n\tconst columns = React.useMemo(() => {\n\t\treturn [\n\t\t\t{\n\t\t\t\tHeader: \"Table\",\n\t\t\t\tcolumns: [\n\t\t\t\t\t{ Header: t('versements.table.date'), accessor: \"DateDeSoumission\", sortType: \"basic\" },\n\t\t\t\t\t{ Header: t('versements.table.type'), accessor: \"Type\", disableSortBy: true },\n\t\t\t\t\t{ Header: t('versements.table.statut'), accessor: \"Statut\", disableSortBy: true },\n\t\t\t\t\t{\n\t\t\t\t\t\tHeader: \"\", accessor: \"Actions\", disableSortBy: true,\n\t\t\t\t\t\tCell: (value: any) => (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{(value.cell.row.values.StatutOrigin === StatutVersement.Brouillon || value.cell.row.values.StatutOrigin === StatutVersement.Modification) &&\n\t\t\t\t\t\t\t\t\t
    goToEditVersement(value.cell.row.values.Id, value.cell.row.values.DossierId, value.cell.row.values.OriginalDossierId, value.cell.row.values.Type.props['data-type'])}>\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t{value.cell.row.values.StatutOrigin !== StatutVersement.Brouillon &&\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t goToStatut(value.cell.row.values.Id, value.cell.row.values.DossierId, value.cell.row.values.OriginalDossierId, value.cell.row.values.Type.props['data-type'])}>\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t{value.cell.row.values.StatutOrigin === StatutVersement.Brouillon &&\n\t\t\t\t\t\t\t\t\t
    handleDeleteClick(value.cell.row.values.Id)}>\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t)\n\t\t\t\t\t},\n\t\t\t\t\t{ Header: \"Id\", accessor: \"Id\" },\n\t\t\t\t\t{ Header: \"DossierId\", accessor: \"DossierId\" },\n\t\t\t\t\t{ Header: \"OriginalDossierId\", accessor: \"OriginalDossierId\" },\n\t\t\t\t\t{ Header: \"StatutOrigin\", accessor: \"StatutOrigin\" }\n\t\t\t\t]\n\t\t\t}\n\t\t];\n\t}, []);\n\n\tconst { getTableProps, getTableBodyProps, headerGroups, rows, prepareRow, state } = useTable(\n\t\t{\n\t\t\tcolumns,\n\t\t\tdata,\n\t\t\tinitialState: {\n\t\t\t\thiddenColumns: [\"Id\", \"DossierId\", \"OriginalDossierId\", \"StatutOrigin\"]\n\t\t\t},\n\t\t\tmanualSortBy: true\n\t\t} as any,\n\t\tuseSortBy\n\t);\n\n\tconst sortBy = (state as any).sortBy;\n\n\tconst onChangeSort = (value: any) => {\n\t\tif (value && value.length > 0) {\n\t\t\tif (value[0].desc) {\n\t\t\t\tsetSort(`-${value[0].id}`);\n\t\t\t} else {\n\t\t\t\tsetSort(value[0].id);\n\t\t\t}\n\t\t} else {\n\t\t\tsetSort(\"\");\n\t\t}\n\t}\n\n\tuseEffect(() => {\n\t\tonChangeSort(sortBy);\n\t}, [onChangeSort, sortBy]);\n\n const canCreateVersementSolde = () => {\n\t\tlet canCreateSolde = data.some(item => item.Type.props['data-type'] == TypeVersement.Acompte && (item.Statut.props['children'].toLowerCase() != StatutVersement.Brouillon));\t\n\t\treturn canCreateSolde\n\t}\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t<>\n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{t(\"navigation.folder\")}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t|\n\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{t('versements.title')} - {context.currentEditingDossier.nom}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t{
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{isVersementLoading\n\t\t\t\t\t\t\t\t? \n\t\t\t\t\t\t\t\t: (infoDossier?.dossierStatut.toLowerCase() != StatutDossier.Reaffecte) &&
    \n\t\t\t\t\t\t\t\t\t{buttonList.map((item, i) => \t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t\t(item.type == TypeVersement.Solde && canCreateVersementSolde() || item.type != TypeVersement.Solde) &&\n\t\t\t\t\t\t\t\t\t\t\t
    goToCreateVersement(item.type, item.mode)}>\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{t('versements.create')}{t(`versements.createType.${item.type}`)}\n\t\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t
    }\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t

    {t('versements.delete')}

    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t

    {t('versements.numeroDossier', { numero: numeroDossier })}

    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
    \n\t\t
    \n\t);\n}\n\nexport default VersementsListe;\n","import InputReadOnly from 'adel-shared/dist/components/InputReadOnly';\nimport clsx from 'clsx';\nimport React, { useCallback, useContext, useEffect, useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Link, RouteComponentProps, useParams } from \"@reach/router\";\nimport { AuthenticatedRoute } from \"../../containers/AuthenticatedRoute\";\nimport Structures from '../../containers/structures/Structure';\nimport { AppStateContext } from '../../context/AppContext';\nimport { useAxios } from '../../custom-hooks/useAxios';\nimport { DemandeVersementDetailDto, StatutVersement, VersementClient } from '../../services/generated/FrontOffice-api';\nimport Subtitles from '../basics/Subtitles';\nimport { toast } from 'react-toastify';\nimport moment from 'moment';\nimport { formatNumber } from 'adel-shared/dist/utils/functions';\n\ninterface VersementStatutProps extends RouteComponentProps {\n}\n\nconst VersementStatut: React.FunctionComponent = () => {\n\tconst { t } = useTranslation();\n\tconst axiosInstance = useAxios();\n\tconst {versementId} = useParams();\n\tconst versementClient = new VersementClient(\"\", axiosInstance);\n\tconst [{\n\t\tcurrentEditingDossier,\n\t\tcurrentEditingVersement\n\t}] = useContext(AppStateContext);\n\n\tconst [data, setData] = useState({});\n\n\tuseEffect(() => {\n\t\t(async function () {\n\t\t\tawait getVersementsDetails();\n\t\t})();\n\t}, []);\n\n\tconst getVersementsDetails = async () => {\n\t\ttry {\n\t\t\tconst result = await versementClient.getDemandeVersementDetails(versementId);\n\t\t\tsetData(result);\n\t\t} catch(error) {\n\t\t\tif (error.exception?.message)\n\t\t\t\ttoast.error(error.exception.message);\n\t\t\telse\n\t\t\t\ttoast.error(t(\"errors.default\"));\n\t\t\tthrow error;\n\t\t}\n\t}\n\n\tconst dateProjet = useCallback(() => {\n\t\tif (data.dateDebutProjet && data.dateFinProjet) {\n\t\t\treturn t(\"versements.details.dateFull\", {debut: moment(data.dateDebutProjet).format('DD/MM/YYYY'), fin: moment(data.dateFinProjet).format('DD/MM/YYYY')});\n\t\t} else if (data.dateDebutProjet && !data.dateFinProjet) {\n\t\t\treturn `${t(\"versements.details.dateDebutOnly\")} ${moment(data.dateDebutProjet).format('DD/MM/YYYY')}`;\n\t\t} else {\n\t\t\treturn '-';\n\t\t}\n\t}, [data]);\n\n\tconst domiciliation = useCallback(() => {\n\t\tif (data.donneeBancaire && data.donneeBancaire.adresse) {\n\t\t\treturn `${data.donneeBancaire.adresse.line1} ${data.donneeBancaire.adresse.line2 ? `/ ${data.donneeBancaire.adresse.line2} `: ''}- ${data.donneeBancaire.adresse.codePostal} ${data.donneeBancaire.adresse.ville}`;\n\t\t} else {\n\t\t\treturn '-';\n\t\t}\n\t}, [data]);\n\n\treturn(\n\t\t\n\t\t\t\n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{t(\"navigation.folder\")}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t|\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{t('versements.title')}\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t|\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{`${t('versements.details.title')} - ${currentEditingDossier.nom}`}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t
      \n\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t
    • \n\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t
    • \n\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t
    • \n\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t
    • \n\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t
    • \n\t\t\t\t\t\t
    • \n\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t
    • \n\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t

    {t(`common.typesVersements.${currentEditingVersement.type}`)}

    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t

    {t(\"versements.details.coordonnees\")}

    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
    \n\t\t
    \n\t);\n}\n\nexport default VersementStatut;\n","import InputReadOnly from 'adel-shared/dist/components/InputReadOnly';\nimport InputRadioYesNo from 'adel-shared/dist/components/basics/InputRadioYesNo';\nimport moment from 'moment';\nimport React, { forwardRef, useEffect, useImperativeHandle, useState } from \"react\";\nimport { useForm } from 'react-hook-form';\nimport { useTranslation } from 'react-i18next';\nimport { toast } from 'react-toastify';\nimport { RouteComponentProps } from '@reach/router';\nimport { useAxios } from '../../../../custom-hooks/useAxios';\nimport { DemandeVersementInfosDto, EtapeDemandeVersement, VersementClient } from '../../../../services/generated/FrontOffice-api';\nimport ModalValidateCancel from '../../../basics/ModalValidateCancel';\nimport Loader from 'react-loader-spinner';\nimport { formatNumber, formatPhone } from 'adel-shared/dist/utils/functions';\n\ninterface InformationsDossierProps extends RouteComponentProps {\n\tref: any;\n\tversementId: string;\n\tdossierId: string;\n\tsetCanGoNext: (value: boolean) => void;\n\tsetIsLoading: (value: boolean) => void;\n\tisLoading?: boolean;\n\tsetCurrentStep: (value: EtapeDemandeVersement) => void;\n}\n\nconst InformationsDossier: React.FunctionComponent = forwardRef(({ setCanGoNext, setIsLoading, isLoading, dossierId, setCurrentStep }, ref) => {\n\tconst { t } = useTranslation();\n\n\tconst axiosInstance = useAxios();\n\tconst versementClient = new VersementClient(\"\", axiosInstance);\n\tconst { triggerValidation } = useForm({ defaultValues: {hasSendDocPromoImage: false}});\n\n\tconst [infos, setInfos] = useState({});\n\tconst [isValidateModalOpen, setIsValidateModalOpen] = useState(false);\n\n\tconst [isDeleted, setIsDeleted] = useState(\"keep\");\n\n\t/** Get Infos Dossier */\n\tconst getInfos = async () => {\n\t\ttry {\n\t\t\tvar infosVersement = await versementClient.getDemandeVersementInfos(dossierId);\n\t\t\tinfosVersement = {...infosVersement, documentAPI : \n\t\t\t\t{...infosVersement?.documentAPI,\n\t\t\t\t\tname: infosVersement?.documentAPI?.fileName\n\t\t\t }};\n\t\t\tsetInfos(infosVersement);\n\t\t\tsetFile(infosVersement?.documentAPI);\n\t\t} catch (error) {\n\t\t\tif (error.exception?.message)\n\t\t\t\ttoast.error(error.exception.message);\n\t\t\telse\n\t\t\t\ttoast.error(t(\"errors.default\"));\n\t\t}\n\t}\n\n\t// useEffect(() => {\n\t// \tif(infos?.documentAPI){\n\t// \t\tsetFile(infos.documentAPI)\n\t// \t}\n\t// },[infos?.documentAPI]);\n\n\tuseEffect(() => {\n\t\t(async () => await getInfos())();\n\t\tsetCanGoNext(true);\n\t}, []);\n\n\tconst [file, setFile] = useState(null);\n\t/** Post */\n\tuseImperativeHandle(ref, () => ({\n\t\tasync validateForm(): Promise {\n\t\t\tif (infos?.isApi) {\n\t\t\t\tconst result = await triggerValidation();\n\t\t\t\tif (result) {\n\t\t\t\t\tif (file == undefined || file?.name == undefined) {\n\t\t\t\t\t\tsetIsValidateModalOpen(true);\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\ttoast.error(t(\"validation-messages.invalid-form\"));\n\t\t\t\t}\n\t\t\t\tonValidate();\n\t\t\t\treturn true;\n\t\t\t} else {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t}));\n\n\tconst sendValidate = async () => {\n\n\t\tsetIsLoading(true);\n\t\ttry {\n\t\t\tawait versementClient.updateHasSendDocPromoImage(dossierId,isDeleted, infos.hasSendDocPromoImage,file);\n\t\t\tsetCurrentStep(EtapeDemandeVersement.ValidationArtiste);\n\t\t\tsetIsLoading(false);\n\t\t} catch(error) {\n\t\t\tif (error.exception?.message)\n\t\t\t\ttoast.error(error.exception.message);\n\t\t\telse\n\t\t\t\ttoast.error(t(\"errors.default\"));\n\t\t\tsetIsLoading(false);\n\t\t}\n\t}\n\n\tconst onValidate = () => {\n\t\t(async function () {\n\t\t\tsetIsLoading(true);\n\t\t\ttry {\n\t\t\t\tawait versementClient.updateHasSendDocPromoImage(dossierId,isDeleted, infos.hasSendDocPromoImage,file);\n\t\t\t\tsetCurrentStep(EtapeDemandeVersement.ValidationArtiste);\n\t\t\t\tsetIsLoading(false);\n\t\t\t} catch(error) {\n\t\t\t\tif (error.exception?.message)\n\t\t\t\t\ttoast.error(error.exception.message);\n\t\t\t\telse\n\t\t\t\t\ttoast.error(t(\"errors.default\"));\n\t\t\t\tsetIsLoading(false);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t})()\n\t}\n\n\t// const [file, setFile] = useState({\n\t// \tid: \"\",//depense.document?.id,\n\t// \tfileName: \"\" // depense.document?.fileName\n\t// });\n\tconst [errorValidation, setErrorValidation] = useState('')\n\t\n\t\n\tconst handleFileChange = (value: React.ChangeEvent) => {\n\t\n\t\tif (value.target.files.length !== 0) {\n if (value.target.files[0].name !== \"\") {\n\t\t\t\tsetFile(value.target.files[0]);\n\t\t\t\tif (isDeleted == \"remove\"){\n\t\t\t\t\tsetIsDeleted(\"replace\")\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tsetFile(undefined);\n }\n\t\t}\n\t}\n\n\t\tconst deleteFile = (idFile:string) => {\n\t\t\tsetFile(undefined);\n\t\t\tsetIsDeleted(\"remove\");\n\t\t}\n\n\treturn (\n\t\t
    \n\t\t\t
    \n\t\t\t\t

    {t(\"creationVersement.infosDossier.title\")}

    \n\t\t\t
    \n\t\t\t{infos\n\t\t\t\t? <>\n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t{infos?.isApi && <>\n\t\t\t\t\t
    \n\t\t\t\t\t\t setInfos({...infos, hasSendDocPromoImage: value})}\n\t\t\t\t\t\t\tvalue={infos.hasSendDocPromoImage}\n\t\t\t\t\t\t\tradioLabels={[t(\"common.yes\"), t(\"common.no\")]}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t { setIsValidateModalOpen(false) }}\n\t\t\t\t\t\t\tonValidate={sendValidate}\n\t\t\t\t\t\t\tvalidateButtonLabel={t('common.validate')}\n\t\t\t\t\t\t\tisLoading={isLoading}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t

    {t('creationVersement.infosDossier.warning')}

    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t{!file?.name &&\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t handleFileChange(value)}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t}\n\t\t\t\t\t\t{file?.name &&\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{file.name}\n\t\t\t\t\t\t\t\t\t deleteFile(\"\")}>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t}\n\t\t\t\t\t
    \n\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t:
    \n\t\t}\n\t\t
    \n\t)\n});\n\nexport default InformationsDossier;\n","import axios, { AxiosError, AxiosInstance, AxiosRequestConfig, AxiosResponse, CancelToken } from \"axios\";\r\nimport i18next from \"i18next\";\r\nimport { maxTotalFilesSize } from \"../constants/config.constant\";\r\nimport { Dictionary } from \"../models\";\r\nimport { IFile } from '../models/IFile';\r\nimport {\r\n UpdateDepenseDto,\r\n Unit,\r\n EnseignantDto,\r\n DocumentUploadInfoDto,\r\n UpdateVersementArtisteDocumentDto\r\n} from \"../services/generated/FrontOffice-api\";\r\n\r\nexport class AdelVersementClient {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n this.instance = instance ? instance : axios.create();\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : \"\";\r\n }\r\n\r\n /**\r\n * @param versementArtistes (optional) \r\n * @param documents (optional) \r\n * @return Success\r\n */\r\n updateArtisteDocument(versementId: string | null, body: UpdateVersementArtisteDocumentDto[], files: Dictionary, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/{versementId}/contratscachets/artiste/document\";\r\n\r\n if (versementId === undefined || versementId === null)\r\n throw new Error(\"The parameter 'versementId' must be defined.\");\r\n url_ = url_.replace(\"{versementId}\", encodeURIComponent(\"\" + versementId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let formData = new FormData();\r\n formData.set(\"json\", JSON.stringify({ versementArtistes: body }));\r\n appendFileDictionary(formData, files);\r\n\r\n let options_ = {\r\n headers: {\r\n \"Content-Type\": \"multipart/form-data\",\r\n },\r\n } as AxiosRequestConfig;\r\n\r\n return this.instance.put(url_, formData, options_).then((_response: AxiosResponse) => {\r\n return this.processUpdateArtisteDocument(_response);\r\n });\r\n }\r\n\r\n protected processUpdateArtisteDocument(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200;\r\n return result200;\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /****/\r\n\r\n\r\n /**\r\n * @param depensesSpecifiques (optional) \r\n * @param depenses (optional) \r\n * @param documents (optional) \r\n * @return Success\r\n */\r\n createOrUpdateDepenses(dossierId: string | null,\r\n depensesSpecifiques: UpdateDepenseDto[] | null | undefined,\r\n autresDepenses: UpdateDepenseDto[] | null | undefined,\r\n documents: Dictionary | null | undefined)\r\n : Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/dossier/{dossierId}/versement/contratscachets/depenses\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const formData = new FormData();\r\n if (depensesSpecifiques !== null && depensesSpecifiques !== undefined)\r\n formData.set(\"json\", JSON.stringify({ depensesSpecifiques: depensesSpecifiques }))\r\n if (autresDepenses !== null && autresDepenses !== undefined)\r\n formData.set(\"json\", JSON.stringify({ autresDepenses: autresDepenses }))\r\n\r\n appendFileDictionary(formData, documents);\r\n\r\n let options_ = {\r\n headers: {\r\n \"Content-Type\": \"multipart/form-data\",\r\n },\r\n };\r\n\r\n return this.instance.post(url_, formData, options_).then((_response: AxiosResponse) => {\r\n return this.processCreateOrUpdateDepenses(_response);\r\n });\r\n }\r\n\r\n protected processCreateOrUpdateDepenses(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 201) {\r\n const _responseText = response.data;\r\n let result201: any = null;\r\n let resultData201 = _responseText;\r\n result201 = resultData201;\r\n return result201;\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n }\r\n else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n * @param documents (optional) \r\n * @return Success\r\n */\r\n createEnseignantOnDemandeVersement(dossierId: string | null, body: EnseignantDto | undefined, files: Dictionary, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/dossier/{dossierId}/versement/contratscachets/enseignant/create\";\r\n if (dossierId === undefined || dossierId === null)\r\n throw new Error(\"The parameter 'dossierId' must be defined.\");\r\n url_ = url_.replace(\"{dossierId}\", encodeURIComponent(\"\" + dossierId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const formData = new FormData();\r\n formData.set(\"json\", JSON.stringify(body));\r\n appendFileDictionary(formData, files);\r\n\r\n let options_ = {\r\n headers: {\r\n \"Content-Type\": \"multipart/form-data\",\r\n },\r\n };\r\n\r\n return this.instance.post(url_, formData, options_).then((_response: AxiosResponse) => {\r\n return this.processCreateEnseignantOnDemandeVersement(_response);\r\n });\r\n }\r\n\r\n protected processCreateEnseignantOnDemandeVersement(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 201) {\r\n const _responseText = response.data;\r\n let result201: any = null;\r\n let resultData201 = _responseText;\r\n result201 = resultData201;\r\n return result201;\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n\r\n /**\r\n * @param piecesJointes (optional) \r\n * @param documents (optional) \r\n * @return Success\r\n */\r\n createOrUpdatePieceJointes(versementId: string | null,\r\n piecesJointes: DocumentUploadInfoDto[] | null | undefined,\r\n files: IFile[] | null | undefined,\r\n cancelToken?: CancelToken | undefined)\r\n : Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/{versementId}/piecesjointes/update\";\r\n if (versementId === undefined || versementId === null)\r\n throw new Error(\"The parameter 'versementId' must be defined.\");\r\n url_ = url_.replace(\"{versementId}\", encodeURIComponent(\"\" + versementId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n\r\n const formData = new FormData();\r\n if (piecesJointes !== null && piecesJointes !== undefined)\r\n formData.set(\"json\", JSON.stringify({ piecesJointes }))\r\n\r\n files && files.length > 0 && files.forEach(file => {\r\n if (file.file.size >= 100000000) {\r\n\t\t\t\tthrowException(i18next.t('errors.largeFile', {maxTotalFilesSize}), 413, \"\", null);\r\n }\r\n if (file && file.file) {\r\n formData.append(file.code, file.file);\r\n }\r\n })\r\n\r\n let options_ = {\r\n headers: {\r\n \"Content-Type\": \"multipart/form-data\",\r\n },\r\n };\r\n\r\n return this.instance.post(url_, formData, options_).then((_response: AxiosResponse) => {\r\n return this.processCreateOrUpdateDepenses(_response);\r\n });\r\n }\r\n\r\n protected processCreateOrUpdatePieceJointes(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 201) {\r\n const _responseText = response.data;\r\n let result201: any = null;\r\n let resultData201 = _responseText;\r\n result201 = resultData201;\r\n return result201;\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n /**\r\n *\r\n * @param documents (optional) \r\n * @return Success\r\n */\r\n updateEnseignantOnDemandeVersement(enseignantId: string | null, body: EnseignantDto | undefined, files: Dictionary, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/v1/Versement/dossier/versement/contratscachets/enseignant/{enseignantId}/update\";\r\n if (enseignantId === undefined || enseignantId === null)\r\n throw new Error(\"The parameter 'enseignantId' must be defined.\");\r\n url_ = url_.replace(\"{enseignantId}\", encodeURIComponent(\"\" + enseignantId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const formData = new FormData();\r\n formData.set(\"json\", JSON.stringify(body));\r\n appendFileDictionary(formData, files);\r\n\r\n let options_ = {\r\n headers: {\r\n \"Content-Type\": \"multipart/form-data\"\r\n }\r\n };\r\n\r\n return this.instance.put(url_, formData, options_).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processUpdateEnseignantOnDemandeVersement(_response);\r\n });\r\n }\r\n\r\n protected processUpdateEnseignantOnDemandeVersement(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 201) {\r\n const _responseText = response.data;\r\n let result201: any = null;\r\n let resultData201 = _responseText;\r\n result201 = resultData201;\r\n return result201;\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = resultData404;\r\n return throwException(\"Not Found\", status, _responseText, _headers, result404);\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n}\r\n\r\nexport class ApiException extends Error {\r\n message: string;\r\n status: number;\r\n response: string;\r\n headers: { [key: string]: any; };\r\n result: any;\r\n\r\n constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {\r\n super();\r\n\r\n this.message = message;\r\n this.status = status;\r\n this.response = response;\r\n this.headers = headers;\r\n this.result = result;\r\n }\r\n\r\n protected isApiException = true;\r\n\r\n static isApiException(obj: any): obj is ApiException {\r\n return obj.isApiException === true;\r\n }\r\n}\r\n\r\nconst appendFileDictionary = (formData: FormData, files: Dictionary) => {\r\n for (let key in files) {\r\n if (files.hasOwnProperty(key)) {\r\n formData.append(key, files[key]);\r\n }\r\n }\r\n}\r\n\r\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): any {\r\n if (result !== null && result !== undefined)\r\n throw result;\r\n else\r\n throw new ApiException(message, status, response, headers, null);\r\n}\r\n\r\nfunction isAxiosError(obj: any | undefined): obj is AxiosError {\r\n return obj && obj.isAxiosError === true;\r\n}","import { RouteComponentProps } from '@reach/router';\nimport Input from 'adel-shared/dist/components/basics/Input';\nimport InputReadOnly from 'adel-shared/dist/components/InputReadOnly';\nimport React, { useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { formatNumber } from 'adel-shared/dist/utils/functions';\nimport { DepenseDto } from '../../../../../services/generated/FrontOffice-api';\nimport { DocumentDepenses } from '../ContratsCachets';\n\ninterface DepenseItemProps extends RouteComponentProps {\n\tisDepenseAutre: boolean;\n\thideFileInput: boolean;\n\tdepense: DepenseDto;\n\tdeleteDepense?: (value:string) => void;\n\thandChangeMontant: (value:string, id:string, isDepenseAutre:boolean) => void;\n\thandChangeMontantName?: (value:string, id:string) => void;\n\teditFile: (value:DocumentDepenses, idDepense:string, isDelete:boolean, isDepenseAutre:boolean) => void;\n}\n\nconst DepenseItem: React.FunctionComponent = ({\n\tdeleteDepense,\n\tisDepenseAutre,\n\thideFileInput,\n\tdepense,\n\thandChangeMontant,\n\thandChangeMontantName,\n\teditFile\n}) => {\n\tconst { t } = useTranslation();\n\tconst [file, setFile] = useState({\n\t\tid: depense.document?.id,\n\t\tfileName: depense.document?.fileName\n\t});\n\tconst [isMontantDirty, setMontantDirty] = useState(false);\n\n\tconst handleFileChange = (value: React.ChangeEvent, id:string) => {\n\t\tif (value.target.files.length !== 0) {\n if (value.target.files[0].name !== \"\") {\n\t\t\t\tsetFile({\n\t\t\t\t\tdata: value.target.files[0],\n\t\t\t\t\tfileName: value.target.files[0].name\n\t\t\t\t});\n\t\t\t\teditFile({\n\t\t\t\t\tdata: value.target.files[0],\n\t\t\t\t\tfileName: value.target.files[0].name\n\t\t\t\t}, id, false, isDepenseAutre);\n } else {\n\t\t\t\tsetFile(undefined);\n }\n\t\t}\n\t}\n\n\tconst handleMontantChange = (value: string, depenseId: string, isDepenseAutre: boolean) => {\n\t\tif(!isMontantDirty) {\n\t\t\tsetMontantDirty(true);\n\t\t}\n\t\thandChangeMontant(value, depenseId, isDepenseAutre);\n\t};\n\n\tconst deleteFile = (idFile:string) => {\n\t\tsetFile(undefined);\n\t\teditFile({\n\t\t\tid: idFile\n\t\t}, depense.id, true, isDepenseAutre);\n\t}\n\n\tconst [montantRealise, setMontantRealise] = useState(depense.montantRealise === undefined ? depense.montant.toString() : depense.montantRealise.toString())\n\n\tuseEffect(() =>{\n\t\thandleMontantChange(montantRealise, depense.id, isDepenseAutre)\n\t}, [montantRealise])\n\n\treturn(\n\t\t
    \n\t\t\t
    \n\t\t\t\t{isDepenseAutre\n\t\t\t\t\t? handChangeMontantName(value, depense.id)}\n\t\t\t\t\t/>\n\t\t\t\t\t: \n\t\t\t\t}\n\t\t\t\t setMontantRealise(value)}\n\t\t\t\t\terrorMessageCusto={(isMontantDirty && (depense.montantRealise < 0 || isNaN(depense.montantRealise))) && t(\"validation-messages.invalid-number\")}\n\t\t\t\t/>\n\t\t\t\t{ !hideFileInput ?\n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t{!file?.fileName &&\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t handleFileChange(value, depense.id)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t
    \n\t\t\t\t\t}\n\t\t\t\t\t{file?.fileName &&\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{file.fileName}\n\t\t\t\t\t\t\t\t deleteFile(depense.id)}>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t}\n\t\t\t\t
    \n\t\t\t\t:\n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t\t}\n\n\t\t\t
    \n\t\t\t{deleteDepense &&\n\t\t\t\t
    deleteDepense(depense.id)}>\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t}\n\t\t
    \n\t);\n}\n\nexport default DepenseItem;\n","import React, { useContext, useEffect, useMemo, useState } from 'react';\nimport FormButton from 'adel-shared/dist/components/basics/FormButton';\nimport InputFileSingle from 'adel-shared/dist/components/basics/InputFileSingle';\nimport Table, { styleTable } from 'adel-shared/dist/components/basics/Table';\nimport TotalAmountsTable from 'adel-shared/dist/components/basics/TotalAmountsTable';\nimport { escapeName, formatNumber } from 'adel-shared/dist/utils/functions';\nimport _ from 'lodash';\nimport moment from 'moment';\nimport { useTranslation } from 'react-i18next';\nimport { useSortBy, useTable } from 'react-table';\nimport { AppStateContext } from '../../../../../context/AppContext';\nimport { useAxios } from '../../../../../custom-hooks/useAxios';\nimport { Dictionary } from '../../../../../models';\nimport {\n\tArtisteLightDto,\n\tChampDepense,\n\tDemandeVersementContratCachetDto,\n\tTypeDepense,\n\tTypeVersement,\n\tUpdateDepenseDto,\n\tVersementClient,\n} from '../../../../../services/generated/FrontOffice-api';\nimport Textarea from '../../../../basics/Textarea';\nimport ModalDeleteArtiste from '../../../../dossiers/creationDossier/artistes/ModalDeleteArtiste';\nimport { ContratsCachetsAction, DocumentDepenses } from '../ContratsCachets';\nimport DepenseItem from './DepenseItem';\nimport { FormContextValues, useFieldArray } from 'react-hook-form';\nimport Loader from 'react-loader-spinner';\n\ninterface ArtisteListProps {\n\tcontratsCachets: DemandeVersementContratCachetDto;\n\tonAddArtist: () => void;\n\tduplicateArtiste: (id: string) => void;\n\teditArtiste: (id: string) => void;\n\tinformDeleteArtiste: (id: string) => void;\n\tdepensesSpe: UpdateDepenseDto[];\n\tautreDepenses: UpdateDepenseDto[];\n\tdepensesDocuments: DocumentDepenses[];\n\tsetDepensesSpecifiques: (value: UpdateDepenseDto[]) => void;\n\tsetDepensesAutres: (value: UpdateDepenseDto[] ) => void;\n\tsetDepensesDocuments: (value: DocumentDepenses[]) => void;\n\tonUpdateDocuments: (artistesDocumentsFiles: Dictionary) => void;\n\tartistesDocumentsFiles: Dictionary;\n\tonUpdateContratsCachets: (action: ContratsCachetsAction) => void;\n\tcommentGeneral: string;\n\tsetCommentGeneral: (value:string) => void;\n\tisCommentMandatory: boolean;\n\tform: FormContextValues;\n\tcanGoNext: boolean;\n\tisLoading: boolean;\n\tvalidationRequired: boolean;\n\thandleSubmit: (validationNotRequired?: boolean) => void\n\tsetValidationRequired: (validationNotRequired?: boolean) => void\n}\n\nconst ArtisteList: React.FunctionComponent = ({\n\tcontratsCachets: {\n\t\tartistes = [],\n\t\ttotalMontantPrevisionnel,\n\t\ttotalRemunerationBrut,\n\t\ttotalChargePatronales,\n\t\tcategoryDossierId\n\t},\n\tonAddArtist,\n\tduplicateArtiste,\n\teditArtiste,\n\tinformDeleteArtiste,\n\tdepensesSpe,\n\tautreDepenses,\n\tdepensesDocuments,\n\tsetDepensesSpecifiques,\n\tsetDepensesAutres,\n\tsetDepensesDocuments,\n\tonUpdateDocuments,\n\tartistesDocumentsFiles,\n\tonUpdateContratsCachets,\n\tcommentGeneral,\n\tsetCommentGeneral,\n\tisCommentMandatory,\n\tform,\n\tcanGoNext,\n\tisLoading,\n\tvalidationRequired,\n\tsetValidationRequired,\n\thandleSubmit\n}) => {\n\tconst { t } = useTranslation();\n\tconst axiosInstance = useAxios();\n\tconst versementeClient = useMemo(() => { return new VersementClient(\"\", axiosInstance) }, [axiosInstance]);\n\tconst [modalDeletePageVitrineIsOpen, setModalDeletePageVitrineIsOpen] = useState(false)\n\tconst [artisteId, setArtisteId] = useState('');\n\tconst [{currentEditingVersement: versement}] = useContext(AppStateContext);\n\tconst [data, setData] = useState(artistes);\n\tconst { register, errors,unregister,control,watch } = form;\n\tconst { fields, remove } = useFieldArray({ control, name: 'artistes' });\n\t\n\tconst handleFileChange = (file: any, id: string, type: 'bulletin' | 'contrat') => {\n\t\tconst docsToUpdate = {...artistesDocumentsFiles};\n\n\t\tif(file) {\n\t\t\tdocsToUpdate[`${escapeName(file.fileName)}-${id}`] = file.file\n\t\t} else {\n\t\t\tconst artiste = artistes.find(x => x.id === id);\n\t\t\tconst partNameDoc = `${escapeName(artiste?.[type].fileName)}-${id}`;\n\t\t\tdelete docsToUpdate[partNameDoc];\n\t\t}\n\n\t\tonUpdateDocuments(docsToUpdate);\n\n\t\tonUpdateContratsCachets({\n\t\t\ttype: 'updateArtisteDocument',\n\t\t\tpayload: {\n\t\t\t\tartisteId: id,\n\t\t\t\tartisteDocument: {\n\t\t\t\t\ttype,\n\t\t\t\t\tfile: file ? {\n\t\t\t\t\t\tid,\n\t\t\t\t\t\tfileName: file.fileName,\n\t\t\t\t\t\tactionType: 'update',\n\t\t\t\t\t\turi: file.uri,\n\t\t\t\t\t}: {\n\t\t\t\t\t\tid,\n\t\t\t\t\t\tactionType: 'delete',\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t};\n\n\tuseEffect(() => {\n\t\tif(artistes.length) {\n\t\t\tsetData(artistes.map(x => ({\n\t\t\t\t...x,\n\t\t\t\temploi: t(`emplois.${x.emploi}`),\n\t\t\t\tdates: x.datesTravailles.map(\n\t\t\t\t\ty => moment(y).format('DD/MM/YYYY')\n\t\t\t\t).join(', '),\n\t\t\t\ttotalCharges: `${formatNumber(x.totalCharges)} €`,\n\t\t\t\ttotalSalairesBruts: `${formatNumber(x.totalSalairesBruts)} €`,\n\t\t\t})));\n\t\t}\n\t}, [artistes]);\n\n\tconst columns = React.useMemo(() => {\n\t\treturn [{\n\t\t\tHeader: \"Table\",\n\t\t\tcolumns: [\n\t\t\t\t{ accessor: \"id\", disableSortBy: true },\n\t\t\t\t{ Header: t('creationVersement.contratsCachets.listColumns.nom'), accessor: \"nom\", disableSortBy: true },\n\t\t\t\t{ Header: t('creationVersement.contratsCachets.listColumns.prenom'), accessor: \"prenom\", disableSortBy: true },\n\t\t\t\t{ Header: t('creationVersement.contratsCachets.listColumns.emploi'), accessor: \"emploi\", disableSortBy: true },\n\t\t\t\t{ Header: t('creationVersement.contratsCachets.listColumns.datesTravail'), accessor: \"dates\", disableSortBy: true},\n\t\t\t\t{ Header: t('creationVersement.contratsCachets.listColumns.salaires'), accessor: \"totalSalairesBruts\", disableSortBy: true},\n\t\t\t\t{ Header: t('creationVersement.contratsCachets.listColumns.charges'), accessor: \"totalCharges\", disableSortBy: true},\n\t\t\t\t{ Header: t('creationVersement.contratsCachets.listColumns.contrats'), accessor: \"contrat\", disableSortBy: true,\n\t\t\t\t\tCell: (value: any) => (\n\t\t\t\t\t\t handleFileChange(file, value.cell.row.values.id, 'contrat')}\n\t\t\t\t\t\t\tisRequired={true}\n\t\t\t\t\t\t\tcurrentValue={value.cell.row.values.contrat && value.cell.row.values.contrat.fileName ? {\n\t\t\t\t\t\t\t\tid: value.cell.row.values.contrat.id,\n\t\t\t\t\t\t\t\tfileName: value.cell.row.values.contrat.fileName,\n\t\t\t\t\t\t\t\turl: value.cell.row.values.contrat.uri\n\t\t\t\t\t\t\t}: undefined}\n\t\t\t\t\t\t\terrorMessage={errors}\n\t\t\t\t\t\t\t{...(validationRequired && { reference: register({ required: `${t(\"validation-messages.required-document\")}`}) })}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)\n\t\t\t\t},\n\t\t\t\t{ Header: t('creationVersement.contratsCachets.listColumns.bulletins'), accessor: \"bulletin\", width: 200, disableSortBy: true,\n\t\t\t\t\tCell: (value: any) => \n\t\t\t\t\t (\n\t\t\t\t\t\t handleFileChange(file, value.cell.row.values.id, 'bulletin')}\n\t\t\t\t\t\t\tisRequired={true}\n\t\t\t\t\t\t\tcurrentValue={value.cell.row.values.bulletin && value.cell.row.values.bulletin.fileName ? {\n\t\t\t\t\t\t\t\tid: value.cell.row.values.bulletin.id,\n\t\t\t\t\t\t\t\tfileName: value.cell.row.values.bulletin.fileName,\n\t\t\t\t\t\t\t\turl: value.cell.row.values.bulletin.uri\n\t\t\t\t\t\t\t}: undefined}\n\t\t\t\t\t\t\terrorMessage={errors}\n\t\t\t\t\t\t\t{...( { reference: register({ required: `${t(\"validation-messages.required-document\")}`}) })}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tHeader: \"\", accessor: \"Actions\", disableSortBy: true,\n\t\t\t\t\tCell: (value: any) => (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    { duplicateArtiste(value.cell.row.values.id) }} title={t(\"common.copy\")}>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    { editArtiste(value.cell.row.values.id) }} title={t(\"common.edit\")}>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    { openDeleteArtiste(value.cell.row.values.id) }} title={t(\"common.delete\")}>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t]\n\t\t}];\n\t}, [artistesDocumentsFiles, errors, register, validationRequired]);\n\n\tconst { getTableProps, getTableBodyProps, headerGroups, rows, prepareRow, state } = useTable({\n\t\tcolumns: columns,\n\t\tdata,\n\t\tinitialState: {\n\t\t\thiddenColumns: [\n\t\t\t\t\"id\",\n\t\t\t\t...versement.type !== TypeVersement.Acompte ? ['contrat'] : [],\n\t\t\t\t...versement.type !== TypeVersement.Complet && versement.type !== TypeVersement.Solde ? ['bulletin'] : [],\n\t\t\t]\n\t\t},\n\t}, useSortBy);\n\n\tconst openDeleteArtiste = (id: string) => {\n\t\n\t\tconsole.log(data);\n\n\t\tconst index = artistes.findIndex(field => field.id === id);\n if (index !== -1) {\n // Unregister the field for both contrat and bulletin\n const fieldNameBulletin = `${id}`;\n \n console.log(`Unregistering ${fieldNameBulletin}`);\n unregister(fieldNameBulletin);\n\n // Remove the item\n // remove(index);\n }\n\t\tsetArtisteId(id)\n\t\tsetModalDeletePageVitrineIsOpen(true)\n\t}\n\n\t// Watch all field values\n\tconst watchedValues = watch();\n\n\tuseEffect(() => {\n\t console.log('Registered field values:', watchedValues);\n\t}, [watchedValues]);\n\n\tconst deleteArtiste = async() => {\n\t\tawait versementeClient.deleteVersementArtiste(artisteId);\n\t\tunregister(`${artisteId}`);\n\t\tsetModalDeletePageVitrineIsOpen(false);\n\t\tinformDeleteArtiste(artisteId);\t\t\n\t}\n\n\n\n\t/** DEPENSES */\n\n\tconst addDepense = () => {\n\t\tlet array = [...autreDepenses];\n\t\tarray.push({\n\t\t\ttype: TypeDepense.Autre,\n\t\t\tchamp: ChampDepense.Autre,\n\t\t\tid: _.uniqueId('autreDepenses_')\n\t\t});\n\t\tsetDepensesAutres(array);\n\t}\n\n\tconst deleteDepense = (id:string) => {\n\t\tlet array = [...autreDepenses];\n\t\tarray.filter(d => d.id !== id)\n\t\tsetDepensesAutres(array);\n\t}\n\n\tconst handChangeMontant = (value:string, id:string, isDepenseAutre:boolean) => {\n\t\tif (isDepenseAutre) {\n\t\t\tlet array = [...autreDepenses];\n\t\t\tarray.map(\n\t\t\t\te => {\n\t\t\t\t\tif (e.id === id) e.montantRealise = parseFloat(value);\n\t\t\t\t\treturn e;\n\t\t\t});\n\t\t\tsetDepensesAutres(array);\n\t\t}\n\t\telse {\n\t\t\tlet array = [...depensesSpe]\n\t\t\tarray.map(\n\t\t\t\te => {\n\t\t\t\t\tif (e.id === id) e.montantRealise = parseFloat(value);\n\t\t\t\t\treturn e;\n\t\t\t});\n\t\t\tsetDepensesSpecifiques(array);\n\t\t}\n\t}\n\n\tconst handChangeMontantName = (value:string, id:string) => {\n\t\tlet array = [...autreDepenses];\n\t\tarray.map(\n\t\t\te => {\n\t\t\t\tif (e.id === id) e.intitule = value;\n\t\t\t\treturn e;\n\t\t});\n\t\tsetDepensesAutres(array);\n\t}\n\n\tconst editFile = (value:DocumentDepenses, idDepense:string, isDelete:boolean, isDepenseAutre:boolean) => {\n\t\tlet arrayDocs = [...depensesDocuments];\n\t\tlet partName:string;\n\n\t\tif (isDelete) { // Suppression Document\n\t\t\tarrayDocs.filter(e => e.partName !== value.partName);\n\t\t\tsetDepensesDocuments(arrayDocs);\n\n\t\t\tif (isDepenseAutre) {\n\t\t\t\tlet array = [...autreDepenses];\n\t\t\t\tarray.map(\n\t\t\t\t\te => {\n\t\t\t\t\t\tif (e.id === idDepense) e.document = undefined;\n\t\t\t\t\t\treturn e;\n\t\t\t\t});\n\t\t\t\tsetDepensesAutres(array);\n\t\t\t} else {\n\t\t\t\tlet array = [...depensesSpe];\n\t\t\t\tarray.map(\n\t\t\t\t\te => {\n\t\t\t\t\t\tif (e.id === idDepense) e.document = undefined;\n\t\t\t\t\t\treturn e;\n\t\t\t\t});\n\t\t\t\tsetDepensesSpecifiques(array);\n\t\t\t}\n\t\t} else { // Ajout document\n\t\t\tif (isDepenseAutre) {\n\t\t\t\tpartName = `autreDepense${idDepense}`;\n\t\t\t\tlet array = [...autreDepenses];\n\t\t\t\tarray.map(\n\t\t\t\t\te => {\n\t\t\t\t\t\tif (e.id === idDepense) e.document = { partName: partName };\n\t\t\t\t\t\treturn e;\n\t\t\t\t});\n\t\t\t\tsetDepensesAutres(array);\n\n\t\t\t\tarrayDocs.push({ data: value.data, partName: partName });\n\t\t\t\tsetDepensesDocuments(arrayDocs);\n\n\t\t\t} else {\n\t\t\t\tpartName = depensesSpe.find(e => e.id === idDepense).champ;\n\t\t\t\tlet array = [...depensesSpe];\n\t\t\t\tarray.map(\n\t\t\t\t\te => {\n\t\t\t\t\t\tif (e.id === idDepense) e.document = { partName: partName };\n\t\t\t\t\t\treturn e;\n\t\t\t\t});\n\t\t\t\tsetDepensesSpecifiques(array);\n\n\t\t\t\tarrayDocs.push({ data: value.data, partName: partName });\n\t\t\t\tsetDepensesDocuments(arrayDocs);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn
    \n\t\t
    \n\t\t\t

    {t(\"creationVersement.contratsCachets.title\")}

    \n\t\t
    \n\t\t
    \n\t\t\t
    \n\t\t\t\t

    {t(\"creationVersement.contratsCachets.artistes\")}

    \n\t\t\t\t\n\t\t\t
    \n\t\t\t
    \n\t\t\t\t\n\t\t\t\t
    {t(\"creationVersement.contratsCachets.warning\")}
    \n\t\t\t
    \n\t\t\t
    \n\t\t\t\t\n\t\t\t
    \n\t\t
    \n\n\t\t
    \n\t\t\t{depensesSpe?.map(d => (\n\t\t\t\t
    \n\t\t\t\t\t

    {t(`champDepense.${d.champ}`)}

    \n\t\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t))}\n\t\t\t{autreDepenses &&
    \n\t\t\t\t

    {t(\"creationVersement.contratsCachets.depenses\")}

    \n\t\t\t\t{autreDepenses.map(d => (\n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t))}\n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{t('creationVersement.contratsCachets.addDepense')}\n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t
    }\n\t\t\t{(totalMontantPrevisionnel || totalRemunerationBrut || totalChargePatronales) &&\n\t\t\t\t\n\t\t\t}\n\t\t
    \n\t\t
    \n\t\t\t

    {t(\"creationVersement.contratsCachets.commentaires\")}

    \n\t\t\t\n\t\t\t{isCommentMandatory &&\n\t\t\t\t
    \n\t\t\t\t\t{t(\"creationVersement.contratsCachets.commentaireObligatoire\")}\n\t\t\t\t
    \n\t\t\t}\n\t\t
    \n\t\t setModalDeletePageVitrineIsOpen(false)}\n\t\t\tonValidate={deleteArtiste}\n\t\t/>\n\t\t{ (!isLoading? \n\t\t {\n\t\t\t\t// await setValidationRequired(false)\n\t\t\t\thandleSubmit(true)\n\t\t\t}}\n\t\t/>\n\t\t: )\n\t\t\t\t\t\t\t\t}\n\t
    ;\n}\n\nexport default ArtisteList;","import FormButton from \"adel-shared/dist/components/basics/FormButton\";\r\nimport Input from \"adel-shared/dist/components/basics/Input\";\r\nimport InputCalendar from \"adel-shared/dist/components/basics/InputCalendar\";\r\nimport InputRadioYesNo from \"adel-shared/dist/components/basics/InputRadioYesNo\";\r\nimport InputSelect, {\r\n AdelOption,\r\n} from \"adel-shared/dist/components/basics/InputSelect\";\r\nimport { normalizeDate } from \"adel-shared/dist/utils/functions\";\r\nimport { parseNumber } from \"libphonenumber-js\";\r\nimport moment from \"moment\";\r\nimport React, { useContext, useEffect, useMemo, useState } from \"react\";\r\nimport { Controller, useForm } from \"react-hook-form\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport Loader from \"react-loader-spinner\";\r\nimport Modal from \"react-modal\";\r\nimport { toast } from \"react-toastify\";\r\nimport { modalLargeCustomStyles } from \"../../../../../constants/config.constant\";\r\nimport { AppStateContext } from \"../../../../../context/AppContext\";\r\nimport { useAxios } from \"../../../../../custom-hooks/useAxios\";\r\nimport useValidation from \"../../../../../custom-hooks/useValidation\";\r\nimport { CategorieDossier } from \"../../../../../enums/Dossiers\";\r\nimport {\r\n CommissionDto,\r\n CreateOrUpdateVersementArtisteDto,\r\n DossierArtistesViewModelDto,\r\n DossierClient,\r\n Emploi,\r\n TypeVersement,\r\n VersementArtisteDto,\r\n VersementClient,\r\n} from \"../../../../../services/generated/FrontOffice-api\";\r\nimport { ContratsCachetsAction } from \"../ContratsCachets\";\r\n\r\ninterface ModalAddArtistProps {\r\n isOpen: boolean;\r\n onClose: () => void;\r\n isDuplicating?: boolean;\r\n isLoading?: boolean;\r\n artisteSelected?: VersementArtisteDto;\r\n codeCategorie: CategorieDossier;\r\n commission?: CommissionDto;\r\n onUpdateContratsCachets: (action: ContratsCachetsAction) => void;\r\n}\r\n\r\nconst ModalAddArtist: React.FunctionComponent = ({\r\n isOpen,\r\n isDuplicating,\r\n onClose,\r\n artisteSelected = {},\r\n codeCategorie,\r\n commission,\r\n onUpdateContratsCachets,\r\n}) => {\r\n const { t, i18n } = useTranslation();\r\n const {\r\n getValues,\r\n setValue,\r\n control,\r\n register,\r\n errors,\r\n watch,\r\n triggerValidation,\r\n } = useForm({\r\n defaultValues: {\r\n emploi: artisteSelected.emploi || Emploi.Chanteur,\r\n styleMusicalId: artisteSelected.styleMusical?.id || \"\",\r\n instrumentId: artisteSelected.instrument?.id,\r\n isTitulaire: null,\r\n datesTravailles: [],\r\n },\r\n });\r\n\r\n const { emploi, isTitulaire, datesTravailles } = watch([\r\n \"emploi\",\r\n \"isTitulaire\",\r\n \"datesTravailles\",\r\n ]);\r\n\r\n const { getRootValidator } = useValidation();\r\n const artisteValidator =\r\n getRootValidator(\"CreateOrUpdateVersementArtisteDto\") || {};\r\n const axiosInstance = useAxios();\r\n const [{ currentEditingVersement: versement }] = useContext(AppStateContext);\r\n\r\n // TODO: Mettre dans le store\r\n const dossierClient = useMemo(\r\n () => new DossierClient(\"\", axiosInstance),\r\n [axiosInstance]\r\n );\r\n const versementClient = useMemo(\r\n () => new VersementClient(\"\", axiosInstance),\r\n [axiosInstance]\r\n );\r\n\r\n const [viewModel, setViewModel] = useState({});\r\n\r\n //infos extraites de viewmodel\r\n const [instrumentsOptions, setInstrumentsOptions] = useState<\r\n AdelOption[]\r\n >([]);\r\n const [stylesMusicauxOptions, setStylesMusicauxOptions] = useState<\r\n AdelOption[]\r\n >([]);\r\n const [emploisOptions, setEmploisOptions] = useState[]>(\r\n []\r\n );\r\n\r\n const [dateSelected, setDateSelected] = useState();\r\n const [isLoading, setIsLoading] = useState(false);\r\n\r\n useEffect(() => {\r\n (async () => {\r\n getArtistesViewModel();\r\n })();\r\n }, []);\r\n\r\n const getArtistesViewModel = async () => {\r\n const result = await dossierClient.getArtistesViewModel(\r\n versement.dossierId\r\n );\r\n setViewModel(result);\r\n\r\n //on récupère la liste d'instruments\r\n if (result?.instruments) {\r\n const instruments = result.instruments.map((instrument) => ({\r\n label:\r\n (instrument?.intitule && instrument.intitule[i18n.language]) || \"\",\r\n value: instrument?.id || \"\",\r\n }));\r\n setInstrumentsOptions(instruments);\r\n }\r\n //on récupère la liste des styles musicaux\r\n if (result?.stylesMusicaux) {\r\n const stylesMusicaux = result.stylesMusicaux.map((styleMusical) => ({\r\n label:\r\n (styleMusical?.intitule && styleMusical.intitule[i18n.language]) ||\r\n \"\",\r\n value: styleMusical?.id || \"\",\r\n }));\r\n setStylesMusicauxOptions(stylesMusicaux);\r\n }\r\n //on récupère la liste des emplois\r\n if (result?.emplois) {\r\n const emplois = result.emplois.map((emploi) => ({\r\n label: t(\"emplois.\" + emploi),\r\n value: emploi,\r\n }));\r\n setEmploisOptions(emplois);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (artisteSelected.id && viewModel) {\r\n setValue([\r\n { nom: artisteSelected.nom },\r\n { prenom: artisteSelected.prenom },\r\n { email: artisteSelected.email },\r\n { lieuHabitation: artisteSelected.lieuHabitation },\r\n { isTitulaire: artisteSelected.isTitulaire },\r\n { totalSalairesBruts: artisteSelected.totalSalairesBruts },\r\n { totalCharges: artisteSelected.totalCharges },\r\n {\r\n datesTravailles: artisteSelected.datesTravailles.map(\r\n (x) => new Date(x)\r\n ),\r\n },\r\n ]);\r\n }\r\n }, [artisteSelected, viewModel]);\r\n\r\n const submit = async () => {\r\n const result = await triggerValidation();\r\n\r\n if (!result) return;\r\n\r\n const data = {\r\n ...getValues(),\r\n\r\n totalCharges: parseFloat(\r\n getValues(\"totalCharges\").toString().replace(\",\", \".\")\r\n ),\r\n totalSalairesBruts: parseFloat(\r\n getValues(\"totalSalairesBruts\").toString().replace(\",\", \".\")\r\n ),\r\n datesTravailles: datesTravailles.map((x) => normalizeDate(x)),\r\n };\r\n\r\n setValue(\r\n \"totalCharges\",\r\n parseFloat(getValues(\"totalCharges\").toString().replace(\",\", \".\"))\r\n );\r\n setValue(\r\n \"totalSalairesBruts\",\r\n parseFloat(getValues(\"totalSalairesBruts\").toString().replace(\",\", \".\"))\r\n );\r\n\r\n setIsLoading(true);\r\n\r\n if (artisteSelected.id && !isDuplicating) {\r\n try {\r\n await versementClient.updateVersementArtiste(artisteSelected.id, data);\r\n onUpdateContratsCachets({\r\n type: \"updateArtisteDetails\",\r\n payload: {\r\n artiste: {\r\n id: artisteSelected.id,\r\n ...getValues(),\r\n },\r\n },\r\n });\r\n } catch (error) {\r\n const localizedError = `creationVersement.contratsCachets.errors.${error.code}`;\r\n if (error?.code && i18n.exists(localizedError)) {\r\n toast.error(\r\n t(localizedError, {\r\n dateMin: moment(\r\n error.exception?.additionalDetails?.dateMin\r\n ).format(\"DD/MM/YYYY\"),\r\n })\r\n );\r\n } else {\r\n toast.error(t(\"errors.default\"));\r\n }\r\n }\r\n } else {\r\n try {\r\n const result = await versementClient.createVersementArtiste(\r\n versement.id,\r\n data\r\n );\r\n onUpdateContratsCachets({\r\n type: \"addArtiste\",\r\n payload: {\r\n artiste: result,\r\n },\r\n });\r\n } catch (error) {\r\n const localizedError = `creationVersement.contratsCachets.errors.${error.code}`;\r\n if (error?.code && i18n.exists(localizedError)) {\r\n toast.error(\r\n t(localizedError, {\r\n dateMin: moment(\r\n error.exception?.additionalDetails?.dateMin\r\n ).format(\"DD/MM/YYYY\"),\r\n })\r\n );\r\n } else {\r\n toast.error(t(\"errors.default\"));\r\n }\r\n }\r\n }\r\n\r\n setIsLoading(false);\r\n onClose();\r\n };\r\n\r\n const deleteDate = (itemClicked: Date) => {\r\n setValue(\r\n \"datesTravailles\",\r\n datesTravailles.filter((x) => x !== itemClicked)\r\n );\r\n };\r\n\r\n const handleDateSelected = (value: Date) => {\r\n setDateSelected(value);\r\n\r\n if (\r\n value &&\r\n !datesTravailles.some((x) => x.toDateString() === value.toDateString())\r\n ) {\r\n setValue(\"datesTravailles\", [...datesTravailles, value]);\r\n }\r\n };\r\n\r\n const getMinDate = () => {\r\n if (\r\n commission &&\r\n codeCategorie !== CategorieDossier.AideSpecifique &&\r\n codeCategorie !== CategorieDossier.InteretGeneral\r\n ) {\r\n return moment(commission.dateFin).add(1, \"d\").toDate();\r\n }\r\n return undefined;\r\n };\r\n\r\n const getMaxDate = () => {\r\n if (versement.type !== TypeVersement.Acompte) {\r\n return new Date();\r\n }\r\n return undefined;\r\n };\r\n\r\n return (\r\n \r\n
    \r\n

    \r\n {isDuplicating\r\n ? \"Dupliquer un artiste\"\r\n : artisteSelected.id\r\n ? \"Modifier un artiste\"\r\n : \"Ajouter un artiste\"}\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {emploisOptions?.length > 0 && (\r\n (\r\n \r\n )}\r\n rules={artisteValidator[\"Emploi\"]}\r\n />\r\n )}\r\n {stylesMusicauxOptions.length > 0 && (\r\n (\r\n \r\n )}\r\n rules={artisteValidator[\"StyleMusicalId\"]}\r\n />\r\n )}\r\n
    \r\n
    \r\n {instrumentsOptions.length > 0 && emploi === Emploi.Musicien && (\r\n (\r\n \r\n name={name}\r\n label={`${t(\r\n \"createFolder.contratsCachets.listColumns.instrument\"\r\n )}`}\r\n classname=\"inputSelect\"\r\n options={instrumentsOptions}\r\n errors={errors}\r\n value={value}\r\n onChange={onChange}\r\n />\r\n )}\r\n rules={artisteValidator[\"InstrumentId\"]}\r\n />\r\n )}\r\n
    \r\n {viewModel?.artisteTitulaireInfoRequired && (\r\n
    \r\n (\r\n \r\n )}\r\n rules={artisteValidator[\"isTitulaire\"]}\r\n />\r\n\r\n
    \r\n \r\n
    \r\n {isTitulaire === null\r\n ? \"\"\r\n : isTitulaire\r\n ? t(\"common.no\")\r\n : t(\"common.yes\")}\r\n
    \r\n
    \r\n
    \r\n )}\r\n
    \r\n \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n (\r\n \r\n )}\r\n />\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {datesTravailles.map((date, index) => (\r\n \r\n {moment(date).format(\"DD/MM/YYYY\")}\r\n deleteDate(date)}\r\n >\r\n {datesTravailles.length === 1 ||\r\n datesTravailles.indexOf(date) === datesTravailles.length - 1\r\n ? \"\"\r\n : \", \"}\r\n \r\n ))}\r\n {datesTravailles.length === 0 && (\r\n
    \r\n {t(\"createFolder.lieuxDates.no-date\")}\r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {isLoading ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default ModalAddArtist;\r\n","import { escapeName, scrollWindowTop } from 'adel-shared/dist/utils/functions';\nimport _ from 'lodash';\nimport React, {\n\tForwardRefExoticComponent,\n\tPropsWithoutRef,\n\tRefAttributes,\n\tforwardRef,\n\tuseEffect,\n\tuseImperativeHandle,\n\tuseMemo,\n\tuseReducer,\n\tuseState,\n\tuseContext\n} from 'react';\nimport { RouteComponentProps } from '@reach/router';\nimport { AdelVersementClient } from '../../../../clients/AdelVersementClient';\nimport { useAxios } from '../../../../custom-hooks/useAxios';\nimport { Dictionary } from '../../../../models';\nimport {\n\tArtisteDto,\n\tArtistesValidationErrorDto,\n\tCommissionDto,\n\tDemandeVersementContratCachetDto,\n\tDocumentWithValidationDto,\n\tDossierClient,\n\tUpdateDepenseDto,\n\tVersementArtisteDto,\n\tVersementClient\n} from '../../../../services/generated/FrontOffice-api';\nimport ArtisteList from './artistes/ArtisteList';\nimport { CategorieDossier } from '../../../../enums/Dossiers';\nimport ModalValidationArtiste from '../../../dossiers/creationDossier/artistes/ModalValidationArtiste';\nimport ModalAddArtist from './artistes/ModalAddArtist';\nimport useBooleanState from 'adel-shared/dist/custom-hooks/useBooleanState';\nimport { toast } from 'react-toastify';\nimport { useTranslation } from 'react-i18next';\nimport { AppStateContext } from '../../../../context/AppContext';\nimport { useForm } from 'react-hook-form';\nexport interface DocumentDepenses {\n\tid?:string;\n\tfileName?:string;\n\tpartName?:string;\n\tdata?:any;\n}\n\ninterface ContratsCachetsProps extends RouteComponentProps {\n\tsetEditMode: (value: boolean) => void;\n\tsetIsFormValid: (value: boolean) => void;\n\tsetCanGoNext: (value: boolean) => void;\n\tsetIsLoading: (value: boolean) => void;\n\tcanGoNext: boolean;\n\tisLoading: boolean;\n\tcodeCategorie?: CategorieDossier;\n}\ninterface ContratsCachetsActionPayload {\n\tartisteId?: string;\n\tartiste?: VersementArtisteDto;\n\tartisteDocument?: {\n\t\ttype: 'bulletin' | 'contrat',\n\t\tfile?: DocumentWithValidationDto;\n\t};\n\tcontratsCachets?: DemandeVersementContratCachetDto;\n}\n\nexport interface ContratsCachetsAction {\n\ttype: string;\n\tpayload: ContratsCachetsActionPayload;\n}\n\nfunction contratsCachetsReducer(state: DemandeVersementContratCachetDto, action: ContratsCachetsAction): DemandeVersementContratCachetDto {\n\tswitch(action.type) {\n\t\tcase 'setAll': \n\t\t\tconst updatedCachets = _.merge({}, state, action.payload.contratsCachets);\n\t\t\treturn {\n\t\t\t\t...updatedCachets,\n\t\t\t\ttotalRemunerationBrut: updatedCachets.artistes.reduce((acc: number, curr) => {\n\t\t\t\t\treturn acc + parseFloat(curr.totalSalairesBruts.toString());\n\t\t\t\t}, 0),\n\t\t\t\ttotalChargePatronales: updatedCachets.artistes.reduce((acc: number, curr) => {\n\t\t\t\t\treturn acc + parseFloat(curr.totalCharges.toString());\n\t\t\t\t}, 0)\n\t\t\t}\n\n\t\tcase 'addArtiste': {\n\t\t\tconst updatedArtistes = [\n\t\t\t\t...state.artistes,\n\t\t\t\taction.payload.artiste\n\t\t\t];\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tartistes: updatedArtistes,\n\t\t\t\ttotalRemunerationBrut: updatedArtistes.reduce((acc: number, curr) => {\n\t\t\t\t\treturn acc + parseFloat(curr.totalSalairesBruts.toString());\n\t\t\t\t}, 0),\n\t\t\t\ttotalChargePatronales: updatedArtistes.reduce((acc: number, curr) => {\n\t\t\t\t\treturn acc + parseFloat(curr.totalCharges.toString());\n\t\t\t\t}, 0)\n\t\t\t};\n\t\t}\n\n\t\tcase 'deleteArtiste': {\n\t\t\tconst updatedArtistes = state.artistes.filter(a => a.id !== action.payload.artisteId);\n\t\t\t// const index = state.artistes.findIndex(field => field.id === action.payload.artisteId);\n \t\t\t// if (index !== -1) {\n\t\t\t// // Unregister the field\n\t\t\t// \tunregister(`${action.payload.artisteId}`); // Adjust this according to your actual field names\n\n\t\t\t// }\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tartistes: updatedArtistes,\n\t\t\t\ttotalRemunerationBrut: updatedArtistes.reduce((acc: number, curr) => {\n\t\t\t\t\treturn acc + parseFloat(curr.totalSalairesBruts.toString());\n\t\t\t\t}, 0),\n\t\t\t\ttotalChargePatronales: updatedArtistes.reduce((acc: number, curr) => {\n\t\t\t\t\treturn acc + parseFloat(curr.totalCharges.toString());\n\t\t\t\t}, 0)\n\t\t\t};\n\t\t}\n\n\t\tcase 'updateArtisteDocument':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tartistes: state.artistes.reduce((acc: VersementArtisteDto[], curr) => {\n\t\t\t\t\tif(curr.id === action.payload.artisteId) {\n\t\t\t\t\t\tif(action.payload.artisteDocument?.file) {\n\t\t\t\t\t\t\tcurr[action.payload.artisteDocument.type] = action.payload.artisteDocument.file;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif(curr[action.payload.artisteDocument.type]) {\n\t\t\t\t\t\t\t\tdelete curr[action.payload.artisteDocument.type];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tacc.push(curr);\n\t\t\t\t\treturn acc;\n\t\t\t\t}, [])\n\t\t\t};\n\t\n\t\tcase 'updateArtisteDetails': {\n\t\t\tconst updatedArtistes = state.artistes.reduce((acc: VersementArtisteDto[], curr) => {\n\t\t\t\tif(curr.id === action.payload.artiste.id) {\n\t\t\t\t\tacc.push({\n\t\t\t\t\t\t...curr,\n\t\t\t\t\t\t...action.payload.artiste\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tacc.push(curr);\n\t\t\t\t}\n\t\t\t\treturn acc;\n\t\t\t}, []);\n\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tartistes: updatedArtistes,\n\t\t\t\ttotalRemunerationBrut: updatedArtistes.reduce((acc: number, curr) => {\n\t\t\t\t\treturn acc + parseFloat(curr.totalSalairesBruts.toString());\n\t\t\t\t}, 0),\n\t\t\t\ttotalChargePatronales: updatedArtistes.reduce((acc: number, curr) => {\n\t\t\t\t\treturn acc + parseFloat(curr.totalCharges.toString());\n\t\t\t\t}, 0)\n\t\t\t};\n\t\t}\n\t\tdefault:\n\t\t\treturn state;\n\t}\n}\n\nconst ContratsCachets: ForwardRefExoticComponent & RefAttributes> = forwardRef(({\n\tsetIsLoading,\n\tsetIsFormValid,\n\tcodeCategorie,\n\tsetCanGoNext,\n\tcanGoNext,\n\tisLoading\n}, ref) => {\n\tconst axiosInstance = useAxios();\n\tconst dossierClient = new DossierClient('', axiosInstance);\n\tconst versementClient = useMemo(() => { return new VersementClient(\"\", axiosInstance) }, [axiosInstance]);\n\tconst adelVersementClient = useMemo(() => { return new AdelVersementClient(\"\", axiosInstance) }, [axiosInstance]);\n\tconst [{currentEditingVersement: versement}] = useContext(AppStateContext);\n\tconst {t} = useTranslation();\n\n\tconst form = useForm();\n\tconst { triggerValidation, unregister } = form;\n\n\tconst [contratsCachet, dispatchContratsCachet] = useReducer(contratsCachetsReducer, {});\n\n\tconst [artisteSelected, setArtisteSelected] = useState({});\n\tconst [isDuplicatingArtist, setDuplicatingArtist] = useState(false);\n\n\tconst [errorsValidation, setErrorsValidation] = useState([]);\n\tconst [modalValidationArtisteIsOpen, setModalValidationArtisteIsOpen] = useState(false);\n\n\tconst [isOpenAddArtiste, openAddArtiste, closeAddArtiste] = useBooleanState();\n\n\t// Dépenses\n\tconst [depensesSpecifiques, setDepensesSpecifiques] = useState();\n\tconst [depensesAutres, setDepensesAutres] = useState();\n\tconst [depensesDocuments, setDepensesDocuments] = useState([]);\n\tconst [artistesDocumentsFiles, setArtistesDocumentsFiles] = useState>({});\n\tconst [commentGeneral, setCommentGeneral] = useState(\"\");\n\tconst [isCommentMandatory, setIsCommentMandatory] = useState(false);\n\tconst [validationRequired, setValidationRequired] = useState(true)\n \n\tconst [dossierCommission, setDossierCommission] = useState({});\n\t\n\t// UseMemo to save the debounce function in memory when component is re-rendered\n\tconst debounceFetchArtists = useMemo(() => _.debounce(() => {\n\t\tversementClient.getContratsCachetsOnDemandeVersement(versement.id).then(result => {\n\t\t\tdispatchContratsCachet({\n\t\t\t\ttype: 'setAll',\n\t\t\t\tpayload: {\n\t\t\t\t\tcontratsCachets: result\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (codeCategorie === CategorieDossier.InteretGeneral || codeCategorie === CategorieDossier.AideSpecifique) {\n\t\t\t\tsetDepensesAutres(result.depenses);\n\t\t\t} else {\n\t\t\t\tsetDepensesSpecifiques(result.depenses);\n\t\t\t}\n\t\t\tsetCommentGeneral(result.commentaire);\n\t\t});\n\t}, 0), []);\n\n\tuseEffect(() => {\n\t\tscrollWindowTop();\n\t\tdebounceFetchArtists();\n\t\tsetCanGoNext(true);\n\n\t\t(async() => {\n\t\t\tconst result = await dossierClient.getDossierCommission(versement.originalDossierId);\n\t\t\tsetDossierCommission(result);\n\t\t})();\n\t}, []);\n\n\tuseEffect(() => {\n\t\tconst montantRealise = depensesSpecifiques?.reduce((acc, curr) => acc + curr.montantRealise, 0);\n\n\t\tsetIsCommentMandatory(\n\t\t\t(codeCategorie === CategorieDossier.Festival || codeCategorie === CategorieDossier.SpectacleMusical) &&\n\t\t\tcontratsCachet?.totalMontantPrevisionnel < (montantRealise * 0.9)\n\t\t);\n\t}, [\n\t\tdepensesSpecifiques,\n\t\tsetIsCommentMandatory\n\t]);\n\n\tuseEffect(() => {\n\t\tif (errorsValidation && errorsValidation.length > 0) {\n\t\t\tsetModalValidationArtisteIsOpen(true)\n\t\t}\n\t}, [errorsValidation])\n\n\tconst submitForm = async(validationNotRequired?: boolean) => {\n\t\tconst isValid = await triggerValidation();\n\t\t\tif(isValid || validationNotRequired) {\n\t\t\t\t// Check des dépenses\n\t\t\t\tconst hasNanDepenseSpe = depensesSpecifiques?.some(d => typeof d.montantRealise !== 'undefined' && isNaN(d.montantRealise));\n\t\t\t\tconst hasNanDepensesAutres = depensesAutres?.some(d => typeof d.montantRealise !== 'undefined' && isNaN(d.montantRealise));\n\t\t\t\tif(hasNanDepensesAutres || hasNanDepenseSpe) {\n\t\t\t\t\tsetIsFormValid(false);\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tif (isCommentMandatory && (!commentGeneral || commentGeneral === \"\")) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\t\n\n\t\t\t\tconst artistesDocs = contratsCachet?.artistes?.filter(x => artistesDocumentsFiles[`${escapeName(x.bulletin?.fileName)}-${x.id}`] || artistesDocumentsFiles[`${escapeName(x.contrat?.fileName)}-${x.id}`] || x.bulletin?.actionType == 'delete' || x.contrat?.actionType == 'delete').map(x => {\n\t\t\t\t\tif(x.bulletin) {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tid: x.id,\n\t\t\t\t\t\t\tbulletin: {\n\t\t\t\t\t\t\t\tpartName: x.bulletin.fileName ? `${escapeName(x.bulletin.fileName)}-${x.id}` : \"\",\n\t\t\t\t\t\t\t\tactionType: x.bulletin.actionType\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn {\n\t\t\t\t\t\tid: x.id,\n\t\t\t\t\t\tcontrat: {\n\t\t\t\t\t\t\tpartName: x.contrat.fileName ? `${escapeName(x.contrat.fileName)}-${x.id}`: \"\",\n\t\t\t\t\t\t\tactionType: x.contrat.actionType\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t});\n\n\t\t\t\tsetIsLoading(true);\n\t\t\t\t \n\t\t\t\ttry {\n\t\t\t\t\tawait adelVersementClient.updateArtisteDocument(versement.id, artistesDocs, artistesDocumentsFiles);\n\t\t\t\t\t\n\t\t\t\t\tconst depensesDocs: Dictionary = {};\n\t\t\t\t\tdepensesDocuments.forEach(d => {\n\t\t\t\t\t\tdepensesDocs[d.partName] = d.data;\n\t\t\t\t\t});\n\t\t\t\t\tawait adelVersementClient.createOrUpdateDepenses(versement.dossierId, depensesSpecifiques, depensesAutres, depensesDocs);\n\t\t\t\t\tawait versementClient.updateVersementCommentaire(versement.id, {commentaire: commentGeneral});\n\t\t\t\t\tsetValidationRequired(true)\n\t\t\t\t\treturn true;\n\t\t\t\t} catch(error) {\n\t\t\t\t\tif (error.exception?.message)\n\t\t\t\t\t\ttoast.error(error.exception.message);\n\t\t\t\t\telse\n\t\t\t\t\t\ttoast.error(t(\"errors.default\"));\n\t\t\t\t\treturn false\n\t\t\t\t} finally {\n\t\t\t\t\tsetIsLoading(false);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t}\n\tuseImperativeHandle(ref, () => ({\n\t\tasync validateForm() {\t\t\t\n\t\t\treturn submitForm()\n\t\t}\n\t}));\n\n const handleSubmit = async(validationNotRequired?: boolean) => {\n if (validationNotRequired) {\n\t\t\tawait setValidationRequired(false)\n\t\t}\n\t\tif (await submitForm(validationNotRequired)) {\n\t\t\ttoast.success(t('common.success'));\n\t\t}else{\n\t\t\ttoast.error(t(\"common.validation-error.message\"));\n\t\t}\n\t}\n\tconst duplicateArtiste = (id: string) => {\n\t\tsetDuplicatingArtist(true);\n\t\tsetIsLoading(true);\n\t\topenAddArtiste();\n\t\tversementClient.getVersementArtiste(id).then(result => {\n\t\t\tsetArtisteSelected({\n\t\t\t\t...result,\n\t\t\t\tnom: '',\n\t\t\t\tprenom: '',\n\t\t\t\temail: '',\n\t\t\t\tlieuHabitation: ''\n\t\t\t});\n\t\t\tsetIsLoading(false);\n\t\t})\n\t}\n\n\tconst editArtiste = (id: string) => {\n\t\tsetIsLoading(true);\n\t\tversementClient.getVersementArtiste(id).then(result => {\n\t\t\tsetArtisteSelected(result);\n\t\t\topenAddArtiste();\n\t\t\tsetIsLoading(false);\n\t\t})\n\t}\n\n\tconst deleteArtiste = (id: string) => {\n\t\tsetIsLoading(true);\n\t\tunregister(`${id}`);\n\t\tdispatchContratsCachet({\n\t\t\ttype: 'deleteArtiste',\n\t\t\tpayload: {\n\t\t\t\tartisteId: id\n\t\t\t}\n\t\t});\n\t\tunregister(id);\n\t\tsetIsLoading(false);\n\t}\n\n\tconst handleUpdateDocuments = (documents: Dictionary) => {\n\t\tsetArtistesDocumentsFiles(documents);\n\t};\n\n\tconst handleCloseModalArtist = () => {\n\t\tsetDuplicatingArtist(false);\n\t\tcloseAddArtiste();\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t {\n\t\t\t\t\tsetArtisteSelected({});\n\t\t\t\t\topenAddArtiste();\n\t\t\t\t}}\n\t\t\t\tduplicateArtiste={duplicateArtiste}\n\t\t\t\teditArtiste={editArtiste}\n\t\t\t\tinformDeleteArtiste={deleteArtiste}\n\t\t\t\tdepensesSpe={depensesSpecifiques}\n\t\t\t\tautreDepenses={depensesAutres}\n\t\t\t\tdepensesDocuments={depensesDocuments}\n\t\t\t\tsetDepensesSpecifiques={setDepensesSpecifiques}\n\t\t\t\tsetDepensesAutres={setDepensesAutres}\n\t\t\t\tsetDepensesDocuments={setDepensesDocuments}\n\t\t\t\tonUpdateDocuments={handleUpdateDocuments}\n\t\t\t\tartistesDocumentsFiles={artistesDocumentsFiles}\n\t\t\t\tonUpdateContratsCachets={dispatchContratsCachet}\n\t\t\t\tcommentGeneral={commentGeneral}\n\t\t\t\tsetCommentGeneral={setCommentGeneral}\n\t\t\t\tisCommentMandatory={isCommentMandatory}\n\t\t\t\tform={form}\t\t\t\t\n\t\t\t\tcanGoNext={canGoNext}\n\t\t\t\tisLoading={isLoading}\n\t\t\t\thandleSubmit={handleSubmit}\n\t\t\t\tvalidationRequired={validationRequired}\n\t\t\t\tsetValidationRequired={setValidationRequired}\n\t\t\t/>\n\n\t\t\t{isOpenAddArtiste && (\n\t\t\t\t\n\t\t\t)}\n\n\t\t\t{errorsValidation.length > 0 &&\n\t\t\t\t setModalValidationArtisteIsOpen(false)}\n\t\t\t\t\terrorsValidation={errorsValidation}\n\t\t\t\t/>\n\t\t\t}\n\t\t);\n});\n\nexport default ContratsCachets;","import React, { useState, useEffect, ForwardRefExoticComponent, PropsWithoutRef, RefAttributes, forwardRef, useMemo, useRef, useImperativeHandle } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { RouteComponentProps } from \"@reach/router\";\nimport EditEnseignant, { EditEnseignantRef } from \"./enseignants/EditEnseignant\";\nimport EnseignantList from \"./enseignants/EnseignantList\";\nimport ModalValidationEnseignants from \"./enseignants/ModalValidationEnseignants\";\nimport { StepVersementRef } from '../CreationVersement';\nimport _ from 'lodash';\nimport { DossierClient, EnseignantDto, EnseignantValidationErrorDto, VersementClient } from '../../../../services/generated/FrontOffice-api';\nimport { toast } from 'react-toastify';\nimport { useAxios } from '../../../../custom-hooks/useAxios';\n\nenum View {\n List = \"List\",\n Edit = \"Edit\"\n}\n\nexport enum EnseignantFormMode {\n Creation,\n Duplication,\n Edition\n}\n\ninterface EnseignantsProps extends RouteComponentProps {\n dossierId: string;\n setCanGoNext: (value: boolean) => void;\n setEditMode: (value: boolean) => void;\n setIsFormValid: (value: boolean) => void;\n setIsLoading: (value: boolean) => void;\n}\n\nconst Enseignants: ForwardRefExoticComponent & RefAttributes> = forwardRef((props, ref) => {\n const { t } = useTranslation();\n\n const axiosInstance = useAxios();\n const dossierClient = useMemo(() => { return new DossierClient(\"\", axiosInstance) }, [axiosInstance]);\n const versementClient = useMemo(() => { return new VersementClient(\"\", axiosInstance) }, [axiosInstance]);\n\n const [currentView, setCurrentView] = useState(View.List);\n const [currentFormMode, setCurrentFormMode] = useState(EnseignantFormMode.Creation)\n\n const [enseignants, setEnseignants] = useState([]);\n const [existingEnseignant, setExistingEnseignant] = useState()\n const [page, setPage] = useState(1);\n\tconst [pageSize, setPageSize] = useState(1000);\n\t\n\tconst [modalValidationIsOpen, setModalValidationIsOpen] = useState(false);\n\tconst [errorsValidation, setErrorsValidation] = useState([]);\n\n useEffect(() => {\n props.setCanGoNext(true);\n }, [])\n\n\n const tryGetEnseignants = async (): Promise => {\n try {\n const result = await dossierClient.getEnseignants(props.dossierId, page, pageSize)\n setEnseignants(result.items);\n return result.items;\n } catch (error) {\n\t\t\tif (error.exception?.message)\n\t\t\t\ttoast.error(error.exception.message);\n\t\t\telse\n \ttoast.error(t('common.api-error'));\n }\n }\n\n useEffect(() => {\n switch (currentView) {\n case View.List:\n props.setEditMode(false);\n (async () => {\n await tryGetEnseignants();\n })()\n break;\n case View.Edit:\n props.setEditMode(true);\n break;\n }\n }, [currentView]);\n\n const editEnseignantRef: React.MutableRefObject = useRef(null);\n\n useImperativeHandle(ref, () => ({\n async validateForm(): Promise {\n props.setIsLoading(true);\n\n switch (currentView) {\n case View.List:\t\t\t\t\t\n\t\t\t\t\t\tprops.setIsLoading(false);\n\t\t\t\t\t\treturn true;\n case View.Edit:\n if (editEnseignantRef?.current) {\n const result = await editEnseignantRef.current.validateAndSend();\n props.setIsLoading(false);\n return result;\n } else {\n console.error(\"editEnseignantRef undefined. Please contact your Dev Team.\");\n }\n }\n throw \"currentView unknown. Please contact your Dev Team.\";\n }\n }));\n\n const duplicateEnseignant = async (id: string) => {\n let enseignants = await tryGetEnseignants(); // Workaround car le state `enseignants` est vide durant la première duplication...\n if (enseignants.length <= 0) { toast.error(`Trying to duplicate enseigant id [${id}] but enseignants.length <= 0`); return; }\n let enseignantToDuplicate = enseignants.filter(enseignant => { return enseignant.id === id })[0];\n setExistingEnseignant(enseignantToDuplicate);\n setCurrentFormMode(EnseignantFormMode.Duplication);\n setCurrentView(View.Edit);\n }\n\n const editEnseignant = async (id: string) => {\n let enseignants = await tryGetEnseignants(); // Workaround car le state `enseignants` est vide durant la première duplication...\n if (enseignants.length <= 0) { toast.error(`Trying to edit enseigant id [${id}] but enseignants.length <= 0`); return; }\n let enseignantToEdit = enseignants.filter(enseignant => { return enseignant.id === id })[0];\n setExistingEnseignant(enseignantToEdit);\n setCurrentFormMode(EnseignantFormMode.Edition);\n setCurrentView(View.Edit);\n }\n\n const deleteEnseignant = async (enseignantId: string) => {\n props.setIsLoading(true);\n try {\n await versementClient.deleteEnseignantOnDemandeVersement(enseignantId);\n } catch (error) {\n\t\t\tif (error.exception?.message)\n\t\t\t\ttoast.error(error.exception.message);\n\t\t\telse\n\t\t\t\ttoast.error(t('common.api-error'));\n }\n await tryGetEnseignants();\n props.setIsLoading(false);\n }\n\n const renderSwitchView = () => {\n switch (currentView) {\n case View.List:\n return <>\n\t\t\t\t\t {\n\t\t\t\t\t\t\tsetCurrentView(View.Edit);\n\t\t\t\t\t\t\tsetCurrentFormMode(EnseignantFormMode.Creation);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tduplicateEnseignant={duplicateEnseignant}\n\t\t\t\t\t\teditEnseignant={editEnseignant}\n\t\t\t\t\t\tdeleteEnseignant={deleteEnseignant}\n\t\t\t\t\t/>\n\t\t\t\t\t setModalValidationIsOpen(false)}\n\t\t\t\t\t\terrorsValidation={errorsValidation}\n\t\t\t\t\t/>\n\t\t\t\t\n case View.Edit:\n return {\n setCurrentView(View.List);\n setCurrentFormMode(EnseignantFormMode.Creation)\n }}\n existingEnseignant={existingEnseignant}\n currentFormMode={currentFormMode}\n />\n }\n }\n\n return (<>{renderSwitchView()});\n})\n\nexport default Enseignants;\n","import React, { useState, useEffect, ForwardRefExoticComponent, PropsWithoutRef, RefAttributes, forwardRef, useImperativeHandle, useMemo, useCallback } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Controller, ErrorMessage, useForm } from 'react-hook-form';\nimport useValidation from '../../../../../custom-hooks/useValidation';\n\nimport { EnseignantDto, TypeContrat, StatutEnseignant, DisciplineDto, DossierClient, QualificationEnseignant, DocumentUploadInfoDto, DocumentDto } from '../../../../../services/generated/FrontOffice-api';\n\nimport Input from 'adel-shared/dist/components/basics/Input';\nimport InputSelect, { AdelOption } from 'adel-shared/dist/components/basics/InputSelect';\nimport { EnseignantFormMode } from '../Enseignants';\nimport { toast } from 'react-toastify';\nimport { useAxios } from '../../../../../custom-hooks/useAxios';\nimport { Dictionary } from '../../../../../models';\nimport { AdelVersementClient } from '../../../../../clients/AdelVersementClient';\n\nexport interface EditEnseignantRef {\n\tvalidateAndSend: () => Promise;\n}\n\ninterface EditEnseignantProps {\n\tdossierId: string;\n\tcloseView: () => void;\n\tsetIsFormValid: (value: boolean) => void;\n\texistingEnseignant: EnseignantDto;\n\tcurrentFormMode: EnseignantFormMode | undefined;\n}\n\ninterface CreateOrUpdateEnseignantModel {\n\tnom: string;\n\tprenom: string;\n\tville: string;\n\tdiscipline: string[];\n\tinstrument?: string;\n\tqualification: QualificationEnseignant;\n\ttypeContrat: TypeContrat;\n\tstatut: StatutEnseignant;\n\tremunerationBruteAnnuelle: string;\n\tmontantChargesPatronales: string;\n\ttarifHoraireBrut: string;\n\tcontratEngagement: DocumentUploadInfoDto;\n\totherDiscipline?: string;\n}\n\nconst CONTRAT_ENGAGEMENT_NAME = \"contratEngagement\";\nconst REMUNERATION_DOCUMENT_NAME = \"justificatifRemuneration\";\n\nconst EditEnseignant: ForwardRefExoticComponent & RefAttributes> = forwardRef(({\n\tdossierId,\n\tcloseView,\n\tsetIsFormValid,\n\texistingEnseignant,\n\tcurrentFormMode\n}, ref) => {\n\tconst { t, i18n } = useTranslation();\n\n\tconst axiosInstance = useAxios();\n\tconst dossierClient = useMemo(() => { return new DossierClient(\"\", axiosInstance) }, [axiosInstance]);\n const adelVersementClient = useMemo(() => { return new AdelVersementClient(\"\", axiosInstance) }, [axiosInstance]);\n\n\tconst [disciplineOptions, setDisciplineOptions] = useState[]>([]);\n\tconst [instrumentOptions, setInstrumentOptions] = useState[]>([]);\n\tconst [showInstrument, setShowInstrument] = useState(false);\n\tconst [showOtherDiscipline, setShowOtherDiscipline] = useState(false);\n\n\tconst [fileContrat, setFileContrat] = useState();\n\tconst [fileRemuneration, setFileRemuneration] = useState();\n\tconst [fileContratWasModified, setFileContratWasModified] = useState(false);\n\tconst [fileRemunerationWasModified, setFileRemunerationWasModified] = useState(false);\n\n\tconst {\n\t\tregister,\n\t\tgetValues,\n\t\tsetValue,\n\t\tcontrol,\n\t\ttriggerValidation,\n\t\twatch,\n\t\terrors\n\t} = useForm({\n\t\tdefaultValues: {\n\t\t\tinstrument: existingEnseignant?.instrument?.id,\n\t\t\totherDiscipline: existingEnseignant?.otherDiscipline\n\t\t}\n\t});\n\tconst { getRootValidator } = useValidation();\n\tconst enseignantValidator = getRootValidator(\"CreateEnseignantDto\");\n\n\tconst contratOptions: AdelOption[] = useMemo(() => {\n\t\tlet allOptions: AdelOption[] = [];\n\n\t\tfor (let contrat in TypeContrat) {\n\t\t\tif (contrat !== \"None\") {\n\t\t\t\tallOptions.push(\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: TypeContrat[contrat as keyof typeof TypeContrat],\n\t\t\t\t\t\tlabel: t(`common.contrat.${TypeContrat[contrat as keyof typeof TypeContrat]}`)\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t}\n\t\t}\n\t\treturn allOptions;\n\t}, []);\n\n\tconst statutOptions: AdelOption[] = useMemo(() => {\n\t\tlet allOptions: AdelOption[] = [];\n\n\t\tfor (let statut in StatutEnseignant) {\n\t\t\tif (statut !== \"None\") {\n\t\t\t\tallOptions.push(\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: StatutEnseignant[statut as keyof typeof StatutEnseignant],\n\t\t\t\t\t\tlabel: t(`common.statut.${StatutEnseignant[statut as keyof typeof StatutEnseignant]}`)\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t}\n\t\t}\n\t\treturn allOptions;\n\t}, []);\n\n\tconst qualificationOptions: AdelOption[] = useMemo(() => {\n\n\t\tlet allOptions: AdelOption[] = [];\n\n\t\tfor (let statut in QualificationEnseignant) {\n\t\t\tif (statut !== \"None\") {\n\t\t\t\tallOptions.push(\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: QualificationEnseignant[statut as keyof typeof QualificationEnseignant],\n\t\t\t\t\t\tlabel: t(`common.qualification.${QualificationEnseignant[statut as keyof typeof QualificationEnseignant]}`)\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t}\n\t\t}\n\t\treturn allOptions;\n\t}, []);\n\n\t\n\n\t/** Disciplines */\n\tconst [disciplines, setDisciplines] = useState([]);\n\n\tconst setDisciplinesValue = useCallback((value:any) => { // value: AdelOption[]\n\t\tconst result = (value as any[])?.map(o => o.value) ?? [];\n\t\tsetDisciplines(result);\n\t}, [setDisciplines]);\n\n\tconst getOptionForDisciplinesValue = useCallback((value: any): any => {\n return disciplineOptions.find(o => o.value == value.id);\n\t}, [disciplineOptions]);\n\n\n\n\tconst initializeView = async () => {\n\t\tlet vm = await dossierClient.getEnseignantsViewModel(dossierId);\n\t\tsetDisciplineOptions(vm.disciplines.map(discipline => (\n\t\t\t{ label: discipline.text[i18n.language], value: discipline.id }\n\t\t)));\n\t\tsetInstrumentOptions(vm.instruments.map(instrument => (\n\t\t\t{ label: instrument.intitule[i18n.language], value: instrument.id }\n\t\t)));\n\t}\n\n\tconst initFormValues = (existingEnseignant: EnseignantDto, currentFormMode: EnseignantFormMode) => {\t\n\t\tObject.entries(existingEnseignant).forEach(([key, value]) => {\n\t\t\tif (currentFormMode === EnseignantFormMode.Duplication && key === \"id\") return;\n\t\t\tif (currentFormMode === EnseignantFormMode.Duplication && key === \"nom\") return;\n\t\t\tif (currentFormMode === EnseignantFormMode.Duplication && key === \"prenom\") return;\n\t\t\tif (currentFormMode === EnseignantFormMode.Duplication && key === \"contratEngagement\") return;\n\t\t\tif (currentFormMode === EnseignantFormMode.Duplication && key === \"justificatifRemuneration\") return;\n\t\t\tif (key === \"contratEngagement\") {\n\t\t\t\t// Set dummy file to make it looks like file is already set\n\t\t\t\tsetFileContrat({ name: existingEnseignant.contratEngagement.fileName } as File);\n\t\t\t}\n\t\t\tif(key === \"justificatifRemuneration\") {\n\t\t\t\tsetFileRemuneration({ name: existingEnseignant.justificatifRemuneration.fileName } as File);\n\t\t\t}\n\t\t\tsetValue(key, value);\n\t\t\tif (key === \"disciplines\") {\n\t\t\t\tlet array:string[] = [];\n\t\t\t\texistingEnseignant.disciplines.map((e: DisciplineDto) => {\n\t\t\t\t\tarray.push(e.id)\n\t\t\t\t})\n\t\t\t\tsetDisciplines(array);\n\t\t\t\tsetValue(key, existingEnseignant.disciplines.map(getOptionForDisciplinesValue));\n\t\t\t}\n\t\t});\n\n\t}\n\n\n\n\tuseEffect(() => {\n\t\tif (disciplines.find(d => d === \"autre\")) {\n\t\t\tsetShowOtherDiscipline(true);\n\t\t} else {\n\t\t\tsetShowOtherDiscipline(false);\n\t\t}\n\n\t\tif (disciplines.find(d => d === \"instrumentale\")) {\n\t\t\tsetShowInstrument(true);\n\t\t} else {\n\t\t\tsetShowInstrument(false);\n\t\t}\n\t}, [disciplines, setShowOtherDiscipline, setShowInstrument])\n\n\n\n\tuseEffect(() => {\n\t\tif (setIsFormValid && currentFormMode !== undefined && (currentFormMode as EnseignantFormMode === EnseignantFormMode.Creation as EnseignantFormMode) || existingEnseignant) { // Either this is \"Creation Mode\", either is it \"Duplication or Edition\" and a \"existingEnseignant\" is filled\n\t\t\tsetIsFormValid(true);\n\t\t\t(async function () {\n\t\t\t\tawait initializeView();\n\t\t\t})()\n\t\t}\n\t}, [setIsFormValid, currentFormMode])\n\n\tuseEffect(() => {\n\t\tif (currentFormMode !== undefined && (currentFormMode as EnseignantFormMode !== EnseignantFormMode.Creation as EnseignantFormMode) && disciplineOptions.length > 0 && instrumentOptions.length > 0 && existingEnseignant) {\n\t\t\tinitFormValues(existingEnseignant, currentFormMode);\n\t\t}\n\t}, [existingEnseignant, currentFormMode, disciplineOptions, instrumentOptions])\n\n\n\n\tuseImperativeHandle(ref, () => ({\n\t\tasync validateAndSend(): Promise {\n\t\t\tlet isValid = await triggerValidation();\n\n\t\t\tif (isValid) {\n\t\t\t\ttry {\n\t\t\t\t\tconst model = getValues();\n\t\t\t\t\tlet createOrUpdateEnseignantDto = {\n\t\t\t\t\t\t...model,\n\t\t\t\t\t\tdisciplines,\n\t\t\t\t\t\tinstrumentId: model.instrument,\n\t\t\t\t\t\tremunerationBruteAnnuelle: parseFloat(model.remunerationBruteAnnuelle),\n\t\t\t\t\t\tmontantChargesPatronales: parseFloat(model.montantChargesPatronales),\n\t\t\t\t\t\ttarifHoraireBrut: parseFloat(model.tarifHoraireBrut),\n\t\t\t\t\t\tremunerationPremierTrimestre: parseFloat(model.remunerationPremierTrimestre),\n\t\t\t\t\t} as EnseignantDto;\n\n\t\t\t\t\tlet contratEngagementFile: Dictionary = { [CONTRAT_ENGAGEMENT_NAME]: fileContrat };\n\t\t\t\t\tlet remunerationFile: Dictionary = { [REMUNERATION_DOCUMENT_NAME]: fileRemuneration };\n\n\t\t\t\t\tif (currentFormMode === EnseignantFormMode.Edition) {\n\n\n\n\t\t\t\t\t\tawait adelVersementClient.updateEnseignantOnDemandeVersement(\n\t\t\t\t\t\t\texistingEnseignant.id,\n\t\t\t\t\t\t\tcreateOrUpdateEnseignantDto, \n\t\t\t\t\t\t\t{}\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Creation or Duplication\n\t\t\t\t\t\tawait adelVersementClient.createEnseignantOnDemandeVersement(\n\t\t\t\t\t\t\tdossierId,\n\t\t\t\t\t\t\tcreateOrUpdateEnseignantDto,\n\t\t\t\t\t\t\t{}\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tcloseView();\n\t\t\t\t\treturn true;\n\t\t\t\t} catch (error) {\n\t\t\t\t\tif (error.exception?.message)\n\t\t\t\t\t\ttoast.error(error.exception.message);\n\t\t\t\t\telse\n\t\t\t\t\t console.log('yesss here', error)\n\t\t\t\t\t\ttoast.error(t('common.api-error'));\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\ttoast.error(t('common.validation-error.message'));\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t}));\n\n\tconst downloadFile = (document: DocumentDto) => {\n\t\tif (document?.uri) {\n\t\t\twindow.open(document.uri);\n\t\t}\n\t}\n\n\tconst handleFileContratChange = (value: React.ChangeEvent, name:string) => {\n\t\tif (value.target.files.length !== 0) {\n\t\t\tif (value.target.files[0].name !== \"\") {\n\t\t\t\tconst selectedFile = value.target.files[0];\n\t\t\t\tsetFileContrat(selectedFile);\n\t\t\t\tsetFileContratWasModified(true);\n\t\t\t\tsetValue(name, { partName: name } as DocumentUploadInfoDto);\n\t\t\t} else {\n\t\t\t\tresetFileContrat(name);\n\t\t\t}\n\t\t}\n\t};\n\n\tconst handleFileRemunerationChange = (value: React.ChangeEvent, name: string) => {\n\t\tif (value.target.files.length !== 0) {\n\t\t\tif (value.target.files[0].name !== \"\") {\n\t\t\t\tconst selectedFile = value.target.files[0];\n\t\t\t\tsetFileRemuneration(selectedFile);\n\t\t\t\tsetFileRemunerationWasModified(true);\n\t\t\t\tsetValue(name, { partName: name } as DocumentUploadInfoDto);\n\t\t\t} else {\n\t\t\t\tresetFileRemuneration(name);\n\t\t\t}\n\t\t}\n\t};\n\n\tconst resetFileContrat = (name: string) => {\n\t\tsetFileContrat(undefined);\n\t\tsetValue(name, undefined);\n\t}\n\n\tconst resetFileRemuneration = (name: string) => {\n\t\tsetFileRemuneration(undefined);\n\t\tsetValue(name, undefined);\n\t}\n\n\treturn (\n\t\t
    \n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t{t(\"createFolder.enseignants.back\")}\n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t\t

    {t(\"createFolder.enseignants.add\")}

    \n\t\t\t
    \n\n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t
    \n\n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t
    \n\n\t\t\t\t
    \n\t\t\t\t\t{enseignantValidator && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tname={name}\n\t\t\t\t\t\t\t\tlabel={t('createFolder.enseignants.listColumns.discipline')}\n\t\t\t\t\t\t\t\tclassname=\"inputSelect inputSelect--multi\"\n\t\t\t\t\t\t\t\toptions={disciplineOptions}\n\t\t\t\t\t\t\t\terrors={errors}\n\t\t\t\t\t\t\t\tisMulti\n\t\t\t\t\t\t\t\tonChange={(selectedDiscipline) => {\n\t\t\t\t\t\t\t\t\tonChange(selectedDiscipline);\n\t\t\t\t\t\t\t\t\tsetDisciplinesValue(selectedDiscipline);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\t\t\tplaceholder={t(\"common.select\")}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)} \n\t\t\t\t\t/>}\n\n\t\t\t\t\t{showInstrument &&\n\t\t\t\t\t (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tname={name}\n\t\t\t\t\t\t\t\tlabel={t('createFolder.enseignants.listColumns.instrument')}\n\t\t\t\t\t\t\t\tclassname=\"inputSelect\"\n\t\t\t\t\t\t\t\toptions={instrumentOptions}\n\t\t\t\t\t\t\t\terrors={errors}\n\t\t\t\t\t\t\t\tonChange={onChange}\n\t\t\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\t\t\tplaceholder={t(\"common.select\")}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)} />\n\t\t\t\t\t}\n\t\t\t\t
    \n\n\t\t\t\t{showOtherDiscipline &&\n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t}\n\t\t\t\t
    \n\t\t\t\t\t{enseignantValidator && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tname={name}\n\t\t\t\t\t\t\t\tlabel={t('createFolder.enseignants.listColumns.qualification')}\n\t\t\t\t\t\t\t\tclassname=\"inputSelect\"\n\t\t\t\t\t\t\t\toptions={qualificationOptions}\n\t\t\t\t\t\t\t\terrors={errors}\n\t\t\t\t\t\t\t\tonChange={onChange}\n\t\t\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\t\t\tplaceholder={t(\"common.select\")}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)} />}\n\t\t\t\t\t{enseignantValidator && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tname={name}\n\t\t\t\t\t\t\t\tlabel={t('createFolder.enseignants.listColumns.typeContrat')}\n\t\t\t\t\t\t\t\tclassname=\"inputSelect\"\n\t\t\t\t\t\t\t\toptions={contratOptions}\n\t\t\t\t\t\t\t\terrors={errors}\n\t\t\t\t\t\t\t\tonChange={onChange}\n\t\t\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\t\t\tplaceholder={t(\"common.select\")}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)} />}\n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t{enseignantValidator && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tname={name}\n\t\t\t\t\t\t\t\tlabel={t('createFolder.enseignants.listColumns.statut')}\n\t\t\t\t\t\t\t\tclassname=\"inputSelect\"\n\t\t\t\t\t\t\t\toptions={statutOptions}\n\t\t\t\t\t\t\t\terrors={errors}\n\t\t\t\t\t\t\t\tonChange={onChange}\n\t\t\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\t\t\tplaceholder={t(\"common.select\")}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)} />}\n\n\t\t\t\t\t\n\t\t\t\t
    \n\n\t\t\t\t
    \n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t
    \n\n\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t
    \t\t\t\t\n\t\t\t
    \n\t\t
    \n\t)\n})\n\nexport default EditEnseignant;","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport ModalValidateCancel from '../../../../basics/ModalValidateCancel';\n\ninterface ModalDeleteEnseignantProps {\n\tisOpen: boolean;\n\tonCancel: () => void;\n\tonValidate: () => void;\n\tisLoading?: boolean;\n}\n\nconst ModalDeleteEnseignant: React.FunctionComponent = ({\n\tisOpen,\n\tonCancel,\n\tonValidate,\n\tisLoading\n}) => {\n\n\tconst { t } = useTranslation();\n\n\treturn (\n\t\t
    \n\t\t\t

    {t(\"createFolder.enseignants.delete-confirm\")}

    \n\t\t
    \n\t);\n}\n\nexport default ModalDeleteEnseignant;","import React, { useEffect, useState } from 'react';\nimport FormButton from 'adel-shared/dist/components/basics/FormButton';\nimport Table, { styleTable } from 'adel-shared/dist/components/basics/Table';\nimport { DisciplineDto, EnseignantDto } from '../../../../../services/generated/FrontOffice-api';\nimport { useTranslation } from 'react-i18next';\nimport { useTable, useSortBy } from 'react-table';\nimport ModalDeleteEnseignant from './ModalDeleteEnseignant';\nimport { formatNumber } from 'adel-shared/dist/utils/functions';\nimport TotalAmountsTable from 'adel-shared/dist/components/basics/TotalAmountsTable';\n\ninterface EnseignantListProps {\n\tenseignants: EnseignantDto[]\n\tonAddEnseignant: () => void;\n\tduplicateEnseignant: (id: string) => void;\n\teditEnseignant: (id: string) => void;\n\tdeleteEnseignant: (id: string) => Promise;\n}\n\nconst EnseignantList: React.FunctionComponent = ({\n\tenseignants,\n\tonAddEnseignant,\n\tduplicateEnseignant,\n\teditEnseignant,\n\tdeleteEnseignant\n}) => {\n\tconst { t, i18n } = useTranslation();\n\tconst [modalDeleteEnseignantIsOpen, setModalDeleteEnseignantIsOpen] = useState(false)\n\tconst [selectedEnseignantId, setSelectedEnseignantId] = useState();\n\tconst [data, setData] = useState(enseignants);\n\tconst [totalAmounts, setTotalAmounts] = useState>({});\n\n\tconst columns = React.useMemo(() => {\n\t\treturn [{\n\t\t\tHeader: \"Table\",\n\t\t\tcolumns: [\n\t\t\t\t{ Header: \"Id\", accessor: \"id\", disableSortBy: true },\n\t\t\t\t{ Header: t('creationVersement.enseignants.listColumns.nom'), accessor: \"nom\", disableSortBy: true },\n\t\t\t\t{ Header: t('creationVersement.enseignants.listColumns.prenom'), accessor: \"prenom\", disableSortBy: true },\n\t\t\t\t{ Header: t('creationVersement.enseignants.listColumns.discipline'), accessor: \"disciplines\", disableSortBy: true,\n\t\t\t\t\tCell: (value: any) => (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{value.cell.value.map((element:DisciplineDto) => \n\t\t\t\t\t\t\t\t{ return element.text[i18n.language] }).join(\", \")\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t)\n\t\t\t\t},\n\t\t\t\t{ Header: t('creationVersement.enseignants.listColumns.typeContrat'), accessor: \"typeContrat\", disableSortBy: true },\t\t\t\t\n\t\t\t\t{ Header: t('creationVersement.enseignants.listColumns.salaires'), accessor: \"remunerationBruteAnnuelle\", disableSortBy: true},\n\t\t\t\t{ Header: t('creationVersement.enseignants.listColumns.charges'), accessor: \"montantChargesPatronales\", disableSortBy: true},\n\t\t\t\t{\n\t\t\t\t\tHeader: \"\", accessor: \"Actions\", disableSortBy: true,\n\t\t\t\t\tCell: (value: any) => (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    duplicateEnseignant(value.cell.row.values.id)}>
    \n\t\t\t\t\t\t\t
    editEnseignant(value.cell.row.values.id)}>
    \n\t\t\t\t\t\t\t
    openModalDeleteEnseignant(value.cell.row.values.id)}>
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t]\n\t\t}];\n\t}, []);\n\n\tconst { getTableProps, getTableBodyProps, headerGroups, rows, prepareRow } = useTable({\n\t\tcolumns,\n\t\tdata,\n\t\tinitialState: { hiddenColumns: [\"id\"] },\n\t}, useSortBy);\n\n\tconst openModalDeleteEnseignant = (id: string) => {\n\t\tsetSelectedEnseignantId(id)\n\t\tsetModalDeleteEnseignantIsOpen(true)\n\t}\n\n\tconst confirmDeleteEnseignant = async () => {\n\t\tawait deleteEnseignant(selectedEnseignantId);\n\t\tsetModalDeleteEnseignantIsOpen(false);\n\t}\n\n\tuseEffect(() => {\n\t\tsetData(enseignants.map(x => ({\n\t\t\t...x,\n\t\t\tremunerationBruteAnnuelle: `${formatNumber(x.remunerationBruteAnnuelle)} €`,\n\t\t\tmontantChargesPatronales: `${formatNumber(x.montantChargesPatronales)} €`,\n\t\t})));\n\n\t\tsetTotalAmounts({\n\t\t\tremunerationBruteAnnuelle: enseignants.reduce((acc, value) => acc + value.remunerationBruteAnnuelle, 0),\n\t\t\tmontantChargesPatronales: enseignants.reduce((acc, value) => acc + value.montantChargesPatronales, 0)\n\t\t});\n\t}, [enseignants]);\n\n\treturn <>\n\t\t
    \n\t\t\t

    {t(\"createFolder.enseignants.title\")}

    \n\t\t
    \n\t\t
    \n\t\t\t\n\t\t
    \n\t\t\n\t\t\n\t\t setModalDeleteEnseignantIsOpen(false)}\n\t\t\tonValidate={confirmDeleteEnseignant}\n\t\t/>\n\t;\n}\n\nexport default EnseignantList;","import React from 'react';\nimport ModalErrorInformation from '../../../../basics/ModalErrorInformation';\nimport { EnseignantValidationErrorDto } from '../../../../../services/generated/FrontOffice-api';\nimport { useTranslation } from 'react-i18next';\n\ninterface ModalValidationEnseignantsProps {\n\tisOpen: boolean;\n\tonCancel: () => void;\n\terrorsValidation: EnseignantValidationErrorDto[];\n}\n\nconst ModalValidationEnseignants: React.FunctionComponent = ({\n\tisOpen,\n\tonCancel,\n\terrorsValidation\n}) => {\n\tconst { t } = useTranslation();\n\n\treturn (\n\t\t
    \n\t\t\t
      \n\t\t\t\t{errorsValidation?.map((e: EnseignantValidationErrorDto, i:number) => (\n\t\t\t\t\t
    • \n\t\t\t\t\t\t{t('createFolder.enseignants.errors.contrat', {name: e.contrat})}\n\t\t\t\t\t\t{t('createFolder.enseignants.errors.number', {number: e.numberEnseignantRequired})}\n\t\t\t\t\t
    • \n\t\t\t\t))}\n\t\t\t
    \n\t\t
    \n\t);\n}\n\nexport default ModalValidationEnseignants;","import React, { useEffect, useState, forwardRef, useImperativeHandle, useMemo, useContext } from \"react\";\nimport { useTranslation } from 'react-i18next';\nimport { useForm, Controller } from 'react-hook-form';\nimport _ from 'lodash';\nimport { useAxios } from '../../../../../custom-hooks/useAxios';\nimport { toast } from \"react-toastify\";\nimport { TrajetsFormMode } from '../Trajets';\nimport { TrajetDto, CreateOrUpdateTrajetDto, EtapeDto, CreateOrUpdateEtapeDto, DossierClient, TypeTransport, PaysDto, PaysClient, VersementClient } from '../../../../../services/generated/FrontOffice-api';\nimport RenderTrajetBlock from './RenderTrajetBlock';\nimport InputSelect, { AdelOption } from 'adel-shared/dist/components/basics/InputSelect';\nimport { Dictionary } from '../../../../../models';\nimport { AppStateContext } from '../../../../../context/AppContext';\n\n\nexport interface EditTrajetRef {\n\tvalidateAndSend: () => Promise;\n}\n\nexport enum CategorieLieu {\n\tDepart = \"depart\",\n\tArrivee = \"arrivee\",\n\tEtapes = \"etapes\",\n\tEscale = \"escale\",\n\tEscales = \"escales\"\n}\ninterface EtapesFromForm {\n\tpays: PaysDto | AdelOption;\n\ttransport: string;\n\tescale: {\n\t\taller: {\n\t\t\tboolean: string;\n\t\t\tpays: PaysDto | AdelOption;\n\t\t},\n\t\tretour: {\n\t\t\tboolean: string;\n\t\t\tpays: PaysDto | AdelOption;\n\t\t}\n\t}\n}\ninterface EditTrajetProps {\n\tref: any;\n\tsetIsFormValid: (value: boolean) => void;\n\tcloseView: () => void;\n\tcurrentFormMode: TrajetsFormMode;\n\ttrajetSelected: TrajetDto;\n\ttrajetValidator: Dictionary;\n\tetapeValidator: Dictionary;\n\tescaleValidator: Dictionary;\n}\n\nconst EditTrajet: React.FunctionComponent = forwardRef(({\n\tsetIsFormValid,\n\tcloseView,\n\tcurrentFormMode,\n\ttrajetSelected,\n\ttrajetValidator,\n\tetapeValidator,\n\tescaleValidator\n}, ref) => {\n\tconst [{currentEditingVersement: versement}] = useContext(AppStateContext);\n\tconst { t } = useTranslation();\n\tconst axiosInstance = useAxios();\n\tconst { getValues, setValue, triggerValidation, errors, control, watch } = useForm({ defaultValues: {\n\t\tversementArtistes: []\t\n\t}});\n\n\tconst dossierClient = useMemo(() => { return new DossierClient(\"\", axiosInstance) }, [axiosInstance]);\n\tconst versementClient = useMemo(() => { return new VersementClient(\"\", axiosInstance) }, [axiosInstance]);\n\tconst paysClient = new PaysClient(\"\", axiosInstance);\n\n\tconst [isSelectWithoutCar, setIsSelectWithoutCar] = useState(false);\n\tconst [artisteOptions, setArtisteOptions] = useState[]>([]);\n\n\tconst [etapes, setEtapes] = useState([]);\n\tconst [depart, setDepart] = useState();\n\tconst [arrivee, setArrivee] = useState();\n\n\tconst watchVersementArtistes = watch(\"versementArtistes\");\n\n\tuseEffect(() => {\n\t\tsetIsFormValid(true);\n\t\t(async () => {\n\t\t\tawait getArtistsList();\n\t\t\tawait fetchPays();\n\t\t\tawait fetchPaysPresta();\n\t\t})();\n\t}, []);\n\n\n\t/** Render escale */\n\tconst addEtape = () => {\n\t\tlet temporaryId = 'TEMPORARY_' + Math.random().toString(36).substr(2, 9);\n\t\tlet array = [...etapes];\n\t\tarray.push({ id: temporaryId });\n\t\tsetEtapes(array);\n\t}\n\n\tconst removeEtape = (id:string) => {\n\t\tlet array = [...etapes];\n\t\tfor (let i in array) {\n\t\t\tif (id === array[i].id)\n\t\t\t\tarray.splice(array.indexOf(array[i]), 1);\n\t\t}\n\t\tsetEtapes(array);\n\t}\n\n\n\n\t/** Pays */\n\tconst [pays, setPays] = useState([]);\n\tconst fetchPays = async () => {\n\t\tlet result = await paysClient.getPays();\n\t\tsetPays(result);\n\t}\n\n\tconst [paysPrestations, setPaysPrestations] = useState([]);\n\tconst fetchPaysPresta = async () => {\n\t\tconst result = await dossierClient.getDossierPays(versement.originalDossierId);\n\t\tsetPaysPrestations(result);\n\t}\n\n\n\n\t/** Artistes */\n\tconst getArtistsList = async () => {\n\t\ttry {\n\t\t\tconst result = await versementClient.getVersementArtistes(versement.id, \"\", \"\", 1, 1000, true);\n\t\t\tif (result && result.items) {\n\t\t\t\tsetArtisteOptions(result.items.map(item => ({\n\t\t\t\t\tlabel: item.fullName,\n\t\t\t\t\tvalue: item.id\n\t\t\t\t})));\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tif (error.exception?.message)\n\t\t\t\ttoast.error(error.exception.message);\n\t\t\telse\n\t\t\t\ttoast.error(t(\"errors.default\"));\n\t\t}\n\t}\n\n\n\t/** Edition */\n\tuseEffect(() => {\n\t\tif (currentFormMode === TrajetsFormMode.IS_EDIT && artisteOptions) {\n\t\t\tif (trajetSelected) {\n\t\t\t\tsetValue([\n\t\t\t\t\t{\n\t\t\t\t\t\tversementArtistes: trajetSelected.versementArtistes.map(e => ({\n\t\t\t\t\t\t\tvalue: e.id,\n\t\t\t\t\t\t\tlabel: e.fullName\n\t\t\t\t\t\t}))\n\t\t\t\t\t}\n\t\t\t\t]);\n\n\t\t\t\tlet etapes = trajetSelected.etapes.sort((a,b) => a.order - b.order); // pour être sûr d'avoir les étapes dans l'ordre selon order\n\t\t\t\tconst timer = setTimeout( () => {\n\t\t\t\t\tupdateFields(etapes);\n\t\t\t\t}, 0);\n\t\t\t\treturn () => clearTimeout(timer);\n\t\t\t}\n\t\t}\n\t}, [trajetSelected, currentFormMode, artisteOptions]);\n\n\tconst updateFields = (etapes: TrajetDto[]) => {\n\t\tlet start:EtapeDto = etapes[0];\n\t\tlet finish:EtapeDto = etapes[etapes.length - 1];\n\t\tlet steps:EtapeDto[] = etapes.length > 2 ? etapes.slice(1, etapes.length-1) : [];\n\n\t\t/** depart */\n\t\tsetDepart(start);\n\t\tsetValue(\"depart.pays\", {label: start.pays.nom, value: start.pays});\n\t\tsetValue(\"depart.transport\", start.typeTransport);\n\n\t\t/** arrivee */\n\t\tsetArrivee(finish);\n\t\tsetValue(\"arrivee.pays\", {label: finish.pays.nom, value:finish.pays});\n\t\tsetValue(\"arrivee.transport\", finish.typeTransport);\n\n\t\t/** etapes */\n\t\tsetEtapes(steps);\n\t\tif (start.typeTransport === TypeTransport.Voiture) {\n\t\t\tsetIsSelectWithoutCar(true);\n\t\t} else {\n\t\t\tsetIsSelectWithoutCar(false);\n\t\t}\n\t\tsteps.forEach((e,i) => {\n\t\t\te.pays && setValue(`etapes[${i}].pays`, {label: e.pays.nom, value: e.pays});\n\t\t\tsetValue(`etapes[${i}].transport`, e.typeTransport);\n\t\t\te.escaleAllerPays && setValue(`etapes[${i}].escale.aller.pays`, {label: e.escaleAllerPays.nom, value: e.escaleAllerPays});\n\t\t\te.escaleRetourPays && setValue(`etapes[${i}].escale.retour.pays`, {label: e.escaleRetourPays.nom, value: e.escaleRetourPays});\n\n\t\t\tif(e.escaleAllerPays)\n\t\t\t\tsetValue(`etapes[${i}].escale.aller.boolean`, \"true\");\n\t\t\telse\n\t\t\t\tsetValue(`etapes[${i}].escale.aller.boolean`, \"false\");\n\n\t\t\tif(e.escaleRetourPays)\n\t\t\t\tsetValue(`etapes[${i}].escale.retour.boolean`, \"true\");\n\t\t\telse\n\t\t\t\tsetValue(`etapes[${i}].escale.retour.boolean`, \"false\");\n\n\t\t})\n\t}\n\n\n\n\t/** Validation et envoi */\n\tconst [hasNoDestination, setHasNoDestination] = useState(false);\n\tconst [hasTooManyArtists, setHasTooManyArtists] = useState(false);\n\tconst checkValidationDestination = () => {\n\t\tlet etapesFromForm = getValues({nest:true}).etapes;\n\t\tlet isFormValid:boolean = true;\n\t\n\t\tif (etapes.length === 0) {\n\t\t\tsetHasNoDestination(true);\n\t\t\tisFormValid = false;\n\t\t} else {\n\t\t\tsetHasNoDestination(false);\n\t\t}\n\n\t\tif (watchVersementArtistes.length > 12) {\n\t\t\tsetHasTooManyArtists(true);\n\t\t\tisFormValid = false;\n\t\t} else {\n\t\t\tsetHasTooManyArtists(false);\n\t\t}\n\n\t\tif (watchVersementArtistes.length === 0) \n\t\t\tisFormValid = false;\n\n\t\tconst isValid = etapesFromForm != null && etapesFromForm.some((etape:EtapesFromForm) =>\n\t\t\t(etape.escale.aller.boolean !== undefined &&\n\t\t\tetape.escale.retour.boolean !== undefined) ||\n\t\t\t((etape.escale.aller.boolean === \"true\" && etape.escale.aller.pays !== undefined) ||\n\t\t\t(etape.escale.retour.boolean === \"true\" && etape.escale.retour.pays !== undefined))\n\t\t);\n\n\t\treturn (isValid && isFormValid);\n\t}\n\n\tuseImperativeHandle(ref, () => ({\n\t\tasync validateAndSend(): Promise {\n\t\t\tconst result = await triggerValidation();\n\t\t\tconst resultValidateDestination = checkValidationDestination();\n\n\t\t\tif (resultValidateDestination === false)\n\t\t\t\treturn false;\n\n\t\t\tif (result) {\n\t\t\t\tconst dataToSend: CreateOrUpdateTrajetDto = {};\n\t\t\t\tconst etapesToSend:CreateOrUpdateEtapeDto[] = [];\n\t\t\t\tdataToSend.versementArtisteIds = getValues().versementArtistes.map((e:AdelOption) => e.value);\n\n\t\t\t\tif (currentFormMode === TrajetsFormMode.IS_CREATION) {\n\t\t\t\t\tconst depart:CreateOrUpdateEtapeDto = createDepart();\n\t\t\t\t\tconst arrivee:CreateOrUpdateEtapeDto = createArrivee();\n\t\t\t\t\tconst etapes:CreateOrUpdateEtapeDto[] = createEtapes();\n\t\t\t\t\tdataToSend.etapes = trajetToSend(etapesToSend, depart, arrivee, etapes);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tconst start:CreateOrUpdateEtapeDto = createDepart(depart);\n\t\t\t\t\tconst finish:CreateOrUpdateEtapeDto = createArrivee(arrivee);\n\t\t\t\t\tconst steps:CreateOrUpdateEtapeDto[] = createEtapes(etapes);\n\t\t\t\t\tdataToSend.etapes = trajetToSend(etapesToSend, start, finish, steps);\n\t\t\t\t}\n\t\t\t\tdataToSend.versementId = versement.id;\n\n\t\t\t\ttry {\n\t\t\t\t\tif (currentFormMode === TrajetsFormMode.IS_CREATION) {\n\t\t\t\t\t\tawait dossierClient.createTrajet(versement.dossierId, dataToSend);\n\t\t\t\t\t} else if (currentFormMode === TrajetsFormMode.IS_EDIT) {\n\t\t\t\t\t\tawait dossierClient.updateTrajet(trajetSelected.id, dataToSend);\n\t\t\t\t\t}\n\t\t\t\t\tcloseView();\n\t\t\t\t\treturn true;\n\t\t\t\t} catch (error) {\n\t\t\t\t\tif (error.exception?.message)\n\t\t\t\t\t\ttoast.error(error.exception.message);\n\t\t\t\t\telse\n\t\t\t\t\t\ttoast.error(t(\"errors.default\"));\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t}));\n\n\tconst trajetToSend = (etapesToSend:CreateOrUpdateEtapeDto[],\n\t\tdepart:CreateOrUpdateEtapeDto,\n\t\tarrivee:CreateOrUpdateEtapeDto,\n\t\tetapes:CreateOrUpdateEtapeDto[]) => {\n\n\t\tetapesToSend.push(depart); // depart = order 1\n\n\t\tlet index = 1;\n\t\tconst stepArray = etapes.map((e:CreateOrUpdateEtapeDto) => {\n\t\t\tindex++;\n\t\t\treturn {...e, order: index};\n\t\t});\n\t\tetapesToSend = etapesToSend.concat(stepArray);\n\n\t\tarrivee = {...arrivee, order: index+1 }\n\t\tetapesToSend.push(arrivee);\n\n\t\treturn etapesToSend;\n\t}\n\n\tconst createDepart = (step?:EtapeDto) => {\n\t\tlet depart:CreateOrUpdateEtapeDto = {\n\t\t\tpaysId: getValues(\"depart.pays\").id ? getValues(\"depart.pays\").id : getValues(\"depart.pays\").value.id,\n\t\t\ttypeTransport: getValues(\"depart.transport\"),\n\t\t\torder: 1\n\t\t};\n\t\tif (step)\n\t\t\tdepart = {...depart, id: step.id }\n\n\t\treturn depart;\n\t}\n\n\tconst createArrivee = (step?:EtapeDto) => {\n\t\tlet arrivee:CreateOrUpdateEtapeDto = {\n\t\t\tpaysId: getValues(\"arrivee.pays\").id ? getValues(\"arrivee.pays\").id : getValues(\"arrivee.pays\").value.id,\n\t\t\ttypeTransport: getValues(\"arrivee.transport\")\n\t\t};\n\t\tif (step)\n\t\t\tarrivee = {...arrivee, id: step.id }\n\n\t\treturn arrivee;\n\t}\n\n\tconst createEtapes = (steps?:EtapeDto[]) => {\n\t\tlet etapesFromForm = getValues({nest:true}).etapes;\n\t\treturn etapesFromForm.map((etape:EtapesFromForm, i:number) => {\n\t\t\tif(steps && steps.length > 0 && steps[i] && !steps[i].id.includes('TEMPORARY_')) {\n\t\t\t\treturn {\n\t\t\t\t\tescaleRetourPaysId: (etape.escale.retour.pays as PaysDto)?.id\n\t\t\t\t\t\t\t\t\t\t|| (etape.escale.retour.pays as AdelOption)?.value.id\n\t\t\t\t\t\t\t\t\t\t|| null,\n\t\t\t\t\tescaleAllerPaysId: (etape.escale.aller.pays as PaysDto)?.id\n\t\t\t\t\t\t\t\t\t\t|| (etape.escale.aller.pays as AdelOption)?.value.id\n\t\t\t\t\t\t\t\t\t\t|| null,\n\t\t\t\t\ttypeTransport: etape.transport,\n\t\t\t\t\tpaysId: (etape.pays as PaysDto).id || (etape.pays as AdelOption).value.id,\n\t\t\t\t\tid: steps[i].id\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treturn {\n\t\t\t\t\tescaleRetourPaysId: (etape.escale.retour.pays as PaysDto)?.id\n\t\t\t\t\t\t\t\t\t\t|| (etape.escale.retour.pays as AdelOption)?.value.id\n\t\t\t\t\t\t\t\t\t\t|| null,\n\t\t\t\t\tescaleAllerPaysId: (etape.escale.aller.pays as PaysDto)?.id\n\t\t\t\t\t\t\t\t\t\t|| (etape.escale.aller.pays as AdelOption)?.value.id\n\t\t\t\t\t\t\t\t\t\t|| null,\n\t\t\t\t\ttypeTransport: etape.transport,\n\t\t\t\t\tpaysId: (etape.pays as PaysDto).id || (etape.pays as AdelOption).value.id,\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\n\treturn (
    \n\t\t
    \n\t\t\t
    closeView()}>\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{t(\"createFolder.trajets.back\")}\n\t\t\t\t\n\t\t\t
    \n\t\t\t

    {t(\"createFolder.trajets.title\")}

    \n\t\t
    \n\t\t
    \n\t\t\t

    {t(\"createFolder.trajets.listColumns.depart\")}

    \n\t\t\t\n\t\t
    \n\t\t
    \n\t\t\t

    {t(\"createFolder.trajets.listColumns.etape\")}

    \n\t\t\t{hasNoDestination &&\n\t\t\t\t
    {t(\"createFolder.trajets.no-destination\")}
    \n\t\t\t}\n\t\t\t{etapes.length > 0 && etapes.map((e, i) => {\n\t\t\t\treturn
    \n\t\t\t\t\t

    \n\t\t\t\t\t\t{t(\"createFolder.trajets.form.etape\")} {i+1}\n\t\t\t\t\t\t { removeEtape(e.id) }}>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t

    \n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t})}\n\t\t\t
    { addEtape() }}>\n\t\t\t\t{t(\"createFolder.trajets.addStep\")}\n\t\t\t
    \n\t\t
    \n\t\t
    \n\t\t\t

    {t(\"createFolder.trajets.listColumns.arrivee\")}

    \n\t\t\t\n\t\t
    \n\t\t
    \n\t\t\t

    {t(\"createFolder.trajets.listColumns.artistes\")}

    \n\t\t\t{hasTooManyArtists &&\n\t\t\t\t
    {t(\"createFolder.trajets.form.too-many-artists\")}
    \n\t\t\t}\n\t\t\t{!watchVersementArtistes &&\n\t\t\t\t
    {t(\"createFolder.trajets.form.no-empty-artist\")}
    \n\t\t\t}\n\t\t\t
    \n\t\t\t\t (\n\t\t\t\t\t\t // string[]\n\t\t\t\t\t\t\tname={name}\n\t\t\t\t\t\t\tlabel={t('createFolder.trajets.form.artistes')}\n\t\t\t\t\t\t\tclassname=\"inputSelect inputSelect--fullWidth inputSelect--multi\"\n\t\t\t\t\t\t\toptions={artisteOptions}\n\t\t\t\t\t\t\terrors={errors}\n\t\t\t\t\t\t\tonChange={(value) => onChange(value) }\n\t\t\t\t\t\t\tselectAll={`${t('createFolder.trajets.form.all-artistes')}`}\n\t\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\t\tisMulti\n\t\t\t\t\t\t\tplaceholder={t(\"common.select\")}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\trules={trajetValidator && trajetValidator[\"ArtisteIds\"]}\n\t\t\t\t/>\n\t\t\t
    \n\t\t
    \n\t
    )\n});\n\nexport default EditTrajet;\n","import React, { useState, useCallback } from 'react';\nimport { useTranslation } from 'react-i18next';\n\ninterface EscaleCheckboxProps {\n\tname: string;\n\treference?: any;\n\tonChange: (value:React.ChangeEvent) => void;\n\tvalue?:string;\n}\n\nconst EscaleCheckbox: React.SFC = ({\n\tname,\n\treference,\n\tonChange,\n\tvalue\n}) => {\n\tconst { t } = useTranslation();\n\n\treturn (\n\t\t
    \n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t onChange(e)}\n\t\t\t\t\t\tchecked={value === \"true\"}\n\t\t\t\t\t/>\n\t\t\t\t\t\n\t\t\t\t
    \n\n\t\t\t\t
    \n\t\t\t\t\t onChange(e)}\n\t\t\t\t\t/>\n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t
    \n\t\t
    \n\t);\n}\n\nexport default EscaleCheckbox;","import React, { useState, useMemo, useEffect } from \"react\";\nimport { useTranslation } from 'react-i18next';\nimport InputSelect, { AdelOption } from 'adel-shared/dist/components/basics/InputSelect';\nimport { TypeTransport, PaysDto } from '../../../../../services/generated/FrontOffice-api';\nimport EscaleCheckbox from './EscaleCheckbox';\nimport { Controller } from 'react-hook-form';\nimport { CategorieLieu } from './EditTrajet';\nimport { Dictionary } from '../../../../../models';\n\ninterface RenderTrajetBlockProps {\n\tname:string;\n\tisDepart: boolean;\n\tisDestination: boolean;\n\tcontrol: any;\n\terrors?: any;\n\twatch: any;\n\tsetValue?:any;\n\tetapeValidator: Dictionary;\n\tpaysList?: PaysDto[];\n\tpaysPrestations?: PaysDto[];\n\tpaysFull: PaysDto[];\n\n\tisSelectWithoutCar: boolean;\n\tsetIsSelectWithoutCar: (value:boolean) => void;\n}\n\nconst RenderTrajetBlock: React.FC = ({\n\tname,\n\tisDepart,\n\tisDestination,\n\tpaysList,\n\tpaysPrestations,\n\tpaysFull,\n\twatch,\n\tcontrol,\n\terrors,\n\tsetValue,\n\tisSelectWithoutCar,\n\tsetIsSelectWithoutCar,\n\tetapeValidator,\n}) => {\n\tconst { t } = useTranslation();\n\tconst [selectedTransport, setSelectedTransport] = useState();\n\tconst watchPaysDepart = watch(`depart.pays`);\n\n\tconst watchAller = watch(`${name}.${CategorieLieu.Escale}.aller.boolean`);\n\tconst watchRetour = watch(`${name}.${CategorieLieu.Escale}.retour.boolean`);\n\n\tconst watchPaysAller = watch(`${name}.${CategorieLieu.Escale}.aller.pays`);\n\tconst watchPaysRetour = watch(`${name}.${CategorieLieu.Escale}.retour.pays`);\n\n\tconst [paysOptions, setPaysOptions] = useState[]>([]);\n\tconst [paysOptionsFull, setPaysOptionsFull] = useState[]>([]);\n\n\t/** Pays Option */\n\tuseEffect(() => {\n\t\tlet array:AdelOption[] = [];\n\n\t\tif (paysList) {\n\t\t\tif (isDepart) {\n\t\t\t\tarray = paysList && paysList.sort((a, b) => a.nom.localeCompare(b.nom))\n\t\t\t\t\t\t.filter(e => e.estAimable || e.nom === \"FRANCE\")\n\t\t\t\t\t\t.map(element => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tvalue: element,\n\t\t\t\t\t\tlabel: element.nom\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tarray = paysList && paysList.sort((a, b) => a.nom.localeCompare(b.nom))\n\t\t\t\t\t\t.filter(e => e.nom === \"FRANCE\" || watchPaysDepart?.id === e.id)\n\t\t\t\t\t\t.map(element => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tvalue: element,\n\t\t\t\t\t\tlabel: element.nom\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\tsetPaysOptions(array);\n\n\t\t} else if (paysPrestations) {\n\t\t\tarray = paysPrestations && paysPrestations.sort((a, b) => a.nom.localeCompare(b.nom)).map(function (element: PaysDto) {\n\t\t\t\treturn {\n\t\t\t\t\tvalue: element,\n\t\t\t\t\tlabel: element.nom\n\t\t\t\t}\n\t\t\t});\n\t\t\tsetPaysOptions(array);\n\t\t}\n\n\t}, [paysList, paysPrestations, watchPaysDepart]);\n\n\tuseEffect(() => {\n\t\tif (paysFull) {\n\t\t\tsetPaysOptionsFull(paysFull.sort((a, b) => a.nom.localeCompare(b.nom))\n\t\t\t\t.map((element: PaysDto) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tvalue: element,\n\t\t\t\t\t\tlabel: element.nom\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\t}, [paysFull]);\n\n\tuseEffect(() => {\n\t\tif(setValue && !isDepart && !isDestination)\n\t\t\tsetValue(`${name}.pays`, watchPaysDepart);\n\t}, [watchPaysDepart]);\n\n\n\t/** Type transports */\n\tconst transportOptions: AdelOption[] = useMemo(() => {\n\t\tlet allOptions: AdelOption[] = [];\n\t\tfor (let statut in TypeTransport) {\n\t\t\tif (statut !== \"None\") {\n\t\t\t\tallOptions.push(\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: TypeTransport[statut as keyof typeof TypeTransport],\n\t\t\t\t\t\tlabel: t(`common.typeTransport.${TypeTransport[statut as keyof typeof TypeTransport]}`)\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t}\n\t\t}\n\t\treturn allOptions;\n\t}, []);\n\n\tconst transportNoCarOptions: AdelOption[] = useMemo(() => {\n\t\tlet allOptions: AdelOption[] = [];\n\t\tfor (let statut in TypeTransport) {\n\t\t\tif (statut !== \"None\" && statut !== \"Voiture\") {\n\t\t\t\tallOptions.push(\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: TypeTransport[statut as keyof typeof TypeTransport],\n\t\t\t\t\t\tlabel: t(`common.typeTransport.${TypeTransport[statut as keyof typeof TypeTransport]}`)\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t}\n\t\t}\n\t\treturn allOptions;\n\t}, []);\n\n\tconst transportOnlyCarOptions: AdelOption[] = useMemo(() => {\n\t\tlet allOptions: AdelOption[] = [];\n\t\tfor (let statut in TypeTransport) {\n\t\t\tif (statut === \"Voiture\") {\n\t\t\t\tallOptions.push(\n\t\t\t\t\t{\n\t\t\t\t\t\tvalue: TypeTransport[statut as keyof typeof TypeTransport],\n\t\t\t\t\t\tlabel: t(`common.typeTransport.${TypeTransport[statut as keyof typeof TypeTransport]}`)\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t}\n\t\t}\n\t\treturn allOptions;\n\t}, []);\n\n\tconst renderSelect = useMemo(() => {\n\t\tif(isSelectWithoutCar) {\n\t\t\treturn (\n\t\t\t\t (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tname={name}\n\t\t\t\t\t\t\tlabel={t('createFolder.trajets.form.transport')}\n\t\t\t\t\t\t\tclassname=\"inputSelect\"\n\t\t\t\t\t\t\toptions={transportOnlyCarOptions}\n\t\t\t\t\t\t\terrors={errors}\n\t\t\t\t\t\t\tonChange={(selectedTransport) => {\n\t\t\t\t\t\t\t\tonChange(selectedTransport);\n\t\t\t\t\t\t\t\tsetSelectedTransport(selectedTransport);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\t\tplaceholder={t(\"common.select\")}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\trules={etapeValidator && etapeValidator[\"TypeTransport\"]}\n\t\t\t\t/>\n\t\t\t);\n\t\t} else {\n\t\t\treturn(\n\t\t\t (\n\t\t\t\t\t\n\t\t\t\t\t\tname={name}\n\t\t\t\t\t\tlabel={t('createFolder.trajets.form.transport')}\n\t\t\t\t\t\tclassname=\"inputSelect\"\n\t\t\t\t\t\toptions={transportNoCarOptions}\n\t\t\t\t\t\terrors={errors}\n\t\t\t\t\t\tonChange={(selectedTransport) => {\n\t\t\t\t\t\t\tonChange(selectedTransport);\n\t\t\t\t\t\t\tsetSelectedTransport(selectedTransport);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\tplaceholder={t(\"common.select\")}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\trules={etapeValidator && etapeValidator[\"TypeTransport\"]}\n\t\t\t/>\n\t\t)}\n\t}, [isSelectWithoutCar, transportOptions, control, name, errors]);\n\n\n\treturn (\n\t\t<>\n\t\t\t
    \n\t\t\t\t (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tname={name}\n\t\t\t\t\t\t\tlabel={t('createFolder.trajets.form.pays')}\n\t\t\t\t\t\t\tclassname=\"inputSelect\"\n\t\t\t\t\t\t\toptions={paysOptions}\n\t\t\t\t\t\t\terrors={errors}\n\t\t\t\t\t\t\tonChange={(p) => onChange(p)}\n\t\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\t\tisSearchable={true}\n\t\t\t\t\t\t\tplaceholder={t(\"common.select\")}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\trules={etapeValidator && etapeValidator[\"PaysId\"]}\n\t\t\t\t/>\n\t\t\t\t{isDepart \n\t\t\t\t\t? (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tname={name}\n\t\t\t\t\t\t\t\tlabel={t('createFolder.trajets.form.transport')}\n\t\t\t\t\t\t\t\tclassname=\"inputSelect\"\n\t\t\t\t\t\t\t\toptions={transportOptions}\n\t\t\t\t\t\t\t\tplaceholder={t(\"common.select\")}\n\t\t\t\t\t\t\t\terrors={errors}\n\t\t\t\t\t\t\t\tonChange={(selectedTransport) => {\n\t\t\t\t\t\t\t\t\tonChange(selectedTransport);\n\t\t\t\t\t\t\t\t\tif(selectedTransport === TypeTransport.Voiture) {\n\t\t\t\t\t\t\t\t\t\tsetIsSelectWithoutCar(true);\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tsetIsSelectWithoutCar(false);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tsetSelectedTransport(selectedTransport);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\trules={etapeValidator && etapeValidator[\"TypeTransport\"]}\n\t\t\t\t\t/> \n\t\t\t\t\t: renderSelect\n\t\t\t\t}\n\t\t\t
    \n\n\t\t\t{!isDepart && isDestination &&\n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t

    {t('createFolder.trajets.aller')}

    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tname={name}\n\t\t\t\t\t\t\t\t\t\t\tlabel={t('createFolder.trajets.form.pays')}\n\t\t\t\t\t\t\t\t\t\t\tclassname=\"inputSelect\"\n\t\t\t\t\t\t\t\t\t\t\toptions={paysOptionsFull}\n\t\t\t\t\t\t\t\t\t\t\terrors={errors}\n\t\t\t\t\t\t\t\t\t\t\tonChange={(p) => onChange(p)}\n\t\t\t\t\t\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\t\t\t\t\t\tisSearchable={true}\n\t\t\t\t\t\t\t\t\t\t\tplaceholder={t(\"common.select\")}\n\t\t\t\t\t\t\t\t\t\t\tisDisabled={watchAller === \"false\" || watchAller === undefined}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{(watchAller === \"true\" && watchPaysAller === undefined) &&

    {t(\"validation-messages.required-country\")}

    }\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t{(watchAller !== \"true\" && watchAller !== \"false\") &&

    {t(\"validation-messages.required-response\")}

    }\t\t\t\t\t\t\n\t\t\t\t\t
    \n\n\t\t\t\t\t
    \n\t\t\t\t\t\t

    {t('createFolder.trajets.retour')}

    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tname={name}\n\t\t\t\t\t\t\t\t\t\t\tlabel={t('createFolder.trajets.form.pays')}\n\t\t\t\t\t\t\t\t\t\t\tclassname=\"inputSelect\"\n\t\t\t\t\t\t\t\t\t\t\toptions={paysOptionsFull}\n\t\t\t\t\t\t\t\t\t\t\terrors={errors}\n\t\t\t\t\t\t\t\t\t\t\tonChange={(p) => onChange(p)}\n\t\t\t\t\t\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\t\t\t\t\t\tisSearchable={true}\n\t\t\t\t\t\t\t\t\t\t\tplaceholder={t(\"common.select\")}\n\t\t\t\t\t\t\t\t\t\t\tisDisabled={watchRetour === \"false\" || watchRetour === undefined}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{(watchRetour === \"true\" && watchPaysRetour === undefined) &&

    {t(\"validation-messages.required-country\")}

    }\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t{(watchRetour !== \"true\" && watchRetour !== \"false\") &&

    {t(\"validation-messages.required-response\")}

    }\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t}\n\t\t\n\t);\n}\n\nexport default RenderTrajetBlock;","import FormButton from 'adel-shared/dist/components/basics/FormButton';\nimport InputFileSingle, { DocumentWithFile } from 'adel-shared/dist/components/basics/InputFileSingle';\nimport Table, { styleTable } from 'adel-shared/dist/components/basics/Table';\nimport _ from 'lodash';\nimport React, { forwardRef, useContext, useEffect, useImperativeHandle, useMemo, useRef, useState } from \"react\";\nimport { useForm } from 'react-hook-form';\nimport { useTranslation } from 'react-i18next';\nimport Loader from 'react-loader-spinner';\nimport { useSortBy, useTable } from 'react-table';\nimport { toast } from 'react-toastify';\nimport { RouteComponentProps } from '@reach/router';\nimport { AdelDossierClient } from '../../../../clients/AdelDossierClient';\nimport { AppStateContext } from '../../../../context/AppContext';\nimport { useAxios } from '../../../../custom-hooks/useAxios';\nimport useValidation from '../../../../custom-hooks/useValidation';\nimport { DocumentUploadInfoDto, DossierClient, TrajetDto } from '../../../../services/generated/FrontOffice-api';\nimport EditTrajet, { EditTrajetRef } from './trajets/EditTrajet';\nimport ModaldeleteTrajet from './trajets/ModalDeleteTrajet';\n\nenum View {\n\tList = \"List\",\n\tEdit = \"Edit\"\n}\n\nexport enum TrajetsFormMode {\n\tIS_CREATION = 1,\n\tIS_EDIT = 3\n}\n\ninterface TrajetsTable {\n\tid: string;\n\tdepart: string;\n\tetape: string;\n\tarrivee: string;\n\tartistes: string;\n}\n\ninterface TrajetsProps extends RouteComponentProps {\n\tref: any,\n\tsetCanGoNext: (value: boolean) => void;\n\tisLoading?: boolean;\n\tsetIsLoading: (value: boolean) => void;\n\tsetEditMode: (value: boolean) => void;\n\tsetIsFormValid: (value: boolean) => void;\n}\n\nconst Trajets: React.FunctionComponent = forwardRef((props, ref) => {\n\tconst [{currentEditingVersement: versement}] = useContext(AppStateContext);\n\tconst { t } = useTranslation(); const axiosInstance = useAxios();\n\tconst dossierClient = useMemo(() => { return new DossierClient(\"\", axiosInstance) }, [axiosInstance]);\n\tconst adelDossierClient = new AdelDossierClient(\"\", axiosInstance);\n\n\tconst trajetsRef: React.MutableRefObject = useRef(null);\n\tconst [currentView, setCurrentView] = useState(View.List);\n\tconst [currentFormMode, setCurrentFormMode] = useState(TrajetsFormMode.IS_CREATION);\n\n\tconst [trajets, setTrajets] = useState([]);\n\tconst [trajetsTable, setTrajetsTable] = useState([]);\n\tconst [trajetSelected, setTrajetSelected] = useState();\n\tconst [trajetDeleteId, setTrajetDeleteId] = useState();\n\tconst [document, setDocument] = useState();\n\n\tconst [showDeleteTrajet, setShowDeleteTrajet] = useState(false);\n\tconst [isTableLoading, setIsTableLoading] = useState(false);\n\n\tconst { getRootValidator } = useValidation();\n\tconst trajetValidator = getRootValidator(\"CreateOrUpdateTrajetDto\");\n\tconst etapeValidator = getRootValidator(\"CreateOrUpdateEtapeDto\");\n\tconst escaleValidator = getRootValidator(\"CreateOrUpdateEscaleDto\");\n\n\tconst { register, errors, triggerValidation } = useForm({});\n\n\n\t/** Salarié */\n\tuseEffect(() => {\n\t\tif (!versement.dossierId) return;\n\t\tprops.setIsLoading(false);\n\t\tprops.setCanGoNext(true);\n\t}, [versement.dossierId]);\n\n\t/** Trajets */\n\tconst [sort, setSort] = useState(\"\");\n\tconst [filters, setFilters] = useState(\"\");\n\tconst [page, setPage] = useState(1);\n\tconst [pageSize, setPageSize] = useState(1000);\n\tconst [disabledPagination, setDisabledPagination] = useState(false);\n\n\t// UseMemo to save the debounce function in memory when component is re-rendered\n\tconst debounceFetchTrajets = useMemo(() => _.debounce((\n\t\tdossierId: string,\n\t\tfilters: string,\n\t\tsort: string,\n\t\tpage: number,\n\t\tpageSize: number,\n\t\tdisabledPagination: boolean,\n\t\tversementId: string\n\t) => {\n\t\tsetIsTableLoading(true);\n\t\tdossierClient.getTrajets(\n\t\t\tdossierId,\n\t\t\tfilters,\n\t\t\tsort,\n\t\t\tpage,\n\t\t\tpageSize,\n\t\t\tdisabledPagination,\n\t\t\tversementId\n\t\t).then(result => {\n\t\t\tsetTable(result.trajets.items);\n\t\t\tif(result.document) {\n\t\t\t\tsetDocument({fileName: result.document.fileName, id: result.document.id});\n\t\t\t}\n\t\t\tsetIsTableLoading(false);\n\t\t});\n\t}, 1000), []);\n\n\tuseEffect(() => {\n\t\tdebounceFetchTrajets(\n\t\t\tversement.dossierId,\n\t\t\tfilters,\n\t\t\tsort,\n\t\t\tpage,\n\t\t\tpageSize,\n\t\t\tdisabledPagination,\n\t\t\tversement.id\n\t\t);\n\t}, [\n\t\tfilters,\n\t\tsort,\n\t\tpage,\n\t\tpageSize,\n\t\tdisabledPagination\n\t]);\n\n\tconst setTable = (trajets: TrajetDto[]) => {\n\t\tsetTrajets(trajets);\n\t\tlet result: TrajetsTable[] = [];\n\n\t\tfor (let trajet of trajets) {\n\t\t\tlet arrivee = trajet.etapes[trajet.etapes?.length - 1] && trajet.etapes[trajet.etapes?.length - 1].pays.nom;\n\t\t\tlet step = trajet.etapes?.length > 2 ? trajet.etapes?.slice(1, trajet.etapes.length-1) : [];\n\t\t\tlet destinations = step.map(e => e.pays.nom).join(\", \");\n\n\t\t\tlet item:TrajetsTable = {\n\t\t\t\tid: trajet.id,\n\t\t\t\tdepart: trajet.etapes[0]?.pays.nom as string,\n\t\t\t\tetape: destinations,\n\t\t\t\tarrivee: arrivee as string,\n\t\t\t\tartistes: trajet.versementArtistes.map(e => e.fullName).join(\", \")\n\t\t\t}\n\t\t\tresult.push(item);\n\t\t}\n\t\tsetTrajetsTable(result);\n\t}\n\n\n\n\t/** Pour le bouton Valider de CreationDossier */\n\tuseEffect(() => {\n\t\tswitch (currentView) {\n\t\t\tcase View.List:\n\t\t\t\tprops.setEditMode(false);\n\t\t\t\tdebounceFetchTrajets(\n\t\t\t\t\tversement.dossierId,\n\t\t\t\t\tfilters,\n\t\t\t\t\tsort,\n\t\t\t\t\tpage,\n\t\t\t\t\tpageSize,\n\t\t\t\t\tdisabledPagination,\n\t\t\t\t\tversement.id\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase View.Edit:\n\t\t\t\tprops.setEditMode(true);\n\t\t\t\tbreak;\n\t\t}\n\t}, [currentView]);\n\n\n\n\t/** Trajets actions */\n\tconst editTrajet = async (id:string) => {\n\t\tprops.setIsLoading(true);\n\t\ttry {\n\t\t\tconst result = await dossierClient.getTrajets(\n\t\t\t\tversement.dossierId,\n\t\t\t\tfilters,\n\t\t\t\tsort,\n\t\t\t\tpage,\n\t\t\t\tpageSize,\n\t\t\t\tdisabledPagination,\n\t\t\t\tversement.id\n\t\t\t);\n\t\t\tsetTrajetSelected(result.trajets.items.find((e:TrajetDto) => e.id === id));\n\t\t\tsetCurrentFormMode(TrajetsFormMode.IS_EDIT);\n\t\t\tsetCurrentView(View.Edit);\n\t\t} catch(error) {\n\t\t\tif (error.exception?.message)\n\t\t\t\ttoast.error(error.exception.message);\n\t\t\telse\n\t\t\t\ttoast.error(t(\"errors.default\"));\n\t\t}\n\t\tprops.setIsLoading(false);\n\t}\n\n\tconst openDeleteTrajet = (id:string) => {\n\t\tsetTrajetDeleteId(id);\n\t\tsetShowDeleteTrajet(true);\n\t}\n\n\tconst deleteTrajet = async () => {\n\t\tsetShowDeleteTrajet(false);\n\t\tprops.setIsLoading(true);\n\t\ttry {\n\t\t\tawait dossierClient.deleteTrajet(trajetDeleteId);\n\t\t\tawait debounceFetchTrajets(\n\t\t\t\tversement.dossierId,\n\t\t\t\tfilters,\n\t\t\t\tsort,\n\t\t\t\tpage,\n\t\t\t\tpageSize,\n\t\t\t\tdisabledPagination,\n\t\t\t\tversement.id\n\t\t\t);\n\t\t} catch(error) {\n\t\t\tif (error.exception?.message)\n\t\t\t\ttoast.error(error.exception.message);\n\t\t\telse\n\t\t\t\ttoast.error(t(\"errors.default\"));\n\t\t}\n\t\tsetTrajetDeleteId(undefined);\n\t\tprops.setIsLoading(false);\n\t}\n\n\n\t/** Table setup */\n\tconst columns = React.useMemo(() => {\n\treturn [{\n\t\tHeader: \"Table\",\n\t\tcolumns: [\n\t\t\t{ Header: \"Id\", accessor: \"id\", disableSortBy: true },\n\t\t\t{ Header: t('createFolder.trajets.listColumns.depart'), accessor: \"depart\", disableSortBy: true },\n\t\t\t{ Header: t('createFolder.trajets.listColumns.etape'), accessor: \"etape\", disableSortBy: true },\n\t\t\t{ Header: t('createFolder.trajets.listColumns.arrivee'), accessor: \"arrivee\", disableSortBy: true },\n\t\t\t{ Header: t('createFolder.trajets.listColumns.artistes'), accessor: \"artistes\", disableSortBy: true },\n\t\t\t{\n\t\t\t\tHeader: \"\", accessor: \"Actions\", disableSortBy: true,\n\t\t\t\tCell: (value: any) => (\n\t\t\t\t\t\n\t\t\t\t\t\t
    { editTrajet(value.cell.row.values.id) }}>
    \n\t\t\t\t\t\t
    { openDeleteTrajet(value.cell.row.values.id) }}>
    \n\t\t\t\t\t
    \n\t\t\t\t)}\n\t\t\t]\n\t\t}];\n\t}, []);\n\n\tconst { getTableProps, getTableBodyProps, headerGroups, rows, prepareRow, state } = useTable({\n\t\tcolumns: columns,\n\t\tdata: trajetsTable,\n\t\tinitialState: { hiddenColumns: [\"id\"] },\n\t}, useSortBy);\n\n\n\n\t/** View List mode */\n\tconst listView = () => {\n\t\treturn (\n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t

    {t(\"createFolder.menu.trajets\")}

    \n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\tsetCurrentView(View.Edit);\n\t\t\t\t\t\t\t\tsetCurrentFormMode(TrajetsFormMode.IS_CREATION);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t{\n\t\t\t\t\t\tisTableLoading\n\t\t\t\t\t\t?
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t: \n\t\t\t\t\t}\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t {setDocument(e)}}\n\t\t\t\t\t\t\t\tcurrentValue={document}\n\t\t\t\t\t\t\t\tname=\"document\"\n\t\t\t\t\t\t\t\treference={register({ required: `${t(\"validation-messages.required-document\")}` })}\n\t\t\t\t\t\t\t\terrorMessage={errors}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t setShowDeleteTrajet(false)}\n\t\t\t\t\tonValidate={() => deleteTrajet()}\n\t\t\t\t\tisLoading={props.isLoading}\n\t\t\t\t/>\n\t\t\t
    \n\t\t)\n\t}\n\n\t/** Views */\n\tconst renderSwitchView = () => {\n\t\tswitch (currentView) {\n\t\t\tcase View.List:\n\t\t\t\treturn listView();\n\t\t\tcase View.Edit:\n\t\t\t\treturn {\n\t\t\t\t\t\tsetCurrentView(View.List);\n\t\t\t\t\t\tsetCurrentFormMode(TrajetsFormMode.IS_CREATION)\n\t\t\t\t\t}}\n\t\t\t\t\tcurrentFormMode={currentFormMode}\n\t\t\t\t\ttrajetSelected={trajetSelected}\n\t\t\t\t\ttrajetValidator={trajetValidator}\n\t\t\t\t\tetapeValidator={etapeValidator}\n\t\t\t\t\tescaleValidator={escaleValidator}\n\t\t\t\t/>\n\t\t}\n\t}\n\n\tuseImperativeHandle(ref, () => ({\n\t\tasync validateForm(): Promise {\n\t\t\tprops.setIsLoading(true);\n\n\t\t\ttry {\n\t\t\t\tswitch (currentView) {\n\t\t\t\t\tcase View.List:\n\t\t\t\t\t\tconst result = await triggerValidation();\n\n\t\t\t\t\t\tif(result) {\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tlet documentToSend:DocumentUploadInfoDto = {partName: \"document\"};\n\t\t\t\t\t\t\t\tif (document.id) {\n\t\t\t\t\t\t\t\t\tdocumentToSend = {...documentToSend, id: document.id}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tconst validationResult = await adelDossierClient.validateTrajets(\n\t\t\t\t\t\t\t\t\tversement.dossierId,\n\t\t\t\t\t\t\t\t\t{document: documentToSend, versementId: versement.id},\n\t\t\t\t\t\t\t\t\t{document: !document.id && document.file}\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tif (validationResult.dossierWithoutTrajet) {\n\t\t\t\t\t\t\t\t\ttoast.error(t('createFolder.trajets.validation.dossierWithoutTrajet'));\n\t\t\t\t\t\t\t\t\tprops.setIsLoading(false);\n\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t} else if (validationResult.noTrajetFromAimableToAimable) {\n\t\t\t\t\t\t\t\t\ttoast.error(t('createFolder.trajets.validation.noTrajetFromAimableToAimable'));\n\t\t\t\t\t\t\t\t\tprops.setIsLoading(false);\n\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t} else if (validationResult.trajetWithoutArtiste) {\n\t\t\t\t\t\t\t\t\ttoast.error(t('createFolder.trajets.validation.trajetWithoutArtiste'));\n\t\t\t\t\t\t\t\t\tprops.setIsLoading(false);\n\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tprops.setIsLoading(false);\n\t\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} catch(error) {\n\t\t\t\t\t\t\t\tif (error.exception?.message)\n\t\t\t\t\t\t\t\t\ttoast.error(error.exception.message);\n\t\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t\ttoast.error(t(\"errors.default\"));\n\t\t\t\t\t\t\t\tprops.setIsLoading(false);\n\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tprops.setIsLoading(false);\n\t\t\t\t\t\treturn false;\n\t\t\t\t\tcase View.Edit:\n\t\t\t\t\t\tif (trajetsRef && trajetsRef.current) {\n\t\t\t\t\t\t\tlet result = await trajetsRef.current.validateAndSend();\n\t\t\t\t\t\t\tprops.setIsLoading(false);\n\t\t\t\t\t\t\treturn result;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tprops.setIsLoading(false);\n\t\t\t\t\t\t\tconsole.error(\"trajetsRef undefined. Please contact your Dev Team.\");\n\t\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthrow \"currentView unknown. Please contact your Dev Team.\";\n\t\t\t} catch (error) {\n\t\t\t\tif (error.exception?.message)\n\t\t\t\t\ttoast.error(error.exception.message);\n\t\t\t\telse\n\t\t\t\t\ttoast.error(t(\"errors.default\"));\n\t\t\t\tprops.setIsLoading(false);\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t}\n\t}));\n\n\treturn (<>{renderSwitchView()});\n});\n\nexport default Trajets;","import React, { useEffect } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport Modal from 'react-modal';\nimport { modalSmallerCustomStyles } from '../../../../../constants/config.constant';\nimport FormButton from 'adel-shared/dist/components/basics/FormButton';\nimport Loader from 'react-loader-spinner';\n\ninterface ModalDeleteTrajetProps {\n\tisOpen: boolean;\n\tonCancel: () => void;\n\tonValidate: () => void;\n\tisLoading?: boolean;\n}\n\nconst ModalDeleteTrajet: React.FunctionComponent = ({\n\tisOpen,\n\tonCancel,\n\tonValidate,\n\tisLoading\n}) => {\n\tconst { t } = useTranslation();\n\n useEffect(() => {\n Modal.setAppElement('body');\n\t}, []);\n\n\treturn (\n\t\n
    \n

    {t('createFolder.trajets.delete.title')}

    \n
    \n
    \n\t\t\t
    \n\t\t\t\t

    {t('createFolder.trajets.delete.content')}

    \n\t\t\t
    \n
    \n
    \n onCancel()}\n />\n {isLoading\n ? \n : onValidate()}\n />}\n
    \n );\n}\n\nexport default ModalDeleteTrajet;","import React, { useState, useEffect, ForwardRefExoticComponent, PropsWithoutRef, RefAttributes, forwardRef, useMemo, useContext, useImperativeHandle } from 'react';\nimport { AppStateContext } from '../../../../context/AppContext';\nimport { useTranslation } from 'react-i18next';\nimport { RouteComponentProps } from \"@reach/router\";\nimport { StepVersementRef } from '../CreationVersement';\nimport _ from 'lodash';\nimport { DocumentDto, DocumentUploadInfoDto, TypeDeDocumentDto, VersementClient } from '../../../../services/generated/FrontOffice-api';\nimport { toast } from 'react-toastify';\nimport { useAxios } from '../../../../custom-hooks/useAxios';\nimport { AdelVersementClient } from '../../../../clients/AdelVersementClient';\nimport InputDocuments from '../../../basics/InputDocuments/InputDocuments';\nimport { useForm } from 'react-hook-form';\nimport { IFile } from '../../../../models/IFile';\nimport { Dictionary } from \"adel-shared/dist/models\";\nimport { DemandeVersementPieceJointeViewModelDto } from 'adel-shared/dist/models/generated/FrontOffice-api';\n\ninterface PiecesJointesProps extends RouteComponentProps {\n setCanGoNext: (value: boolean) => void;\n setIsFormValid: (value: boolean) => void;\n setIsLoading: (value: boolean) => void;\n\tpiecesJointes: DemandeVersementPieceJointeViewModelDto;\n\tversementId: string;\n\tsetPiecesJointes: (value:DemandeVersementPieceJointeViewModelDto) => void;\n}\n\nconst PiecesJointes: ForwardRefExoticComponent & RefAttributes> = forwardRef((props, ref) => {\n\tconst [{ currentEditingVersement: versement }] = useContext(AppStateContext);\n const { t } = useTranslation();\n\n const axiosInstance = useAxios();\n const adelVersementClient = useMemo(() => { return new AdelVersementClient(\"\", axiosInstance) }, [axiosInstance]);\n\tconst versementClient = new VersementClient(\"\", axiosInstance);\n\t\n\tconst [typeDeDocuments, setTypeDeDocuments] = useState([]);\t\t// Required documents (and not only existing) to show the user if new documents are required\n\tconst [documents, setDocuments] = useState([]);\n\n\tconst [dirtyFields, setDirtyFields] = useState([]);\t\t\t\t\t\t\t// Used to keep track of modified documents (which will need to be updated)\n\tconst [isDirty, setIsDirty] = useState(false);\n\tconst form = useForm();\n\tconst { getValues, setValue, triggerValidation } = form;\n\n\n useEffect(() => {\t\t\n\t\tif(props.piecesJointes) {\n\t\t\tconst types = props.piecesJointes.typeDeDocuments;\n\n\t\t\ttypes.map(d => {\n\t\t\t\td.code = d.code.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\")\n\n\t\t\t\tif(d.extraInfos && d.extraInfos.length > 0) {\n\t\t\t\t\td.extraInfos.map(e => {\n\t\t\t\t\t\te.code = e.code.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\");\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t\tif(d.choix && d.choix.length > 0) {\n\t\t\t\t\td.choix.map(f => {\n\t\t\t\t\t\tf.code = f.code.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\")\n\n\t\t\t\t\t\tif (f.extraInfos && f.extraInfos.length > 0) {\n\t\t\t\t\t\t\tf.extraInfos.map(g => g.code = g.code.normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\"))\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t});\n\t\t\tsetTypeDeDocuments(types);\n\t\t\tsetDocuments(props.piecesJointes.documents);\n\t\t\t\n\t\t\tprops.setCanGoNext(true);\n\t\t\tprops.setIsLoading(false);\n\t\t};\n }, [props.piecesJointes]);\n\n\n\n\t/*** POST */\n\n useImperativeHandle(ref, () => ({\n async validateForm(): Promise {\n\t\t\tlet isValid = await triggerValidation();\n\n\t\t\tif (isValid) {\n\t\t\t\tif (isDirty) {\n\t\t\t\t\t// Need to Update documents so format documents and files;\n\t\t\t\t\tlet modifiedDocuments: DocumentUploadInfoDto[] = [];\n\t\t\t\t\tlet files: IFile[] = [];\n\t\t\t\t\tconvertDocumentsAndFilesToDtosByRef(modifiedDocuments, files);\n\t\t\t\t\tprops.setIsLoading(true);\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait adelVersementClient.createOrUpdatePieceJointes(versement.id, modifiedDocuments.filter(d => d), files);\n\t\t\t\t\t\tconst pj = await versementClient.getPiecesJointesOnDemandeVersement(props.versementId);\n\t\t\t\t\t\tprops.setPiecesJointes(pj);\n\t\t\t\t\t\tprops.setIsLoading(false);\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\tif (err.exception?.message)\n\t\t\t\t\t\t\ttoast.error(err.exception.message);\n\t\t\t\t\t\telse if (err.message){\n\t\t\t\t\t\t\ttoast.error(t(err.message));\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\ttoast.error(t(\"errors.default\"));\n\t\t\t\t\t\tisValid = false;\n\t\t\t\t\t\tprops.setIsLoading(false);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn isValid;\n }\n }));\n\n\tconst convertDocumentsAndFilesToDtosByRef = (modifiedDocuments: DocumentUploadInfoDto[], files: IFile[]): void => {\n\n\t\tlet formFiles: Dictionary = getValues();\n\n\t\ttypeDeDocuments.forEach(typeDeDocument => {\n\t\t\t// TODO : Skip non dirty existing documents => strip them of everything except id and typeId\n\t\t\tlet correspondingDocument: DocumentDto;\n\n\t\t\tif (typeDeDocument.hasChoix) {\n\t\t\t\tcorrespondingDocument = documents.find(document => typeDeDocument.choix.some(choix => document.type.id === choix.id));\n\t\t\t} else {\n\t\t\t\tcorrespondingDocument = documents.find(document => document.type.id === typeDeDocument.id);\n\t\t\t}\n\n\t\t\tconst typeIdDoc = correspondingDocument \n\t\t\t\t\t\t\t\t? correspondingDocument.type.id \n\t\t\t\t\t\t\t\t: typeDeDocument.hasChoix \n\t\t\t\t\t\t\t\t\t? typeDeDocument.choix.find(choix => !choix.hasAttachment).id\n\t\t\t\t\t\t\t\t\t: undefined;\n\t\t\t// s'il n'a pas de document correspondant, lui donner l'id du type de document qui n'a pas de corresponding document\n\t\t\tlet modifiedDocument: DocumentUploadInfoDto;\n\n\t\t\tif(typeIdDoc) {\n\t\t\t\tmodifiedDocument = { typeId: typeIdDoc };\n\t\t\t}\n\n\t\t\tif (!isFieldDirty(typeDeDocument.code) && correspondingDocument?.id) {\n\t\t\t\tif (correspondingDocument?.extraInfo && correspondingDocument?.extraInfo.length > 0) {\n\t\t\t\t\tmodifiedDocument.extraInfos = {};\n\t\n\t\t\t\t\tcorrespondingDocument.extraInfo.forEach(extraInfo => {\n\t\t\t\t\t\tmodifiedDocument.extraInfos[extraInfo.code] = extraInfo.value;\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tmodifiedDocuments.push({ id: correspondingDocument.id, typeId: correspondingDocument.type.id, extraInfos: modifiedDocument.extraInfos });\n\t\t\t\treturn;\n\t\t\t} else {\n\t\t\t\t// Do nothing: id should not be specified for new or modified documents.\n\t\t\t}\n\n\t\t\t// If there's a corresponding file,\n\t\t\tlet correspondingFile = formFiles[typeDeDocument.code];\n\n\t\t\tif (typeDeDocument.hasChoix) {\n\t\t\t\ttypeDeDocument.choix.forEach(choix => {\n\t\t\t\t\tif (formFiles.hasOwnProperty(choix.code)) {\n\t\t\t\t\t\tcorrespondingFile = formFiles[choix.code];\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (correspondingFile && correspondingDocument) {\n\t\t\t\tlet modifiedFile: IFile = {\n\t\t\t\t\tcode: correspondingDocument.type.code,\n\t\t\t\t\tfile: correspondingFile[0]\n\t\t\t\t} as IFile;\n\n\t\t\t\tmodifiedDocument.partName = correspondingDocument.type.code;\n\n\t\t\t\tfiles.push(modifiedFile);\n\t\t\t}\n\n\t\t\tif (correspondingDocument?.extraInfo && correspondingDocument?.extraInfo.length > 0) {\n\t\t\t\tmodifiedDocument.extraInfos = {};\n\n\t\t\t\tcorrespondingDocument.extraInfo.forEach(extraInfo => {\n\t\t\t\t\tmodifiedDocument.extraInfos[extraInfo.code] = extraInfo.value;\n\t\t\t\t});\n\t\t\t}\n\t\t\tmodifiedDocuments.push(modifiedDocument);\n\t\t});\n\t}\n\n\tconst isFieldDirty = (fieldName: string): boolean => {\n\t\tif (dirtyFields.findIndex(dirtyField => dirtyField === fieldName) > -1) return true;\n\t\treturn false;\n\t}\n\n\n\n\t/****/\n\n\n\n\tconst handleDocumentChange = (modifiedDocument: DocumentDto, file?: File) => {\n\t\tlet updatedDocuments = upsertDocument(documents, modifiedDocument, file);\n\t\tsetDocuments(updatedDocuments);\n\t\tsetIsDirty(true);\n\t}\n\n\tconst upsertDocument = (documents: DocumentDto[], modifiedDocument: DocumentDto, file?: File): DocumentDto[] => {\n\t\tlet existingDocument = documents.find(document => document.type.id == modifiedDocument.type.id);\n\t\tif (!existingDocument) {\n\t\t\t// INSERT\n\t\t\treturn [...documents, modifiedDocument];\n\t\t} else {\n\t\t\t// UPDATE by merging properties using modification by reference ><\n\t\t\tif (modifiedDocument.fileName) existingDocument.fileName = modifiedDocument.fileName;\n\t\t\tif (modifiedDocument.extraInfo) existingDocument.extraInfo = modifiedDocument.extraInfo;\n\t\t\treturn documents;\n\t\t}\n\t}\n\n\tconst onReset = (fieldName: string,) => {\n\t\tsetValue(fieldName, '');\n\t\tsetDocuments(documents.filter(d => d.type.code != fieldName));\n\t\tif (dirtyFields.findIndex(field => field === fieldName) <= -1) {\n\t\t\tsetDirtyFields([...dirtyFields, fieldName]);\n\t\t}\n\t\tsetIsDirty(true);\n\t}\n\n\n\n return (\n\t\t
    \n\t\t\t
    \n\t\t\t\t

    \n\t\t\t\t\t{t(\"creationVersement.menu.piecesJointes\")}\n\t\t\t\t

    \n\t\t\t
    \n\t\t\t
    \n\t\t\t\t\n\t\t\t
    \n\t\t
    \n\t);\n})\n\nexport default PiecesJointes;\n","import React, { useState, useEffect, ForwardRefExoticComponent, PropsWithoutRef, RefAttributes, forwardRef, useMemo, useRef, useImperativeHandle } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { RouteComponentProps } from \"@reach/router\";\nimport { StepVersementRef } from '../CreationVersement';\nimport _ from 'lodash';\nimport { toast } from 'react-toastify';\nimport { useAxios } from '../../../../custom-hooks/useAxios';\nimport { useForm } from 'react-hook-form';\nimport { DonneesBancairesDto, StructureClient, VersementClient } from '../../../../services/generated/FrontOffice-api';\nimport DonneesBancaires from '../../../dossiers/creationDossier/DonneesBancaires';\nimport useValidation from '../../../../custom-hooks/useValidation';\nimport { AdelDossierClient, CreateOrUpdateDonneesBancairesDto } from '../../../../clients/AdelDossierClient';\nimport { DocumentWithFile } from 'adel-shared/dist/components/basics/InputFileSingle';\nimport DonneesBancaireReadonly from '../../../monCompte/bancaire/DonneesBancaireReadonly';\n\ninterface RibProps extends RouteComponentProps {\n dossierId: string;\n setCanGoNext: (value: boolean) => void;\n setIsFormValid: (value: boolean) => void;\n setIsLoading: (value: boolean) => void;\n}\n\nconst Rib: ForwardRefExoticComponent & RefAttributes> = forwardRef((props, ref) => {\n const { t } = useTranslation();\n\n const axiosInstance = useAxios();\n const versementClient = useMemo(() => { return new VersementClient(\"\", axiosInstance) }, [axiosInstance]);\n\tconst adelDossierClient = new AdelDossierClient(\"\", axiosInstance);\n\tconst form = useForm({});\n\tconst { getValues, setValue, triggerValidation } = form;\n\tconst [ribPJ, setRibPJ] = useState();\n\n\tconst { getRootValidator } = useValidation();\n\tconst donneesBancairesValidator = getRootValidator(\"CreateOrUpdateDonneesBancairesDto\");\n\tconst [defaultDonneesBancaires, setDefaultDonneesBancaires] = useState({});\n\tconst [isIbanValid, setIsIbanValid] = useState(false);\n\n\t\n\tuseEffect(() => {\n props.setCanGoNext(isIbanValid);\n }, [isIbanValid]);\n\n useEffect(() => {\t\t\n\t\t(async function () {\n\t\t\ttry {\n\t\t\t\tlet result = await versementClient.getInfoBancaireOnDemandeVersement(props.dossierId);\n\n\t\t\t\tif(result?.iban) {\n\t\t\t\t\tsetIsIbanValid(true);\n\t\t\t\t}\n\t\t\t\tsetDefaultDonneesBancaires(result);\n\t\t\t\tsetValue([\n\t\t\t\t\t{ \"iban\": result?.iban },\n\t\t\t\t\t{ \"bic\": result?.bic },\n\t\t\t\t\t{ \"banque\": result?.banque },\n\t\t\t\t\t{ \"line1\": result?.adresse?.line1 },\n\t\t\t\t\t{ \"line2\": result?.adresse?.line2 },\n\t\t\t\t\t{ \"codePostal\": result?.adresse?.codePostal },\n\t\t\t\t\t{ \"ville\": result?.adresse?.ville }\n\t\t\t\t]);\n\n\t\t\t\tif(result?.rib) {\n\t\t\t\t\tsetRibPJ({\n\t\t\t\t\t\tid: result.rib.id,\n\t\t\t\t\t\tfileName: result.rib.fileName || '',\n\t\t\t\t\t\turl: result.rib.uri\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tprops.setIsLoading(false);\n\t\t\t} catch (error) {\n\t\t\t\tif (error.exception?.message)\n\t\t\t\t\ttoast.error(error.exception.message);\n\t\t\t\telse\n\t\t\t\t\ttoast.error(t('common.api-error'));\n\t\t\t\tconsole.error(error);\n\t\t\t}\n\t\t})();\n }, []);\n\n\n\t/*** POST */\n\n useImperativeHandle(ref, () => ({\n async validateForm(): Promise {\n\t\t\tlet isValid = await triggerValidation();\n\n\t\t\tif(!defaultDonneesBancaires.canEditRib)\n\t\t\t\treturn true;\n\n\t\t\tif (isValid) {\n\t\t\t\tprops.setIsLoading(true);\n\t\t\t\tconst donneesBancairesValues: CreateOrUpdateDonneesBancairesDto = {\n\t\t\t\t\tiban: getValues().iban,\n\t\t\t\t\tbic: getValues().bic,\n\t\t\t\t\tbanque: getValues().banque,\n\t\t\t\t\tadresse: {\n\t\t\t\t\t\tline1: getValues().line1,\n\t\t\t\t\t\tline2: getValues().line2,\n\t\t\t\t\t\tcodePostal: getValues().codePostal,\n\t\t\t\t\t\tville: getValues().ville\n\t\t\t\t\t},\n\t\t\t\t\trib: {\n\t\t\t\t\t\tid: ribPJ?.file ? undefined : (ribPJ?.id || undefined),\n\t\t\t\t\t\tpartName: ribPJ?.file ? \"rib-PJ\" : undefined\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (donneesBancairesValues) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait adelDossierClient.createOrUpdateDonneesBancaires(donneesBancairesValues, ribPJ?.file && {\"rib-PJ\": ribPJ.file});\n\t\t\t\t\t\tprops.setIsLoading(false);\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\tif (err.exception?.message)\n\t\t\t\t\t\t\ttoast.error(err.exception.message);\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\ttoast.error(t(\"errors.default\"));\n\t\t\t\t\t\tisValid = false;\n\t\t\t\t\t\tprops.setIsLoading(false);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn isValid;\n }\n }));\n\n\n\n return (
    \n\t\t
    \n\t\t\t

    {t(\"creationVersement.menu.rib\")}

    \n\t\t
    \n\t\t
    \n\t\t{defaultDonneesBancaires.canEditRib\n\t\t\t? \n\t\t\t: \n\t\t}\n\t\t
    \n\t
    );\n})\n\nexport default Rib;\n","import InputReadOnly from \"adel-shared/dist/components/InputReadOnly\";\nimport React, {\n ForwardRefExoticComponent,\n PropsWithoutRef,\n RefAttributes,\n forwardRef,\n useContext,\n useEffect,\n useImperativeHandle,\n useState,\n RefObject,\n} from \"react\";\nimport { useTranslation } from 'react-i18next';\nimport { toast } from \"react-toastify\";\nimport { RouteComponentProps, navigate } from \"@reach/router\";\nimport { AppStateContext } from '../../../../context/AppContext';\nimport { useAxios } from \"../../../../custom-hooks/useAxios\";\nimport { RecapitulatifVersementDto, TypeVersement, VersementClient } from \"../../../../services/generated/FrontOffice-api\";\nimport { StepVersementRef } from '../CreationVersement';\n\ninterface RecapitulatifProps extends RouteComponentProps {\n setIsLoading: (value: boolean) => void;\n versementType: any\n}\n\nconst Recapitulatif: ForwardRefExoticComponent & RefAttributes> = forwardRef(({\n setIsLoading,\n versementType\n}, ref) => {\n const { t } = useTranslation();\n\tconst axiosInstance = useAxios();\n const versementClient = new VersementClient('', axiosInstance);\n const [recap, setRecap] = useState({});\n\tconst [context] = useContext(AppStateContext);\n \n useEffect(() => {\n (async() => {\n const result = await versementClient.getRecapitulatifDemandeVersement(context.currentEditingVersement.id);\n setRecap(result);\n })();\n }, []);\n \n useImperativeHandle(ref, () => ({\n async validateForm() {\n setIsLoading(true);\n try { \n await versementClient.soumettreVersement(context.currentEditingVersement.id);\n\t\t\t\tsetIsLoading(false);\n toast.success(t('creationVersement.recapitulatif.success'));\n navigate(`/Versements/${context.currentEditingVersement.originalDossierId}`);\n } catch(error) {\n\t\t\t\tsetIsLoading(false);\n toast.error(t('creationVersement.recapitulatif.error'));\n\t\t\t\tif (error.exception?.message)\n\t\t\t\t\ttoast.error(error.exception.message);\n }\n return true;\n }\n }));\n\n return (\n
    \n
    \n

    {t('creationVersement.recapitulatif.title')}

    \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n {versementType.current == TypeVersement.Solde &&
    \n \n
    }\n
    \n
    \n
    \n );\n});\n\nexport default Recapitulatif;","import { Link, navigate, RouteComponentProps, Router } from '@reach/router';\nimport React, { useState, useRef, useEffect, useContext, FunctionComponent } from \"react\";\nimport Structures from '../../../containers/structures/Structure';\nimport { AuthenticatedRoute } from \"../../../containers/AuthenticatedRoute\";\nimport { AppStateContext } from '../../../context/AppContext';\nimport { useTranslation } from 'react-i18next';\nimport { useAxios } from '../../../custom-hooks/useAxios';\nimport { DemandeVersementPieceJointeViewModelDto, DossierClient, EtapeDemandeVersement, TypeVersement, VersementClient } from '../../../services/generated/FrontOffice-api';\nimport Subtitles from '../../basics/Subtitles';\nimport FormButton from 'adel-shared/dist/components/basics/FormButton';\nimport ValidationPart1 from '../../dossiers/creationDossier/ValidationPart1';\nimport clsx from 'clsx';\nimport { useVersementSteps } from '../../../custom-hooks/useSteps';\nimport ValidationPart2 from '../../dossiers/creationDossier/ValidationPart2';\nimport { ActionTypeEnum } from '../../../context/ActionType';\nimport Loader from 'react-loader-spinner';\nimport InformationsDossier from './etapes/InformationsDossier';\nimport ContratsCachets from './etapes/ContratsCachets';\nimport Enseignants from './etapes/Enseignants';\nimport Trajets from './etapes/Trajets';\nimport PiecesJointes from './etapes/PiecesJointes';\nimport Rib from './etapes/Rib';\nimport Recapitulatif from './etapes/Recapitulatif';\nimport { CategorieDossier } from '../../../enums/Dossiers';\nimport { toast } from 'react-toastify';\n\nexport interface StepVersementRef {\n\tvalidateForm: () => Promise;\n}\n\ninterface CreationVersementProps extends RouteComponentProps {\n}\n\nconst CreationVersement: FunctionComponent = () => {\n\tconst { t } = useTranslation();\n\tconst axiosInstance = useAxios();\n\tconst [{\n\t\tcurrentEditingVersement,\n\t\tcurrentEditingDossier,\n\t\tversementStates\n\t}, dispatch] = useContext(AppStateContext);\n\tconst [isLoading, setIsLoading] = useState(false);\n\tconst [versementId] = useState(currentEditingVersement.id);\n\tconst [dossierId] = useState(currentEditingVersement.dossierId);\n\tconst [originalDossierId] = useState(currentEditingVersement.originalDossierId);\n\tconst versementType = useRef(currentEditingVersement.type);\n\tconst [isFormValid, setIsFormValid] = useState(false); // Pour les boutons Valider\n\tconst [isEditMode, setEditMode] = useState(false);\n\tconst categorieDossierId = useRef(currentEditingDossier.categorieId);\n\tconst codeCategorie = useRef(currentEditingDossier.categorieCode);\n\tconst versementClient = new VersementClient(\"\", axiosInstance);\n\tconst dossierClient = new DossierClient(\"\", axiosInstance);\n\n\t/** Validations, refs & Steps */\n\tconst { steps, getNextStep, mergeSteps, isHigherOrCurrentStep } = useVersementSteps();\n\tconst [canGoNext, setCanGoNext] = useState(false);\n\tconst [currentStep, setCurrentStep] = useState(EtapeDemandeVersement.ValidationStructure);\n\tconst [isRedirectedFromValidationStep, setIsRedirectedFromValidationStep] = useState(false);\n\tconst [stepsInitialized, setStepsInitialized] = useState(false);\n\tconst [piecesJointes, setPiecesJointes] = useState();\n\tconst dynamicStepsLoaded = steps.length > 3;\n\n\n\tconst handleMenuItemClick = (step: EtapeDemandeVersement) => {\n\t\treturn isHigherOrCurrentStep(step, currentStep) && navigateToStep(step);\n\t};\n\n\t// Initialize currentStep from context\n\tuseEffect(() => {\n\t\tif (!stepsInitialized && dynamicStepsLoaded) {\n\t\t\tif (versementId) {\n\t\t\t\tlet firstStepAfterVersementCreation = getNextStep(EtapeDemandeVersement.InformationsProjet);\n\t\t\t\tsetCurrentStep(versementStates[versementId] ? versementStates[versementId]?.currentStep : firstStepAfterVersementCreation);\n\t\t\t}\n\t\t\tsetStepsInitialized(true);\n\t\t}\n\t}, [dynamicStepsLoaded, stepsInitialized]);\n\n\tuseEffect(() => {\n\t\tif (categorieDossierId && codeCategorie && versementId) {\n\t\t\t(async() => {\n\t\t\t\ttry {\n\t\t\t\t\tlet steps = await versementClient.getEtapesDemandeVersement(categorieDossierId.current);\n\t\t\t\t\tconst pj = await versementClient.getPiecesJointesOnDemandeVersement(versementId);\n\n\t\t\t\t\tif (codeCategorie.current === CategorieDossier.InteretGeneral) {\n\t\t\t\t\t\t// Récupérer la liste d'artistes originelle\n\t\t\t\t\t\tconst artistes = await dossierClient.getArtistes(originalDossierId, \"\", \"\", 1, 1, true);\n\t\t\t\t\t\t// Cacher si IG sans artiste dans le dossier d'origine\t\t\t\n\t\t\t\t\t\tif(artistes.items.length === 0)\n\t\t\t\t\t\t\tsteps = steps.filter(e => e !== EtapeDemandeVersement.ValidationArtiste);\n\t\t\t\t\t}\n\n\t\t\t\t\tif(pj.typeDeDocuments.length === 0)\n\t\t\t\t\t\tsteps = steps.filter(e => e !== EtapeDemandeVersement.PieceJointe);\n\t\t\t\t\t\n\t\t\t\t\tmergeSteps(steps);\n\t\t\t\t\tsetPiecesJointes(pj);\n\n\t\t\t\t} catch (error) {\n\t\t\t\t\tif (error.exception?.message)\n\t\t\t\t\t\ttoast.error(error.exception.message);\n\t\t\t\t\telse\n\t\t\t\t\t\ttoast.error(t('common.api-error'));\n\t\t\t\t\tconsole.error(error)\n\t\t\t\t}\n\t\t\t})();\n\t\t}\n\t}, [categorieDossierId, versementId, codeCategorie]);\n\n\t/** View mode */\n\n\t/** Menu */\n\tconst renderMenu = () => {\n\t\treturn
      \n\t\t\t{dynamicStepsLoaded && <>\n\t\t\t\t handleMenuItemClick(EtapeDemandeVersement.ValidationStructure)}\n\t\t\t>\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t{t(\"creationVersement.menu.informations\")}\n\t\t\t\n\t\t\t handleMenuItemClick(EtapeDemandeVersement.ValidationDocumentStructure)}\n\t\t\t>\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t{t(\"creationVersement.menu.documents\")}\n\t\t\t\n\t\t\t handleMenuItemClick(EtapeDemandeVersement.InformationsProjet)}\n\t\t\t>\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t{t(\"creationVersement.menu.infosDossier\")}\n\t\t\t\n\t\t\t}\n\n\t\t\t{dynamicStepsLoaded && steps?.includes(EtapeDemandeVersement.ValidationArtiste) && (\n\t\t\t\t handleMenuItemClick(EtapeDemandeVersement.ValidationArtiste)}\n\t\t\t\t>\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t{t(\"creationVersement.menu.contratsCachets\")}\n\t\t\t\t\n\t\t\t)}\n\n\t\t\t{dynamicStepsLoaded && steps?.includes(EtapeDemandeVersement.ValidationEnseignant) && (\n\t\t\t\t handleMenuItemClick(EtapeDemandeVersement.ValidationEnseignant)}\n\t\t\t\t>\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t{t(\"creationVersement.menu.enseignants\")}\n\t\t\t\t\n\t\t\t)}\n\n\t\t\t{dynamicStepsLoaded && steps?.includes(EtapeDemandeVersement.ValidationDeplacement) && (\n\t\t\t\t handleMenuItemClick(EtapeDemandeVersement.ValidationDeplacement)}\n\t\t\t\t>\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t{t(\"creationVersement.menu.deplacements\")}\n\t\t\t\t\n\t\t\t)}\n\n\t\t\t{dynamicStepsLoaded && steps?.includes(EtapeDemandeVersement.PieceJointe) && (\n\t\t\t\t handleMenuItemClick(EtapeDemandeVersement.PieceJointe)}\n\t\t\t\t>\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t{t(\"creationVersement.menu.piecesJointes\")}\n\t\t\t\t\n\t\t\t)}\n\n\t\t\t{dynamicStepsLoaded && steps?.includes(EtapeDemandeVersement.ConfirmationRIB) && (\n\t\t\t\t handleMenuItemClick(EtapeDemandeVersement.ConfirmationRIB)}\n\t\t\t\t>\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t{t(\"creationVersement.menu.rib\")}\n\t\t\t\t\n\t\t\t)}\n\n\t\t\t{dynamicStepsLoaded && steps?.includes(EtapeDemandeVersement.Recapitulatif) && (\n\t\t\t\t handleMenuItemClick(EtapeDemandeVersement.Recapitulatif)}\n\t\t\t\t>\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t{t(\"creationVersement.menu.recap\")}\n\t\t\t\t\n\t\t\t)}\n\t\t
    \n\t}\n\n\n\tconst refs: { [key: string]: React.MutableRefObject; } = {\n\t\t[EtapeDemandeVersement.ValidationStructure]: useRef(null),\n\t\t[EtapeDemandeVersement.ValidationDocumentStructure]: useRef(null),\n\t\t[EtapeDemandeVersement.InformationsProjet]: useRef(null),\n\t\t[EtapeDemandeVersement.ValidationArtiste]: useRef(null),\n\t\t[EtapeDemandeVersement.ValidationEnseignant]: useRef(null),\n\t\t[EtapeDemandeVersement.ValidationDeplacement]: useRef(null),\n\t\t[EtapeDemandeVersement.PieceJointe]: useRef(null),\n\t\t[EtapeDemandeVersement.ConfirmationRIB]: useRef(null),\n\t\t[EtapeDemandeVersement.Recapitulatif]: useRef(null),\n\t};\n\n\tuseEffect(() => {\n\t\tif(stepsInitialized) {\n\t\t\tdispatch({ type: ActionTypeEnum.UPDATE_VERSEMENT_STATE, payload: {\n\t\t\t\tversementId,\n\t\t\t\tversementType: versementType.current,\n\t\t\t\tdossierId,\n\t\t\t\toriginalDossierId,\n\t\t\t\tstate: { currentStep: currentStep }\n\t\t\t}});\n\t\t\tnavigate(`/Versements/Creation/${currentStep}`);\n\t\t}\n\t}, [currentStep, stepsInitialized]);\n\n\tconst nextStep = async () => {\n\t\tif (refs[currentStep] && refs[currentStep].current) {\n\t\t\t\n\t\t\tconst isValid = await refs[currentStep].current.validateForm() == false ? false : true;\n\t\t\tconst nextStep = getNextStep(currentStep);\n\t\t\t// Si le currentStep est valide OU si le currentStep est valide et n'a pas de changement au niveau de ses documents \n\t\t\tif (isValid && !(currentStep == EtapeDemandeVersement.Recapitulatif)) {\n\t\t\t\tsetCurrentStep(nextStep);\n\t\t\t}\n\t\t\tif(!isValid){\n\t\t\t\tif (!(currentStep == EtapeDemandeVersement.InformationsProjet && codeCategorie?.current == \"PROMO\")){\n\t\t\t\t\ttoast.error(t(\"common.validation-error.message\"));\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tconsole.error(\"nextStep was called but references were not initialized. Please contact your Dev Team.\");\n\t\t}\n\t}\n\tconst navigateToStep = async (targetStep: EtapeDemandeVersement): Promise => {\n\t\tsetIsRedirectedFromValidationStep(false); // reinit value\n\t\t// If trying to access to current step : do nothing\n\t\tif (targetStep === currentStep) return;\n\n\t\t// If trying to access to already filled step, allow navigation\n\t\tif (isHigherOrCurrentStep(targetStep, currentStep)) {\n\t\t\tsetIsRedirectedFromValidationStep(true);\n\t\t\tsetCurrentStep(targetStep);\n\t\t\treturn;\n\t\t}\n\t\tawait nextStep();\n\t}\n\n\t/** View mode */\n\tconst goBackToViewMode = async () => {\n\t\tif (refs[currentStep]?.current) {\n\t\t\tlet isValid = await refs[currentStep].current.validateForm();\n\t\t\tif (isValid) setEditMode(false);\n\t\t}\n\t}\n\n\n\n\t// Validate button label\n\tconst labelValidateButton = () => {\n\t\tswitch(currentStep) {\n\t\t\tcase EtapeDemandeVersement.Recapitulatif:\n\t\t\t\treturn t('createFolder.buttons.submit');\n\t\t\tdefault:\n\t\t\t\treturn t('createFolder.buttons.next');\n\t\t}\n\t}\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{t(\"navigation.versements\")}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t|\n\t\t\t\t\t\t{currentEditingDossier.nom} - {currentEditingDossier.numero}\n\t\t\t\t\t\t|\n\t\t\t\t\t\t {t(\"navigation.demandeVersement\")} \n\t\t\t\t\t\n\n\t\t\t\t\t\n\n\t\t\t\t\t
    \n\t\t\t\t\t\t{renderMenu()}\n\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{steps?.includes(EtapeDemandeVersement.ValidationStructure) && (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{steps?.includes(EtapeDemandeVersement.ValidationDocumentStructure) && (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{steps?.includes(EtapeDemandeVersement.InformationsProjet) && (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{steps?.includes(EtapeDemandeVersement.ValidationArtiste) && (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{steps?.includes(EtapeDemandeVersement.ValidationEnseignant) && (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{steps?.includes(EtapeDemandeVersement.ValidationDeplacement) && (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{steps?.includes(EtapeDemandeVersement.PieceJointe) && (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{steps?.includes(EtapeDemandeVersement.ConfirmationRIB) && (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{steps?.includes(EtapeDemandeVersement.Recapitulatif) && (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{t('createFolder.form.mandatory-fields')}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{!isEditMode && (!isLoading\n\t\t\t\t\t\t\t\t\t? \n\t\t\t\t\t\t\t\t\t: )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t{isEditMode && (!isLoading\n\t\t\t\t\t\t\t\t\t? \n\t\t\t\t\t\t\t\t\t: )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
    \n\t\t
    \n\t);\n};\n\nexport default CreationVersement;","import { RouteComponentProps } from '@reach/router';\nimport React from \"react\";\nimport { useTranslation } from 'react-i18next';\nimport Footer from '../../basics/Footer';\nimport NoFolder from \"../../../assets/img/undraw-not-found.png\";\nimport StructuresHeader from '../dossiers/StructuresHeader';\n\ninterface StructureDisabledProps extends RouteComponentProps {\n}\n\nconst StructureDisabled: React.FC = ({ }) => {\n\tconst { t } = useTranslation();\n\n\treturn (\n\t\t
    \n\t\t\t
    \n\t\t\t\t\n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t

    {t(\"unauthorized-page.disabled.part1\")}

    \n\t\t\t\t\t

    {t(\"unauthorized-page.disabled.part2\")}

    \n\t\t\t\t\t

    {t(\"unauthorized-page.disabled.part3\")}

    \n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
    \n\t\t
    \n\t);\n};\n\nexport default StructureDisabled;","import { RouteComponentProps } from '@reach/router';\nimport React from \"react\";\nimport { useTranslation } from 'react-i18next';\nimport Footer from '../../basics/Footer';\nimport NoFolder from \"../../../assets/img/undraw-season-change-f-99-v.png\";\nimport StructuresHeader from '../dossiers/StructuresHeader';\n\ninterface StructurePendingProps extends RouteComponentProps {\n}\n\nconst StructurePending: React.FC = ({ }) => {\n\tconst { t } = useTranslation();\n\n\treturn (\n\t\t
    \n\t\t\t
    \n\t\t\t\t\n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t

    {t(\"unauthorized-page.pending.part1\")}

    \n\t\t\t\t\t

    {t(\"unauthorized-page.pending.part2\")} {t(\"unauthorized-page.pending.part3\")}

    \n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
    \n\t\t
    \n\t);\n};\n\nexport default StructurePending;","import React, { FunctionComponent, useState } from \"react\";\nimport { useTranslation } from 'react-i18next';\n\nimport WhiteLogo from \"../logo/WhiteLogo\";\nimport { navigate, RouteComponentProps, Router, useLocation, useParams } from \"@reach/router\";\nimport FormButton from 'adel-shared/dist/components/basics/FormButton';\nimport { UserClient } from '../../services/generated/FrontOffice-api';\nimport { useAxios } from '../../custom-hooks/useAxios';\nimport { toast } from 'react-toastify';\nimport Loader from 'react-loader-spinner';\n\ninterface ValidationMailProps extends RouteComponentProps {\n}\n\nconst ValidationMail:FunctionComponent = () => {\n\tconst { t } = useTranslation();\n\tconst location = useLocation();\n\tconst axiosInstance = useAxios();\n\tconst [isLoading, setIsLoading] = useState(false);\n\tconst userClient = new UserClient(\"\", axiosInstance);\n\n\tconst params = (new URL(location.href)).searchParams;\n\n\tconst submit = async() => {\n\t\ttry {\n\t\t\tsetIsLoading(true);\n\t\t\tawait userClient.changeUserEmail({newEmail: params.get('newEmail'), token: params.get('token') });\n\t\t\tsetIsLoading(false);\n\n\t\t\tif (params.get('redirectUrl'))\n\t\t\t\tnavigate(params.get('redirectUrl'));\n\t\t\telse\n\t\t\t\tnavigate('/Compte/Correspondant');\n\t\t\t\n\t\t\ttoast.success(t(\"validation-mail.success\"));\n\n\t\t} catch(error) {\n\t\t\tif (error.exception?.message)\n\t\t\t\ttoast.error(error.exception.message);\n\t\t\telse\n\t\t\t\ttoast.error(t(\"validation-mail.error\"));\n\t\t}\n\t}\n\n\treturn (\n\t\t
    \n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t

    {t(\"validation-mail.content\")}

    \n\t\t\t\t\t\t{isLoading\n\t\t\t\t\t\t\t? \n\t\t\t\t\t\t\t: \n\t\t\t\t\t\t}\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
    \n\t\t
    \n\t);\n}\n\nexport default ValidationMail;","import React from 'react';\r\nimport { ToastContainer } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\n\r\nconst Toaster = (): JSX.Element => {\r\n\treturn (\r\n\t\t\r\n\t);\r\n}\r\n\r\nexport default Toaster;","import {FunctionComponent, useContext, useEffect} from 'react';\nimport { PageVitrineClient } from '../services/generated/FrontOffice-api';\nimport { useAxios } from '../custom-hooks/useAxios';\nimport { ActionTypeEnum } from '../context/ActionType';\nimport { AppStateContext } from \"../context/AppContext\";\nimport { useUserContext } from '../context/context-helpers';\n\nconst AppInitialize: FunctionComponent = () => {\n\tconst axiosInstance = useAxios();\n\tconst userContext = useUserContext();\n\tconst pageVitrineClient = new PageVitrineClient(\"\", axiosInstance);\n\tconst [,dispatch] = useContext(AppStateContext);\n\n\tuseEffect(() => {\n\t\t(async() => {\n\t\t\tawait pageVitrineClient.getPagesVitrine().then(result => {\n\t\t\t\tdispatch({\n\t\t\t\t\ttype: ActionTypeEnum.GET_PAGES_VITRINE_SUCCESS,\n\t\t\t\t\tpayload: {\n\t\t\t\t\t\tpagesVitrine: result\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t})\n\t\t})();\n\t}, [userContext]);\n\n\treturn null;\n}\n\nexport default AppInitialize;\n","import React from 'react';\nimport { Router } from \"@reach/router\";\nimport './sass/App.scss';\nimport \"./components/fontawesome/Fontawesome\";\n\nimport Portal from './containers/Portal';\nimport Signup from './containers/Signup';\nimport AppContext from './context/AppContext';\nimport StructuresMailBoxContent from './components/structures/messagerie/MailBox';\nimport StructuresContent from './components/structures/dossiers/StructuresContent';\nimport CreationDossier from './components/dossiers/CreationDossier';\nimport DetailsDossier from './components/dossiers/DetailsDossier';\nimport MonCompte from './components/monCompte/MonCompte';\nimport PagesVitrines from './components/PagesVitrines/PagesVitrines';\nimport VersementsListe from './components/versements/VersementsListe';\nimport VersementStatut from './components/versements/VersementStatut';\nimport CreationVersement from './components/versements/creationVersement/CreationVersement';\nimport StructureDisabled from './components/structures/portail/StructureDisabled';\nimport StructurePending from './components/structures/portail/StructurePending';\nimport ValidationMail from './components/validationMail/ValidationMail';\nimport Toaster from './containers/Toaster';\nimport AppInitialize from './components/AppInitialize';\n\nconst App = () => {\n\treturn (\n\t\t\n\t\t\t
    \n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
    \n\t\t\t\n\t\t
    \n\t);\n}\n\nexport default App;\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n\twindow.location.hostname === 'localhost' ||\n\t// [::1] is the IPv6 localhost address.\n\twindow.location.hostname === '[::1]' ||\n\t// 127.0.0.0/8 are considered localhost for IPv4.\n\twindow.location.hostname.match(\n\t\t/^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n\t)\n);\n\ntype Config = {\n\tonSuccess?: (registration: ServiceWorkerRegistration) => void;\n\tonUpdate?: (registration: ServiceWorkerRegistration) => void;\n};\n\nexport function register(config?: Config) {\n\tif (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n\t\t// The URL constructor is available in all browsers that support SW.\n\t\tconst publicUrl = new URL(\n\t\t\tprocess.env.PUBLIC_URL,\n\t\t\twindow.location.href\n\t\t);\n\t\tif (publicUrl.origin !== window.location.origin) {\n\t\t\t// Our service worker won't work if PUBLIC_URL is on a different origin\n\t\t\t// from what our page is served on. This might happen if a CDN is used to\n\t\t\t// serve assets; see https://github.com/facebook/create-react-app/issues/2374\n\t\t\treturn;\n\t\t}\n\n\t\twindow.addEventListener('load', () => {\n\t\t\tconst swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n\t\t\tif (isLocalhost) {\n\t\t\t\t// This is running on localhost. Let's check if a service worker still exists or not.\n\t\t\t\tcheckValidServiceWorker(swUrl, config);\n\n\t\t\t\t// Add some additional logging to localhost, pointing developers to the\n\t\t\t\t// service worker/PWA documentation.\n\t\t\t\tnavigator.serviceWorker.ready.then(() => {\n\t\t\t\t\tconsole.log(\n\t\t\t\t\t\t'This web app is being served cache-first by a service ' +\n\t\t\t\t\t\t'worker. To learn more, visit https://bit.ly/CRA-PWA'\n\t\t\t\t\t);\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\t// Is not localhost. Just register service worker\n\t\t\t\tregisterValidSW(swUrl, config);\n\t\t\t}\n\t\t});\n\t}\n}\n\nfunction registerValidSW(swUrl: string, config?: Config) {\n\tnavigator.serviceWorker\n\t\t.register(swUrl)\n\t\t.then(registration => {\n\t\t\tregistration.onupdatefound = () => {\n\t\t\t\tconst installingWorker = registration.installing;\n\t\t\t\tif (installingWorker === null) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tinstallingWorker.onstatechange = () => {\n\t\t\t\t\tif (installingWorker.state === 'installed') {\n\t\t\t\t\t\tif (navigator.serviceWorker.controller) {\n\t\t\t\t\t\t\t// At this point, the updated precached content has been fetched,\n\t\t\t\t\t\t\t// but the previous service worker will still serve the older\n\t\t\t\t\t\t\t// content until all client tabs are closed.\n\t\t\t\t\t\t\tconsole.log(\n\t\t\t\t\t\t\t\t'New content is available and will be used when all ' +\n\t\t\t\t\t\t\t\t'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t// Execute callback\n\t\t\t\t\t\t\tif (config && config.onUpdate) {\n\t\t\t\t\t\t\t\tconfig.onUpdate(registration);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// At this point, everything has been precached.\n\t\t\t\t\t\t\t// It's the perfect time to display a\n\t\t\t\t\t\t\t// \"Content is cached for offline use.\" message.\n\t\t\t\t\t\t\tconsole.log('Content is cached for offline use.');\n\n\t\t\t\t\t\t\t// Execute callback\n\t\t\t\t\t\t\tif (config && config.onSuccess) {\n\t\t\t\t\t\t\t\tconfig.onSuccess(registration);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t};\n\t\t})\n\t\t.catch(error => {\n\t\t\tconsole.error('Error during service worker registration:', error);\n\t\t});\n}\n\nfunction checkValidServiceWorker(swUrl: string, config?: Config) {\n\t// Check if the service worker can be found. If it can't reload the page.\n\tfetch(swUrl, {\n\t\theaders: { 'Service-Worker': 'script' }\n\t})\n\t\t.then(response => {\n\t\t\t// Ensure service worker exists, and that we really are getting a JS file.\n\t\t\tconst contentType = response.headers.get('content-type');\n\t\t\tif (\n\t\t\t\tresponse.status === 404 ||\n\t\t\t\t(contentType != null && contentType.indexOf('javascript') === -1)\n\t\t\t) {\n\t\t\t\t// No service worker found. Probably a different app. Reload the page.\n\t\t\t\tnavigator.serviceWorker.ready.then(registration => {\n\t\t\t\t\tregistration.unregister().then(() => {\n\t\t\t\t\t\twindow.location.reload();\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\t// Service worker found. Proceed as normal.\n\t\t\t\tregisterValidSW(swUrl, config);\n\t\t\t}\n\t\t})\n\t\t.catch(() => {\n\t\t\tconsole.log(\n\t\t\t\t'No internet connection found. App is running in offline mode.'\n\t\t\t);\n\t\t});\n}\n\nexport function unregister() {\n\tif ('serviceWorker' in navigator) {\n\t\tnavigator.serviceWorker.ready\n\t\t\t.then(registration => {\n\t\t\t\tregistration.unregister();\n\t\t\t})\n\t\t\t.catch(error => {\n\t\t\t\tconsole.error(error.message);\n\t\t\t});\n\t}\n}\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './sass/reset/normalize.scss'\nimport './index.css';\nimport './i18n';\nimport App from './App';\nimport * as serviceWorker from './serviceWorker';\n\nReactDOM.render(, document.getElementById('root'));\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister();\n","module.exports = __webpack_public_path__ + \"static/media/AIDERES.dc208a5b.png\";","module.exports = __webpack_public_path__ + \"static/media/ASA.d2aeffc5.png\";","module.exports = __webpack_public_path__ + \"static/media/BO.f74006fc.png\";","module.exports = __webpack_public_path__ + \"static/media/DIFFAVIG.50ff6b6a.png\";","module.exports = __webpack_public_path__ + \"static/media/DIFFLIEU.4b180f8f.png\";","module.exports = __webpack_public_path__ + \"static/media/DRAMA.57f323c2.png\";","module.exports = __webpack_public_path__ + \"static/media/ECOLE.89756627.png\";","module.exports = __webpack_public_path__ + \"static/media/FEST.bed9b4eb.png\";","module.exports = __webpack_public_path__ + \"static/media/FILM.abd5f393.png\";","module.exports = __webpack_public_path__ + \"static/media/FORTI.f78d47bb.png\";","module.exports = __webpack_public_path__ + \"static/media/INT.c84e9c1e.png\";","module.exports = __webpack_public_path__ + \"static/media/INTGEN.8cc32015.png\";","module.exports = __webpack_public_path__ + \"static/media/MUSICAL.17b378ba.png\";","module.exports = __webpack_public_path__ + \"static/media/PROMO.8edf76ff.png\";","module.exports = __webpack_public_path__ + \"static/media/SOIRART.df1d0086.png\";","module.exports = __webpack_public_path__ + \"static/media/undraw-not-found.eb35803c.png\";"],"sourceRoot":""}