{"version":3,"sources":["features/auth/styles/loginForm.module.css","appsettings.js","utils/requestConstructor.ts","redux/users/usersSlice.ts","redux/groups/groupsSlice.ts","pages/modules-list/modulesList.module.css","api_client/runtime.ts","api_client/models/AddClientAllClaimDto.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/Module.ts","api_client/models/Extension.ts","api_client/models/GetUserInformationDto.ts","api_client/models/GroupCreateDto.ts","api_client/models/GroupReadDto.ts","api_client/models/LoadResult.ts","api_client/models/LoginDto.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/UserCreateDto.ts","api_client/models/UserReadDto.ts","api_client/models/UserUpdateDto.ts","api_client/models/UserWithClaimsDto.ts","api_client/apis/AccountApi.ts","api_client/apis/ModulesApi.ts","api_client/apis/UiApiAuthApi.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","redux/clients/clientsActions.ts","features/auth/styles/login.module.css","redux/users/api/index.ts","redux/users/actions/index.ts","redux/groups/actions/index.ts","redux/groups/api/index.ts","utils/ApiContext.ts","redux/modules/modulesActions.ts","components/default-layout/defaultLayout.module.css","utils/getClientIdFromModuleName.ts","hooks/useApi.ts","components/loader/Loader.tsx","features/participants/data/participantStore.ts","utils/validateEmail.ts","redux/clients/clientsSlice.ts","components/default-layout/components/UserMenu/usermenu.module.css","components/loader/loader.module.css","features/auth/data/authStore.ts","features/auth/api/useAuthorization.ts","components/default-layout/components/UserMenu/UserMenu.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/logo.svg","assets/images/search_icon.svg","pages/modules-list/ModulesList.tsx","features/auth/routes/Login.tsx","shared/FallbackLoader.tsx","pages/user-claims/UserClaims.tsx","pages/pages.tsx","utils/cookie.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","payload","status","setCurrentUser","setCurrentUserRowKey","setUsers","clearCurrentUser","setUserToCreateInfo","userRoles","clearUserToCreateInfo","setUserToCreateRoles","setUserToCreateClaims","userClaims","usersReducer","reducer","groups","groupToCreate","getAll","getById","create","update","removeUser","setGroupsActionStatus","setCurrentGroup","currentGroup","clearCurrentGroup","setGroups","data","map","createdDate","hidden","filterGroups","searchStr","regExp","RegExp","group","result","test","clearGroupsFilter","setGroupToCreateInfo","setGroupToCreateModule","clientId","getClientIdFromModuleName","alias","roleClaims","setGroupToCreateClaims","setGroupToCreateUsers","clearGroupToCreate","groupsReducer","BASE_PATH","replace","Configuration","configuration","this","basePath","fetchApi","middleware","queryParamsStringify","querystring","username","password","apiKey","accessToken","credentials","DefaultConfig","BaseAPI","init","fetchParams","pre","response","onError","error","clone","Error","FetchError","next","concat","preMiddlewares","middlewares","withMiddleware","postMiddlewares","context","initOverrides","createFetchParams","ResponseError","path","query","Object","keys","length","assign","forEach","key","initOverrideFn","initParams","overriddenInit","value","FormData","isBlob","constructor","Blob","msg","cause","RequiredError","field","exists","json","prefix","querystringSingleKey","filter","part","join","keyPrefix","fullKey","Array","multiValue","singleValue","encodeURIComponent","String","Set","valueAsArray","from","Date","toISOString","JSONApiResponse","raw","transformer","jsonValue","VoidApiResponse","TextApiResponse","text","AddClientAllClaimDtoToJSON","type","validFrom","validTo","AuthClaimReadDtoFromJSON","ignoreDiscriminator","AuthClaimReadDtoFromJSONTyped","ClaimDtoFromJSON","ClaimDtoFromJSONTyped","ClaimDtoToJSON","ClaimValuesTreeFromJSON","ClaimValuesTreeFromJSONTyped","ClientAllClaimReadDtoFromJSON","ClientAllClaimReadDtoFromJSONTyped","ClientAllClaimReadDtoToJSON","clientName","description","ClientClaimReadDtoFromJSON","ClientClaimReadDtoFromJSONTyped","ClientReadDtoFromJSON","ClientReadDtoFromJSONTyped","GroupingInfoToJSON","selector","desc","groupInterval","isExpanded","SortingInfoToJSON","SummaryInfoToJSON","summaryType","DataSourceLoadOptionsToJSON","requireTotalCount","requireGroupCount","isCountQuery","isSummaryQuery","skip","take","sort","totalSummary","groupSummary","select","preSelect","remoteSelect","remoteGrouping","expandLinqSumType","primaryKey","defaultSort","stringToLower","paginateViaPrimaryKey","sortByPrimaryKey","allowAsyncOverSync","ModuleFromJSON","ExtensionFromJSON","ModuleFromJSONTyped","ExtensionFromJSONTyped","GetUserInformationDtoToJSON","login","GroupCreateDtoToJSON","GroupReadDtoFromJSON","GroupReadDtoFromJSONTyped","LoadResultFromJSON","LoadResultFromJSONTyped","LoginDtoToJSON","email","returnUrl","rememberLogin","ParticipantCreateDtoToJSON","ParticipantReadDtoFromJSON","ParticipantReadDtoFromJSONTyped","ParticipantRoleReadDtoFromJSON","ParticipantRoleReadDtoFromJSONTyped","ParticipantUserClaimReadDtoFromJSON","ParticipantUserClaimReadDtoFromJSONTyped","ParticipantUserCreateDtoToJSON","userId","isAdmin","ParticipantUserReadDtoFromJSON","ParticipantUserReadDtoFromJSONTyped","ParticipantUserUpdateDtoToJSON","RemoveClientAllClaimDtoToJSON","UserClaimAddDtoToJSON","UserClaimReadDtoFromJSON","UserClaimReadDtoFromJSONTyped","UserCreateDtoToJSON","userName","firstName","lastName","middleName","phoneNumber","UserReadDtoFromJSON","UserReadDtoFromJSONTyped","UserUpdateDtoToJSON","emailConfirmed","isEnabled","UserWithClaimsDtoFromJSON","UserWithClaimsDtoFromJSONTyped","ModulesApi","requestParameters","queryParameters","moduleId","moduleAlias","headerParameters","request","runtime","apiModulesGetExtensionsGetRaw","apiModulesGetModulesGetRaw","UiApiAuthApi","loginDto","uiApiAuthLoginPostRaw","logoutId","uiApiAuthLogoutGetRaw","getUserInformationDto","uiApiAuthUserInfoPostRaw","uiApiAuthUserPermissionsGetRaw","UiApiClientsApi","uiApiClientsGetRaw","idClient","uiApiClientsGetAllClaimsIdClientGetRaw","id","uiApiClientsGetClaimsIdGetRaw","extension","uiApiClientsGetClaimsTypesGetRaw","typeClaim","dataSourceLoadOptions","uiApiClientsGetClaimsValuesDxPostRaw","uiApiClientsGetClaimsValuesGetRaw","UiApiGroupsApi","groupCreateDto","uiApiGroupsAddPostRaw","groupId","uiApiGroupsGroupIdDeleteRaw","clientAllClaimReadDto","uiApiGroupsIdClaimsDeleteRaw","uiApiGroupsIdClaimsGetRaw","uiApiGroupsIdClaimsPostRaw","uiApiGroupsIdGetRaw","uiApiGroupsIdPostRaw","requestBody","uiApiGroupsIdUsersDeleteRaw","uiApiGroupsIdUsersGetRaw","uiApiGroupsIdUsersPostRaw","uiApiGroupsPostRaw","UiApiParticipantsApi","participantCreateDto","uiApiParticipantsAddPostRaw","uiApiParticipantsByUserGetRaw","uiApiParticipantsDxPostRaw","client","uiApiParticipantsGetParticipantsByClientDXPostRaw","uiApiParticipantsIdClaimsAddPostRaw","uiApiParticipantsIdClaimsGetRaw","uiApiParticipantsIdClaimsRemoveDeleteRaw","uiApiParticipantsIdDeleteRaw","uiApiParticipantsIdGetRaw","uiApiParticipantsIdPostRaw","participantUserCreateDto","uiApiParticipantsIdUsersAddPostRaw","uiApiParticipantsIdUsersGetRaw","uiApiParticipantsIdUsersRemoveDeleteRaw","participantUserUpdateDto","uiApiParticipantsIdUsersUpdatePostRaw","UiApiParticipantsUsersApi","pUserId","uiApiParticipantsUsersPUserIdClaimsAvailableGetRaw","uiApiParticipantsUsersPUserIdClaimsGetRaw","uiApiParticipantsUsersUserIdAdminPermissionsPostRaw","addClientAllClaimDto","uiApiParticipantsUsersUserIdClaimsAddPostRaw","removeClientAllClaimDto","uiApiParticipantsUsersUserIdClaimsRemoveDeleteRaw","uiApiParticipantsUsersUserIdGetRaw","uiApiParticipantsUsersUserIdGroupsAddPostRaw","uiApiParticipantsUsersUserIdGroupsAvailableGetRaw","uiApiParticipantsUsersUserIdGroupsGetRaw","uiApiParticipantsUsersUserIdGroupsRemoveDeleteRaw","UiApiUsersApi","userCreateDto","uiApiUsersCreatePostRaw","uiApiUsersGetRaw","uiApiUsersGetAllUsersClaimsPostRaw","claimDto","uiApiUsersGetByClaimsPostRaw","uiApiUsersGetUsersByClientDXPostRaw","uiApiUsersIdClaimsDeleteRaw","uiApiUsersIdClaimsGetRaw","userClaimAddDto","uiApiUsersIdClaimsPostRaw","uiApiUsersIdGetRaw","uiApiUsersIdGroupsDeleteRaw","uiApiUsersIdGroupsGetRaw","uiApiUsersIdGroupsPostRaw","userUpdateDto","uiApiUsersIdPostRaw","uiApiUsersPostRaw","getClients","createAsyncThunk","res","ok","Promise","reject","statusText","getClientClaims","getClaims","getClientsRes","clients","claims","getUserClaims","updateUserParams","resetPassword","updateUserResponse","usersApi","GET_USERS","GET_USER_BY_ID","UPDATE_USER","usersActions","DELETE_GROUP","GET_GROUPS","CREATE_GROUP","groupsActions","getAllGroups","getGroupById","res2","groupUsers","updateGroup","roleId","reqBody","createGroup","usersRange","user","midleName","role","push","deleteGroup","removeUserFromGroup","roleName","roles","updateParams","groupsApi","ApiContext","React","createContext","getModules","useApi","useContext","antIcon","style","fontSize","spin","Loader","className","s","loader","size","indicator","loading","getInfo","updateName","updateDescription","removeUsers","addUsers","updateUsers","info","setLoading","isLoading","setError","clearStore","setInfo","setClaims","ids","u","some","usersToUpdate","participantReducer","participantStore","validateEmail","re","toLowerCase","currentClientClaims","actionStatus","isFetching","isError","errorMessage","getClaimsByRole","clearCurrentClientClaims","extraReducers","builder","addCase","pending","fulfilled","rejected","clientsReducer","isAuth","signIn","signOut","getCurrentUser","code","lockoutEnd","setIsAuth","setUser","setUserClaims","authReducer","authStore","useAuthorization","authApi","dispatch","useDispatch","beginLoading","endLoading","err","uiApiAuthUserPermissionsGet","message","model","uiApiAuthLoginPost","urlParams","uiApiAuthLogoutGet","useSelector","auth","shallowEqual","UserMenu","menu","Item","icon","SettingOutlined","disabled","onClick","LogoutOutlined","display","flexFlow","justifyContent","cursor","overlay","trigger","wrapper","UserOutlined","color","Header","Layout","Content","Sider","DefaultLayout","props","children","useState","selectedItems","setSelectedItems","useLocation","useEffect","currentPage","pathname","matchedStr","match","substring","padding","justify","align","src","process","alt","width","marginRight","fontWeight","mode","theme","height","boxSizing","paddingTop","selectedKeys","to","TeamOutlined","BankOutlined","ToolOutlined","content","content__component","NotAuthRoute","rest","render","PrivateRoute","LockedError","alignItems","toLocaleTimeString","marginTop","LoginForm","extra","onSignIn","showRegistrationBtn","history","useHistory","extraItems","setExtraItems","loginErrorMessage","setLoginErrorMessage","passwordErrorMessage","setPasswordErrorMessage","Form","useForm","form","loginValue","useWatch","passwordValue","firstRenderFormFields","setFirstRenderFormFields","refLogin","useRef","visiblePassword","setVisiblePassword","readonly","setReadonly","setTimeout","current","focus","prev","configureExtraItems","handleOnRegisterClick","useCallback","isArray","el","i","form__item","margin__less","Icon","useMemo","EyeOutlined","prevState","EyeInvisibleOutlined","layout","onFinish","values","rules","required","validateStatus","help","label","form__input","placeholder","ref","margin__more","form__input__password","form__item__icon","htmlType","block","form__button","form__href","UserImportError","margin","target","rel","href","changePasswordLink","EsiaLoginButtons","commonAuthRequired","setCommonAuthRequired","setReturnUrl","searchParams","idx1","indexOf","rUrl","esia_logo","form__button__esiaIcon","withRouter","modules","setModules","searchValue","setSearchValue","inner","externalModules","console","container","container__title","container__search","onChange","e","search_icon","separator","modulesList","_modules","trim","elem","element","modulesList__item","formUrl","item__iconBlock","item__iconImg","item__name","renderModules","footer","font__small","font__blue","font__gray","Login","isEsiaEnabled","setEsiaEnabled","setShowRegistrationBtn","getConfiguration","config","initialize","esiaEnabled","login__header","logo","login__header__logo","login__header__title","useStyles","createUseStyles","widht","opacity","FallbackLoader","styles","UserClaims","store","createStore","loadUrl","maxHeight","showBorders","showRowLines","showColumnLines","showColumnHeaders","remoteOperations","allowColumnReordering","allowColumnResizing","columnResizingMode","columnAutoWidth","columnMinWidth","dataSource","allowSearch","enabled","storageKey","visible","highlightSearchText","highlightCaseSensitive","contextMenuEnabled","expandMode","emptyPanelText","dataField","dataType","caption","Title","ellipsis","rows","level","Participants","lazy","Participant","CreateGroup","Group","Groups","CreateUser","UserContainer","Users","ParticipantUserContainer","routes","exact","ChildComponent","Suspense","fallback","route","getCookie","matches","document","cookie","decodeURIComponent","App","isInit","setInit","locale","loadMessages","ruMessages","getUserAccess","then","isAllowed","finally","ruRU","Provider","clientsApi","participantsApi","participantsUsersApi","modulesApi","index","modulesReducer","participants","participantToCreateClientId","participantToCreate","managedClaims","setParticipantsActionStatus","setParticipants","setCurrentParticipant","currentParticipant","setParticipantToCreateInfo","setParticipantToCreateClientId","setParticipantToCreateUsers","setParticipantToCreateManagedClaims","clearParticipantToCreate","participantsReducer","createGroupWorker","createGroupWatcher","put","call","notification","success","takeEvery","deleteGroupWatcher","getGroupsWorker","getGroupsWatcher","groupSaga","spawn","getUserWorker","getUserByIdWatcher","getUsersWorker","getUsersWatcher","updateUserWorker","updateUserWatcher","open","close","usersSaga","rootSaga","sagaMiddleware","createSagaMiddleware","configureStore","participant","getDefaultMiddleware","run","ReactDOM","StrictMode","getElementById"],"mappings":"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","file":"static/js/main.38e2c600.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__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\"};","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 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 {Module} 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?: Module;\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","// 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\"};","// @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 | ((name: string) => string); // 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) | 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 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 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 const init: RequestInit = {\n ...overriddenInit,\n body:\n isFormData(overriddenInit.body) ||\n overriddenInit.body instanceof URLSearchParams ||\n isBlob(overriddenInit.body)\n ? overriddenInit.body\n : JSON.stringify(overriddenInit.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 exists(json: any, key: string) {\n const value = json[key];\n return value !== null && value !== undefined;\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 { exists, 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 | null;\n /**\n * Окончание действия клейма\n * @type {string}\n * @memberof AddClientAllClaimDto\n */\n validTo?: string | null;\n}\n\n/**\n * Check if a given object implements the AddClientAllClaimDto interface.\n */\nexport function instanceOfAddClientAllClaimDto(value: object): boolean {\n let isInstance = true;\n isInstance = isInstance && \"clientId\" in value;\n isInstance = isInstance && \"type\" in value;\n isInstance = isInstance && \"value\" in value;\n\n return isInstance;\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 === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'clientId': json['clientId'],\n 'type': json['type'],\n 'value': json['value'],\n 'validFrom': !exists(json, 'validFrom') ? undefined : json['validFrom'],\n 'validTo': !exists(json, 'validTo') ? undefined : json['validTo'],\n };\n}\n\nexport function AddClientAllClaimDtoToJSON(value?: AddClientAllClaimDto | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\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 { exists, 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 | null;\n /**\n * \n * @type {string}\n * @memberof AuthClaimReadDto\n */\n value?: string | null;\n}\n\n/**\n * Check if a given object implements the AuthClaimReadDto interface.\n */\nexport function instanceOfAuthClaimReadDto(value: object): boolean {\n let isInstance = true;\n\n return isInstance;\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 === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'type': !exists(json, 'type') ? undefined : json['type'],\n 'value': !exists(json, 'value') ? undefined : json['value'],\n };\n}\n\nexport function AuthClaimReadDtoToJSON(value?: AuthClaimReadDto | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\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 { exists, 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 | null;\n /**\n * \n * @type {string}\n * @memberof ClaimDto\n */\n value?: string | null;\n}\n\n/**\n * Check if a given object implements the ClaimDto interface.\n */\nexport function instanceOfClaimDto(value: object): boolean {\n let isInstance = true;\n\n return isInstance;\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 === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'type': !exists(json, 'type') ? undefined : json['type'],\n 'value': !exists(json, 'value') ? undefined : json['value'],\n };\n}\n\nexport function ClaimDtoToJSON(value?: ClaimDto | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\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 { exists, 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 | null;\n /**\n * \n * @type {string}\n * @memberof ClaimValuesTree\n */\n description?: string | null;\n /**\n * \n * @type {Array}\n * @memberof ClaimValuesTree\n */\n children?: Array | null;\n}\n\n/**\n * Check if a given object implements the ClaimValuesTree interface.\n */\nexport function instanceOfClaimValuesTree(value: object): boolean {\n let isInstance = true;\n\n return isInstance;\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 === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'value': !exists(json, 'value') ? undefined : json['value'],\n 'description': !exists(json, 'description') ? undefined : json['description'],\n 'children': !exists(json, 'children') ? undefined : (json['children'] === null ? null : (json['children'] as Array).map(ClaimValuesTreeFromJSON)),\n };\n}\n\nexport function ClaimValuesTreeToJSON(value?: ClaimValuesTree | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'value': value.value,\n 'description': value.description,\n 'children': value.children === undefined ? undefined : (value.children === null ? null : (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 { exists, 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 | null;\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 | null;\n}\n\n/**\n * Check if a given object implements the ClientAllClaimReadDto interface.\n */\nexport function instanceOfClientAllClaimReadDto(value: object): boolean {\n let isInstance = true;\n isInstance = isInstance && \"clientId\" in value;\n isInstance = isInstance && \"type\" in value;\n isInstance = isInstance && \"value\" in value;\n\n return isInstance;\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 === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'clientId': json['clientId'],\n 'clientName': !exists(json, 'clientName') ? undefined : json['clientName'],\n 'type': json['type'],\n 'value': json['value'],\n 'description': !exists(json, 'description') ? undefined : json['description'],\n };\n}\n\nexport function ClientAllClaimReadDtoToJSON(value?: ClientAllClaimReadDto | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\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 { exists, 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 | null;\n /**\n * Значение клейма\n * @type {string}\n * @memberof ClientClaimReadDto\n */\n value?: string | null;\n}\n\n/**\n * Check if a given object implements the ClientClaimReadDto interface.\n */\nexport function instanceOfClientClaimReadDto(value: object): boolean {\n let isInstance = true;\n\n return isInstance;\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 === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'type': !exists(json, 'type') ? undefined : json['type'],\n 'value': !exists(json, 'value') ? undefined : json['value'],\n };\n}\n\nexport function ClientClaimReadDtoToJSON(value?: ClientClaimReadDto | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\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 { exists, 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 | null;\n /**\n * Имя клиента\n * @type {string}\n * @memberof ClientReadDto\n */\n name?: string | null;\n}\n\n/**\n * Check if a given object implements the ClientReadDto interface.\n */\nexport function instanceOfClientReadDto(value: object): boolean {\n let isInstance = true;\n\n return isInstance;\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 === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'id': !exists(json, 'id') ? undefined : json['id'],\n 'name': !exists(json, 'name') ? undefined : json['name'],\n };\n}\n\nexport function ClientReadDtoToJSON(value?: ClientReadDto | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\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 { exists, 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 | null;\n /**\n * \n * @type {boolean}\n * @memberof GroupingInfo\n */\n desc?: boolean;\n /**\n * \n * @type {string}\n * @memberof GroupingInfo\n */\n groupInterval?: string | null;\n /**\n * \n * @type {boolean}\n * @memberof GroupingInfo\n */\n isExpanded?: boolean | null;\n}\n\n/**\n * Check if a given object implements the GroupingInfo interface.\n */\nexport function instanceOfGroupingInfo(value: object): boolean {\n let isInstance = true;\n\n return isInstance;\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 === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'selector': !exists(json, 'selector') ? undefined : json['selector'],\n 'desc': !exists(json, 'desc') ? undefined : json['desc'],\n 'groupInterval': !exists(json, 'groupInterval') ? undefined : json['groupInterval'],\n 'isExpanded': !exists(json, 'isExpanded') ? undefined : json['isExpanded'],\n };\n}\n\nexport function GroupingInfoToJSON(value?: GroupingInfo | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\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 { exists, 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 | null;\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 let isInstance = true;\n\n return isInstance;\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 === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'selector': !exists(json, 'selector') ? undefined : json['selector'],\n 'desc': !exists(json, 'desc') ? undefined : json['desc'],\n };\n}\n\nexport function SortingInfoToJSON(value?: SortingInfo | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\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 { exists, 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 | null;\n /**\n * \n * @type {string}\n * @memberof SummaryInfo\n */\n summaryType?: string | null;\n}\n\n/**\n * Check if a given object implements the SummaryInfo interface.\n */\nexport function instanceOfSummaryInfo(value: object): boolean {\n let isInstance = true;\n\n return isInstance;\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 === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'selector': !exists(json, 'selector') ? undefined : json['selector'],\n 'summaryType': !exists(json, 'summaryType') ? undefined : json['summaryType'],\n };\n}\n\nexport function SummaryInfoToJSON(value?: SummaryInfo | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\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 { exists, 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 | null;\n /**\n * \n * @type {Array}\n * @memberof DataSourceLoadOptions\n */\n group?: Array | null;\n /**\n * \n * @type {Array}\n * @memberof DataSourceLoadOptions\n */\n filter?: Array | null;\n /**\n * \n * @type {Array}\n * @memberof DataSourceLoadOptions\n */\n totalSummary?: Array | null;\n /**\n * \n * @type {Array}\n * @memberof DataSourceLoadOptions\n */\n groupSummary?: Array | null;\n /**\n * \n * @type {Array}\n * @memberof DataSourceLoadOptions\n */\n select?: Array | null;\n /**\n * \n * @type {Array}\n * @memberof DataSourceLoadOptions\n */\n preSelect?: Array | null;\n /**\n * \n * @type {boolean}\n * @memberof DataSourceLoadOptions\n */\n remoteSelect?: boolean | null;\n /**\n * \n * @type {boolean}\n * @memberof DataSourceLoadOptions\n */\n remoteGrouping?: boolean | null;\n /**\n * \n * @type {boolean}\n * @memberof DataSourceLoadOptions\n */\n expandLinqSumType?: boolean | null;\n /**\n * \n * @type {Array}\n * @memberof DataSourceLoadOptions\n */\n primaryKey?: Array | null;\n /**\n * \n * @type {string}\n * @memberof DataSourceLoadOptions\n */\n defaultSort?: string | null;\n /**\n * \n * @type {boolean}\n * @memberof DataSourceLoadOptions\n */\n stringToLower?: boolean | null;\n /**\n * \n * @type {boolean}\n * @memberof DataSourceLoadOptions\n */\n paginateViaPrimaryKey?: boolean | null;\n /**\n * \n * @type {boolean}\n * @memberof DataSourceLoadOptions\n */\n sortByPrimaryKey?: boolean | null;\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 let isInstance = true;\n\n return isInstance;\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 === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'requireTotalCount': !exists(json, 'requireTotalCount') ? undefined : json['requireTotalCount'],\n 'requireGroupCount': !exists(json, 'requireGroupCount') ? undefined : json['requireGroupCount'],\n 'isCountQuery': !exists(json, 'isCountQuery') ? undefined : json['isCountQuery'],\n 'isSummaryQuery': !exists(json, 'isSummaryQuery') ? undefined : json['isSummaryQuery'],\n 'skip': !exists(json, 'skip') ? undefined : json['skip'],\n 'take': !exists(json, 'take') ? undefined : json['take'],\n 'sort': !exists(json, 'sort') ? undefined : (json['sort'] === null ? null : (json['sort'] as Array).map(SortingInfoFromJSON)),\n 'group': !exists(json, 'group') ? undefined : (json['group'] === null ? null : (json['group'] as Array).map(GroupingInfoFromJSON)),\n 'filter': !exists(json, 'filter') ? undefined : json['filter'],\n 'totalSummary': !exists(json, 'totalSummary') ? undefined : (json['totalSummary'] === null ? null : (json['totalSummary'] as Array).map(SummaryInfoFromJSON)),\n 'groupSummary': !exists(json, 'groupSummary') ? undefined : (json['groupSummary'] === null ? null : (json['groupSummary'] as Array).map(SummaryInfoFromJSON)),\n 'select': !exists(json, 'select') ? undefined : json['select'],\n 'preSelect': !exists(json, 'preSelect') ? undefined : json['preSelect'],\n 'remoteSelect': !exists(json, 'remoteSelect') ? undefined : json['remoteSelect'],\n 'remoteGrouping': !exists(json, 'remoteGrouping') ? undefined : json['remoteGrouping'],\n 'expandLinqSumType': !exists(json, 'expandLinqSumType') ? undefined : json['expandLinqSumType'],\n 'primaryKey': !exists(json, 'primaryKey') ? undefined : json['primaryKey'],\n 'defaultSort': !exists(json, 'defaultSort') ? undefined : json['defaultSort'],\n 'stringToLower': !exists(json, 'stringToLower') ? undefined : json['stringToLower'],\n 'paginateViaPrimaryKey': !exists(json, 'paginateViaPrimaryKey') ? undefined : json['paginateViaPrimaryKey'],\n 'sortByPrimaryKey': !exists(json, 'sortByPrimaryKey') ? undefined : json['sortByPrimaryKey'],\n 'allowAsyncOverSync': !exists(json, 'allowAsyncOverSync') ? undefined : json['allowAsyncOverSync'],\n };\n}\n\nexport function DataSourceLoadOptionsToJSON(value?: DataSourceLoadOptions | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\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 === undefined ? undefined : (value.sort === null ? null : (value.sort as Array).map(SortingInfoToJSON)),\n 'group': value.group === undefined ? undefined : (value.group === null ? null : (value.group as Array).map(GroupingInfoToJSON)),\n 'filter': value.filter,\n 'totalSummary': value.totalSummary === undefined ? undefined : (value.totalSummary === null ? null : (value.totalSummary as Array).map(SummaryInfoToJSON)),\n 'groupSummary': value.groupSummary === undefined ? undefined : (value.groupSummary === null ? null : (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 { exists, mapValues } from '../runtime';\nimport type { Extension } from './Extension';\nimport {\n ExtensionFromJSON,\n ExtensionFromJSONTyped,\n ExtensionToJSON,\n} from './Extension';\n\n/**\n * \n * @export\n * @interface Module\n */\nexport interface Module {\n /**\n * \n * @type {number}\n * @memberof Module\n */\n id?: number;\n /**\n * \n * @type {string}\n * @memberof Module\n */\n alias?: string | null;\n /**\n * \n * @type {string}\n * @memberof Module\n */\n url?: string | null;\n /**\n * \n * @type {string}\n * @memberof Module\n */\n name?: string | null;\n /**\n * \n * @type {Array}\n * @memberof Module\n */\n extensions?: Array | null;\n}\n\n/**\n * Check if a given object implements the Module interface.\n */\nexport function instanceOfModule(value: object): boolean {\n let isInstance = true;\n\n return isInstance;\n}\n\nexport function ModuleFromJSON(json: any): Module {\n return ModuleFromJSONTyped(json, false);\n}\n\nexport function ModuleFromJSONTyped(json: any, ignoreDiscriminator: boolean): Module {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'id': !exists(json, 'id') ? undefined : json['id'],\n 'alias': !exists(json, 'alias') ? undefined : json['alias'],\n 'url': !exists(json, 'url') ? undefined : json['url'],\n 'name': !exists(json, 'name') ? undefined : json['name'],\n 'extensions': !exists(json, 'extensions') ? undefined : (json['extensions'] === null ? null : (json['extensions'] as Array).map(ExtensionFromJSON)),\n };\n}\n\nexport function ModuleToJSON(value?: Module | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'id': value.id,\n 'alias': value.alias,\n 'url': value.url,\n 'name': value.name,\n 'extensions': value.extensions === undefined ? undefined : (value.extensions === null ? null : (value.extensions as Array).map(ExtensionToJSON)),\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 { exists, mapValues } from '../runtime';\nimport type { Module } from './Module';\nimport {\n ModuleFromJSON,\n ModuleFromJSONTyped,\n ModuleToJSON,\n} from './Module';\n\n/**\n * \n * @export\n * @interface Extension\n */\nexport interface Extension {\n /**\n * \n * @type {number}\n * @memberof Extension\n */\n id?: number;\n /**\n * \n * @type {string}\n * @memberof Extension\n */\n alias?: string | null;\n /**\n * \n * @type {string}\n * @memberof Extension\n */\n name?: string | null;\n /**\n * \n * @type {Array}\n * @memberof Extension\n */\n modules?: Array | null;\n}\n\n/**\n * Check if a given object implements the Extension interface.\n */\nexport function instanceOfExtension(value: object): boolean {\n let isInstance = true;\n\n return isInstance;\n}\n\nexport function ExtensionFromJSON(json: any): Extension {\n return ExtensionFromJSONTyped(json, false);\n}\n\nexport function ExtensionFromJSONTyped(json: any, ignoreDiscriminator: boolean): Extension {\n if ((json === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'id': !exists(json, 'id') ? undefined : json['id'],\n 'alias': !exists(json, 'alias') ? undefined : json['alias'],\n 'name': !exists(json, 'name') ? undefined : json['name'],\n 'modules': !exists(json, 'modules') ? undefined : (json['modules'] === null ? null : (json['modules'] as Array).map(ModuleFromJSON)),\n };\n}\n\nexport function ExtensionToJSON(value?: Extension | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'id': value.id,\n 'alias': value.alias,\n 'name': value.name,\n 'modules': value.modules === undefined ? undefined : (value.modules === null ? null : (value.modules as Array).map(ModuleToJSON)),\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 { exists, 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 | null;\n /**\n * \n * @type {string}\n * @memberof GetUserInformationDto\n */\n password?: string | null;\n}\n\n/**\n * Check if a given object implements the GetUserInformationDto interface.\n */\nexport function instanceOfGetUserInformationDto(value: object): boolean {\n let isInstance = true;\n\n return isInstance;\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 === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'login': !exists(json, 'login') ? undefined : json['login'],\n 'password': !exists(json, 'password') ? undefined : json['password'],\n };\n}\n\nexport function GetUserInformationDtoToJSON(value?: GetUserInformationDto | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\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\nimport { exists, 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 | null;\n /**\n * Описание группы\n * @type {string}\n * @memberof GroupCreateDto\n */\n description?: string | null;\n}\n\n/**\n * Check if a given object implements the GroupCreateDto interface.\n */\nexport function instanceOfGroupCreateDto(value: object): boolean {\n let isInstance = true;\n isInstance = isInstance && \"clientId\" in value;\n\n return isInstance;\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 === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'clientId': json['clientId'],\n 'name': !exists(json, 'name') ? undefined : json['name'],\n 'description': !exists(json, 'description') ? undefined : json['description'],\n };\n}\n\nexport function GroupCreateDtoToJSON(value?: GroupCreateDto | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\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 { exists, 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 | null;\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 | null;\n /**\n * Имя группы\n * @type {string}\n * @memberof GroupReadDto\n */\n name?: string | null;\n /**\n * Описание группы\n * @type {string}\n * @memberof GroupReadDto\n */\n description?: string | null;\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 let isInstance = true;\n isInstance = isInstance && \"clientId\" in value;\n\n return isInstance;\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 === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'id': !exists(json, 'id') ? undefined : json['id'],\n 'clientId': json['clientId'],\n 'clientName': !exists(json, 'clientName') ? undefined : json['clientName'],\n 'name': !exists(json, 'name') ? undefined : json['name'],\n 'description': !exists(json, 'description') ? undefined : json['description'],\n 'createdDate': !exists(json, 'createdDate') ? undefined : (new Date(json['createdDate'])),\n };\n}\n\nexport function GroupReadDtoToJSON(value?: GroupReadDto | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\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 === undefined ? 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 { exists, 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 | null;\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 | null;\n}\n\n/**\n * Check if a given object implements the LoadResult interface.\n */\nexport function instanceOfLoadResult(value: object): boolean {\n let isInstance = true;\n\n return isInstance;\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 === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'data': !exists(json, 'data') ? undefined : json['data'],\n 'totalCount': !exists(json, 'totalCount') ? undefined : json['totalCount'],\n 'groupCount': !exists(json, 'groupCount') ? undefined : json['groupCount'],\n 'summary': !exists(json, 'summary') ? undefined : json['summary'],\n };\n}\n\nexport function LoadResultToJSON(value?: LoadResult | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\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 { exists, 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 | null;\n /**\n * Электронная почта\n * @type {string}\n * @memberof LoginDto\n */\n email?: string | null;\n /**\n * Пароль\n * @type {string}\n * @memberof LoginDto\n */\n password: string;\n /**\n * Ссылка для редиректа после авторизации\n * @type {string}\n * @memberof LoginDto\n */\n returnUrl?: string | null;\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 let isInstance = true;\n isInstance = isInstance && \"password\" in value;\n\n return isInstance;\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 === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'username': !exists(json, 'username') ? undefined : json['username'],\n 'email': !exists(json, 'email') ? undefined : json['email'],\n 'password': json['password'],\n 'returnUrl': !exists(json, 'returnUrl') ? undefined : json['returnUrl'],\n 'rememberLogin': !exists(json, 'rememberLogin') ? undefined : json['rememberLogin'],\n };\n}\n\nexport function LoginDtoToJSON(value?: LoginDto | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\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 { exists, 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 | null;\n}\n\n/**\n * Check if a given object implements the ParticipantCreateDto interface.\n */\nexport function instanceOfParticipantCreateDto(value: object): boolean {\n let isInstance = true;\n isInstance = isInstance && \"name\" in value;\n\n return isInstance;\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 === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'name': json['name'],\n 'description': !exists(json, 'description') ? undefined : json['description'],\n };\n}\n\nexport function ParticipantCreateDtoToJSON(value?: ParticipantCreateDto | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \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 { exists, 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 | null;\n /**\n * Имя участника\n * @type {string}\n * @memberof ParticipantReadDto\n */\n name?: string | null;\n /**\n * Описание участника\n * @type {string}\n * @memberof ParticipantReadDto\n */\n description?: string | null;\n}\n\n/**\n * Check if a given object implements the ParticipantReadDto interface.\n */\nexport function instanceOfParticipantReadDto(value: object): boolean {\n let isInstance = true;\n\n return isInstance;\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 === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'id': !exists(json, 'id') ? undefined : json['id'],\n 'name': !exists(json, 'name') ? undefined : json['name'],\n 'description': !exists(json, 'description') ? undefined : json['description'],\n };\n}\n\nexport function ParticipantReadDtoToJSON(value?: ParticipantReadDto | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\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 { exists, 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 let isInstance = true;\n isInstance = isInstance && \"id\" in value;\n isInstance = isInstance && \"name\" in value;\n isInstance = isInstance && \"description\" in value;\n isInstance = isInstance && \"participant\" in value;\n\n return isInstance;\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 === undefined) || (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 === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\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 { exists, 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 | null;\n /**\n * \n * @type {string}\n * @memberof ParticipantUserClaimReadDto\n */\n valueDescription?: string | null;\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 let isInstance = true;\n isInstance = isInstance && \"id\" in value;\n isInstance = isInstance && \"participantUserId\" in value;\n isInstance = isInstance && \"clientId\" in value;\n isInstance = isInstance && \"clientName\" in value;\n isInstance = isInstance && \"type\" in value;\n isInstance = isInstance && \"value\" in value;\n\n return isInstance;\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 === undefined) || (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': !exists(json, 'description') ? undefined : json['description'],\n 'valueDescription': !exists(json, 'valueDescription') ? undefined : json['valueDescription'],\n 'validFrom': !exists(json, 'validFrom') ? undefined : (new Date(json['validFrom'])),\n 'validTo': !exists(json, 'validTo') ? undefined : (new Date(json['validTo'])),\n };\n}\n\nexport function ParticipantUserClaimReadDtoToJSON(value?: ParticipantUserClaimReadDto | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\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 'valueDescription': value.valueDescription,\n 'validFrom': value.validFrom === undefined ? undefined : (value.validFrom.toISOString()),\n 'validTo': value.validTo === undefined ? 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 { exists, 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 let isInstance = true;\n isInstance = isInstance && \"userId\" in value;\n\n return isInstance;\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 === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'userId': json['userId'],\n 'isAdmin': !exists(json, 'isAdmin') ? undefined : json['isAdmin'],\n };\n}\n\nexport function ParticipantUserCreateDtoToJSON(value?: ParticipantUserCreateDto | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\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 { exists, 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 | null;\n /**\n * \n * @type {string}\n * @memberof ParticipantUserReadDto\n */\n userName?: string | null;\n /**\n * \n * @type {string}\n * @memberof ParticipantUserReadDto\n */\n firstName?: string | null;\n /**\n * \n * @type {string}\n * @memberof ParticipantUserReadDto\n */\n lastName?: string | null;\n /**\n * \n * @type {string}\n * @memberof ParticipantUserReadDto\n */\n middleName?: string | null;\n /**\n * \n * @type {string}\n * @memberof ParticipantUserReadDto\n */\n email?: string | null;\n /**\n * \n * @type {string}\n * @memberof ParticipantUserReadDto\n */\n phoneNumber?: string | null;\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 let isInstance = true;\n\n return isInstance;\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 === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'id': !exists(json, 'id') ? undefined : json['id'],\n 'participantId': !exists(json, 'participantId') ? undefined : json['participantId'],\n 'participant': !exists(json, 'participant') ? undefined : ParticipantReadDtoFromJSON(json['participant']),\n 'isAdmin': !exists(json, 'isAdmin') ? undefined : json['isAdmin'],\n 'userId': !exists(json, 'userId') ? undefined : json['userId'],\n 'userName': !exists(json, 'userName') ? undefined : json['userName'],\n 'firstName': !exists(json, 'firstName') ? undefined : json['firstName'],\n 'lastName': !exists(json, 'lastName') ? undefined : json['lastName'],\n 'middleName': !exists(json, 'middleName') ? undefined : json['middleName'],\n 'email': !exists(json, 'email') ? undefined : json['email'],\n 'phoneNumber': !exists(json, 'phoneNumber') ? undefined : json['phoneNumber'],\n 'isEnabled': !exists(json, 'isEnabled') ? undefined : json['isEnabled'],\n };\n}\n\nexport function ParticipantUserReadDtoToJSON(value?: ParticipantUserReadDto | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\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 { exists, 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 let isInstance = true;\n isInstance = isInstance && \"userId\" in value;\n isInstance = isInstance && \"isAdmin\" in value;\n\n return isInstance;\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 === undefined) || (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 === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\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 { exists, 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 let isInstance = true;\n isInstance = isInstance && \"clientId\" in value;\n isInstance = isInstance && \"type\" in value;\n isInstance = isInstance && \"value\" in value;\n\n return isInstance;\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 === undefined) || (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 === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\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 { exists, 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 | null;\n}\n\n/**\n * Check if a given object implements the UserClaimAddDto interface.\n */\nexport function instanceOfUserClaimAddDto(value: object): boolean {\n let isInstance = true;\n isInstance = isInstance && \"clientId\" in value;\n isInstance = isInstance && \"type\" in value;\n isInstance = isInstance && \"value\" in value;\n\n return isInstance;\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 === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'clientId': json['clientId'],\n 'type': json['type'],\n 'value': json['value'],\n 'description': !exists(json, 'description') ? undefined : json['description'],\n };\n}\n\nexport function UserClaimAddDtoToJSON(value?: UserClaimAddDto | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\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 { exists, 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 | null;\n /**\n * \n * @type {string}\n * @memberof UserClaimReadDto\n */\n valueDescription?: string | null;\n}\n\n/**\n * Check if a given object implements the UserClaimReadDto interface.\n */\nexport function instanceOfUserClaimReadDto(value: object): boolean {\n let isInstance = true;\n isInstance = isInstance && \"id\" in value;\n isInstance = isInstance && \"clientId\" in value;\n isInstance = isInstance && \"clientName\" in value;\n isInstance = isInstance && \"type\" in value;\n isInstance = isInstance && \"value\" in value;\n\n return isInstance;\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 === undefined) || (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': !exists(json, 'description') ? undefined : json['description'],\n 'valueDescription': !exists(json, 'valueDescription') ? undefined : json['valueDescription'],\n };\n}\n\nexport function UserClaimReadDtoToJSON(value?: UserClaimReadDto | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\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 'valueDescription': value.valueDescription,\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 { exists, 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 | null;\n /**\n * \n * @type {string}\n * @memberof UserCreateDto\n */\n middleName?: string | null;\n /**\n * \n * @type {string}\n * @memberof UserCreateDto\n */\n email?: string | null;\n /**\n * \n * @type {string}\n * @memberof UserCreateDto\n */\n phoneNumber?: string | null;\n /**\n * \n * @type {string}\n * @memberof UserCreateDto\n */\n password: string;\n}\n\n/**\n * Check if a given object implements the UserCreateDto interface.\n */\nexport function instanceOfUserCreateDto(value: object): boolean {\n let isInstance = true;\n isInstance = isInstance && \"userName\" in value;\n isInstance = isInstance && \"firstName\" in value;\n isInstance = isInstance && \"password\" in value;\n\n return isInstance;\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 === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'userName': json['userName'],\n 'firstName': json['firstName'],\n 'lastName': !exists(json, 'lastName') ? undefined : json['lastName'],\n 'middleName': !exists(json, 'middleName') ? undefined : json['middleName'],\n 'email': !exists(json, 'email') ? undefined : json['email'],\n 'phoneNumber': !exists(json, 'phoneNumber') ? undefined : json['phoneNumber'],\n 'password': json['password'],\n };\n}\n\nexport function UserCreateDtoToJSON(value?: UserCreateDto | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\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 };\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 { exists, 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 | null;\n /**\n * \n * @type {string}\n * @memberof UserReadDto\n */\n userName?: string | null;\n /**\n * \n * @type {string}\n * @memberof UserReadDto\n */\n firstName?: string | null;\n /**\n * \n * @type {string}\n * @memberof UserReadDto\n */\n lastName?: string | null;\n /**\n * \n * @type {string}\n * @memberof UserReadDto\n */\n middleName?: string | null;\n /**\n * \n * @type {string}\n * @memberof UserReadDto\n */\n email?: string | null;\n /**\n * \n * @type {string}\n * @memberof UserReadDto\n */\n phoneNumber?: string | null;\n /**\n * \n * @type {boolean}\n * @memberof UserReadDto\n */\n isEnabled?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof UserReadDto\n */\n isOwnedByClient?: boolean | null;\n}\n\n/**\n * Check if a given object implements the UserReadDto interface.\n */\nexport function instanceOfUserReadDto(value: object): boolean {\n let isInstance = true;\n\n return isInstance;\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 === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'id': !exists(json, 'id') ? undefined : json['id'],\n 'userName': !exists(json, 'userName') ? undefined : json['userName'],\n 'firstName': !exists(json, 'firstName') ? undefined : json['firstName'],\n 'lastName': !exists(json, 'lastName') ? undefined : json['lastName'],\n 'middleName': !exists(json, 'middleName') ? undefined : json['middleName'],\n 'email': !exists(json, 'email') ? undefined : json['email'],\n 'phoneNumber': !exists(json, 'phoneNumber') ? undefined : json['phoneNumber'],\n 'isEnabled': !exists(json, 'isEnabled') ? undefined : json['isEnabled'],\n 'isOwnedByClient': !exists(json, 'isOwnedByClient') ? undefined : json['isOwnedByClient'],\n };\n}\n\nexport function UserReadDtoToJSON(value?: UserReadDto | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\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 { exists, 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 | null;\n /**\n * \n * @type {string}\n * @memberof UserUpdateDto\n */\n password?: string | null;\n /**\n * \n * @type {string}\n * @memberof UserUpdateDto\n */\n firstName?: string | null;\n /**\n * \n * @type {string}\n * @memberof UserUpdateDto\n */\n lastName?: string | null;\n /**\n * \n * @type {string}\n * @memberof UserUpdateDto\n */\n middleName?: string | null;\n /**\n * \n * @type {string}\n * @memberof UserUpdateDto\n */\n email?: string | null;\n /**\n * \n * @type {string}\n * @memberof UserUpdateDto\n */\n phoneNumber?: string | null;\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/**\n * Check if a given object implements the UserUpdateDto interface.\n */\nexport function instanceOfUserUpdateDto(value: object): boolean {\n let isInstance = true;\n\n return isInstance;\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 === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'userName': !exists(json, 'userName') ? undefined : json['userName'],\n 'password': !exists(json, 'password') ? undefined : json['password'],\n 'firstName': !exists(json, 'firstName') ? undefined : json['firstName'],\n 'lastName': !exists(json, 'lastName') ? undefined : json['lastName'],\n 'middleName': !exists(json, 'middleName') ? undefined : json['middleName'],\n 'email': !exists(json, 'email') ? undefined : json['email'],\n 'phoneNumber': !exists(json, 'phoneNumber') ? undefined : json['phoneNumber'],\n 'emailConfirmed': !exists(json, 'emailConfirmed') ? undefined : json['emailConfirmed'],\n 'isEnabled': !exists(json, 'isEnabled') ? undefined : json['isEnabled'],\n };\n}\n\nexport function UserUpdateDtoToJSON(value?: UserUpdateDto | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\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 };\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 { exists, 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 | null;\n /**\n * \n * @type {string}\n * @memberof UserWithClaimsDto\n */\n userName?: string | null;\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 | null;\n /**\n * \n * @type {string}\n * @memberof UserWithClaimsDto\n */\n email?: string | null;\n /**\n * \n * @type {string}\n * @memberof UserWithClaimsDto\n */\n firstName?: string | null;\n /**\n * \n * @type {string}\n * @memberof UserWithClaimsDto\n */\n lastName?: string | null;\n /**\n * \n * @type {string}\n * @memberof UserWithClaimsDto\n */\n middleName?: string | null;\n /**\n * \n * @type {Array}\n * @memberof UserWithClaimsDto\n */\n claims?: Array | null;\n}\n\n/**\n * Check if a given object implements the UserWithClaimsDto interface.\n */\nexport function instanceOfUserWithClaimsDto(value: object): boolean {\n let isInstance = true;\n\n return isInstance;\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 === undefined) || (json === null)) {\n return json;\n }\n return {\n \n 'id': !exists(json, 'id') ? undefined : json['id'],\n 'userName': !exists(json, 'userName') ? undefined : json['userName'],\n 'isEnabled': !exists(json, 'isEnabled') ? undefined : json['isEnabled'],\n 'isLocked': !exists(json, 'isLocked') ? undefined : json['isLocked'],\n 'lockoutEnd': !exists(json, 'lockoutEnd') ? undefined : (json['lockoutEnd'] === null ? null : new Date(json['lockoutEnd'])),\n 'email': !exists(json, 'email') ? undefined : json['email'],\n 'firstName': !exists(json, 'firstName') ? undefined : json['firstName'],\n 'lastName': !exists(json, 'lastName') ? undefined : json['lastName'],\n 'middleName': !exists(json, 'middleName') ? undefined : json['middleName'],\n 'claims': !exists(json, 'claims') ? undefined : (json['claims'] === null ? null : (json['claims'] as Array).map(ClaimDtoFromJSON)),\n };\n}\n\nexport function UserWithClaimsDtoToJSON(value?: UserWithClaimsDto | null): any {\n if (value === undefined) {\n return undefined;\n }\n if (value === null) {\n return null;\n }\n return {\n \n 'id': value.id,\n 'userName': value.userName,\n 'isEnabled': value.isEnabled,\n 'isLocked': value.isLocked,\n 'lockoutEnd': value.lockoutEnd === undefined ? undefined : (value.lockoutEnd === null ? null : value.lockoutEnd.toISOString()),\n 'email': value.email,\n 'firstName': value.firstName,\n 'lastName': value.lastName,\n 'middleName': value.middleName,\n 'claims': value.claims === undefined ? undefined : (value.claims === null ? null : (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';\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';\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 || requestParameters.idClient === undefined) {\n throw new runtime.RequiredError('idClient','Required parameter requestParameters.idClient was null or undefined when calling accountAddRoleIdClientPost.');\n }\n\n if (requestParameters.applicationRole === null || requestParameters.applicationRole === undefined) {\n throw new runtime.RequiredError('applicationRole','Required parameter requestParameters.applicationRole was null or undefined when calling accountAddRoleIdClientPost.');\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\"] = 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 return new runtime.TextApiResponse(response) as any;\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 || requestParameters.addUserModel === undefined) {\n throw new runtime.RequiredError('addUserModel','Required parameter requestParameters.addUserModel was null or undefined when calling accountAddUserPost.');\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\"] = 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 return new runtime.TextApiResponse(response) as any;\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 || requestParameters.idUser === undefined) {\n throw new runtime.RequiredError('idUser','Required parameter requestParameters.idUser was null or undefined when calling accountChangePasswordUserIdUserPost.');\n }\n\n if (requestParameters.oldPassworc === null || requestParameters.oldPassworc === undefined) {\n throw new runtime.RequiredError('oldPassworc','Required parameter requestParameters.oldPassworc was null or undefined when calling accountChangePasswordUserIdUserPost.');\n }\n\n if (requestParameters.newPassword === null || requestParameters.newPassword === undefined) {\n throw new runtime.RequiredError('newPassword','Required parameter requestParameters.newPassword was null or undefined when calling accountChangePasswordUserIdUserPost.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.oldPassworc !== undefined) {\n queryParameters['OldPassworc'] = requestParameters.oldPassworc;\n }\n\n if (requestParameters.newPassword !== undefined) {\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\"] = 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 || requestParameters.roleId === undefined) {\n throw new runtime.RequiredError('roleId','Required parameter requestParameters.roleId was null or undefined when calling accountDeleteRoleRoleIdPost.');\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\"] = 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 || requestParameters.idUser === undefined) {\n throw new runtime.RequiredError('idUser','Required parameter requestParameters.idUser was null or undefined when calling accountDeleteUserIdUserPost.');\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\"] = 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\"] = 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 || requestParameters.roleId === undefined) {\n throw new runtime.RequiredError('roleId','Required parameter requestParameters.roleId was null or undefined when calling accountGetRoleRoleIdGet.');\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\"] = 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 || requestParameters.userId === undefined) {\n throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling accountGetRolesByUserUserIdGet.');\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\"] = 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\"] = 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\"] = 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 || requestParameters.idUser === undefined) {\n throw new runtime.RequiredError('idUser','Required parameter requestParameters.idUser was null or undefined when calling accountGetUserByIdIdUserGet.');\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\"] = 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 || requestParameters.login === undefined) {\n throw new runtime.RequiredError('login','Required parameter requestParameters.login was null or undefined when calling accountGetUserByLoginLoginGet.');\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\"] = 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 return new runtime.TextApiResponse(response) as any;\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 || requestParameters.idClient === undefined) {\n throw new runtime.RequiredError('idClient','Required parameter requestParameters.idClient was null or undefined when calling accountGetUserClaimsIdClientIdUserGet.');\n }\n\n if (requestParameters.idUser === null || requestParameters.idUser === undefined) {\n throw new runtime.RequiredError('idUser','Required parameter requestParameters.idUser was null or undefined when calling accountGetUserClaimsIdClientIdUserGet.');\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\"] = 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 || requestParameters.userId === undefined) {\n throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling accountGetUserOrganisationUserIdGet.');\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\"] = 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 || requestParameters.roleId === undefined) {\n throw new runtime.RequiredError('roleId','Required parameter requestParameters.roleId was null or undefined when calling accountGetUsersByRoleRoleIdGet.');\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\"] = 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\"] = 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\"] = 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 || requestParameters.idUser === undefined) {\n throw new runtime.RequiredError('idUser','Required parameter requestParameters.idUser was null or undefined when calling accountListUserLayoutsIdUserGet.');\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\"] = 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 || requestParameters.loginInputModel === undefined) {\n throw new runtime.RequiredError('loginInputModel','Required parameter requestParameters.loginInputModel was null or undefined when calling accountLoginPost.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.button !== undefined) {\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\"] = 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 !== undefined) {\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\"] = 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 || requestParameters.idClient === undefined) {\n throw new runtime.RequiredError('idClient','Required parameter requestParameters.idClient was null or undefined when calling accountUpdateRoleIdClientRoleIdPost.');\n }\n\n if (requestParameters.roleId === null || requestParameters.roleId === undefined) {\n throw new runtime.RequiredError('roleId','Required parameter requestParameters.roleId was null or undefined when calling accountUpdateRoleIdClientRoleIdPost.');\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\"] = 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 return new runtime.TextApiResponse(response) as any;\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 || requestParameters.idClient === undefined) {\n throw new runtime.RequiredError('idClient','Required parameter requestParameters.idClient was null or undefined when calling accountUpdateUserClaimsIdClientIdUserPost.');\n }\n\n if (requestParameters.idUser === null || requestParameters.idUser === undefined) {\n throw new runtime.RequiredError('idUser','Required parameter requestParameters.idUser was null or undefined when calling accountUpdateUserClaimsIdClientIdUserPost.');\n }\n\n if (requestParameters.p4mClaim === null || requestParameters.p4mClaim === undefined) {\n throw new runtime.RequiredError('p4mClaim','Required parameter requestParameters.p4mClaim was null or undefined when calling accountUpdateUserClaimsIdClientIdUserPost.');\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\"] = 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 || requestParameters.idUser === undefined) {\n throw new runtime.RequiredError('idUser','Required parameter requestParameters.idUser was null or undefined when calling accountUpdateUserIdUserPost.');\n }\n\n if (requestParameters.updateUserModel === null || requestParameters.updateUserModel === undefined) {\n throw new runtime.RequiredError('updateUserModel','Required parameter requestParameters.updateUserModel was null or undefined when calling accountUpdateUserIdUserPost.');\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\"] = 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 || requestParameters.idUser === undefined) {\n throw new runtime.RequiredError('idUser','Required parameter requestParameters.idUser was null or undefined when calling accountUpdateUserRolesIdUserPost.');\n }\n\n if (requestParameters.requestBody === null || requestParameters.requestBody === undefined) {\n throw new runtime.RequiredError('requestBody','Required parameter requestParameters.requestBody was null or undefined when calling accountUpdateUserRolesIdUserPost.');\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\"] = 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 || requestParameters.updateUserModel === undefined) {\n throw new runtime.RequiredError('updateUserModel','Required parameter requestParameters.updateUserModel was null or undefined when calling accountUpdateUsersRangePost.');\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\"] = 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 Extension,\n Module,\n} from '../models';\nimport {\n ExtensionFromJSON,\n ExtensionToJSON,\n ModuleFromJSON,\n ModuleToJSON,\n} from '../models';\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 async apiModulesGetExtensionsGetRaw(requestParameters: ApiModulesGetExtensionsGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> {\n const queryParameters: any = {};\n\n if (requestParameters.moduleId !== undefined) {\n queryParameters['moduleId'] = requestParameters.moduleId;\n }\n\n if (requestParameters.moduleAlias !== undefined) {\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(ExtensionFromJSON));\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 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(ModuleFromJSON));\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 AuthClaimReadDto,\n GetUserInformationDto,\n LoginDto,\n UserWithClaimsDto,\n} from '../models';\nimport {\n AuthClaimReadDtoFromJSON,\n AuthClaimReadDtoToJSON,\n GetUserInformationDtoFromJSON,\n GetUserInformationDtoToJSON,\n LoginDtoFromJSON,\n LoginDtoToJSON,\n UserWithClaimsDtoFromJSON,\n UserWithClaimsDtoToJSON,\n} from '../models';\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 || requestParameters.loginDto === undefined) {\n throw new runtime.RequiredError('loginDto','Required parameter requestParameters.loginDto was null or undefined when calling uiApiAuthLoginPost.');\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\"] = 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 !== undefined) {\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\"] = 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 || requestParameters.getUserInformationDto === undefined) {\n throw new runtime.RequiredError('getUserInformationDto','Required parameter requestParameters.getUserInformationDto was null or undefined when calling uiApiAuthUserInfoPost.');\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\"] = 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\"] = 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\n\nimport * as runtime from '../runtime';\nimport type {\n ClaimValuesTree,\n ClientAllClaimReadDto,\n ClientClaimReadDto,\n ClientReadDto,\n DataSourceLoadOptions,\n} from '../models';\nimport {\n ClaimValuesTreeFromJSON,\n ClaimValuesTreeToJSON,\n ClientAllClaimReadDtoFromJSON,\n ClientAllClaimReadDtoToJSON,\n ClientClaimReadDtoFromJSON,\n ClientClaimReadDtoToJSON,\n ClientReadDtoFromJSON,\n ClientReadDtoToJSON,\n DataSourceLoadOptionsFromJSON,\n DataSourceLoadOptionsToJSON,\n} from '../models';\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 || requestParameters.idClient === undefined) {\n throw new runtime.RequiredError('idClient','Required parameter requestParameters.idClient was null or undefined when calling uiApiClientsGetAllClaimsIdClientGet.');\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 || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling uiApiClientsGetClaimsIdGet.');\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 || requestParameters.extension === undefined) {\n throw new runtime.RequiredError('extension','Required parameter requestParameters.extension was null or undefined when calling uiApiClientsGetClaimsTypesGet.');\n }\n\n if (requestParameters.idClient === null || requestParameters.idClient === undefined) {\n throw new runtime.RequiredError('idClient','Required parameter requestParameters.idClient was null or undefined when calling uiApiClientsGetClaimsTypesGet.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.extension !== undefined) {\n queryParameters['extension'] = requestParameters.extension;\n }\n\n if (requestParameters.idClient !== undefined) {\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 return new runtime.TextApiResponse(response) as any;\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 || requestParameters.typeClaim === undefined) {\n throw new runtime.RequiredError('typeClaim','Required parameter requestParameters.typeClaim was null or undefined when calling uiApiClientsGetClaimsValuesDxPost.');\n }\n\n if (requestParameters.idClient === null || requestParameters.idClient === undefined) {\n throw new runtime.RequiredError('idClient','Required parameter requestParameters.idClient was null or undefined when calling uiApiClientsGetClaimsValuesDxPost.');\n }\n\n if (requestParameters.dataSourceLoadOptions === null || requestParameters.dataSourceLoadOptions === undefined) {\n throw new runtime.RequiredError('dataSourceLoadOptions','Required parameter requestParameters.dataSourceLoadOptions was null or undefined when calling uiApiClientsGetClaimsValuesDxPost.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.typeClaim !== undefined) {\n queryParameters['typeClaim'] = requestParameters.typeClaim;\n }\n\n if (requestParameters.idClient !== undefined) {\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 || requestParameters.typeClaim === undefined) {\n throw new runtime.RequiredError('typeClaim','Required parameter requestParameters.typeClaim was null or undefined when calling uiApiClientsGetClaimsValuesGet.');\n }\n\n if (requestParameters.idClient === null || requestParameters.idClient === undefined) {\n throw new runtime.RequiredError('idClient','Required parameter requestParameters.idClient was null or undefined when calling uiApiClientsGetClaimsValuesGet.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.typeClaim !== undefined) {\n queryParameters['typeClaim'] = requestParameters.typeClaim;\n }\n\n if (requestParameters.idClient !== undefined) {\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 ClientAllClaimReadDto,\n DataSourceLoadOptions,\n GroupCreateDto,\n GroupReadDto,\n LoadResult,\n UserReadDto,\n} from '../models';\nimport {\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';\n\nexport interface UiApiGroupsAddPostRequest {\n groupCreateDto: GroupCreateDto;\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 || requestParameters.groupCreateDto === undefined) {\n throw new runtime.RequiredError('groupCreateDto','Required parameter requestParameters.groupCreateDto was null or undefined when calling uiApiGroupsAddPost.');\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 async uiApiGroupsGroupIdDeleteRaw(requestParameters: UiApiGroupsGroupIdDeleteRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n if (requestParameters.groupId === null || requestParameters.groupId === undefined) {\n throw new runtime.RequiredError('groupId','Required parameter requestParameters.groupId was null or undefined when calling uiApiGroupsGroupIdDelete.');\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 async uiApiGroupsIdClaimsDeleteRaw(requestParameters: UiApiGroupsIdClaimsDeleteRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling uiApiGroupsIdClaimsDelete.');\n }\n\n if (requestParameters.clientAllClaimReadDto === null || requestParameters.clientAllClaimReadDto === undefined) {\n throw new runtime.RequiredError('clientAllClaimReadDto','Required parameter requestParameters.clientAllClaimReadDto was null or undefined when calling uiApiGroupsIdClaimsDelete.');\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 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 || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling uiApiGroupsIdClaimsGet.');\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 || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling uiApiGroupsIdClaimsPost.');\n }\n\n if (requestParameters.clientAllClaimReadDto === null || requestParameters.clientAllClaimReadDto === undefined) {\n throw new runtime.RequiredError('clientAllClaimReadDto','Required parameter requestParameters.clientAllClaimReadDto was null or undefined when calling uiApiGroupsIdClaimsPost.');\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 || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling uiApiGroupsIdGet.');\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 || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling uiApiGroupsIdPost.');\n }\n\n if (requestParameters.groupCreateDto === null || requestParameters.groupCreateDto === undefined) {\n throw new runtime.RequiredError('groupCreateDto','Required parameter requestParameters.groupCreateDto was null or undefined when calling uiApiGroupsIdPost.');\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 return new runtime.TextApiResponse(response) as any;\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 || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling uiApiGroupsIdUsersDelete.');\n }\n\n if (requestParameters.requestBody === null || requestParameters.requestBody === undefined) {\n throw new runtime.RequiredError('requestBody','Required parameter requestParameters.requestBody was null or undefined when calling uiApiGroupsIdUsersDelete.');\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 || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling uiApiGroupsIdUsersGet.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.clientId !== undefined) {\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 || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling uiApiGroupsIdUsersPost.');\n }\n\n if (requestParameters.requestBody === null || requestParameters.requestBody === undefined) {\n throw new runtime.RequiredError('requestBody','Required parameter requestParameters.requestBody was null or undefined when calling uiApiGroupsIdUsersPost.');\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 !== undefined) {\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 ParticipantCreateDto,\n ParticipantReadDto,\n ParticipantUserCreateDto,\n ParticipantUserReadDto,\n ParticipantUserUpdateDto,\n} from '../models';\nimport {\n ClientAllClaimReadDtoFromJSON,\n ClientAllClaimReadDtoToJSON,\n DataSourceLoadOptionsFromJSON,\n DataSourceLoadOptionsToJSON,\n LoadResultFromJSON,\n LoadResultToJSON,\n ParticipantCreateDtoFromJSON,\n ParticipantCreateDtoToJSON,\n ParticipantReadDtoFromJSON,\n ParticipantReadDtoToJSON,\n ParticipantUserCreateDtoFromJSON,\n ParticipantUserCreateDtoToJSON,\n ParticipantUserReadDtoFromJSON,\n ParticipantUserReadDtoToJSON,\n ParticipantUserUpdateDtoFromJSON,\n ParticipantUserUpdateDtoToJSON,\n} from '../models';\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 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\"] = this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\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 return new runtime.TextApiResponse(response) as any;\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 !== undefined) {\n queryParameters['userId'] = requestParameters.userId;\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\"] = this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\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 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\"] = this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\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 async uiApiParticipantsGetParticipantsByClientDXPostRaw(requestParameters: UiApiParticipantsGetParticipantsByClientDXPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n const queryParameters: any = {};\n\n if (requestParameters.client !== undefined) {\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\"] = this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\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 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 || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling uiApiParticipantsIdClaimsAddPost.');\n }\n\n if (requestParameters.clientAllClaimReadDto === null || requestParameters.clientAllClaimReadDto === undefined) {\n throw new runtime.RequiredError('clientAllClaimReadDto','Required parameter requestParameters.clientAllClaimReadDto was null or undefined when calling uiApiParticipantsIdClaimsAddPost.');\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\"] = this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\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 || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling uiApiParticipantsIdClaimsGet.');\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\"] = this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\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 || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling uiApiParticipantsIdClaimsRemoveDelete.');\n }\n\n if (requestParameters.clientAllClaimReadDto === null || requestParameters.clientAllClaimReadDto === undefined) {\n throw new runtime.RequiredError('clientAllClaimReadDto','Required parameter requestParameters.clientAllClaimReadDto was null or undefined when calling uiApiParticipantsIdClaimsRemoveDelete.');\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\"] = this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\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 || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling uiApiParticipantsIdDelete.');\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\"] = this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\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 || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling uiApiParticipantsIdGet.');\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\"] = this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\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) => ParticipantReadDtoFromJSON(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 || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling uiApiParticipantsIdPost.');\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\"] = this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\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 || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling uiApiParticipantsIdUsersAddPost.');\n }\n\n if (requestParameters.participantUserCreateDto === null || requestParameters.participantUserCreateDto === undefined) {\n throw new runtime.RequiredError('participantUserCreateDto','Required parameter requestParameters.participantUserCreateDto was null or undefined when calling uiApiParticipantsIdUsersAddPost.');\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\"] = this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\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 || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling uiApiParticipantsIdUsersGet.');\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\"] = this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\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 || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling uiApiParticipantsIdUsersRemoveDelete.');\n }\n\n if (requestParameters.requestBody === null || requestParameters.requestBody === undefined) {\n throw new runtime.RequiredError('requestBody','Required parameter requestParameters.requestBody was null or undefined when calling uiApiParticipantsIdUsersRemoveDelete.');\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\"] = this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\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 || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling uiApiParticipantsIdUsersUpdatePost.');\n }\n\n if (requestParameters.participantUserUpdateDto === null || requestParameters.participantUserUpdateDto === undefined) {\n throw new runtime.RequiredError('participantUserUpdateDto','Required parameter requestParameters.participantUserUpdateDto was null or undefined when calling uiApiParticipantsIdUsersUpdatePost.');\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\"] = this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\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';\nimport {\n AddClientAllClaimDtoFromJSON,\n AddClientAllClaimDtoToJSON,\n ParticipantRoleReadDtoFromJSON,\n ParticipantRoleReadDtoToJSON,\n ParticipantUserClaimReadDtoFromJSON,\n ParticipantUserClaimReadDtoToJSON,\n ParticipantUserReadDtoFromJSON,\n ParticipantUserReadDtoToJSON,\n RemoveClientAllClaimDtoFromJSON,\n RemoveClientAllClaimDtoToJSON,\n} from '../models';\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 || requestParameters.pUserId === undefined) {\n throw new runtime.RequiredError('pUserId','Required parameter requestParameters.pUserId was null or undefined when calling uiApiParticipantsUsersPUserIdClaimsAvailableGet.');\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\"] = this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\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 || requestParameters.pUserId === undefined) {\n throw new runtime.RequiredError('pUserId','Required parameter requestParameters.pUserId was null or undefined when calling uiApiParticipantsUsersPUserIdClaimsGet.');\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\"] = this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\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 || requestParameters.userId === undefined) {\n throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling uiApiParticipantsUsersUserIdAdminPermissionsPost.');\n }\n\n if (requestParameters.body === null || requestParameters.body === undefined) {\n throw new runtime.RequiredError('body','Required parameter requestParameters.body was null or undefined when calling uiApiParticipantsUsersUserIdAdminPermissionsPost.');\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\"] = this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\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 return new runtime.TextApiResponse(response) as any;\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 || requestParameters.userId === undefined) {\n throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling uiApiParticipantsUsersUserIdClaimsAddPost.');\n }\n\n if (requestParameters.addClientAllClaimDto === null || requestParameters.addClientAllClaimDto === undefined) {\n throw new runtime.RequiredError('addClientAllClaimDto','Required parameter requestParameters.addClientAllClaimDto was null or undefined when calling uiApiParticipantsUsersUserIdClaimsAddPost.');\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\"] = this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\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 return new runtime.TextApiResponse(response) as any;\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 || requestParameters.userId === undefined) {\n throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling uiApiParticipantsUsersUserIdClaimsRemoveDelete.');\n }\n\n if (requestParameters.removeClientAllClaimDto === null || requestParameters.removeClientAllClaimDto === undefined) {\n throw new runtime.RequiredError('removeClientAllClaimDto','Required parameter requestParameters.removeClientAllClaimDto was null or undefined when calling uiApiParticipantsUsersUserIdClaimsRemoveDelete.');\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\"] = this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\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 return new runtime.TextApiResponse(response) as any;\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 || requestParameters.userId === undefined) {\n throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling uiApiParticipantsUsersUserIdGet.');\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\"] = this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\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 || requestParameters.userId === undefined) {\n throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling uiApiParticipantsUsersUserIdGroupsAddPost.');\n }\n\n if (requestParameters.requestBody === null || requestParameters.requestBody === undefined) {\n throw new runtime.RequiredError('requestBody','Required parameter requestParameters.requestBody was null or undefined when calling uiApiParticipantsUsersUserIdGroupsAddPost.');\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\"] = this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\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 return new runtime.TextApiResponse(response) as any;\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 || requestParameters.userId === undefined) {\n throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling uiApiParticipantsUsersUserIdGroupsAvailableGet.');\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\"] = this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\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 || requestParameters.userId === undefined) {\n throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling uiApiParticipantsUsersUserIdGroupsGet.');\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\"] = this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\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 || requestParameters.userId === undefined) {\n throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling uiApiParticipantsUsersUserIdGroupsRemoveDelete.');\n }\n\n if (requestParameters.requestBody === null || requestParameters.requestBody === undefined) {\n throw new runtime.RequiredError('requestBody','Required parameter requestParameters.requestBody was null or undefined when calling uiApiParticipantsUsersUserIdGroupsRemoveDelete.');\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\"] = this.configuration.apiKey(\"Authorization\"); // Bearer authentication\n }\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 return new runtime.TextApiResponse(response) as any;\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 ClaimDto,\n ClientAllClaimReadDto,\n DataSourceLoadOptions,\n GroupReadDto,\n LoadResult,\n UserClaimAddDto,\n UserClaimReadDto,\n UserCreateDto,\n UserReadDto,\n UserUpdateDto,\n} from '../models';\nimport {\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';\n\nexport interface UiApiUsersCreatePostRequest {\n userCreateDto: UserCreateDto;\n clientId?: string;\n}\n\nexport interface UiApiUsersGetAllUsersClaimsPostRequest {\n dataSourceLoadOptions?: DataSourceLoadOptions;\n}\n\nexport interface UiApiUsersGetByClaimsPostRequest {\n clientId: string;\n claimDto: Array;\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 || requestParameters.userCreateDto === undefined) {\n throw new runtime.RequiredError('userCreateDto','Required parameter requestParameters.userCreateDto was null or undefined when calling uiApiUsersCreatePost.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.clientId !== undefined) {\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\"] = 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 return new runtime.TextApiResponse(response) as any;\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 */\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\"] = 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 */\n async uiApiUsersGetAllUsersClaimsPostRaw(requestParameters: UiApiUsersGetAllUsersClaimsPostRequest, 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\"] = 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.VoidApiResponse(response);\n }\n\n /**\n */\n async uiApiUsersGetAllUsersClaimsPost(requestParameters: UiApiUsersGetAllUsersClaimsPostRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise {\n await this.uiApiUsersGetAllUsersClaimsPostRaw(requestParameters, initOverrides);\n }\n\n /**\n */\n async uiApiUsersGetByClaimsPostRaw(requestParameters: UiApiUsersGetByClaimsPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> {\n if (requestParameters.clientId === null || requestParameters.clientId === undefined) {\n throw new runtime.RequiredError('clientId','Required parameter requestParameters.clientId was null or undefined when calling uiApiUsersGetByClaimsPost.');\n }\n\n if (requestParameters.claimDto === null || requestParameters.claimDto === undefined) {\n throw new runtime.RequiredError('claimDto','Required parameter requestParameters.claimDto was null or undefined when calling uiApiUsersGetByClaimsPost.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.clientId !== undefined) {\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\"] = 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 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 * Список пользователей по клиенту\n */\n async uiApiUsersGetUsersByClientDXPostRaw(requestParameters: UiApiUsersGetUsersByClientDXPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n const queryParameters: any = {};\n\n if (requestParameters.client !== undefined) {\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\"] = 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 async uiApiUsersIdClaimsDeleteRaw(requestParameters: UiApiUsersIdClaimsDeleteRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> {\n if (requestParameters.id === null || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling uiApiUsersIdClaimsDelete.');\n }\n\n if (requestParameters.clientAllClaimReadDto === null || requestParameters.clientAllClaimReadDto === undefined) {\n throw new runtime.RequiredError('clientAllClaimReadDto','Required parameter requestParameters.clientAllClaimReadDto was null or undefined when calling uiApiUsersIdClaimsDelete.');\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\"] = 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 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 || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling uiApiUsersIdClaimsGet.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.clientId !== undefined) {\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\"] = 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 || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling uiApiUsersIdClaimsPost.');\n }\n\n if (requestParameters.userClaimAddDto === null || requestParameters.userClaimAddDto === undefined) {\n throw new runtime.RequiredError('userClaimAddDto','Required parameter requestParameters.userClaimAddDto was null or undefined when calling uiApiUsersIdClaimsPost.');\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\"] = 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 || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling uiApiUsersIdGet.');\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\"] = 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 || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling uiApiUsersIdGroupsDelete.');\n }\n\n if (requestParameters.requestBody === null || requestParameters.requestBody === undefined) {\n throw new runtime.RequiredError('requestBody','Required parameter requestParameters.requestBody was null or undefined when calling uiApiUsersIdGroupsDelete.');\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\"] = 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 || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling uiApiUsersIdGroupsGet.');\n }\n\n const queryParameters: any = {};\n\n if (requestParameters.clientId !== undefined) {\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\"] = 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 || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling uiApiUsersIdGroupsPost.');\n }\n\n if (requestParameters.requestBody === null || requestParameters.requestBody === undefined) {\n throw new runtime.RequiredError('requestBody','Required parameter requestParameters.requestBody was null or undefined when calling uiApiUsersIdGroupsPost.');\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\"] = 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 || requestParameters.id === undefined) {\n throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling uiApiUsersIdPost.');\n }\n\n if (requestParameters.userUpdateDto === null || requestParameters.userUpdateDto === undefined) {\n throw new runtime.RequiredError('userUpdateDto','Required parameter requestParameters.userUpdateDto was null or undefined when calling uiApiUsersIdPost.');\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\"] = 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\"] = 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","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 = {\"container\":\"login_container__3vmbt\",\"login\":\"login_login__3Hqan\",\"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\"};","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 {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","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} 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}\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 {Module} from \"../../api_client\";\n\nexport const getModules = createAsyncThunk<\n // Return type of the payload creator\n Module[]\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 Module[];\n } else {\n return Promise.reject(res.statusText);\n }\n } catch (error: any) {\n throw new Error(error);\n }\n }\n);\n\n\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"content\":\"defaultLayout_content__LmY7w\",\"content__component\":\"defaultLayout_content__component__1wXe6\"};","export function getClientIdFromModuleName(name?: string | null) {\n return name ? name + \"_gateway\" : undefined;\n}","import React, {useContext} from \"react\";\nimport ApiContext from \"../utils/ApiContext\";\n\nexport const useApi = () => {\n const api = useContext(ApiContext);\n return api;\n};","import {LoadingOutlined} from \"@ant-design/icons\";\nimport {Row, Spin} from \"antd\";\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","import {createSlice, PayloadAction} from \"@reduxjs/toolkit\";\nimport {\n ClientAllClaimReadDto,\n ParticipantReadDto,\n ParticipantUserReadDto,\n ParticipantUserUpdateDto\n} from \"../../../api_client\";\n\n/* #region State declaration */\ninterface ILoadingState {\n getInfo: boolean;\n updateName: boolean;\n updateDescription: 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?: ParticipantReadDto;\n users?: ParticipantUserReadDto[];\n claims?: ClientAllClaimReadDto[];\n };\n error: {\n info: any;\n users: any;\n claims: any;\n };\n loading: ILoadingState;\n}\n\nconst initialState: IParticipantState = {\n loading: {\n getInfo: false,\n updateName: false,\n updateDescription: 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};\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 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","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","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 = {\"wrapper\":\"usermenu_wrapper__2qWJ_\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"loader\":\"loader_loader__31U88\"};","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\ninterface IAuthState {\n data: {\n isAuth: boolean;\n user?: UserReadDto;\n userClaims?: AuthClaimReadDto[];\n };\n error?: IAuthError;\n loading: ILoadingState;\n}\n\nconst initialState: IAuthState = {\n data: {\n isAuth: false\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 }\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} from \"../data/authStore\";\r\n\r\nexport const useAuthorization = () => {\r\n const {authApi} = 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 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({code: \"USER_PERMISSION_ERR\", message: \"Недостаточно прав для доступа в модуль авторизации!\"});\r\n dispatch(actions.setIsAuth(false));\r\n }\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 }\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 debugger;\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 loading = useSelector((state: State) => state.auth.loading, shallowEqual);\r\n\r\n return {\r\n signIn,\r\n signOut,\r\n error,\r\n loading\r\n };\r\n};\r\n","import {LogoutOutlined, SettingOutlined, UserOutlined} from \"@ant-design/icons\";\nimport {Dropdown, Menu, Spin} from \"antd\";\nimport React from \"react\";\nimport {useAuthorization} from \"../../../../features/auth/api/useAuthorization\";\n// import {selectAuthActions} from \"../../../../redux/auth/selectors\";\nimport s from \"./usermenu.module.css\";\n\nconst UserMenu = () => {\n const {loading, signOut} = useAuthorization();\n\n const menu = (\n \n } disabled>\n Настройки\n \n : }\n >\n Выйти\n \n \n );\n\n return (\n \n \n
\n \n
\n
\n \n );\n};\n\nexport default UserMenu;\n","import {BankOutlined, TeamOutlined, ToolOutlined, UserOutlined} from \"@ant-design/icons\";\nimport {Col, Layout, Menu, Row} from \"antd\";\nimport React, {useEffect, useState} from \"react\";\nimport {Link, useLocation} from \"react-router-dom\";\nimport {BasePathUrl} from \"../../appsettings\";\nimport UserMenu from \"./components/UserMenu/UserMenu\";\nimport s from \"./defaultLayout.module.css\";\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\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 \n } key=\"/users\">\n setSelectedItems([\"/users\"])} to=\"/users\">\n Пользователи\n \n \n } key=\"/groups\">\n setSelectedItems([\"/groups\"])} to=\"/groups\">\n Роли\n \n \n } key=\"/participants\">\n setSelectedItems([\"/participants\"])}\n to=\"/participants\"\n >\n Участники\n \n \n } key=\"/userclaims\">\n setSelectedItems([\"/userclaims\"])}\n to=\"/userclaims\"\n >\n Права пользователей\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 \"antd\";\nimport React from \"react\";\nimport {useDispatch} from \"react-redux\";\nimport {authStore} from \"../data\";\nimport {IUserLockedError} from \"../types\";\n\ninterface IProps {\n error: IUserLockedError;\n}\n\nconst LockedError: React.FC = ({error}) => {\n const dispatch = useDispatch();\n const {actions} = authStore;\n const clearError = () => {\n dispatch(actions.setError(undefined));\n };\n\n return (\n \n {error.message}}\n description={\n \n Повторный вход будет доступен после {error.lockoutEnd.toLocaleTimeString()}\n \n }\n type=\"error\"\n />\n \n \n );\n};\n\nexport default LockedError;\n","import {Button, Form, Input} from \"antd\";\r\nimport React, {useEffect, useState, useCallback, useMemo, useRef} from \"react\";\r\nimport {\r\n ILoginFailedError,\r\n IUserDisabledError,\r\n IUserNotFoundError,\r\n IUserPermissionError\r\n} from \"../types\";\r\nimport {useHistory} from \"react-router-dom\";\r\nimport s from \"../styles/loginForm.module.css\";\r\nimport esia_logo from \"../../../assets/images/esia_logo.svg\";\r\nimport {ValidateStatus} from \"antd/es/form/FormItem\";\r\nimport {EyeInvisibleOutlined, EyeOutlined} from \"@ant-design/icons\";\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?: IUserNotFoundError | IUserDisabledError | ILoginFailedError | IUserPermissionError;\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\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 === \"NOT_FOUND\") {\r\n setLoginErrorMessage(error.message);\r\n }\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 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 onFinish = (values: IFormData) => {\r\n onSignIn(values);\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 {/* Восстановить пароль*/}\r\n {/**/}\r\n\r\n \r\n \r\n Войти в систему\r\n \r\n \r\n\r\n {/* Кнопка входа через госуслуги */}\r\n {extraItems}\r\n\r\n {showRegistrationBtn && \r\n Зарегистрироваться\r\n }\r\n \r\n );\r\n};\r\n\r\nexport default LoginForm;\r\n","import {Alert, Button, Col, Row, Space, Typography} from \"antd\";\nimport React from \"react\";\nimport {useDispatch} from \"react-redux\";\nimport {Link} from \"react-router-dom\";\nimport {authStore} from \"../data\";\nimport {IUserImportError} from \"../types\";\n\ninterface IProps {\n error: IUserImportError;\n}\n\nconst UserImportError: React.FC = ({error}) => {\n const dispatch = useDispatch();\n const {actions} = authStore;\n const clearError = () => {\n dispatch(actions.setError(undefined));\n };\n\n return (\n \n Произошла ошибка при синхронизации учетной записи}\n description={\n <>\n

