{"version":3,"sources":["features/auth/styles/loginForm.module.css","features/auth/styles/login.module.css","appsettings.js","utils/requestConstructor.ts","redux/users/usersSlice.ts","redux/groups/groupsSlice.ts","api_client/runtime.ts","api_client/models/AddClientAllClaimDto.ts","api_client/models/ApplicationRoleClaim.ts","api_client/models/ApplicationUserClaim.ts","api_client/models/ApplicationUserLogin.ts","api_client/models/ApplicationUserToken.ts","api_client/models/AttributeType.ts","api_client/models/ParticipantType.ts","api_client/models/ParticipantAttribute.ts","api_client/models/ParticipantAttributeValue.ts","api_client/models/ParticipantUserRole.ts","api_client/models/ParticipantRole.ts","api_client/models/ParticipantRoleClaim.ts","api_client/models/ParticipantUserClaim.ts","api_client/models/ClientAllClaim.ts","api_client/models/ParticipantClaim.ts","api_client/models/Participant.ts","api_client/models/ParticipantUser.ts","api_client/models/ApplicationUser.ts","api_client/models/ApplicationUserRole.ts","api_client/models/ApplicationRole.ts","api_client/models/AuthClaimReadDto.ts","api_client/models/ClaimDto.ts","api_client/models/ClaimValuesTree.ts","api_client/models/ClientAllClaimReadDto.ts","api_client/models/ClientClaimReadDto.ts","api_client/models/ClientReadDto.ts","api_client/models/GroupingInfo.ts","api_client/models/SortingInfo.ts","api_client/models/SummaryInfo.ts","api_client/models/DataSourceLoadOptions.ts","api_client/models/ExtensionDto.ts","api_client/models/GroupCreateDto.ts","api_client/models/GroupReadDto.ts","api_client/models/LoadResult.ts","api_client/models/ModuleWithExtensionsDto.ts","api_client/models/ParticipantCreateDto.ts","api_client/models/ParticipantReadDto.ts","api_client/models/ParticipantRoleReadDto.ts","api_client/models/ParticipantUserClaimReadDto.ts","api_client/models/ParticipantUserCreateDto.ts","api_client/models/ParticipantUserReadDto.ts","api_client/models/ParticipantUserUpdateDto.ts","api_client/models/RemoveClientAllClaimDto.ts","api_client/models/UserClaimAddDto.ts","api_client/models/UserClaimReadDto.ts","api_client/models/UserReadDto.ts","api_client/models/UserWithClaimsDto.ts","api_client/apis/AccountApi.ts","api_client/apis/ModulesApi.ts","api_client/apis/RestoreAccessApi.ts","api_client/models/ResetPasswordDto.ts","api_client/apis/UiApiAuthApi.ts","api_client/models/LoginDto.ts","api_client/models/GetUserInformationDto.ts","api_client/apis/UiApiClientsApi.ts","api_client/apis/UiApiGroupsApi.ts","api_client/apis/UiApiParticipantsApi.ts","api_client/apis/UiApiParticipantsUsersApi.ts","api_client/apis/UiApiUsersApi.ts","api_client/models/UserCreateDto.ts","api_client/models/UserUpdateDto.ts","features/auth/styles/restorePasswordForm.module.css","redux/clients/clientsActions.ts","pages/modules-list/modulesList.module.css","redux/users/api/index.ts","redux/users/actions/index.ts","i18n.ts","hooks/useApi.ts","redux/groups/actions/index.ts","redux/groups/api/index.ts","components/default-layout/components/UserMenu/usermenu.module.css","components/default-layout/defaultLayout.module.css","utils/ApiContext.ts","redux/modules/modulesActions.ts","api_client/models/ApiErrorResponseWithMessage.ts","utils/tryParseApiError.ts","features/participants/data/participantStore.ts","components/loader/Loader.tsx","utils/validateEmail.ts","utils/getClientIdFromModuleName.ts","redux/clients/clientsSlice.ts","components/loader/loader.module.css","utils/UISettingsContext.ts","features/auth/data/authStore.ts","features/auth/api/useAuthorization.ts","components/default-layout/components/UserMenu/UserMenu.tsx","components/LocalizationSelect/LocalizationSelect.tsx","components/default-layout/DefaultLayout.tsx","components/not-auth-route/not-auth-route.tsx","components/private-route/private-route.tsx","features/auth/api/useAuthStore.ts","features/auth/components/LockedError.tsx","features/auth/components/LoginForm.tsx","features/auth/components/UserImportError.tsx","assets/images/esia_logo.svg","features/auth/components/EsiaLoginButtons.tsx","assets/images/search_icon.svg","features/auth/components/Footer.tsx","pages/modules-list/ModulesList.tsx","features/auth/routes/Login.tsx","features/auth/components/RestorePasswordForm.tsx","features/auth/components/ChangePasswordForm.tsx","features/auth/routes/RestorePassword.tsx","shared/FallbackLoader.tsx","pages/user-claims/UserClaims.tsx","pages/pages.tsx","utils/cookie.ts","ConfigureSentry.ts","App.tsx","redux/modules/modulesSlice.ts","redux/participants/participantsSlice.ts","redux/groups/sagas/watchers/create.ts","redux/groups/sagas/watchers/delete.ts","redux/groups/sagas/watchers/getAll.ts","redux/groups/sagas/groupSaga.ts","redux/users/sagas/watchers/getById.ts","redux/users/sagas/watchers/getUsers.ts","redux/users/sagas/watchers/update.tsx","redux/users/sagas/usersSaga.ts","redux/rootSaga.ts","redux/store.ts","index.tsx"],"names":["module","exports","APIUrl","window","location","origin","BasePathUrl","AUTH_COOKIE","api","get","endpoint","params","url","URL","queryParams","search","URLSearchParams","toString","fetch","post","body","method","headers","JSON","stringify","delete","initialState","users","undefined","userToCreate","currentUser","currentUserRowKey","actions","getUsers","getUserById","createUser","deleteUser","updateUser","slice","createSlice","name","reducers","setUsersActionStatus","state","action","_action$payload","payload","status","setCurrentUser","setCurrentUserRowKey","setUsers","clearCurrentUser","setUserToCreateInfo","_objectSpread","userRoles","clearUserToCreateInfo","setUserToCreateRoles","setUserToCreateClaims","userClaims","_slice$actions","usersReducer","reducer","groups","groupToCreate","getAll","getById","create","update","removeUser","setGroupsActionStatus","setCurrentGroup","currentGroup","clearCurrentGroup","setGroups","data","map","createdDate","hidden","filterGroups","_state$groups","searchStr","regExp","RegExp","group","result","test","clearGroupsFilter","_state$groups2","setGroupToCreateInfo","setGroupToCreateModule","_action$payload2","clientId","getClientIdFromModuleName","alias","roleClaims","setGroupToCreateClaims","setGroupToCreateUsers","clearGroupToCreate","groupsReducer","BASE_PATH","replace","Configuration","configuration","arguments","length","_classCallCheck","_createClass","key","set","this","basePath","fetchApi","middleware","queryParamsStringify","querystring","username","password","apiKey","accessToken","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_context","prev","next","abrupt","stop","credentials","DefaultConfig","BaseAPI","_this","_ref2","_callee2","init","fetchParams","_iterator","_step","_middleware","response","_iterator2","_step2","_iterator3","_step3","_middleware2","_context2","_createForOfIteratorHelper","s","n","done","value","pre","t0","sent","t1","e","f","finish","t2","onError","error","clone","t3","t4","Error","FetchError","t5","t6","_x","_x2","apply","_next$middleware","concat","_len","preMiddlewares","Array","_key","middlewares","withMiddleware","_toConsumableArray","_len2","postMiddlewares","_key2","mime","jsonRegex","_request","_callee3","context","initOverrides","_yield$this$createFet","_context3","createFetchParams","ResponseError","_x3","_x4","_createFetchParams","_callee5","initOverrideFn","initParams","overriddenInit","_context5","path","query","Object","keys","assign","forEach","_callee4","_context4","FormData","isBlob","isJsonMime","_x5","_x6","constructor","Blob","_Error","_inherits","_super","_createSuper","msg","_this2","call","_wrapNativeSuper","_Error2","_super2","cause","_this3","RequiredError","_Error3","_super3","field","_this4","prefix","querystringSingleKey","filter","part","join","keyPrefix","fullKey","multiValue","singleValue","encodeURIComponent","String","Set","valueAsArray","from","Date","toISOString","JSONApiResponse","raw","transformer","jsonValue","_value","_callee6","_context6","json","VoidApiResponse","_value2","_callee7","_context7","TextApiResponse","_value4","_callee9","_context9","text","AddClientAllClaimDtoToJSON","ApplicationRoleClaimFromJSON","ignoreDiscriminator","ApplicationRoleFromJSON","ApplicationRoleClaimFromJSONTyped","ApplicationUserClaimFromJSON","ApplicationUserFromJSON","ApplicationUserClaimFromJSONTyped","ApplicationUserLoginFromJSON","ApplicationUserLoginFromJSONTyped","ApplicationUserTokenFromJSON","ApplicationUserTokenFromJSONTyped","AttributeTypeFromJSON","AttributeTypeFromJSONTyped","ParticipantTypeFromJSON","ParticipantAttributeFromJSON","ParticipantFromJSON","ParticipantTypeFromJSONTyped","ParticipantAttributeFromJSONTyped","ParticipantAttributeValueFromJSON","ParticipantAttributeValueFromJSONTyped","ParticipantUserRoleFromJSON","ParticipantRoleFromJSON","ParticipantUserFromJSON","ParticipantUserRoleFromJSONTyped","ParticipantRoleClaimFromJSON","ParticipantRoleFromJSONTyped","ClientAllClaimFromJSON","ParticipantRoleClaimFromJSONTyped","ParticipantUserClaimFromJSON","ParticipantUserClaimFromJSONTyped","ParticipantClaimFromJSON","ClientAllClaimFromJSONTyped","ParticipantClaimFromJSONTyped","ParticipantFromJSONTyped","ParticipantUserFromJSONTyped","ApplicationUserRoleFromJSON","ApplicationUserFromJSONTyped","ApplicationUserRoleFromJSONTyped","ApplicationRoleFromJSONTyped","AuthClaimReadDtoFromJSON","AuthClaimReadDtoFromJSONTyped","ClaimDtoFromJSON","ClaimDtoFromJSONTyped","ClaimDtoToJSON","ClaimValuesTreeFromJSON","ClaimValuesTreeFromJSONTyped","ClientAllClaimReadDtoFromJSON","ClientAllClaimReadDtoFromJSONTyped","ClientAllClaimReadDtoToJSON","ClientClaimReadDtoFromJSON","ClientClaimReadDtoFromJSONTyped","ClientReadDtoFromJSON","ClientReadDtoFromJSONTyped","GroupingInfoToJSON","SortingInfoToJSON","SummaryInfoToJSON","DataSourceLoadOptionsToJSON","ExtensionDtoFromJSON","ExtensionDtoFromJSONTyped","GroupCreateDtoToJSON","GroupReadDtoFromJSON","GroupReadDtoFromJSONTyped","LoadResultFromJSON","LoadResultFromJSONTyped","ModuleWithExtensionsDtoFromJSON","ModuleWithExtensionsDtoFromJSONTyped","ParticipantCreateDtoToJSON","ParticipantReadDtoFromJSON","ParticipantReadDtoFromJSONTyped","ParticipantRoleReadDtoFromJSON","ParticipantRoleReadDtoFromJSONTyped","ParticipantUserClaimReadDtoFromJSON","ParticipantUserClaimReadDtoFromJSONTyped","ParticipantUserCreateDtoToJSON","ParticipantUserReadDtoFromJSON","ParticipantUserReadDtoFromJSONTyped","ParticipantUserUpdateDtoToJSON","RemoveClientAllClaimDtoToJSON","UserClaimAddDtoToJSON","UserClaimReadDtoFromJSON","UserClaimReadDtoFromJSONTyped","UserReadDtoFromJSON","UserReadDtoFromJSONTyped","UserWithClaimsDtoFromJSON","UserWithClaimsDtoFromJSONTyped","ModulesApi","_runtime$BaseAPI","_apiModulesGetExtensionsGetRaw","requestParameters","queryParameters","headerParameters","request","runtime","_apiModulesGetExtensionsGet","_args2","apiModulesGetExtensionsGetRaw","_apiModulesGetModulesGetRaw","_apiModulesGetModulesGet","apiModulesGetModulesGetRaw","RestoreAccessApi","_uiApiRestoreAccessCheckRestoreCodePostRaw","_uiApiRestoreAccessCheckRestoreCodePost","uiApiRestoreAccessCheckRestoreCodePostRaw","_uiApiRestoreAccessResetPasswordPostRaw","_uiApiRestoreAccessResetPasswordPost","_args4","uiApiRestoreAccessResetPasswordPostRaw","_uiApiRestoreAccessSendRestoreCodePostRaw","_uiApiRestoreAccessSendRestoreCodePost","_args6","uiApiRestoreAccessSendRestoreCodePostRaw","UiApiAuthApi","_uiApiAuthLoginPostRaw","_uiApiAuthLoginPost","uiApiAuthLoginPostRaw","_uiApiAuthLogoutGetRaw","_uiApiAuthLogoutGet","uiApiAuthLogoutGetRaw","_uiApiAuthUserInfoPostRaw","_x7","_x8","_uiApiAuthUserInfoPost","uiApiAuthUserInfoPostRaw","_x9","_x10","_uiApiAuthUserPermissionsGetRaw","_x11","_uiApiAuthUserPermissionsGet","_callee8","_context8","uiApiAuthUserPermissionsGetRaw","_x12","UiApiClientsApi","_uiApiClientsGetRaw","_uiApiClientsGet","uiApiClientsGetRaw","_uiApiClientsGetAllClaimsIdClientGetRaw","_uiApiClientsGetAllClaimsIdClientGet","uiApiClientsGetAllClaimsIdClientGetRaw","_uiApiClientsGetClaimsIdGetRaw","_uiApiClientsGetClaimsIdGet","uiApiClientsGetClaimsIdGetRaw","_uiApiClientsGetClaimsTypesGetRaw","_uiApiClientsGetClaimsTypesGet","uiApiClientsGetClaimsTypesGetRaw","_x13","_x14","_uiApiClientsGetClaimsValuesDxPostRaw","_x15","_x16","_uiApiClientsGetClaimsValuesDxPost","_callee10","_context10","uiApiClientsGetClaimsValuesDxPostRaw","_x17","_x18","_uiApiClientsGetClaimsValuesGetRaw","_callee11","_context11","_x19","_x20","_uiApiClientsGetClaimsValuesGet","_callee12","_context12","uiApiClientsGetClaimsValuesGetRaw","_x21","_x22","UiApiGroupsApi","_uiApiGroupsAddPostRaw","_uiApiGroupsAddPost","uiApiGroupsAddPostRaw","_uiApiGroupsGetByClaimsPostRaw","_uiApiGroupsGetByClaimsPost","uiApiGroupsGetByClaimsPostRaw","_uiApiGroupsGroupIdDeleteRaw","_uiApiGroupsGroupIdDelete","uiApiGroupsGroupIdDeleteRaw","_uiApiGroupsIdClaimsDeleteRaw","_uiApiGroupsIdClaimsDelete","uiApiGroupsIdClaimsDeleteRaw","_uiApiGroupsIdClaimsGetRaw","_uiApiGroupsIdClaimsGet","uiApiGroupsIdClaimsGetRaw","_uiApiGroupsIdClaimsPostRaw","_uiApiGroupsIdClaimsPost","uiApiGroupsIdClaimsPostRaw","_x23","_x24","_uiApiGroupsIdGetRaw","_callee13","_context13","_x25","_x26","_uiApiGroupsIdGet","_callee14","_context14","uiApiGroupsIdGetRaw","_x27","_x28","_uiApiGroupsIdPostRaw","_callee15","_context15","_x29","_x30","_uiApiGroupsIdPost","_callee16","_context16","uiApiGroupsIdPostRaw","_x31","_x32","_uiApiGroupsIdUsersDeleteRaw","_callee17","_context17","_x33","_x34","_uiApiGroupsIdUsersDelete","_callee18","_context18","uiApiGroupsIdUsersDeleteRaw","_x35","_x36","_uiApiGroupsIdUsersGetRaw","_callee19","_context19","_x37","_x38","_uiApiGroupsIdUsersGet","_callee20","_context20","uiApiGroupsIdUsersGetRaw","_x39","_x40","_uiApiGroupsIdUsersPostRaw","_callee21","_context21","_x41","_x42","_uiApiGroupsIdUsersPost","_callee22","_context22","uiApiGroupsIdUsersPostRaw","_x43","_x44","_uiApiGroupsPostRaw","_callee23","_context23","_x45","_x46","_uiApiGroupsPost","_callee24","_args24","_context24","uiApiGroupsPostRaw","UiApiParticipantsApi","_uiApiParticipantsAddPostRaw","_uiApiParticipantsAddPost","uiApiParticipantsAddPostRaw","_uiApiParticipantsByUserGetRaw","_uiApiParticipantsByUserGet","uiApiParticipantsByUserGetRaw","_uiApiParticipantsDxPostRaw","_uiApiParticipantsDxPost","uiApiParticipantsDxPostRaw","_uiApiParticipantsGetParticipantsByClientDXPostRaw","_uiApiParticipantsGetParticipantsByClientDXPost","_args8","uiApiParticipantsGetParticipantsByClientDXPostRaw","_uiApiParticipantsIdClaimsAddPostRaw","_uiApiParticipantsIdClaimsAddPost","uiApiParticipantsIdClaimsAddPostRaw","_uiApiParticipantsIdClaimsGetRaw","_uiApiParticipantsIdClaimsGet","uiApiParticipantsIdClaimsGetRaw","_uiApiParticipantsIdClaimsRemoveDeleteRaw","_uiApiParticipantsIdClaimsRemoveDelete","uiApiParticipantsIdClaimsRemoveDeleteRaw","_uiApiParticipantsIdDeleteRaw","_uiApiParticipantsIdDelete","uiApiParticipantsIdDeleteRaw","_uiApiParticipantsIdGetRaw","_uiApiParticipantsIdGet","uiApiParticipantsIdGetRaw","_uiApiParticipantsIdPostRaw","_uiApiParticipantsIdPost","uiApiParticipantsIdPostRaw","_uiApiParticipantsIdUsersAddPostRaw","_uiApiParticipantsIdUsersAddPost","uiApiParticipantsIdUsersAddPostRaw","_uiApiParticipantsIdUsersGetRaw","_uiApiParticipantsIdUsersGet","uiApiParticipantsIdUsersGetRaw","_uiApiParticipantsIdUsersRemoveDeleteRaw","_callee25","_context25","_uiApiParticipantsIdUsersRemoveDelete","_callee26","_context26","uiApiParticipantsIdUsersRemoveDeleteRaw","_uiApiParticipantsIdUsersUpdatePostRaw","_callee27","_context27","_uiApiParticipantsIdUsersUpdatePost","_callee28","_context28","uiApiParticipantsIdUsersUpdatePostRaw","_x47","_x48","UiApiParticipantsUsersApi","_uiApiParticipantsUsersPUserIdClaimsAvailableGetRaw","_uiApiParticipantsUsersPUserIdClaimsAvailableGet","uiApiParticipantsUsersPUserIdClaimsAvailableGetRaw","_uiApiParticipantsUsersPUserIdClaimsGetRaw","_uiApiParticipantsUsersPUserIdClaimsGet","uiApiParticipantsUsersPUserIdClaimsGetRaw","_uiApiParticipantsUsersUserIdAdminPermissionsPostRaw","_uiApiParticipantsUsersUserIdAdminPermissionsPost","uiApiParticipantsUsersUserIdAdminPermissionsPostRaw","_uiApiParticipantsUsersUserIdClaimsAddPostRaw","_uiApiParticipantsUsersUserIdClaimsAddPost","uiApiParticipantsUsersUserIdClaimsAddPostRaw","_uiApiParticipantsUsersUserIdClaimsRemoveDeleteRaw","_uiApiParticipantsUsersUserIdClaimsRemoveDelete","uiApiParticipantsUsersUserIdClaimsRemoveDeleteRaw","_uiApiParticipantsUsersUserIdGetRaw","_uiApiParticipantsUsersUserIdGet","uiApiParticipantsUsersUserIdGetRaw","_uiApiParticipantsUsersUserIdGroupsAddPostRaw","_uiApiParticipantsUsersUserIdGroupsAddPost","uiApiParticipantsUsersUserIdGroupsAddPostRaw","_uiApiParticipantsUsersUserIdGroupsAvailableGetRaw","_uiApiParticipantsUsersUserIdGroupsAvailableGet","uiApiParticipantsUsersUserIdGroupsAvailableGetRaw","_uiApiParticipantsUsersUserIdGroupsGetRaw","_uiApiParticipantsUsersUserIdGroupsGet","uiApiParticipantsUsersUserIdGroupsGetRaw","_uiApiParticipantsUsersUserIdGroupsRemoveDeleteRaw","_uiApiParticipantsUsersUserIdGroupsRemoveDelete","uiApiParticipantsUsersUserIdGroupsRemoveDeleteRaw","UiApiUsersApi","_uiApiUsersCreatePostRaw","_uiApiUsersCreatePost","uiApiUsersCreatePostRaw","_uiApiUsersCurrentGetRaw","_uiApiUsersCurrentGet","uiApiUsersCurrentGetRaw","_uiApiUsersGetRaw","_uiApiUsersGet","uiApiUsersGetRaw","_uiApiUsersGetAllUsersClaimsPostRaw","_uiApiUsersGetAllUsersClaimsPost","uiApiUsersGetAllUsersClaimsPostRaw","_uiApiUsersGetByClaimsPostRaw","_uiApiUsersGetByClaimsPost","uiApiUsersGetByClaimsPostRaw","_uiApiUsersGetUserParticipantsGetRaw","_uiApiUsersGetUserParticipantsGet","uiApiUsersGetUserParticipantsGetRaw","_uiApiUsersGetUsersByClientDXPostRaw","_uiApiUsersGetUsersByClientDXPost","_args14","uiApiUsersGetUsersByClientDXPostRaw","_uiApiUsersIdClaimsDeleteRaw","_uiApiUsersIdClaimsDelete","uiApiUsersIdClaimsDeleteRaw","_uiApiUsersIdClaimsGetRaw","_uiApiUsersIdClaimsGet","uiApiUsersIdClaimsGetRaw","_uiApiUsersIdClaimsPostRaw","_uiApiUsersIdClaimsPost","uiApiUsersIdClaimsPostRaw","_uiApiUsersIdGetRaw","_uiApiUsersIdGet","uiApiUsersIdGetRaw","_uiApiUsersIdGroupsDeleteRaw","_uiApiUsersIdGroupsDelete","uiApiUsersIdGroupsDeleteRaw","_uiApiUsersIdGroupsGetRaw","_uiApiUsersIdGroupsGet","uiApiUsersIdGroupsGetRaw","_uiApiUsersIdGroupsPostRaw","_uiApiUsersIdGroupsPost","uiApiUsersIdGroupsPostRaw","_uiApiUsersIdPostRaw","_callee29","_context29","_x49","_x50","_uiApiUsersIdPost","_callee30","_context30","uiApiUsersIdPostRaw","_x51","_x52","_uiApiUsersPostRaw","_callee31","_context31","_x53","_x54","_uiApiUsersPost","_callee32","_args32","_context32","uiApiUsersPostRaw","getClients","createAsyncThunk","res","ok","Promise","reject","statusText","getClientClaims","getClaims","getClientsRes","clients","claims","_ref4","client","_ref","id","getUserClaims","_ref3","email","firstName","lastName","middleName","phoneNumber","userId","updateUserParams","updateUserResponse","resetPassword","emailConfirmed","usersApi","GET_USERS","GET_USER_BY_ID","UPDATE_USER","usersActions","type","supportedLanguages","i18nInitOptions","resources","ru","static","staticRU","common","commonRU","loginPage","loginPageRU","usersModule","usersModuleRU","rolesModule","rolesModuleRU","participantsModule","participantsModuleRU","claimsModule","claimsModuleRU","apiExceptions","apiExceptionsRU","en","staticEN","commonEN","loginPageEN","usersModuleEN","rolesModuleEN","participantsModuleEN","claimsModuleEN","apiExceptionsEN","kk","staticKK","commonKK","loginPageKK","usersModuleKK","rolesModuleKK","participantsModuleKK","claimsModuleKK","apiExceptionsKK","ns","supportedLngs","fallbackLng","debug","interpolation","escapeValue","react","useSuspense","i18n","use","LanguageDetector","initReactI18next","document","documentElement","lang","language","on","lng","setAttribute","useApi","useContext","ApiContext","DELETE_GROUP","GET_GROUPS","CREATE_GROUP","groupsActions","getAllGroups","getGroupById","res2","groupUsers","updateGroup","idClient","roleId","reqBody","_objectWithoutProperties","_excluded","createGroup","_ref6","_ref5","usersRange","_excluded2","user","userName","midleName","role","_role$role","push","deleteGroup","_ref7","removeUserFromGroup","_ref9","_ref8","roleName","roles","updateParams","_ref10","groupsApi","React","createContext","getModules","ApiErrorResponseWithMessageFromJSON","ApiErrorResponseWithMessageFromJSONTyped","getErrorMessage","o","errorName","exists","t","tryParseApiError","_getErrorMessage","jsonError","typedApiError","textError","_result","parse","_unused2","loading","getInfo","updateInfo","removeUsers","addUsers","updateUsers","info","editMode","setLoading","isLoading","setEditMode","setError","clearStore","setInfo","setClaims","_state$data$users","ids","u","some","_state$data$users2","usersToUpdate","participantReducer","participantStore","antIcon","_jsx","LoadingOutlined","style","fontSize","spin","Loader","Row","className","loader","children","Spin","size","indicator","validateEmail","re","toLowerCase","currentClientClaims","actionStatus","isFetching","isError","errorMessage","getClaimsByRole","clearCurrentClientClaims","extraReducers","builder","addCase","pending","fulfilled","rejected","clientsReducer","UISettingsContext","isAuth","signIn","signOut","getCurrentUser","code","lockoutEnd","setIsAuth","setUser","setUserClaims","setRestore","restore","authReducer","authStore","useAuthorization","_useApi","authApi","dispatch","useDispatch","beginLoading","endLoading","err","uiApiAuthUserPermissionsGet","message","getUserInfo","uiApiUsersCurrentGet","model","urlParams","returnUrl","uiApiAuthLoginPost","loginDto","uiApiAuthLogoutGet","useSelector","auth","shallowEqual","UserMenu","_useAuthorization","useTranslation","userFirstName","userLastName","userMiddleName","menu","_jsxs","Menu","Item","icon","SettingOutlined","disabled","onClick","LogoutOutlined","header_user","header_user_info","header_user_info_fullName","header_user_info_userName","Dropdown","overlay","trigger","header_avatar","Avatar","shape","UserOutlined","LocalizationSelect","_ref$languageView","languageView","selectProps","_useTranslation","languageItems","lngKey","label","Select","defaultValue","options","onChange","changeLanguage","locale","Header","Layout","Content","Sider","DefaultLayout","props","_useState","useState","_useState2","_slicedToArray","selectedItems","setSelectedItems","useLocation","_useContext","logo","logoSmall","useEffect","currentPage","pathname","matchedStr","match","substring","padding","justify","align","Col","header_logo","header_logo__icon","src","alt","header_logo__label","display","alignItems","gap","flexWrap","width","mode","theme","height","boxSizing","paddingTop","selectedKeys","Link","to","TeamOutlined","BankOutlined","ToolOutlined","content","content__component","NotAuthRoute","rest","Route","render","Redirect","PrivateRoute","LockedError","flexFlow","Alert","description","Trans","i18nKey","components","afterTimeWrapper","values","afterTime","toLocaleTimeString","Button","marginTop","LoginForm","_ref$loading","extra","onSignIn","showRegistrationBtn","history","useHistory","extraItems","setExtraItems","_useState3","_useState4","loginErrorMessage","setLoginErrorMessage","_useState5","_useState6","passwordErrorMessage","setPasswordErrorMessage","_Form$useForm","Form","useForm","form","loginValue","useWatch","passwordValue","_useState7","login","_useState8","firstRenderFormFields","setFirstRenderFormFields","refLogin","useRef","_useState9","_useState10","visiblePassword","setVisiblePassword","_useState11","_useState12","readonly","setReadonly","setTimeout","_refLogin$current","current","focus","configureExtraItems","handleOnRegisterClick","useCallback","handleOnRestorePasswordClick","isArray","el","i","form__item","margin__less","Icon","useMemo","EyeOutlined","prevState","EyeInvisibleOutlined","layout","onFinish","trimmedValues","userData","handledValues","trim","trimAuthData","requiredMark","rules","required","validateStatus","help","Input","form__input","placeholder","ref","margin__more","form__input__password","form__item__icon","form__href","htmlType","block","form__button","UserImportError","_Fragment","margin","link","target","rel","href","changePasswordLink","EsiaLoginButtons","commonAuthRequired","setCommonAuthRequired","setReturnUrl","searchParams","idx1","indexOf","rUrl","esia_logo","form__button__esiaIcon","Footer","footer","info__select","font__gray","font__small","font__blue","withRouter","modules","setModules","searchValue","setSearchValue","inner","externalModules","console","container","container__title","container__search","search_icon","separator","modulesList","_modules","elem","element","modulesList__item","formUrl","item__iconBlock","item__iconImg","process","item__name","renderModules","Login","isEsiaEnabled","setEsiaEnabled","setShowRegistrationBtn","getConfiguration","config","initialize","esiaEnabled","login__header","login__header__logo","login__header__title","RestorePasswordForm","_ref$checkCodeStep","checkCodeStep","changeStep","restoreAccessApi","codeValue","codeErrorMessage","setCodeErrorMessage","counter","setCounter","resendCodeButton","setResendCodeButton","timer","clearTimeout","requestCode","textParseError","uiApiRestoreAccessSendRestoreCodePost","checkCode","uiApiRestoreAccessCheckRestoreCodePost","token","ResendButton","restore_code_timer","margin__middle","time","restore_code_help_text","ChangePasswordForm","newPasswordValue","confirmPasswordValue","disabledUpdatePassword","changePassword","uiApiRestoreAccessResetPasswordPost","resetPasswordDto","newPassword","visibilityIconRender","visible","Password","iconRender","autoComplete","RestorePassword","step","setStep","restore__header","goBack","goBack__icon","restore__header__title","restore__content","restore_help_text","useStyles","createUseStyles","widht","justifyContent","opacity","FallbackLoader","styles","UserClaims","store","createStore","loadUrl","DataGrid","maxHeight","showBorders","showRowLines","showColumnLines","showColumnHeaders","remoteOperations","allowColumnReordering","allowColumnResizing","columnResizingMode","columnAutoWidth","columnMinWidth","dataSource","ColumnChooser","allowSearch","enabled","Scrolling","StateStoring","storageKey","SearchPanel","highlightSearchText","highlightCaseSensitive","FilterRow","HeaderFilter","Grouping","contextMenuEnabled","expandMode","GroupPanel","emptyPanelText","Column","dataField","dataType","caption","Toolbar","Typography","Title","ellipsis","rows","level","Participants","lazy","Participant","CreateGroup","Group","Groups","CreateUser","UserContainer","Users","ParticipantUserContainer","routes","exact","ChildComponent","Suspense","fallback","route","getCookie","matches","cookie","decodeURIComponent","configureSentry","integrations","BrowserTracing","Replay","tracesSampleRate","replaysSessionSampleRate","replaysOnErrorSampleRate","dsn","initialScope","tags","withProfiler","isInit","setInit","uisettings","setUisettings","loadMessages","ruMessages","enMessages","kkMessages","antLocale","antEnUS","antKkKZ","antRuRu","getUserAccess","getUISettings","cache","authCookie","then","isAllowed","finally","ErrorBoundary","Provider","ConfigProvider","clientsApi","participantsApi","participantsUsersApi","modulesApi","Router","Switch","ModulesList","index","modulesReducer","participants","participantToCreateClientId","participantToCreate","managedClaims","setParticipantsActionStatus","setParticipants","setCurrentParticipant","currentParticipant","setParticipantToCreateInfo","setParticipantToCreateClientId","setParticipantToCreateUsers","setParticipantToCreateManagedClaims","clearParticipantToCreate","participantsReducer","createGroupWorker","_marked2","createGroupWatcher","put","notification","success","_marked","takeEvery","deleteGroupWatcher","getGroupsWorker","getGroupsWatcher","groupSaga","spawn","getUserWorker","getUserByIdWatcher","getUsersWorker","getUsersWatcher","updateUserWorker","updateUserWatcher","open","close","usersSaga","rootSaga","sagaMiddleware","createSagaMiddleware","configureStore","participant","getDefaultMiddleware","run","ReactDOM","StrictMode","App","getElementById"],"mappings":"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","file":"static/js/main.bca1a4d5.chunk.js","sourcesContent":["// extracted by mini-css-extract-plugin\nmodule.exports = {\"form\":\"loginForm_form__19_-S\",\"form__item\":\"loginForm_form__item__2UrzO\",\"form__input\":\"loginForm_form__input__mqYaV\",\"form__item__icon\":\"loginForm_form__item__icon__1KgXW\",\"form__input__password\":\"loginForm_form__input__password__1AjnQ\",\"margin__more\":\"loginForm_margin__more__1QK-u\",\"margin__middle\":\"loginForm_margin__middle__1_EWo\",\"margin__less\":\"loginForm_margin__less__2ilQ6\",\"form__button\":\"loginForm_form__button__2pd6A\",\"form__button__esiaIcon\":\"loginForm_form__button__esiaIcon__1nU12\",\"form__href\":\"loginForm_form__href__2NhXP\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"login_container__3vmbt\",\"login\":\"login_login__3Hqan\",\"info__select\":\"login_info__select__1xheC\",\"restore\":\"login_restore__1yoAd\",\"restore__content\":\"login_restore__content__uzVvq\",\"restore__header\":\"login_restore__header__2iPSB\",\"restore__header__title\":\"login_restore__header__title__cDDs4\",\"goBack\":\"login_goBack__1Z2Vm\",\"goBack__icon\":\"login_goBack__icon__34T-x\",\"restore_help_text\":\"login_restore_help_text__22a2d\",\"login__header\":\"login_login__header__2nI9M\",\"login__header__logo\":\"login_login__header__logo__30vgY\",\"login__header__title\":\"login_login__header__title__3Fhv6\",\"login__action__text\":\"login_login__action__text__34uf6\",\"login__action__button\":\"login_login__action__button__2CaMm\",\"footer\":\"login_footer__2PM6T\",\"font__small\":\"login_font__small__1sjO-\",\"font__blue\":\"login_font__blue__13GKG\",\"font__gray\":\"login_font__gray__QHk-R\"};","const APIUrl = window.location.origin;\nconst BasePathUrl = \"/lk/auth\";\nconst AUTH_COOKIE = \"idsrv.session\";\n\nexport {BasePathUrl, APIUrl, AUTH_COOKIE};\n","import {SagaReturnType} from \"redux-saga/effects\";\nimport {APIUrl, BasePathUrl} from \"../appsettings\";\n\ninterface GetParams {\n queryParams: any;\n}\n\ninterface POSTParams {\n body?: any;\n queryParams?: any;\n}\n\nexport type ApiGet = SagaReturnType\nexport type ApiPost = SagaReturnType\n\nfunction get(endpoint: string, params?: GetParams) {\n const url = new URL(BasePathUrl + \"/\" + endpoint, APIUrl);\n\n if (params) {\n const {queryParams} = params;\n url.search = new URLSearchParams(queryParams).toString();\n };\n\n return fetch(url.toString());\n}\n\nfunction post(endpoint: string, params?: POSTParams) {\n const url = new URL(BasePathUrl + \"/\" + endpoint, APIUrl);\n\n if (params && params.queryParams) {\n const {queryParams} = params;\n url.search = new URLSearchParams(queryParams).toString();\n };\n\n if (params && params.body) {\n const {body} = params;\n return fetch(url.toString(), {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify(body)\n });\n }\n\n return fetch(url.toString(), {\n method: \"POST\"\n });\n}\n\nfunction deleteReq(endpoint: string, params?: POSTParams) {\n const url = new URL(BasePathUrl + \"/\" + endpoint, APIUrl);\n\n if (params && params.queryParams) {\n const {queryParams} = params;\n url.search = new URLSearchParams(queryParams).toString();\n };\n\n if (params && params.body) {\n const {body} = params;\n return fetch(url.toString(), {\n method: \"DELETE\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify(body)\n });\n }\n\n return fetch(url.toString(), {\n method: \"DELETE\"\n });\n}\n\nexport const api = {\n get,\n post,\n delete: deleteReq\n};\n","import {createSlice, PayloadAction} from \"@reduxjs/toolkit\";\nimport {ApplicationRole, ApplicationUser} from \"../../model-types/modelTypes\";\nimport {ActionStatus} from \"./../../utils/types\";\n\nexport interface UserToCreate {\n username: string;\n email: string;\n firstName: string;\n password: string;\n lastName: string;\n midleName?: string;\n phoneNumber: string;\n clientIds?: string[];\n userRoles: ApplicationRole[];\n userClaims: any[];\n}\ninterface InitialState {\n users?: ApplicationUser[];\n userToCreate: Partial;\n currentUser?: ApplicationUser;\n currentUserRowKey: number;\n actions: {\n getUserById: ActionStatus;\n getUsers: ActionStatus;\n deleteUser: ActionStatus;\n createUser: ActionStatus;\n updateUser: ActionStatus;\n };\n}\n\nconst initialState: InitialState = {\n users: undefined,\n userToCreate: {},\n currentUser: undefined,\n currentUserRowKey: 0,\n actions: {\n getUsers: \"idle\",\n getUserById: \"idle\",\n createUser: \"idle\",\n deleteUser: \"idle\",\n updateUser: \"idle\"\n }\n};\n\nconst slice = createSlice({\n name: \"users\",\n initialState,\n reducers: {\n setUsersActionStatus(\n state,\n action: PayloadAction<{\n name: keyof typeof initialState.actions;\n status: ActionStatus;\n }>\n ) {\n const {status, name} = action.payload;\n state.actions[name] = status;\n },\n setCurrentUser(state, action: PayloadAction) {\n state.currentUser = action.payload;\n },\n setCurrentUserRowKey(state, action: PayloadAction) {\n state.currentUserRowKey = action.payload;\n },\n setUsers(state, action: PayloadAction) {\n state.users = action.payload;\n },\n clearCurrentUser(state) {\n state.currentUser = undefined;\n },\n setUserToCreateInfo(\n state,\n action: PayloadAction>\n ) {\n state.userToCreate = {\n ...action.payload,\n userRoles: []\n };\n },\n clearUserToCreateInfo(state, action: PayloadAction) {\n state.userToCreate = {};\n },\n setUserToCreateRoles(state, action: PayloadAction) {\n state.userToCreate.userRoles = action.payload;\n },\n setUserToCreateClaims(state, action: PayloadAction) {\n state.userToCreate.userClaims = action.payload;\n }\n }\n});\n\nexport const {\n clearUserToCreateInfo,\n setUserToCreateInfo,\n setUserToCreateRoles,\n setUserToCreateClaims,\n setCurrentUser,\n setCurrentUserRowKey,\n setUsersActionStatus,\n clearCurrentUser,\n setUsers\n} = slice.actions;\n\nconst usersReducer = slice.reducer;\nexport default usersReducer;\n","import {createSlice, PayloadAction} from \"@reduxjs/toolkit\";\nimport {ModuleWithExtensionsDto} from \"../../api_client\";\nimport {ApplicationRole, ApplicationUser} from \"../../model-types/modelTypes\";\nimport {getClientIdFromModuleName} from \"../../utils/getClientIdFromModuleName\";\nimport {ActionStatus} from \"../../utils/types\";\n\nexport interface Group extends ApplicationRole {\n hidden: boolean;\n}\n\ninterface GroupToCreateClaim {\n claimType: string;\n claimValue: string;\n}\nexport interface GroupToCreate {\n name?: string;\n description?: string;\n clientId?: string;\n module?: ModuleWithExtensionsDto;\n roleClaims?: GroupToCreateClaim[];\n users?: ApplicationUser[];\n}\n\nexport interface CurrentGroup extends ApplicationRole {\n users: ApplicationUser[];\n}\n\ninterface InitialState {\n groups?: Group[];\n currentGroup?: CurrentGroup;\n groupToCreate: GroupToCreate;\n actions: {\n getAll: ActionStatus;\n getById: ActionStatus;\n removeUser: ActionStatus;\n create: ActionStatus;\n update: ActionStatus;\n delete: ActionStatus;\n }\n}\n\nconst initialState: InitialState = {\n groups: undefined,\n groupToCreate: {},\n actions: {\n getAll: \"idle\",\n getById: \"idle\",\n create: \"idle\",\n update: \"idle\",\n delete: \"idle\",\n removeUser: \"idle\"\n }\n};\n\nconst slice = createSlice({\n name: \"groups\",\n initialState,\n reducers: {\n setGroupsActionStatus(\n state,\n action: PayloadAction<{\n name: keyof typeof initialState.actions;\n status: ActionStatus;\n }>\n ) {\n const {status, name} = action.payload;\n state.actions[name] = status;\n },\n setCurrentGroup(state, action: PayloadAction) {\n state.currentGroup = action.payload;\n },\n clearCurrentGroup(state) {\n state.currentGroup = undefined;\n },\n setGroups(state, action: PayloadAction<{data: ApplicationRole[]}>) {\n state.groups = action.payload.data.map((groups) => {\n return {\n ...groups,\n createdDate: undefined,\n hidden: false\n };\n });\n },\n filterGroups(state, action: PayloadAction) {\n const searchStr = action.payload;\n const regExp = new RegExp(searchStr, \"i\");\n state.groups = state.groups?.map((group) => {\n const result = {\n ...group,\n hidden: false\n };\n if (group.name && !regExp.test(group.name)) {\n result.hidden = true;\n }\n return result;\n });\n },\n clearGroupsFilter(state) {\n state.groups = state.groups?.map((group) => {\n return {\n ...group,\n hidden: false\n };\n });\n },\n setGroupToCreateInfo(\n state,\n action: PayloadAction<{name: string; description: string}>\n ) {\n state.groupToCreate = {\n ...action.payload\n };\n },\n setGroupToCreateModule(state, action: PayloadAction) {\n state.groupToCreate.clientId = getClientIdFromModuleName(action.payload?.alias);\n state.groupToCreate.module = action.payload;\n state.groupToCreate.roleClaims = undefined;\n },\n setGroupToCreateClaims(state, action: PayloadAction) {\n state.groupToCreate.roleClaims = action.payload;\n },\n setGroupToCreateUsers(state, action: PayloadAction) {\n state.groupToCreate.users = action.payload;\n },\n clearGroupToCreate(state) {\n state.groupToCreate = {};\n }\n }\n});\n\nexport const {\n filterGroups,\n clearGroupsFilter,\n setCurrentGroup,\n setGroupToCreateInfo,\n setGroupToCreateClaims,\n setGroupToCreateModule,\n setGroupToCreateUsers,\n clearGroupToCreate,\n setGroupsActionStatus,\n setGroups,\n clearCurrentGroup\n} = slice.actions;\n\nconst groupsReducer = slice.reducer;\nexport default groupsReducer;\n","// @ts-nocheck\n/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport const BASE_PATH = \"/lk/auth\".replace(/\\/+$/, \"\");\n\nexport interface ConfigurationParameters {\n basePath?: string; // override base path\n fetchApi?: FetchAPI; // override for fetch implementation\n middleware?: Middleware[]; // middleware to apply before/after fetch requests\n queryParamsStringify?: (params: HTTPQuery) => string; // stringify function for query strings\n username?: string; // parameter for basic security\n password?: string; // parameter for basic security\n apiKey?: string | Promise | ((name: string) => string | Promise); // parameter for apiKey security\n accessToken?: string | Promise | ((name?: string, scopes?: string[]) => string | Promise); // parameter for oauth2 security\n headers?: HTTPHeaders; //header params we want to use on every request\n credentials?: RequestCredentials; //value for the credentials param we want to use on each request\n}\n\nexport class Configuration {\n constructor(private configuration: ConfigurationParameters = {}) {}\n\n set config(configuration: Configuration) {\n this.configuration = configuration;\n }\n\n get basePath(): string {\n return this.configuration.basePath != null ? this.configuration.basePath : BASE_PATH;\n }\n\n get fetchApi(): FetchAPI | undefined {\n return this.configuration.fetchApi;\n }\n\n get middleware(): Middleware[] {\n return this.configuration.middleware || [];\n }\n\n get queryParamsStringify(): (params: HTTPQuery) => string {\n return this.configuration.queryParamsStringify || querystring;\n }\n\n get username(): string | undefined {\n return this.configuration.username;\n }\n\n get password(): string | undefined {\n return this.configuration.password;\n }\n\n get apiKey(): ((name: string) => string | Promise) | undefined {\n const apiKey = this.configuration.apiKey;\n if (apiKey) {\n return typeof apiKey === 'function' ? apiKey : () => apiKey;\n }\n return undefined;\n }\n\n get accessToken(): ((name?: string, scopes?: string[]) => string | Promise) | undefined {\n const accessToken = this.configuration.accessToken;\n if (accessToken) {\n return typeof accessToken === 'function' ? accessToken : async () => accessToken;\n }\n return undefined;\n }\n\n get headers(): HTTPHeaders | undefined {\n return this.configuration.headers;\n }\n\n get credentials(): RequestCredentials | undefined {\n return this.configuration.credentials;\n }\n}\n\nexport const DefaultConfig = new Configuration();\n\n/**\n * This is the base class for all generated API classes.\n */\nexport class BaseAPI {\n\n private static readonly jsonRegex = new RegExp('^(:?application\\/json|[^;/ \\t]+\\/[^;/ \\t]+[+]json)[ \\t]*(:?;.*)?$', 'i');\n private middleware: Middleware[];\n\n constructor(protected configuration = DefaultConfig) {\n this.middleware = configuration.middleware;\n }\n\n withMiddleware(this: T, ...middlewares: Middleware[]) {\n const next = this.clone();\n next.middleware = next.middleware.concat(...middlewares);\n return next;\n }\n\n withPreMiddleware(this: T, ...preMiddlewares: Array) {\n const middlewares = preMiddlewares.map((pre) => ({ pre }));\n return this.withMiddleware(...middlewares);\n }\n\n withPostMiddleware(this: T, ...postMiddlewares: Array) {\n const middlewares = postMiddlewares.map((post) => ({ post }));\n return this.withMiddleware(...middlewares);\n }\n\n /**\n * Check if the given MIME is a JSON MIME.\n * JSON MIME examples:\n * application/json\n * application/json; charset=UTF8\n * APPLICATION/JSON\n * application/vnd.company+json\n * @param mime - MIME (Multipurpose Internet Mail Extensions)\n * @return True if the given MIME is JSON, false otherwise.\n */\n protected isJsonMime(mime: string | null | undefined): boolean {\n if (!mime) {\n return false;\n }\n return BaseAPI.jsonRegex.test(mime);\n }\n\n protected async request(context: RequestOpts, initOverrides?: RequestInit | InitOverrideFunction): Promise {\n const { url, init } = await this.createFetchParams(context, initOverrides);\n const response = await this.fetchApi(url, init);\n if (response && (response.status >= 200 && response.status < 300)) {\n return response;\n }\n throw new ResponseError(response, 'Response returned an error code');\n }\n\n private async createFetchParams(context: RequestOpts, initOverrides?: RequestInit | InitOverrideFunction) {\n let url = this.configuration.basePath + context.path;\n if (context.query !== undefined && Object.keys(context.query).length !== 0) {\n // only add the querystring to the URL if there are query parameters.\n // this is done to avoid urls ending with a \"?\" character which buggy webservers\n // do not handle correctly sometimes.\n url += '?' + this.configuration.queryParamsStringify(context.query);\n }\n\n const headers = Object.assign({}, this.configuration.headers, context.headers);\n Object.keys(headers).forEach(key => headers[key] === undefined ? delete headers[key] : {});\n\n const initOverrideFn =\n typeof initOverrides === \"function\"\n ? initOverrides\n : async () => initOverrides;\n\n const initParams = {\n method: context.method,\n headers,\n body: context.body,\n credentials: this.configuration.credentials,\n };\n\n const overriddenInit: RequestInit = {\n ...initParams,\n ...(await initOverrideFn({\n init: initParams,\n context,\n }))\n };\n\n let body: any;\n if (isFormData(overriddenInit.body)\n || (overriddenInit.body instanceof URLSearchParams)\n || isBlob(overriddenInit.body)) {\n body = overriddenInit.body;\n } else if (this.isJsonMime(headers['Content-Type'])) {\n body = JSON.stringify(overriddenInit.body);\n } else {\n body = overriddenInit.body;\n }\n\n const init: RequestInit = {\n ...overriddenInit,\n body\n };\n\n return { url, init };\n }\n\n private fetchApi = async (url: string, init: RequestInit) => {\n let fetchParams = { url, init };\n for (const middleware of this.middleware) {\n if (middleware.pre) {\n fetchParams = await middleware.pre({\n fetch: this.fetchApi,\n ...fetchParams,\n }) || fetchParams;\n }\n }\n let response: Response | undefined = undefined;\n try {\n response = await (this.configuration.fetchApi || fetch)(fetchParams.url, fetchParams.init);\n } catch (e) {\n for (const middleware of this.middleware) {\n if (middleware.onError) {\n response = await middleware.onError({\n fetch: this.fetchApi,\n url: fetchParams.url,\n init: fetchParams.init,\n error: e,\n response: response ? response.clone() : undefined,\n }) || response;\n }\n }\n if (response === undefined) {\n if (e instanceof Error) {\n throw new FetchError(e, 'The request failed and the interceptors did not return an alternative response');\n } else {\n throw e;\n }\n }\n }\n for (const middleware of this.middleware) {\n if (middleware.post) {\n response = await middleware.post({\n fetch: this.fetchApi,\n url: fetchParams.url,\n init: fetchParams.init,\n response: response.clone(),\n }) || response;\n }\n }\n return response;\n }\n\n /**\n * Create a shallow clone of `this` by constructing a new instance\n * and then shallow cloning data members.\n */\n private clone(this: T): T {\n const constructor = this.constructor as any;\n const next = new constructor(this.configuration);\n next.middleware = this.middleware.slice();\n return next;\n }\n};\n\nfunction isBlob(value: any): value is Blob {\n return typeof Blob !== 'undefined' && value instanceof Blob;\n}\n\nfunction isFormData(value: any): value is FormData {\n return typeof FormData !== \"undefined\" && value instanceof FormData;\n}\n\nexport class ResponseError extends Error {\n override name: \"ResponseError\" = \"ResponseError\";\n constructor(public response: Response, msg?: string) {\n super(msg);\n }\n}\n\nexport class FetchError extends Error {\n override name: \"FetchError\" = \"FetchError\";\n constructor(public cause: Error, msg?: string) {\n super(msg);\n }\n}\n\nexport class RequiredError extends Error {\n override name: \"RequiredError\" = \"RequiredError\";\n constructor(public field: string, msg?: string) {\n super(msg);\n }\n}\n\nexport const COLLECTION_FORMATS = {\n csv: \",\",\n ssv: \" \",\n tsv: \"\\t\",\n pipes: \"|\",\n};\n\nexport type FetchAPI = WindowOrWorkerGlobalScope['fetch'];\n\nexport type Json = any;\nexport type HTTPMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'OPTIONS' | 'HEAD';\nexport type HTTPHeaders = { [key: string]: string };\nexport type HTTPQuery = { [key: string]: string | number | null | boolean | Array | Set | HTTPQuery };\nexport type HTTPBody = Json | FormData | URLSearchParams;\nexport type HTTPRequestInit = { headers?: HTTPHeaders; method: HTTPMethod; credentials?: RequestCredentials; body?: HTTPBody };\nexport type ModelPropertyNaming = 'camelCase' | 'snake_case' | 'PascalCase' | 'original';\n\nexport type InitOverrideFunction = (requestContext: { init: HTTPRequestInit, context: RequestOpts }) => Promise\n\nexport interface FetchParams {\n url: string;\n init: RequestInit;\n}\n\nexport interface RequestOpts {\n path: string;\n method: HTTPMethod;\n headers: HTTPHeaders;\n query?: HTTPQuery;\n body?: HTTPBody;\n}\n\nexport function querystring(params: HTTPQuery, prefix: string = ''): string {\n return Object.keys(params)\n .map(key => querystringSingleKey(key, params[key], prefix))\n .filter(part => part.length > 0)\n .join('&');\n}\n\nfunction querystringSingleKey(key: string, value: string | number | null | undefined | boolean | Array | Set | HTTPQuery, keyPrefix: string = ''): string {\n const fullKey = keyPrefix + (keyPrefix.length ? `[${key}]` : key);\n if (value instanceof Array) {\n const multiValue = value.map(singleValue => encodeURIComponent(String(singleValue)))\n .join(`&${encodeURIComponent(fullKey)}=`);\n return `${encodeURIComponent(fullKey)}=${multiValue}`;\n }\n if (value instanceof Set) {\n const valueAsArray = Array.from(value);\n return querystringSingleKey(key, valueAsArray, keyPrefix);\n }\n if (value instanceof Date) {\n return `${encodeURIComponent(fullKey)}=${encodeURIComponent(value.toISOString())}`;\n }\n if (value instanceof Object) {\n return querystring(value as HTTPQuery, fullKey);\n }\n return `${encodeURIComponent(fullKey)}=${encodeURIComponent(String(value))}`;\n}\n\nexport function mapValues(data: any, fn: (item: any) => any) {\n return Object.keys(data).reduce(\n (acc, key) => ({ ...acc, [key]: fn(data[key]) }),\n {}\n );\n}\n\nexport function canConsumeForm(consumes: Consume[]): boolean {\n for (const consume of consumes) {\n if ('multipart/form-data' === consume.contentType) {\n return true;\n }\n }\n return false;\n}\n\nexport interface Consume {\n contentType: string;\n}\n\nexport interface RequestContext {\n fetch: FetchAPI;\n url: string;\n init: RequestInit;\n}\n\nexport interface ResponseContext {\n fetch: FetchAPI;\n url: string;\n init: RequestInit;\n response: Response;\n}\n\nexport interface ErrorContext {\n fetch: FetchAPI;\n url: string;\n init: RequestInit;\n error: unknown;\n response?: Response;\n}\n\nexport interface Middleware {\n pre?(context: RequestContext): Promise;\n post?(context: ResponseContext): Promise;\n onError?(context: ErrorContext): Promise;\n}\n\nexport interface ApiResponse {\n raw: Response;\n value(): Promise;\n}\n\nexport interface ResponseTransformer {\n (json: any): T;\n}\n\nexport class JSONApiResponse {\n constructor(public raw: Response, private transformer: ResponseTransformer = (jsonValue: any) => jsonValue) {}\n\n async value(): Promise {\n return this.transformer(await this.raw.json());\n }\n}\n\nexport class VoidApiResponse {\n constructor(public raw: Response) {}\n\n async value(): Promise {\n return undefined;\n }\n}\n\nexport class BlobApiResponse {\n constructor(public raw: Response) {}\n\n async value(): Promise {\n return await this.raw.blob();\n };\n}\n\nexport class TextApiResponse {\n constructor(public raw: Response) {}\n\n async value(): Promise {\n return await this.raw.text();\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface AddClientAllClaimDto\n */\nexport interface AddClientAllClaimDto {\n /**\n * Тип клейма\n * @type {string}\n * @memberof AddClientAllClaimDto\n */\n clientId: string;\n /**\n * Тип клейма\n * @type {string}\n * @memberof AddClientAllClaimDto\n */\n type: string;\n /**\n * Значение клейма\n * @type {string}\n * @memberof AddClientAllClaimDto\n */\n value: string;\n /**\n * Начало действия клейма\n * @type {string}\n * @memberof AddClientAllClaimDto\n */\n validFrom?: string;\n /**\n * Окончание действия клейма\n * @type {string}\n * @memberof AddClientAllClaimDto\n */\n validTo?: string;\n}\n\n/**\n * Check if a given object implements the AddClientAllClaimDto interface.\n */\nexport function instanceOfAddClientAllClaimDto(value: object): boolean {\n if (!('clientId' in value)) return false;\n if (!('type' in value)) return false;\n if (!('value' in value)) return false;\n return true;\n}\n\nexport function AddClientAllClaimDtoFromJSON(json: any): AddClientAllClaimDto {\n return AddClientAllClaimDtoFromJSONTyped(json, false);\n}\n\nexport function AddClientAllClaimDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): AddClientAllClaimDto {\n if (json == null) {\n return json;\n }\n return {\n \n 'clientId': json['clientId'],\n 'type': json['type'],\n 'value': json['value'],\n 'validFrom': json['validFrom'] == null ? undefined : json['validFrom'],\n 'validTo': json['validTo'] == null ? undefined : json['validTo'],\n };\n}\n\nexport function AddClientAllClaimDtoToJSON(value?: AddClientAllClaimDto | null): any {\n if (value == null) {\n return value;\n }\n return {\n \n 'clientId': value['clientId'],\n 'type': value['type'],\n 'value': value['value'],\n 'validFrom': value['validFrom'],\n 'validTo': value['validTo'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { ApplicationRole } from './ApplicationRole';\nimport {\n ApplicationRoleFromJSON,\n ApplicationRoleFromJSONTyped,\n ApplicationRoleToJSON,\n} from './ApplicationRole';\n\n/**\n * \n * @export\n * @interface ApplicationRoleClaim\n */\nexport interface ApplicationRoleClaim {\n /**\n * \n * @type {number}\n * @memberof ApplicationRoleClaim\n */\n id?: number;\n /**\n * \n * @type {string}\n * @memberof ApplicationRoleClaim\n */\n claimType?: string;\n /**\n * \n * @type {string}\n * @memberof ApplicationRoleClaim\n */\n claimValue?: string;\n /**\n * \n * @type {string}\n * @memberof ApplicationRoleClaim\n */\n roleId: string;\n /**\n * \n * @type {ApplicationRole}\n * @memberof ApplicationRoleClaim\n */\n role?: ApplicationRole;\n}\n\n/**\n * Check if a given object implements the ApplicationRoleClaim interface.\n */\nexport function instanceOfApplicationRoleClaim(value: object): boolean {\n if (!('roleId' in value)) return false;\n return true;\n}\n\nexport function ApplicationRoleClaimFromJSON(json: any): ApplicationRoleClaim {\n return ApplicationRoleClaimFromJSONTyped(json, false);\n}\n\nexport function ApplicationRoleClaimFromJSONTyped(json: any, ignoreDiscriminator: boolean): ApplicationRoleClaim {\n if (json == null) {\n return json;\n }\n return {\n \n 'id': json['id'] == null ? undefined : json['id'],\n 'claimType': json['claimType'] == null ? undefined : json['claimType'],\n 'claimValue': json['claimValue'] == null ? undefined : json['claimValue'],\n 'roleId': json['roleId'],\n 'role': json['role'] == null ? undefined : ApplicationRoleFromJSON(json['role']),\n };\n}\n\nexport function ApplicationRoleClaimToJSON(value?: ApplicationRoleClaim | null): any {\n if (value == null) {\n return value;\n }\n return {\n \n 'id': value['id'],\n 'claimType': value['claimType'],\n 'claimValue': value['claimValue'],\n 'roleId': value['roleId'],\n 'role': ApplicationRoleToJSON(value['role']),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { ApplicationUser } from './ApplicationUser';\nimport {\n ApplicationUserFromJSON,\n ApplicationUserFromJSONTyped,\n ApplicationUserToJSON,\n} from './ApplicationUser';\n\n/**\n * \n * @export\n * @interface ApplicationUserClaim\n */\nexport interface ApplicationUserClaim {\n /**\n * \n * @type {number}\n * @memberof ApplicationUserClaim\n */\n id?: number;\n /**\n * \n * @type {string}\n * @memberof ApplicationUserClaim\n */\n claimType?: string;\n /**\n * \n * @type {string}\n * @memberof ApplicationUserClaim\n */\n claimValue?: string;\n /**\n * \n * @type {string}\n * @memberof ApplicationUserClaim\n */\n userId: string;\n /**\n * \n * @type {ApplicationUser}\n * @memberof ApplicationUserClaim\n */\n user?: ApplicationUser;\n /**\n * \n * @type {string}\n * @memberof ApplicationUserClaim\n */\n clientId?: string;\n}\n\n/**\n * Check if a given object implements the ApplicationUserClaim interface.\n */\nexport function instanceOfApplicationUserClaim(value: object): boolean {\n if (!('userId' in value)) return false;\n return true;\n}\n\nexport function ApplicationUserClaimFromJSON(json: any): ApplicationUserClaim {\n return ApplicationUserClaimFromJSONTyped(json, false);\n}\n\nexport function ApplicationUserClaimFromJSONTyped(json: any, ignoreDiscriminator: boolean): ApplicationUserClaim {\n if (json == null) {\n return json;\n }\n return {\n \n 'id': json['id'] == null ? undefined : json['id'],\n 'claimType': json['claimType'] == null ? undefined : json['claimType'],\n 'claimValue': json['claimValue'] == null ? undefined : json['claimValue'],\n 'userId': json['userId'],\n 'user': json['user'] == null ? undefined : ApplicationUserFromJSON(json['user']),\n 'clientId': json['clientId'] == null ? undefined : json['clientId'],\n };\n}\n\nexport function ApplicationUserClaimToJSON(value?: ApplicationUserClaim | null): any {\n if (value == null) {\n return value;\n }\n return {\n \n 'id': value['id'],\n 'claimType': value['claimType'],\n 'claimValue': value['claimValue'],\n 'userId': value['userId'],\n 'user': ApplicationUserToJSON(value['user']),\n 'clientId': value['clientId'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { ApplicationUser } from './ApplicationUser';\nimport {\n ApplicationUserFromJSON,\n ApplicationUserFromJSONTyped,\n ApplicationUserToJSON,\n} from './ApplicationUser';\n\n/**\n * \n * @export\n * @interface ApplicationUserLogin\n */\nexport interface ApplicationUserLogin {\n /**\n * \n * @type {string}\n * @memberof ApplicationUserLogin\n */\n loginProvider?: string;\n /**\n * \n * @type {string}\n * @memberof ApplicationUserLogin\n */\n providerKey?: string;\n /**\n * \n * @type {string}\n * @memberof ApplicationUserLogin\n */\n providerDisplayName?: string;\n /**\n * \n * @type {string}\n * @memberof ApplicationUserLogin\n */\n userId: string;\n /**\n * \n * @type {ApplicationUser}\n * @memberof ApplicationUserLogin\n */\n user?: ApplicationUser;\n}\n\n/**\n * Check if a given object implements the ApplicationUserLogin interface.\n */\nexport function instanceOfApplicationUserLogin(value: object): boolean {\n if (!('userId' in value)) return false;\n return true;\n}\n\nexport function ApplicationUserLoginFromJSON(json: any): ApplicationUserLogin {\n return ApplicationUserLoginFromJSONTyped(json, false);\n}\n\nexport function ApplicationUserLoginFromJSONTyped(json: any, ignoreDiscriminator: boolean): ApplicationUserLogin {\n if (json == null) {\n return json;\n }\n return {\n \n 'loginProvider': json['loginProvider'] == null ? undefined : json['loginProvider'],\n 'providerKey': json['providerKey'] == null ? undefined : json['providerKey'],\n 'providerDisplayName': json['providerDisplayName'] == null ? undefined : json['providerDisplayName'],\n 'userId': json['userId'],\n 'user': json['user'] == null ? undefined : ApplicationUserFromJSON(json['user']),\n };\n}\n\nexport function ApplicationUserLoginToJSON(value?: ApplicationUserLogin | null): any {\n if (value == null) {\n return value;\n }\n return {\n \n 'loginProvider': value['loginProvider'],\n 'providerKey': value['providerKey'],\n 'providerDisplayName': value['providerDisplayName'],\n 'userId': value['userId'],\n 'user': ApplicationUserToJSON(value['user']),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { ApplicationUser } from './ApplicationUser';\nimport {\n ApplicationUserFromJSON,\n ApplicationUserFromJSONTyped,\n ApplicationUserToJSON,\n} from './ApplicationUser';\n\n/**\n * \n * @export\n * @interface ApplicationUserToken\n */\nexport interface ApplicationUserToken {\n /**\n * \n * @type {string}\n * @memberof ApplicationUserToken\n */\n loginProvider?: string;\n /**\n * \n * @type {string}\n * @memberof ApplicationUserToken\n */\n name?: string;\n /**\n * \n * @type {string}\n * @memberof ApplicationUserToken\n */\n value?: string;\n /**\n * \n * @type {string}\n * @memberof ApplicationUserToken\n */\n userId: string;\n /**\n * \n * @type {ApplicationUser}\n * @memberof ApplicationUserToken\n */\n user?: ApplicationUser;\n}\n\n/**\n * Check if a given object implements the ApplicationUserToken interface.\n */\nexport function instanceOfApplicationUserToken(value: object): boolean {\n if (!('userId' in value)) return false;\n return true;\n}\n\nexport function ApplicationUserTokenFromJSON(json: any): ApplicationUserToken {\n return ApplicationUserTokenFromJSONTyped(json, false);\n}\n\nexport function ApplicationUserTokenFromJSONTyped(json: any, ignoreDiscriminator: boolean): ApplicationUserToken {\n if (json == null) {\n return json;\n }\n return {\n \n 'loginProvider': json['loginProvider'] == null ? undefined : json['loginProvider'],\n 'name': json['name'] == null ? undefined : json['name'],\n 'value': json['value'] == null ? undefined : json['value'],\n 'userId': json['userId'],\n 'user': json['user'] == null ? undefined : ApplicationUserFromJSON(json['user']),\n };\n}\n\nexport function ApplicationUserTokenToJSON(value?: ApplicationUserToken | null): any {\n if (value == null) {\n return value;\n }\n return {\n \n 'loginProvider': value['loginProvider'],\n 'name': value['name'],\n 'value': value['value'],\n 'userId': value['userId'],\n 'user': ApplicationUserToJSON(value['user']),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface AttributeType\n */\nexport interface AttributeType {\n /**\n * \n * @type {number}\n * @memberof AttributeType\n */\n id?: number;\n /**\n * \n * @type {string}\n * @memberof AttributeType\n */\n name?: string;\n}\n\n/**\n * Check if a given object implements the AttributeType interface.\n */\nexport function instanceOfAttributeType(value: object): boolean {\n return true;\n}\n\nexport function AttributeTypeFromJSON(json: any): AttributeType {\n return AttributeTypeFromJSONTyped(json, false);\n}\n\nexport function AttributeTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): AttributeType {\n if (json == null) {\n return json;\n }\n return {\n \n 'id': json['id'] == null ? undefined : json['id'],\n 'name': json['name'] == null ? undefined : json['name'],\n };\n}\n\nexport function AttributeTypeToJSON(value?: AttributeType | null): any {\n if (value == null) {\n return value;\n }\n return {\n \n 'id': value['id'],\n 'name': value['name'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { Participant } from './Participant';\nimport {\n ParticipantFromJSON,\n ParticipantFromJSONTyped,\n ParticipantToJSON,\n} from './Participant';\nimport type { ParticipantAttribute } from './ParticipantAttribute';\nimport {\n ParticipantAttributeFromJSON,\n ParticipantAttributeFromJSONTyped,\n ParticipantAttributeToJSON,\n} from './ParticipantAttribute';\n\n/**\n * \n * @export\n * @interface ParticipantType\n */\nexport interface ParticipantType {\n /**\n * \n * @type {number}\n * @memberof ParticipantType\n */\n id?: number;\n /**\n * \n * @type {string}\n * @memberof ParticipantType\n */\n name?: string;\n /**\n * \n * @type {string}\n * @memberof ParticipantType\n */\n description?: string;\n /**\n * \n * @type {Array}\n * @memberof ParticipantType\n */\n attributes?: Array;\n /**\n * \n * @type {Array}\n * @memberof ParticipantType\n */\n participants?: Array;\n}\n\n/**\n * Check if a given object implements the ParticipantType interface.\n */\nexport function instanceOfParticipantType(value: object): boolean {\n return true;\n}\n\nexport function ParticipantTypeFromJSON(json: any): ParticipantType {\n return ParticipantTypeFromJSONTyped(json, false);\n}\n\nexport function ParticipantTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): ParticipantType {\n if (json == null) {\n return json;\n }\n return {\n \n 'id': json['id'] == null ? undefined : json['id'],\n 'name': json['name'] == null ? undefined : json['name'],\n 'description': json['description'] == null ? undefined : json['description'],\n 'attributes': json['attributes'] == null ? undefined : ((json['attributes'] as Array).map(ParticipantAttributeFromJSON)),\n 'participants': json['participants'] == null ? undefined : ((json['participants'] as Array).map(ParticipantFromJSON)),\n };\n}\n\nexport function ParticipantTypeToJSON(value?: ParticipantType | null): any {\n if (value == null) {\n return value;\n }\n return {\n \n 'id': value['id'],\n 'name': value['name'],\n 'description': value['description'],\n 'attributes': value['attributes'] == null ? undefined : ((value['attributes'] as Array).map(ParticipantAttributeToJSON)),\n 'participants': value['participants'] == null ? undefined : ((value['participants'] as Array).map(ParticipantToJSON)),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { AttributeType } from './AttributeType';\nimport {\n AttributeTypeFromJSON,\n AttributeTypeFromJSONTyped,\n AttributeTypeToJSON,\n} from './AttributeType';\nimport type { ParticipantType } from './ParticipantType';\nimport {\n ParticipantTypeFromJSON,\n ParticipantTypeFromJSONTyped,\n ParticipantTypeToJSON,\n} from './ParticipantType';\n\n/**\n * \n * @export\n * @interface ParticipantAttribute\n */\nexport interface ParticipantAttribute {\n /**\n * \n * @type {number}\n * @memberof ParticipantAttribute\n */\n id?: number;\n /**\n * \n * @type {string}\n * @memberof ParticipantAttribute\n */\n name?: string;\n /**\n * \n * @type {string}\n * @memberof ParticipantAttribute\n */\n description?: string;\n /**\n * \n * @type {AttributeType}\n * @memberof ParticipantAttribute\n */\n attributeType?: AttributeType;\n /**\n * \n * @type {ParticipantType}\n * @memberof ParticipantAttribute\n */\n participantType?: ParticipantType;\n}\n\n/**\n * Check if a given object implements the ParticipantAttribute interface.\n */\nexport function instanceOfParticipantAttribute(value: object): boolean {\n return true;\n}\n\nexport function ParticipantAttributeFromJSON(json: any): ParticipantAttribute {\n return ParticipantAttributeFromJSONTyped(json, false);\n}\n\nexport function ParticipantAttributeFromJSONTyped(json: any, ignoreDiscriminator: boolean): ParticipantAttribute {\n if (json == null) {\n return json;\n }\n return {\n \n 'id': json['id'] == null ? undefined : json['id'],\n 'name': json['name'] == null ? undefined : json['name'],\n 'description': json['description'] == null ? undefined : json['description'],\n 'attributeType': json['attributeType'] == null ? undefined : AttributeTypeFromJSON(json['attributeType']),\n 'participantType': json['participantType'] == null ? undefined : ParticipantTypeFromJSON(json['participantType']),\n };\n}\n\nexport function ParticipantAttributeToJSON(value?: ParticipantAttribute | null): any {\n if (value == null) {\n return value;\n }\n return {\n \n 'id': value['id'],\n 'name': value['name'],\n 'description': value['description'],\n 'attributeType': AttributeTypeToJSON(value['attributeType']),\n 'participantType': ParticipantTypeToJSON(value['participantType']),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { Participant } from './Participant';\nimport {\n ParticipantFromJSON,\n ParticipantFromJSONTyped,\n ParticipantToJSON,\n} from './Participant';\nimport type { ParticipantAttribute } from './ParticipantAttribute';\nimport {\n ParticipantAttributeFromJSON,\n ParticipantAttributeFromJSONTyped,\n ParticipantAttributeToJSON,\n} from './ParticipantAttribute';\n\n/**\n * \n * @export\n * @interface ParticipantAttributeValue\n */\nexport interface ParticipantAttributeValue {\n /**\n * \n * @type {number}\n * @memberof ParticipantAttributeValue\n */\n id?: number;\n /**\n * \n * @type {ParticipantAttribute}\n * @memberof ParticipantAttributeValue\n */\n attribute?: ParticipantAttribute;\n /**\n * \n * @type {Participant}\n * @memberof ParticipantAttributeValue\n */\n participant?: Participant;\n /**\n * \n * @type {string}\n * @memberof ParticipantAttributeValue\n */\n value?: string;\n}\n\n/**\n * Check if a given object implements the ParticipantAttributeValue interface.\n */\nexport function instanceOfParticipantAttributeValue(value: object): boolean {\n return true;\n}\n\nexport function ParticipantAttributeValueFromJSON(json: any): ParticipantAttributeValue {\n return ParticipantAttributeValueFromJSONTyped(json, false);\n}\n\nexport function ParticipantAttributeValueFromJSONTyped(json: any, ignoreDiscriminator: boolean): ParticipantAttributeValue {\n if (json == null) {\n return json;\n }\n return {\n \n 'id': json['id'] == null ? undefined : json['id'],\n 'attribute': json['attribute'] == null ? undefined : ParticipantAttributeFromJSON(json['attribute']),\n 'participant': json['participant'] == null ? undefined : ParticipantFromJSON(json['participant']),\n 'value': json['value'] == null ? undefined : json['value'],\n };\n}\n\nexport function ParticipantAttributeValueToJSON(value?: ParticipantAttributeValue | null): any {\n if (value == null) {\n return value;\n }\n return {\n \n 'id': value['id'],\n 'attribute': ParticipantAttributeToJSON(value['attribute']),\n 'participant': ParticipantToJSON(value['participant']),\n 'value': value['value'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { ParticipantRole } from './ParticipantRole';\nimport {\n ParticipantRoleFromJSON,\n ParticipantRoleFromJSONTyped,\n ParticipantRoleToJSON,\n} from './ParticipantRole';\nimport type { ParticipantUser } from './ParticipantUser';\nimport {\n ParticipantUserFromJSON,\n ParticipantUserFromJSONTyped,\n ParticipantUserToJSON,\n} from './ParticipantUser';\n\n/**\n * \n * @export\n * @interface ParticipantUserRole\n */\nexport interface ParticipantUserRole {\n /**\n * \n * @type {number}\n * @memberof ParticipantUserRole\n */\n participantRoleId?: number;\n /**\n * \n * @type {number}\n * @memberof ParticipantUserRole\n */\n participantUserId?: number;\n /**\n * \n * @type {ParticipantRole}\n * @memberof ParticipantUserRole\n */\n participantRole?: ParticipantRole;\n /**\n * \n * @type {ParticipantUser}\n * @memberof ParticipantUserRole\n */\n participantUser?: ParticipantUser;\n}\n\n/**\n * Check if a given object implements the ParticipantUserRole interface.\n */\nexport function instanceOfParticipantUserRole(value: object): boolean {\n return true;\n}\n\nexport function ParticipantUserRoleFromJSON(json: any): ParticipantUserRole {\n return ParticipantUserRoleFromJSONTyped(json, false);\n}\n\nexport function ParticipantUserRoleFromJSONTyped(json: any, ignoreDiscriminator: boolean): ParticipantUserRole {\n if (json == null) {\n return json;\n }\n return {\n \n 'participantRoleId': json['participantRoleId'] == null ? undefined : json['participantRoleId'],\n 'participantUserId': json['participantUserId'] == null ? undefined : json['participantUserId'],\n 'participantRole': json['participantRole'] == null ? undefined : ParticipantRoleFromJSON(json['participantRole']),\n 'participantUser': json['participantUser'] == null ? undefined : ParticipantUserFromJSON(json['participantUser']),\n };\n}\n\nexport function ParticipantUserRoleToJSON(value?: ParticipantUserRole | null): any {\n if (value == null) {\n return value;\n }\n return {\n \n 'participantRoleId': value['participantRoleId'],\n 'participantUserId': value['participantUserId'],\n 'participantRole': ParticipantRoleToJSON(value['participantRole']),\n 'participantUser': ParticipantUserToJSON(value['participantUser']),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { Participant } from './Participant';\nimport {\n ParticipantFromJSON,\n ParticipantFromJSONTyped,\n ParticipantToJSON,\n} from './Participant';\nimport type { ParticipantRoleClaim } from './ParticipantRoleClaim';\nimport {\n ParticipantRoleClaimFromJSON,\n ParticipantRoleClaimFromJSONTyped,\n ParticipantRoleClaimToJSON,\n} from './ParticipantRoleClaim';\nimport type { ParticipantUserRole } from './ParticipantUserRole';\nimport {\n ParticipantUserRoleFromJSON,\n ParticipantUserRoleFromJSONTyped,\n ParticipantUserRoleToJSON,\n} from './ParticipantUserRole';\n\n/**\n * \n * @export\n * @interface ParticipantRole\n */\nexport interface ParticipantRole {\n /**\n * \n * @type {number}\n * @memberof ParticipantRole\n */\n id?: number;\n /**\n * \n * @type {number}\n * @memberof ParticipantRole\n */\n participantId?: number;\n /**\n * \n * @type {string}\n * @memberof ParticipantRole\n */\n name?: string;\n /**\n * \n * @type {string}\n * @memberof ParticipantRole\n */\n description?: string;\n /**\n * \n * @type {Participant}\n * @memberof ParticipantRole\n */\n participant?: Participant;\n /**\n * \n * @type {Array}\n * @memberof ParticipantRole\n */\n participantUserRoles?: Array;\n /**\n * \n * @type {Array}\n * @memberof ParticipantRole\n */\n participantRoleClaims?: Array;\n}\n\n/**\n * Check if a given object implements the ParticipantRole interface.\n */\nexport function instanceOfParticipantRole(value: object): boolean {\n return true;\n}\n\nexport function ParticipantRoleFromJSON(json: any): ParticipantRole {\n return ParticipantRoleFromJSONTyped(json, false);\n}\n\nexport function ParticipantRoleFromJSONTyped(json: any, ignoreDiscriminator: boolean): ParticipantRole {\n if (json == null) {\n return json;\n }\n return {\n \n 'id': json['id'] == null ? undefined : json['id'],\n 'participantId': json['participantId'] == null ? undefined : json['participantId'],\n 'name': json['name'] == null ? undefined : json['name'],\n 'description': json['description'] == null ? undefined : json['description'],\n 'participant': json['participant'] == null ? undefined : ParticipantFromJSON(json['participant']),\n 'participantUserRoles': json['participantUserRoles'] == null ? undefined : ((json['participantUserRoles'] as Array).map(ParticipantUserRoleFromJSON)),\n 'participantRoleClaims': json['participantRoleClaims'] == null ? undefined : ((json['participantRoleClaims'] as Array).map(ParticipantRoleClaimFromJSON)),\n };\n}\n\nexport function ParticipantRoleToJSON(value?: ParticipantRole | null): any {\n if (value == null) {\n return value;\n }\n return {\n \n 'id': value['id'],\n 'participantId': value['participantId'],\n 'name': value['name'],\n 'description': value['description'],\n 'participant': ParticipantToJSON(value['participant']),\n 'participantUserRoles': value['participantUserRoles'] == null ? undefined : ((value['participantUserRoles'] as Array).map(ParticipantUserRoleToJSON)),\n 'participantRoleClaims': value['participantRoleClaims'] == null ? undefined : ((value['participantRoleClaims'] as Array).map(ParticipantRoleClaimToJSON)),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { ClientAllClaim } from './ClientAllClaim';\nimport {\n ClientAllClaimFromJSON,\n ClientAllClaimFromJSONTyped,\n ClientAllClaimToJSON,\n} from './ClientAllClaim';\nimport type { ParticipantRole } from './ParticipantRole';\nimport {\n ParticipantRoleFromJSON,\n ParticipantRoleFromJSONTyped,\n ParticipantRoleToJSON,\n} from './ParticipantRole';\n\n/**\n * \n * @export\n * @interface ParticipantRoleClaim\n */\nexport interface ParticipantRoleClaim {\n /**\n * \n * @type {number}\n * @memberof ParticipantRoleClaim\n */\n id?: number;\n /**\n * \n * @type {number}\n * @memberof ParticipantRoleClaim\n */\n participantRoleId?: number;\n /**\n * \n * @type {string}\n * @memberof ParticipantRoleClaim\n */\n clientId?: string;\n /**\n * \n * @type {string}\n * @memberof ParticipantRoleClaim\n */\n claimType?: string;\n /**\n * \n * @type {string}\n * @memberof ParticipantRoleClaim\n */\n claimValue?: string;\n /**\n * \n * @type {Date}\n * @memberof ParticipantRoleClaim\n */\n validFrom?: Date;\n /**\n * \n * @type {Date}\n * @memberof ParticipantRoleClaim\n */\n validTo?: Date;\n /**\n * \n * @type {ParticipantRole}\n * @memberof ParticipantRoleClaim\n */\n participantRole?: ParticipantRole;\n /**\n * \n * @type {ClientAllClaim}\n * @memberof ParticipantRoleClaim\n */\n clientClaim?: ClientAllClaim;\n}\n\n/**\n * Check if a given object implements the ParticipantRoleClaim interface.\n */\nexport function instanceOfParticipantRoleClaim(value: object): boolean {\n return true;\n}\n\nexport function ParticipantRoleClaimFromJSON(json: any): ParticipantRoleClaim {\n return ParticipantRoleClaimFromJSONTyped(json, false);\n}\n\nexport function ParticipantRoleClaimFromJSONTyped(json: any, ignoreDiscriminator: boolean): ParticipantRoleClaim {\n if (json == null) {\n return json;\n }\n return {\n \n 'id': json['id'] == null ? undefined : json['id'],\n 'participantRoleId': json['participantRoleId'] == null ? undefined : json['participantRoleId'],\n 'clientId': json['clientId'] == null ? undefined : json['clientId'],\n 'claimType': json['claimType'] == null ? undefined : json['claimType'],\n 'claimValue': json['claimValue'] == null ? undefined : json['claimValue'],\n 'validFrom': json['validFrom'] == null ? undefined : (new Date(json['validFrom'])),\n 'validTo': json['validTo'] == null ? undefined : (new Date(json['validTo'])),\n 'participantRole': json['participantRole'] == null ? undefined : ParticipantRoleFromJSON(json['participantRole']),\n 'clientClaim': json['clientClaim'] == null ? undefined : ClientAllClaimFromJSON(json['clientClaim']),\n };\n}\n\nexport function ParticipantRoleClaimToJSON(value?: ParticipantRoleClaim | null): any {\n if (value == null) {\n return value;\n }\n return {\n \n 'id': value['id'],\n 'participantRoleId': value['participantRoleId'],\n 'clientId': value['clientId'],\n 'claimType': value['claimType'],\n 'claimValue': value['claimValue'],\n 'validFrom': value['validFrom'] == null ? undefined : ((value['validFrom']).toISOString()),\n 'validTo': value['validTo'] == null ? undefined : ((value['validTo']).toISOString()),\n 'participantRole': ParticipantRoleToJSON(value['participantRole']),\n 'clientClaim': ClientAllClaimToJSON(value['clientClaim']),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { ClientAllClaim } from './ClientAllClaim';\nimport {\n ClientAllClaimFromJSON,\n ClientAllClaimFromJSONTyped,\n ClientAllClaimToJSON,\n} from './ClientAllClaim';\nimport type { ParticipantUser } from './ParticipantUser';\nimport {\n ParticipantUserFromJSON,\n ParticipantUserFromJSONTyped,\n ParticipantUserToJSON,\n} from './ParticipantUser';\n\n/**\n * \n * @export\n * @interface ParticipantUserClaim\n */\nexport interface ParticipantUserClaim {\n /**\n * \n * @type {number}\n * @memberof ParticipantUserClaim\n */\n id?: number;\n /**\n * \n * @type {number}\n * @memberof ParticipantUserClaim\n */\n participantUserId?: number;\n /**\n * \n * @type {string}\n * @memberof ParticipantUserClaim\n */\n clientId?: string;\n /**\n * \n * @type {string}\n * @memberof ParticipantUserClaim\n */\n claimType?: string;\n /**\n * \n * @type {string}\n * @memberof ParticipantUserClaim\n */\n claimValue?: string;\n /**\n * \n * @type {Date}\n * @memberof ParticipantUserClaim\n */\n validFrom?: Date;\n /**\n * \n * @type {Date}\n * @memberof ParticipantUserClaim\n */\n validTo?: Date;\n /**\n * \n * @type {ParticipantUser}\n * @memberof ParticipantUserClaim\n */\n participantUser?: ParticipantUser;\n /**\n * \n * @type {ClientAllClaim}\n * @memberof ParticipantUserClaim\n */\n clientClaim?: ClientAllClaim;\n}\n\n/**\n * Check if a given object implements the ParticipantUserClaim interface.\n */\nexport function instanceOfParticipantUserClaim(value: object): boolean {\n return true;\n}\n\nexport function ParticipantUserClaimFromJSON(json: any): ParticipantUserClaim {\n return ParticipantUserClaimFromJSONTyped(json, false);\n}\n\nexport function ParticipantUserClaimFromJSONTyped(json: any, ignoreDiscriminator: boolean): ParticipantUserClaim {\n if (json == null) {\n return json;\n }\n return {\n \n 'id': json['id'] == null ? undefined : json['id'],\n 'participantUserId': json['participantUserId'] == null ? undefined : json['participantUserId'],\n 'clientId': json['clientId'] == null ? undefined : json['clientId'],\n 'claimType': json['claimType'] == null ? undefined : json['claimType'],\n 'claimValue': json['claimValue'] == null ? undefined : json['claimValue'],\n 'validFrom': json['validFrom'] == null ? undefined : (new Date(json['validFrom'])),\n 'validTo': json['validTo'] == null ? undefined : (new Date(json['validTo'])),\n 'participantUser': json['participantUser'] == null ? undefined : ParticipantUserFromJSON(json['participantUser']),\n 'clientClaim': json['clientClaim'] == null ? undefined : ClientAllClaimFromJSON(json['clientClaim']),\n };\n}\n\nexport function ParticipantUserClaimToJSON(value?: ParticipantUserClaim | null): any {\n if (value == null) {\n return value;\n }\n return {\n \n 'id': value['id'],\n 'participantUserId': value['participantUserId'],\n 'clientId': value['clientId'],\n 'claimType': value['claimType'],\n 'claimValue': value['claimValue'],\n 'validFrom': value['validFrom'] == null ? undefined : ((value['validFrom']).toISOString()),\n 'validTo': value['validTo'] == null ? undefined : ((value['validTo']).toISOString()),\n 'participantUser': ParticipantUserToJSON(value['participantUser']),\n 'clientClaim': ClientAllClaimToJSON(value['clientClaim']),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { ParticipantClaim } from './ParticipantClaim';\nimport {\n ParticipantClaimFromJSON,\n ParticipantClaimFromJSONTyped,\n ParticipantClaimToJSON,\n} from './ParticipantClaim';\nimport type { ParticipantRoleClaim } from './ParticipantRoleClaim';\nimport {\n ParticipantRoleClaimFromJSON,\n ParticipantRoleClaimFromJSONTyped,\n ParticipantRoleClaimToJSON,\n} from './ParticipantRoleClaim';\nimport type { ParticipantUserClaim } from './ParticipantUserClaim';\nimport {\n ParticipantUserClaimFromJSON,\n ParticipantUserClaimFromJSONTyped,\n ParticipantUserClaimToJSON,\n} from './ParticipantUserClaim';\n\n/**\n * \n * @export\n * @interface ClientAllClaim\n */\nexport interface ClientAllClaim {\n /**\n * \n * @type {string}\n * @memberof ClientAllClaim\n */\n clientId?: string;\n /**\n * \n * @type {string}\n * @memberof ClientAllClaim\n */\n claimType?: string;\n /**\n * \n * @type {string}\n * @memberof ClientAllClaim\n */\n valueType?: string;\n /**\n * \n * @type {string}\n * @memberof ClientAllClaim\n */\n description?: string;\n /**\n * \n * @type {Array}\n * @memberof ClientAllClaim\n */\n participantClaims?: Array;\n /**\n * \n * @type {Array}\n * @memberof ClientAllClaim\n */\n participantUserClaims?: Array;\n /**\n * \n * @type {Array}\n * @memberof ClientAllClaim\n */\n participantRoleClaims?: Array;\n}\n\n/**\n * Check if a given object implements the ClientAllClaim interface.\n */\nexport function instanceOfClientAllClaim(value: object): boolean {\n return true;\n}\n\nexport function ClientAllClaimFromJSON(json: any): ClientAllClaim {\n return ClientAllClaimFromJSONTyped(json, false);\n}\n\nexport function ClientAllClaimFromJSONTyped(json: any, ignoreDiscriminator: boolean): ClientAllClaim {\n if (json == null) {\n return json;\n }\n return {\n \n 'clientId': json['clientId'] == null ? undefined : json['clientId'],\n 'claimType': json['claimType'] == null ? undefined : json['claimType'],\n 'valueType': json['valueType'] == null ? undefined : json['valueType'],\n 'description': json['description'] == null ? undefined : json['description'],\n 'participantClaims': json['participantClaims'] == null ? undefined : ((json['participantClaims'] as Array).map(ParticipantClaimFromJSON)),\n 'participantUserClaims': json['participantUserClaims'] == null ? undefined : ((json['participantUserClaims'] as Array).map(ParticipantUserClaimFromJSON)),\n 'participantRoleClaims': json['participantRoleClaims'] == null ? undefined : ((json['participantRoleClaims'] as Array).map(ParticipantRoleClaimFromJSON)),\n };\n}\n\nexport function ClientAllClaimToJSON(value?: ClientAllClaim | null): any {\n if (value == null) {\n return value;\n }\n return {\n \n 'clientId': value['clientId'],\n 'claimType': value['claimType'],\n 'valueType': value['valueType'],\n 'description': value['description'],\n 'participantClaims': value['participantClaims'] == null ? undefined : ((value['participantClaims'] as Array).map(ParticipantClaimToJSON)),\n 'participantUserClaims': value['participantUserClaims'] == null ? undefined : ((value['participantUserClaims'] as Array).map(ParticipantUserClaimToJSON)),\n 'participantRoleClaims': value['participantRoleClaims'] == null ? undefined : ((value['participantRoleClaims'] as Array).map(ParticipantRoleClaimToJSON)),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { ClientAllClaim } from './ClientAllClaim';\nimport {\n ClientAllClaimFromJSON,\n ClientAllClaimFromJSONTyped,\n ClientAllClaimToJSON,\n} from './ClientAllClaim';\nimport type { Participant } from './Participant';\nimport {\n ParticipantFromJSON,\n ParticipantFromJSONTyped,\n ParticipantToJSON,\n} from './Participant';\n\n/**\n * \n * @export\n * @interface ParticipantClaim\n */\nexport interface ParticipantClaim {\n /**\n * \n * @type {number}\n * @memberof ParticipantClaim\n */\n id?: number;\n /**\n * \n * @type {number}\n * @memberof ParticipantClaim\n */\n participantId?: number;\n /**\n * \n * @type {string}\n * @memberof ParticipantClaim\n */\n clientId?: string;\n /**\n * \n * @type {string}\n * @memberof ParticipantClaim\n */\n claimType?: string;\n /**\n * \n * @type {string}\n * @memberof ParticipantClaim\n */\n claimValue?: string;\n /**\n * \n * @type {Participant}\n * @memberof ParticipantClaim\n */\n participant?: Participant;\n /**\n * \n * @type {ClientAllClaim}\n * @memberof ParticipantClaim\n */\n clientClaim?: ClientAllClaim;\n}\n\n/**\n * Check if a given object implements the ParticipantClaim interface.\n */\nexport function instanceOfParticipantClaim(value: object): boolean {\n return true;\n}\n\nexport function ParticipantClaimFromJSON(json: any): ParticipantClaim {\n return ParticipantClaimFromJSONTyped(json, false);\n}\n\nexport function ParticipantClaimFromJSONTyped(json: any, ignoreDiscriminator: boolean): ParticipantClaim {\n if (json == null) {\n return json;\n }\n return {\n \n 'id': json['id'] == null ? undefined : json['id'],\n 'participantId': json['participantId'] == null ? undefined : json['participantId'],\n 'clientId': json['clientId'] == null ? undefined : json['clientId'],\n 'claimType': json['claimType'] == null ? undefined : json['claimType'],\n 'claimValue': json['claimValue'] == null ? undefined : json['claimValue'],\n 'participant': json['participant'] == null ? undefined : ParticipantFromJSON(json['participant']),\n 'clientClaim': json['clientClaim'] == null ? undefined : ClientAllClaimFromJSON(json['clientClaim']),\n };\n}\n\nexport function ParticipantClaimToJSON(value?: ParticipantClaim | null): any {\n if (value == null) {\n return value;\n }\n return {\n \n 'id': value['id'],\n 'participantId': value['participantId'],\n 'clientId': value['clientId'],\n 'claimType': value['claimType'],\n 'claimValue': value['claimValue'],\n 'participant': ParticipantToJSON(value['participant']),\n 'clientClaim': ClientAllClaimToJSON(value['clientClaim']),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { ParticipantAttributeValue } from './ParticipantAttributeValue';\nimport {\n ParticipantAttributeValueFromJSON,\n ParticipantAttributeValueFromJSONTyped,\n ParticipantAttributeValueToJSON,\n} from './ParticipantAttributeValue';\nimport type { ParticipantClaim } from './ParticipantClaim';\nimport {\n ParticipantClaimFromJSON,\n ParticipantClaimFromJSONTyped,\n ParticipantClaimToJSON,\n} from './ParticipantClaim';\nimport type { ParticipantRole } from './ParticipantRole';\nimport {\n ParticipantRoleFromJSON,\n ParticipantRoleFromJSONTyped,\n ParticipantRoleToJSON,\n} from './ParticipantRole';\nimport type { ParticipantType } from './ParticipantType';\nimport {\n ParticipantTypeFromJSON,\n ParticipantTypeFromJSONTyped,\n ParticipantTypeToJSON,\n} from './ParticipantType';\nimport type { ParticipantUser } from './ParticipantUser';\nimport {\n ParticipantUserFromJSON,\n ParticipantUserFromJSONTyped,\n ParticipantUserToJSON,\n} from './ParticipantUser';\n\n/**\n * Модель участника\n * @export\n * @interface Participant\n */\nexport interface Participant {\n /**\n * Идентификатор\n * @type {number}\n * @memberof Participant\n */\n id?: number;\n /**\n * Имя\n * @type {string}\n * @memberof Participant\n */\n name?: string;\n /**\n * Описание\n * @type {string}\n * @memberof Participant\n */\n description?: string;\n /**\n * Статус участника\n * @type {string}\n * @memberof Participant\n */\n status?: string;\n /**\n * \n * @type {ParticipantType}\n * @memberof Participant\n */\n participantTypes?: ParticipantType;\n /**\n * Значения атрибутов\n * @type {Array}\n * @memberof Participant\n */\n attributeValues?: Array;\n /**\n * Клеймы участника\n * @type {Array}\n * @memberof Participant\n */\n participantClaims?: Array;\n /**\n * Пользователи в участнике\n * @type {Array}\n * @memberof Participant\n */\n participantUsers?: Array;\n /**\n * Роли участника\n * @type {Array}\n * @memberof Participant\n */\n participantRoles?: Array;\n}\n\n/**\n * Check if a given object implements the Participant interface.\n */\nexport function instanceOfParticipant(value: object): boolean {\n return true;\n}\n\nexport function ParticipantFromJSON(json: any): Participant {\n return ParticipantFromJSONTyped(json, false);\n}\n\nexport function ParticipantFromJSONTyped(json: any, ignoreDiscriminator: boolean): Participant {\n if (json == null) {\n return json;\n }\n return {\n \n 'id': json['id'] == null ? undefined : json['id'],\n 'name': json['name'] == null ? undefined : json['name'],\n 'description': json['description'] == null ? undefined : json['description'],\n 'status': json['status'] == null ? undefined : json['status'],\n 'participantTypes': json['participantTypes'] == null ? undefined : ParticipantTypeFromJSON(json['participantTypes']),\n 'attributeValues': json['attributeValues'] == null ? undefined : ((json['attributeValues'] as Array).map(ParticipantAttributeValueFromJSON)),\n 'participantClaims': json['participantClaims'] == null ? undefined : ((json['participantClaims'] as Array).map(ParticipantClaimFromJSON)),\n 'participantUsers': json['participantUsers'] == null ? undefined : ((json['participantUsers'] as Array).map(ParticipantUserFromJSON)),\n 'participantRoles': json['participantRoles'] == null ? undefined : ((json['participantRoles'] as Array).map(ParticipantRoleFromJSON)),\n };\n}\n\nexport function ParticipantToJSON(value?: Participant | null): any {\n if (value == null) {\n return value;\n }\n return {\n \n 'id': value['id'],\n 'name': value['name'],\n 'description': value['description'],\n 'status': value['status'],\n 'participantTypes': ParticipantTypeToJSON(value['participantTypes']),\n 'attributeValues': value['attributeValues'] == null ? undefined : ((value['attributeValues'] as Array).map(ParticipantAttributeValueToJSON)),\n 'participantClaims': value['participantClaims'] == null ? undefined : ((value['participantClaims'] as Array).map(ParticipantClaimToJSON)),\n 'participantUsers': value['participantUsers'] == null ? undefined : ((value['participantUsers'] as Array).map(ParticipantUserToJSON)),\n 'participantRoles': value['participantRoles'] == null ? undefined : ((value['participantRoles'] as Array).map(ParticipantRoleToJSON)),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { ApplicationUser } from './ApplicationUser';\nimport {\n ApplicationUserFromJSON,\n ApplicationUserFromJSONTyped,\n ApplicationUserToJSON,\n} from './ApplicationUser';\nimport type { Participant } from './Participant';\nimport {\n ParticipantFromJSON,\n ParticipantFromJSONTyped,\n ParticipantToJSON,\n} from './Participant';\nimport type { ParticipantUserClaim } from './ParticipantUserClaim';\nimport {\n ParticipantUserClaimFromJSON,\n ParticipantUserClaimFromJSONTyped,\n ParticipantUserClaimToJSON,\n} from './ParticipantUserClaim';\nimport type { ParticipantUserRole } from './ParticipantUserRole';\nimport {\n ParticipantUserRoleFromJSON,\n ParticipantUserRoleFromJSONTyped,\n ParticipantUserRoleToJSON,\n} from './ParticipantUserRole';\n\n/**\n * \n * @export\n * @interface ParticipantUser\n */\nexport interface ParticipantUser {\n /**\n * \n * @type {number}\n * @memberof ParticipantUser\n */\n id?: number;\n /**\n * \n * @type {number}\n * @memberof ParticipantUser\n */\n participantId?: number;\n /**\n * \n * @type {boolean}\n * @memberof ParticipantUser\n */\n isAdmin?: boolean;\n /**\n * \n * @type {string}\n * @memberof ParticipantUser\n */\n userId?: string;\n /**\n * \n * @type {ApplicationUser}\n * @memberof ParticipantUser\n */\n user?: ApplicationUser;\n /**\n * \n * @type {Participant}\n * @memberof ParticipantUser\n */\n participant?: Participant;\n /**\n * \n * @type {Array}\n * @memberof ParticipantUser\n */\n participantUserClaims?: Array;\n /**\n * \n * @type {Array}\n * @memberof ParticipantUser\n */\n participantUserRoles?: Array;\n}\n\n/**\n * Check if a given object implements the ParticipantUser interface.\n */\nexport function instanceOfParticipantUser(value: object): boolean {\n return true;\n}\n\nexport function ParticipantUserFromJSON(json: any): ParticipantUser {\n return ParticipantUserFromJSONTyped(json, false);\n}\n\nexport function ParticipantUserFromJSONTyped(json: any, ignoreDiscriminator: boolean): ParticipantUser {\n if (json == null) {\n return json;\n }\n return {\n \n 'id': json['id'] == null ? undefined : json['id'],\n 'participantId': json['participantId'] == null ? undefined : json['participantId'],\n 'isAdmin': json['isAdmin'] == null ? undefined : json['isAdmin'],\n 'userId': json['userId'] == null ? undefined : json['userId'],\n 'user': json['user'] == null ? undefined : ApplicationUserFromJSON(json['user']),\n 'participant': json['participant'] == null ? undefined : ParticipantFromJSON(json['participant']),\n 'participantUserClaims': json['participantUserClaims'] == null ? undefined : ((json['participantUserClaims'] as Array).map(ParticipantUserClaimFromJSON)),\n 'participantUserRoles': json['participantUserRoles'] == null ? undefined : ((json['participantUserRoles'] as Array).map(ParticipantUserRoleFromJSON)),\n };\n}\n\nexport function ParticipantUserToJSON(value?: ParticipantUser | null): any {\n if (value == null) {\n return value;\n }\n return {\n \n 'id': value['id'],\n 'participantId': value['participantId'],\n 'isAdmin': value['isAdmin'],\n 'userId': value['userId'],\n 'user': ApplicationUserToJSON(value['user']),\n 'participant': ParticipantToJSON(value['participant']),\n 'participantUserClaims': value['participantUserClaims'] == null ? undefined : ((value['participantUserClaims'] as Array).map(ParticipantUserClaimToJSON)),\n 'participantUserRoles': value['participantUserRoles'] == null ? undefined : ((value['participantUserRoles'] as Array).map(ParticipantUserRoleToJSON)),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { ApplicationUserClaim } from './ApplicationUserClaim';\nimport {\n ApplicationUserClaimFromJSON,\n ApplicationUserClaimFromJSONTyped,\n ApplicationUserClaimToJSON,\n} from './ApplicationUserClaim';\nimport type { ApplicationUserLogin } from './ApplicationUserLogin';\nimport {\n ApplicationUserLoginFromJSON,\n ApplicationUserLoginFromJSONTyped,\n ApplicationUserLoginToJSON,\n} from './ApplicationUserLogin';\nimport type { ApplicationUserRole } from './ApplicationUserRole';\nimport {\n ApplicationUserRoleFromJSON,\n ApplicationUserRoleFromJSONTyped,\n ApplicationUserRoleToJSON,\n} from './ApplicationUserRole';\nimport type { ApplicationUserToken } from './ApplicationUserToken';\nimport {\n ApplicationUserTokenFromJSON,\n ApplicationUserTokenFromJSONTyped,\n ApplicationUserTokenToJSON,\n} from './ApplicationUserToken';\nimport type { ParticipantUser } from './ParticipantUser';\nimport {\n ParticipantUserFromJSON,\n ParticipantUserFromJSONTyped,\n ParticipantUserToJSON,\n} from './ParticipantUser';\n\n/**\n * \n * @export\n * @interface ApplicationUser\n */\nexport interface ApplicationUser {\n /**\n * \n * @type {string}\n * @memberof ApplicationUser\n */\n id?: string;\n /**\n * \n * @type {string}\n * @memberof ApplicationUser\n */\n userName?: string;\n /**\n * \n * @type {string}\n * @memberof ApplicationUser\n */\n normalizedUserName?: string;\n /**\n * \n * @type {string}\n * @memberof ApplicationUser\n */\n email?: string;\n /**\n * \n * @type {string}\n * @memberof ApplicationUser\n */\n normalizedEmail?: string;\n /**\n * \n * @type {boolean}\n * @memberof ApplicationUser\n */\n emailConfirmed?: boolean;\n /**\n * \n * @type {string}\n * @memberof ApplicationUser\n */\n passwordHash?: string;\n /**\n * \n * @type {string}\n * @memberof ApplicationUser\n */\n securityStamp?: string;\n /**\n * \n * @type {string}\n * @memberof ApplicationUser\n */\n concurrencyStamp?: string;\n /**\n * \n * @type {string}\n * @memberof ApplicationUser\n */\n phoneNumber?: string;\n /**\n * \n * @type {boolean}\n * @memberof ApplicationUser\n */\n phoneNumberConfirmed?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ApplicationUser\n */\n twoFactorEnabled?: boolean;\n /**\n * \n * @type {Date}\n * @memberof ApplicationUser\n */\n lockoutEnd?: Date;\n /**\n * \n * @type {boolean}\n * @memberof ApplicationUser\n */\n lockoutEnabled?: boolean;\n /**\n * \n * @type {number}\n * @memberof ApplicationUser\n */\n accessFailedCount?: number;\n /**\n * \n * @type {Array}\n * @memberof ApplicationUser\n */\n claims?: Array;\n /**\n * \n * @type {Array}\n * @memberof ApplicationUser\n */\n logins?: Array;\n /**\n * \n * @type {Array}\n * @memberof ApplicationUser\n */\n tokens?: Array;\n /**\n * \n * @type {Array}\n * @memberof ApplicationUser\n */\n userRoles?: Array;\n /**\n * \n * @type {Array}\n * @memberof ApplicationUser\n */\n participantUsers?: Array;\n /**\n * Числовой уникальный порядковый идентификатор записи\n * @type {number}\n * @memberof ApplicationUser\n */\n numId?: number;\n /**\n * \n * @type {string}\n * @memberof ApplicationUser\n */\n firstName?: string;\n /**\n * \n * @type {string}\n * @memberof ApplicationUser\n */\n lastName?: string;\n /**\n * \n * @type {string}\n * @memberof ApplicationUser\n */\n middleName?: string;\n /**\n * \n * @type {boolean}\n * @memberof ApplicationUser\n */\n isEnabled?: boolean;\n /**\n * \n * @type {Date}\n * @memberof ApplicationUser\n */\n createDate?: Date;\n /**\n * \n * @type {Date}\n * @memberof ApplicationUser\n */\n auditDate?: Date;\n /**\n * \n * @type {Date}\n * @memberof ApplicationUser\n */\n claimsAuditDate?: Date;\n}\n\n/**\n * Check if a given object implements the ApplicationUser interface.\n */\nexport function instanceOfApplicationUser(value: object): boolean {\n return true;\n}\n\nexport function ApplicationUserFromJSON(json: any): ApplicationUser {\n return ApplicationUserFromJSONTyped(json, false);\n}\n\nexport function ApplicationUserFromJSONTyped(json: any, ignoreDiscriminator: boolean): ApplicationUser {\n if (json == null) {\n return json;\n }\n return {\n \n 'id': json['id'] == null ? undefined : json['id'],\n 'userName': json['userName'] == null ? undefined : json['userName'],\n 'normalizedUserName': json['normalizedUserName'] == null ? undefined : json['normalizedUserName'],\n 'email': json['email'] == null ? undefined : json['email'],\n 'normalizedEmail': json['normalizedEmail'] == null ? undefined : json['normalizedEmail'],\n 'emailConfirmed': json['emailConfirmed'] == null ? undefined : json['emailConfirmed'],\n 'passwordHash': json['passwordHash'] == null ? undefined : json['passwordHash'],\n 'securityStamp': json['securityStamp'] == null ? undefined : json['securityStamp'],\n 'concurrencyStamp': json['concurrencyStamp'] == null ? undefined : json['concurrencyStamp'],\n 'phoneNumber': json['phoneNumber'] == null ? undefined : json['phoneNumber'],\n 'phoneNumberConfirmed': json['phoneNumberConfirmed'] == null ? undefined : json['phoneNumberConfirmed'],\n 'twoFactorEnabled': json['twoFactorEnabled'] == null ? undefined : json['twoFactorEnabled'],\n 'lockoutEnd': json['lockoutEnd'] == null ? undefined : (new Date(json['lockoutEnd'])),\n 'lockoutEnabled': json['lockoutEnabled'] == null ? undefined : json['lockoutEnabled'],\n 'accessFailedCount': json['accessFailedCount'] == null ? undefined : json['accessFailedCount'],\n 'claims': json['claims'] == null ? undefined : ((json['claims'] as Array).map(ApplicationUserClaimFromJSON)),\n 'logins': json['logins'] == null ? undefined : ((json['logins'] as Array).map(ApplicationUserLoginFromJSON)),\n 'tokens': json['tokens'] == null ? undefined : ((json['tokens'] as Array).map(ApplicationUserTokenFromJSON)),\n 'userRoles': json['userRoles'] == null ? undefined : ((json['userRoles'] as Array).map(ApplicationUserRoleFromJSON)),\n 'participantUsers': json['participantUsers'] == null ? undefined : ((json['participantUsers'] as Array).map(ParticipantUserFromJSON)),\n 'numId': json['numId'] == null ? undefined : json['numId'],\n 'firstName': json['firstName'] == null ? undefined : json['firstName'],\n 'lastName': json['lastName'] == null ? undefined : json['lastName'],\n 'middleName': json['middleName'] == null ? undefined : json['middleName'],\n 'isEnabled': json['isEnabled'] == null ? undefined : json['isEnabled'],\n 'createDate': json['createDate'] == null ? undefined : (new Date(json['createDate'])),\n 'auditDate': json['auditDate'] == null ? undefined : (new Date(json['auditDate'])),\n 'claimsAuditDate': json['claimsAuditDate'] == null ? undefined : (new Date(json['claimsAuditDate'])),\n };\n}\n\nexport function ApplicationUserToJSON(value?: ApplicationUser | null): any {\n if (value == null) {\n return value;\n }\n return {\n \n 'id': value['id'],\n 'userName': value['userName'],\n 'normalizedUserName': value['normalizedUserName'],\n 'email': value['email'],\n 'normalizedEmail': value['normalizedEmail'],\n 'emailConfirmed': value['emailConfirmed'],\n 'passwordHash': value['passwordHash'],\n 'securityStamp': value['securityStamp'],\n 'concurrencyStamp': value['concurrencyStamp'],\n 'phoneNumber': value['phoneNumber'],\n 'phoneNumberConfirmed': value['phoneNumberConfirmed'],\n 'twoFactorEnabled': value['twoFactorEnabled'],\n 'lockoutEnd': value['lockoutEnd'] == null ? undefined : ((value['lockoutEnd'] as any).toISOString()),\n 'lockoutEnabled': value['lockoutEnabled'],\n 'accessFailedCount': value['accessFailedCount'],\n 'claims': value['claims'] == null ? undefined : ((value['claims'] as Array).map(ApplicationUserClaimToJSON)),\n 'logins': value['logins'] == null ? undefined : ((value['logins'] as Array).map(ApplicationUserLoginToJSON)),\n 'tokens': value['tokens'] == null ? undefined : ((value['tokens'] as Array).map(ApplicationUserTokenToJSON)),\n 'userRoles': value['userRoles'] == null ? undefined : ((value['userRoles'] as Array).map(ApplicationUserRoleToJSON)),\n 'participantUsers': value['participantUsers'] == null ? undefined : ((value['participantUsers'] as Array).map(ParticipantUserToJSON)),\n 'numId': value['numId'],\n 'firstName': value['firstName'],\n 'lastName': value['lastName'],\n 'middleName': value['middleName'],\n 'isEnabled': value['isEnabled'],\n 'createDate': value['createDate'] == null ? undefined : ((value['createDate'] as any).toISOString()),\n 'auditDate': value['auditDate'] == null ? undefined : ((value['auditDate'] as any).toISOString()),\n 'claimsAuditDate': value['claimsAuditDate'] == null ? undefined : ((value['claimsAuditDate'] as any).toISOString()),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { ApplicationRole } from './ApplicationRole';\nimport {\n ApplicationRoleFromJSON,\n ApplicationRoleFromJSONTyped,\n ApplicationRoleToJSON,\n} from './ApplicationRole';\nimport type { ApplicationUser } from './ApplicationUser';\nimport {\n ApplicationUserFromJSON,\n ApplicationUserFromJSONTyped,\n ApplicationUserToJSON,\n} from './ApplicationUser';\n\n/**\n * \n * @export\n * @interface ApplicationUserRole\n */\nexport interface ApplicationUserRole {\n /**\n * \n * @type {string}\n * @memberof ApplicationUserRole\n */\n userId: string;\n /**\n * \n * @type {ApplicationUser}\n * @memberof ApplicationUserRole\n */\n user?: ApplicationUser;\n /**\n * \n * @type {string}\n * @memberof ApplicationUserRole\n */\n roleId: string;\n /**\n * \n * @type {ApplicationRole}\n * @memberof ApplicationUserRole\n */\n role?: ApplicationRole;\n}\n\n/**\n * Check if a given object implements the ApplicationUserRole interface.\n */\nexport function instanceOfApplicationUserRole(value: object): boolean {\n if (!('userId' in value)) return false;\n if (!('roleId' in value)) return false;\n return true;\n}\n\nexport function ApplicationUserRoleFromJSON(json: any): ApplicationUserRole {\n return ApplicationUserRoleFromJSONTyped(json, false);\n}\n\nexport function ApplicationUserRoleFromJSONTyped(json: any, ignoreDiscriminator: boolean): ApplicationUserRole {\n if (json == null) {\n return json;\n }\n return {\n \n 'userId': json['userId'],\n 'user': json['user'] == null ? undefined : ApplicationUserFromJSON(json['user']),\n 'roleId': json['roleId'],\n 'role': json['role'] == null ? undefined : ApplicationRoleFromJSON(json['role']),\n };\n}\n\nexport function ApplicationUserRoleToJSON(value?: ApplicationUserRole | null): any {\n if (value == null) {\n return value;\n }\n return {\n \n 'userId': value['userId'],\n 'user': ApplicationUserToJSON(value['user']),\n 'roleId': value['roleId'],\n 'role': ApplicationRoleToJSON(value['role']),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { ApplicationRoleClaim } from './ApplicationRoleClaim';\nimport {\n ApplicationRoleClaimFromJSON,\n ApplicationRoleClaimFromJSONTyped,\n ApplicationRoleClaimToJSON,\n} from './ApplicationRoleClaim';\nimport type { ApplicationUserRole } from './ApplicationUserRole';\nimport {\n ApplicationUserRoleFromJSON,\n ApplicationUserRoleFromJSONTyped,\n ApplicationUserRoleToJSON,\n} from './ApplicationUserRole';\n\n/**\n * \n * @export\n * @interface ApplicationRole\n */\nexport interface ApplicationRole {\n /**\n * \n * @type {string}\n * @memberof ApplicationRole\n */\n id?: string;\n /**\n * \n * @type {string}\n * @memberof ApplicationRole\n */\n name?: string;\n /**\n * \n * @type {string}\n * @memberof ApplicationRole\n */\n normalizedName?: string;\n /**\n * \n * @type {string}\n * @memberof ApplicationRole\n */\n concurrencyStamp?: string;\n /**\n * \n * @type {string}\n * @memberof ApplicationRole\n */\n description?: string;\n /**\n * \n * @type {Date}\n * @memberof ApplicationRole\n */\n createdDate?: Date;\n /**\n * \n * @type {string}\n * @memberof ApplicationRole\n */\n clientId: string;\n /**\n * \n * @type {Array}\n * @memberof ApplicationRole\n */\n userRoles?: Array;\n /**\n * \n * @type {Array}\n * @memberof ApplicationRole\n */\n roleClaims?: Array;\n}\n\n/**\n * Check if a given object implements the ApplicationRole interface.\n */\nexport function instanceOfApplicationRole(value: object): boolean {\n if (!('clientId' in value)) return false;\n return true;\n}\n\nexport function ApplicationRoleFromJSON(json: any): ApplicationRole {\n return ApplicationRoleFromJSONTyped(json, false);\n}\n\nexport function ApplicationRoleFromJSONTyped(json: any, ignoreDiscriminator: boolean): ApplicationRole {\n if (json == null) {\n return json;\n }\n return {\n \n 'id': json['id'] == null ? undefined : json['id'],\n 'name': json['name'] == null ? undefined : json['name'],\n 'normalizedName': json['normalizedName'] == null ? undefined : json['normalizedName'],\n 'concurrencyStamp': json['concurrencyStamp'] == null ? undefined : json['concurrencyStamp'],\n 'description': json['description'] == null ? undefined : json['description'],\n 'createdDate': json['createdDate'] == null ? undefined : (new Date(json['createdDate'])),\n 'clientId': json['clientId'],\n 'userRoles': json['userRoles'] == null ? undefined : ((json['userRoles'] as Array).map(ApplicationUserRoleFromJSON)),\n 'roleClaims': json['roleClaims'] == null ? undefined : ((json['roleClaims'] as Array).map(ApplicationRoleClaimFromJSON)),\n };\n}\n\nexport function ApplicationRoleToJSON(value?: ApplicationRole | null): any {\n if (value == null) {\n return value;\n }\n return {\n \n 'id': value['id'],\n 'name': value['name'],\n 'normalizedName': value['normalizedName'],\n 'concurrencyStamp': value['concurrencyStamp'],\n 'description': value['description'],\n 'createdDate': value['createdDate'] == null ? undefined : ((value['createdDate']).toISOString()),\n 'clientId': value['clientId'],\n 'userRoles': value['userRoles'] == null ? undefined : ((value['userRoles'] as Array).map(ApplicationUserRoleToJSON)),\n 'roleClaims': value['roleClaims'] == null ? undefined : ((value['roleClaims'] as Array).map(ApplicationRoleClaimToJSON)),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface AuthClaimReadDto\n */\nexport interface AuthClaimReadDto {\n /**\n * \n * @type {string}\n * @memberof AuthClaimReadDto\n */\n type?: string;\n /**\n * \n * @type {string}\n * @memberof AuthClaimReadDto\n */\n value?: string;\n}\n\n/**\n * Check if a given object implements the AuthClaimReadDto interface.\n */\nexport function instanceOfAuthClaimReadDto(value: object): boolean {\n return true;\n}\n\nexport function AuthClaimReadDtoFromJSON(json: any): AuthClaimReadDto {\n return AuthClaimReadDtoFromJSONTyped(json, false);\n}\n\nexport function AuthClaimReadDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): AuthClaimReadDto {\n if (json == null) {\n return json;\n }\n return {\n \n 'type': json['type'] == null ? undefined : json['type'],\n 'value': json['value'] == null ? undefined : json['value'],\n };\n}\n\nexport function AuthClaimReadDtoToJSON(value?: AuthClaimReadDto | null): any {\n if (value == null) {\n return value;\n }\n return {\n \n 'type': value['type'],\n 'value': value['value'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface ClaimDto\n */\nexport interface ClaimDto {\n /**\n * \n * @type {string}\n * @memberof ClaimDto\n */\n type: string;\n /**\n * \n * @type {string}\n * @memberof ClaimDto\n */\n value?: string;\n}\n\n/**\n * Check if a given object implements the ClaimDto interface.\n */\nexport function instanceOfClaimDto(value: object): boolean {\n if (!('type' in value)) return false;\n return true;\n}\n\nexport function ClaimDtoFromJSON(json: any): ClaimDto {\n return ClaimDtoFromJSONTyped(json, false);\n}\n\nexport function ClaimDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): ClaimDto {\n if (json == null) {\n return json;\n }\n return {\n \n 'type': json['type'],\n 'value': json['value'] == null ? undefined : json['value'],\n };\n}\n\nexport function ClaimDtoToJSON(value?: ClaimDto | null): any {\n if (value == null) {\n return value;\n }\n return {\n \n 'type': value['type'],\n 'value': value['value'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface ClaimValuesTree\n */\nexport interface ClaimValuesTree {\n /**\n * \n * @type {string}\n * @memberof ClaimValuesTree\n */\n value?: string;\n /**\n * \n * @type {string}\n * @memberof ClaimValuesTree\n */\n description?: string;\n /**\n * \n * @type {Array}\n * @memberof ClaimValuesTree\n */\n children?: Array;\n}\n\n/**\n * Check if a given object implements the ClaimValuesTree interface.\n */\nexport function instanceOfClaimValuesTree(value: object): boolean {\n return true;\n}\n\nexport function ClaimValuesTreeFromJSON(json: any): ClaimValuesTree {\n return ClaimValuesTreeFromJSONTyped(json, false);\n}\n\nexport function ClaimValuesTreeFromJSONTyped(json: any, ignoreDiscriminator: boolean): ClaimValuesTree {\n if (json == null) {\n return json;\n }\n return {\n \n 'value': json['value'] == null ? undefined : json['value'],\n 'description': json['description'] == null ? undefined : json['description'],\n 'children': json['children'] == null ? undefined : ((json['children'] as Array).map(ClaimValuesTreeFromJSON)),\n };\n}\n\nexport function ClaimValuesTreeToJSON(value?: ClaimValuesTree | null): any {\n if (value == null) {\n return value;\n }\n return {\n \n 'value': value['value'],\n 'description': value['description'],\n 'children': value['children'] == null ? undefined : ((value['children'] as Array).map(ClaimValuesTreeToJSON)),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface ClientAllClaimReadDto\n */\nexport interface ClientAllClaimReadDto {\n /**\n * Тип клейма\n * @type {string}\n * @memberof ClientAllClaimReadDto\n */\n clientId: string;\n /**\n * Имя клейма\n * @type {string}\n * @memberof ClientAllClaimReadDto\n */\n clientName?: string;\n /**\n * Тип клейма\n * @type {string}\n * @memberof ClientAllClaimReadDto\n */\n type: string;\n /**\n * Значение клейма\n * @type {string}\n * @memberof ClientAllClaimReadDto\n */\n value: string;\n /**\n * Описание клейма\n * @type {string}\n * @memberof ClientAllClaimReadDto\n */\n description?: string;\n}\n\n/**\n * Check if a given object implements the ClientAllClaimReadDto interface.\n */\nexport function instanceOfClientAllClaimReadDto(value: object): boolean {\n if (!('clientId' in value)) return false;\n if (!('type' in value)) return false;\n if (!('value' in value)) return false;\n return true;\n}\n\nexport function ClientAllClaimReadDtoFromJSON(json: any): ClientAllClaimReadDto {\n return ClientAllClaimReadDtoFromJSONTyped(json, false);\n}\n\nexport function ClientAllClaimReadDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): ClientAllClaimReadDto {\n if (json == null) {\n return json;\n }\n return {\n \n 'clientId': json['clientId'],\n 'clientName': json['clientName'] == null ? undefined : json['clientName'],\n 'type': json['type'],\n 'value': json['value'],\n 'description': json['description'] == null ? undefined : json['description'],\n };\n}\n\nexport function ClientAllClaimReadDtoToJSON(value?: ClientAllClaimReadDto | null): any {\n if (value == null) {\n return value;\n }\n return {\n \n 'clientId': value['clientId'],\n 'clientName': value['clientName'],\n 'type': value['type'],\n 'value': value['value'],\n 'description': value['description'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface ClientClaimReadDto\n */\nexport interface ClientClaimReadDto {\n /**\n * Тип клейма\n * @type {string}\n * @memberof ClientClaimReadDto\n */\n type?: string;\n /**\n * Значение клейма\n * @type {string}\n * @memberof ClientClaimReadDto\n */\n value?: string;\n}\n\n/**\n * Check if a given object implements the ClientClaimReadDto interface.\n */\nexport function instanceOfClientClaimReadDto(value: object): boolean {\n return true;\n}\n\nexport function ClientClaimReadDtoFromJSON(json: any): ClientClaimReadDto {\n return ClientClaimReadDtoFromJSONTyped(json, false);\n}\n\nexport function ClientClaimReadDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): ClientClaimReadDto {\n if (json == null) {\n return json;\n }\n return {\n \n 'type': json['type'] == null ? undefined : json['type'],\n 'value': json['value'] == null ? undefined : json['value'],\n };\n}\n\nexport function ClientClaimReadDtoToJSON(value?: ClientClaimReadDto | null): any {\n if (value == null) {\n return value;\n }\n return {\n \n 'type': value['type'],\n 'value': value['value'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface ClientReadDto\n */\nexport interface ClientReadDto {\n /**\n * ID Клиента\n * @type {string}\n * @memberof ClientReadDto\n */\n id?: string;\n /**\n * Имя клиента\n * @type {string}\n * @memberof ClientReadDto\n */\n name?: string;\n}\n\n/**\n * Check if a given object implements the ClientReadDto interface.\n */\nexport function instanceOfClientReadDto(value: object): boolean {\n return true;\n}\n\nexport function ClientReadDtoFromJSON(json: any): ClientReadDto {\n return ClientReadDtoFromJSONTyped(json, false);\n}\n\nexport function ClientReadDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): ClientReadDto {\n if (json == null) {\n return json;\n }\n return {\n \n 'id': json['id'] == null ? undefined : json['id'],\n 'name': json['name'] == null ? undefined : json['name'],\n };\n}\n\nexport function ClientReadDtoToJSON(value?: ClientReadDto | null): any {\n if (value == null) {\n return value;\n }\n return {\n \n 'id': value['id'],\n 'name': value['name'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface GroupingInfo\n */\nexport interface GroupingInfo {\n /**\n * \n * @type {string}\n * @memberof GroupingInfo\n */\n selector?: string;\n /**\n * \n * @type {boolean}\n * @memberof GroupingInfo\n */\n desc?: boolean;\n /**\n * \n * @type {string}\n * @memberof GroupingInfo\n */\n groupInterval?: string;\n /**\n * \n * @type {boolean}\n * @memberof GroupingInfo\n */\n isExpanded?: boolean;\n}\n\n/**\n * Check if a given object implements the GroupingInfo interface.\n */\nexport function instanceOfGroupingInfo(value: object): boolean {\n return true;\n}\n\nexport function GroupingInfoFromJSON(json: any): GroupingInfo {\n return GroupingInfoFromJSONTyped(json, false);\n}\n\nexport function GroupingInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): GroupingInfo {\n if (json == null) {\n return json;\n }\n return {\n \n 'selector': json['selector'] == null ? undefined : json['selector'],\n 'desc': json['desc'] == null ? undefined : json['desc'],\n 'groupInterval': json['groupInterval'] == null ? undefined : json['groupInterval'],\n 'isExpanded': json['isExpanded'] == null ? undefined : json['isExpanded'],\n };\n}\n\nexport function GroupingInfoToJSON(value?: GroupingInfo | null): any {\n if (value == null) {\n return value;\n }\n return {\n \n 'selector': value['selector'],\n 'desc': value['desc'],\n 'groupInterval': value['groupInterval'],\n 'isExpanded': value['isExpanded'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface SortingInfo\n */\nexport interface SortingInfo {\n /**\n * \n * @type {string}\n * @memberof SortingInfo\n */\n selector?: string;\n /**\n * \n * @type {boolean}\n * @memberof SortingInfo\n */\n desc?: boolean;\n}\n\n/**\n * Check if a given object implements the SortingInfo interface.\n */\nexport function instanceOfSortingInfo(value: object): boolean {\n return true;\n}\n\nexport function SortingInfoFromJSON(json: any): SortingInfo {\n return SortingInfoFromJSONTyped(json, false);\n}\n\nexport function SortingInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): SortingInfo {\n if (json == null) {\n return json;\n }\n return {\n \n 'selector': json['selector'] == null ? undefined : json['selector'],\n 'desc': json['desc'] == null ? undefined : json['desc'],\n };\n}\n\nexport function SortingInfoToJSON(value?: SortingInfo | null): any {\n if (value == null) {\n return value;\n }\n return {\n \n 'selector': value['selector'],\n 'desc': value['desc'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface SummaryInfo\n */\nexport interface SummaryInfo {\n /**\n * \n * @type {string}\n * @memberof SummaryInfo\n */\n selector?: string;\n /**\n * \n * @type {string}\n * @memberof SummaryInfo\n */\n summaryType?: string;\n}\n\n/**\n * Check if a given object implements the SummaryInfo interface.\n */\nexport function instanceOfSummaryInfo(value: object): boolean {\n return true;\n}\n\nexport function SummaryInfoFromJSON(json: any): SummaryInfo {\n return SummaryInfoFromJSONTyped(json, false);\n}\n\nexport function SummaryInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): SummaryInfo {\n if (json == null) {\n return json;\n }\n return {\n \n 'selector': json['selector'] == null ? undefined : json['selector'],\n 'summaryType': json['summaryType'] == null ? undefined : json['summaryType'],\n };\n}\n\nexport function SummaryInfoToJSON(value?: SummaryInfo | null): any {\n if (value == null) {\n return value;\n }\n return {\n \n 'selector': value['selector'],\n 'summaryType': value['summaryType'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { GroupingInfo } from './GroupingInfo';\nimport {\n GroupingInfoFromJSON,\n GroupingInfoFromJSONTyped,\n GroupingInfoToJSON,\n} from './GroupingInfo';\nimport type { SortingInfo } from './SortingInfo';\nimport {\n SortingInfoFromJSON,\n SortingInfoFromJSONTyped,\n SortingInfoToJSON,\n} from './SortingInfo';\nimport type { SummaryInfo } from './SummaryInfo';\nimport {\n SummaryInfoFromJSON,\n SummaryInfoFromJSONTyped,\n SummaryInfoToJSON,\n} from './SummaryInfo';\n\n/**\n * \n * @export\n * @interface DataSourceLoadOptions\n */\nexport interface DataSourceLoadOptions {\n /**\n * \n * @type {boolean}\n * @memberof DataSourceLoadOptions\n */\n requireTotalCount?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof DataSourceLoadOptions\n */\n requireGroupCount?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof DataSourceLoadOptions\n */\n isCountQuery?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof DataSourceLoadOptions\n */\n isSummaryQuery?: boolean;\n /**\n * \n * @type {number}\n * @memberof DataSourceLoadOptions\n */\n skip?: number;\n /**\n * \n * @type {number}\n * @memberof DataSourceLoadOptions\n */\n take?: number;\n /**\n * \n * @type {Array}\n * @memberof DataSourceLoadOptions\n */\n sort?: Array;\n /**\n * \n * @type {Array}\n * @memberof DataSourceLoadOptions\n */\n group?: Array;\n /**\n * \n * @type {Array}\n * @memberof DataSourceLoadOptions\n */\n filter?: Array;\n /**\n * \n * @type {Array}\n * @memberof DataSourceLoadOptions\n */\n totalSummary?: Array;\n /**\n * \n * @type {Array}\n * @memberof DataSourceLoadOptions\n */\n groupSummary?: Array;\n /**\n * \n * @type {Array}\n * @memberof DataSourceLoadOptions\n */\n select?: Array;\n /**\n * \n * @type {Array}\n * @memberof DataSourceLoadOptions\n */\n preSelect?: Array;\n /**\n * \n * @type {boolean}\n * @memberof DataSourceLoadOptions\n */\n remoteSelect?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof DataSourceLoadOptions\n */\n remoteGrouping?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof DataSourceLoadOptions\n */\n expandLinqSumType?: boolean;\n /**\n * \n * @type {Array}\n * @memberof DataSourceLoadOptions\n */\n primaryKey?: Array;\n /**\n * \n * @type {string}\n * @memberof DataSourceLoadOptions\n */\n defaultSort?: string;\n /**\n * \n * @type {boolean}\n * @memberof DataSourceLoadOptions\n */\n stringToLower?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof DataSourceLoadOptions\n */\n paginateViaPrimaryKey?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof DataSourceLoadOptions\n */\n sortByPrimaryKey?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof DataSourceLoadOptions\n */\n allowAsyncOverSync?: boolean;\n}\n\n/**\n * Check if a given object implements the DataSourceLoadOptions interface.\n */\nexport function instanceOfDataSourceLoadOptions(value: object): boolean {\n return true;\n}\n\nexport function DataSourceLoadOptionsFromJSON(json: any): DataSourceLoadOptions {\n return DataSourceLoadOptionsFromJSONTyped(json, false);\n}\n\nexport function DataSourceLoadOptionsFromJSONTyped(json: any, ignoreDiscriminator: boolean): DataSourceLoadOptions {\n if (json == null) {\n return json;\n }\n return {\n \n 'requireTotalCount': json['requireTotalCount'] == null ? undefined : json['requireTotalCount'],\n 'requireGroupCount': json['requireGroupCount'] == null ? undefined : json['requireGroupCount'],\n 'isCountQuery': json['isCountQuery'] == null ? undefined : json['isCountQuery'],\n 'isSummaryQuery': json['isSummaryQuery'] == null ? undefined : json['isSummaryQuery'],\n 'skip': json['skip'] == null ? undefined : json['skip'],\n 'take': json['take'] == null ? undefined : json['take'],\n 'sort': json['sort'] == null ? undefined : ((json['sort'] as Array).map(SortingInfoFromJSON)),\n 'group': json['group'] == null ? undefined : ((json['group'] as Array).map(GroupingInfoFromJSON)),\n 'filter': json['filter'] == null ? undefined : json['filter'],\n 'totalSummary': json['totalSummary'] == null ? undefined : ((json['totalSummary'] as Array).map(SummaryInfoFromJSON)),\n 'groupSummary': json['groupSummary'] == null ? undefined : ((json['groupSummary'] as Array).map(SummaryInfoFromJSON)),\n 'select': json['select'] == null ? undefined : json['select'],\n 'preSelect': json['preSelect'] == null ? undefined : json['preSelect'],\n 'remoteSelect': json['remoteSelect'] == null ? undefined : json['remoteSelect'],\n 'remoteGrouping': json['remoteGrouping'] == null ? undefined : json['remoteGrouping'],\n 'expandLinqSumType': json['expandLinqSumType'] == null ? undefined : json['expandLinqSumType'],\n 'primaryKey': json['primaryKey'] == null ? undefined : json['primaryKey'],\n 'defaultSort': json['defaultSort'] == null ? undefined : json['defaultSort'],\n 'stringToLower': json['stringToLower'] == null ? undefined : json['stringToLower'],\n 'paginateViaPrimaryKey': json['paginateViaPrimaryKey'] == null ? undefined : json['paginateViaPrimaryKey'],\n 'sortByPrimaryKey': json['sortByPrimaryKey'] == null ? undefined : json['sortByPrimaryKey'],\n 'allowAsyncOverSync': json['allowAsyncOverSync'] == null ? undefined : json['allowAsyncOverSync'],\n };\n}\n\nexport function DataSourceLoadOptionsToJSON(value?: DataSourceLoadOptions | null): any {\n if (value == null) {\n return value;\n }\n return {\n \n 'requireTotalCount': value['requireTotalCount'],\n 'requireGroupCount': value['requireGroupCount'],\n 'isCountQuery': value['isCountQuery'],\n 'isSummaryQuery': value['isSummaryQuery'],\n 'skip': value['skip'],\n 'take': value['take'],\n 'sort': value['sort'] == null ? undefined : ((value['sort'] as Array).map(SortingInfoToJSON)),\n 'group': value['group'] == null ? undefined : ((value['group'] as Array).map(GroupingInfoToJSON)),\n 'filter': value['filter'],\n 'totalSummary': value['totalSummary'] == null ? undefined : ((value['totalSummary'] as Array).map(SummaryInfoToJSON)),\n 'groupSummary': value['groupSummary'] == null ? undefined : ((value['groupSummary'] as Array).map(SummaryInfoToJSON)),\n 'select': value['select'],\n 'preSelect': value['preSelect'],\n 'remoteSelect': value['remoteSelect'],\n 'remoteGrouping': value['remoteGrouping'],\n 'expandLinqSumType': value['expandLinqSumType'],\n 'primaryKey': value['primaryKey'],\n 'defaultSort': value['defaultSort'],\n 'stringToLower': value['stringToLower'],\n 'paginateViaPrimaryKey': value['paginateViaPrimaryKey'],\n 'sortByPrimaryKey': value['sortByPrimaryKey'],\n 'allowAsyncOverSync': value['allowAsyncOverSync'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface ExtensionDto\n */\nexport interface ExtensionDto {\n /**\n * \n * @type {number}\n * @memberof ExtensionDto\n */\n id: number;\n /**\n * \n * @type {string}\n * @memberof ExtensionDto\n */\n alias: string;\n /**\n * \n * @type {string}\n * @memberof ExtensionDto\n */\n name?: string;\n}\n\n/**\n * Check if a given object implements the ExtensionDto interface.\n */\nexport function instanceOfExtensionDto(value: object): boolean {\n if (!('id' in value)) return false;\n if (!('alias' in value)) return false;\n return true;\n}\n\nexport function ExtensionDtoFromJSON(json: any): ExtensionDto {\n return ExtensionDtoFromJSONTyped(json, false);\n}\n\nexport function ExtensionDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): ExtensionDto {\n if (json == null) {\n return json;\n }\n return {\n \n 'id': json['id'],\n 'alias': json['alias'],\n 'name': json['name'] == null ? undefined : json['name'],\n };\n}\n\nexport function ExtensionDtoToJSON(value?: ExtensionDto | null): any {\n if (value == null) {\n return value;\n }\n return {\n \n 'id': value['id'],\n 'alias': value['alias'],\n 'name': value['name'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * DTO для создания группы\n * @export\n * @interface GroupCreateDto\n */\nexport interface GroupCreateDto {\n /**\n * ID модуля\n * @type {string}\n * @memberof GroupCreateDto\n */\n clientId: string;\n /**\n * Имя группы\n * @type {string}\n * @memberof GroupCreateDto\n */\n name?: string;\n /**\n * Описание группы\n * @type {string}\n * @memberof GroupCreateDto\n */\n description?: string;\n}\n\n/**\n * Check if a given object implements the GroupCreateDto interface.\n */\nexport function instanceOfGroupCreateDto(value: object): boolean {\n if (!('clientId' in value)) return false;\n return true;\n}\n\nexport function GroupCreateDtoFromJSON(json: any): GroupCreateDto {\n return GroupCreateDtoFromJSONTyped(json, false);\n}\n\nexport function GroupCreateDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): GroupCreateDto {\n if (json == null) {\n return json;\n }\n return {\n \n 'clientId': json['clientId'],\n 'name': json['name'] == null ? undefined : json['name'],\n 'description': json['description'] == null ? undefined : json['description'],\n };\n}\n\nexport function GroupCreateDtoToJSON(value?: GroupCreateDto | null): any {\n if (value == null) {\n return value;\n }\n return {\n \n 'clientId': value['clientId'],\n 'name': value['name'],\n 'description': value['description'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * DTO для отправки данных о группе в UI\n * @export\n * @interface GroupReadDto\n */\nexport interface GroupReadDto {\n /**\n * ID группы\n * @type {string}\n * @memberof GroupReadDto\n */\n id?: string;\n /**\n * ID Клиента, для которого создана группа\n * @type {string}\n * @memberof GroupReadDto\n */\n clientId: string;\n /**\n * Описание клиента, для которого создана группа\n * @type {string}\n * @memberof GroupReadDto\n */\n clientName?: string;\n /**\n * Имя группы\n * @type {string}\n * @memberof GroupReadDto\n */\n name?: string;\n /**\n * Описание группы\n * @type {string}\n * @memberof GroupReadDto\n */\n description?: string;\n /**\n * Дата создания группы\n * @type {Date}\n * @memberof GroupReadDto\n */\n createdDate?: Date;\n}\n\n/**\n * Check if a given object implements the GroupReadDto interface.\n */\nexport function instanceOfGroupReadDto(value: object): boolean {\n if (!('clientId' in value)) return false;\n return true;\n}\n\nexport function GroupReadDtoFromJSON(json: any): GroupReadDto {\n return GroupReadDtoFromJSONTyped(json, false);\n}\n\nexport function GroupReadDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): GroupReadDto {\n if (json == null) {\n return json;\n }\n return {\n \n 'id': json['id'] == null ? undefined : json['id'],\n 'clientId': json['clientId'],\n 'clientName': json['clientName'] == null ? undefined : json['clientName'],\n 'name': json['name'] == null ? undefined : json['name'],\n 'description': json['description'] == null ? undefined : json['description'],\n 'createdDate': json['createdDate'] == null ? undefined : (new Date(json['createdDate'])),\n };\n}\n\nexport function GroupReadDtoToJSON(value?: GroupReadDto | null): any {\n if (value == null) {\n return value;\n }\n return {\n \n 'id': value['id'],\n 'clientId': value['clientId'],\n 'clientName': value['clientName'],\n 'name': value['name'],\n 'description': value['description'],\n 'createdDate': value['createdDate'] == null ? undefined : ((value['createdDate']).toISOString()),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface LoadResult\n */\nexport interface LoadResult {\n /**\n * \n * @type {Array}\n * @memberof LoadResult\n */\n data?: Array;\n /**\n * \n * @type {number}\n * @memberof LoadResult\n */\n totalCount?: number;\n /**\n * \n * @type {number}\n * @memberof LoadResult\n */\n groupCount?: number;\n /**\n * \n * @type {Array}\n * @memberof LoadResult\n */\n summary?: Array;\n}\n\n/**\n * Check if a given object implements the LoadResult interface.\n */\nexport function instanceOfLoadResult(value: object): boolean {\n return true;\n}\n\nexport function LoadResultFromJSON(json: any): LoadResult {\n return LoadResultFromJSONTyped(json, false);\n}\n\nexport function LoadResultFromJSONTyped(json: any, ignoreDiscriminator: boolean): LoadResult {\n if (json == null) {\n return json;\n }\n return {\n \n 'data': json['data'] == null ? undefined : json['data'],\n 'totalCount': json['totalCount'] == null ? undefined : json['totalCount'],\n 'groupCount': json['groupCount'] == null ? undefined : json['groupCount'],\n 'summary': json['summary'] == null ? undefined : json['summary'],\n };\n}\n\nexport function LoadResultToJSON(value?: LoadResult | null): any {\n if (value == null) {\n return value;\n }\n return {\n \n 'data': value['data'],\n 'totalCount': value['totalCount'],\n 'groupCount': value['groupCount'],\n 'summary': value['summary'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { ExtensionDto } from './ExtensionDto';\nimport {\n ExtensionDtoFromJSON,\n ExtensionDtoFromJSONTyped,\n ExtensionDtoToJSON,\n} from './ExtensionDto';\n\n/**\n * \n * @export\n * @interface ModuleWithExtensionsDto\n */\nexport interface ModuleWithExtensionsDto {\n /**\n * \n * @type {number}\n * @memberof ModuleWithExtensionsDto\n */\n id: number;\n /**\n * \n * @type {string}\n * @memberof ModuleWithExtensionsDto\n */\n alias: string;\n /**\n * \n * @type {string}\n * @memberof ModuleWithExtensionsDto\n */\n clientId?: string;\n /**\n * \n * @type {string}\n * @memberof ModuleWithExtensionsDto\n */\n url: string;\n /**\n * \n * @type {string}\n * @memberof ModuleWithExtensionsDto\n */\n name?: string;\n /**\n * \n * @type {Array}\n * @memberof ModuleWithExtensionsDto\n */\n extensions?: Array;\n}\n\n/**\n * Check if a given object implements the ModuleWithExtensionsDto interface.\n */\nexport function instanceOfModuleWithExtensionsDto(value: object): boolean {\n if (!('id' in value)) return false;\n if (!('alias' in value)) return false;\n if (!('url' in value)) return false;\n return true;\n}\n\nexport function ModuleWithExtensionsDtoFromJSON(json: any): ModuleWithExtensionsDto {\n return ModuleWithExtensionsDtoFromJSONTyped(json, false);\n}\n\nexport function ModuleWithExtensionsDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): ModuleWithExtensionsDto {\n if (json == null) {\n return json;\n }\n return {\n \n 'id': json['id'],\n 'alias': json['alias'],\n 'clientId': json['clientId'] == null ? undefined : json['clientId'],\n 'url': json['url'],\n 'name': json['name'] == null ? undefined : json['name'],\n 'extensions': json['extensions'] == null ? undefined : ((json['extensions'] as Array).map(ExtensionDtoFromJSON)),\n };\n}\n\nexport function ModuleWithExtensionsDtoToJSON(value?: ModuleWithExtensionsDto | null): any {\n if (value == null) {\n return value;\n }\n return {\n \n 'id': value['id'],\n 'alias': value['alias'],\n 'clientId': value['clientId'],\n 'url': value['url'],\n 'name': value['name'],\n 'extensions': value['extensions'] == null ? undefined : ((value['extensions'] as Array).map(ExtensionDtoToJSON)),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * DTO для создания нового участника\n * @export\n * @interface ParticipantCreateDto\n */\nexport interface ParticipantCreateDto {\n /**\n * Имя участника\n * @type {string}\n * @memberof ParticipantCreateDto\n */\n name: string;\n /**\n * Описание участника\n * @type {string}\n * @memberof ParticipantCreateDto\n */\n description?: string;\n /**\n * Доступ к псевдонимам модулей\n * @type {Array}\n * @memberof ParticipantCreateDto\n */\n clientIds?: Array;\n}\n\n/**\n * Check if a given object implements the ParticipantCreateDto interface.\n */\nexport function instanceOfParticipantCreateDto(value: object): boolean {\n if (!('name' in value)) return false;\n return true;\n}\n\nexport function ParticipantCreateDtoFromJSON(json: any): ParticipantCreateDto {\n return ParticipantCreateDtoFromJSONTyped(json, false);\n}\n\nexport function ParticipantCreateDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): ParticipantCreateDto {\n if (json == null) {\n return json;\n }\n return {\n \n 'name': json['name'],\n 'description': json['description'] == null ? undefined : json['description'],\n 'clientIds': json['clientIds'] == null ? undefined : json['clientIds'],\n };\n}\n\nexport function ParticipantCreateDtoToJSON(value?: ParticipantCreateDto | null): any {\n if (value == null) {\n return value;\n }\n return {\n \n 'name': value['name'],\n 'description': value['description'],\n 'clientIds': value['clientIds'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * DTO для отправки данных о участнике в UI\n * @export\n * @interface ParticipantReadDto\n */\nexport interface ParticipantReadDto {\n /**\n * ID участника\n * @type {string}\n * @memberof ParticipantReadDto\n */\n id?: string;\n /**\n * Имя участника\n * @type {string}\n * @memberof ParticipantReadDto\n */\n name?: string;\n /**\n * Описание участника\n * @type {string}\n * @memberof ParticipantReadDto\n */\n description?: string;\n}\n\n/**\n * Check if a given object implements the ParticipantReadDto interface.\n */\nexport function instanceOfParticipantReadDto(value: object): boolean {\n return true;\n}\n\nexport function ParticipantReadDtoFromJSON(json: any): ParticipantReadDto {\n return ParticipantReadDtoFromJSONTyped(json, false);\n}\n\nexport function ParticipantReadDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): ParticipantReadDto {\n if (json == null) {\n return json;\n }\n return {\n \n 'id': json['id'] == null ? undefined : json['id'],\n 'name': json['name'] == null ? undefined : json['name'],\n 'description': json['description'] == null ? undefined : json['description'],\n };\n}\n\nexport function ParticipantReadDtoToJSON(value?: ParticipantReadDto | null): any {\n if (value == null) {\n return value;\n }\n return {\n \n 'id': value['id'],\n 'name': value['name'],\n 'description': value['description'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { ParticipantReadDto } from './ParticipantReadDto';\nimport {\n ParticipantReadDtoFromJSON,\n ParticipantReadDtoFromJSONTyped,\n ParticipantReadDtoToJSON,\n} from './ParticipantReadDto';\n\n/**\n * \n * @export\n * @interface ParticipantRoleReadDto\n */\nexport interface ParticipantRoleReadDto {\n /**\n * \n * @type {number}\n * @memberof ParticipantRoleReadDto\n */\n id: number;\n /**\n * \n * @type {string}\n * @memberof ParticipantRoleReadDto\n */\n name: string;\n /**\n * \n * @type {string}\n * @memberof ParticipantRoleReadDto\n */\n description: string;\n /**\n * \n * @type {ParticipantReadDto}\n * @memberof ParticipantRoleReadDto\n */\n participant: ParticipantReadDto;\n}\n\n/**\n * Check if a given object implements the ParticipantRoleReadDto interface.\n */\nexport function instanceOfParticipantRoleReadDto(value: object): boolean {\n if (!('id' in value)) return false;\n if (!('name' in value)) return false;\n if (!('description' in value)) return false;\n if (!('participant' in value)) return false;\n return true;\n}\n\nexport function ParticipantRoleReadDtoFromJSON(json: any): ParticipantRoleReadDto {\n return ParticipantRoleReadDtoFromJSONTyped(json, false);\n}\n\nexport function ParticipantRoleReadDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): ParticipantRoleReadDto {\n if (json == null) {\n return json;\n }\n return {\n \n 'id': json['id'],\n 'name': json['name'],\n 'description': json['description'],\n 'participant': ParticipantReadDtoFromJSON(json['participant']),\n };\n}\n\nexport function ParticipantRoleReadDtoToJSON(value?: ParticipantRoleReadDto | null): any {\n if (value == null) {\n return value;\n }\n return {\n \n 'id': value['id'],\n 'name': value['name'],\n 'description': value['description'],\n 'participant': ParticipantReadDtoToJSON(value['participant']),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface ParticipantUserClaimReadDto\n */\nexport interface ParticipantUserClaimReadDto {\n /**\n * \n * @type {number}\n * @memberof ParticipantUserClaimReadDto\n */\n id: number;\n /**\n * \n * @type {number}\n * @memberof ParticipantUserClaimReadDto\n */\n participantUserId: number;\n /**\n * \n * @type {string}\n * @memberof ParticipantUserClaimReadDto\n */\n clientId: string;\n /**\n * \n * @type {string}\n * @memberof ParticipantUserClaimReadDto\n */\n clientName: string;\n /**\n * \n * @type {string}\n * @memberof ParticipantUserClaimReadDto\n */\n type: string;\n /**\n * \n * @type {string}\n * @memberof ParticipantUserClaimReadDto\n */\n value: string;\n /**\n * \n * @type {string}\n * @memberof ParticipantUserClaimReadDto\n */\n description?: string;\n /**\n * \n * @type {Date}\n * @memberof ParticipantUserClaimReadDto\n */\n validFrom?: Date;\n /**\n * \n * @type {Date}\n * @memberof ParticipantUserClaimReadDto\n */\n validTo?: Date;\n}\n\n/**\n * Check if a given object implements the ParticipantUserClaimReadDto interface.\n */\nexport function instanceOfParticipantUserClaimReadDto(value: object): boolean {\n if (!('id' in value)) return false;\n if (!('participantUserId' in value)) return false;\n if (!('clientId' in value)) return false;\n if (!('clientName' in value)) return false;\n if (!('type' in value)) return false;\n if (!('value' in value)) return false;\n return true;\n}\n\nexport function ParticipantUserClaimReadDtoFromJSON(json: any): ParticipantUserClaimReadDto {\n return ParticipantUserClaimReadDtoFromJSONTyped(json, false);\n}\n\nexport function ParticipantUserClaimReadDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): ParticipantUserClaimReadDto {\n if (json == null) {\n return json;\n }\n return {\n \n 'id': json['id'],\n 'participantUserId': json['participantUserId'],\n 'clientId': json['clientId'],\n 'clientName': json['clientName'],\n 'type': json['type'],\n 'value': json['value'],\n 'description': json['description'] == null ? undefined : json['description'],\n 'validFrom': json['validFrom'] == null ? undefined : (new Date(json['validFrom'])),\n 'validTo': json['validTo'] == null ? undefined : (new Date(json['validTo'])),\n };\n}\n\nexport function ParticipantUserClaimReadDtoToJSON(value?: ParticipantUserClaimReadDto | null): any {\n if (value == null) {\n return value;\n }\n return {\n \n 'id': value['id'],\n 'participantUserId': value['participantUserId'],\n 'clientId': value['clientId'],\n 'clientName': value['clientName'],\n 'type': value['type'],\n 'value': value['value'],\n 'description': value['description'],\n 'validFrom': value['validFrom'] == null ? undefined : ((value['validFrom']).toISOString()),\n 'validTo': value['validTo'] == null ? undefined : ((value['validTo']).toISOString()),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * DTO для обновления данных о пользователе участника в UI\n * @export\n * @interface ParticipantUserCreateDto\n */\nexport interface ParticipantUserCreateDto {\n /**\n * \n * @type {string}\n * @memberof ParticipantUserCreateDto\n */\n userId: string;\n /**\n * \n * @type {boolean}\n * @memberof ParticipantUserCreateDto\n */\n isAdmin?: boolean;\n}\n\n/**\n * Check if a given object implements the ParticipantUserCreateDto interface.\n */\nexport function instanceOfParticipantUserCreateDto(value: object): boolean {\n if (!('userId' in value)) return false;\n return true;\n}\n\nexport function ParticipantUserCreateDtoFromJSON(json: any): ParticipantUserCreateDto {\n return ParticipantUserCreateDtoFromJSONTyped(json, false);\n}\n\nexport function ParticipantUserCreateDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): ParticipantUserCreateDto {\n if (json == null) {\n return json;\n }\n return {\n \n 'userId': json['userId'],\n 'isAdmin': json['isAdmin'] == null ? undefined : json['isAdmin'],\n };\n}\n\nexport function ParticipantUserCreateDtoToJSON(value?: ParticipantUserCreateDto | null): any {\n if (value == null) {\n return value;\n }\n return {\n \n 'userId': value['userId'],\n 'isAdmin': value['isAdmin'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { ParticipantReadDto } from './ParticipantReadDto';\nimport {\n ParticipantReadDtoFromJSON,\n ParticipantReadDtoFromJSONTyped,\n ParticipantReadDtoToJSON,\n} from './ParticipantReadDto';\n\n/**\n * DTO для отправки данных о пользователе участника в UI\n * @export\n * @interface ParticipantUserReadDto\n */\nexport interface ParticipantUserReadDto {\n /**\n * \n * @type {number}\n * @memberof ParticipantUserReadDto\n */\n id?: number;\n /**\n * \n * @type {number}\n * @memberof ParticipantUserReadDto\n */\n participantId?: number;\n /**\n * \n * @type {ParticipantReadDto}\n * @memberof ParticipantUserReadDto\n */\n participant?: ParticipantReadDto;\n /**\n * \n * @type {boolean}\n * @memberof ParticipantUserReadDto\n */\n isAdmin?: boolean;\n /**\n * \n * @type {string}\n * @memberof ParticipantUserReadDto\n */\n userId?: string;\n /**\n * \n * @type {string}\n * @memberof ParticipantUserReadDto\n */\n userName?: string;\n /**\n * \n * @type {string}\n * @memberof ParticipantUserReadDto\n */\n firstName?: string;\n /**\n * \n * @type {string}\n * @memberof ParticipantUserReadDto\n */\n lastName?: string;\n /**\n * \n * @type {string}\n * @memberof ParticipantUserReadDto\n */\n middleName?: string;\n /**\n * \n * @type {string}\n * @memberof ParticipantUserReadDto\n */\n email?: string;\n /**\n * \n * @type {string}\n * @memberof ParticipantUserReadDto\n */\n phoneNumber?: string;\n /**\n * \n * @type {boolean}\n * @memberof ParticipantUserReadDto\n */\n isEnabled?: boolean;\n}\n\n/**\n * Check if a given object implements the ParticipantUserReadDto interface.\n */\nexport function instanceOfParticipantUserReadDto(value: object): boolean {\n return true;\n}\n\nexport function ParticipantUserReadDtoFromJSON(json: any): ParticipantUserReadDto {\n return ParticipantUserReadDtoFromJSONTyped(json, false);\n}\n\nexport function ParticipantUserReadDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): ParticipantUserReadDto {\n if (json == null) {\n return json;\n }\n return {\n \n 'id': json['id'] == null ? undefined : json['id'],\n 'participantId': json['participantId'] == null ? undefined : json['participantId'],\n 'participant': json['participant'] == null ? undefined : ParticipantReadDtoFromJSON(json['participant']),\n 'isAdmin': json['isAdmin'] == null ? undefined : json['isAdmin'],\n 'userId': json['userId'] == null ? undefined : json['userId'],\n 'userName': json['userName'] == null ? undefined : json['userName'],\n 'firstName': json['firstName'] == null ? undefined : json['firstName'],\n 'lastName': json['lastName'] == null ? undefined : json['lastName'],\n 'middleName': json['middleName'] == null ? undefined : json['middleName'],\n 'email': json['email'] == null ? undefined : json['email'],\n 'phoneNumber': json['phoneNumber'] == null ? undefined : json['phoneNumber'],\n 'isEnabled': json['isEnabled'] == null ? undefined : json['isEnabled'],\n };\n}\n\nexport function ParticipantUserReadDtoToJSON(value?: ParticipantUserReadDto | null): any {\n if (value == null) {\n return value;\n }\n return {\n \n 'id': value['id'],\n 'participantId': value['participantId'],\n 'participant': ParticipantReadDtoToJSON(value['participant']),\n 'isAdmin': value['isAdmin'],\n 'userId': value['userId'],\n 'userName': value['userName'],\n 'firstName': value['firstName'],\n 'lastName': value['lastName'],\n 'middleName': value['middleName'],\n 'email': value['email'],\n 'phoneNumber': value['phoneNumber'],\n 'isEnabled': value['isEnabled'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * DTO для обновления данных о пользователе участника в UI\n * @export\n * @interface ParticipantUserUpdateDto\n */\nexport interface ParticipantUserUpdateDto {\n /**\n * \n * @type {string}\n * @memberof ParticipantUserUpdateDto\n */\n userId: string;\n /**\n * \n * @type {boolean}\n * @memberof ParticipantUserUpdateDto\n */\n isAdmin: boolean;\n}\n\n/**\n * Check if a given object implements the ParticipantUserUpdateDto interface.\n */\nexport function instanceOfParticipantUserUpdateDto(value: object): boolean {\n if (!('userId' in value)) return false;\n if (!('isAdmin' in value)) return false;\n return true;\n}\n\nexport function ParticipantUserUpdateDtoFromJSON(json: any): ParticipantUserUpdateDto {\n return ParticipantUserUpdateDtoFromJSONTyped(json, false);\n}\n\nexport function ParticipantUserUpdateDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): ParticipantUserUpdateDto {\n if (json == null) {\n return json;\n }\n return {\n \n 'userId': json['userId'],\n 'isAdmin': json['isAdmin'],\n };\n}\n\nexport function ParticipantUserUpdateDtoToJSON(value?: ParticipantUserUpdateDto | null): any {\n if (value == null) {\n return value;\n }\n return {\n \n 'userId': value['userId'],\n 'isAdmin': value['isAdmin'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface RemoveClientAllClaimDto\n */\nexport interface RemoveClientAllClaimDto {\n /**\n * Тип клейма\n * @type {string}\n * @memberof RemoveClientAllClaimDto\n */\n clientId: string;\n /**\n * Тип клейма\n * @type {string}\n * @memberof RemoveClientAllClaimDto\n */\n type: string;\n /**\n * Значение клейма\n * @type {string}\n * @memberof RemoveClientAllClaimDto\n */\n value: string;\n}\n\n/**\n * Check if a given object implements the RemoveClientAllClaimDto interface.\n */\nexport function instanceOfRemoveClientAllClaimDto(value: object): boolean {\n if (!('clientId' in value)) return false;\n if (!('type' in value)) return false;\n if (!('value' in value)) return false;\n return true;\n}\n\nexport function RemoveClientAllClaimDtoFromJSON(json: any): RemoveClientAllClaimDto {\n return RemoveClientAllClaimDtoFromJSONTyped(json, false);\n}\n\nexport function RemoveClientAllClaimDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): RemoveClientAllClaimDto {\n if (json == null) {\n return json;\n }\n return {\n \n 'clientId': json['clientId'],\n 'type': json['type'],\n 'value': json['value'],\n };\n}\n\nexport function RemoveClientAllClaimDtoToJSON(value?: RemoveClientAllClaimDto | null): any {\n if (value == null) {\n return value;\n }\n return {\n \n 'clientId': value['clientId'],\n 'type': value['type'],\n 'value': value['value'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface UserClaimAddDto\n */\nexport interface UserClaimAddDto {\n /**\n * \n * @type {string}\n * @memberof UserClaimAddDto\n */\n clientId: string;\n /**\n * \n * @type {string}\n * @memberof UserClaimAddDto\n */\n type: string;\n /**\n * \n * @type {string}\n * @memberof UserClaimAddDto\n */\n value: string;\n /**\n * \n * @type {string}\n * @memberof UserClaimAddDto\n */\n description?: string;\n}\n\n/**\n * Check if a given object implements the UserClaimAddDto interface.\n */\nexport function instanceOfUserClaimAddDto(value: object): boolean {\n if (!('clientId' in value)) return false;\n if (!('type' in value)) return false;\n if (!('value' in value)) return false;\n return true;\n}\n\nexport function UserClaimAddDtoFromJSON(json: any): UserClaimAddDto {\n return UserClaimAddDtoFromJSONTyped(json, false);\n}\n\nexport function UserClaimAddDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): UserClaimAddDto {\n if (json == null) {\n return json;\n }\n return {\n \n 'clientId': json['clientId'],\n 'type': json['type'],\n 'value': json['value'],\n 'description': json['description'] == null ? undefined : json['description'],\n };\n}\n\nexport function UserClaimAddDtoToJSON(value?: UserClaimAddDto | null): any {\n if (value == null) {\n return value;\n }\n return {\n \n 'clientId': value['clientId'],\n 'type': value['type'],\n 'value': value['value'],\n 'description': value['description'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface UserClaimReadDto\n */\nexport interface UserClaimReadDto {\n /**\n * \n * @type {number}\n * @memberof UserClaimReadDto\n */\n id: number;\n /**\n * \n * @type {string}\n * @memberof UserClaimReadDto\n */\n clientId: string;\n /**\n * \n * @type {string}\n * @memberof UserClaimReadDto\n */\n clientName: string;\n /**\n * \n * @type {string}\n * @memberof UserClaimReadDto\n */\n type: string;\n /**\n * \n * @type {string}\n * @memberof UserClaimReadDto\n */\n value: string;\n /**\n * \n * @type {string}\n * @memberof UserClaimReadDto\n */\n description?: string;\n}\n\n/**\n * Check if a given object implements the UserClaimReadDto interface.\n */\nexport function instanceOfUserClaimReadDto(value: object): boolean {\n if (!('id' in value)) return false;\n if (!('clientId' in value)) return false;\n if (!('clientName' in value)) return false;\n if (!('type' in value)) return false;\n if (!('value' in value)) return false;\n return true;\n}\n\nexport function UserClaimReadDtoFromJSON(json: any): UserClaimReadDto {\n return UserClaimReadDtoFromJSONTyped(json, false);\n}\n\nexport function UserClaimReadDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): UserClaimReadDto {\n if (json == null) {\n return json;\n }\n return {\n \n 'id': json['id'],\n 'clientId': json['clientId'],\n 'clientName': json['clientName'],\n 'type': json['type'],\n 'value': json['value'],\n 'description': json['description'] == null ? undefined : json['description'],\n };\n}\n\nexport function UserClaimReadDtoToJSON(value?: UserClaimReadDto | null): any {\n if (value == null) {\n return value;\n }\n return {\n \n 'id': value['id'],\n 'clientId': value['clientId'],\n 'clientName': value['clientName'],\n 'type': value['type'],\n 'value': value['value'],\n 'description': value['description'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface UserReadDto\n */\nexport interface UserReadDto {\n /**\n * \n * @type {string}\n * @memberof UserReadDto\n */\n id?: string;\n /**\n * \n * @type {string}\n * @memberof UserReadDto\n */\n userName?: string;\n /**\n * \n * @type {string}\n * @memberof UserReadDto\n */\n firstName?: string;\n /**\n * \n * @type {string}\n * @memberof UserReadDto\n */\n lastName?: string;\n /**\n * \n * @type {string}\n * @memberof UserReadDto\n */\n middleName?: string;\n /**\n * \n * @type {string}\n * @memberof UserReadDto\n */\n email?: string;\n /**\n * \n * @type {string}\n * @memberof UserReadDto\n */\n phoneNumber?: string;\n /**\n * \n * @type {boolean}\n * @memberof UserReadDto\n */\n isEnabled?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof UserReadDto\n */\n isOwnedByClient?: boolean;\n}\n\n/**\n * Check if a given object implements the UserReadDto interface.\n */\nexport function instanceOfUserReadDto(value: object): boolean {\n return true;\n}\n\nexport function UserReadDtoFromJSON(json: any): UserReadDto {\n return UserReadDtoFromJSONTyped(json, false);\n}\n\nexport function UserReadDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): UserReadDto {\n if (json == null) {\n return json;\n }\n return {\n \n 'id': json['id'] == null ? undefined : json['id'],\n 'userName': json['userName'] == null ? undefined : json['userName'],\n 'firstName': json['firstName'] == null ? undefined : json['firstName'],\n 'lastName': json['lastName'] == null ? undefined : json['lastName'],\n 'middleName': json['middleName'] == null ? undefined : json['middleName'],\n 'email': json['email'] == null ? undefined : json['email'],\n 'phoneNumber': json['phoneNumber'] == null ? undefined : json['phoneNumber'],\n 'isEnabled': json['isEnabled'] == null ? undefined : json['isEnabled'],\n 'isOwnedByClient': json['isOwnedByClient'] == null ? undefined : json['isOwnedByClient'],\n };\n}\n\nexport function UserReadDtoToJSON(value?: UserReadDto | null): any {\n if (value == null) {\n return value;\n }\n return {\n \n 'id': value['id'],\n 'userName': value['userName'],\n 'firstName': value['firstName'],\n 'lastName': value['lastName'],\n 'middleName': value['middleName'],\n 'email': value['email'],\n 'phoneNumber': value['phoneNumber'],\n 'isEnabled': value['isEnabled'],\n 'isOwnedByClient': value['isOwnedByClient'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\nimport type { ClaimDto } from './ClaimDto';\nimport {\n ClaimDtoFromJSON,\n ClaimDtoFromJSONTyped,\n ClaimDtoToJSON,\n} from './ClaimDto';\n\n/**\n * \n * @export\n * @interface UserWithClaimsDto\n */\nexport interface UserWithClaimsDto {\n /**\n * \n * @type {string}\n * @memberof UserWithClaimsDto\n */\n id?: string;\n /**\n * \n * @type {string}\n * @memberof UserWithClaimsDto\n */\n userName?: string;\n /**\n * \n * @type {boolean}\n * @memberof UserWithClaimsDto\n */\n isEnabled?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof UserWithClaimsDto\n */\n isLocked?: boolean;\n /**\n * \n * @type {Date}\n * @memberof UserWithClaimsDto\n */\n lockoutEnd?: Date;\n /**\n * \n * @type {string}\n * @memberof UserWithClaimsDto\n */\n email?: string;\n /**\n * \n * @type {string}\n * @memberof UserWithClaimsDto\n */\n firstName?: string;\n /**\n * \n * @type {string}\n * @memberof UserWithClaimsDto\n */\n lastName?: string;\n /**\n * \n * @type {string}\n * @memberof UserWithClaimsDto\n */\n middleName?: string;\n /**\n * \n * @type {Array}\n * @memberof UserWithClaimsDto\n */\n claims?: Array;\n}\n\n/**\n * Check if a given object implements the UserWithClaimsDto interface.\n */\nexport function instanceOfUserWithClaimsDto(value: object): boolean {\n return true;\n}\n\nexport function UserWithClaimsDtoFromJSON(json: any): UserWithClaimsDto {\n return UserWithClaimsDtoFromJSONTyped(json, false);\n}\n\nexport function UserWithClaimsDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): UserWithClaimsDto {\n if (json == null) {\n return json;\n }\n return {\n \n 'id': json['id'] == null ? undefined : json['id'],\n 'userName': json['userName'] == null ? undefined : json['userName'],\n 'isEnabled': json['isEnabled'] == null ? undefined : json['isEnabled'],\n 'isLocked': json['isLocked'] == null ? undefined : json['isLocked'],\n 'lockoutEnd': json['lockoutEnd'] == null ? undefined : (new Date(json['lockoutEnd'])),\n 'email': json['email'] == null ? undefined : json['email'],\n 'firstName': json['firstName'] == null ? undefined : json['firstName'],\n 'lastName': json['lastName'] == null ? undefined : json['lastName'],\n 'middleName': json['middleName'] == null ? undefined : json['middleName'],\n 'claims': json['claims'] == null ? undefined : ((json['claims'] as Array).map(ClaimDtoFromJSON)),\n };\n}\n\nexport function UserWithClaimsDtoToJSON(value?: UserWithClaimsDto | null): any {\n if (value == null) {\n return value;\n }\n return {\n \n 'id': value['id'],\n 'userName': value['userName'],\n 'isEnabled': value['isEnabled'],\n 'isLocked': value['isLocked'],\n 'lockoutEnd': value['lockoutEnd'] == null ? undefined : ((value['lockoutEnd'] as any).toISOString()),\n 'email': value['email'],\n 'firstName': value['firstName'],\n 'lastName': value['lastName'],\n 'middleName': value['middleName'],\n 'claims': value['claims'] == null ? undefined : ((value['claims'] as Array).map(ClaimDtoToJSON)),\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport type {\n AddUserModel,\n ApplicationRole,\n ApplicationUser,\n Claim,\n DataSourceLoadOptions,\n IdentityResult,\n LoadResult,\n LoginInputModel,\n OrganisationInfo,\n P4mClaim,\n UpdateUserModel,\n} from '../models/index';\nimport {\n AddUserModelFromJSON,\n AddUserModelToJSON,\n ApplicationRoleFromJSON,\n ApplicationRoleToJSON,\n ApplicationUserFromJSON,\n ApplicationUserToJSON,\n ClaimFromJSON,\n ClaimToJSON,\n DataSourceLoadOptionsFromJSON,\n DataSourceLoadOptionsToJSON,\n IdentityResultFromJSON,\n IdentityResultToJSON,\n LoadResultFromJSON,\n LoadResultToJSON,\n LoginInputModelFromJSON,\n LoginInputModelToJSON,\n OrganisationInfoFromJSON,\n OrganisationInfoToJSON,\n P4mClaimFromJSON,\n P4mClaimToJSON,\n UpdateUserModelFromJSON,\n UpdateUserModelToJSON,\n} from '../models/index';\n\nexport interface AccountAddRoleIdClientPostRequest {\n idClient: string;\n applicationRole: ApplicationRole;\n}\n\nexport interface AccountAddUserPostRequest {\n addUserModel: AddUserModel;\n}\n\nexport interface AccountChangePasswordUserIdUserPostRequest {\n idUser: string;\n oldPassworc: string;\n newPassword: string;\n}\n\nexport interface AccountDeleteRoleRoleIdPostRequest {\n roleId: string;\n}\n\nexport interface AccountDeleteUserIdUserPostRequest {\n idUser: string;\n}\n\nexport interface AccountGetRoleRoleIdGetRequest {\n roleId: string;\n}\n\nexport interface AccountGetRolesByUserUserIdGetRequest {\n userId: string;\n}\n\nexport interface AccountGetRolesPostRequest {\n dataSourceLoadOptions?: DataSourceLoadOptions;\n}\n\nexport interface AccountGetUserByIdIdUserGetRequest {\n idUser: string;\n}\n\nexport interface AccountGetUserByLoginLoginGetRequest {\n login: string;\n}\n\nexport interface AccountGetUserClaimsIdClientIdUserGetRequest {\n idClient: string;\n idUser: string;\n}\n\nexport interface AccountGetUserOrganisationUserIdGetRequest {\n userId: string;\n}\n\nexport interface AccountGetUsersByRoleRoleIdGetRequest {\n roleId: string;\n}\n\nexport interface AccountGetUsersDXPostRequest {\n dataSourceLoadOptions?: DataSourceLoadOptions;\n}\n\nexport interface AccountListUserLayoutsIdUserGetRequest {\n idUser: string;\n}\n\nexport interface AccountLoginPostRequest {\n loginInputModel: LoginInputModel;\n button?: string;\n}\n\nexport interface AccountLogoutGetRequest {\n logoutId?: string;\n}\n\nexport interface AccountUpdateRoleIdClientRoleIdPostRequest {\n idClient: string;\n roleId: string;\n applicationRole?: ApplicationRole;\n}\n\nexport interface AccountUpdateUserClaimsIdClientIdUserPostRequest {\n idClient: string;\n idUser: string;\n p4mClaim: Array;\n}\n\nexport interface AccountUpdateUserIdUserPostRequest {\n idUser: string;\n updateUserModel: UpdateUserModel;\n}\n\nexport interface AccountUpdateUserRolesIdUserPostRequest {\n idUser: string;\n requestBody: Array;\n}\n\nexport interface AccountUpdateUsersRangePostRequest {\n updateUserModel: Array;\n}\n\n/**\n * \n */\nexport class AccountApi extends runtime.BaseAPI {\n\n /**\n * Добавление роли\n */\n async accountAddRoleIdClientPostRaw(requestParameters: AccountAddRoleIdClientPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n if (requestParameters['idClient'] == null) {\n throw new runtime.RequiredError(\n 'idClient',\n 'Required parameter \"idClient\" was null or undefined when calling accountAddRoleIdClientPost().'\n );\n }\n\n if (requestParameters['applicationRole'] == null) {\n throw new runtime.RequiredError(\n 'applicationRole',\n 'Required parameter \"applicationRole\" was null or undefined when calling accountAddRoleIdClientPost().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json-patch+json';\n\n if (this.configuration && this.configuration.accessToken) {\n // oauth required\n headerParameters[\"Authorization\"] = await this.configuration.accessToken(\"oauth2\", []);\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = await this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\n\n const response = await this.request({\n path: `/Account/AddRole/{idClient}`.replace(`{${\"idClient\"}}`, encodeURIComponent(String(requestParameters['idClient']))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: ApplicationRoleToJSON(requestParameters['applicationRole']),\n }, initOverrides);\n\n if (this.isJsonMime(response.headers.get('content-type'))) {\n return new runtime.JSONApiResponse(response);\n } else {\n return new runtime.TextApiResponse(response) as any;\n }\n }\n\n /**\n * Добавление роли\n */\n async accountAddRoleIdClientPost(requestParameters: AccountAddRoleIdClientPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n const response = await this.accountAddRoleIdClientPostRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Добавление пользователя\n */\n async accountAddUserPostRaw(requestParameters: AccountAddUserPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n if (requestParameters['addUserModel'] == null) {\n throw new runtime.RequiredError(\n 'addUserModel',\n 'Required parameter \"addUserModel\" was null or undefined when calling accountAddUserPost().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json-patch+json';\n\n if (this.configuration && this.configuration.accessToken) {\n // oauth required\n headerParameters[\"Authorization\"] = await this.configuration.accessToken(\"oauth2\", []);\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = await this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\n\n const response = await this.request({\n path: `/Account/AddUser`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: AddUserModelToJSON(requestParameters['addUserModel']),\n }, initOverrides);\n\n if (this.isJsonMime(response.headers.get('content-type'))) {\n return new runtime.JSONApiResponse(response);\n } else {\n return new runtime.TextApiResponse(response) as any;\n }\n }\n\n /**\n * Добавление пользователя\n */\n async accountAddUserPost(requestParameters: AccountAddUserPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n const response = await this.accountAddUserPostRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Смена пароля пользователя\n */\n async accountChangePasswordUserIdUserPostRaw(requestParameters: AccountChangePasswordUserIdUserPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n if (requestParameters['idUser'] == null) {\n throw new runtime.RequiredError(\n 'idUser',\n 'Required parameter \"idUser\" was null or undefined when calling accountChangePasswordUserIdUserPost().'\n );\n }\n\n if (requestParameters['oldPassworc'] == null) {\n throw new runtime.RequiredError(\n 'oldPassworc',\n 'Required parameter \"oldPassworc\" was null or undefined when calling accountChangePasswordUserIdUserPost().'\n );\n }\n\n if (requestParameters['newPassword'] == null) {\n throw new runtime.RequiredError(\n 'newPassword',\n 'Required parameter \"newPassword\" was null or undefined when calling accountChangePasswordUserIdUserPost().'\n );\n }\n\n const queryParameters: any = {};\n\n if (requestParameters['oldPassworc'] != null) {\n queryParameters['OldPassworc'] = requestParameters['oldPassworc'];\n }\n\n if (requestParameters['newPassword'] != null) {\n queryParameters['NewPassword'] = requestParameters['newPassword'];\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.accessToken) {\n // oauth required\n headerParameters[\"Authorization\"] = await this.configuration.accessToken(\"oauth2\", []);\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = await this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\n\n const response = await this.request({\n path: `/Account/ChangePasswordUser/{idUser}`.replace(`{${\"idUser\"}}`, encodeURIComponent(String(requestParameters['idUser']))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => IdentityResultFromJSON(jsonValue));\n }\n\n /**\n * Смена пароля пользователя\n */\n async accountChangePasswordUserIdUserPost(requestParameters: AccountChangePasswordUserIdUserPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n const response = await this.accountChangePasswordUserIdUserPostRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Удаление роли\n */\n async accountDeleteRoleRoleIdPostRaw(requestParameters: AccountDeleteRoleRoleIdPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n if (requestParameters['roleId'] == null) {\n throw new runtime.RequiredError(\n 'roleId',\n 'Required parameter \"roleId\" was null or undefined when calling accountDeleteRoleRoleIdPost().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.accessToken) {\n // oauth required\n headerParameters[\"Authorization\"] = await this.configuration.accessToken(\"oauth2\", []);\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = await this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\n\n const response = await this.request({\n path: `/Account/DeleteRole/{roleId}`.replace(`{${\"roleId\"}}`, encodeURIComponent(String(requestParameters['roleId']))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => IdentityResultFromJSON(jsonValue));\n }\n\n /**\n * Удаление роли\n */\n async accountDeleteRoleRoleIdPost(requestParameters: AccountDeleteRoleRoleIdPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n const response = await this.accountDeleteRoleRoleIdPostRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Удаление пользователя\n */\n async accountDeleteUserIdUserPostRaw(requestParameters: AccountDeleteUserIdUserPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n if (requestParameters['idUser'] == null) {\n throw new runtime.RequiredError(\n 'idUser',\n 'Required parameter \"idUser\" was null or undefined when calling accountDeleteUserIdUserPost().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.accessToken) {\n // oauth required\n headerParameters[\"Authorization\"] = await this.configuration.accessToken(\"oauth2\", []);\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = await this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\n\n const response = await this.request({\n path: `/Account/DeleteUser/{idUser}`.replace(`{${\"idUser\"}}`, encodeURIComponent(String(requestParameters['idUser']))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => IdentityResultFromJSON(jsonValue));\n }\n\n /**\n * Удаление пользователя\n */\n async accountDeleteUserIdUserPost(requestParameters: AccountDeleteUserIdUserPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n const response = await this.accountDeleteUserIdUserPostRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Возвращает список всех пользователей\n */\n async accountGetListUsersGetRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.accessToken) {\n // oauth required\n headerParameters[\"Authorization\"] = await this.configuration.accessToken(\"oauth2\", []);\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = await this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\n\n const response = await this.request({\n path: `/Account/GetListUsers`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(ApplicationUserFromJSON));\n }\n\n /**\n * Возвращает список всех пользователей\n */\n async accountGetListUsersGet(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n const response = await this.accountGetListUsersGetRaw(initOverrides);\n return await response.value();\n }\n\n /**\n * Получение роли с клайм\n */\n async accountGetRoleRoleIdGetRaw(requestParameters: AccountGetRoleRoleIdGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n if (requestParameters['roleId'] == null) {\n throw new runtime.RequiredError(\n 'roleId',\n 'Required parameter \"roleId\" was null or undefined when calling accountGetRoleRoleIdGet().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.accessToken) {\n // oauth required\n headerParameters[\"Authorization\"] = await this.configuration.accessToken(\"oauth2\", []);\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = await this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\n\n const response = await this.request({\n path: `/Account/GetRole/{roleId}`.replace(`{${\"roleId\"}}`, encodeURIComponent(String(requestParameters['roleId']))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => ApplicationRoleFromJSON(jsonValue));\n }\n\n /**\n * Получение роли с клайм\n */\n async accountGetRoleRoleIdGet(requestParameters: AccountGetRoleRoleIdGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n const response = await this.accountGetRoleRoleIdGetRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Получение списка ролей пользователя\n */\n async accountGetRolesByUserUserIdGetRaw(requestParameters: AccountGetRolesByUserUserIdGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> {\n if (requestParameters['userId'] == null) {\n throw new runtime.RequiredError(\n 'userId',\n 'Required parameter \"userId\" was null or undefined when calling accountGetRolesByUserUserIdGet().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.accessToken) {\n // oauth required\n headerParameters[\"Authorization\"] = await this.configuration.accessToken(\"oauth2\", []);\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = await this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\n\n const response = await this.request({\n path: `/Account/GetRolesByUser/{userId}`.replace(`{${\"userId\"}}`, encodeURIComponent(String(requestParameters['userId']))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Получение списка ролей пользователя\n */\n async accountGetRolesByUserUserIdGet(requestParameters: AccountGetRolesByUserUserIdGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n const response = await this.accountGetRolesByUserUserIdGetRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Получение списка ролей с клайм\n */\n async accountGetRolesPostRaw(requestParameters: AccountGetRolesPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json-patch+json';\n\n if (this.configuration && this.configuration.accessToken) {\n // oauth required\n headerParameters[\"Authorization\"] = await this.configuration.accessToken(\"oauth2\", []);\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = await this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\n\n const response = await this.request({\n path: `/Account/GetRoles`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: DataSourceLoadOptionsToJSON(requestParameters['dataSourceLoadOptions']),\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => LoadResultFromJSON(jsonValue));\n }\n\n /**\n * Получение списка ролей с клайм\n */\n async accountGetRolesPost(requestParameters: AccountGetRolesPostRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n const response = await this.accountGetRolesPostRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Получение списка клайм модуля авторизации текущего пользователя\n */\n async accountGetUserAuthClaimsGetRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.accessToken) {\n // oauth required\n headerParameters[\"Authorization\"] = await this.configuration.accessToken(\"oauth2\", []);\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = await this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\n\n const response = await this.request({\n path: `/Account/GetUserAuthClaims`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(ClaimFromJSON));\n }\n\n /**\n * Получение списка клайм модуля авторизации текущего пользователя\n */\n async accountGetUserAuthClaimsGet(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n const response = await this.accountGetUserAuthClaimsGetRaw(initOverrides);\n return await response.value();\n }\n\n /**\n * Возвращает пользователя по ИД\n */\n async accountGetUserByIdIdUserGetRaw(requestParameters: AccountGetUserByIdIdUserGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n if (requestParameters['idUser'] == null) {\n throw new runtime.RequiredError(\n 'idUser',\n 'Required parameter \"idUser\" was null or undefined when calling accountGetUserByIdIdUserGet().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.accessToken) {\n // oauth required\n headerParameters[\"Authorization\"] = await this.configuration.accessToken(\"oauth2\", []);\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = await this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\n\n const response = await this.request({\n path: `/Account/GetUserById/{idUser}`.replace(`{${\"idUser\"}}`, encodeURIComponent(String(requestParameters['idUser']))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => ApplicationUserFromJSON(jsonValue));\n }\n\n /**\n * Возвращает пользователя по ИД\n */\n async accountGetUserByIdIdUserGet(requestParameters: AccountGetUserByIdIdUserGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n const response = await this.accountGetUserByIdIdUserGetRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Возвращает пользователя по логину Name|Email\n */\n async accountGetUserByLoginLoginGetRaw(requestParameters: AccountGetUserByLoginLoginGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n if (requestParameters['login'] == null) {\n throw new runtime.RequiredError(\n 'login',\n 'Required parameter \"login\" was null or undefined when calling accountGetUserByLoginLoginGet().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.accessToken) {\n // oauth required\n headerParameters[\"Authorization\"] = await this.configuration.accessToken(\"oauth2\", []);\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = await this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\n\n const response = await this.request({\n path: `/Account/GetUserByLogin/{login}`.replace(`{${\"login\"}}`, encodeURIComponent(String(requestParameters['login']))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n if (this.isJsonMime(response.headers.get('content-type'))) {\n return new runtime.JSONApiResponse(response);\n } else {\n return new runtime.TextApiResponse(response) as any;\n }\n }\n\n /**\n * Возвращает пользователя по логину Name|Email\n */\n async accountGetUserByLoginLoginGet(requestParameters: AccountGetUserByLoginLoginGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n const response = await this.accountGetUserByLoginLoginGetRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Получение списка клайм пользователя\n */\n async accountGetUserClaimsIdClientIdUserGetRaw(requestParameters: AccountGetUserClaimsIdClientIdUserGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> {\n if (requestParameters['idClient'] == null) {\n throw new runtime.RequiredError(\n 'idClient',\n 'Required parameter \"idClient\" was null or undefined when calling accountGetUserClaimsIdClientIdUserGet().'\n );\n }\n\n if (requestParameters['idUser'] == null) {\n throw new runtime.RequiredError(\n 'idUser',\n 'Required parameter \"idUser\" was null or undefined when calling accountGetUserClaimsIdClientIdUserGet().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.accessToken) {\n // oauth required\n headerParameters[\"Authorization\"] = await this.configuration.accessToken(\"oauth2\", []);\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = await this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\n\n const response = await this.request({\n path: `/Account/GetUserClaims/{idClient}/{idUser}`.replace(`{${\"idClient\"}}`, encodeURIComponent(String(requestParameters['idClient']))).replace(`{${\"idUser\"}}`, encodeURIComponent(String(requestParameters['idUser']))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(ClaimFromJSON));\n }\n\n /**\n * Получение списка клайм пользователя\n */\n async accountGetUserClaimsIdClientIdUserGet(requestParameters: AccountGetUserClaimsIdClientIdUserGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n const response = await this.accountGetUserClaimsIdClientIdUserGetRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Получение информации об участнке пользователя\n */\n async accountGetUserOrganisationUserIdGetRaw(requestParameters: AccountGetUserOrganisationUserIdGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n if (requestParameters['userId'] == null) {\n throw new runtime.RequiredError(\n 'userId',\n 'Required parameter \"userId\" was null or undefined when calling accountGetUserOrganisationUserIdGet().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.accessToken) {\n // oauth required\n headerParameters[\"Authorization\"] = await this.configuration.accessToken(\"oauth2\", []);\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = await this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\n\n const response = await this.request({\n path: `/Account/GetUserOrganisation/{userId}`.replace(`{${\"userId\"}}`, encodeURIComponent(String(requestParameters['userId']))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => OrganisationInfoFromJSON(jsonValue));\n }\n\n /**\n * Получение информации об участнке пользователя\n */\n async accountGetUserOrganisationUserIdGet(requestParameters: AccountGetUserOrganisationUserIdGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n const response = await this.accountGetUserOrganisationUserIdGetRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Получение списка пользователей, принадлежащих роли\n */\n async accountGetUsersByRoleRoleIdGetRaw(requestParameters: AccountGetUsersByRoleRoleIdGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> {\n if (requestParameters['roleId'] == null) {\n throw new runtime.RequiredError(\n 'roleId',\n 'Required parameter \"roleId\" was null or undefined when calling accountGetUsersByRoleRoleIdGet().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.accessToken) {\n // oauth required\n headerParameters[\"Authorization\"] = await this.configuration.accessToken(\"oauth2\", []);\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = await this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\n\n const response = await this.request({\n path: `/Account/GetUsersByRole/{roleId}`.replace(`{${\"roleId\"}}`, encodeURIComponent(String(requestParameters['roleId']))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(ApplicationUserFromJSON));\n }\n\n /**\n * Получение списка пользователей, принадлежащих роли\n */\n async accountGetUsersByRoleRoleIdGet(requestParameters: AccountGetUsersByRoleRoleIdGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n const response = await this.accountGetUsersByRoleRoleIdGetRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Возвращает список всех пользователей\n */\n async accountGetUsersDXPostRaw(requestParameters: AccountGetUsersDXPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json-patch+json';\n\n if (this.configuration && this.configuration.accessToken) {\n // oauth required\n headerParameters[\"Authorization\"] = await this.configuration.accessToken(\"oauth2\", []);\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = await this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\n\n const response = await this.request({\n path: `/Account/GetUsersDX`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: DataSourceLoadOptionsToJSON(requestParameters['dataSourceLoadOptions']),\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => LoadResultFromJSON(jsonValue));\n }\n\n /**\n * Возвращает список всех пользователей\n */\n async accountGetUsersDXPost(requestParameters: AccountGetUsersDXPostRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n const response = await this.accountGetUsersDXPostRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Возвращает список всех пользователей\n */\n async accountGetUsersGetRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.accessToken) {\n // oauth required\n headerParameters[\"Authorization\"] = await this.configuration.accessToken(\"oauth2\", []);\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = await this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\n\n const response = await this.request({\n path: `/Account/GetUsers`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(ApplicationUserFromJSON));\n }\n\n /**\n * Возвращает список всех пользователей\n */\n async accountGetUsersGet(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n const response = await this.accountGetUsersGetRaw(initOverrides);\n return await response.value();\n }\n\n /**\n * Возвращает список рабочих столов пользователя всех модулей\n */\n async accountListUserLayoutsIdUserGetRaw(requestParameters: AccountListUserLayoutsIdUserGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; }>> {\n if (requestParameters['idUser'] == null) {\n throw new runtime.RequiredError(\n 'idUser',\n 'Required parameter \"idUser\" was null or undefined when calling accountListUserLayoutsIdUserGet().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.accessToken) {\n // oauth required\n headerParameters[\"Authorization\"] = await this.configuration.accessToken(\"oauth2\", []);\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = await this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\n\n const response = await this.request({\n path: `/Account/ListUserLayouts/{idUser}`.replace(`{${\"idUser\"}}`, encodeURIComponent(String(requestParameters['idUser']))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response);\n }\n\n /**\n * Возвращает список рабочих столов пользователя всех модулей\n */\n async accountListUserLayoutsIdUserGet(requestParameters: AccountListUserLayoutsIdUserGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<{ [key: string]: Array; }> {\n const response = await this.accountListUserLayoutsIdUserGetRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Вход пользователя в модуль\n */\n async accountLoginPostRaw(requestParameters: AccountLoginPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n if (requestParameters['loginInputModel'] == null) {\n throw new runtime.RequiredError(\n 'loginInputModel',\n 'Required parameter \"loginInputModel\" was null or undefined when calling accountLoginPost().'\n );\n }\n\n const queryParameters: any = {};\n\n if (requestParameters['button'] != null) {\n queryParameters['button'] = requestParameters['button'];\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json-patch+json';\n\n if (this.configuration && this.configuration.accessToken) {\n // oauth required\n headerParameters[\"Authorization\"] = await this.configuration.accessToken(\"oauth2\", []);\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = await this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\n\n const response = await this.request({\n path: `/Account/Login`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: LoginInputModelToJSON(requestParameters['loginInputModel']),\n }, initOverrides);\n\n return new runtime.VoidApiResponse(response);\n }\n\n /**\n * Вход пользователя в модуль\n */\n async accountLoginPost(requestParameters: AccountLoginPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n await this.accountLoginPostRaw(requestParameters, initOverrides);\n }\n\n /**\n * Выход пользователя из модуля\n */\n async accountLogoutGetRaw(requestParameters: AccountLogoutGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n const queryParameters: any = {};\n\n if (requestParameters['logoutId'] != null) {\n queryParameters['logoutId'] = requestParameters['logoutId'];\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.accessToken) {\n // oauth required\n headerParameters[\"Authorization\"] = await this.configuration.accessToken(\"oauth2\", []);\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = await this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\n\n const response = await this.request({\n path: `/Account/Logout`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.VoidApiResponse(response);\n }\n\n /**\n * Выход пользователя из модуля\n */\n async accountLogoutGet(requestParameters: AccountLogoutGetRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n await this.accountLogoutGetRaw(requestParameters, initOverrides);\n }\n\n /**\n * Обновление роли\n */\n async accountUpdateRoleIdClientRoleIdPostRaw(requestParameters: AccountUpdateRoleIdClientRoleIdPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n if (requestParameters['idClient'] == null) {\n throw new runtime.RequiredError(\n 'idClient',\n 'Required parameter \"idClient\" was null or undefined when calling accountUpdateRoleIdClientRoleIdPost().'\n );\n }\n\n if (requestParameters['roleId'] == null) {\n throw new runtime.RequiredError(\n 'roleId',\n 'Required parameter \"roleId\" was null or undefined when calling accountUpdateRoleIdClientRoleIdPost().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json-patch+json';\n\n if (this.configuration && this.configuration.accessToken) {\n // oauth required\n headerParameters[\"Authorization\"] = await this.configuration.accessToken(\"oauth2\", []);\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = await this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\n\n const response = await this.request({\n path: `/Account/UpdateRole/{idClient}/{roleId}`.replace(`{${\"idClient\"}}`, encodeURIComponent(String(requestParameters['idClient']))).replace(`{${\"roleId\"}}`, encodeURIComponent(String(requestParameters['roleId']))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: ApplicationRoleToJSON(requestParameters['applicationRole']),\n }, initOverrides);\n\n if (this.isJsonMime(response.headers.get('content-type'))) {\n return new runtime.JSONApiResponse(response);\n } else {\n return new runtime.TextApiResponse(response) as any;\n }\n }\n\n /**\n * Обновление роли\n */\n async accountUpdateRoleIdClientRoleIdPost(requestParameters: AccountUpdateRoleIdClientRoleIdPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n const response = await this.accountUpdateRoleIdClientRoleIdPostRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Обновление клайм пользователя\n */\n async accountUpdateUserClaimsIdClientIdUserPostRaw(requestParameters: AccountUpdateUserClaimsIdClientIdUserPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n if (requestParameters['idClient'] == null) {\n throw new runtime.RequiredError(\n 'idClient',\n 'Required parameter \"idClient\" was null or undefined when calling accountUpdateUserClaimsIdClientIdUserPost().'\n );\n }\n\n if (requestParameters['idUser'] == null) {\n throw new runtime.RequiredError(\n 'idUser',\n 'Required parameter \"idUser\" was null or undefined when calling accountUpdateUserClaimsIdClientIdUserPost().'\n );\n }\n\n if (requestParameters['p4mClaim'] == null) {\n throw new runtime.RequiredError(\n 'p4mClaim',\n 'Required parameter \"p4mClaim\" was null or undefined when calling accountUpdateUserClaimsIdClientIdUserPost().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json-patch+json';\n\n if (this.configuration && this.configuration.accessToken) {\n // oauth required\n headerParameters[\"Authorization\"] = await this.configuration.accessToken(\"oauth2\", []);\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = await this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\n\n const response = await this.request({\n path: `/Account/UpdateUserClaims/{idClient}/{idUser}`.replace(`{${\"idClient\"}}`, encodeURIComponent(String(requestParameters['idClient']))).replace(`{${\"idUser\"}}`, encodeURIComponent(String(requestParameters['idUser']))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters['p4mClaim']!.map(P4mClaimToJSON),\n }, initOverrides);\n\n return new runtime.VoidApiResponse(response);\n }\n\n /**\n * Обновление клайм пользователя\n */\n async accountUpdateUserClaimsIdClientIdUserPost(requestParameters: AccountUpdateUserClaimsIdClientIdUserPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n await this.accountUpdateUserClaimsIdClientIdUserPostRaw(requestParameters, initOverrides);\n }\n\n /**\n * Обновление данных пользователя\n */\n async accountUpdateUserIdUserPostRaw(requestParameters: AccountUpdateUserIdUserPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n if (requestParameters['idUser'] == null) {\n throw new runtime.RequiredError(\n 'idUser',\n 'Required parameter \"idUser\" was null or undefined when calling accountUpdateUserIdUserPost().'\n );\n }\n\n if (requestParameters['updateUserModel'] == null) {\n throw new runtime.RequiredError(\n 'updateUserModel',\n 'Required parameter \"updateUserModel\" was null or undefined when calling accountUpdateUserIdUserPost().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json-patch+json';\n\n if (this.configuration && this.configuration.accessToken) {\n // oauth required\n headerParameters[\"Authorization\"] = await this.configuration.accessToken(\"oauth2\", []);\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = await this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\n\n const response = await this.request({\n path: `/Account/UpdateUser/{idUser}`.replace(`{${\"idUser\"}}`, encodeURIComponent(String(requestParameters['idUser']))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: UpdateUserModelToJSON(requestParameters['updateUserModel']),\n }, initOverrides);\n\n return new runtime.VoidApiResponse(response);\n }\n\n /**\n * Обновление данных пользователя\n */\n async accountUpdateUserIdUserPost(requestParameters: AccountUpdateUserIdUserPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n await this.accountUpdateUserIdUserPostRaw(requestParameters, initOverrides);\n }\n\n /**\n * Обновление ролей пользователя\n */\n async accountUpdateUserRolesIdUserPostRaw(requestParameters: AccountUpdateUserRolesIdUserPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n if (requestParameters['idUser'] == null) {\n throw new runtime.RequiredError(\n 'idUser',\n 'Required parameter \"idUser\" was null or undefined when calling accountUpdateUserRolesIdUserPost().'\n );\n }\n\n if (requestParameters['requestBody'] == null) {\n throw new runtime.RequiredError(\n 'requestBody',\n 'Required parameter \"requestBody\" was null or undefined when calling accountUpdateUserRolesIdUserPost().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json-patch+json';\n\n if (this.configuration && this.configuration.accessToken) {\n // oauth required\n headerParameters[\"Authorization\"] = await this.configuration.accessToken(\"oauth2\", []);\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = await this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\n\n const response = await this.request({\n path: `/Account/UpdateUserRoles/{idUser}`.replace(`{${\"idUser\"}}`, encodeURIComponent(String(requestParameters['idUser']))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters['requestBody'],\n }, initOverrides);\n\n return new runtime.VoidApiResponse(response);\n }\n\n /**\n * Обновление ролей пользователя\n */\n async accountUpdateUserRolesIdUserPost(requestParameters: AccountUpdateUserRolesIdUserPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n await this.accountUpdateUserRolesIdUserPostRaw(requestParameters, initOverrides);\n }\n\n /**\n * Обновление данных нескольких пользователей\n */\n async accountUpdateUsersRangePostRaw(requestParameters: AccountUpdateUsersRangePostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n if (requestParameters['updateUserModel'] == null) {\n throw new runtime.RequiredError(\n 'updateUserModel',\n 'Required parameter \"updateUserModel\" was null or undefined when calling accountUpdateUsersRangePost().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json-patch+json';\n\n if (this.configuration && this.configuration.accessToken) {\n // oauth required\n headerParameters[\"Authorization\"] = await this.configuration.accessToken(\"oauth2\", []);\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = await this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\n\n const response = await this.request({\n path: `/Account/UpdateUsersRange`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters['updateUserModel']!.map(UpdateUserModelToJSON),\n }, initOverrides);\n\n return new runtime.VoidApiResponse(response);\n }\n\n /**\n * Обновление данных нескольких пользователей\n */\n async accountUpdateUsersRangePost(requestParameters: AccountUpdateUsersRangePostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n await this.accountUpdateUsersRangePostRaw(requestParameters, initOverrides);\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport type {\n ExtensionDto,\n ModuleWithExtensionsDto,\n} from '../models/index';\nimport {\n ExtensionDtoFromJSON,\n ExtensionDtoToJSON,\n ModuleWithExtensionsDtoFromJSON,\n ModuleWithExtensionsDtoToJSON,\n} from '../models/index';\n\nexport interface ApiModulesGetExtensionsGetRequest {\n moduleId?: number;\n moduleAlias?: string;\n}\n\n/**\n * \n */\nexport class ModulesApi extends runtime.BaseAPI {\n\n /**\n * Получение расширений\n */\n async apiModulesGetExtensionsGetRaw(requestParameters: ApiModulesGetExtensionsGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> {\n const queryParameters: any = {};\n\n if (requestParameters['moduleId'] != null) {\n queryParameters['moduleId'] = requestParameters['moduleId'];\n }\n\n if (requestParameters['moduleAlias'] != null) {\n queryParameters['moduleAlias'] = requestParameters['moduleAlias'];\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/api/Modules/GetExtensions`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(ExtensionDtoFromJSON));\n }\n\n /**\n * Получение расширений\n */\n async apiModulesGetExtensionsGet(requestParameters: ApiModulesGetExtensionsGetRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n const response = await this.apiModulesGetExtensionsGetRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Получение модулей\n */\n async apiModulesGetModulesGetRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/api/Modules/GetModules`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(ModuleWithExtensionsDtoFromJSON));\n }\n\n /**\n * Получение модулей\n */\n async apiModulesGetModulesGet(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n const response = await this.apiModulesGetModulesGetRaw(initOverrides);\n return await response.value();\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport type {\n BadRequestResult,\n ResetPasswordDto,\n} from '../models/index';\nimport {\n BadRequestResultFromJSON,\n BadRequestResultToJSON,\n ResetPasswordDtoFromJSON,\n ResetPasswordDtoToJSON,\n} from '../models/index';\n\nexport interface UiApiRestoreAccessCheckRestoreCodePostRequest {\n login?: string;\n code?: string;\n}\n\nexport interface UiApiRestoreAccessResetPasswordPostRequest {\n resetPasswordDto?: ResetPasswordDto;\n}\n\nexport interface UiApiRestoreAccessSendRestoreCodePostRequest {\n login?: string;\n type?: string;\n}\n\n/**\n * \n */\nexport class RestoreAccessApi extends runtime.BaseAPI {\n\n /**\n * Проверяет правильность кода восстановления\n */\n async uiApiRestoreAccessCheckRestoreCodePostRaw(requestParameters: UiApiRestoreAccessCheckRestoreCodePostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n const queryParameters: any = {};\n\n if (requestParameters['login'] != null) {\n queryParameters['login'] = requestParameters['login'];\n }\n\n if (requestParameters['code'] != null) {\n queryParameters['code'] = requestParameters['code'];\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/ui-api/RestoreAccess/CheckRestoreCode`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n if (this.isJsonMime(response.headers.get('content-type'))) {\n return new runtime.JSONApiResponse(response);\n } else {\n return new runtime.TextApiResponse(response) as any;\n }\n }\n\n /**\n * Проверяет правильность кода восстановления\n */\n async uiApiRestoreAccessCheckRestoreCodePost(requestParameters: UiApiRestoreAccessCheckRestoreCodePostRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n const response = await this.uiApiRestoreAccessCheckRestoreCodePostRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Заменяет старый пароль пользователя новым\n */\n async uiApiRestoreAccessResetPasswordPostRaw(requestParameters: UiApiRestoreAccessResetPasswordPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json-patch+json';\n\n const response = await this.request({\n path: `/ui-api/RestoreAccess/ResetPassword`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: ResetPasswordDtoToJSON(requestParameters['resetPasswordDto']),\n }, initOverrides);\n\n return new runtime.VoidApiResponse(response);\n }\n\n /**\n * Заменяет старый пароль пользователя новым\n */\n async uiApiRestoreAccessResetPasswordPost(requestParameters: UiApiRestoreAccessResetPasswordPostRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n await this.uiApiRestoreAccessResetPasswordPostRaw(requestParameters, initOverrides);\n }\n\n /**\n * Отправляет код восстановления пользователю в зависимости от типа восстановления (например, по эл. почте)\n */\n async uiApiRestoreAccessSendRestoreCodePostRaw(requestParameters: UiApiRestoreAccessSendRestoreCodePostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n const queryParameters: any = {};\n\n if (requestParameters['login'] != null) {\n queryParameters['login'] = requestParameters['login'];\n }\n\n if (requestParameters['type'] != null) {\n queryParameters['type'] = requestParameters['type'];\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/ui-api/RestoreAccess/SendRestoreCode`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n if (this.isJsonMime(response.headers.get('content-type'))) {\n return new runtime.JSONApiResponse(response);\n } else {\n return new runtime.TextApiResponse(response) as any;\n }\n }\n\n /**\n * Отправляет код восстановления пользователю в зависимости от типа восстановления (например, по эл. почте)\n */\n async uiApiRestoreAccessSendRestoreCodePost(requestParameters: UiApiRestoreAccessSendRestoreCodePostRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n const response = await this.uiApiRestoreAccessSendRestoreCodePostRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface ResetPasswordDto\n */\nexport interface ResetPasswordDto {\n /**\n * \n * @type {string}\n * @memberof ResetPasswordDto\n */\n userName: string;\n /**\n * \n * @type {string}\n * @memberof ResetPasswordDto\n */\n token: string;\n /**\n * \n * @type {string}\n * @memberof ResetPasswordDto\n */\n newPassword: string;\n}\n\n/**\n * Check if a given object implements the ResetPasswordDto interface.\n */\nexport function instanceOfResetPasswordDto(value: object): boolean {\n if (!('userName' in value)) return false;\n if (!('token' in value)) return false;\n if (!('newPassword' in value)) return false;\n return true;\n}\n\nexport function ResetPasswordDtoFromJSON(json: any): ResetPasswordDto {\n return ResetPasswordDtoFromJSONTyped(json, false);\n}\n\nexport function ResetPasswordDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): ResetPasswordDto {\n if (json == null) {\n return json;\n }\n return {\n \n 'userName': json['userName'],\n 'token': json['token'],\n 'newPassword': json['newPassword'],\n };\n}\n\nexport function ResetPasswordDtoToJSON(value?: ResetPasswordDto | null): any {\n if (value == null) {\n return value;\n }\n return {\n \n 'userName': value['userName'],\n 'token': value['token'],\n 'newPassword': value['newPassword'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport type {\n AuthClaimReadDto,\n GetUserInformationDto,\n LoginDto,\n UserWithClaimsDto,\n} from '../models/index';\nimport {\n AuthClaimReadDtoFromJSON,\n AuthClaimReadDtoToJSON,\n GetUserInformationDtoFromJSON,\n GetUserInformationDtoToJSON,\n LoginDtoFromJSON,\n LoginDtoToJSON,\n UserWithClaimsDtoFromJSON,\n UserWithClaimsDtoToJSON,\n} from '../models/index';\n\nexport interface UiApiAuthLoginPostRequest {\n loginDto: LoginDto;\n}\n\nexport interface UiApiAuthLogoutGetRequest {\n logoutId?: string;\n}\n\nexport interface UiApiAuthUserInfoPostRequest {\n getUserInformationDto: GetUserInformationDto;\n}\n\n/**\n * \n */\nexport class UiApiAuthApi extends runtime.BaseAPI {\n\n /**\n * Вход пользователя в модуль\n */\n async uiApiAuthLoginPostRaw(requestParameters: UiApiAuthLoginPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n if (requestParameters['loginDto'] == null) {\n throw new runtime.RequiredError(\n 'loginDto',\n 'Required parameter \"loginDto\" was null or undefined when calling uiApiAuthLoginPost().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json-patch+json';\n\n if (this.configuration && this.configuration.accessToken) {\n // oauth required\n headerParameters[\"Authorization\"] = await this.configuration.accessToken(\"oauth2\", []);\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = await this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\n\n const response = await this.request({\n path: `/ui-api/auth/login`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: LoginDtoToJSON(requestParameters['loginDto']),\n }, initOverrides);\n\n return new runtime.VoidApiResponse(response);\n }\n\n /**\n * Вход пользователя в модуль\n */\n async uiApiAuthLoginPost(requestParameters: UiApiAuthLoginPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n await this.uiApiAuthLoginPostRaw(requestParameters, initOverrides);\n }\n\n /**\n * Выполняет выход пользователя из системы\n */\n async uiApiAuthLogoutGetRaw(requestParameters: UiApiAuthLogoutGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n const queryParameters: any = {};\n\n if (requestParameters['logoutId'] != null) {\n queryParameters['logoutId'] = requestParameters['logoutId'];\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.accessToken) {\n // oauth required\n headerParameters[\"Authorization\"] = await this.configuration.accessToken(\"oauth2\", []);\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = await this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\n\n const response = await this.request({\n path: `/ui-api/auth/logout`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.VoidApiResponse(response);\n }\n\n /**\n * Выполняет выход пользователя из системы\n */\n async uiApiAuthLogoutGet(requestParameters: UiApiAuthLogoutGetRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n await this.uiApiAuthLogoutGetRaw(requestParameters, initOverrides);\n }\n\n /**\n */\n async uiApiAuthUserInfoPostRaw(requestParameters: UiApiAuthUserInfoPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n if (requestParameters['getUserInformationDto'] == null) {\n throw new runtime.RequiredError(\n 'getUserInformationDto',\n 'Required parameter \"getUserInformationDto\" was null or undefined when calling uiApiAuthUserInfoPost().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json-patch+json';\n\n if (this.configuration && this.configuration.accessToken) {\n // oauth required\n headerParameters[\"Authorization\"] = await this.configuration.accessToken(\"oauth2\", []);\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = await this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\n\n const response = await this.request({\n path: `/ui-api/auth/user-info`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: GetUserInformationDtoToJSON(requestParameters['getUserInformationDto']),\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => UserWithClaimsDtoFromJSON(jsonValue));\n }\n\n /**\n */\n async uiApiAuthUserInfoPost(requestParameters: UiApiAuthUserInfoPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n const response = await this.uiApiAuthUserInfoPostRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Получение списка клайм модуля авторизации текущего пользователя\n */\n async uiApiAuthUserPermissionsGetRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.accessToken) {\n // oauth required\n headerParameters[\"Authorization\"] = await this.configuration.accessToken(\"oauth2\", []);\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = await this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\n\n const response = await this.request({\n path: `/ui-api/auth/user-permissions`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(AuthClaimReadDtoFromJSON));\n }\n\n /**\n * Получение списка клайм модуля авторизации текущего пользователя\n */\n async uiApiAuthUserPermissionsGet(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n const response = await this.uiApiAuthUserPermissionsGetRaw(initOverrides);\n return await response.value();\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * Данные из UI, необходимые для авторизации\n * @export\n * @interface LoginDto\n */\nexport interface LoginDto {\n /**\n * Имя пользовтеля\n * @type {string}\n * @memberof LoginDto\n */\n username?: string;\n /**\n * Электронная почта\n * @type {string}\n * @memberof LoginDto\n */\n email?: string;\n /**\n * Пароль\n * @type {string}\n * @memberof LoginDto\n */\n password: string;\n /**\n * Ссылка для редиректа после авторизации\n * @type {string}\n * @memberof LoginDto\n */\n returnUrl?: string;\n /**\n * Ссылка для редиректа после авторизации\n * @type {boolean}\n * @memberof LoginDto\n */\n rememberLogin?: boolean;\n}\n\n/**\n * Check if a given object implements the LoginDto interface.\n */\nexport function instanceOfLoginDto(value: object): boolean {\n if (!('password' in value)) return false;\n return true;\n}\n\nexport function LoginDtoFromJSON(json: any): LoginDto {\n return LoginDtoFromJSONTyped(json, false);\n}\n\nexport function LoginDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): LoginDto {\n if (json == null) {\n return json;\n }\n return {\n \n 'username': json['username'] == null ? undefined : json['username'],\n 'email': json['email'] == null ? undefined : json['email'],\n 'password': json['password'],\n 'returnUrl': json['returnUrl'] == null ? undefined : json['returnUrl'],\n 'rememberLogin': json['rememberLogin'] == null ? undefined : json['rememberLogin'],\n };\n}\n\nexport function LoginDtoToJSON(value?: LoginDto | null): any {\n if (value == null) {\n return value;\n }\n return {\n \n 'username': value['username'],\n 'email': value['email'],\n 'password': value['password'],\n 'returnUrl': value['returnUrl'],\n 'rememberLogin': value['rememberLogin'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface GetUserInformationDto\n */\nexport interface GetUserInformationDto {\n /**\n * \n * @type {string}\n * @memberof GetUserInformationDto\n */\n login?: string;\n /**\n * \n * @type {string}\n * @memberof GetUserInformationDto\n */\n password?: string;\n}\n\n/**\n * Check if a given object implements the GetUserInformationDto interface.\n */\nexport function instanceOfGetUserInformationDto(value: object): boolean {\n return true;\n}\n\nexport function GetUserInformationDtoFromJSON(json: any): GetUserInformationDto {\n return GetUserInformationDtoFromJSONTyped(json, false);\n}\n\nexport function GetUserInformationDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetUserInformationDto {\n if (json == null) {\n return json;\n }\n return {\n \n 'login': json['login'] == null ? undefined : json['login'],\n 'password': json['password'] == null ? undefined : json['password'],\n };\n}\n\nexport function GetUserInformationDtoToJSON(value?: GetUserInformationDto | null): any {\n if (value == null) {\n return value;\n }\n return {\n \n 'login': value['login'],\n 'password': value['password'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport type {\n ClaimValuesTree,\n ClientAllClaimReadDto,\n ClientClaimReadDto,\n ClientReadDto,\n DataSourceLoadOptions,\n} from '../models/index';\nimport {\n ClaimValuesTreeFromJSON,\n ClaimValuesTreeToJSON,\n ClientAllClaimReadDtoFromJSON,\n ClientAllClaimReadDtoToJSON,\n ClientClaimReadDtoFromJSON,\n ClientClaimReadDtoToJSON,\n ClientReadDtoFromJSON,\n ClientReadDtoToJSON,\n DataSourceLoadOptionsFromJSON,\n DataSourceLoadOptionsToJSON,\n} from '../models/index';\n\nexport interface UiApiClientsGetAllClaimsIdClientGetRequest {\n idClient: string;\n}\n\nexport interface UiApiClientsGetClaimsIdGetRequest {\n id: string;\n}\n\nexport interface UiApiClientsGetClaimsTypesGetRequest {\n extension: string;\n idClient: string;\n}\n\nexport interface UiApiClientsGetClaimsValuesDxPostRequest {\n typeClaim: string;\n idClient: string;\n dataSourceLoadOptions: DataSourceLoadOptions;\n}\n\nexport interface UiApiClientsGetClaimsValuesGetRequest {\n typeClaim: string;\n idClient: string;\n}\n\n/**\n * \n */\nexport class UiApiClientsApi extends runtime.BaseAPI {\n\n /**\n * Получение списка клиентов\n */\n async uiApiClientsGetRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/ui-api/clients`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(ClientReadDtoFromJSON));\n }\n\n /**\n * Получение списка клиентов\n */\n async uiApiClientsGet(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n const response = await this.uiApiClientsGetRaw(initOverrides);\n return await response.value();\n }\n\n /**\n * Получение списка всех клаймов клиента\n */\n async uiApiClientsGetAllClaimsIdClientGetRaw(requestParameters: UiApiClientsGetAllClaimsIdClientGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> {\n if (requestParameters['idClient'] == null) {\n throw new runtime.RequiredError(\n 'idClient',\n 'Required parameter \"idClient\" was null or undefined when calling uiApiClientsGetAllClaimsIdClientGet().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/ui-api/clients/get-all-claims/{idClient}`.replace(`{${\"idClient\"}}`, encodeURIComponent(String(requestParameters['idClient']))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(ClientAllClaimReadDtoFromJSON));\n }\n\n /**\n * Получение списка всех клаймов клиента\n */\n async uiApiClientsGetAllClaimsIdClientGet(requestParameters: UiApiClientsGetAllClaimsIdClientGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n const response = await this.uiApiClientsGetAllClaimsIdClientGetRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Получение списка клайм клиента\n */\n async uiApiClientsGetClaimsIdGetRaw(requestParameters: UiApiClientsGetClaimsIdGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> {\n if (requestParameters['id'] == null) {\n throw new runtime.RequiredError(\n 'id',\n 'Required parameter \"id\" was null or undefined when calling uiApiClientsGetClaimsIdGet().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/ui-api/clients/get-claims/{id}`.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters['id']))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(ClientClaimReadDtoFromJSON));\n }\n\n /**\n * Получение списка клайм клиента\n */\n async uiApiClientsGetClaimsIdGet(requestParameters: UiApiClientsGetClaimsIdGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n const response = await this.uiApiClientsGetClaimsIdGetRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Получение типов клайм из другого расширения\n */\n async uiApiClientsGetClaimsTypesGetRaw(requestParameters: UiApiClientsGetClaimsTypesGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n if (requestParameters['extension'] == null) {\n throw new runtime.RequiredError(\n 'extension',\n 'Required parameter \"extension\" was null or undefined when calling uiApiClientsGetClaimsTypesGet().'\n );\n }\n\n if (requestParameters['idClient'] == null) {\n throw new runtime.RequiredError(\n 'idClient',\n 'Required parameter \"idClient\" was null or undefined when calling uiApiClientsGetClaimsTypesGet().'\n );\n }\n\n const queryParameters: any = {};\n\n if (requestParameters['extension'] != null) {\n queryParameters['extension'] = requestParameters['extension'];\n }\n\n if (requestParameters['idClient'] != null) {\n queryParameters['idClient'] = requestParameters['idClient'];\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/ui-api/clients/get-claims-types`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n if (this.isJsonMime(response.headers.get('content-type'))) {\n return new runtime.JSONApiResponse(response);\n } else {\n return new runtime.TextApiResponse(response) as any;\n }\n }\n\n /**\n * Получение типов клайм из другого расширения\n */\n async uiApiClientsGetClaimsTypesGet(requestParameters: UiApiClientsGetClaimsTypesGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n const response = await this.uiApiClientsGetClaimsTypesGetRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Поля объекта \\\"ClientAllClaimValues\\\": ``` { Value: string; Description: string; Children: ClientAllClaimValues[]; } ```\n * Получение значений клайм из другого расширения (DX)\n */\n async uiApiClientsGetClaimsValuesDxPostRaw(requestParameters: UiApiClientsGetClaimsValuesDxPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n if (requestParameters['typeClaim'] == null) {\n throw new runtime.RequiredError(\n 'typeClaim',\n 'Required parameter \"typeClaim\" was null or undefined when calling uiApiClientsGetClaimsValuesDxPost().'\n );\n }\n\n if (requestParameters['idClient'] == null) {\n throw new runtime.RequiredError(\n 'idClient',\n 'Required parameter \"idClient\" was null or undefined when calling uiApiClientsGetClaimsValuesDxPost().'\n );\n }\n\n if (requestParameters['dataSourceLoadOptions'] == null) {\n throw new runtime.RequiredError(\n 'dataSourceLoadOptions',\n 'Required parameter \"dataSourceLoadOptions\" was null or undefined when calling uiApiClientsGetClaimsValuesDxPost().'\n );\n }\n\n const queryParameters: any = {};\n\n if (requestParameters['typeClaim'] != null) {\n queryParameters['typeClaim'] = requestParameters['typeClaim'];\n }\n\n if (requestParameters['idClient'] != null) {\n queryParameters['idClient'] = requestParameters['idClient'];\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json-patch+json';\n\n const response = await this.request({\n path: `/ui-api/clients/get-claims-values-dx`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: DataSourceLoadOptionsToJSON(requestParameters['dataSourceLoadOptions']),\n }, initOverrides);\n\n return new runtime.VoidApiResponse(response);\n }\n\n /**\n * Поля объекта \\\"ClientAllClaimValues\\\": ``` { Value: string; Description: string; Children: ClientAllClaimValues[]; } ```\n * Получение значений клайм из другого расширения (DX)\n */\n async uiApiClientsGetClaimsValuesDxPost(requestParameters: UiApiClientsGetClaimsValuesDxPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n await this.uiApiClientsGetClaimsValuesDxPostRaw(requestParameters, initOverrides);\n }\n\n /**\n * Поля объекта \\\"ClientAllClaimValues\\\": ``` { Value: string; Description: string; Children: ClientAllClaimValues[]; } ```\n * Получение значений клайм из другого расширения\n */\n async uiApiClientsGetClaimsValuesGetRaw(requestParameters: UiApiClientsGetClaimsValuesGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> {\n if (requestParameters['typeClaim'] == null) {\n throw new runtime.RequiredError(\n 'typeClaim',\n 'Required parameter \"typeClaim\" was null or undefined when calling uiApiClientsGetClaimsValuesGet().'\n );\n }\n\n if (requestParameters['idClient'] == null) {\n throw new runtime.RequiredError(\n 'idClient',\n 'Required parameter \"idClient\" was null or undefined when calling uiApiClientsGetClaimsValuesGet().'\n );\n }\n\n const queryParameters: any = {};\n\n if (requestParameters['typeClaim'] != null) {\n queryParameters['typeClaim'] = requestParameters['typeClaim'];\n }\n\n if (requestParameters['idClient'] != null) {\n queryParameters['idClient'] = requestParameters['idClient'];\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/ui-api/clients/get-claims-values`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(ClaimValuesTreeFromJSON));\n }\n\n /**\n * Поля объекта \\\"ClientAllClaimValues\\\": ``` { Value: string; Description: string; Children: ClientAllClaimValues[]; } ```\n * Получение значений клайм из другого расширения\n */\n async uiApiClientsGetClaimsValuesGet(requestParameters: UiApiClientsGetClaimsValuesGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n const response = await this.uiApiClientsGetClaimsValuesGetRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport type {\n ApiErrorResponseWithMessage,\n ClaimDto,\n ClientAllClaimReadDto,\n DataSourceLoadOptions,\n GroupCreateDto,\n GroupReadDto,\n LoadResult,\n UserReadDto,\n} from '../models/index';\nimport {\n ApiErrorResponseWithMessageFromJSON,\n ApiErrorResponseWithMessageToJSON,\n ClaimDtoFromJSON,\n ClaimDtoToJSON,\n ClientAllClaimReadDtoFromJSON,\n ClientAllClaimReadDtoToJSON,\n DataSourceLoadOptionsFromJSON,\n DataSourceLoadOptionsToJSON,\n GroupCreateDtoFromJSON,\n GroupCreateDtoToJSON,\n GroupReadDtoFromJSON,\n GroupReadDtoToJSON,\n LoadResultFromJSON,\n LoadResultToJSON,\n UserReadDtoFromJSON,\n UserReadDtoToJSON,\n} from '../models/index';\n\nexport interface UiApiGroupsAddPostRequest {\n groupCreateDto: GroupCreateDto;\n}\n\nexport interface UiApiGroupsGetByClaimsPostRequest {\n clientId: string;\n claimDto: Array;\n}\n\nexport interface UiApiGroupsGroupIdDeleteRequest {\n groupId: string;\n}\n\nexport interface UiApiGroupsIdClaimsDeleteRequest {\n id: string;\n clientAllClaimReadDto: Array;\n}\n\nexport interface UiApiGroupsIdClaimsGetRequest {\n id: string;\n}\n\nexport interface UiApiGroupsIdClaimsPostRequest {\n id: string;\n clientAllClaimReadDto: Array;\n}\n\nexport interface UiApiGroupsIdGetRequest {\n id: string;\n}\n\nexport interface UiApiGroupsIdPostRequest {\n id: string;\n groupCreateDto: GroupCreateDto;\n}\n\nexport interface UiApiGroupsIdUsersDeleteRequest {\n id: string;\n requestBody: Array;\n}\n\nexport interface UiApiGroupsIdUsersGetRequest {\n id: string;\n clientId?: string;\n}\n\nexport interface UiApiGroupsIdUsersPostRequest {\n id: string;\n requestBody: Array;\n}\n\nexport interface UiApiGroupsPostRequest {\n clientId?: string;\n dataSourceLoadOptions?: DataSourceLoadOptions;\n}\n\n/**\n * \n */\nexport class UiApiGroupsApi extends runtime.BaseAPI {\n\n /**\n * Создание группы\n */\n async uiApiGroupsAddPostRaw(requestParameters: UiApiGroupsAddPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n if (requestParameters['groupCreateDto'] == null) {\n throw new runtime.RequiredError(\n 'groupCreateDto',\n 'Required parameter \"groupCreateDto\" was null or undefined when calling uiApiGroupsAddPost().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json-patch+json';\n\n const response = await this.request({\n path: `/ui-api/groups/add`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: GroupCreateDtoToJSON(requestParameters['groupCreateDto']),\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => GroupReadDtoFromJSON(jsonValue));\n }\n\n /**\n * Создание группы\n */\n async uiApiGroupsAddPost(requestParameters: UiApiGroupsAddPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n const response = await this.uiApiGroupsAddPostRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Получение групп, содержащих **хотя бы одно** разрешение из переданной коллекции\n * Получение групп по разрешениям\n */\n async uiApiGroupsGetByClaimsPostRaw(requestParameters: UiApiGroupsGetByClaimsPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> {\n if (requestParameters['clientId'] == null) {\n throw new runtime.RequiredError(\n 'clientId',\n 'Required parameter \"clientId\" was null or undefined when calling uiApiGroupsGetByClaimsPost().'\n );\n }\n\n if (requestParameters['claimDto'] == null) {\n throw new runtime.RequiredError(\n 'claimDto',\n 'Required parameter \"claimDto\" was null or undefined when calling uiApiGroupsGetByClaimsPost().'\n );\n }\n\n const queryParameters: any = {};\n\n if (requestParameters['clientId'] != null) {\n queryParameters['clientId'] = requestParameters['clientId'];\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json-patch+json';\n\n const response = await this.request({\n path: `/ui-api/groups/get-by-claims`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters['claimDto']!.map(ClaimDtoToJSON),\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(GroupReadDtoFromJSON));\n }\n\n /**\n * Получение групп, содержащих **хотя бы одно** разрешение из переданной коллекции\n * Получение групп по разрешениям\n */\n async uiApiGroupsGetByClaimsPost(requestParameters: UiApiGroupsGetByClaimsPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n const response = await this.uiApiGroupsGetByClaimsPostRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Удаление группы\n */\n async uiApiGroupsGroupIdDeleteRaw(requestParameters: UiApiGroupsGroupIdDeleteRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n if (requestParameters['groupId'] == null) {\n throw new runtime.RequiredError(\n 'groupId',\n 'Required parameter \"groupId\" was null or undefined when calling uiApiGroupsGroupIdDelete().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/ui-api/groups/{groupId}`.replace(`{${\"groupId\"}}`, encodeURIComponent(String(requestParameters['groupId']))),\n method: 'DELETE',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.VoidApiResponse(response);\n }\n\n /**\n * Удаление группы\n */\n async uiApiGroupsGroupIdDelete(requestParameters: UiApiGroupsGroupIdDeleteRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n await this.uiApiGroupsGroupIdDeleteRaw(requestParameters, initOverrides);\n }\n\n /**\n * Если **хоть один** клейм из списка не будет найден - ничего не удалится\n * Удаление списка клеймов группы\n */\n async uiApiGroupsIdClaimsDeleteRaw(requestParameters: UiApiGroupsIdClaimsDeleteRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n if (requestParameters['id'] == null) {\n throw new runtime.RequiredError(\n 'id',\n 'Required parameter \"id\" was null or undefined when calling uiApiGroupsIdClaimsDelete().'\n );\n }\n\n if (requestParameters['clientAllClaimReadDto'] == null) {\n throw new runtime.RequiredError(\n 'clientAllClaimReadDto',\n 'Required parameter \"clientAllClaimReadDto\" was null or undefined when calling uiApiGroupsIdClaimsDelete().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json-patch+json';\n\n const response = await this.request({\n path: `/ui-api/groups/{id}/claims`.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters['id']))),\n method: 'DELETE',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters['clientAllClaimReadDto']!.map(ClientAllClaimReadDtoToJSON),\n }, initOverrides);\n\n return new runtime.VoidApiResponse(response);\n }\n\n /**\n * Если **хоть один** клейм из списка не будет найден - ничего не удалится\n * Удаление списка клеймов группы\n */\n async uiApiGroupsIdClaimsDelete(requestParameters: UiApiGroupsIdClaimsDeleteRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n await this.uiApiGroupsIdClaimsDeleteRaw(requestParameters, initOverrides);\n }\n\n /**\n * Получение клеймов группы\n */\n async uiApiGroupsIdClaimsGetRaw(requestParameters: UiApiGroupsIdClaimsGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> {\n if (requestParameters['id'] == null) {\n throw new runtime.RequiredError(\n 'id',\n 'Required parameter \"id\" was null or undefined when calling uiApiGroupsIdClaimsGet().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/ui-api/groups/{id}/claims`.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters['id']))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(ClientAllClaimReadDtoFromJSON));\n }\n\n /**\n * Получение клеймов группы\n */\n async uiApiGroupsIdClaimsGet(requestParameters: UiApiGroupsIdClaimsGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n const response = await this.uiApiGroupsIdClaimsGetRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Добавление клеймов группы\n */\n async uiApiGroupsIdClaimsPostRaw(requestParameters: UiApiGroupsIdClaimsPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n if (requestParameters['id'] == null) {\n throw new runtime.RequiredError(\n 'id',\n 'Required parameter \"id\" was null or undefined when calling uiApiGroupsIdClaimsPost().'\n );\n }\n\n if (requestParameters['clientAllClaimReadDto'] == null) {\n throw new runtime.RequiredError(\n 'clientAllClaimReadDto',\n 'Required parameter \"clientAllClaimReadDto\" was null or undefined when calling uiApiGroupsIdClaimsPost().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json-patch+json';\n\n const response = await this.request({\n path: `/ui-api/groups/{id}/claims`.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters['id']))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters['clientAllClaimReadDto']!.map(ClientAllClaimReadDtoToJSON),\n }, initOverrides);\n\n return new runtime.VoidApiResponse(response);\n }\n\n /**\n * Добавление клеймов группы\n */\n async uiApiGroupsIdClaimsPost(requestParameters: UiApiGroupsIdClaimsPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n await this.uiApiGroupsIdClaimsPostRaw(requestParameters, initOverrides);\n }\n\n /**\n * Получение группы\n */\n async uiApiGroupsIdGetRaw(requestParameters: UiApiGroupsIdGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n if (requestParameters['id'] == null) {\n throw new runtime.RequiredError(\n 'id',\n 'Required parameter \"id\" was null or undefined when calling uiApiGroupsIdGet().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/ui-api/groups/{id}`.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters['id']))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => GroupReadDtoFromJSON(jsonValue));\n }\n\n /**\n * Получение группы\n */\n async uiApiGroupsIdGet(requestParameters: UiApiGroupsIdGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n const response = await this.uiApiGroupsIdGetRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Обновление группы\n */\n async uiApiGroupsIdPostRaw(requestParameters: UiApiGroupsIdPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n if (requestParameters['id'] == null) {\n throw new runtime.RequiredError(\n 'id',\n 'Required parameter \"id\" was null or undefined when calling uiApiGroupsIdPost().'\n );\n }\n\n if (requestParameters['groupCreateDto'] == null) {\n throw new runtime.RequiredError(\n 'groupCreateDto',\n 'Required parameter \"groupCreateDto\" was null or undefined when calling uiApiGroupsIdPost().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json-patch+json';\n\n const response = await this.request({\n path: `/ui-api/groups/{id}`.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters['id']))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: GroupCreateDtoToJSON(requestParameters['groupCreateDto']),\n }, initOverrides);\n\n if (this.isJsonMime(response.headers.get('content-type'))) {\n return new runtime.JSONApiResponse(response);\n } else {\n return new runtime.TextApiResponse(response) as any;\n }\n }\n\n /**\n * Обновление группы\n */\n async uiApiGroupsIdPost(requestParameters: UiApiGroupsIdPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n const response = await this.uiApiGroupsIdPostRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Удаление пользователей из группы\n */\n async uiApiGroupsIdUsersDeleteRaw(requestParameters: UiApiGroupsIdUsersDeleteRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n if (requestParameters['id'] == null) {\n throw new runtime.RequiredError(\n 'id',\n 'Required parameter \"id\" was null or undefined when calling uiApiGroupsIdUsersDelete().'\n );\n }\n\n if (requestParameters['requestBody'] == null) {\n throw new runtime.RequiredError(\n 'requestBody',\n 'Required parameter \"requestBody\" was null or undefined when calling uiApiGroupsIdUsersDelete().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json-patch+json';\n\n const response = await this.request({\n path: `/ui-api/groups/{id}/users`.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters['id']))),\n method: 'DELETE',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters['requestBody'],\n }, initOverrides);\n\n return new runtime.VoidApiResponse(response);\n }\n\n /**\n * Удаление пользователей из группы\n */\n async uiApiGroupsIdUsersDelete(requestParameters: UiApiGroupsIdUsersDeleteRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n await this.uiApiGroupsIdUsersDeleteRaw(requestParameters, initOverrides);\n }\n\n /**\n * Получение пользователей группы\n */\n async uiApiGroupsIdUsersGetRaw(requestParameters: UiApiGroupsIdUsersGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> {\n if (requestParameters['id'] == null) {\n throw new runtime.RequiredError(\n 'id',\n 'Required parameter \"id\" was null or undefined when calling uiApiGroupsIdUsersGet().'\n );\n }\n\n const queryParameters: any = {};\n\n if (requestParameters['clientId'] != null) {\n queryParameters['clientId'] = requestParameters['clientId'];\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/ui-api/groups/{id}/users`.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters['id']))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(UserReadDtoFromJSON));\n }\n\n /**\n * Получение пользователей группы\n */\n async uiApiGroupsIdUsersGet(requestParameters: UiApiGroupsIdUsersGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n const response = await this.uiApiGroupsIdUsersGetRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Добавление пользователей группы\n */\n async uiApiGroupsIdUsersPostRaw(requestParameters: UiApiGroupsIdUsersPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n if (requestParameters['id'] == null) {\n throw new runtime.RequiredError(\n 'id',\n 'Required parameter \"id\" was null or undefined when calling uiApiGroupsIdUsersPost().'\n );\n }\n\n if (requestParameters['requestBody'] == null) {\n throw new runtime.RequiredError(\n 'requestBody',\n 'Required parameter \"requestBody\" was null or undefined when calling uiApiGroupsIdUsersPost().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json-patch+json';\n\n const response = await this.request({\n path: `/ui-api/groups/{id}/users`.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters['id']))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters['requestBody'],\n }, initOverrides);\n\n return new runtime.VoidApiResponse(response);\n }\n\n /**\n * Добавление пользователей группы\n */\n async uiApiGroupsIdUsersPost(requestParameters: UiApiGroupsIdUsersPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n await this.uiApiGroupsIdUsersPostRaw(requestParameters, initOverrides);\n }\n\n /**\n * Поля объекта \\\"группа\\\": ``` { id: string; clientId: string; createdDate: string; name: string; description: string; } ```\n * Список групп\n */\n async uiApiGroupsPostRaw(requestParameters: UiApiGroupsPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n const queryParameters: any = {};\n\n if (requestParameters['clientId'] != null) {\n queryParameters['clientId'] = requestParameters['clientId'];\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json-patch+json';\n\n const response = await this.request({\n path: `/ui-api/groups`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: DataSourceLoadOptionsToJSON(requestParameters['dataSourceLoadOptions']),\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => LoadResultFromJSON(jsonValue));\n }\n\n /**\n * Поля объекта \\\"группа\\\": ``` { id: string; clientId: string; createdDate: string; name: string; description: string; } ```\n * Список групп\n */\n async uiApiGroupsPost(requestParameters: UiApiGroupsPostRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n const response = await this.uiApiGroupsPostRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport type {\n ClientAllClaimReadDto,\n DataSourceLoadOptions,\n LoadResult,\n Participant,\n ParticipantCreateDto,\n ParticipantReadDto,\n ParticipantUserCreateDto,\n ParticipantUserReadDto,\n ParticipantUserUpdateDto,\n} from '../models/index';\nimport {\n ClientAllClaimReadDtoFromJSON,\n ClientAllClaimReadDtoToJSON,\n DataSourceLoadOptionsFromJSON,\n DataSourceLoadOptionsToJSON,\n LoadResultFromJSON,\n LoadResultToJSON,\n ParticipantFromJSON,\n ParticipantToJSON,\n ParticipantCreateDtoFromJSON,\n ParticipantCreateDtoToJSON,\n ParticipantReadDtoFromJSON,\n ParticipantReadDtoToJSON,\n ParticipantUserCreateDtoFromJSON,\n ParticipantUserCreateDtoToJSON,\n ParticipantUserReadDtoFromJSON,\n ParticipantUserReadDtoToJSON,\n ParticipantUserUpdateDtoFromJSON,\n ParticipantUserUpdateDtoToJSON,\n} from '../models/index';\n\nexport interface UiApiParticipantsAddPostRequest {\n participantCreateDto?: ParticipantCreateDto;\n}\n\nexport interface UiApiParticipantsByUserGetRequest {\n userId?: string;\n}\n\nexport interface UiApiParticipantsDxPostRequest {\n dataSourceLoadOptions?: DataSourceLoadOptions;\n}\n\nexport interface UiApiParticipantsGetParticipantsByClientDXPostRequest {\n client?: string;\n dataSourceLoadOptions?: DataSourceLoadOptions;\n}\n\nexport interface UiApiParticipantsIdClaimsAddPostRequest {\n id: number;\n clientAllClaimReadDto: Array;\n}\n\nexport interface UiApiParticipantsIdClaimsGetRequest {\n id: number;\n}\n\nexport interface UiApiParticipantsIdClaimsRemoveDeleteRequest {\n id: number;\n clientAllClaimReadDto: Array;\n}\n\nexport interface UiApiParticipantsIdDeleteRequest {\n id: number;\n}\n\nexport interface UiApiParticipantsIdGetRequest {\n id: number;\n}\n\nexport interface UiApiParticipantsIdPostRequest {\n id: number;\n participantCreateDto?: ParticipantCreateDto;\n}\n\nexport interface UiApiParticipantsIdUsersAddPostRequest {\n id: number;\n participantUserCreateDto: Array;\n}\n\nexport interface UiApiParticipantsIdUsersGetRequest {\n id: number;\n}\n\nexport interface UiApiParticipantsIdUsersRemoveDeleteRequest {\n id: number;\n requestBody: Array;\n}\n\nexport interface UiApiParticipantsIdUsersUpdatePostRequest {\n id: number;\n participantUserUpdateDto: Array;\n}\n\n/**\n * \n */\nexport class UiApiParticipantsApi extends runtime.BaseAPI {\n\n /**\n * Создать нового участника\n */\n async uiApiParticipantsAddPostRaw(requestParameters: UiApiParticipantsAddPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json-patch+json';\n\n const response = await this.request({\n path: `/ui-api/participants/add`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: ParticipantCreateDtoToJSON(requestParameters['participantCreateDto']),\n }, initOverrides);\n\n if (this.isJsonMime(response.headers.get('content-type'))) {\n return new runtime.JSONApiResponse(response);\n } else {\n return new runtime.TextApiResponse(response) as any;\n }\n }\n\n /**\n * Создать нового участника\n */\n async uiApiParticipantsAddPost(requestParameters: UiApiParticipantsAddPostRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n const response = await this.uiApiParticipantsAddPostRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Получение участников пользователя\n */\n async uiApiParticipantsByUserGetRaw(requestParameters: UiApiParticipantsByUserGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> {\n const queryParameters: any = {};\n\n if (requestParameters['userId'] != null) {\n queryParameters['userId'] = requestParameters['userId'];\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/ui-api/participants/by-user`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(ParticipantReadDtoFromJSON));\n }\n\n /**\n * Получение участников пользователя\n */\n async uiApiParticipantsByUserGet(requestParameters: UiApiParticipantsByUserGetRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n const response = await this.uiApiParticipantsByUserGetRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Поля объекта \\\"участник\\\": ``` { id: string; name: string; description: string; } ```\n * Возвращает список всех участников\n */\n async uiApiParticipantsDxPostRaw(requestParameters: UiApiParticipantsDxPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json-patch+json';\n\n const response = await this.request({\n path: `/ui-api/participants/dx`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: DataSourceLoadOptionsToJSON(requestParameters['dataSourceLoadOptions']),\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => LoadResultFromJSON(jsonValue));\n }\n\n /**\n * Поля объекта \\\"участник\\\": ``` { id: string; name: string; description: string; } ```\n * Возвращает список всех участников\n */\n async uiApiParticipantsDxPost(requestParameters: UiApiParticipantsDxPostRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n const response = await this.uiApiParticipantsDxPostRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Получение участников по клиенту\n */\n async uiApiParticipantsGetParticipantsByClientDXPostRaw(requestParameters: UiApiParticipantsGetParticipantsByClientDXPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n const queryParameters: any = {};\n\n if (requestParameters['client'] != null) {\n queryParameters['client'] = requestParameters['client'];\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json-patch+json';\n\n const response = await this.request({\n path: `/ui-api/participants/GetParticipantsByClientDX`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: DataSourceLoadOptionsToJSON(requestParameters['dataSourceLoadOptions']),\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => LoadResultFromJSON(jsonValue));\n }\n\n /**\n * Получение участников по клиенту\n */\n async uiApiParticipantsGetParticipantsByClientDXPost(requestParameters: UiApiParticipantsGetParticipantsByClientDXPostRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n const response = await this.uiApiParticipantsGetParticipantsByClientDXPostRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Добавление клеймов участника\n */\n async uiApiParticipantsIdClaimsAddPostRaw(requestParameters: UiApiParticipantsIdClaimsAddPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n if (requestParameters['id'] == null) {\n throw new runtime.RequiredError(\n 'id',\n 'Required parameter \"id\" was null or undefined when calling uiApiParticipantsIdClaimsAddPost().'\n );\n }\n\n if (requestParameters['clientAllClaimReadDto'] == null) {\n throw new runtime.RequiredError(\n 'clientAllClaimReadDto',\n 'Required parameter \"clientAllClaimReadDto\" was null or undefined when calling uiApiParticipantsIdClaimsAddPost().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json-patch+json';\n\n const response = await this.request({\n path: `/ui-api/participants/{id}/claims/add`.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters['id']))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters['clientAllClaimReadDto']!.map(ClientAllClaimReadDtoToJSON),\n }, initOverrides);\n\n return new runtime.VoidApiResponse(response);\n }\n\n /**\n * Добавление клеймов участника\n */\n async uiApiParticipantsIdClaimsAddPost(requestParameters: UiApiParticipantsIdClaimsAddPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n await this.uiApiParticipantsIdClaimsAddPostRaw(requestParameters, initOverrides);\n }\n\n /**\n * Получение клеймов участника\n */\n async uiApiParticipantsIdClaimsGetRaw(requestParameters: UiApiParticipantsIdClaimsGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> {\n if (requestParameters['id'] == null) {\n throw new runtime.RequiredError(\n 'id',\n 'Required parameter \"id\" was null or undefined when calling uiApiParticipantsIdClaimsGet().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/ui-api/participants/{id}/claims`.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters['id']))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(ClientAllClaimReadDtoFromJSON));\n }\n\n /**\n * Получение клеймов участника\n */\n async uiApiParticipantsIdClaimsGet(requestParameters: UiApiParticipantsIdClaimsGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n const response = await this.uiApiParticipantsIdClaimsGetRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Удаление клеймов участника\n */\n async uiApiParticipantsIdClaimsRemoveDeleteRaw(requestParameters: UiApiParticipantsIdClaimsRemoveDeleteRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n if (requestParameters['id'] == null) {\n throw new runtime.RequiredError(\n 'id',\n 'Required parameter \"id\" was null or undefined when calling uiApiParticipantsIdClaimsRemoveDelete().'\n );\n }\n\n if (requestParameters['clientAllClaimReadDto'] == null) {\n throw new runtime.RequiredError(\n 'clientAllClaimReadDto',\n 'Required parameter \"clientAllClaimReadDto\" was null or undefined when calling uiApiParticipantsIdClaimsRemoveDelete().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json-patch+json';\n\n const response = await this.request({\n path: `/ui-api/participants/{id}/claims/remove`.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters['id']))),\n method: 'DELETE',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters['clientAllClaimReadDto']!.map(ClientAllClaimReadDtoToJSON),\n }, initOverrides);\n\n return new runtime.VoidApiResponse(response);\n }\n\n /**\n * Удаление клеймов участника\n */\n async uiApiParticipantsIdClaimsRemoveDelete(requestParameters: UiApiParticipantsIdClaimsRemoveDeleteRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n await this.uiApiParticipantsIdClaimsRemoveDeleteRaw(requestParameters, initOverrides);\n }\n\n /**\n * Удаление участника\n */\n async uiApiParticipantsIdDeleteRaw(requestParameters: UiApiParticipantsIdDeleteRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n if (requestParameters['id'] == null) {\n throw new runtime.RequiredError(\n 'id',\n 'Required parameter \"id\" was null or undefined when calling uiApiParticipantsIdDelete().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/ui-api/participants/{id}`.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters['id']))),\n method: 'DELETE',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.VoidApiResponse(response);\n }\n\n /**\n * Удаление участника\n */\n async uiApiParticipantsIdDelete(requestParameters: UiApiParticipantsIdDeleteRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n await this.uiApiParticipantsIdDeleteRaw(requestParameters, initOverrides);\n }\n\n /**\n * Получить данные участника\n */\n async uiApiParticipantsIdGetRaw(requestParameters: UiApiParticipantsIdGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n if (requestParameters['id'] == null) {\n throw new runtime.RequiredError(\n 'id',\n 'Required parameter \"id\" was null or undefined when calling uiApiParticipantsIdGet().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/ui-api/participants/{id}`.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters['id']))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => ParticipantFromJSON(jsonValue));\n }\n\n /**\n * Получить данные участника\n */\n async uiApiParticipantsIdGet(requestParameters: UiApiParticipantsIdGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n const response = await this.uiApiParticipantsIdGetRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Обновить данные участника\n */\n async uiApiParticipantsIdPostRaw(requestParameters: UiApiParticipantsIdPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n if (requestParameters['id'] == null) {\n throw new runtime.RequiredError(\n 'id',\n 'Required parameter \"id\" was null or undefined when calling uiApiParticipantsIdPost().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json-patch+json';\n\n const response = await this.request({\n path: `/ui-api/participants/{id}`.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters['id']))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: ParticipantCreateDtoToJSON(requestParameters['participantCreateDto']),\n }, initOverrides);\n\n return new runtime.VoidApiResponse(response);\n }\n\n /**\n * Обновить данные участника\n */\n async uiApiParticipantsIdPost(requestParameters: UiApiParticipantsIdPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n await this.uiApiParticipantsIdPostRaw(requestParameters, initOverrides);\n }\n\n /**\n * Добавление пользователей участника\n */\n async uiApiParticipantsIdUsersAddPostRaw(requestParameters: UiApiParticipantsIdUsersAddPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n if (requestParameters['id'] == null) {\n throw new runtime.RequiredError(\n 'id',\n 'Required parameter \"id\" was null or undefined when calling uiApiParticipantsIdUsersAddPost().'\n );\n }\n\n if (requestParameters['participantUserCreateDto'] == null) {\n throw new runtime.RequiredError(\n 'participantUserCreateDto',\n 'Required parameter \"participantUserCreateDto\" was null or undefined when calling uiApiParticipantsIdUsersAddPost().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json-patch+json';\n\n const response = await this.request({\n path: `/ui-api/participants/{id}/users/add`.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters['id']))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters['participantUserCreateDto']!.map(ParticipantUserCreateDtoToJSON),\n }, initOverrides);\n\n return new runtime.VoidApiResponse(response);\n }\n\n /**\n * Добавление пользователей участника\n */\n async uiApiParticipantsIdUsersAddPost(requestParameters: UiApiParticipantsIdUsersAddPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n await this.uiApiParticipantsIdUsersAddPostRaw(requestParameters, initOverrides);\n }\n\n /**\n * Получение пользователей участника\n */\n async uiApiParticipantsIdUsersGetRaw(requestParameters: UiApiParticipantsIdUsersGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> {\n if (requestParameters['id'] == null) {\n throw new runtime.RequiredError(\n 'id',\n 'Required parameter \"id\" was null or undefined when calling uiApiParticipantsIdUsersGet().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/ui-api/participants/{id}/users`.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters['id']))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(ParticipantUserReadDtoFromJSON));\n }\n\n /**\n * Получение пользователей участника\n */\n async uiApiParticipantsIdUsersGet(requestParameters: UiApiParticipantsIdUsersGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n const response = await this.uiApiParticipantsIdUsersGetRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Удаление пользователей из участника\n */\n async uiApiParticipantsIdUsersRemoveDeleteRaw(requestParameters: UiApiParticipantsIdUsersRemoveDeleteRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n if (requestParameters['id'] == null) {\n throw new runtime.RequiredError(\n 'id',\n 'Required parameter \"id\" was null or undefined when calling uiApiParticipantsIdUsersRemoveDelete().'\n );\n }\n\n if (requestParameters['requestBody'] == null) {\n throw new runtime.RequiredError(\n 'requestBody',\n 'Required parameter \"requestBody\" was null or undefined when calling uiApiParticipantsIdUsersRemoveDelete().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json-patch+json';\n\n const response = await this.request({\n path: `/ui-api/participants/{id}/users/remove`.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters['id']))),\n method: 'DELETE',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters['requestBody'],\n }, initOverrides);\n\n return new runtime.VoidApiResponse(response);\n }\n\n /**\n * Удаление пользователей из участника\n */\n async uiApiParticipantsIdUsersRemoveDelete(requestParameters: UiApiParticipantsIdUsersRemoveDeleteRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n await this.uiApiParticipantsIdUsersRemoveDeleteRaw(requestParameters, initOverrides);\n }\n\n /**\n * Обновление пользователей участника\n */\n async uiApiParticipantsIdUsersUpdatePostRaw(requestParameters: UiApiParticipantsIdUsersUpdatePostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n if (requestParameters['id'] == null) {\n throw new runtime.RequiredError(\n 'id',\n 'Required parameter \"id\" was null or undefined when calling uiApiParticipantsIdUsersUpdatePost().'\n );\n }\n\n if (requestParameters['participantUserUpdateDto'] == null) {\n throw new runtime.RequiredError(\n 'participantUserUpdateDto',\n 'Required parameter \"participantUserUpdateDto\" was null or undefined when calling uiApiParticipantsIdUsersUpdatePost().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json-patch+json';\n\n const response = await this.request({\n path: `/ui-api/participants/{id}/users/update`.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters['id']))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters['participantUserUpdateDto']!.map(ParticipantUserUpdateDtoToJSON),\n }, initOverrides);\n\n return new runtime.VoidApiResponse(response);\n }\n\n /**\n * Обновление пользователей участника\n */\n async uiApiParticipantsIdUsersUpdatePost(requestParameters: UiApiParticipantsIdUsersUpdatePostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n await this.uiApiParticipantsIdUsersUpdatePostRaw(requestParameters, initOverrides);\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport type {\n AddClientAllClaimDto,\n ParticipantRoleReadDto,\n ParticipantUserClaimReadDto,\n ParticipantUserReadDto,\n RemoveClientAllClaimDto,\n} from '../models/index';\nimport {\n AddClientAllClaimDtoFromJSON,\n AddClientAllClaimDtoToJSON,\n ParticipantRoleReadDtoFromJSON,\n ParticipantRoleReadDtoToJSON,\n ParticipantUserClaimReadDtoFromJSON,\n ParticipantUserClaimReadDtoToJSON,\n ParticipantUserReadDtoFromJSON,\n ParticipantUserReadDtoToJSON,\n RemoveClientAllClaimDtoFromJSON,\n RemoveClientAllClaimDtoToJSON,\n} from '../models/index';\n\nexport interface UiApiParticipantsUsersPUserIdClaimsAvailableGetRequest {\n pUserId: number;\n}\n\nexport interface UiApiParticipantsUsersPUserIdClaimsGetRequest {\n pUserId: number;\n}\n\nexport interface UiApiParticipantsUsersUserIdAdminPermissionsPostRequest {\n userId: number;\n body: boolean;\n}\n\nexport interface UiApiParticipantsUsersUserIdClaimsAddPostRequest {\n userId: number;\n addClientAllClaimDto: Array;\n}\n\nexport interface UiApiParticipantsUsersUserIdClaimsRemoveDeleteRequest {\n userId: number;\n removeClientAllClaimDto: Array;\n}\n\nexport interface UiApiParticipantsUsersUserIdGetRequest {\n userId: number;\n}\n\nexport interface UiApiParticipantsUsersUserIdGroupsAddPostRequest {\n userId: number;\n requestBody: Array;\n}\n\nexport interface UiApiParticipantsUsersUserIdGroupsAvailableGetRequest {\n userId: number;\n}\n\nexport interface UiApiParticipantsUsersUserIdGroupsGetRequest {\n userId: number;\n}\n\nexport interface UiApiParticipantsUsersUserIdGroupsRemoveDeleteRequest {\n userId: number;\n requestBody: Array;\n}\n\n/**\n * \n */\nexport class UiApiParticipantsUsersApi extends runtime.BaseAPI {\n\n /**\n */\n async uiApiParticipantsUsersPUserIdClaimsAvailableGetRaw(requestParameters: UiApiParticipantsUsersPUserIdClaimsAvailableGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> {\n if (requestParameters['pUserId'] == null) {\n throw new runtime.RequiredError(\n 'pUserId',\n 'Required parameter \"pUserId\" was null or undefined when calling uiApiParticipantsUsersPUserIdClaimsAvailableGet().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/ui-api/participants-users/{pUserId}/claims/available`.replace(`{${\"pUserId\"}}`, encodeURIComponent(String(requestParameters['pUserId']))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(ParticipantUserClaimReadDtoFromJSON));\n }\n\n /**\n */\n async uiApiParticipantsUsersPUserIdClaimsAvailableGet(requestParameters: UiApiParticipantsUsersPUserIdClaimsAvailableGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n const response = await this.uiApiParticipantsUsersPUserIdClaimsAvailableGetRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n */\n async uiApiParticipantsUsersPUserIdClaimsGetRaw(requestParameters: UiApiParticipantsUsersPUserIdClaimsGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> {\n if (requestParameters['pUserId'] == null) {\n throw new runtime.RequiredError(\n 'pUserId',\n 'Required parameter \"pUserId\" was null or undefined when calling uiApiParticipantsUsersPUserIdClaimsGet().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/ui-api/participants-users/{pUserId}/claims`.replace(`{${\"pUserId\"}}`, encodeURIComponent(String(requestParameters['pUserId']))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(ParticipantUserClaimReadDtoFromJSON));\n }\n\n /**\n */\n async uiApiParticipantsUsersPUserIdClaimsGet(requestParameters: UiApiParticipantsUsersPUserIdClaimsGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n const response = await this.uiApiParticipantsUsersPUserIdClaimsGetRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n */\n async uiApiParticipantsUsersUserIdAdminPermissionsPostRaw(requestParameters: UiApiParticipantsUsersUserIdAdminPermissionsPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n if (requestParameters['userId'] == null) {\n throw new runtime.RequiredError(\n 'userId',\n 'Required parameter \"userId\" was null or undefined when calling uiApiParticipantsUsersUserIdAdminPermissionsPost().'\n );\n }\n\n if (requestParameters['body'] == null) {\n throw new runtime.RequiredError(\n 'body',\n 'Required parameter \"body\" was null or undefined when calling uiApiParticipantsUsersUserIdAdminPermissionsPost().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json-patch+json';\n\n const response = await this.request({\n path: `/ui-api/participants-users/{userId}/admin-permissions`.replace(`{${\"userId\"}}`, encodeURIComponent(String(requestParameters['userId']))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters['body'] as any,\n }, initOverrides);\n\n if (this.isJsonMime(response.headers.get('content-type'))) {\n return new runtime.JSONApiResponse(response);\n } else {\n return new runtime.TextApiResponse(response) as any;\n }\n }\n\n /**\n */\n async uiApiParticipantsUsersUserIdAdminPermissionsPost(requestParameters: UiApiParticipantsUsersUserIdAdminPermissionsPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n const response = await this.uiApiParticipantsUsersUserIdAdminPermissionsPostRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n */\n async uiApiParticipantsUsersUserIdClaimsAddPostRaw(requestParameters: UiApiParticipantsUsersUserIdClaimsAddPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n if (requestParameters['userId'] == null) {\n throw new runtime.RequiredError(\n 'userId',\n 'Required parameter \"userId\" was null or undefined when calling uiApiParticipantsUsersUserIdClaimsAddPost().'\n );\n }\n\n if (requestParameters['addClientAllClaimDto'] == null) {\n throw new runtime.RequiredError(\n 'addClientAllClaimDto',\n 'Required parameter \"addClientAllClaimDto\" was null or undefined when calling uiApiParticipantsUsersUserIdClaimsAddPost().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json-patch+json';\n\n const response = await this.request({\n path: `/ui-api/participants-users/{userId}/claims/add`.replace(`{${\"userId\"}}`, encodeURIComponent(String(requestParameters['userId']))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters['addClientAllClaimDto']!.map(AddClientAllClaimDtoToJSON),\n }, initOverrides);\n\n if (this.isJsonMime(response.headers.get('content-type'))) {\n return new runtime.JSONApiResponse(response);\n } else {\n return new runtime.TextApiResponse(response) as any;\n }\n }\n\n /**\n */\n async uiApiParticipantsUsersUserIdClaimsAddPost(requestParameters: UiApiParticipantsUsersUserIdClaimsAddPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n const response = await this.uiApiParticipantsUsersUserIdClaimsAddPostRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n */\n async uiApiParticipantsUsersUserIdClaimsRemoveDeleteRaw(requestParameters: UiApiParticipantsUsersUserIdClaimsRemoveDeleteRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n if (requestParameters['userId'] == null) {\n throw new runtime.RequiredError(\n 'userId',\n 'Required parameter \"userId\" was null or undefined when calling uiApiParticipantsUsersUserIdClaimsRemoveDelete().'\n );\n }\n\n if (requestParameters['removeClientAllClaimDto'] == null) {\n throw new runtime.RequiredError(\n 'removeClientAllClaimDto',\n 'Required parameter \"removeClientAllClaimDto\" was null or undefined when calling uiApiParticipantsUsersUserIdClaimsRemoveDelete().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json-patch+json';\n\n const response = await this.request({\n path: `/ui-api/participants-users/{userId}/claims/remove`.replace(`{${\"userId\"}}`, encodeURIComponent(String(requestParameters['userId']))),\n method: 'DELETE',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters['removeClientAllClaimDto']!.map(RemoveClientAllClaimDtoToJSON),\n }, initOverrides);\n\n if (this.isJsonMime(response.headers.get('content-type'))) {\n return new runtime.JSONApiResponse(response);\n } else {\n return new runtime.TextApiResponse(response) as any;\n }\n }\n\n /**\n */\n async uiApiParticipantsUsersUserIdClaimsRemoveDelete(requestParameters: UiApiParticipantsUsersUserIdClaimsRemoveDeleteRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n const response = await this.uiApiParticipantsUsersUserIdClaimsRemoveDeleteRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n */\n async uiApiParticipantsUsersUserIdGetRaw(requestParameters: UiApiParticipantsUsersUserIdGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n if (requestParameters['userId'] == null) {\n throw new runtime.RequiredError(\n 'userId',\n 'Required parameter \"userId\" was null or undefined when calling uiApiParticipantsUsersUserIdGet().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/ui-api/participants-users/{userId}`.replace(`{${\"userId\"}}`, encodeURIComponent(String(requestParameters['userId']))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => ParticipantUserReadDtoFromJSON(jsonValue));\n }\n\n /**\n */\n async uiApiParticipantsUsersUserIdGet(requestParameters: UiApiParticipantsUsersUserIdGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n const response = await this.uiApiParticipantsUsersUserIdGetRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n */\n async uiApiParticipantsUsersUserIdGroupsAddPostRaw(requestParameters: UiApiParticipantsUsersUserIdGroupsAddPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n if (requestParameters['userId'] == null) {\n throw new runtime.RequiredError(\n 'userId',\n 'Required parameter \"userId\" was null or undefined when calling uiApiParticipantsUsersUserIdGroupsAddPost().'\n );\n }\n\n if (requestParameters['requestBody'] == null) {\n throw new runtime.RequiredError(\n 'requestBody',\n 'Required parameter \"requestBody\" was null or undefined when calling uiApiParticipantsUsersUserIdGroupsAddPost().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json-patch+json';\n\n const response = await this.request({\n path: `/ui-api/participants-users/{userId}/groups/add`.replace(`{${\"userId\"}}`, encodeURIComponent(String(requestParameters['userId']))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters['requestBody'],\n }, initOverrides);\n\n if (this.isJsonMime(response.headers.get('content-type'))) {\n return new runtime.JSONApiResponse(response);\n } else {\n return new runtime.TextApiResponse(response) as any;\n }\n }\n\n /**\n */\n async uiApiParticipantsUsersUserIdGroupsAddPost(requestParameters: UiApiParticipantsUsersUserIdGroupsAddPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n const response = await this.uiApiParticipantsUsersUserIdGroupsAddPostRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n */\n async uiApiParticipantsUsersUserIdGroupsAvailableGetRaw(requestParameters: UiApiParticipantsUsersUserIdGroupsAvailableGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> {\n if (requestParameters['userId'] == null) {\n throw new runtime.RequiredError(\n 'userId',\n 'Required parameter \"userId\" was null or undefined when calling uiApiParticipantsUsersUserIdGroupsAvailableGet().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/ui-api/participants-users/{userId}/groups/available`.replace(`{${\"userId\"}}`, encodeURIComponent(String(requestParameters['userId']))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(ParticipantRoleReadDtoFromJSON));\n }\n\n /**\n */\n async uiApiParticipantsUsersUserIdGroupsAvailableGet(requestParameters: UiApiParticipantsUsersUserIdGroupsAvailableGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n const response = await this.uiApiParticipantsUsersUserIdGroupsAvailableGetRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n */\n async uiApiParticipantsUsersUserIdGroupsGetRaw(requestParameters: UiApiParticipantsUsersUserIdGroupsGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> {\n if (requestParameters['userId'] == null) {\n throw new runtime.RequiredError(\n 'userId',\n 'Required parameter \"userId\" was null or undefined when calling uiApiParticipantsUsersUserIdGroupsGet().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n const response = await this.request({\n path: `/ui-api/participants-users/{userId}/groups`.replace(`{${\"userId\"}}`, encodeURIComponent(String(requestParameters['userId']))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(ParticipantRoleReadDtoFromJSON));\n }\n\n /**\n */\n async uiApiParticipantsUsersUserIdGroupsGet(requestParameters: UiApiParticipantsUsersUserIdGroupsGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n const response = await this.uiApiParticipantsUsersUserIdGroupsGetRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n */\n async uiApiParticipantsUsersUserIdGroupsRemoveDeleteRaw(requestParameters: UiApiParticipantsUsersUserIdGroupsRemoveDeleteRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n if (requestParameters['userId'] == null) {\n throw new runtime.RequiredError(\n 'userId',\n 'Required parameter \"userId\" was null or undefined when calling uiApiParticipantsUsersUserIdGroupsRemoveDelete().'\n );\n }\n\n if (requestParameters['requestBody'] == null) {\n throw new runtime.RequiredError(\n 'requestBody',\n 'Required parameter \"requestBody\" was null or undefined when calling uiApiParticipantsUsersUserIdGroupsRemoveDelete().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json-patch+json';\n\n const response = await this.request({\n path: `/ui-api/participants-users/{userId}/groups/remove`.replace(`{${\"userId\"}}`, encodeURIComponent(String(requestParameters['userId']))),\n method: 'DELETE',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters['requestBody'],\n }, initOverrides);\n\n if (this.isJsonMime(response.headers.get('content-type'))) {\n return new runtime.JSONApiResponse(response);\n } else {\n return new runtime.TextApiResponse(response) as any;\n }\n }\n\n /**\n */\n async uiApiParticipantsUsersUserIdGroupsRemoveDelete(requestParameters: UiApiParticipantsUsersUserIdGroupsRemoveDeleteRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n const response = await this.uiApiParticipantsUsersUserIdGroupsRemoveDeleteRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as runtime from '../runtime';\nimport type {\n ApiErrorResponseWithMessage,\n ClaimDto,\n ClientAllClaimReadDto,\n DataSourceLoadOptions,\n GroupReadDto,\n LoadResult,\n UserClaimAddDto,\n UserClaimReadDto,\n UserCreateDto,\n UserReadDto,\n UserUpdateDto,\n} from '../models/index';\nimport {\n ApiErrorResponseWithMessageFromJSON,\n ApiErrorResponseWithMessageToJSON,\n ClaimDtoFromJSON,\n ClaimDtoToJSON,\n ClientAllClaimReadDtoFromJSON,\n ClientAllClaimReadDtoToJSON,\n DataSourceLoadOptionsFromJSON,\n DataSourceLoadOptionsToJSON,\n GroupReadDtoFromJSON,\n GroupReadDtoToJSON,\n LoadResultFromJSON,\n LoadResultToJSON,\n UserClaimAddDtoFromJSON,\n UserClaimAddDtoToJSON,\n UserClaimReadDtoFromJSON,\n UserClaimReadDtoToJSON,\n UserCreateDtoFromJSON,\n UserCreateDtoToJSON,\n UserReadDtoFromJSON,\n UserReadDtoToJSON,\n UserUpdateDtoFromJSON,\n UserUpdateDtoToJSON,\n} from '../models/index';\n\nexport interface UiApiUsersCreatePostRequest {\n userCreateDto: UserCreateDto;\n clientId?: string;\n}\n\nexport interface UiApiUsersGetAllUsersClaimsPostRequest {\n clientId?: string;\n dataSourceLoadOptions?: DataSourceLoadOptions;\n}\n\nexport interface UiApiUsersGetByClaimsPostRequest {\n clientId: string;\n claimDto: Array;\n includeRoleClaims?: boolean;\n includeParticipantClaims?: boolean;\n}\n\nexport interface UiApiUsersGetUserParticipantsGetRequest {\n userId: string;\n clientId?: string;\n}\n\nexport interface UiApiUsersGetUsersByClientDXPostRequest {\n client?: string;\n dataSourceLoadOptions?: DataSourceLoadOptions;\n}\n\nexport interface UiApiUsersIdClaimsDeleteRequest {\n id: string;\n clientAllClaimReadDto: Array;\n}\n\nexport interface UiApiUsersIdClaimsGetRequest {\n id: string;\n clientId?: string;\n}\n\nexport interface UiApiUsersIdClaimsPostRequest {\n id: string;\n userClaimAddDto: Array;\n}\n\nexport interface UiApiUsersIdGetRequest {\n id: string;\n}\n\nexport interface UiApiUsersIdGroupsDeleteRequest {\n id: string;\n requestBody: Array;\n}\n\nexport interface UiApiUsersIdGroupsGetRequest {\n id: string;\n clientId?: string;\n}\n\nexport interface UiApiUsersIdGroupsPostRequest {\n id: string;\n requestBody: Array;\n}\n\nexport interface UiApiUsersIdPostRequest {\n id: string;\n userUpdateDto: UserUpdateDto;\n}\n\nexport interface UiApiUsersPostRequest {\n dataSourceLoadOptions?: DataSourceLoadOptions;\n}\n\n/**\n * \n */\nexport class UiApiUsersApi extends runtime.BaseAPI {\n\n /**\n * Создает нового пользователя\n */\n async uiApiUsersCreatePostRaw(requestParameters: UiApiUsersCreatePostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n if (requestParameters['userCreateDto'] == null) {\n throw new runtime.RequiredError(\n 'userCreateDto',\n 'Required parameter \"userCreateDto\" was null or undefined when calling uiApiUsersCreatePost().'\n );\n }\n\n const queryParameters: any = {};\n\n if (requestParameters['clientId'] != null) {\n queryParameters['clientId'] = requestParameters['clientId'];\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json-patch+json';\n\n if (this.configuration && this.configuration.accessToken) {\n // oauth required\n headerParameters[\"Authorization\"] = await this.configuration.accessToken(\"oauth2\", []);\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = await this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\n\n const response = await this.request({\n path: `/ui-api/users/create`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: UserCreateDtoToJSON(requestParameters['userCreateDto']),\n }, initOverrides);\n\n if (this.isJsonMime(response.headers.get('content-type'))) {\n return new runtime.JSONApiResponse(response);\n } else {\n return new runtime.TextApiResponse(response) as any;\n }\n }\n\n /**\n * Создает нового пользователя\n */\n async uiApiUsersCreatePost(requestParameters: UiApiUsersCreatePostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n const response = await this.uiApiUsersCreatePostRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n */\n async uiApiUsersCurrentGetRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.accessToken) {\n // oauth required\n headerParameters[\"Authorization\"] = await this.configuration.accessToken(\"oauth2\", []);\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = await this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\n\n const response = await this.request({\n path: `/ui-api/users/current`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => UserReadDtoFromJSON(jsonValue));\n }\n\n /**\n */\n async uiApiUsersCurrentGet(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n const response = await this.uiApiUsersCurrentGetRaw(initOverrides);\n return await response.value();\n }\n\n /**\n * Возвращает список всех пользователей\n */\n async uiApiUsersGetRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.accessToken) {\n // oauth required\n headerParameters[\"Authorization\"] = await this.configuration.accessToken(\"oauth2\", []);\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = await this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\n\n const response = await this.request({\n path: `/ui-api/users`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(UserReadDtoFromJSON));\n }\n\n /**\n * Возвращает список всех пользователей\n */\n async uiApiUsersGet(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n const response = await this.uiApiUsersGetRaw(initOverrides);\n return await response.value();\n }\n\n /**\n * Метод получения всех клеймов пользователей из представления AllUserClaims\n */\n async uiApiUsersGetAllUsersClaimsPostRaw(requestParameters: UiApiUsersGetAllUsersClaimsPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n const queryParameters: any = {};\n\n if (requestParameters['clientId'] != null) {\n queryParameters['clientId'] = requestParameters['clientId'];\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json-patch+json';\n\n if (this.configuration && this.configuration.accessToken) {\n // oauth required\n headerParameters[\"Authorization\"] = await this.configuration.accessToken(\"oauth2\", []);\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = await this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\n\n const response = await this.request({\n path: `/ui-api/users/GetAllUsersClaims`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: DataSourceLoadOptionsToJSON(requestParameters['dataSourceLoadOptions']),\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => LoadResultFromJSON(jsonValue));\n }\n\n /**\n * Метод получения всех клеймов пользователей из представления AllUserClaims\n */\n async uiApiUsersGetAllUsersClaimsPost(requestParameters: UiApiUsersGetAllUsersClaimsPostRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n const response = await this.uiApiUsersGetAllUsersClaimsPostRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Получение пользователей по клеймам\n */\n async uiApiUsersGetByClaimsPostRaw(requestParameters: UiApiUsersGetByClaimsPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> {\n if (requestParameters['clientId'] == null) {\n throw new runtime.RequiredError(\n 'clientId',\n 'Required parameter \"clientId\" was null or undefined when calling uiApiUsersGetByClaimsPost().'\n );\n }\n\n if (requestParameters['claimDto'] == null) {\n throw new runtime.RequiredError(\n 'claimDto',\n 'Required parameter \"claimDto\" was null or undefined when calling uiApiUsersGetByClaimsPost().'\n );\n }\n\n const queryParameters: any = {};\n\n if (requestParameters['clientId'] != null) {\n queryParameters['clientId'] = requestParameters['clientId'];\n }\n\n if (requestParameters['includeRoleClaims'] != null) {\n queryParameters['includeRoleClaims'] = requestParameters['includeRoleClaims'];\n }\n\n if (requestParameters['includeParticipantClaims'] != null) {\n queryParameters['includeParticipantClaims'] = requestParameters['includeParticipantClaims'];\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json-patch+json';\n\n if (this.configuration && this.configuration.accessToken) {\n // oauth required\n headerParameters[\"Authorization\"] = await this.configuration.accessToken(\"oauth2\", []);\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = await this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\n\n const response = await this.request({\n path: `/ui-api/users/get-by-claims`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters['claimDto']!.map(ClaimDtoToJSON),\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(UserReadDtoFromJSON));\n }\n\n /**\n * Получение пользователей по клеймам\n */\n async uiApiUsersGetByClaimsPost(requestParameters: UiApiUsersGetByClaimsPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n const response = await this.uiApiUsersGetByClaimsPostRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Если clientId пуст - то вернутся все участники пользователя во всех модулях\n * Получение участников, в которых состоит пользователь\n */\n async uiApiUsersGetUserParticipantsGetRaw(requestParameters: UiApiUsersGetUserParticipantsGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n if (requestParameters['userId'] == null) {\n throw new runtime.RequiredError(\n 'userId',\n 'Required parameter \"userId\" was null or undefined when calling uiApiUsersGetUserParticipantsGet().'\n );\n }\n\n const queryParameters: any = {};\n\n if (requestParameters['userId'] != null) {\n queryParameters['UserId'] = requestParameters['userId'];\n }\n\n if (requestParameters['clientId'] != null) {\n queryParameters['ClientId'] = requestParameters['clientId'];\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.accessToken) {\n // oauth required\n headerParameters[\"Authorization\"] = await this.configuration.accessToken(\"oauth2\", []);\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = await this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\n\n const response = await this.request({\n path: `/ui-api/users/GetUserParticipants`,\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n if (this.isJsonMime(response.headers.get('content-type'))) {\n return new runtime.JSONApiResponse(response);\n } else {\n return new runtime.TextApiResponse(response) as any;\n }\n }\n\n /**\n * Если clientId пуст - то вернутся все участники пользователя во всех модулях\n * Получение участников, в которых состоит пользователь\n */\n async uiApiUsersGetUserParticipantsGet(requestParameters: UiApiUsersGetUserParticipantsGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n const response = await this.uiApiUsersGetUserParticipantsGetRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Список пользователей по клиенту\n */\n async uiApiUsersGetUsersByClientDXPostRaw(requestParameters: UiApiUsersGetUsersByClientDXPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n const queryParameters: any = {};\n\n if (requestParameters['client'] != null) {\n queryParameters['client'] = requestParameters['client'];\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json-patch+json';\n\n if (this.configuration && this.configuration.accessToken) {\n // oauth required\n headerParameters[\"Authorization\"] = await this.configuration.accessToken(\"oauth2\", []);\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = await this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\n\n const response = await this.request({\n path: `/ui-api/users/GetUsersByClientDX`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: DataSourceLoadOptionsToJSON(requestParameters['dataSourceLoadOptions']),\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => LoadResultFromJSON(jsonValue));\n }\n\n /**\n * Список пользователей по клиенту\n */\n async uiApiUsersGetUsersByClientDXPost(requestParameters: UiApiUsersGetUsersByClientDXPostRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n const response = await this.uiApiUsersGetUsersByClientDXPostRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Если **хоть один** клейм из списка не будет найден - ничего не удалится\n * Удаление списка клеймов пользователя\n */\n async uiApiUsersIdClaimsDeleteRaw(requestParameters: UiApiUsersIdClaimsDeleteRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n if (requestParameters['id'] == null) {\n throw new runtime.RequiredError(\n 'id',\n 'Required parameter \"id\" was null or undefined when calling uiApiUsersIdClaimsDelete().'\n );\n }\n\n if (requestParameters['clientAllClaimReadDto'] == null) {\n throw new runtime.RequiredError(\n 'clientAllClaimReadDto',\n 'Required parameter \"clientAllClaimReadDto\" was null or undefined when calling uiApiUsersIdClaimsDelete().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json-patch+json';\n\n if (this.configuration && this.configuration.accessToken) {\n // oauth required\n headerParameters[\"Authorization\"] = await this.configuration.accessToken(\"oauth2\", []);\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = await this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\n\n const response = await this.request({\n path: `/ui-api/users/{id}/claims`.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters['id']))),\n method: 'DELETE',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters['clientAllClaimReadDto']!.map(ClientAllClaimReadDtoToJSON),\n }, initOverrides);\n\n return new runtime.VoidApiResponse(response);\n }\n\n /**\n * Если **хоть один** клейм из списка не будет найден - ничего не удалится\n * Удаление списка клеймов пользователя\n */\n async uiApiUsersIdClaimsDelete(requestParameters: UiApiUsersIdClaimsDeleteRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n await this.uiApiUsersIdClaimsDeleteRaw(requestParameters, initOverrides);\n }\n\n /**\n * Возвращает список клеймов пользователя\n */\n async uiApiUsersIdClaimsGetRaw(requestParameters: UiApiUsersIdClaimsGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> {\n if (requestParameters['id'] == null) {\n throw new runtime.RequiredError(\n 'id',\n 'Required parameter \"id\" was null or undefined when calling uiApiUsersIdClaimsGet().'\n );\n }\n\n const queryParameters: any = {};\n\n if (requestParameters['clientId'] != null) {\n queryParameters['clientId'] = requestParameters['clientId'];\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.accessToken) {\n // oauth required\n headerParameters[\"Authorization\"] = await this.configuration.accessToken(\"oauth2\", []);\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = await this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\n\n const response = await this.request({\n path: `/ui-api/users/{id}/claims`.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters['id']))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(UserClaimReadDtoFromJSON));\n }\n\n /**\n * Возвращает список клеймов пользователя\n */\n async uiApiUsersIdClaimsGet(requestParameters: UiApiUsersIdClaimsGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n const response = await this.uiApiUsersIdClaimsGetRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Добавляет клеймы пользователя\n */\n async uiApiUsersIdClaimsPostRaw(requestParameters: UiApiUsersIdClaimsPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n if (requestParameters['id'] == null) {\n throw new runtime.RequiredError(\n 'id',\n 'Required parameter \"id\" was null or undefined when calling uiApiUsersIdClaimsPost().'\n );\n }\n\n if (requestParameters['userClaimAddDto'] == null) {\n throw new runtime.RequiredError(\n 'userClaimAddDto',\n 'Required parameter \"userClaimAddDto\" was null or undefined when calling uiApiUsersIdClaimsPost().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json-patch+json';\n\n if (this.configuration && this.configuration.accessToken) {\n // oauth required\n headerParameters[\"Authorization\"] = await this.configuration.accessToken(\"oauth2\", []);\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = await this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\n\n const response = await this.request({\n path: `/ui-api/users/{id}/claims`.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters['id']))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters['userClaimAddDto']!.map(UserClaimAddDtoToJSON),\n }, initOverrides);\n\n return new runtime.VoidApiResponse(response);\n }\n\n /**\n * Добавляет клеймы пользователя\n */\n async uiApiUsersIdClaimsPost(requestParameters: UiApiUsersIdClaimsPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n await this.uiApiUsersIdClaimsPostRaw(requestParameters, initOverrides);\n }\n\n /**\n * Возвращает пользователя по ИД\n */\n async uiApiUsersIdGetRaw(requestParameters: UiApiUsersIdGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n if (requestParameters['id'] == null) {\n throw new runtime.RequiredError(\n 'id',\n 'Required parameter \"id\" was null or undefined when calling uiApiUsersIdGet().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.accessToken) {\n // oauth required\n headerParameters[\"Authorization\"] = await this.configuration.accessToken(\"oauth2\", []);\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = await this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\n\n const response = await this.request({\n path: `/ui-api/users/{id}`.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters['id']))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => UserReadDtoFromJSON(jsonValue));\n }\n\n /**\n * Возвращает пользователя по ИД\n */\n async uiApiUsersIdGet(requestParameters: UiApiUsersIdGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n const response = await this.uiApiUsersIdGetRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Убирает пользователя из группы\n */\n async uiApiUsersIdGroupsDeleteRaw(requestParameters: UiApiUsersIdGroupsDeleteRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n if (requestParameters['id'] == null) {\n throw new runtime.RequiredError(\n 'id',\n 'Required parameter \"id\" was null or undefined when calling uiApiUsersIdGroupsDelete().'\n );\n }\n\n if (requestParameters['requestBody'] == null) {\n throw new runtime.RequiredError(\n 'requestBody',\n 'Required parameter \"requestBody\" was null or undefined when calling uiApiUsersIdGroupsDelete().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json-patch+json';\n\n if (this.configuration && this.configuration.accessToken) {\n // oauth required\n headerParameters[\"Authorization\"] = await this.configuration.accessToken(\"oauth2\", []);\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = await this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\n\n const response = await this.request({\n path: `/ui-api/users/{id}/groups`.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters['id']))),\n method: 'DELETE',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters['requestBody'],\n }, initOverrides);\n\n return new runtime.VoidApiResponse(response);\n }\n\n /**\n * Убирает пользователя из группы\n */\n async uiApiUsersIdGroupsDelete(requestParameters: UiApiUsersIdGroupsDeleteRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n await this.uiApiUsersIdGroupsDeleteRaw(requestParameters, initOverrides);\n }\n\n /**\n * Возвращает список групп пользователя\n */\n async uiApiUsersIdGroupsGetRaw(requestParameters: UiApiUsersIdGroupsGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> {\n if (requestParameters['id'] == null) {\n throw new runtime.RequiredError(\n 'id',\n 'Required parameter \"id\" was null or undefined when calling uiApiUsersIdGroupsGet().'\n );\n }\n\n const queryParameters: any = {};\n\n if (requestParameters['clientId'] != null) {\n queryParameters['clientId'] = requestParameters['clientId'];\n }\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n if (this.configuration && this.configuration.accessToken) {\n // oauth required\n headerParameters[\"Authorization\"] = await this.configuration.accessToken(\"oauth2\", []);\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = await this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\n\n const response = await this.request({\n path: `/ui-api/users/{id}/groups`.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters['id']))),\n method: 'GET',\n headers: headerParameters,\n query: queryParameters,\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(GroupReadDtoFromJSON));\n }\n\n /**\n * Возвращает список групп пользователя\n */\n async uiApiUsersIdGroupsGet(requestParameters: UiApiUsersIdGroupsGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n const response = await this.uiApiUsersIdGroupsGetRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n /**\n * Добавляет пользователя в группу(ы)\n */\n async uiApiUsersIdGroupsPostRaw(requestParameters: UiApiUsersIdGroupsPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n if (requestParameters['id'] == null) {\n throw new runtime.RequiredError(\n 'id',\n 'Required parameter \"id\" was null or undefined when calling uiApiUsersIdGroupsPost().'\n );\n }\n\n if (requestParameters['requestBody'] == null) {\n throw new runtime.RequiredError(\n 'requestBody',\n 'Required parameter \"requestBody\" was null or undefined when calling uiApiUsersIdGroupsPost().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json-patch+json';\n\n if (this.configuration && this.configuration.accessToken) {\n // oauth required\n headerParameters[\"Authorization\"] = await this.configuration.accessToken(\"oauth2\", []);\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = await this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\n\n const response = await this.request({\n path: `/ui-api/users/{id}/groups`.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters['id']))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: requestParameters['requestBody'],\n }, initOverrides);\n\n return new runtime.VoidApiResponse(response);\n }\n\n /**\n * Добавляет пользователя в группу(ы)\n */\n async uiApiUsersIdGroupsPost(requestParameters: UiApiUsersIdGroupsPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n await this.uiApiUsersIdGroupsPostRaw(requestParameters, initOverrides);\n }\n\n /**\n * Обновление данных пользователя\n */\n async uiApiUsersIdPostRaw(requestParameters: UiApiUsersIdPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n if (requestParameters['id'] == null) {\n throw new runtime.RequiredError(\n 'id',\n 'Required parameter \"id\" was null or undefined when calling uiApiUsersIdPost().'\n );\n }\n\n if (requestParameters['userUpdateDto'] == null) {\n throw new runtime.RequiredError(\n 'userUpdateDto',\n 'Required parameter \"userUpdateDto\" was null or undefined when calling uiApiUsersIdPost().'\n );\n }\n\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json-patch+json';\n\n if (this.configuration && this.configuration.accessToken) {\n // oauth required\n headerParameters[\"Authorization\"] = await this.configuration.accessToken(\"oauth2\", []);\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = await this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\n\n const response = await this.request({\n path: `/ui-api/users/{id}`.replace(`{${\"id\"}}`, encodeURIComponent(String(requestParameters['id']))),\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: UserUpdateDtoToJSON(requestParameters['userUpdateDto']),\n }, initOverrides);\n\n return new runtime.VoidApiResponse(response);\n }\n\n /**\n * Обновление данных пользователя\n */\n async uiApiUsersIdPost(requestParameters: UiApiUsersIdPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n await this.uiApiUsersIdPostRaw(requestParameters, initOverrides);\n }\n\n /**\n * Поля объекта \\\"пользователь\\\": ``` { id: string; userName: string; firstName: string; lastName: string; middleName: string; email: string; phoneNumber: string; } ```\n * Список пользователей\n */\n async uiApiUsersPostRaw(requestParameters: UiApiUsersPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n const queryParameters: any = {};\n\n const headerParameters: runtime.HTTPHeaders = {};\n\n headerParameters['Content-Type'] = 'application/json-patch+json';\n\n if (this.configuration && this.configuration.accessToken) {\n // oauth required\n headerParameters[\"Authorization\"] = await this.configuration.accessToken(\"oauth2\", []);\n }\n\n if (this.configuration && this.configuration.apiKey) {\n headerParameters[\"Authorization\"] = await this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\n\n const response = await this.request({\n path: `/ui-api/users`,\n method: 'POST',\n headers: headerParameters,\n query: queryParameters,\n body: DataSourceLoadOptionsToJSON(requestParameters['dataSourceLoadOptions']),\n }, initOverrides);\n\n return new runtime.JSONApiResponse(response, (jsonValue) => LoadResultFromJSON(jsonValue));\n }\n\n /**\n * Поля объекта \\\"пользователь\\\": ``` { id: string; userName: string; firstName: string; lastName: string; middleName: string; email: string; phoneNumber: string; } ```\n * Список пользователей\n */\n async uiApiUsersPost(requestParameters: UiApiUsersPostRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n const response = await this.uiApiUsersPostRaw(requestParameters, initOverrides);\n return await response.value();\n }\n\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface UserCreateDto\n */\nexport interface UserCreateDto {\n /**\n * \n * @type {string}\n * @memberof UserCreateDto\n */\n userName: string;\n /**\n * \n * @type {string}\n * @memberof UserCreateDto\n */\n firstName: string;\n /**\n * \n * @type {string}\n * @memberof UserCreateDto\n */\n lastName?: string;\n /**\n * \n * @type {string}\n * @memberof UserCreateDto\n */\n middleName?: string;\n /**\n * \n * @type {string}\n * @memberof UserCreateDto\n */\n email?: string;\n /**\n * \n * @type {string}\n * @memberof UserCreateDto\n */\n phoneNumber?: string;\n /**\n * \n * @type {string}\n * @memberof UserCreateDto\n */\n password: string;\n /**\n * \n * @type {Array}\n * @memberof UserCreateDto\n */\n clientIds?: Array;\n}\n\n/**\n * Check if a given object implements the UserCreateDto interface.\n */\nexport function instanceOfUserCreateDto(value: object): boolean {\n if (!('userName' in value)) return false;\n if (!('firstName' in value)) return false;\n if (!('password' in value)) return false;\n return true;\n}\n\nexport function UserCreateDtoFromJSON(json: any): UserCreateDto {\n return UserCreateDtoFromJSONTyped(json, false);\n}\n\nexport function UserCreateDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): UserCreateDto {\n if (json == null) {\n return json;\n }\n return {\n \n 'userName': json['userName'],\n 'firstName': json['firstName'],\n 'lastName': json['lastName'] == null ? undefined : json['lastName'],\n 'middleName': json['middleName'] == null ? undefined : json['middleName'],\n 'email': json['email'] == null ? undefined : json['email'],\n 'phoneNumber': json['phoneNumber'] == null ? undefined : json['phoneNumber'],\n 'password': json['password'],\n 'clientIds': json['clientIds'] == null ? undefined : json['clientIds'],\n };\n}\n\nexport function UserCreateDtoToJSON(value?: UserCreateDto | null): any {\n if (value == null) {\n return value;\n }\n return {\n \n 'userName': value['userName'],\n 'firstName': value['firstName'],\n 'lastName': value['lastName'],\n 'middleName': value['middleName'],\n 'email': value['email'],\n 'phoneNumber': value['phoneNumber'],\n 'password': value['password'],\n 'clientIds': value['clientIds'],\n };\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface UserUpdateDto\n */\nexport interface UserUpdateDto {\n /**\n * \n * @type {string}\n * @memberof UserUpdateDto\n */\n userName?: string;\n /**\n * \n * @type {string}\n * @memberof UserUpdateDto\n */\n password?: string;\n /**\n * \n * @type {string}\n * @memberof UserUpdateDto\n */\n firstName?: string;\n /**\n * \n * @type {string}\n * @memberof UserUpdateDto\n */\n lastName?: string;\n /**\n * \n * @type {string}\n * @memberof UserUpdateDto\n */\n middleName?: string;\n /**\n * \n * @type {string}\n * @memberof UserUpdateDto\n */\n email?: string;\n /**\n * \n * @type {string}\n * @memberof UserUpdateDto\n */\n phoneNumber?: string;\n /**\n * \n * @type {boolean}\n * @memberof UserUpdateDto\n */\n emailConfirmed?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof UserUpdateDto\n */\n isEnabled?: boolean;\n /**\n * \n * @type {Array}\n * @memberof UserUpdateDto\n */\n clientIds?: Array;\n}\n\n/**\n * Check if a given object implements the UserUpdateDto interface.\n */\nexport function instanceOfUserUpdateDto(value: object): boolean {\n return true;\n}\n\nexport function UserUpdateDtoFromJSON(json: any): UserUpdateDto {\n return UserUpdateDtoFromJSONTyped(json, false);\n}\n\nexport function UserUpdateDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): UserUpdateDto {\n if (json == null) {\n return json;\n }\n return {\n \n 'userName': json['userName'] == null ? undefined : json['userName'],\n 'password': json['password'] == null ? undefined : json['password'],\n 'firstName': json['firstName'] == null ? undefined : json['firstName'],\n 'lastName': json['lastName'] == null ? undefined : json['lastName'],\n 'middleName': json['middleName'] == null ? undefined : json['middleName'],\n 'email': json['email'] == null ? undefined : json['email'],\n 'phoneNumber': json['phoneNumber'] == null ? undefined : json['phoneNumber'],\n 'emailConfirmed': json['emailConfirmed'] == null ? undefined : json['emailConfirmed'],\n 'isEnabled': json['isEnabled'] == null ? undefined : json['isEnabled'],\n 'clientIds': json['clientIds'] == null ? undefined : json['clientIds'],\n };\n}\n\nexport function UserUpdateDtoToJSON(value?: UserUpdateDto | null): any {\n if (value == null) {\n return value;\n }\n return {\n \n 'userName': value['userName'],\n 'password': value['password'],\n 'firstName': value['firstName'],\n 'lastName': value['lastName'],\n 'middleName': value['middleName'],\n 'email': value['email'],\n 'phoneNumber': value['phoneNumber'],\n 'emailConfirmed': value['emailConfirmed'],\n 'isEnabled': value['isEnabled'],\n 'clientIds': value['clientIds'],\n };\n}\n\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"form\":\"restorePasswordForm_form__3-jx8\",\"form__item\":\"restorePasswordForm_form__item__2QWIZ\",\"form__input\":\"restorePasswordForm_form__input__pdLno\",\"form__item__icon\":\"restorePasswordForm_form__item__icon__3BwNF\",\"margin__more\":\"restorePasswordForm_margin__more__1ULt_\",\"margin__middle\":\"restorePasswordForm_margin__middle__3cvyf\",\"margin__less\":\"restorePasswordForm_margin__less__5Juah\",\"form__button\":\"restorePasswordForm_form__button__ac9mR\",\"form__href\":\"restorePasswordForm_form__href__1DZu1\",\"restore_code_help_text\":\"restorePasswordForm_restore_code_help_text__3uwSD\",\"restore_code_timer\":\"restorePasswordForm_restore_code_timer__32Es3\"};","import {api} from \"./../../utils/requestConstructor\";\nimport {Client, ClientClaim} from \"../../model-types/modelTypes\";\nimport {createAsyncThunk} from \"@reduxjs/toolkit\";\n\nexport const getClients = createAsyncThunk<\n // Return type of the payload creator\n Client[]\n>(\n \"clients/getClients\",\n async () => {\n try {\n const res = await api.get(\"Client/GetClients\");\n if (res.ok) {\n const data = await res.json();\n return data as Client[];\n } else {\n return Promise.reject(res.statusText);\n }\n } catch (error: any) {\n throw new Error(error);\n }\n }\n);\n\nexport const getClientClaims = createAsyncThunk<\n // Return type of the payload creator\n ClientClaim[],\n // First argument of the payload creator\n string\n>(\n \"clients/getClientClaims\",\n async (clientId: string) => {\n try {\n const res = await api.get(`Client/GetClientAllClaims/${clientId}`);\n if (res.ok) {\n const data = await res.json();\n return data;\n } else {\n return Promise.reject(res.statusText);\n }\n } catch (error: any) {\n throw new Error(error);\n }\n }\n);\n\nexport const getClaims = createAsyncThunk<\n // Return type of the payload creator\n ClientClaim[]\n>(\n \"clients/getClaims\",\n async () => {\n try {\n const getClientsRes = await api.get(\"Client/GetClients\");\n if (getClientsRes.ok) {\n const clients: Client[] = await getClientsRes.json();\n const claims = clients.map(async (client) => {\n return await api.get(`Client/GetClientClaims/${client.clientId}`);\n });\n return claims as ClientClaim[];\n } else {\n return Promise.reject(getClientsRes.statusText);\n }\n } catch (error: any) {\n throw new Error(error);\n }\n }\n);\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"font__small\":\"modulesList_font__small__1Ee7a\",\"font__blue\":\"modulesList_font__blue__jM1wk\",\"font__gray\":\"modulesList_font__gray__frHpq\",\"container\":\"modulesList_container__3x7hc\",\"container__title\":\"modulesList_container__title__M0k30\",\"container__search\":\"modulesList_container__search__Ytn5X\",\"separator\":\"modulesList_separator__1BGfK\",\"modulesList\":\"modulesList_modulesList__3dTlD\",\"modulesList__item\":\"modulesList_modulesList__item__3Scj_\",\"item__iconBlock\":\"modulesList_item__iconBlock__3GXoS\",\"item__iconImg\":\"modulesList_item__iconImg__3oOLU\",\"item__name\":\"modulesList_item__name__3lCk_\",\"footer\":\"modulesList_footer__2rhUq\"};","import {\n ApplicationUser,\n UpdateUserModel\n} from \"../../../model-types/modelTypes\";\nimport {api} from \"./../../../utils/requestConstructor\";\n\n// Get Users\nconst getUsers = async () => {\n const res = await api.get(\"ui-api/users\");\n if (res.ok) {\n const users: any = await res.json();\n return users;\n } else {\n throw new Error(res.statusText);\n }\n};\n\n// Get User By Id\nconst getUserById = async (id: string): Promise => {\n const res = await api.get(`ui-api/users/${id}`);\n if (res.ok) {\n return await res.json();\n } else {\n return Promise.reject(res.statusText);\n }\n};\n\n// Get User Claims\nconst getUserClaims = async (id: string): Promise => {\n const res = await api.get(`ui-api/users/${id}/claims`);\n if (res.ok) {\n return await res.json();\n } else {\n return Promise.reject(res.statusText);\n }\n};\n\n// Update User\nexport interface UpdateUserParams extends UpdateUserModel {\n userId: string;\n username: string;\n email: string;\n userRoles?: string[];\n userClaims?: {type: string; value: string; clientId: string}[];\n}\nconst updateUser = async (params: UpdateUserParams) => {\n const {\n email,\n userRoles,\n username,\n firstName,\n lastName,\n middleName,\n phoneNumber,\n userId,\n userClaims\n } = params;\n const updateUserParams: any = {\n username,\n email,\n firstName,\n lastName,\n middleName,\n phoneNumber,\n resetPassword: false,\n emailConfirmed: true\n };\n if (userRoles) {\n updateUserParams.userRoles = userRoles;\n }\n if (userClaims) {\n updateUserParams.userClaims = userClaims;\n }\n\n const updateUserResponse = await api.post(`ui-api/users/${userId}`, {\n body: updateUserParams\n });\n if (updateUserResponse.ok) {\n return \"ok\";\n } else {\n return Promise.reject(updateUserResponse.statusText);\n }\n};\n\n// Create user\nexport interface CreateUserParams extends UpdateUserModel {\n username: string;\n email: string;\n password: string;\n userRoles?: string[];\n userClaims?: {type: string; value: string; clientId: string}[];\n}\n\nexport const usersApi = {\n getAll: getUsers,\n getById: getUserById,\n getUserClaims,\n update: updateUser\n};\n","import {UpdateUserParams} from \"../api\";\n\nexport const GET_USERS = \"$USERS-SAGA/GET_USERS\";\nexport const GET_USER_BY_ID = \"$USERS-SAGA/GET_USER_BY_ID\";\nexport const DELETE_USER = \"$USERS-SAGA/DELETE_USER\";\nexport const UPDATE_USER = \"$USERS-SAGA/UPDATE_USER\";\nexport const CREATE_USER = \"$USERS-SAGA/CREATE_USER\";\n\nconst getUsers = () => ({type: GET_USERS});\nconst getUserById = (id: string) => ({type: GET_USER_BY_ID, payload: id});\nconst deleteUser = (id: string) => ({type: DELETE_USER, payload: id});\nconst updateUser = (payload: UpdateUserParams) => ({\n type: UPDATE_USER,\n payload\n});\n\nexport const usersActions = {\n getAll: getUsers,\n getById: getUserById,\n delete: deleteUser,\n update: updateUser\n};\n","import staticRU from \"./locales/ru/static.json\";\nimport staticKK from \"./locales/kk/static.json\";\nimport staticEN from \"./locales/en/static.json\";\n\nimport commonRU from \"./locales/ru/common.json\";\nimport commonKK from \"./locales/kk/common.json\";\nimport commonEN from \"./locales/en/common.json\";\n\nimport loginPageRU from \"./locales/ru/loginPage.json\";\nimport loginPageEN from \"./locales/en/loginPage.json\";\nimport loginPageKK from \"./locales/kk/loginPage.json\";\n\nimport usersModuleRU from \"./locales/ru/usersModule.json\";\nimport usersModuleKK from \"./locales/kk/usersModule.json\";\nimport usersModuleEN from \"./locales/en/usersModule.json\";\n\nimport rolesModuleRU from \"./locales/ru/rolesModule.json\";\nimport rolesModuleKK from \"./locales/kk/rolesModule.json\";\nimport rolesModuleEN from \"./locales/en/rolesModule.json\";\n\nimport participantsModuleRU from \"./locales/ru/participantsModule.json\";\nimport participantsModuleKK from \"./locales/kk/participantsModule.json\";\nimport participantsModuleEN from \"./locales/en/participantsModule.json\";\n\nimport claimsModuleRU from \"./locales/ru/claimsModule.json\";\nimport claimsModuleKK from \"./locales/kk/claimsModule.json\";\nimport claimsModuleEN from \"./locales/en/claimsModule.json\";\n\nimport apiExceptionsRU from \"./locales/ru/apiExceptions.json\";\nimport apiExceptionsKK from \"./locales/kk/apiExceptions.json\";\nimport apiExceptionsEN from \"./locales/en/apiExceptions.json\";\n\nimport LanguageDetector from \"i18next-browser-languagedetector\";\nimport i18n, {InitOptions} from \"i18next\";\nimport {initReactI18next} from \"react-i18next\";\n\n// #region types\n// Все локали должны быть одинаковы по ключам\n// Смотрим на русский язык - так как скорее всего там все ключи определены\n/**Все namespace для i18next */\ntype CustomLngResource = {\n /**Статичные для языка (название самого языка)*/\n static: typeof staticRU,\n common: typeof commonRU,\n /**Страница авторизации */\n loginPage: typeof loginPageRU,\n usersModule: typeof usersModuleRU,\n rolesModule: typeof rolesModuleRU,\n participantsModule: typeof participantsModuleRU,\n claimsModule: typeof claimsModuleRU,\n apiExceptions: typeof apiExceptionsRU\n}\n\n/** Все ресурсы для i18next */\ntype AllLngResources = {\n [LngKey in SupportedLanguage]: CustomLngResource\n}\n/** Все значения которые может принимать язык в i18next */\ntype SupportedLanguage = typeof supportedLanguages[number]\n// #endregion\n\n\nconst i18nResources: AllLngResources = {\n ru: {\n static: staticRU,\n common: commonRU,\n loginPage: loginPageRU,\n usersModule: usersModuleRU,\n rolesModule: rolesModuleRU,\n participantsModule: participantsModuleRU,\n claimsModule: claimsModuleRU,\n apiExceptions: apiExceptionsRU\n },\n en: {\n static: staticEN,\n common: commonEN,\n loginPage: loginPageEN,\n usersModule: usersModuleEN,\n rolesModule: rolesModuleEN,\n participantsModule: participantsModuleEN,\n claimsModule: claimsModuleEN,\n apiExceptions: apiExceptionsEN\n },\n kk: {\n static: staticKK,\n common: commonKK,\n loginPage: loginPageKK,\n usersModule: usersModuleKK,\n rolesModule: rolesModuleKK,\n participantsModule: participantsModuleKK,\n claimsModule: claimsModuleKK,\n apiExceptions: apiExceptionsKK\n }\n} as const;\n\n/** Все языки для i18next */\nconst supportedLanguages = [\"ru\", \"en\", \"kk\"] as const;\n\nconst i18nInitOptions: InitOptions = {\n resources: i18nResources,\n ns: [\"common\"],\n supportedLngs: supportedLanguages,\n // 'ru'\n fallbackLng: \"ru\",\n debug: false, // Установите в false в продакшене\n interpolation: {\n escapeValue: false // Не экранировать строки HTML\n },\n react: {\n useSuspense: false\n }\n} as const;\n\ni18n\n .use(LanguageDetector)\n .use(initReactI18next)\n .init(i18nInitOptions);\n\ndocument.documentElement.lang = i18n.language;\ni18n.on(\"languageChanged\", (lng) => {document.documentElement.setAttribute(\"lang\", lng);});\n\nexport default i18n;\nexport {supportedLanguages, type SupportedLanguage};","import React, {useContext} from \"react\";\nimport ApiContext from \"../utils/ApiContext\";\n\nexport const useApi = () => {\n const api = useContext(ApiContext);\n return api;\n};","import {GroupToCreate} from \"../groupsSlice\";\nexport const DELETE_GROUP = \"$GROUP-SAGA/DELETE_GROUP\";\nexport const GET_GROUPS = \"$GROUP-SAGA/GET_GROUPS\";\nexport const CREATE_GROUP = \"$GROUP-SAGA/CREATE_GROUP\";\n\nconst getAll = () => ({\n type: GET_GROUPS\n});\nconst createGroup = (payload: GroupToCreate) => ({\n type: CREATE_GROUP,\n payload\n});\nconst deleteGroup = (payload: string) => ({\n type: DELETE_GROUP,\n payload\n});\n\nexport const groupsActions = {\n delete: deleteGroup,\n create: createGroup,\n getAll\n};\n","import {GroupToCreate} from \"./../groupsSlice\";\nimport {UpdateUserParams} from \"./../../users/api/index\";\nimport {usersApi} from \"../../users/api\";\nimport {api} from \"./../../../utils/requestConstructor\";\nimport {\n ApplicationUser,\n ApplicationUserRole\n} from \"../../../model-types/modelTypes\";\n\n// GET ALL\nconst getAllGroups = async () => {\n const res = await api.post(\"Account/GetRoles\", {body: {}});\n return await res.json();\n};\n\n// GET BY ID\nconst getGroupById = async (id: string) => {\n const res = await api.get(`Account/GetRole/${id}`);\n if (res.ok) {\n const group = await res.json();\n const res2 = await api.get(`Account/GetUsersByRole/${id}`);\n const groupUsers = await res2.json();\n return {\n ...group,\n users: groupUsers\n };\n } else {\n throw new Error(res.statusText);\n }\n};\n\n// UPDATE\nexport interface UpdateGroupParams {\n idClient: string;\n roleId: string;\n name: string;\n description: string;\n userRoles?: any; // users\n roleClaims?: any;\n}\nconst updateGroup = async ({\n idClient,\n roleId,\n ...reqBody\n}: UpdateGroupParams) => {\n const res = await api.post(`Account/UpdateRole/${idClient}/${roleId}`, {\n body: {\n ...reqBody,\n clientId: idClient\n }\n });\n if (res.ok) {\n return res.statusText;\n } else {\n return Promise.reject(res.statusText);\n }\n};\n\n// CREATE\nconst createGroup = async ({users, ...group}: GroupToCreate) => {\n const res = await api.post(`Account/AddRole/${group.clientId}`, {\n body: group\n });\n if (res.ok) {\n const roleId = await res.text();\n\n if (users) {\n const usersRange = users?.map((user: ApplicationUser) => ({\n username: user.userName ? user.userName : \"\",\n email: user.email ? user.email : \"\",\n emailConfirmed: true,\n firstName: user.firstName ? user.firstName : \"\",\n lastName: user.lastName ? user.lastName : \"\",\n midleName: user.middleName ? user.middleName : \"\",\n phoneNumber: user.phoneNumber ? user.phoneNumber : \"\",\n userRoles: user.userRoles ?\n user.userRoles\n .map((role: ApplicationUserRole) => role.role?.name)\n .push(group.name) :\n [group.name],\n resetPassword: false\n }));\n await api.post(\"Account/UpdateUsersRange\", {\n body: usersRange\n });\n }\n\n return roleId;\n }\n};\n\n// DELETE\nconst deleteGroup = async (id: string) => {\n const res = await api.post(`Account/DeleteRole/${id}`);\n if (res.ok) {\n return res.statusText;\n } else {\n throw new Error();\n }\n};\n\n// REMOVE USER\ninterface RemoveUserProps {\n roleName: string;\n userId: string;\n}\nconst removeUserFromGroup = async ({roleName, userId}: RemoveUserProps) => {\n const user = await usersApi.getById(userId);\n const {\n email,\n firstName,\n lastName,\n middleName,\n userName,\n phoneNumber,\n userRoles\n } = user;\n\n const roles: string[] = [];\n userRoles?.forEach(({role}) => {\n if (role && role.name && role.name !== roleName) {\n roles.push(role.name);\n }\n });\n\n const updateParams: UpdateUserParams = {\n userId,\n username: userName || \"\",\n email: email || \"\",\n firstName: firstName || \"\",\n lastName: lastName || \"\",\n middleName: middleName || \"\",\n phoneNumber: phoneNumber || \"\",\n userRoles: roles\n };\n\n await usersApi.update(updateParams);\n return \"ok\";\n};\n\n// ===================== //\n\nexport const groupsApi = {\n getAll: getAllGroups,\n getById: getGroupById,\n update: updateGroup,\n create: createGroup,\n delete: deleteGroup,\n removeUser: removeUserFromGroup\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"header_user\":\"usermenu_header_user__1_720\",\"header_user_info\":\"usermenu_header_user_info__26lKj\",\"header_user_info_fullName\":\"usermenu_header_user_info_fullName__2okO2\",\"header_user_info_userName\":\"usermenu_header_user_info_userName__1a6YE\",\"header_avatar\":\"usermenu_header_avatar__1ZTsD\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"content\":\"defaultLayout_content__LmY7w\",\"content__component\":\"defaultLayout_content__component__1wXe6\",\"header_logo\":\"defaultLayout_header_logo__2OSEm\",\"header_logo__icon\":\"defaultLayout_header_logo__icon__t5mEw\",\"header_logo__label\":\"defaultLayout_header_logo__label__1NLX7\"};","import React from \"react\";\r\nimport {\r\n UiApiAuthApi,\r\n UiApiClientsApi,\r\n UiApiGroupsApi,\r\n UiApiParticipantsApi,\r\n UiApiParticipantsUsersApi,\r\n UiApiUsersApi,\r\n ModulesApi,\r\n RestoreAccessApi\r\n} from \"../api_client\";\r\n\r\ninterface ApiContext {\r\n authApi: InstanceType;\r\n usersApi: InstanceType;\r\n groupsApi: InstanceType;\r\n clientsApi: InstanceType;\r\n participantsApi: InstanceType;\r\n participantsUsersApi: InstanceType;\r\n modulesApi: InstanceType;\r\n restoreAccessApi: InstanceType;\r\n}\r\n\r\nconst ApiContext = React.createContext({} as ApiContext);\r\n\r\nexport default ApiContext;\r\n","import {api} from \"../../utils/requestConstructor\";\nimport {createAsyncThunk} from \"@reduxjs/toolkit\";\nimport {ModuleWithExtensionsDto} from \"../../api_client\";\n\nexport const getModules = createAsyncThunk<\n // Return type of the payload creator\n ModuleWithExtensionsDto[]\n>(\n \"modules/getModules\",\n async () => {\n try {\n const res = await api.get(\"api/Modules/GetModules\");\n if (res.ok) {\n const data = await res.json();\n return data as ModuleWithExtensionsDto[];\n } else {\n return Promise.reject(res.statusText);\n }\n } catch (error: any) {\n throw new Error(error);\n }\n }\n);\n\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * P4m.Module.Auth.API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: v1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport { mapValues } from '../runtime';\n/**\n * \n * @export\n * @interface ApiErrorResponseWithMessage\n */\nexport interface ApiErrorResponseWithMessage {\n /**\n * \n * @type {number}\n * @memberof ApiErrorResponseWithMessage\n */\n statusCode?: number;\n /**\n * \n * @type {string}\n * @memberof ApiErrorResponseWithMessage\n */\n trace?: string;\n /**\n * \n * @type {string}\n * @memberof ApiErrorResponseWithMessage\n */\n message?: string;\n /**\n * \n * @type {any}\n * @memberof ApiErrorResponseWithMessage\n */\n payload?: any;\n /**\n * \n * @type {string}\n * @memberof ApiErrorResponseWithMessage\n */\n errorName?: string;\n}\n\n/**\n * Check if a given object implements the ApiErrorResponseWithMessage interface.\n */\nexport function instanceOfApiErrorResponseWithMessage(value: object): boolean {\n return true;\n}\n\nexport function ApiErrorResponseWithMessageFromJSON(json: any): ApiErrorResponseWithMessage {\n return ApiErrorResponseWithMessageFromJSONTyped(json, false);\n}\n\nexport function ApiErrorResponseWithMessageFromJSONTyped(json: any, ignoreDiscriminator: boolean): ApiErrorResponseWithMessage {\n if (json == null) {\n return json;\n }\n return {\n \n 'statusCode': json['statusCode'] == null ? undefined : json['statusCode'],\n 'trace': json['trace'] == null ? undefined : json['trace'],\n 'message': json['message'] == null ? undefined : json['message'],\n 'payload': json['payload'] == null ? undefined : json['payload'],\n 'errorName': json['errorName'] == null ? undefined : json['errorName'],\n };\n}\n\nexport function ApiErrorResponseWithMessageToJSON(value?: ApiErrorResponseWithMessage | null): any {\n if (value == null) {\n return value;\n }\n return {\n \n 'statusCode': value['statusCode'],\n 'trace': value['trace'],\n 'message': value['message'],\n 'payload': value['payload'],\n 'errorName': value['errorName'],\n };\n}\n\n","import i18n from \"../i18n\";\nimport {\n ApiErrorResponseWithMessage,\n ApiErrorResponseWithMessageFromJSON,\n ResponseError\n} from \"../api_client\";\n\n\nconst getErrorMessage =\n (o: ApiErrorResponseWithMessage): string | undefined => {\n\n let result: string | undefined;\n // Пример с использованием типизации и payload\n // if (isArgumentIsRequiredBadRequestException(o)) {\n // result = `Аргумент обязателен: ${o.payload.argumentName}`;\n // }\n if (!!o.errorName && i18n.exists(o.errorName, {ns: \"apiExceptions\"})) {\n result = i18n.t(o.errorName, {ns: \"apiExceptions\", ...o});\n }\n return result;\n};\n\nconst tryParseApiError = async (e: any) => {\n let result: string | undefined;\n\n if (e instanceof ResponseError) {\n try {\n let jsonError = await e.response.clone().json();\n let typedApiError = ApiErrorResponseWithMessageFromJSON(jsonError);\n result = getErrorMessage(typedApiError) ?? undefined;\n if (!result) {\n throw e;\n }\n } catch {\n let textError = await e.response.clone().text();\n // Проверяем что текст - не json\n try {\n JSON.parse(textError);\n } catch {\n result = textError;\n }\n } finally {\n return result ?? \"\";\n }\n }\n};\n\nexport default tryParseApiError;\n","import {createSlice, PayloadAction} from \"@reduxjs/toolkit\";\nimport {\n ClientAllClaimReadDto,\n Participant,\n ParticipantUserReadDto,\n ParticipantUserUpdateDto\n} from \"../../../api_client\";\n\n/* #region State declaration */\ninterface ILoadingState {\n getInfo: boolean;\n updateInfo: boolean;\n getUsers: boolean;\n removeUsers: boolean;\n addUsers: boolean;\n updateUsers: boolean;\n claims: boolean;\n}\nexport type ParticipantLoadingTypes = keyof ILoadingState;\n\ninterface IParticipantState {\n data: {\n info?: Participant;\n users?: ParticipantUserReadDto[];\n claims?: ClientAllClaimReadDto[];\n };\n error: {\n info: any;\n users: any;\n claims: any;\n };\n loading: ILoadingState;\n editMode: boolean;\n}\n\nconst initialState: IParticipantState = {\n loading: {\n getInfo: false,\n updateInfo: false,\n getUsers: false,\n removeUsers: false,\n addUsers: false,\n updateUsers: false,\n claims: false\n },\n error: {\n info: false,\n users: false,\n claims: false\n },\n data: {},\n editMode: false\n};\n/* #endregion */\n\n/* #region Action Payload Types */\ninterface SetLoadingPayload {\n type: keyof ILoadingState;\n isLoading: boolean;\n}\ninterface SetErrorPayload {\n type: \"info\" | \"users\" | \"claims\";\n error: any;\n}\n/* #endregion */\n\nconst slice = createSlice({\n name: \"participant\",\n initialState: initialState,\n reducers: {\n setLoading(state, action: PayloadAction) {\n const {type, isLoading} = action.payload;\n state.loading[type] = isLoading;\n },\n setEditMode(state, action: PayloadAction) {\n state.editMode = action.payload;\n },\n setError(state, action: PayloadAction) {\n const {type, error} = action.payload;\n state.error[type] = error;\n },\n clearStore(state) {\n state = initialState;\n },\n setInfo(state, action: PayloadAction) {\n state.data.info = action.payload;\n },\n setClaims(state, action: PayloadAction) {\n state.data.claims = action.payload;\n },\n setUsers(state, action: PayloadAction) {\n state.data.users = action.payload;\n },\n removeUsers(state, action: PayloadAction) {\n const ids = action.payload;\n state.data.users = state.data.users?.filter((u) => !ids.some((id) => id === u.userId));\n },\n addUsers(state, action: PayloadAction) {\n state.data.users?.push(...action.payload);\n },\n updateUsers(state, action: PayloadAction) {\n if (state.data.users) {\n const usersToUpdate = action.payload;\n state.data.users = [\n ...state.data.users.filter(\n (user) => !usersToUpdate.some((u) => u.userId === user.userId)\n ),\n ...usersToUpdate\n ];\n }\n }\n }\n});\n\nexport const {reducer: participantReducer, ...participantStore} = slice;\n","import {LoadingOutlined} from \"@ant-design/icons\";\nimport {Row, Spin} from \"@p4ma/p4md-react\";\nimport React from \"react\";\nimport s from \"./loader.module.css\";\n\nconst antIcon = ;\n\nconst Loader: React.FC = () => (\n \n \n \n);\n\nexport default Loader;\n","export const validateEmail = (email: string = \"\") => {\n const re = /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n\n return re.test(email.toLowerCase());\n};\n","export function getClientIdFromModuleName(name?: string | null) {\n return name ? name + \"_gateway\" : undefined;\n}","import {Client, ClientClaim} from \"../../model-types/modelTypes\";\nimport {createSlice} from \"@reduxjs/toolkit\";\nimport {getClients, getClaims, getClientClaims} from \"./clientsActions\";\n\ninterface InitialState {\n currentClientClaims?: ClientClaim[];\n clients?: Client[];\n claims?: ClientClaim[];\n actionStatus: {\n getClients: {\n isFetching: boolean;\n isError: boolean;\n errorMessage?: \"\";\n };\n getClaims: {\n isFetching: boolean;\n isError: boolean;\n errorMessage?: \"\";\n };\n getClaimsByRole: {\n isFetching: boolean;\n isError: boolean;\n errorMessage?: \"\";\n };\n };\n}\n\nconst initialState: InitialState = {\n clients: undefined,\n claims: undefined,\n currentClientClaims: undefined,\n actionStatus: {\n getClients: {\n isFetching: false,\n isError: false,\n errorMessage: \"\"\n },\n getClaims: {\n isFetching: false,\n isError: false,\n errorMessage: \"\"\n },\n getClaimsByRole: {\n isFetching: false,\n isError: false,\n errorMessage: \"\"\n }\n }\n};\n\nconst slice = createSlice({\n name: \"clients\",\n initialState,\n reducers: {\n clearCurrentClientClaims(state) {\n state.currentClientClaims = undefined;\n }\n },\n extraReducers: (builder) => {\n // === Get clients ===\n builder.addCase(getClients.pending, (state) => {\n state.actionStatus.getClients.isFetching = true;\n state.actionStatus.getClients.isError = false;\n });\n builder.addCase(getClients.fulfilled, (state, action) => {\n state.clients = action.payload;\n state.actionStatus.getClients.isFetching = false;\n });\n builder.addCase(getClients.rejected, (state) => {\n state.actionStatus.getClients.isFetching = false;\n state.actionStatus.getClients.isError = true;\n });\n\n // === Get claims by role ===\n builder.addCase(getClientClaims.pending, (state) => {\n state.actionStatus.getClaimsByRole.isFetching = true;\n state.actionStatus.getClaimsByRole.isError = false;\n });\n builder.addCase(getClientClaims.fulfilled, (state, action) => {\n state.currentClientClaims = action.payload;\n state.actionStatus.getClaimsByRole.isFetching = false;\n });\n builder.addCase(getClientClaims.rejected, (state) => {\n state.actionStatus.getClaimsByRole.isFetching = false;\n state.actionStatus.getClaimsByRole.isError = true;\n });\n\n // === Get claims ===\n builder.addCase(getClaims.pending, (state) => {\n state.claims = undefined;\n state.actionStatus.getClaims.isFetching = true;\n state.actionStatus.getClaims.isError = false;\n });\n builder.addCase(getClaims.fulfilled, (state, action) => {\n state.claims = action.payload;\n state.actionStatus.getClaims.isFetching = false;\n });\n builder.addCase(getClaims.rejected, (state) => {\n state.actionStatus.getClaims.isFetching = false;\n state.actionStatus.getClaims.isError = true;\n });\n }\n});\n\nexport const {clearCurrentClientClaims} = slice.actions;\n\nconst clientsReducer = slice.reducer;\nexport default clientsReducer;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"loader\":\"loader_loader__31U88\"};","import React from \"react\";\n\nexport interface UISettingsInterface {\n name: string,\n logo: string,\n logoSmall?: string\n}\n\nconst UISettingsContext = React.createContext({} as UISettingsInterface);\n\nexport default UISettingsContext;\n","import {createSlice, PayloadAction} from \"@reduxjs/toolkit\";\nimport {AuthClaimReadDto, ClientAllClaimReadDto, UserReadDto} from \"../../../api_client\";\nimport {IAuthError} from \"../types\";\n\nexport interface ILoadingState {\n signIn: boolean;\n signOut: boolean;\n getCurrentUser: boolean;\n}\ninterface SetLoadingPayload {\n type: keyof ILoadingState;\n isLoading: boolean;\n}\n\nexport interface IRestore {\n login: string;\n token: string;\n}\n\ninterface IAuthState {\n data: {\n isAuth: boolean;\n user?: UserReadDto;\n userClaims?: AuthClaimReadDto[];\n };\n restore?: IRestore;\n error?: IAuthError;\n loading: ILoadingState;\n}\n\nconst initialState: IAuthState = {\n data: {\n isAuth: false,\n user: {}\n },\n loading: {\n signIn: false,\n signOut: false,\n getCurrentUser: false\n }\n};\n\nconst slice = createSlice({\n name: \"auth\",\n initialState,\n reducers: {\n setLoading(state, action: PayloadAction) {\n const {type, isLoading} = action.payload;\n state.loading[type] = isLoading;\n },\n setError(state, action: PayloadAction) {\n const error = action.payload;\n if (error && error.code === \"LOCKED\") {\n error.lockoutEnd = new Date(error.lockoutEnd);\n }\n state.error = error;\n },\n setIsAuth(state, action: PayloadAction) {\n state.data.isAuth = action.payload;\n },\n setUser(state, action: PayloadAction) {\n state.data.user = action.payload;\n },\n setUserClaims(state, action: PayloadAction) {\n state.data.userClaims = action.payload;\n },\n setRestore(state, action: PayloadAction) {\n state.restore = action.payload;\n }\n }\n});\n\nexport const {reducer: authReducer, ...authStore} = slice;\n","import React from \"react\";\r\nimport {shallowEqual, useDispatch, useSelector} from \"react-redux\";\r\nimport {LoginDto, ResponseError} from \"../../../api_client\";\r\nimport {useApi} from \"../../../hooks/useApi\";\r\nimport {State} from \"../../../redux/store\";\r\nimport {authStore} from \"../data\";\r\nimport {ILoadingState, IRestore} from \"../data/authStore\";\r\nimport {t} from \"i18next\";\r\n\r\nexport const useAuthorization = () => {\r\n const {authApi, usersApi} = useApi();\r\n const {actions} = authStore;\r\n const dispatch = useDispatch();\r\n\r\n const beginLoading = (type: keyof ILoadingState) => {\r\n dispatch(actions.setError(undefined));\r\n dispatch(actions.setLoading({type: type, isLoading: true}));\r\n };\r\n\r\n const endLoading = (type: keyof ILoadingState) => {\r\n dispatch(actions.setLoading({type: type, isLoading: false}));\r\n };\r\n\r\n const setError = (err: any) => {\r\n dispatch(actions.setError(err));\r\n };\r\n\r\n const setRestore = (restore: IRestore) => {\r\n dispatch(actions.setRestore(restore));\r\n };\r\n\r\n const getUserClaims = async () => {\r\n const userClaims = await authApi.uiApiAuthUserPermissionsGet();\r\n dispatch(actions.setUserClaims(userClaims));\r\n const haveAccess = userClaims.some(({type, value}) => {\r\n return type === \"access\" && value === \"accounts\";\r\n });\r\n if (haveAccess) {\r\n dispatch(actions.setIsAuth(true));\r\n } else {\r\n setError({\r\n code: \"USER_PERMISSION_ERR\",\r\n message: t(\"messages.userAccessIsNotAllowed\")\r\n });\r\n dispatch(actions.setIsAuth(false));\r\n }\r\n };\r\n\r\n const getUserInfo = async () => {\r\n const user = await usersApi.uiApiUsersCurrentGet();\r\n\r\n dispatch(actions.setUser(user));\r\n };\r\n\r\n const signIn = async (model: LoginDto) => {\r\n try {\r\n beginLoading(\"signIn\");\r\n await authApi.uiApiAuthLoginPost({loginDto: model});\r\n const urlParams = new URLSearchParams(window.location.search);\r\n const returnUrl = urlParams.get(\"ReturnUrl\");\r\n if (returnUrl) {\r\n window.location.replace(returnUrl);\r\n } else {\r\n await getUserClaims();\r\n await getUserInfo();\r\n }\r\n } catch (error) {\r\n if (error instanceof ResponseError) {\r\n error = await error.response.json();\r\n }\r\n setError(error);\r\n } finally {\r\n endLoading(\"signIn\");\r\n }\r\n };\r\n\r\n const signOut = async () => {\r\n try {\r\n beginLoading(\"signOut\");\r\n await authApi.uiApiAuthLogoutGet();\r\n dispatch(actions.setUserClaims([]));\r\n dispatch(actions.setIsAuth(false));\r\n } catch (error) {\r\n setError(error);\r\n } finally {\r\n endLoading(\"signOut\");\r\n }\r\n };\r\n\r\n const error = useSelector((state: State) => state.auth.error, shallowEqual);\r\n const restore = useSelector((state: State) => state.auth.restore, shallowEqual);\r\n const loading = useSelector((state: State) => state.auth.loading, shallowEqual);\r\n const user = useSelector((state: State) => state.auth.data.user, shallowEqual);\r\n\r\n return {\r\n signIn,\r\n signOut,\r\n setRestore,\r\n error,\r\n loading,\r\n restore,\r\n user\r\n };\r\n};\r\n","import {LogoutOutlined, SettingOutlined, UserOutlined} from \"@ant-design/icons\";\nimport {Avatar, Dropdown, Menu, Spin, Typography} from \"@p4ma/p4md-react\";\nimport React from \"react\";\nimport {useAuthorization} from \"../../../../features/auth/api/useAuthorization\";\n// import {selectAuthActions} from \"../../../../redux/auth/selectors\";\nimport s from \"./usermenu.module.css\";\nimport {useTranslation} from \"react-i18next\";\n\nconst UserMenu = () => {\n const {loading, signOut, user} = useAuthorization();\n const {t} = useTranslation();\n\n const userFirstName = user?.firstName && user.firstName !== \"-\" ? user.firstName : \"\";\n const userLastName = user?.lastName && user.lastName !== \"-\" ? user.lastName : \"\";\n const userMiddleName = user?.middleName && user.middleName !== \"-\" ? user.middleName : \"\";\n\n const menu = (\n \n } disabled>\n {t(\"settings\")}\n \n : }\n >\n {t(\"logout\")}\n \n \n );\n\n return (\n
\n
\n \n {userLastName} {userFirstName} {userMiddleName}\n \n \n {user?.userName}\n \n
\n \n } />\n \n
\n );\n};\n\nexport default UserMenu;\n","import {Select} from \"antd\";\nimport React, {FC} from \"react\";\nimport {useTranslation} from \"react-i18next\";\nimport {SupportedLanguage, supportedLanguages} from \"../../i18n\";\nimport {DefaultOptionType, SelectProps} from \"antd/lib/select\";\nimport {locale} from \"devextreme/localization\";\nimport \"./LocalizationSelect.css\";\n\ntype LocalizationSelectProps = {\n languageView?: \"short\" | \"long\"\n} & SelectProps\n\nconst LocalizationSelect: FC = ({\n languageView = \"short\",\n ...selectProps\n}) => {\n const {i18n, t} = useTranslation();\n const languageItems: DefaultOptionType[] = supportedLanguages.map((lngKey) => {\n let lngLocalizationKey = \"\";\n if (languageView == \"short\") {\n lngLocalizationKey = \"currentLanguageShortName\";\n } else {\n lngLocalizationKey = \"currentLanguageName\";\n }\n return {\n label: t(lngLocalizationKey, {lng: lngKey, ns: [\"static\"]}),\n value: lngKey\n };\n });\n\n return (\n {\n i18n.changeLanguage(value);\n locale(value);\n }}\n {...selectProps}\n />\n );\n};\n\nexport default LocalizationSelect;","import {BankOutlined, TeamOutlined, ToolOutlined, UserOutlined} from \"@ant-design/icons\";\nimport {Col, Layout, Menu, Row} from \"@p4ma/p4md-react\";\nimport React, {useContext, useEffect, useState} from \"react\";\nimport {Link, useLocation} from \"react-router-dom\";\nimport {BasePathUrl} from \"../../appsettings\";\nimport UISettingsContext from \"../../utils/UISettingsContext\";\nimport UserMenu from \"./components/UserMenu/UserMenu\";\nimport s from \"./defaultLayout.module.css\";\nimport {useAuthorization} from \"../../features/auth/api/useAuthorization\";\nimport {useTranslation} from \"react-i18next\";\nimport LocalizationSelect from \"../LocalizationSelect/LocalizationSelect\";\n\nconst {Header, Content, Sider} = Layout;\n\nconst DefaultLayout: React.FC = (props) => {\n const {children} = props;\n const [selectedItems, setSelectedItems] = useState();\n const location = useLocation();\n const {user} = useAuthorization();\n const {name, logo, logoSmall} = useContext(UISettingsContext);\n const {t} = useTranslation();\n\n useEffect(() => {\n // Route like /lk/auth/users\n let currentPage = location.pathname.replace(BasePathUrl, \"\");\n\n // Route like /lk/auth/users/userId/.../\n const regExp = new RegExp(\"^/([^/])*(/)\");\n const matchedStr = currentPage.match(regExp);\n // RegExp will return /users/userId/.../ => /users/\n if (matchedStr?.length) {\n // currentPage = \"/users\" (\"/users/\".substring(...) => \"/users\")\n currentPage = matchedStr[0].substring(0, matchedStr[0].length - 1);\n }\n setSelectedItems([currentPage]);\n }, [props.children, location]);\n\n return (\n \n {/* Header */}\n
\n \n \n
\n \n \n
\n \n \n \n \n \n
\n
\n \n \n \n } key=\"/users\">\n setSelectedItems([\"/users\"])} to=\"/users\">\n {t(\"users\")}\n \n \n } key=\"/groups\">\n setSelectedItems([\"/groups\"])} to=\"/groups\">\n {t(\"roles\")}\n \n \n } key=\"/participants\">\n setSelectedItems([\"/participants\"])}\n to=\"/participants\"\n >\n {t(\"participants\")}\n \n \n } key=\"/userclaims\">\n setSelectedItems([\"/userclaims\"])}\n to=\"/userclaims\"\n >\n {t(\"userRights\")}\n \n \n \n \n \n \n
{children}
\n
\n
\n
\n
\n );\n};\n\nexport default DefaultLayout;\n","import React, {ReactElement} from \"react\";\nimport {useSelector} from \"react-redux\";\nimport {Redirect, Route, RouteProps} from \"react-router-dom\";\nimport {State} from \"../../redux/store\";\n// import {selectIsAuth} from \"../../redux/auth/selectors\";\n\ninterface Props {\n children: ReactElement;\n}\n\nconst NotAuthRoute: React.FC = (props: Props) => {\n const {children, ...rest} = props;\n\n const isAuth = useSelector((state: State) => state.auth.data.isAuth);\n\n function renderer(location: any) {\n if (!isAuth) return children;\n return ;\n }\n\n return ;\n};\n\nexport default NotAuthRoute;\n","import React, {ReactElement} from \"react\";\nimport {useSelector} from \"react-redux\";\nimport {Redirect, Route, RouteProps} from \"react-router-dom\";\nimport {useAuthStore} from \"../../features/auth/api/useAuthStore\";\n\ninterface Props {\n children?: ReactElement;\n}\n\nconst PrivateRoute: React.FC = (props: Props) => {\n const {children, ...rest} = props;\n const {data: {isAuth}} = useAuthStore();\n\n const urlParams = new URLSearchParams(window.location.search);\n const returnUrl = urlParams.get(\"ReturnUrl\");\n const query = !returnUrl ? \"\" : `?ReturnUrl=${returnUrl}`;\n\n return (\n \n {isAuth ? children : }\n \n );\n};\n\nexport default PrivateRoute;\n","import React from \"react\";\nimport {shallowEqual, useSelector} from \"react-redux\";\nimport {State} from \"../../../redux/store\";\n\nexport const useAuthStore = () => {\n return useSelector((state: State) => state.auth, shallowEqual);\n};\n","import {Alert, Button} from \"@p4ma/p4md-react\";\nimport React from \"react\";\nimport {useDispatch} from \"react-redux\";\nimport {authStore} from \"../data\";\nimport {IUserLockedError} from \"../types\";\nimport {Trans, useTranslation} from \"react-i18next\";\n\ninterface IProps {\n error: IUserLockedError;\n}\n\nconst LockedError: React.FC = ({error}) => {\n const dispatch = useDispatch();\n const {t} = useTranslation();\n const {actions} = authStore;\n const clearError = () => {\n dispatch(actions.setError(undefined));\n };\n\n return (\n \n {error.message}}\n description={\n \n }}\n values={{\n afterTime: error.lockoutEnd.toLocaleTimeString()\n }}\n />\n }\n type=\"error\"\n />\n \n \n );\n};\n\nexport default LockedError;\n","import {Button, Form, Input} from \"@p4ma/p4md-react\";\r\nimport React, {useEffect, useState, useCallback, useMemo, useRef} from \"react\";\r\nimport {IAuthError} from \"../types\";\r\nimport {useHistory} from \"react-router-dom\";\r\nimport s from \"../styles/loginForm.module.css\";\r\nimport {EyeInvisibleOutlined, EyeOutlined} from \"@ant-design/icons\";\r\nimport {useTranslation} from \"react-i18next\";\r\n\r\ntype ValidateStatus = \"\" | \"error\" | \"success\" | \"warning\" | \"validating\";\r\n\r\ninterface IFormData {\r\n login: string;\r\n password: string;\r\n}\r\n\r\ninterface IProps {\r\n onSignIn: (values: IFormData) => void;\r\n extra?: React.ReactElement | React.ReactElement[];\r\n loading?: boolean;\r\n error?: IAuthError;\r\n showRegistrationBtn: boolean\r\n}\r\n\r\nconst LoginForm = ({loading = false, extra, error, onSignIn, showRegistrationBtn}: IProps) => {\r\n const history = useHistory();\r\n const [extraItems, setExtraItems] = useState();\r\n const [loginErrorMessage, setLoginErrorMessage] = useState();\r\n const [passwordErrorMessage, setPasswordErrorMessage] = useState();\r\n const [form] = Form.useForm<{login: string; password: string}>();\r\n const loginValue = Form.useWatch(\"login\", form);\r\n const passwordValue = Form.useWatch(\"password\", form);\r\n const [firstRenderFormFields, setFirstRenderFormFields] = useState({\r\n login: true,\r\n password: true\r\n });\r\n const refLogin = useRef();\r\n const [visiblePassword, setVisiblePassword] = useState(false);\r\n const [readonly, setReadonly] = useState(true);\r\n const {t} = useTranslation([\"loginPage\"]);\r\n\r\n useEffect(() => {\r\n setTimeout(() => {\r\n setReadonly(false);\r\n refLogin.current?.focus();\r\n }, 800);\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (!loginValue) {\r\n return;\r\n }\r\n setFirstRenderFormFields((prev) => ({\r\n ...prev,\r\n login: false\r\n }));\r\n }, [loginValue]);\r\n\r\n useEffect(() => {\r\n if (!passwordValue) {\r\n return;\r\n }\r\n setFirstRenderFormFields((prev) => ({\r\n ...prev,\r\n password: false\r\n }));\r\n }, [passwordValue]);\r\n\r\n useEffect(() => {\r\n if (extra) {\r\n configureExtraItems(extra);\r\n }\r\n }, [extra]);\r\n\r\n useEffect(() => {\r\n if (error && error.code === \"DISABLED\") {\r\n setLoginErrorMessage(error.message);\r\n }\r\n if (error && error.code === \"FAILED\") {\r\n setPasswordErrorMessage(error.message);\r\n }\r\n if (error && error.code === \"USER_PERMISSION_ERR\") {\r\n setLoginErrorMessage(error.message);\r\n }\r\n\r\n return function cleanUp() {\r\n setLoginErrorMessage(undefined);\r\n setPasswordErrorMessage(undefined);\r\n };\r\n }, [error]);\r\n\r\n const handleOnRegisterClick = useCallback(() => history.push(\"/registration\"), [history]);\r\n\r\n const handleOnRestorePasswordClick = useCallback(() => history.push(\"/restore\"), [history]);\r\n\r\n const getValidateStatusLogin = (): ValidateStatus => {\r\n if (loading) {\r\n return \"validating\";\r\n }\r\n if (loginErrorMessage || error?.code === \"FAILED\") {\r\n return \"error\";\r\n }\r\n if (!loginValue && !firstRenderFormFields.login) {\r\n return \"error\";\r\n }\r\n return \"\";\r\n };\r\n\r\n const getValidateStatusPassword = (): ValidateStatus => {\r\n if (loading) {\r\n return \"validating\";\r\n }\r\n if (passwordErrorMessage) {\r\n return \"error\";\r\n }\r\n if (!passwordValue && !firstRenderFormFields.password) {\r\n return \"error\";\r\n }\r\n return \"\";\r\n };\r\n\r\n const trimAuthData = (userData: IFormData) => {\r\n const handledValues: IFormData = {login: \"\", password: \"\"};\r\n\r\n for (let key in userData) {\r\n const value = userData[key as keyof IFormData];\r\n handledValues[key as keyof IFormData] = value.trim();\r\n }\r\n return handledValues;\r\n };\r\n\r\n const onFinish = (values: IFormData) => {\r\n const trimmedValues = trimAuthData(values);\r\n onSignIn(trimmedValues);\r\n };\r\n\r\n const configureExtraItems = (extra: React.ReactElement | React.ReactElement[]) => {\r\n let extraItems: React.ReactElement[] = [];\r\n\r\n if (!Array.isArray(extra)) {\r\n extraItems = [\r\n \r\n {extra}\r\n \r\n ];\r\n } else {\r\n extraItems = extra.map((el, i) => {\r\n return (\r\n \r\n {el}\r\n \r\n );\r\n });\r\n }\r\n setExtraItems(extraItems);\r\n };\r\n\r\n const Icon = useMemo(() => {\r\n if(!visiblePassword) {\r\n return setVisiblePassword(prevState => !prevState)}/>;\r\n }\r\n\r\n return setVisiblePassword(prevState => !prevState)}/>;\r\n }, [visiblePassword]);\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n
\r\n {Icon}\r\n
\r\n\r\n \r\n {t(\"restorePassword\")}\r\n \r\n\r\n \r\n \r\n {t(\"form.login\")}\r\n \r\n \r\n\r\n {/* Кнопка входа через госуслуги */}\r\n {extraItems}\r\n\r\n {showRegistrationBtn && \r\n {t(\"form.registration\")}\r\n }\r\n \r\n );\r\n};\r\n\r\nexport default LoginForm;\r\n","import {Alert, Button} from \"@p4ma/p4md-react\";\nimport React from \"react\";\nimport {useDispatch} from \"react-redux\";\nimport {Link} from \"react-router-dom\";\nimport {authStore} from \"../data\";\nimport {IUserImportError} from \"../types\";\nimport {Trans, useTranslation} from \"react-i18next\";\n\ninterface IProps {\n error: IUserImportError;\n}\n\nconst UserImportError: React.FC = ({error}) => {\n const dispatch = useDispatch();\n const {actions} = authStore;\n const {t} = useTranslation();\n const clearError = () => {\n dispatch(actions.setError(undefined));\n };\n\n return (\n \n {t(\"messages.syncUserAccountError\", {ns: \"loginPage\"})}}\n description={\n <>\n

{error.message}

\n

\n \n }}\n />\n

\n \n }\n type=\"error\"\n />\n \n \n );\n};\n\nexport default UserImportError;\n","export default __webpack_public_path__ + \"static/media/esia_logo.ecf88372.svg\";","import {Alert, Button, Form} from \"@p4ma/p4md-react\";\nimport React, {useEffect, useState} from \"react\";\nimport {BasePathUrl} from \"../../../appsettings\";\nimport esia_logo from \"../../../assets/images/esia_logo.svg\";\nimport s from \"../styles/loginForm.module.css\";\nimport {useTranslation} from \"react-i18next\";\n\nexport const EsiaLoginButtons: React.FC = () => {\n const [commonAuthRequired, setCommonAuthRequired] = useState(false);\n const [returnUrl, setReturnUrl] = useState();\n const searchParams = new URLSearchParams(window.location.search);\n const {t} = useTranslation();\n\n const onEsiaLoginClick = () => {\n window.location.href = `${BasePathUrl}/api/ext-auth/LoginEsia?redirectUrl=${\n returnUrl ? returnUrl : \"\"\n }`;\n };\n\n useEffect(() => {\n const idx1 = searchParams.toString().indexOf(\"https\");\n if (idx1 > 0) {\n let rUrl = searchParams.toString().substring(idx1);\n rUrl = rUrl.substring(0, rUrl.indexOf(\"signin-oidc\"));\n setReturnUrl(rUrl);\n }\n setCommonAuthRequired(searchParams.get(\"connect\") != null);\n }, [searchParams]);\n\n return (\n <>\n \n \n \"esia\"\n {t(\"enterThroughtESIA\", {ns: \"loginPage\"})}\n \n \n\n {commonAuthRequired && (\n \n )}\n \n );\n};\n","export default __webpack_public_path__ + \"static/media/search_icon.38205841.svg\";","import React, {useContext, useEffect, useState} from \"react\";\nimport LocalizationSelect from \"../../../components/LocalizationSelect/LocalizationSelect\";\nimport {Trans, useTranslation} from \"react-i18next\";\nimport s from \"../styles/login.module.css\";\n\nexport const Footer = () => {\n const {t, i18n} = useTranslation([\"loginPage\", \"static\"]);\n\n return (\n
\n \n
\n {t(\"troubleLoggingIn\")}\n
\n \n }}\n />\n
\n
\n );\n};","import {Input, message} from \"@p4ma/p4md-react\";\r\nimport React, {ReactElement, useCallback, useEffect, useMemo, useState} from \"react\";\r\nimport {RouteComponentProps, withRouter} from \"react-router-dom\";\r\nimport {ExternalModuleDto} from \"./ExternalModuleDto\";\r\nimport {BasePathUrl} from \"../../appsettings\";\r\nimport s from \"./modulesList.module.css\";\r\nimport search_icon from \"../../assets/images/search_icon.svg\";\r\nimport {trim} from \"lodash\";\r\nimport {Trans, useTranslation} from \"react-i18next\";\r\nimport {Footer} from \"../../features/auth/components/Footer\";\r\n\r\nexport const getModules = async (): Promise => {\r\n const response = await fetch(`${BasePathUrl}/ui-api/registration/modules`);\r\n return response.json();\r\n};\r\n\r\n\r\nconst ModulesList = (props: RouteComponentProps): ReactElement => {\r\n const [modules, setModules] = useState([]);\r\n const [searchValue, setSearchValue] = useState(\"\");\r\n const {t} = useTranslation();\r\n\r\n useEffect(() => {\r\n const inner = async () => {\r\n try {\r\n const externalModules = await getModules();\r\n setModules(externalModules);\r\n } catch (e) {\r\n message.error(t(\"messages.receiveModulesInfoError\", {ns: \"loginPage\"}));\r\n console.error(e);\r\n }\r\n };\r\n\r\n inner();\r\n }, []);\r\n\r\n const renderModules = () => {\r\n\r\n let _modules = modules;\r\n if(trim(searchValue)) {\r\n _modules = _modules.filter((elem) => {\r\n return !!~elem.name.toLowerCase().indexOf(trim(searchValue.toLowerCase()));\r\n });\r\n }\r\n\r\n return _modules.map((element) => (\r\n\r\n window.location.href = element.formUrl}\r\n >\r\n
\r\n \r\n
\r\n \r\n {element.name}\r\n \r\n \r\n ));\r\n };\r\n\r\n\r\n return (\r\n
\r\n\r\n
\r\n {t(\"availableModules\", {ns: \"loginPage\"})}\r\n
\r\n\r\n
\r\n setSearchValue(e.target.value)}\r\n />\r\n \"search\"\r\n
\r\n\r\n
\r\n\r\n
\r\n {renderModules()}\r\n
\r\n\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default withRouter(ModulesList);\r\n","import React, {useContext, useEffect, useState} from \"react\";\nimport {validateEmail} from \"../../../utils/validateEmail\";\nimport {useAuthorization} from \"../api/useAuthorization\";\nimport LockedError from \"../components/LockedError\";\nimport LoginForm from \"../components/LoginForm\";\nimport UserImportError from \"../components/UserImportError\";\nimport {BasePathUrl} from \"../../../appsettings\";\nimport {EsiaLoginButtons} from \"../components/EsiaLoginButtons\";\nimport s from \"../styles/login.module.css\";\nimport {getModules} from \"../../../pages/modules-list/ModulesList\";\nimport UISettingsContext from \"../../../utils/UISettingsContext\";\nimport {Dropdown, Button, MenuProps, Select, SelectProps} from \"antd\";\nimport {SupportedLanguage, supportedLanguages} from \"../../../i18n\";\nimport {DefaultOptionType} from \"antd/lib/select\";\nimport {useTranslation} from \"react-i18next\";\nimport {Footer} from \"../components/Footer\";\n\nexport const Login = () => {\n const {error, loading, signIn} = useAuthorization();\n const searchParams = new URLSearchParams(window.location.search);\n const returnUrl = searchParams.get(\"ReturnUrl\");\n const [isEsiaEnabled, setEsiaEnabled] = useState();\n const [showRegistrationBtn, setShowRegistrationBtn] = useState(false);\n const {name, logo} = useContext(UISettingsContext);\n const {t, i18n} = useTranslation([\"loginPage\", \"static\"]);\n\n useEffect(() => {\n const inner = async () => {\n try {\n const externalModules = await getModules();\n if(externalModules.length > 0) {\n setShowRegistrationBtn(true);\n };\n } catch (e) {\n console.error(e);\n }\n };\n\n inner();\n }, []);\n\n const onSignIn = ({login, password}: {login: string, password: string}) => {\n if (validateEmail(login)) {\n signIn({\n email: login,\n password: password,\n returnUrl: returnUrl ? returnUrl : \"\"\n });\n } else {\n signIn({\n username: login,\n password: password,\n returnUrl: returnUrl ? returnUrl : \"\"\n });\n }\n };\n\n const getConfiguration = async () => {\n const res = await fetch(`${BasePathUrl}/api/ext-auth/config`);\n const config = await res.json();\n return config;\n };\n\n const initialize = async () => {\n const config = await getConfiguration();\n\n setEsiaEnabled(config.esiaEnabled);\n };\n\n useEffect(() => {\n initialize();\n }, []);\n\n const languageItems: DefaultOptionType[] = supportedLanguages.map((lngKey) => {\n return {\n label: t(\"currentLanguageShortName\", {lng: lngKey, ns: \"static\"}),\n value: lngKey\n };\n });\n\n return (\n
\n
\n\n
\n \n {name || \"\"}\n
\n\n {(!error || error.code !== \"LOCKED\" && error.code !== \"USER_IMPORT_ERR\") && (\n }\n />\n )}\n {error?.code === \"LOCKED\" && (\n \n )}\n {error?.code === \"USER_IMPORT_ERR\" && (\n \n )}\n\n
\n\n
\n
\n );\n};\n","import {Button, Form, Input} from \"@p4ma/p4md-react\";\nimport React, {useEffect, useState} from \"react\";\nimport {IRestorePasswordStep} from \"../types\";\nimport {useHistory} from \"react-router-dom\";\nimport s from \"../styles/restorePasswordForm.module.css\";\nimport {useApi} from \"../../../hooks/useApi\";\nimport {useAuthorization} from \"../api/useAuthorization\";\nimport tryParseApiError from \"../../../utils/tryParseApiError\";\nimport {useTranslation} from \"react-i18next\";\n\ntype ValidateStatus = \"\" | \"error\" | \"success\" | \"warning\" | \"validating\";\n\ninterface IFormData {\n login: string;\n code: string;\n}\n\ninterface IProps {\n changeStep: (step: IRestorePasswordStep) => void;\n checkCodeStep?: boolean;\n}\n\nconst RestorePasswordForm = ({checkCodeStep = false, changeStep}: IProps) => {\n const history = useHistory();\n const {restoreAccessApi} = useApi();\n const {setRestore} = useAuthorization();\n const [form] = Form.useForm<{login: string; code: string}>();\n const [firstRenderFormFields, setFirstRenderFormFields] = useState({\n login: true,\n code: true\n });\n const loginValue = Form.useWatch(\"login\", form);\n const [loginErrorMessage, setLoginErrorMessage] = useState();\n const codeValue = Form.useWatch(\"code\", form);\n const [codeErrorMessage, setCodeErrorMessage] = useState();\n const [loading, setLoading] = useState(false);\n const [counter, setCounter] = useState(60);\n const [resendCodeButton, setResendCodeButton] = useState<\"timer\" | \"button\">();\n const {t} = useTranslation();\n\n useEffect(() => {\n const timer = setTimeout(() => setCounter(counter - 1), 1000);\n if (counter < 1) setResendCodeButton(\"button\");\n\n return () => clearTimeout(timer);\n }, [counter]);\n\n useEffect(() => {\n if (!loginValue) {\n return;\n }\n setFirstRenderFormFields((prev) => ({\n ...prev,\n login: false\n }));\n setLoginErrorMessage(undefined);\n }, [loginValue]);\n\n useEffect(() => {\n if (!codeValue) {\n return;\n }\n setFirstRenderFormFields((prev) => ({\n ...prev,\n code: false\n }));\n }, [codeValue]);\n\n useEffect(() => {\n return function cleanUp() {\n setLoginErrorMessage(undefined);\n setCodeErrorMessage(undefined);\n };\n }, []);\n\n const getValidateStatusLogin = (): ValidateStatus => {\n if (loading) {\n return \"validating\";\n }\n if (loginErrorMessage || (!loginValue && !firstRenderFormFields.login)) {\n return \"error\";\n }\n return \"\";\n };\n\n const getValidateStatusCode = (): ValidateStatus => {\n if (loading) {\n return \"validating\";\n }\n if (codeErrorMessage || (!codeValue && !firstRenderFormFields.code)) {\n return \"error\";\n }\n return \"\";\n };\n\n const requestCode = async (login: string) => {\n try {\n setLoading(true);\n await restoreAccessApi.uiApiRestoreAccessSendRestoreCodePost({login: login, type: \"email\"});\n setLoginErrorMessage(undefined);\n changeStep(\"checkCode\");\n setResendCodeButton(\"timer\");\n setCounter(60);\n } catch (error: any) {\n const textParseError = await tryParseApiError(error);\n setLoginErrorMessage(textParseError ? textParseError : t(\"messages.defaultMessageError\"));\n } finally {\n setLoading(false);\n }\n };\n\n const checkCode = async ({login, code}: {login: string, code: string}) => {\n try {\n setLoading(true);\n const res = await restoreAccessApi.uiApiRestoreAccessCheckRestoreCodePost({login: login, code: code});\n setRestore({login: login, token: res});\n changeStep(\"updatePassword\");\n\n } catch (error) {\n setCodeErrorMessage(\n t(\"restorePasswordForm.codeIsIncorrect\", {ns: \"loginPage\"})\n );\n } finally {\n setLoading(false);\n }\n };\n\n const onFinish = (values: IFormData) => {\n if (checkCodeStep) checkCode(values);\n else requestCode(values.login);\n };\n\n const ResendButton = () => {\n if (resendCodeButton == \"timer\") {\n return (\n \n {t(\"restorePasswordForm.sendCodeRepeatAfterTime\", {ns: \"loginPage\", time: counter})}\n \n );\n } else if (resendCodeButton == \"button\") {\n return (\n requestCode(loginValue)}\n >\n {t(\"restorePasswordForm.sendCodeRepeat\", {ns: \"loginPage\"})}\n \n );\n }\n\n return null;\n };\n\n return (\n
\n \n \n \n\n {checkCodeStep &&\n <>\n \n {t(\"restorePasswordForm.enterConfirmationCodeOnEmail\", {ns: \"loginPage\"})}\n \n \n \n \n \n \n }\n\n \n \n {checkCodeStep ? t(\"continue\") : t(\"restorePassword\", {ns: \"loginPage\"})}\n \n \n \n );\n};\n\nexport default RestorePasswordForm;\n","import {Button, Form, Input} from \"@p4ma/p4md-react\";\nimport React, {useEffect, useState, useCallback, useMemo, useRef} from \"react\";\nimport {IAuthError} from \"../types\";\nimport {useHistory} from \"react-router-dom\";\nimport s from \"../styles/loginForm.module.css\";\nimport {EyeInvisibleOutlined, EyeOutlined} from \"@ant-design/icons\";\nimport {useApi} from \"../../../hooks/useApi\";\nimport {useAuthorization} from \"../api/useAuthorization\";\nimport {useTranslation} from \"react-i18next\";\n\ninterface IFormData {\n email: string;\n code: string;\n}\n\nconst ChangePasswordForm = () => {\n const history = useHistory();\n const [form] = Form.useForm<{email: string; code: string}>();\n const {restoreAccessApi} = useApi();\n const {restore} = useAuthorization();\n const newPasswordValue = Form.useWatch(\"newPassword\", form);\n const confirmPasswordValue = Form.useWatch(\"confirmPassword\", form);\n const [loading, setLoading] = useState(false);\n const disabledUpdatePassword = useMemo(() => {\n return !(newPasswordValue && newPasswordValue.length > 6\n && confirmPasswordValue && confirmPasswordValue == newPasswordValue);\n }, [newPasswordValue, confirmPasswordValue]);\n const {t} = useTranslation();\n\n\n const changePassword = async (password: string) => {\n try {\n setLoading(true);\n await restoreAccessApi.uiApiRestoreAccessResetPasswordPost({\n resetPasswordDto: {\n userName: restore?.login || \"\",\n token: restore?.token || \"\",\n newPassword: password\n }\n });\n history.push(\"/login\");\n } catch (error) {\n\n } finally {\n setLoading(false);\n }\n };\n\n const onFinish = (values: IFormData) => {\n changePassword(newPasswordValue);\n };\n\n const visibilityIconRender = (visible: boolean) => {\n return visible ? : ;\n };\n\n\n return (\n
\n \n \n \n\n \n \n \n\n \n \n {t(\"continue\")}\n \n \n \n );\n};\n\nexport default ChangePasswordForm;\n","import React, {useContext, useEffect, useState} from \"react\";\nimport s from \"../styles/login.module.css\";\nimport UISettingsContext from \"../../../utils/UISettingsContext\";\nimport RestorePasswordForm from \"../components/RestorePasswordForm\";\nimport {useHistory} from \"react-router-dom\";;\nimport ChangePasswordForm from \"../components/ChangePasswordForm\";\nimport {IRestorePasswordStep} from \"../types\";\nimport {Trans, useTranslation} from \"react-i18next\";\nimport {Footer} from \"../components/Footer\";\n\nexport const RestorePassword = () => {\n const history = useHistory();\n const [step, setStep] = useState(\"requestCode\");\n const {name, logo} = useContext(UISettingsContext);\n const {t} = useTranslation();\n\n const onGoBackClick = () => {\n if (step == \"updatePassword\") {\n setStep(\"checkCode\");\n } else if (step == \"checkCode\") {\n setStep(\"requestCode\");\n } else {\n if (history.location.state === undefined) {\n history.push(\"/login\");\n } else {\n history.goBack();\n }\n }\n };\n\n const changeStep = (step: IRestorePasswordStep) => {\n setStep(step);\n };\n\n return (\n
\n
\n
\n
\n \n
\n \n {\n step == \"updatePassword\" ?\n t(\"restorePasswordForm.newPasswordHeader\", {ns: \"loginPage\"}) :\n t(\"restorePasswordForm.header\", {ns: \"loginPage\"})\n }\n \n
\n\n
\n
\n \n \n {name || \"\"}\n \n {step == \"requestCode\" &&\n \n {t(\"restorePasswordForm.restoreDescription\", {ns: \"loginPage\"})}\n \n }\n
\n\n {step == \"updatePassword\"\n ? \n : \n }\n
\n
\n\n
\n
\n );\n};\n","import React from \"react\";\nimport {createUseStyles} from \"react-jss\";\n\nconst useStyles = createUseStyles({\n loader: {\n display: \"flex\",\n widht: \"100%\",\n height: \"100%\",\n justifyContent: \"center\",\n alignItems: \"center\",\n opacity: 0.3\n }\n});\n\nexport const FallbackLoader = () => {\n const styles = useStyles();\n return (\n
\n \n \n );\n};\n","import React from \"react\";\nimport {DataGrid} from \"devextreme-react\";\nimport {createStore} from \"@p4ma/devextreme-tools\";\nimport {BasePathUrl} from \"../../appsettings\";\nimport \"./UserClaims.css\";\nimport {Column, ColumnChooser, FilterRow, Grouping, GroupPanel, HeaderFilter, Item, Scrolling, SearchPanel, StateStoring, Summary, Toolbar, TotalItem} from \"devextreme-react/data-grid\";\nimport {Typography} from \"@p4ma/p4md-react\";\nimport {useTranslation} from \"react-i18next\";\n\nconst UserClaims = () => {\n const store = createStore({\n loadUrl: `${BasePathUrl}/ui-api/users/GetAllUsersClaims`\n });\n const {t} = useTranslation();\n\n return (\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 \n \n {t(\"userRights\")}\n \n \n \n \n \n \n \n );\n};\n\nexport default UserClaims;","import React from \"react\";\nimport {Redirect, RouteProps} from \"react-router-dom\";\nimport {FallbackLoader} from \"../shared/FallbackLoader\";\nimport UserClaims from \"./user-claims/UserClaims\";\nconst Participants = React.lazy(() => import(\"../features/participants/routes/Participants\"));\nconst Participant = React.lazy(() => import(\"../features/participants/routes/Participant\"));\nconst CreateGroup = React.lazy(() => import(\"./groups-create/CreateGroup\"));\nconst Group = React.lazy(() => import(\"./groups-id/Group\"));\nconst Groups = React.lazy(() => import(\"./groups/Groups\"));\nconst CreateUser = React.lazy(() => import(\"./users-create/CreateUser\"));\nconst UserContainer = React.lazy(() => import(\"./users-id/UserContainer\"));\nconst Users = React.lazy(() => import(\"./users/Users\"));\nconst ParticipantUserContainer = React.lazy(() => import(\"./participants-user/ParticipantUserContainer\"));\n\ninterface AppRoute extends RouteProps {\n ChildComponent: React.FC;\n}\n\n// TODO: сделать lazy-loading всех компонент\nexport const routes: AppRoute[] = [\n // Groups\n {\n exact: true,\n path: \"/groups\",\n ChildComponent: () => (\n }>\n \n \n )\n },\n {\n exact: true,\n path: \"/groups/create\",\n ChildComponent: () => (\n }>\n \n \n )\n },\n {\n exact: true,\n path: \"/groups/:id/:tab\",\n ChildComponent: () => (\n }>\n \n \n )\n },\n {\n exact: true,\n path: \"/groups/:id\",\n ChildComponent: () => (\n }>\n \n \n )\n },\n\n // Users\n {\n exact: true,\n path: \"/users\",\n\n ChildComponent: () => (\n }>\n \n \n )\n },\n {\n exact: true,\n path: \"/users/create\",\n ChildComponent: () => (\n }>\n \n \n )\n },\n {\n exact: true,\n path: \"/users/:id/:tab\",\n ChildComponent: () => (\n }>\n \n \n )\n },\n {\n exact: true,\n path: \"/users/:id\",\n ChildComponent: () => (\n }>\n \n \n )\n },\n // Participants\n {\n exact: true,\n path: \"/participants/:id\",\n ChildComponent: () => (\n }>\n \n \n )\n },\n {\n exact: true,\n path: \"/participants\",\n ChildComponent: () => (\n }>\n \n \n )\n },\n {\n exact: true,\n path: \"/participants/:id/users/:userId\",\n ChildComponent: () => (\n }>\n \n \n )\n },\n {\n exact: true,\n path: \"/participants/:id/users/:userId/:tab\",\n ChildComponent: () => (\n }>\n \n \n )\n },\n\n {\n exact: true,\n path: \"/userclaims\",\n ChildComponent: () => (\n }>\n \n \n )\n },\n // Default\n {\n path: \"*\",\n ChildComponent: () => \n }\n];\n\nexport const routePaths = routes.map((route) => route.path);\n","export function getCookie(name: any) {\n const matches = document.cookie.match(\n new RegExp(\n \"(?:^|; )\" +\n name.replace(/([\\.$?*|{}\\(\\)\\[\\]\\\\\\/\\+^])/g, \"\\\\$1\") +\n \"=([^;]*)\"\n )\n );\n return matches ? decodeURIComponent(matches[1]) : undefined;\n}\n\nexport function setCookie(name: string, value: string, options: any = {}) {\n options = {\n path: \"/\",\n ...options\n };\n\n if (options.expires instanceof Date) {\n options.expires = options.expires.toUTCString();\n }\n\n let updatedCookie =\n encodeURIComponent(name) + \"=\" + encodeURIComponent(value);\n\n // eslint-disable-next-line guard-for-in\n for (const optionKey in options) {\n updatedCookie += \"; \" + optionKey;\n const optionValue = options[optionKey];\n if (optionValue !== true) {\n updatedCookie += \"=\" + optionValue;\n }\n }\n\n document.cookie = updatedCookie;\n}\n\nexport function deleteCookie(name: string) {\n setCookie(name, \"\", {\n \"max-age\": -1\n });\n}\n","import {init, BrowserOptions, BrowserTracing, Replay} from \"@sentry/react\";\n\n\n\nconst configureSentry = (options?: BrowserOptions) => {\n init({\n integrations: [\n new BrowserTracing(),\n new Replay()\n ],\n\n // We recommend adjusting this value in production, or using tracesSampler\n // for finer control\n tracesSampleRate: 1.0,\n\n // This sets the sample rate to be 10%. You may want this to be 100% while\n // in development and sample at a lower rate in production\n replaysSessionSampleRate: 0.1,\n // If the entire session is not sampled, use the below sample rate to sample\n // sessions when an error occurs.\n replaysOnErrorSampleRate: 1.0,\n ...options\n });\n};\n\nexport default configureSentry;","import {message, ConfigProvider} from \"@p4ma/p4md-react\";\r\nimport ruRU from \"antd/lib/locale/ru_RU\";\r\nimport {loadMessages, locale} from \"devextreme/localization\";\r\nimport ruMessages from \"devextreme/localization/messages/ru.json\";\r\nimport enMessages from \"devextreme/localization/messages/en.json\";\r\nimport kkMessages from \"./locales/kk/devextreme.json\";\r\nimport React, {useEffect, useMemo, useState} from \"react\";\r\nimport {useDispatch} from \"react-redux\";\r\nimport {Route, HashRouter as Router, Switch} from \"react-router-dom\";\r\nimport {\r\n AuthClaimReadDto,\r\n Configuration,\r\n ModulesApi,\r\n UiApiAuthApi,\r\n UiApiClientsApi,\r\n UiApiGroupsApi,\r\n UiApiParticipantsApi,\r\n UiApiParticipantsUsersApi,\r\n UiApiUsersApi,\r\n RestoreAccessApi\r\n} from \"./api_client\";\r\nimport \"./App.css\";\r\nimport {AUTH_COOKIE, BasePathUrl} from \"./appsettings\";\r\nimport DefaultLayout from \"./components/default-layout/DefaultLayout\";\r\nimport Loader from \"./components/loader/Loader\";\r\nimport NotAuthRoute from \"./components/not-auth-route/not-auth-route\";\r\nimport PrivateRoute from \"./components/private-route/private-route\";\r\nimport {authStore, Login, RestorePassword} from \"./features/auth\";\r\nimport {routes} from \"./pages/pages\";\r\nimport ApiContext from \"./utils/ApiContext\";\r\nimport {getCookie} from \"./utils/cookie\";\r\nimport ModulesList from \"./pages/modules-list/ModulesList\";\r\nimport UISettingsContext, {UISettingsInterface} from \"./utils/UISettingsContext\";\r\nimport {useTranslation} from \"react-i18next\";\r\nimport antRuRu from \"antd/es/locale/ru_RU\";\r\nimport antEnUS from \"antd/es/locale/en_US\";\r\nimport antKkKZ from \"antd/es/locale/kk_KZ\";\r\nimport configureSentry from \"./ConfigureSentry\";\r\nimport {ErrorBoundary, withProfiler} from \"@sentry/react\";\r\n\r\n\r\nconfigureSentry({\r\n dsn: \"https://09442192e79aa23c561c6f480c1ffae2@sentry.data-platform.ru/42\",\r\n //TODO: наверное нужно получать конфигурацию с бека для тегов\r\n initialScope: {\r\n tags: {\r\n \"app.type\": \"module\",\r\n \"app.alias\": \"auth\",\r\n \"application\": \"P4m.Module.Auth.API\"\r\n }\r\n }\r\n});\r\n\r\nconst App = () => {\r\n const [isInit, setInit] = useState(false);\r\n const [uisettings, setUisettings] = useState({name: \"\", logo: \"\"});\r\n const dispatch = useDispatch();\r\n const {i18n, t} = useTranslation();\r\n\r\n locale(i18n.language);\r\n loadMessages({\r\n ru: ruMessages.ru,\r\n en: enMessages.en,\r\n kk: kkMessages.kk\r\n });\r\n\r\n let antLocale = useMemo(() => {\r\n switch (i18n.language)\r\n {\r\n case \"en\":\r\n {\r\n return antEnUS;\r\n }\r\n case \"kk\":\r\n {\r\n return antKkKZ;\r\n }\r\n case \"ru\":\r\n default:\r\n {\r\n return antRuRu;\r\n }\r\n }\r\n }, [i18n.language]);\r\n\r\n const getUserAccess = async (): Promise => {\r\n const authCookie = getCookie(AUTH_COOKIE);\r\n const res = await fetch(`${BasePathUrl}/ui-api/auth/user-permissions`);\r\n const userClaims: AuthClaimReadDto[] = await res.json();\r\n dispatch(authStore.actions.setUserClaims(userClaims));\r\n return userClaims.some(({type, value}) => {\r\n return type === \"access\" && value === \"accounts\";\r\n });\r\n };\r\n\r\n const getUserInfo = async () => {\r\n const res = await fetch(`${BasePathUrl}/ui-api/users/current`);\r\n const user = await res.json();\r\n\r\n dispatch(authStore.actions.setUser(user));\r\n };\r\n\r\n const getUISettings = async () => {\r\n const response = await fetch(\"uisettings.json\", {cache: \"no-cache\"});\r\n const result = await response.json();\r\n return result;\r\n };\r\n\r\n const initialize = async () => {\r\n const authCookie = getCookie(AUTH_COOKIE);\r\n const uisettings = await getUISettings();\r\n setUisettings(uisettings);\r\n\r\n if (authCookie) {\r\n getUserAccess()\r\n .then((isAllowed) => {\r\n if (isAllowed === true) {\r\n dispatch(authStore.actions.setIsAuth(true));\r\n } else {\r\n message.error(t(\"messages.userAccessIsNotAllowed\"));\r\n }\r\n })\r\n .then(() => getUserInfo())\r\n .finally(() => {\r\n setInit(true);\r\n });\r\n } else {\r\n setInit(true);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n initialize();\r\n }, []);\r\n\r\n const config = new Configuration({\r\n basePath: BasePathUrl\r\n });\r\n\r\n if (isInit) {\r\n return (\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 {routes.map(({ChildComponent, ...params}, index) => (\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 return (\r\n \r\n \r\n );\r\n};\r\n\r\nexport default withProfiler(App);\r\n","import {Client, ClientClaim} from \"../../model-types/modelTypes\";\nimport {createSlice} from \"@reduxjs/toolkit\";\nimport {getModules} from \"./modulesActions\";\nimport {ModuleWithExtensionsDto} from \"../../api_client\";\n\ninterface InitialState {\n modules?: ModuleWithExtensionsDto[];\n actionStatus: {\n getModules: {\n isFetching: boolean;\n isError: boolean;\n errorMessage?: \"\";\n };\n };\n}\n\nconst initialState: InitialState = {\n modules: undefined,\n actionStatus: {\n getModules: {\n isFetching: false,\n isError: false,\n errorMessage: \"\"\n }\n }\n};\n\nconst slice = createSlice({\n name: \"modules\",\n initialState,\n reducers: {},\n extraReducers: (builder) => {\n // === Get modules ===\n builder.addCase(getModules.pending, (state) => {\n state.actionStatus.getModules.isFetching = true;\n state.actionStatus.getModules.isError = false;\n });\n builder.addCase(getModules.fulfilled, (state, action) => {\n state.modules = action.payload;\n state.actionStatus.getModules.isFetching = false;\n });\n builder.addCase(getModules.rejected, (state) => {\n state.actionStatus.getModules.isFetching = false;\n state.actionStatus.getModules.isError = true;\n });\n }\n});\n\nconst modulesReducer = slice.reducer;\nexport default modulesReducer;\n","import {createSlice, PayloadAction} from \"@reduxjs/toolkit\";\nimport {ActionStatus} from \"../../utils/types\";\nimport {IParticipant} from \"./api\";\n\ninterface InitialState {\n participants?: IParticipant[];\n participantToCreate: Partial;\n participantToCreateClientId?: string;\n currentParticipant?: IParticipant & {id: string};\n actions: {\n getAll: ActionStatus;\n getById: ActionStatus;\n create: ActionStatus;\n update: ActionStatus;\n delete: ActionStatus;\n };\n}\n\nconst initialState: InitialState = {\n participants: undefined,\n participantToCreateClientId: undefined,\n participantToCreate: {\n name: undefined,\n description: undefined,\n users: undefined,\n managedClaims: undefined\n },\n actions: {\n getAll: \"idle\",\n getById: \"idle\",\n create: \"idle\",\n update: \"idle\",\n delete: \"idle\"\n }\n};\n\nconst slice = createSlice({\n name: \"participants\",\n initialState,\n reducers: {\n setParticipantsActionStatus(\n state,\n action: PayloadAction<{\n name: keyof typeof initialState.actions;\n status: ActionStatus;\n }>\n ) {\n const {status, name} = action.payload;\n state.actions[name] = status;\n },\n setParticipants(state, action: PayloadAction) {\n state.participants = action.payload;\n },\n setCurrentParticipant(\n state,\n action: PayloadAction\n ) {\n state.currentParticipant = action.payload;\n },\n setParticipantToCreateInfo(\n state,\n action: PayloadAction<{name: string; description: string}>\n ) {\n state.participantToCreate.name = action.payload.name;\n state.participantToCreate.description = action.payload.description;\n },\n setParticipantToCreateClientId(state, action: PayloadAction) {\n state.participantToCreateClientId = action.payload;\n },\n setParticipantToCreateUsers(state, action: PayloadAction) {\n state.participantToCreate.users = action.payload;\n },\n setParticipantToCreateManagedClaims(\n state,\n action: PayloadAction\n ) {\n state.participantToCreate.managedClaims = action.payload;\n },\n clearParticipantToCreate(state) {\n state.participantToCreate = {\n name: undefined,\n description: undefined,\n users: undefined,\n managedClaims: undefined\n };\n state.participantToCreateClientId = undefined;\n }\n }\n});\n\nexport const {\n setParticipants,\n setCurrentParticipant,\n setParticipantToCreateInfo,\n setParticipantToCreateUsers,\n setParticipantToCreateManagedClaims,\n setParticipantToCreateClientId,\n setParticipantsActionStatus,\n clearParticipantToCreate\n} = slice.actions;\n\nconst participantsReducer = slice.reducer;\nexport default participantsReducer;\n","import {AnyAction, PayloadAction} from \"@reduxjs/toolkit\";\nimport {notification} from \"@p4ma/p4md-react\";\nimport {call, CallEffect, put, PutEffect, takeEvery} from \"redux-saga/effects\";\nimport {CREATE_GROUP} from \"../../actions/index\";\nimport {groupsApi} from \"../../api/index\";\nimport {\n clearGroupToCreate,\n GroupToCreate,\n setGroupsActionStatus\n} from \"../../groupsSlice\";\nimport {t} from \"i18next\";\n\nfunction* createGroupWorker(action: PayloadAction): Generator<\n// step types\nCallEffect | PutEffect,\n// return type\nvoid,\n// intermediate argument\nstring\n> {\n yield put(setGroupsActionStatus({name: \"create\", status: \"pending\"}));\n try {\n const groupId = yield call(groupsApi.create, action.payload);\n yield put(setGroupsActionStatus({name: \"create\", status: \"fulfilled\"}));\n yield put(clearGroupToCreate());\n notification.success({\n message: t(\"messages.roleCreatedSuccessfully\", {ns: \"rolesModule\"})\n });\n } catch (error: any) {\n yield put(setGroupsActionStatus({name: \"create\", status: \"rejected\"}));\n notification.success({\n message: t(\"messages.roleCreatedError\", {ns: \"rolesModule\"})\n });\n }\n}\n\nfunction* createGroupWatcher() {\n yield takeEvery(CREATE_GROUP, createGroupWorker);\n}\n\nexport default createGroupWatcher;\n","import {PayloadAction} from \"@reduxjs/toolkit\";\nimport {notification} from \"@p4ma/p4md-react\";\nimport {call, put, takeEvery} from \"redux-saga/effects\";\nimport {DELETE_GROUP} from \"../../actions/index\";\nimport {groupsApi} from \"../../api/index\";\nimport {setGroupsActionStatus} from \"../../groupsSlice\";\nimport {t} from \"i18next\";\n\nfunction* deleteGroup(action: PayloadAction) {\n const id = action.payload;\n try {\n yield put(setGroupsActionStatus({name: \"delete\", status: \"pending\"}));\n yield call(groupsApi.delete, id);\n yield put(setGroupsActionStatus({name: \"delete\", status: \"fulfilled\"}));\n notification.success({\n message: t(\"messages.roleDeletedSuccessfully\", {ns: \"rolesModule\"})\n });\n } catch (e) {\n yield put(setGroupsActionStatus({name: \"delete\", status: \"rejected\"}));\n notification.error({\n message: t(\"messages.roleDeletedError\", {ns: \"rolesModule\"})\n });\n }\n}\n\nfunction* deleteGroupWatcher() {\n yield takeEvery(DELETE_GROUP, deleteGroup);\n}\n\nexport default deleteGroupWatcher;\n","import {call, CallEffect, PutEffect} from \"@redux-saga/core/effects\";\nimport {AnyAction} from \"@reduxjs/toolkit\";\nimport {put, takeEvery} from \"redux-saga/effects\";\nimport {ApplicationRole} from \"../../../../model-types/modelTypes\";\nimport {groupsApi} from \"../../api/index\";\nimport {\n setGroups,\n setGroupsActionStatus\n} from \"../../groupsSlice\";\nimport {GET_GROUPS} from \"../../actions/index\";\n\nfunction* getGroupsWorker(action: {type: typeof GET_GROUPS}): Generator<\n // step types\n CallEffect<{data: ApplicationRole[]}> | PutEffect,\n // return type\n void,\n // intermediate argument\n {data: ApplicationRole[]}\n> {\n yield put(setGroupsActionStatus({name: \"getAll\", status: \"pending\"}));\n const groups = yield call(groupsApi.getAll);\n yield put(setGroups(groups));\n yield put(setGroupsActionStatus({name: \"getAll\", status: \"fulfilled\"}));\n}\n\nfunction* getGroupsWatcher() {\n yield takeEvery(GET_GROUPS, getGroupsWorker);\n}\n\nexport default getGroupsWatcher;\n","import {spawn} from \"redux-saga/effects\";\nimport createGroupWatcher from \"./watchers/create\";\nimport deleteGroupWatcher from \"./watchers/delete\";\nimport getGroupsWatcher from \"./watchers/getAll\";\n\n\nfunction* groupSaga() {\n yield spawn(getGroupsWatcher);\n yield spawn(createGroupWatcher);\n yield spawn(deleteGroupWatcher);\n}\n\nexport default groupSaga;\n","import {AnyAction, PayloadAction} from \"@reduxjs/toolkit\";\nimport {call, CallEffect, put, PutEffect, takeEvery} from \"redux-saga/effects\";\nimport {ApplicationUser} from \"../../../../model-types/modelTypes\";\nimport {setCurrentUser, setUsersActionStatus} from \"../../usersSlice\";\nimport {GET_USER_BY_ID} from \"./../../actions/index\";\nimport {usersApi} from \"./../../api/index\";\n\nfunction* getUserWorker(action: PayloadAction): Generator<\n // step types\n CallEffect | PutEffect,\n // return type\n void,\n // intermediate argument\n ApplicationUser\n> {\n yield put(setUsersActionStatus({name: \"getUserById\", status: \"pending\"}));\n try {\n const user = yield call(usersApi.getById, action.payload);\n yield put(setCurrentUser(user));\n yield put(setUsersActionStatus({name: \"getUserById\", status: \"fulfilled\"}));\n } catch (e) {\n yield put(setUsersActionStatus({name: \"getUserById\", status: \"rejected\"}));\n }\n}\n\nfunction* getUserByIdWatcher() {\n yield takeEvery(GET_USER_BY_ID, getUserWorker);\n}\n\nexport default getUserByIdWatcher;\n","import {usersApi} from \"./../../api/index\";\nimport {GET_USERS} from \"./../../actions/index\";\nimport {call, put, takeEvery, CallEffect, PutEffect} from \"redux-saga/effects\";\nimport {ApplicationUser} from \"../../../../model-types/modelTypes\";\nimport {AnyAction} from \"redux\";\nimport {setUsers, setUsersActionStatus} from \"../../usersSlice\";\n\nfunction* getUsersWorker(): Generator<\n CallEffect | PutEffect,\n any,\n ApplicationUser[]\n > {\n yield put(setUsersActionStatus({name: \"getUsers\", status: \"pending\"}));\n try {\n const users = yield call(usersApi.getAll);\n yield put(setUsers(users));\n yield put(setUsersActionStatus({name: \"getUsers\", status: \"fulfilled\"}));\n } catch (error: any) {\n yield put(setUsersActionStatus({name: \"getUsers\", status: \"rejected\"}));\n }\n}\n\nfunction* getUsersWatcher() {\n yield takeEvery(GET_USERS, getUsersWorker);\n}\n\nexport default getUsersWatcher;\n","import {PayloadAction} from \"@reduxjs/toolkit\";\nimport {notification, Spin} from \"@p4ma/p4md-react\";\nimport React from \"react\";\nimport {call, put, takeEvery} from \"redux-saga/effects\";\nimport {UPDATE_USER, usersActions} from \"../../actions/index\";\nimport {UpdateUserParams, usersApi} from \"../../api/index\";\nimport {setUsersActionStatus} from \"../../usersSlice\";\nimport {t} from \"i18next\";\n\nfunction* updateUserWorker(action: PayloadAction) {\n yield put(setUsersActionStatus({name: \"updateUser\", status: \"pending\"}));\n notification.open({\n key: \"loading\",\n message: t(\"loading\"),\n icon: \n });\n try {\n yield call(usersApi.update, action.payload);\n yield put(usersActions.getById(action.payload.userId));\n yield put(setUsersActionStatus({name: \"updateUser\", status: \"fulfilled\"}));\n notification.close(\"loading\");\n notification.success({\n message: t(\"messages.userUpdatedSuccessfully\", {ns: \"usersModule\"})\n });\n } catch (error: any) {\n notification.close(\"loading\");\n notification.error({\n message: t(\"messages.userUpdatedError\", {ns: \"usersModule\"})\n });\n yield put(setUsersActionStatus({name: \"updateUser\", status: \"rejected\"}));\n }\n}\n\nfunction* updateUserWatcher() {\n yield takeEvery(UPDATE_USER, updateUserWorker);\n}\n\nexport default updateUserWatcher;\n","import {spawn} from \"redux-saga/effects\";\nimport getUserByIdWatcher from \"./watchers/getById\";\nimport getUsersWatcher from \"./watchers/getUsers\";\nimport updateUserWatcher from \"./watchers/update\";\n\nfunction* usersSaga() {\n yield spawn(getUsersWatcher);\n yield spawn(getUserByIdWatcher);\n yield spawn(updateUserWatcher);\n}\n\nexport default usersSaga;\n","import {spawn} from \"redux-saga/effects\";\nimport groupSaga from \"./groups/sagas/groupSaga\";\nimport usersSaga from \"./users/sagas/usersSaga\";\n\nexport default function* rootSaga() {\n yield spawn(groupSaga);\n yield spawn(usersSaga);\n}\n","import createSagaMiddleware from \"@redux-saga/core\";\nimport {configureStore} from \"@reduxjs/toolkit\";\nimport {authReducer} from \"../features/auth\";\nimport {participantReducer} from \"../features/participants/data\";\nimport clientsReducer from \"./clients/clientsSlice\";\nimport groupsReducer from \"./groups/groupsSlice\";\nimport modulesReducer from \"./modules/modulesSlice\";\nimport participantsReducer from \"./participants/participantsSlice\";\nimport rootSaga from \"./rootSaga\";\nimport usersReducer from \"./users/usersSlice\";\n\nconst sagaMiddleware = createSagaMiddleware();\n\nconst store = configureStore({\n reducer: {\n auth: authReducer,\n groups: groupsReducer,\n users: usersReducer,\n clients: clientsReducer,\n participants: participantsReducer,\n participant: participantReducer,\n modules: modulesReducer\n },\n middleware: (getDefaultMiddleware) =>\n getDefaultMiddleware().concat(sagaMiddleware)\n});\n\nsagaMiddleware.run(rootSaga);\n\nexport type State = ReturnType;\nexport default store;\n","import \"devextreme/dist/css/dx.light.css\";\nimport React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport {Provider} from \"react-redux\";\nimport App from \"./App\";\nimport \"./index.css\";\nimport store from \"./redux/store\";\n\n\nReactDOM.render(\n \n \n \n \n ,\n document.getElementById(\"root\")\n);\n"],"sourceRoot":""}