{error.message}

\n

\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 \"antd\";\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\";\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\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 Войти через Госуслуги\n \n \n\n {commonAuthRequired && (\n \n )}\n \n );\n};\n","export default __webpack_public_path__ + \"static/media/logo.68a6c9f3.svg\";","export default __webpack_public_path__ + \"static/media/search_icon.38205841.svg\";","import {Input, message} from \"antd\";\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\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\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(\"Не удалось получить информацию о модулях.\");\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 Доступные для регистрации информационные системы\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\n
\r\n
\r\n\r\n
\r\n );\r\n};\r\n\r\nexport default withRouter(ModulesList);\r\n","import React, {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 logo from \"../../../assets/images/logo.svg\";\nimport {getModules} from \"../../../pages/modules-list/ModulesList\";\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\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 setEsiaEnabled(config.esiaEnabled);\n };\n\n useEffect(() => {\n initialize();\n }, []);\n\n return (\n
\n
\n\n
\n \"P4m\"\n Платформа\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 Обратитесь в службу технической поддержки\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 \"antd\";\n\nconst UserClaims = () => {\n const store = createStore({\n loadUrl: `${BasePathUrl}/ui-api/users/GetAllUsersClaims`\n });\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 Права пользователей\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 {ConfigProvider, message} from \"antd\";\r\nimport \"antd/dist/antd.css\";\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 React, {useEffect, 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} 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} 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\n\r\nconst App = () => {\r\n const [isInit, setInit] = useState(false);\r\n const dispatch = useDispatch();\r\n\r\n locale(\"ru-RU\");\r\n loadMessages(ruMessages);\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 useEffect(() => {\r\n const authCookie = getCookie(AUTH_COOKIE);\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(\"У вас недостаточно прав для доступа в модуль авторизации!\");\r\n }\r\n })\r\n .finally(() => {\r\n setInit(true);\r\n });\r\n } else {\r\n setInit(true);\r\n }\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 {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 return ;\r\n};\r\n\r\nexport default App;\r\n","import {Client, ClientClaim} from \"../../model-types/modelTypes\";\nimport {createSlice} from \"@reduxjs/toolkit\";\nimport {getModules} from \"./modulesActions\";\nimport {Module} from \"../../api_client\";\n\ninterface InitialState {\n modules?: Module[];\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 \"antd\";\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\";\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({message: \"Роль успешно создана!\"});\n } catch (error: any) {\n yield put(setGroupsActionStatus({name: \"create\", status: \"rejected\"}));\n notification.success({message: \"Произошла ошибка при создании роли\"});\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 \"antd\";\nimport {call, put, takeEvery} from \"redux-saga/effects\";\nimport {DELETE_GROUP} from \"../../actions/index\";\nimport {groupsApi} from \"../../api/index\";\nimport {setGroupsActionStatus} from \"../../groupsSlice\";\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({message: \"Роль успешно удалена.\"});\n } catch (e) {\n yield put(setGroupsActionStatus({name: \"delete\", status: \"rejected\"}));\n notification.error({message: \"Произошла ошибка при удалении роли!\"});\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 \"antd\";\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\";\n\nfunction* updateUserWorker(action: PayloadAction) {\n yield put(setUsersActionStatus({name: \"updateUser\", status: \"pending\"}));\n notification.open({\n key: \"loading\",\n message: \"Загрузка...\",\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: \"Пользователь успешно обновлен.\"\n });\n } catch (error: any) {\n notification.close(\"loading\");\n notification.error({\n message: \"При обновлении пользователя произошла ошибка.\"\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":""}