@ytsaurus/ui 1.91.1 → 1.91.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/public/build/assets-manifest.json +11 -11
- package/dist/public/build/js/531.862a2604.chunk.js +2 -0
- package/dist/public/build/js/531.862a2604.chunk.js.map +1 -0
- package/dist/public/build/js/{acl.f80d2afa.chunk.js → acl.8840c635.chunk.js} +2 -2
- package/dist/public/build/js/acl.8840c635.chunk.js.map +1 -0
- package/dist/public/build/js/main.1f236eb9.js +3 -0
- package/dist/public/build/js/main.1f236eb9.js.map +1 -0
- package/dist/public/build/js/{runtime.2e1b02e1.js → runtime.70a9a3fa.js} +2 -2
- package/dist/public/build/js/{runtime.2e1b02e1.js.map → runtime.70a9a3fa.js.map} +1 -1
- package/dist/public/build/manifest.json +8 -8
- package/package.json +2 -2
- package/dist/public/build/js/531.c9b75152.chunk.js +0 -2
- package/dist/public/build/js/531.c9b75152.chunk.js.map +0 -1
- package/dist/public/build/js/acl.f80d2afa.chunk.js.map +0 -1
- package/dist/public/build/js/main.376121e5.js +0 -3
- package/dist/public/build/js/main.376121e5.js.map +0 -1
- /package/dist/public/build/js/{main.376121e5.js.LICENSE.txt → main.1f236eb9.js.LICENSE.txt} +0 -0
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"js/531.c9b75152.chunk.js","mappings":"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","sources":["webpack://@ytsaurus/ui/./src/ui/assets/img/svg/info-icon2.svg","webpack://@ytsaurus/ui/./src/ui/components/Info/Info.tsx","webpack://@ytsaurus/ui/./src/ui/components/SchemaDataType/SchemaDataType.tsx","webpack://@ytsaurus/ui/./src/ui/containers/ACL/RequestPermissions/RequestPermissions.tsx","webpack://@ytsaurus/ui/./src/ui/pages/navigation/Navigation/NavigationError/NavigationErrorImage.tsx","webpack://@ytsaurus/ui/./src/ui/assets/img/svg/500.svg","webpack://@ytsaurus/ui/./src/ui/assets/img/svg/901.svg","webpack://@ytsaurus/ui/./src/ui/pages/navigation/tabs/ACL/RequestPermissions/RequestPermissions.js","webpack://@ytsaurus/ui/./src/ui/pages/navigation/Navigation/NavigationError/RequestPermission/RequestPermissionIsNotAllowed.tsx","webpack://@ytsaurus/ui/./src/ui/pages/navigation/Navigation/NavigationError/RequestPermission/RequestPermission.tsx","webpack://@ytsaurus/ui/./src/ui/pages/navigation/Navigation/NavigationError/helpers/helpers.ts","webpack://@ytsaurus/ui/./src/ui/pages/navigation/Navigation/NavigationError/NavigationError.tsx","webpack://@ytsaurus/ui/./src/ui/store/actions/acl.ts","webpack://@ytsaurus/ui/./src/ui/store/actions/navigation/modals/cell-preview/format.ts","webpack://@ytsaurus/ui/./src/ui/store/actions/navigation/modals/cell-preview/dynamic-table.ts","webpack://@ytsaurus/ui/./src/ui/store/actions/navigation/modals/cell-preview/static-table.ts","webpack://@ytsaurus/ui/./src/ui/store/actions/navigation/modals/cell-preview/index.ts","webpack://@ytsaurus/ui/./src/ui/store/selectors/acl-filters.ts","webpack://@ytsaurus/ui/./src/ui/store/selectors/acl.ts","webpack://@ytsaurus/ui/./src/ui/components/YqlValue/YqlValue.tsx","webpack://@ytsaurus/ui/./src/ui/components/ColumnCell/ColumnCell.tsx","webpack://@ytsaurus/ui/./src/ui/utils/navigation/prepareColumns.tsx"],"sourcesContent":["const SvgInfoIcon2 = props => <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 14 14\" {...props}><path fill=\"#027BF3\" d=\"M7 .828C3.521.828.703 3.672.703 7.125A6.296 6.296 0 0 0 7 13.422c3.453 0 6.297-2.818 6.297-6.297C13.297 3.672 10.453.828 7 .828m0 11.375a5.06 5.06 0 0 1-5.078-5.078A5.077 5.077 0 0 1 7 2.047c2.793 0 5.078 2.285 5.078 5.078A5.077 5.077 0 0 1 7 12.203m0-8.582c-.61 0-1.066.483-1.066 1.067 0 .609.457 1.066 1.066 1.066.584 0 1.066-.457 1.066-1.066 0-.584-.482-1.067-1.066-1.067m1.422 6.45v-.61a.33.33 0 0 0-.305-.305h-.305V6.617a.33.33 0 0 0-.304-.304H5.883a.31.31 0 0 0-.305.304v.61c0 .177.127.304.305.304h.305v1.625h-.305a.31.31 0 0 0-.305.305v.61c0 .177.127.304.305.304h2.234a.31.31 0 0 0 .305-.305\" /></svg>;\nexport default SvgInfoIcon2;","import React, {ReactNode} from 'react';\nimport block from 'bem-cn-lite';\nimport {Icon} from '@gravity-ui/uikit';\n\nimport infoIcon from '../../assets/img/svg/info-icon2.svg';\n\nimport './Info.scss';\n\nconst b = block('info-block');\n\ninterface InfoProps {\n children: ReactNode;\n className?: string;\n}\nexport function Info({children, className}: InfoProps) {\n return (\n <div className={b(null, className)}>\n <div className={b('icon')}>\n <Icon data={infoIcon} />\n </div>\n <div className={b('body')}>{children}</div>\n </div>\n );\n}\n","import React from 'react';\n\nimport {getPrimitiveTypesMap} from '../../store/selectors/global/supported-features';\nimport {useSelector} from 'react-redux';\nimport {getType} from './dataTypes';\nimport DataType from './DataType/DataType';\nimport {parseV3Type} from './dateTypesV3';\n\ninterface Props {\n type_v3: any;\n}\n\nfunction SchemaDataType({type_v3}: Props) {\n const primitiveTypes = useSelector(getPrimitiveTypesMap);\n\n const dataTypeProps = React.useMemo(() => {\n try {\n return getType(parseV3Type(type_v3, primitiveTypes));\n } catch {\n return undefined;\n }\n }, [type_v3, primitiveTypes]);\n\n return dataTypeProps ? (\n <DataType {...dataTypeProps} />\n ) : (\n <>There is no type description in the schema</>\n );\n}\n\nexport default React.memo(SchemaDataType);\n","import {compose} from 'redux';\nimport cn from 'bem-cn-lite';\nimport React, {useCallback, useMemo} from 'react';\nimport {DialogField, FormApi, YTDFDialog, makeErrorFields} from '../../../components/Dialog';\nimport ErrorBoundary from '../../../components/ErrorBoundary/ErrorBoundary';\nimport {Button, ButtonProps} from '@gravity-ui/uikit';\nimport PermissionsControl from '../RequestPermissions/PermissionsControl/PermissionsControl';\n\nimport withVisible, {WithVisibleProps} from '../../../hocs/withVisible';\n\nimport './RequestPermissions.scss';\nimport {YTError} from '../../../types';\nimport {AclMode, INHERITANCE_MODE_TYPES, IdmObjectType} from '../../../constants/acl';\n\nimport UIFactory from '../../../UIFactory';\nimport hammer from '../../../common/hammer';\nimport map_ from 'lodash/map';\n\nimport {docsUrl} from '../../../config';\nimport {makeLink} from '../../../utils/utils';\nimport {AclColumnGroup, IdmKindType} from '../../../utils/acl/acl-types';\nimport {YTPermissionTypeUI} from '../../../utils/acl/acl-api';\nimport {PermissionToRequest} from '../../../store/actions/acl';\n\nconst block = cn('acl-request-permissions');\n\nconst FLAG_NAME_PREFIX = '##_flag_';\n\nexport type RequestPermissionsFieldsNames =\n | 'cluster'\n | 'path'\n | 'permissions'\n | 'subjects'\n | 'duration'\n | 'commentHeader'\n | 'comment'\n | 'inheritance_mode'\n | 'permissionFlags'\n | 'readColumns'\n | 'readColumnGroup';\n\nexport interface Props extends WithVisibleProps {\n className?: string;\n buttonClassName?: string;\n buttonProps?: ButtonProps;\n cluster?: string;\n normalizedPoolTree?: string;\n path: string;\n idmKind: IdmKindType;\n requestPermissions: (params: {\n values: PermissionToRequest;\n idmKind: IdmKindType;\n }) => Promise<void>;\n cancelRequestPermissions: (params: {idmKind: IdmKindType}) => unknown;\n error?: YTError;\n onSuccess?: () => void;\n columnGroups?: Array<AclColumnGroup>;\n aclMode?: AclMode;\n}\n\ntype FormValues = {\n path: string;\n cluster: string;\n permissions: {[x: string]: Array<YTPermissionTypeUI>} | null;\n subjects: Array<{\n value: string;\n type: 'users' | 'groups' | 'app';\n text?: string;\n }>;\n inheritance_mode?: string;\n duration?: Date;\n comment?: string;\n readColumnGroup?: string;\n} & Record<`${typeof FLAG_NAME_PREFIX}${string}`, boolean>;\n\nconst SHORT_TITLE: Partial<Record<IdmKindType, string>> = {\n access_control_object: 'ACO',\n};\n\nconst COLUMNS_FELDS = new Set<RequestPermissionsFieldsNames>(['readColumns', 'readColumnGroup']);\n\nfunction RequestPermissions(props: Props) {\n const {\n aclMode,\n visible,\n handleShow,\n handleClose,\n className,\n buttonClassName,\n path,\n idmKind,\n requestPermissions,\n cancelRequestPermissions,\n error,\n cluster,\n columnGroups,\n buttonProps,\n /*denyColumns,*/\n } = props;\n\n const onClose = useCallback(() => {\n handleClose();\n cancelRequestPermissions({idmKind});\n }, [handleClose, cancelRequestPermissions, idmKind]);\n\n const {\n requestPermissionsFields,\n requestPermissionsFlags = {},\n buttonsTitle,\n } = UIFactory.getAclApi();\n\n const onAdd = useCallback(\n (form: FormApi<FormValues, Partial<FormValues>>) => {\n const values = {...form.getState().values};\n const permissionFlags: Record<string, boolean> = {};\n Object.keys(requestPermissionsFlags).forEach((k) => {\n const key = `${FLAG_NAME_PREFIX}${k}` as keyof typeof values;\n permissionFlags[k] = Boolean(values[key]);\n\n delete values[key];\n });\n return requestPermissions({\n values: {...values, permissionFlags},\n idmKind,\n });\n },\n [requestPermissions, idmKind],\n );\n\n const currentCaption = `Current ${SHORT_TITLE[idmKind] ?? idmKind}`;\n const {permissionsToRequest, getAvailablePermissions} =\n UIFactory.getAclPermissionsSettings()[idmKind];\n\n const [availablePermissions, setAvailablePermissions] = React.useState<\n typeof permissionsToRequest | undefined\n >(undefined);\n\n const onShow = useCallback(async () => {\n try {\n const value = await getAvailablePermissions?.({path});\n setAvailablePermissions(value);\n } catch {\n setAvailablePermissions(undefined);\n } finally {\n handleShow();\n }\n }, [path, handleShow, getAvailablePermissions]);\n\n const firstItemDisabled = idmKind === IdmObjectType.ACCOUNT;\n\n const choices = availablePermissions ?? permissionsToRequest;\n const permissions = firstItemDisabled ? valueWithCheckedFirstChoice(choices) : null;\n\n const availableFields: Record<\n RequestPermissionsFieldsNames,\n Omit<DialogField, 'name'>\n > = useMemo(() => {\n const disabledChoices = idmKind === IdmObjectType.ACCOUNT ? [0] : undefined;\n return {\n cluster: {\n type: 'plain',\n caption: 'Cluster',\n extras: {\n className: block('cluster'),\n },\n },\n path: {\n type: 'text',\n caption: currentCaption,\n extras: {\n disabled: !error,\n },\n },\n permissions: {\n type: 'permissions',\n caption: 'Permissions',\n required: true,\n tooltip: (\n <>\n {docsUrl(\n makeLink(UIFactory.docsUrls['acl:permissions'], 'Permissions types'),\n 'Permissions types',\n )}\n </>\n ),\n extras: {\n choices: choices,\n disabledChoices,\n },\n },\n readColumns: {\n type: 'acl-columns',\n caption: 'Read columns',\n required: true,\n },\n readColumnGroup: {\n type: 'acl-column-group',\n caption: 'Read column group',\n required: true,\n extras: {\n columnGroups,\n },\n },\n subjects: {\n type: 'acl-subjects',\n caption: 'Subjects',\n required: true,\n extras: {\n placeholder: 'Enter group name, user name or login...',\n allowedTypes: ['users', 'groups', 'app'],\n },\n },\n duration: {\n type: 'before-date',\n caption: 'Duration',\n },\n commentHeader: {\n type: 'block',\n className: block('modal-comments-header'),\n extras: {\n children: (\n <React.Fragment>\n <div className={'is-dialog__label'}>Comment</div>\n <div className={block('comment-notice')}>\n Teams and people can be requested through the IDM after the access\n group is created. If you have a more complex case please describe it\n in the comments.\n </div>\n </React.Fragment>\n ),\n },\n },\n comment: {\n type: 'textarea',\n className: block('modal-comments'),\n },\n inheritance_mode: {\n type: 'yt-select-single',\n caption: 'Inheritance mode',\n extras: {\n items: map_(INHERITANCE_MODE_TYPES, (value) => ({\n value: value,\n text: hammer.format['ReadableField'](value),\n })),\n hideClear: true,\n hideFilter: true,\n with: 'max',\n },\n },\n permissionFlags: {\n type: 'block',\n caption: 'Permission flags',\n extras: {children: 'Not implemented'},\n },\n };\n }, [choices, currentCaption, error, idmKind]);\n\n const useColumns = aclMode === AclMode.COLUMN_GROUPS_PERMISSISONS;\n\n const dialogFields = useMemo(() => {\n let flagsIndex = -1;\n const res = requestPermissionsFields.reduce(\n (acc, field) => {\n const allowField = useColumns ? field !== 'permissions' : !COLUMNS_FELDS.has(field);\n if (!allowField) {\n return acc;\n }\n\n if (field === 'permissionFlags') {\n flagsIndex = acc.length;\n }\n\n acc.push({\n ...availableFields[field],\n name: field,\n } as DialogField<FormValues>);\n\n return acc;\n },\n [] as Array<DialogField<FormValues>>,\n );\n\n if (flagsIndex !== -1) {\n const flags: typeof res = Object.keys(requestPermissionsFlags ?? []).map((key) => {\n const flagInfo = requestPermissionsFlags[key];\n return {\n type: 'tumbler',\n caption: hammer.format.ReadableField(flagInfo?.title),\n name: `${FLAG_NAME_PREFIX}${key}`,\n tooltip: flagInfo.help,\n initialValue: flagInfo.initialValue,\n };\n });\n res.splice(flagsIndex, 1, ...flags);\n }\n return res;\n }, [availableFields, requestPermissionsFields, useColumns]);\n\n const {editAcl = 'Edit ACL', editColumnsAcl = 'Edit columns ACL'} = buttonsTitle ?? {};\n const title = useColumns ? editColumnsAcl : editAcl;\n\n return !choices?.length ? null : (\n <ErrorBoundary>\n <div className={block(null, className)}>\n <Button className={buttonClassName} view=\"action\" {...buttonProps} onClick={onShow}>\n {title}\n </Button>\n\n <YTDFDialog<FormValues>\n pristineSubmittable\n onClose={onClose}\n className={block('modal')}\n visible={Boolean(visible)}\n onAdd={onAdd}\n headerProps={{\n title,\n }}\n initialValues={{\n path,\n permissions,\n cluster,\n inheritance_mode: INHERITANCE_MODE_TYPES.OBJECT_AND_DESCENDANTS,\n }}\n validate={(values) => {\n const subjects = values.subjects;\n const validationError: Record<\n keyof Pick<FormValues, 'subjects'>,\n string | undefined\n > = {\n subjects: undefined,\n };\n\n if (!subjects.length) {\n const errorMessage = 'At least one subject should be selected.';\n validationError.subjects = errorMessage;\n }\n\n return validationError;\n }}\n fields={[...dialogFields, ...makeErrorFields([error])]}\n />\n </div>\n </ErrorBoundary>\n );\n}\n\nexport default compose(withVisible)(RequestPermissions) as unknown as React.ComponentType<\n Omit<Props, keyof WithVisibleProps>\n>;\n\nfunction valueWithCheckedFirstChoice(choices: string | any[]) {\n if (!choices || choices.length < 1) {\n return {};\n }\n\n return {\n [PermissionsControl.getChoiceName(choices[0])]: choices[0],\n };\n}\n","import React from 'react';\nimport {Icon} from '@gravity-ui/uikit';\nimport {SVGIconData} from '@gravity-ui/uikit/build/esm/components/Icon/types';\n\nimport ErrorImage901 from '../../../../assets/img/svg/901.svg';\nimport ErrorImage500 from '../../../../assets/img/svg/500.svg';\nimport {ErrorCode} from './helpers';\n\ntype Props = {\n type: ErrorCode;\n};\n\ntype ImageMap = {\n [key in ErrorCode]: SVGIconData;\n};\n\nconst ErrorImages: ImageMap = {\n 500: ErrorImage500,\n 901: ErrorImage901,\n};\n\nexport function NavigationErrorImage(props: Props) {\n const {type} = props;\n\n const ErrorImage = ErrorImages[type];\n\n return <Icon data={ErrorImage} size={150} />;\n}\n","const Svg500 = props => <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 152 150\" {...props}><path fill=\"none\" d=\"M.5 0h150v150H.5z\" /><path fill=\"#ECF2F9\" d=\"M76.456 18.436a6.03 6.03 0 0 0-6.032-6.032H6.532A6.03 6.03 0 0 0 .5 18.436v96.772a6.03 6.03 0 0 0 6.032 6.032h123.62a6.03 6.03 0 0 0 6.032-6.032V30.501a6.03 6.03 0 0 0-6.032-6.033H82.446c-3.271 0-5.99-2.676-5.99-6.032\" /><path stroke=\"#2EE5C0\" strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2.669} d=\"M138.35 20.348a7.987 7.987 0 1 0 0-15.974 7.987 7.987 0 0 0 0 15.974\" clipRule=\"evenodd\" /><path fill=\"#2EE5C0\" d=\"M145.029 17.408a1.334 1.334 0 1 0-1.887 1.887zm4.527 8.301a1.335 1.335 0 0 0 1.888-1.887zM33.143 43.925a1.334 1.334 0 0 0-2.669 0zm-2.669 3.696a1.334 1.334 0 0 0 2.669 0zm2.669 8.326a1.334 1.334 0 0 0-2.669 0zm-2.669 4.63a1.334 1.334 0 0 0 2.669 0zm9.66-6.992a1.334 1.334 0 0 0 0-2.668zm-3.738-2.668a1.334 1.334 0 0 0 0 2.668zm-9.218 2.668a1.334 1.334 0 0 0 0-2.668zm-3.696-2.668a1.334 1.334 0 0 0 0 2.668zm119.66-31.622 6.414 6.414 1.888-1.887-6.415-6.414zM30.474 43.925v3.696h2.669v-3.696zm0 12.022v4.63h2.669v-4.63zm9.66-5.03h-3.738v2.668h3.739zm-12.956 0h-3.696v2.668h3.696z\" /><path stroke=\"#2EE5C0\" strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2.669} d=\"M105.385 145.624H23.227c-4.248 0-7.731-3.484-7.731-7.732v-53.27c0-4.249 3.483-7.732 7.731-7.732h82.158c4.248 0 7.732 3.483 7.732 7.731v53.271c0 4.248-3.484 7.732-7.732 7.732\" clipRule=\"evenodd\" /><path fill=\"#2EE5C0\" d=\"M23.44 86.873a2.209 2.209 0 1 0 0-4.418 2.209 2.209 0 0 0 0 4.418M30.619 86.873a2.209 2.209 0 1 0 0-4.418 2.209 2.209 0 0 0 0 4.418M37.798 86.873a2.209 2.209 0 1 0 0-4.418 2.209 2.209 0 0 0 0 4.418\" /><path stroke=\"#2EE5C0\" strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2.669} d=\"M15.58 92.523h97.239\" /><path fill=\"#027BF3\" d=\"M57.977 45.242v67.417c0 16.992 7.731 18.309 11.215 18.309s68.437-1.784 68.437-1.784-10.068-6.67-10.068-22.26V34.069L70.466 32.2z\" /><path fill=\"#fff\" d=\"m103.446 63.79-7.743 8.375-7.865-8.415-7.338 7.814 7.946 8.416-7.946 8.616 7.338 7.654 7.865-8.616 7.743 8.215 7.054-7.814-7.662-8.215 7.662-8.376z\" /><path fill=\"#00236B\" fillRule=\"evenodd\" d=\"m69.404 45.497-11.427-.255 12.616-13v12.023c0 .68-.552 1.231-1.19 1.231m10.195 75.36s.34 8.454-10.408 10.111c5.564 0 21.85-.498 37.221-.967 13.734-.42 26.737-.817 30.706-.817 8.411 0 10.068-10.238 10.068-10.238z\" clipRule=\"evenodd\" /></svg>;\nexport default Svg500;","const Svg901 = props => <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 150 150\" {...props}><path fill=\"none\" d=\"M0 0h150v150H0z\" /><path fill=\"#ECF2F9\" d=\"M75.956 18.436a6.03 6.03 0 0 0-6.032-6.032H6.032A6.03 6.03 0 0 0 0 18.436v96.772a6.03 6.03 0 0 0 6.032 6.032h123.62a6.03 6.03 0 0 0 6.032-6.032V30.501a6.03 6.03 0 0 0-6.032-6.032H81.946c-3.271 0-5.99-2.677-5.99-6.033\" /><path fill=\"#2EE5C0\" d=\"M32.643 43.925a1.334 1.334 0 0 0-2.669 0zm-2.669 3.696a1.334 1.334 0 1 0 2.669 0zm2.669 8.326a1.334 1.334 0 1 0-2.669 0zm-2.669 4.63a1.334 1.334 0 0 0 2.669 0zm9.66-6.991a1.334 1.334 0 0 0 0-2.67zm-3.738-2.67a1.334 1.334 0 1 0 0 2.67zm-9.218 2.67a1.334 1.334 0 0 0 0-2.67zm-3.696-2.67a1.334 1.334 0 0 0 0 2.67zm6.992-6.991v3.696h2.669v-3.696zm0 12.022v4.63h2.669v-4.63zm9.66-5.03h-3.738v2.669h3.739zm-12.956 0h-3.696v2.669h3.696zM134.661 3.528a1.335 1.335 0 0 0-2.669 0zm-2.669 3.24a1.334 1.334 0 1 0 2.669 0zm2.669 7.298a1.335 1.335 0 0 0-2.669 0zm-2.669 4.06a1.334 1.334 0 1 0 2.669 0zm8.633-5.965a1.334 1.334 0 0 0 0-2.669zm-3.277-2.669a1.334 1.334 0 0 0 0 2.669zm-8.081 2.669a1.335 1.335 0 1 0 0-2.669zm-3.24-2.669a1.335 1.335 0 0 0 0 2.669zm5.965-5.964v3.24h2.669v-3.24zm0 10.538v4.06h2.669v-4.06zm8.633-4.574h-3.277v2.669h3.277zm-11.358 0h-3.24v2.669h3.24z\" /><path stroke=\"#2EE5C0\" strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2.669} d=\"M104.885 145.624H22.727c-4.248 0-7.731-3.483-7.731-7.732v-53.27c0-4.249 3.483-7.732 7.731-7.732h82.158c4.248 0 7.732 3.483 7.732 7.731v53.271c0 4.249-3.484 7.732-7.732 7.732\" clipRule=\"evenodd\" /><path fill=\"#2EE5C0\" d=\"M22.94 86.873a2.209 2.209 0 1 0 0-4.418 2.209 2.209 0 0 0 0 4.418M30.119 86.873a2.209 2.209 0 1 0 0-4.418 2.209 2.209 0 0 0 0 4.418M37.298 86.873a2.209 2.209 0 1 0 0-4.418 2.209 2.209 0 0 0 0 4.418\" /><path stroke=\"#2EE5C0\" strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2.669} d=\"M15.08 92.523h97.239\" /><path fill=\"#00236B\" fillRule=\"evenodd\" d=\"m88.303 36.461 27.477 15.804c3.231 1.85 4.345 5.959 2.451 8.809l-15.335 26.463c-1.894 3.553-5.978 4.663-9.209 2.813l-3.342-1.925-1.782 3.035c-.223.333-.631.444-.928.26l-1.931-1.111-2.748 4.737c-.111.222-.334.37-.557.444l-6.572 1.962c-.483.148-.78.703-.669 1.185l1.448 5.773a.99.99 0 0 1-.668 1.148l-5.83 1.776c-.482.185-.78.703-.668 1.185l1.485 5.736c.149.482-.185 1-.668 1.148l-5.867 1.813c-.483.185-.78.704-.668 1.185l1.56 5.959c.148.481-.186.999-.67 1.147 0 0-4.195 1.295-7.463 2.369-3.267 1.073-4.901-.556-5.495-2.48-.594-1.962-2.265-8.143-2.265-8.143-.037-.222 0-.481.111-.703l20.46-35.309-2.042-1.184c-.335-.185-.446-.63-.26-.963l1.782-3.035-3.193-1.813c-3.194-1.888-4.308-5.959-2.451-9.179l15.298-26.463c1.894-3.183 5.979-4.294 9.209-2.443m3.193 15.434c-1.485 2.554-.594 5.81 1.968 7.291 2.562 1.48 5.83.592 7.315-1.962s.594-5.81-1.968-7.29-5.83-.593-7.315 1.96\" clipRule=\"evenodd\" /><path fill=\"#007CE9\" fillRule=\"evenodd\" d=\"m83.253 40.977 30.299 2.405c3.379.185 6.127 3.183 6.09 6.773V78.1c0 3.516-2.748 6.33-6.164 6.33h-3.602v3.367c0 .37-.26.666-.594.666h-2.079v5.663c0 .26-.112.481-.26.666l-4.419 4.849a.96.96 0 0 0 0 1.295l3.899 4.072c.334.333.334.925 0 1.295l-3.899 4.404c-.334.37-.334.963 0 1.296l3.899 3.96c.334.333.334.925 0 1.295l-3.899 4.516c-.334.37-.334.962 0 1.295l4.085 4.071c.334.334.334.926 0 1.296 0 0-2.785 3.294-4.976 5.848s-4.307 2.146-5.718.851-5.83-5.515-5.83-5.515c-.148-.185-.26-.407-.26-.666V88.795h-2.302c-.371 0-.668-.333-.668-.703v-3.479h-3.602c-3.713 0-6.721-3.035-6.721-6.736V47.306a6.29 6.29 0 0 1 6.72-6.33M93.5 53.079c0 2.887 2.34 5.293 5.161 5.404 2.823.111 5.088-2.147 5.088-4.997s-2.265-5.255-5.088-5.403c-2.859-.111-5.16 2.11-5.16 4.996\" clipRule=\"evenodd\" /><path fill=\"#00236B\" d=\"M94.875 7.777c-13.219 0-23.95 10.696-23.95 23.873 0 5.366 1.745 10.474 5.013 14.62l1.597-2.703A20.8 20.8 0 0 1 73.82 31.65c0-11.585 9.432-20.986 21.054-20.986s21.054 9.4 21.054 20.986c0 11.584-9.469 20.948-21.054 20.948-.445 0-.965-.037-1.337-.037-.037.333-.111.74-.037 1.555a5 5 0 0 0 .334 1.332c.52.037.483.037 1.003.037 13.219 0 23.95-10.696 23.95-23.872S108.057 7.777 94.875 7.777\" /><path fill=\"#00236B\" d=\"M101.67 134.246c2.191-2.554 4.976-5.848 4.976-5.848.334-.37.334-.963 0-1.296l-4.085-4.071c-.334-.333-.334-.925 0-1.295l3.899-4.516c.334-.37.334-.962 0-1.295l-3.899-3.96c-.334-.334-.334-.926 0-1.296l3.899-4.404c.334-.37.334-.962 0-1.296l-3.899-4.071a.96.96 0 0 1 0-1.295l4.419-4.849c.148-.185.26-.407.26-.666V89.61c0-.667-.52-1.185-1.188-1.185l-3.862.37a3.52 3.52 0 0 0-3.528 3.516v42.046c0 .962 1.114 1.554 1.894.962.371-.259.743-.629 1.114-1.073\" opacity={0.2} /></svg>;\nexport default Svg901;","import {connect} from 'react-redux';\n\nimport RequestPermissions from '../../../../../containers/ACL/RequestPermissions/RequestPermissions';\nimport {\n getDenyColumnsItems,\n getIdmPermissionsRequestError,\n} from '../../../../../store/selectors/acl';\nimport {cancelRequestPermissions, requestPermissions} from '../../../../../store/actions/acl';\nimport {IdmObjectType} from '../../../../../constants/acl';\n\nconst idmKind = IdmObjectType.PATH;\n\nconst mapStateToProps = (state) => {\n const denyColumns = getDenyColumnsItems(state, idmKind);\n\n return {\n idmKind,\n denyColumns,\n error: getIdmPermissionsRequestError(state, idmKind),\n };\n};\n\nexport default connect(mapStateToProps, {requestPermissions, cancelRequestPermissions})(\n RequestPermissions,\n);\n","import React from 'react';\nimport cn from 'bem-cn-lite';\n\nimport hammer from '../../../../../common/hammer';\nimport {Info} from '../../../../../components/Info/Info';\n\nimport './RequestPermission.scss';\n\nconst block = cn('request-permission-is-not-allowed');\n\ntype Props = {\n objectType: any;\n};\n\nexport function RequestPermissionIsNotAllowed(props: Props) {\n const {objectType} = props;\n\n return (\n <Info className={block()}>\n It is not possible to request access to the{' '}\n {hammer.format['Readable'](objectType, {caps: 'none'})}. Please request access to the\n parent directory.\n </Info>\n );\n}\n","import React from 'react';\nimport cn from 'bem-cn-lite';\nimport {Flex} from '@gravity-ui/uikit';\n\nimport ypath from '../../../../../common/thor/ypath';\nimport {ErrorToClipboardButton} from '../../../../../components/ErrorToClipboardButton/ErrorToClipboardButton';\nimport {getParentPath} from '../../../../../utils/navigation';\nimport RequestPermissions from '../../../tabs/ACL/RequestPermissions/RequestPermissions';\nimport {RequestPermissionIsNotAllowed} from './RequestPermissionIsNotAllowed';\nimport {YTError} from '../../../../../../@types/types';\n\nimport './RequestPermission.scss';\n\nconst block = cn('request-permission');\n\ntype Props = {\n error: YTError;\n cluster: string;\n path?: string;\n};\n\nexport function RequestPermission(props: Props) {\n const {path: currentPath, error, cluster} = props;\n const objectType = ypath.getValue(error?.attributes, '/object_type');\n const errorPath = ypath.getValue(error?.attributes, '/path');\n const isRequestPermissionsForPathAllowed = objectType === 'map_node';\n\n const path = errorPath ?? currentPath;\n\n const pathForRequest = isRequestPermissionsForPathAllowed ? path : getParentPath(path);\n\n return (\n <div>\n {!isRequestPermissionsForPathAllowed && (\n <RequestPermissionIsNotAllowed objectType={objectType} />\n )}\n <Flex direction=\"row\" gap={3}>\n <RequestPermissions\n buttonClassName={block('request-permissions-button')}\n path={pathForRequest}\n cluster={cluster}\n buttonProps={{size: 'l', width: 'max'}}\n />\n <ErrorToClipboardButton className={block('copy')} view=\"outlined\" error={error}>\n Copy error details\n </ErrorToClipboardButton>\n </Flex>\n </div>\n );\n}\n","import {getYtErrorCode} from '../../../../../utils/errors';\nimport {YTError} from '../../../../../../@types/types';\nimport {UnipikaValue} from '../../../../../components/Yson/StructuredYson/StructuredYsonTypes';\nimport ypath from '../../../../../common/thor/ypath';\n\nexport type ErrorCode = 500 | 901;\n\ntype NoAccessTitlePayload = {\n username?: string;\n permissions?: Array<UnipikaValue>;\n path?: string;\n};\n\ntype NoPathTitlePayload = {\n path: string;\n};\n\ntype TitlePayload = NoAccessTitlePayload & NoPathTitlePayload;\n\ntype ErrorInfo = {\n [key in ErrorCode]:\n | {\n getTitle: (payload: TitlePayload) => string;\n }\n | undefined;\n};\n\nexport const ErrorsInfo: ErrorInfo = {\n 901: {\n getTitle: (payload: NoAccessTitlePayload) => {\n const {username, permissions, path} = payload;\n const permission = permissions\n ?.map((perm: UnipikaValue) => ypath.getValue(perm))\n .join(' | ');\n return `User ${username} does not have \"${permission ?? ''}\" access to node \"${path}\"`;\n },\n },\n 500: {\n getTitle: (payload: NoPathTitlePayload) => {\n const {path} = payload;\n return `Path \"${path}\" does not exist`;\n },\n },\n};\n\nexport function getErrorTitle(\n {attributes, code}: {code: ErrorCode} & Pick<YTError, 'attributes'>,\n path?: string,\n): string {\n const title = ErrorsInfo[code!]?.getTitle({\n path: path || '',\n username: ypath.getValue(attributes, '/user') || '',\n permissions: ypath.getValue(attributes, '/permission') || '',\n });\n\n return title ?? 'An unexpected error occurred';\n}\n\n/**\n * returns first non-undefined error code,\n * from root error to inner errors\n */\nexport function getLeadingErrorCode(error: YTError): number | undefined {\n const errorCode = getYtErrorCode(error);\n if (!isNaN(errorCode)) {\n return errorCode;\n }\n\n if (!error.inner_errors) return;\n\n const errors = error.inner_errors;\n\n for (const inner_error of errors) {\n const innerErrorCode = getYtErrorCode(inner_error);\n if (!isNaN(innerErrorCode)) {\n return innerErrorCode;\n }\n\n if (inner_error.inner_errors) {\n errors.concat(inner_error.inner_errors);\n }\n }\n\n return;\n}\n","import React from 'react';\nimport cn from 'bem-cn-lite';\nimport {Flex, FlexProps, Text} from '@gravity-ui/uikit';\n\nimport {YTErrorBlock} from '../../../../components/Error/Error';\nimport ErrorDetails from '../../../../components/ErrorDetails/ErrorDetails';\nimport {ErrorToClipboardButton} from '../../../../components/ErrorToClipboardButton/ErrorToClipboardButton';\nimport {NavigationErrorImage} from './NavigationErrorImage';\nimport {RequestPermission} from './RequestPermission';\nimport {getPermissionDeniedError} from '../../../../utils/errors';\nimport {YTError} from '../../../../../@types/types';\nimport {ErrorCode, getErrorTitle, getLeadingErrorCode} from './helpers';\n\nimport './NavigationError.scss';\n\nconst block = cn('navigation-error');\n\ntype Props = {\n path?: string;\n details: YTError;\n cluster: string;\n message: string;\n vertical?: boolean;\n};\n\nfunction PrettyError(props: Props & {code: ErrorCode}) {\n const {details, path, cluster, code, vertical} = props;\n\n const error = code == 901 ? getPermissionDeniedError(details)! : details;\n const title = getErrorTitle({...error, code}, path);\n const direction: FlexProps['direction'] = vertical ? 'column' : undefined;\n\n return (\n <Flex\n className={block()}\n justifyContent=\"center\"\n alignItems=\"center\"\n direction={direction}\n gap={7}\n >\n <Flex>\n <NavigationErrorImage type={code} />\n </Flex>\n <Flex direction=\"column\" className={block('info')} gap={4}>\n <Text className={block('title')}>{title}</Text>\n <ErrorDetails error={details} />\n <Flex gap={3} direction={direction}>\n {code === 901 ? (\n <RequestPermission cluster={cluster} path={path} error={error} />\n ) : (\n <ErrorToClipboardButton\n className={block('copy')}\n view=\"outlined\"\n error={details}\n >\n Copy error details\n </ErrorToClipboardButton>\n )}\n </Flex>\n </Flex>\n </Flex>\n );\n}\n\nfunction UnexpectedError(props: Props) {\n const {details, message} = props;\n\n return <YTErrorBlock className={block('unexpected-error')} error={details} message={message} />;\n}\n\nexport function NavigationError(props: Props) {\n const {details} = props;\n\n const code = getLeadingErrorCode(details);\n\n return (\n <>\n {code === 500 || code === 901 ? (\n <PrettyError {...props} code={code} />\n ) : (\n <UnexpectedError {...props} />\n )}\n </>\n );\n}\n","import {ThunkAction} from 'redux-thunk';\n\nimport flatten_ from 'lodash/flatten';\nimport forEach_ from 'lodash/forEach';\nimport map_ from 'lodash/map';\n\nimport {\n DELETE_PERMISSION,\n IdmObjectType,\n LOAD_DATA,\n REQUEST_PERMISSION,\n UPDATE_ACL,\n} from '../../constants/acl';\nimport {getTree} from '../../store/selectors/scheduling/scheduling';\nimport {\n YTPermissionTypeUI,\n checkUserPermissionsUI,\n getAcl,\n getResponsible,\n} from '../../utils/acl/acl-api';\nimport {convertFromUIPermissions, prepareAclSubject} from '../../utils/acl';\nimport UIFactory from '../../UIFactory';\nimport {AclAction, HasIdmKind} from '../../store/reducers/acl/acl';\nimport {isCancelled} from '../../utils/cancel-helper';\nimport {RootState} from '../../store/reducers';\nimport {\n IdmKindType,\n PreparedAclSubject,\n ResponsibleType,\n Role,\n UpdateAclParams,\n} from '../../utils/acl/acl-types';\nimport {CheckPermissionResult} from '../../../shared/utils/check-permission';\nimport {YTApiId, ytApiV3Id} from '../../rum/rum-wrap-api';\n\ntype ThunkAclAction<T = unknown> = ThunkAction<T, RootState, unknown, AclAction>;\n\nconst prepareUserPermissions = (\n userPermissions: Array<CheckPermissionResult>,\n idmKind: IdmKindType,\n) => {\n const {permissionTypes} = UIFactory.getAclPermissionsSettings()[idmKind];\n return map_(userPermissions, (item, index) => {\n return {\n type: permissionTypes[index],\n action: item.action,\n };\n });\n};\n\ntype HasNormPoolTree = {normalizedPoolTree?: string};\n\nasync function getPathToCheckPermissions(\n idmKind: IdmKindType,\n entityName: string,\n poolTree?: string,\n) {\n switch (idmKind) {\n case IdmObjectType.ACCESS_CONTROL_OBJECT:\n case IdmObjectType.UI_EFFECTIVE_ACL:\n case IdmObjectType.PATH:\n return entityName;\n case IdmObjectType.ACCOUNT:\n return `//sys/accounts/${entityName}`;\n case IdmObjectType.POOL: {\n const fullPath: string = await ytApiV3Id.get(YTApiId.schedulingPoolFullPath, {\n path: `//sys/scheduler/orchid/scheduler/pool_trees/${poolTree}/pools/${entityName}/full_path`,\n });\n return `//sys/pool_trees/${poolTree}${fullPath}`;\n }\n case IdmObjectType.TABLET_CELL_BUNDLE: {\n return `//sys/tablet_cell_bundles/${entityName}`;\n }\n }\n throw new Error('Unexpected value of parameter idmKind');\n}\n\nexport function loadAclData(\n {path, idmKind}: {path: string} & HasIdmKind,\n {normalizedPoolTree}: HasNormPoolTree = {},\n options: {userPermissionsPath?: string} = {userPermissionsPath: undefined},\n): ThunkAclAction {\n return async (dispatch, getState) => {\n const state = getState();\n const {login, cluster = ''} = state.global;\n\n dispatch({type: LOAD_DATA.REQUEST, idmKind});\n\n const poolTree =\n idmKind === IdmObjectType.POOL ? normalizedPoolTree || getTree(state) : undefined;\n const {permissionTypes} = UIFactory.getAclPermissionsSettings()[idmKind];\n\n const {userPermissionsPath} = options;\n\n try {\n const pathToCheckPermissions = await getPathToCheckPermissions(idmKind, path, poolTree);\n const pathToCheckUserPermissions = userPermissionsPath\n ? await getPathToCheckPermissions(idmKind, userPermissionsPath, poolTree)\n : pathToCheckPermissions;\n\n return await Promise.all([\n getAcl({\n cluster,\n path,\n kind: idmKind,\n poolTree,\n sysPath: pathToCheckPermissions,\n }),\n checkUserPermissionsUI(pathToCheckUserPermissions, login, permissionTypes),\n getResponsible({\n cluster,\n path,\n kind: idmKind,\n poolTree,\n sysPath: pathToCheckPermissions,\n }),\n ]).then(([acl, userPermissions, responsible]) => {\n dispatch({\n type: LOAD_DATA.SUCCESS,\n data: {\n path,\n version: responsible.version,\n auditors: responsible.auditors,\n objectPermissions: acl.permissions,\n columnGroups: acl.column_groups,\n responsible: responsible.responsible,\n userPermissions: prepareUserPermissions(userPermissions, idmKind),\n readApprovers: responsible.readApprovers,\n disableAclInheritance: responsible.disableAclInheritance,\n bossApproval: responsible.bossApproval,\n disableInheritanceResponsible: responsible.disableInheritanceResponsible,\n },\n idmKind,\n });\n });\n } catch (error: any) {\n dispatch({\n type: LOAD_DATA.FAILURE,\n data: {\n error,\n },\n idmKind,\n });\n }\n };\n}\n\nexport function deletePermissions(\n {\n roleKey,\n idmKind,\n path,\n itemToDelete,\n }: HasIdmKind & {path: string; roleKey: string; itemToDelete: PreparedAclSubject},\n {normalizedPoolTree}: HasNormPoolTree = {},\n): ThunkAclAction<Promise<void>> {\n return async (dispatch, getState) => {\n const {cluster = ''} = getState().global;\n const state = getState();\n\n dispatch({\n type: DELETE_PERMISSION.REQUEST,\n data: roleKey,\n idmKind,\n });\n\n const poolTree =\n idmKind === IdmObjectType.POOL ? normalizedPoolTree || getTree(state) : undefined;\n\n try {\n const deletePermissionsPath = await getPathToCheckPermissions(idmKind, path, poolTree);\n\n return await UIFactory.getAclApi()\n .deleteRole({\n idmKind,\n cluster,\n roleKey,\n path,\n sysPath: deletePermissionsPath,\n itemToDelete,\n })\n .then(() => {\n dispatch({\n type: DELETE_PERMISSION.SUCCESS,\n data: roleKey,\n idmKind,\n });\n });\n } catch (error: any) {\n if (isCancelled(error)) {\n dispatch({type: DELETE_PERMISSION.CANCELLED, idmKind});\n return undefined;\n } else {\n dispatch({\n type: DELETE_PERMISSION.FAILURE,\n data: error,\n idmKind,\n });\n return Promise.reject(error);\n }\n }\n };\n}\n\nfunction dateToDaysAfterNow(date?: Date) {\n if (!date) {\n return undefined;\n }\n\n return Math.round((date.getTime() - Date.now()) / 3600 / 24 / 1000);\n}\n\nexport type PermissionToRequest = {\n path: string;\n cluster: string;\n permissions: {[x: string]: Array<YTPermissionTypeUI>} | null;\n subjects: Array<ResponsibleType>;\n inheritance_mode?: string;\n duration?: Date;\n comment?: string;\n permissionFlags?: Record<string, boolean>;\n readColumnGroup?: string;\n readColumns?: Array<string>;\n};\n\nexport function requestPermissions(\n {values, idmKind}: {values: PermissionToRequest} & HasIdmKind,\n {normalizedPoolTree}: HasNormPoolTree = {},\n): ThunkAclAction {\n return async (dispatch, getState) => {\n const state = getState();\n const {\n global: {cluster = ''},\n } = state;\n\n dispatch({\n type: REQUEST_PERMISSION.REQUEST,\n idmKind,\n });\n\n const {requestPermissionsFlags = {}} = UIFactory.getAclApi();\n\n const daysAfter = dateToDaysAfterNow(values.duration);\n const roles: Array<Role> = [];\n const rolesGroupedBySubject = [];\n const {inheritance_mode, permissionFlags, readColumnGroup, readColumns} = values;\n for (const item of values.subjects) {\n const subject = prepareAclSubject(item);\n const commonPart = {\n subject,\n deprive_after_days: daysAfter,\n ...(inheritance_mode ? {inheritance_mode} : {}),\n };\n Object.entries(requestPermissionsFlags).forEach(([key, flagInfo]) => {\n flagInfo?.applyToRequestedRole(commonPart, permissionFlags?.[key]);\n });\n const flattenPermissions = flatten_(map_(values.permissions));\n if (flattenPermissions.length) {\n rolesGroupedBySubject.push({\n permissions: flattenPermissions,\n ...commonPart,\n });\n }\n if (readColumns?.length) {\n rolesGroupedBySubject.push({\n ...rolesGroupedBySubject[rolesGroupedBySubject.length - 1],\n ...commonPart,\n columns: readColumns,\n permissions: ['read' as const],\n });\n }\n forEach_(values.permissions, (permissions) => {\n roles.push({\n ...convertFromUIPermissions({permissions}),\n ...commonPart,\n });\n });\n if (readColumnGroup) {\n roles.push({\n role_type: 'column_read',\n column_group_id: readColumnGroup,\n ...commonPart,\n });\n }\n }\n\n const poolTree =\n idmKind === IdmObjectType.POOL ? normalizedPoolTree || getTree(state) : undefined;\n\n const requestPermissionsPath = await getPathToCheckPermissions(\n idmKind,\n values.path,\n poolTree,\n );\n\n //cluster, path, roles, comment, columns\n return UIFactory.getAclApi()\n .requestPermissions({\n cluster,\n path: values.path,\n sysPath: requestPermissionsPath,\n roles,\n roles_grouped: rolesGroupedBySubject.map(convertFromUIPermissions),\n comment: values.comment ?? '',\n kind: idmKind,\n poolTree,\n })\n .then(() => {\n dispatch({\n type: REQUEST_PERMISSION.SUCCESS,\n idmKind,\n });\n })\n .catch((error: any) => {\n if (isCancelled(error)) {\n dispatch({type: REQUEST_PERMISSION.CANCELLED, idmKind});\n return undefined;\n } else {\n dispatch({\n type: REQUEST_PERMISSION.FAILURE,\n data: error,\n idmKind,\n });\n return Promise.reject(error);\n }\n });\n };\n}\n\nexport function cancelRequestPermissions({idmKind}: HasIdmKind) {\n return {type: REQUEST_PERMISSION.CANCELLED, idmKind};\n}\n\nexport interface UpdateAclValues {\n responsible: Array<ResponsibleType>;\n auditors: Array<ResponsibleType>;\n readApprovers: Array<ResponsibleType>;\n disableInheritance: boolean;\n bossApproval: boolean;\n inheritAcl: boolean;\n comment: string;\n}\n\nexport function updateAcl(\n {\n path,\n values,\n version,\n idmKind,\n mode,\n }: {\n path: string;\n values: Partial<UpdateAclValues>;\n version?: string;\n mode?: UpdateAclParams['mode'];\n } & HasIdmKind,\n {normalizedPoolTree}: HasNormPoolTree = {},\n): ThunkAclAction {\n return (dispatch, getState) => {\n const state = getState();\n const {\n global: {cluster = ''},\n } = getState();\n\n dispatch({\n type: UPDATE_ACL.REQUEST,\n idmKind,\n });\n\n const poolTree =\n idmKind === IdmObjectType.POOL ? normalizedPoolTree || getTree(state) : undefined;\n return UIFactory.getAclApi()\n .updateAcl(cluster, path, {\n ...values,\n version,\n idmKind,\n poolTree,\n mode,\n })\n .then(() => {\n dispatch({\n type: UPDATE_ACL.SUCCESS,\n idmKind,\n });\n })\n .catch((error) => {\n if (isCancelled(error)) {\n return dispatch({type: UPDATE_ACL.CANCELLED, idmKind});\n } else {\n const data = error?.response?.data || error?.response || error;\n dispatch({\n type: UPDATE_ACL.FAILURE,\n data,\n idmKind,\n });\n return Promise.reject(error);\n }\n });\n };\n}\n\nexport function cancelUpdateAcl({idmKind}: HasIdmKind): AclAction {\n return {type: UPDATE_ACL.CANCELLED, idmKind};\n}\n","import {isMediaTag} from '../../../../../utils/yql-types';\n\nconst getDefaultFormat = () => {\n return '--format json';\n};\n\nconst getImageResultFormat = (columnName: string, tag: string) => {\n const [_, extension] = tag.split('/');\n return `--format \"<columns=[${columnName}];enable_escaping=%false>schemaful_dsv\" >${columnName}.${extension}`;\n};\n\nexport const getCliCommandResultFormat = ({\n tag,\n columnName,\n}: {\n tag?: string;\n columnName: string;\n}) => {\n if (tag && isMediaTag(tag)) {\n return getImageResultFormat(columnName, tag as string);\n }\n\n return getDefaultFormat();\n};\n","import type {CellPreviewActionType} from '../../../modals/cell-preview';\nimport {\n getCurrentRowKey,\n getKeyColumns,\n getYqlTypes,\n} from '../../../../selectors/navigation/content/table-ts';\nimport Query from '../../../../../utils/navigation/content/table/query';\nimport {YTApiId, ytApiV3Id} from '../../../../../rum/rum-wrap-api';\nimport type {CancelTokenSource} from 'axios';\nimport {getCliCommandResultFormat} from './format';\n\nexport const getDynamicTableCellPath = ({\n index,\n path,\n columnName,\n}: {\n path: string;\n columnName: string;\n index: number;\n}): CellPreviewActionType => {\n return (_, getState) => {\n const yqlTypes = getYqlTypes(getState());\n const key = getCurrentRowKey(getState(), index);\n const keyColumns = getKeyColumns(getState());\n\n const offset = Query.prepareKey(key, yqlTypes);\n\n return Query.prepareQuery({\n path,\n offset,\n offsetColumns: keyColumns,\n columns: [columnName],\n limit: 1,\n });\n };\n};\n\nexport const getDynamicTableCliCommand = ({\n cellPath,\n tag,\n columnName,\n}: {\n cellPath: string;\n columnName: string;\n tag?: string;\n}): string => {\n return `yt select-rows 'select ${cellPath}' ${getCliCommandResultFormat({columnName, tag})}`;\n};\n\nexport const loadDynamicTableCellPreview = ({\n cellPath,\n output_format,\n cancellation,\n}: {\n cellPath: string;\n output_format: any;\n cancellation: (token: CancelTokenSource) => void;\n}) => {\n return async () => {\n const setup = {};\n\n return await ytApiV3Id.selectRows(YTApiId.dynTableSelectRowsPreload, {\n setup,\n parameters: {\n output_format,\n query: cellPath,\n },\n cancellation,\n });\n };\n};\n","import {type CellPreviewActionType} from '../../../modals/cell-preview';\nimport {getOffsetValue} from '../../../../selectors/navigation/content/table';\nimport type {CancelTokenSource} from 'axios';\nimport {ytApiV4} from '../../../../../rum/rum-wrap-api';\nimport {YSON_AS_TEXT, prettyPrint} from '../../../../../utils/unipika';\nimport {getCliCommandResultFormat} from './format';\n\nexport const getStaticTableCellPath = ({\n path,\n columnName,\n index,\n}: {\n path: string;\n columnName: string;\n index: number;\n}): CellPreviewActionType => {\n return (_, getState) => {\n const offset = getOffsetValue(getState());\n\n const rowIndex = typeof offset === 'number' ? index + offset : index;\n\n return `${path}{${prettyPrint(columnName, YSON_AS_TEXT())}}[#${rowIndex}:#${rowIndex + 1}]`;\n };\n};\n\nexport const getStaticTableCliCommand = ({\n cellPath,\n columnName,\n tag,\n}: {\n cellPath: string;\n columnName: string;\n tag?: string;\n}): string => {\n return `yt read-table '${cellPath}' ${getCliCommandResultFormat({columnName, tag})}`;\n};\n\nexport const loadStaticTableCellPreview = ({\n cellPath,\n output_format,\n cancellation,\n}: {\n cellPath: string;\n output_format: any;\n cancellation: (token: CancelTokenSource) => void;\n}): CellPreviewActionType => {\n return async () => {\n return await ytApiV4.readTable({\n parameters: {\n path: cellPath,\n output_format,\n },\n cancellation,\n });\n };\n};\n","import {getPath} from '../../../../selectors/navigation';\nimport {batch} from 'react-redux';\nimport {getDefaultRequestOutputFormat} from '../../../../../utils/navigation/content/table/table';\nimport {CELL_PREVIEW, PREVIEW_LIMIT} from '../../../../../constants/modals/cell-preview';\nimport {isCancelled} from '../../../../../utils/cancel-helper';\nimport {\n CellPreviewActionType,\n cellPreviewCancelHelper,\n openCellPreview,\n} from '../../../modals/cell-preview';\nimport unipika from '../../../../../common/thor/unipika';\nimport {getIsDynamic} from '../../../../selectors/navigation/content/table-ts';\nimport {\n getDynamicTableCellPath,\n getDynamicTableCliCommand,\n loadDynamicTableCellPreview,\n} from './dynamic-table';\nimport {\n getStaticTableCellPath,\n getStaticTableCliCommand,\n loadStaticTableCellPreview,\n} from './static-table';\nimport {isYqlTypesEnabled} from '../../../../selectors/navigation/content/table';\n\nconst getCellPath = ({\n columnName,\n index,\n}: {\n columnName: string;\n index: number;\n}): CellPreviewActionType => {\n return (dispatch, getState) => {\n const path: string = getPath(getState());\n const isDynamic = getIsDynamic(getState());\n\n const action = isDynamic ? getDynamicTableCellPath : getStaticTableCellPath;\n\n return dispatch(action({path, columnName, index}));\n };\n};\n\nconst getCliCommand = ({\n cellPath,\n columnName,\n tag,\n}: {\n cellPath: string;\n columnName: string;\n tag?: string;\n}): CellPreviewActionType => {\n return (_dispatch, getState) => {\n const isDynamic = getIsDynamic(getState());\n\n const fn = isDynamic ? getDynamicTableCliCommand : getStaticTableCliCommand;\n\n return fn({cellPath, columnName, tag});\n };\n};\n\nconst loadCellPreview = ({\n cellPath,\n useYqlTypes,\n}: {\n cellPath: string;\n useYqlTypes: boolean;\n}): CellPreviewActionType => {\n return (dispatch, getState) => {\n const isDynamic = getIsDynamic(getState());\n\n const output_format: any = getDefaultRequestOutputFormat({\n stringLimit: PREVIEW_LIMIT,\n });\n\n if (useYqlTypes) {\n output_format.$attributes.value_format = 'yql';\n }\n\n const action = isDynamic ? loadDynamicTableCellPreview : loadStaticTableCellPreview;\n\n return dispatch(\n action({\n cellPath,\n output_format,\n cancellation: cellPreviewCancelHelper.removeAllAndSave,\n }),\n );\n };\n};\n\nexport const showCellPreviewModal = (\n columnName: string,\n index: number,\n tag?: string,\n): CellPreviewActionType => {\n return async (dispatch, getState) => {\n const useYqlTypes = isYqlTypesEnabled(getState());\n\n const cellPath = dispatch(getCellPath({columnName, index}));\n\n const ytCliDownloadCommand: string = dispatch(getCliCommand({cellPath, columnName, tag}));\n\n batch(() => {\n dispatch({type: CELL_PREVIEW.REQUEST, data: {ytCliDownloadCommand}});\n dispatch(openCellPreview());\n });\n\n const data: {\n $type?: string;\n $value?: any;\n $tag?: string;\n } = {};\n\n let isIncomplete = false;\n\n try {\n const json = await dispatch(loadCellPreview({cellPath, useYqlTypes}));\n\n const parsed = JSON.parse(json);\n\n const column = parsed.rows[0][columnName];\n\n if (useYqlTypes) {\n const value = column[0];\n const typeIndex = column[1];\n\n const flags: {incomplete: boolean} = {incomplete: false};\n\n const {$type, $value, $tag} = unipika.converters.yql(\n [value, parsed.yql_type_registry[typeIndex]],\n {\n maxStringSize: undefined,\n maxListSize: undefined,\n treatValAsData: true,\n },\n flags,\n );\n\n isIncomplete = flags.incomplete;\n\n data.$type = $type;\n data.$value = $tag ? $value.$value : $value;\n data.$tag = $tag;\n } else {\n const hasType = column && column.$type;\n\n data.$type = column.$type;\n data.$value = hasType ? column.$value : column;\n\n isIncomplete = column.$incomplete;\n }\n\n const noticeText = isIncomplete\n ? 'Unable to load content more than 16MiB. Please use the command bellow to load it locally.'\n : 'You could use the command bellow to load it locally.';\n\n dispatch({\n type: CELL_PREVIEW.SUCCESS,\n data: {\n data,\n noticeText,\n },\n });\n } catch (error: any) {\n if (!isCancelled(error)) {\n dispatch({type: CELL_PREVIEW.FAILURE, data: {error}});\n }\n }\n };\n};\n","import {RootState} from '../reducers';\n\nexport function getExecuteBatchState(state: RootState) {\n return state.executeBatch;\n}\n\nexport const getApproversSubjectFilter = (state: RootState) => state.aclFilters.approversSubject;\nexport const getObjectSubjectFilter = (state: RootState) => state.aclFilters.objectSubject;\nexport const getObjectPermissionsFilter = (state: RootState) => state.aclFilters.objectPermissions;\nexport const getAclFilterColumns = (state: RootState) => state.aclFilters.columnsFilter;\nexport const getAclFilterColumnGroupName = (state: RootState) =>\n state.aclFilters.columnGroupNameFilter;\nexport const getAclFilterExpandedSubjects = (state: RootState) => state.aclFilters.expandedSubjects;\nexport const getAclCurrentTab = (state: RootState) => state.aclFilters.aclCurrentTab;\n","import {createSelector} from 'reselect';\n\nimport compact_ from 'lodash/compact';\nimport filter_ from 'lodash/filter';\nimport flatten_ from 'lodash/flatten';\nimport forEach_ from 'lodash/forEach';\nimport map_ from 'lodash/map';\nimport sortBy_ from 'lodash/sortBy';\nimport uniq_ from 'lodash/uniq';\nimport partition_ from 'lodash/partition';\nimport isEqual_ from 'lodash/isEqual';\nimport some_ from 'lodash/some';\n\nimport {calculateLoadingStatus} from '../../utils/utils';\nimport {concatByAnd} from '../../common/hammer/predicate';\nimport {\n getAclFilterColumnGroupName,\n getAclFilterColumns,\n getAclFilterExpandedSubjects,\n getApproversSubjectFilter,\n getObjectPermissionsFilter,\n getObjectSubjectFilter,\n} from './acl-filters';\nimport UIFactory from '../../UIFactory';\nimport {RootState} from '../../store/reducers';\nimport {IdmKindType, PreparedAclSubject} from '../../utils/acl/acl-types';\nimport {YTPermissionTypeUI} from '../../utils/acl/acl-api';\nimport {PreparedRole} from '../../utils/acl';\n\nexport type PreparedAclSubjectColumn = Omit<PreparedAclSubject, 'type'> & {type: 'columns'};\n\nfunction prepareColumnsNames(columnsPermissions: Array<{columns?: Array<string>}>) {\n const columns = map_(columnsPermissions, (permission) => permission.columns);\n\n return compact_(uniq_(flatten_(columns))).sort();\n}\n\nfunction prepareApprovers(\n approvers: Array<PreparedRole> | undefined,\n type: 'read_approver' | 'responsible' | 'auditor',\n) {\n return map_(approvers, (subject) => {\n const extra = {\n type,\n subjects: [subject.value],\n subjectType: subject.type === 'users' ? ('user' as const) : ('group' as const),\n groupInfo:\n subject.type === 'groups'\n ? {name: subject.group_name, url: subject.url, group: undefined}\n : undefined,\n action: undefined,\n };\n return {\n ...subject,\n ...extra,\n };\n });\n}\n\nexport type PreparedApprover = ReturnType<typeof prepareApprovers>[number];\n\nexport const getAllUserPermissions = (state: RootState, idmKind: IdmKindType) =>\n state.acl[idmKind].userPermissions;\nconst getAllObjectPermissions = (state: RootState, idmKind: IdmKindType) =>\n state.acl[idmKind].objectPermissions;\n\nconst getAllObjectPermissionsWithSplittedSubjects = createSelector(\n [getAllObjectPermissions],\n splitSubjects,\n);\n\nexport const getObjectPermissionsTypesList = (idmKind: IdmKindType) => {\n return createSelector(\n [\n getObjectPermissionsFilter,\n (state) => getAllObjectPermissionsWithSplittedSubjects(state, idmKind),\n ],\n (permissionsFilter, items) => {\n const uniquePermisions = new Set<YTPermissionTypeUI>();\n const {permissionTypes} = UIFactory.getAclPermissionsSettings()[idmKind] || {};\n [...permissionTypes, ...permissionsFilter].forEach((permission) =>\n uniquePermisions.add(permission),\n );\n items.forEach((item) => {\n const {permissions} = item;\n permissions?.forEach((permission) => uniquePermisions.add(permission));\n });\n return sortBy_([...uniquePermisions], (permission) => permission);\n },\n );\n};\n\ntype HasSplitted = {\n isSplitted?: boolean;\n subjectIndex?: number;\n};\n\nfunction splitSubjects<T extends {subjects: Array<unknown>}>(items: Array<T>) {\n const res: Array<T & HasSplitted> = [];\n forEach_(items, (item) => {\n const {subjects} = item;\n if (subjects && subjects.length > 1) {\n forEach_(subjects, (subject, index) => {\n res.push({...item, subjects: [subject], isSplitted: true, subjectIndex: index});\n });\n } else {\n res.push(item);\n }\n });\n return res;\n}\n\nfunction subjectFilterPredicate<\n T extends {subjectType?: unknown; groupInfo?: unknown; subjects: Array<unknown>},\n>(item: T, filter: string) {\n const {subjectType, groupInfo} = item;\n if (subjectType === 'group') {\n return some_(Object.entries(groupInfo ?? {}), ([key, value]) => {\n let str: string | undefined = String(value);\n if (key === 'url') {\n if (str[str.length - 1] === '/') str = str.slice(0, -1);\n str = str.split('/').pop();\n }\n return -1 !== str?.toLowerCase().indexOf(filter);\n });\n }\n const value = String(item.subjects[0] ?? '');\n return -1 !== value.toLowerCase().indexOf(filter);\n}\n\nfunction FilterBySubject<\n T extends {subjectType?: unknown; groupInfo?: unknown; subjects: Array<unknown>},\n>(items: Array<T>, subjectFilter?: string) {\n if (!subjectFilter) return items;\n const lowerNameFilter = subjectFilter.toLowerCase();\n return filter_(items, (item) => subjectFilterPredicate(item, lowerNameFilter));\n}\n\nconst permissionsFilterPredicate = (item: PreparedAclSubject, filter: Set<YTPermissionTypeUI>) => {\n const {permissions} = item;\n let foundCount = 0;\n return permissions?.some((p) => {\n if (filter.has(p)) {\n foundCount++;\n }\n return foundCount >= filter.size;\n });\n};\n\ntype ObjectPermissionsRow = PreparedAclSubject & HasSplitted;\n\nexport const getAllObjectPermissionsFiltered = createSelector(\n [\n getAllObjectPermissionsWithSplittedSubjects,\n getObjectSubjectFilter,\n getObjectPermissionsFilter,\n getAclFilterColumns,\n ],\n (items, subjectFilter, permissionsFilter, columns) => {\n const [mainPermissions, columnPermissions] = partition_(\n items,\n (item) => !item.columns?.length,\n );\n\n const withColumns = columnPermissions.map((item) => {\n return {...item, columns: sortBy_(item.columns)};\n });\n\n const lowerNameFilter = subjectFilter?.toLocaleLowerCase();\n const filterBySubject = lowerNameFilter\n ? (item: ObjectPermissionsRow) => subjectFilterPredicate(item, lowerNameFilter)\n : undefined;\n\n const permissionsFilterSet = new Set<YTPermissionTypeUI>(permissionsFilter);\n const filterByPermissions = permissionsFilterSet.size\n ? (item: ObjectPermissionsRow) =>\n permissionsFilterPredicate(item, permissionsFilterSet) ?? false\n : undefined;\n\n const visibleColumns = new Set(columns);\n const filterByColumns = visibleColumns.size\n ? ({columns}: ObjectPermissionsRow) => {\n return columns?.some((colName) => visibleColumns.has(colName)) ?? false;\n }\n : undefined;\n\n const mainPredicates = compact_([filterBySubject, filterByPermissions]);\n const columnsPredicates = compact_([filterBySubject, filterByColumns]);\n return {\n mainPermissions: mainPredicates.length\n ? mainPermissions.filter(concatByAnd(...mainPredicates))\n : mainPermissions,\n columnsPermissions: columnsPredicates.length\n ? withColumns.filter(concatByAnd(...columnsPredicates))\n : withColumns,\n };\n },\n);\n\nexport const getObjectPermissionsAggregated = createSelector(\n [getAllObjectPermissionsFiltered, getAclFilterExpandedSubjects],\n ({mainPermissions, columnsPermissions}, expandedSubjects) => {\n return {\n mainPermissions: {\n ...aggregateBySubject(mainPermissions, expandedSubjects),\n count: mainPermissions.length,\n },\n columnsPermissions: {\n ...aggregateBySubject(columnsPermissions, expandedSubjects),\n count: columnsPermissions.length,\n },\n };\n },\n);\n\nclass AggregateBySubject {\n aggrKey: string;\n subject: ObjectPermissionsRow['subjects'][number];\n inherited: boolean;\n\n allPermissions = new Set<YTPermissionTypeUI>();\n columns = new Set<string>();\n first: ObjectPermissionsRow;\n children = new Array<ObjectPermissionsRow & {expanded?: boolean; level?: number}>();\n\n constructor(first: AggregateBySubject['first']) {\n if (first.subjects.length > 1) {\n throw new Error(\n `Unexpected behavior: more than one subject occured: ${first.subjects.join(',')}`,\n );\n }\n\n this.aggrKey = aggregationKey(first);\n this.inherited = Boolean(first.inherited);\n this.subject = first.subjects[0];\n this.first = {...first};\n this.add(first);\n }\n\n add(item: ObjectPermissionsRow) {\n const aggrKey = aggregationKey(item);\n if (this.aggrKey !== aggrKey) {\n throw new Error(\n `Unexpected behavior: aggregation keys are not queal: ${this.aggrKey} !== ${aggrKey}`,\n );\n }\n\n if (item.subjects.length !== 1) {\n throw new Error(\n `Unexpected behavior: item.subjects.length !== 1: ${JSON.stringify(item)}`,\n );\n }\n\n const child = {...item, permissions: [...(item.permissions ?? [])]};\n this.children.push(child);\n\n child.permissions?.sort();\n child.permissions?.forEach((p) => {\n this.allPermissions.add(p);\n });\n item.columns?.forEach((column) => this.columns.add(column));\n\n this.first.isMissing ||= Boolean(item.isMissing);\n this.first.isUnrecognized ||= Boolean(item.isUnrecognized);\n this.first.isApproved ||= Boolean(item.isApproved);\n this.first.isRequested ||= Boolean(item.isRequested);\n }\n\n getItems(expanded: boolean): {\n items: AggregateBySubject['children'];\n hasExpandable?: boolean;\n hasDenyAction?: boolean;\n hasInherited?: boolean;\n } {\n const hasInherited = this.inherited;\n if (this.children.length === 1) {\n return {items: this.children, hasInherited};\n }\n\n const first: typeof this.first & {level?: number; expanded?: boolean} = {\n ...this.first,\n level: 0,\n expanded,\n };\n first.permissions = [...this.allPermissions].sort();\n first.columns = [...this.columns].sort();\n\n let hasDenyAction = false;\n const items = !expanded\n ? [first]\n : [\n first,\n ...sortBy_(this.children, ['inheritance_mode', 'permissions']).map((i) => {\n hasDenyAction ||= i.action === 'deny';\n return {...i, level: 1};\n }),\n ];\n\n this.children.forEach((i) => {\n if (i.inheritance_mode !== first.inheritance_mode) {\n first.inheritance_mode = undefined;\n }\n if (!isEqual_(this.first.inheritedFrom, i.inheritedFrom)) {\n first.inheritedFrom = undefined;\n }\n });\n\n return {items, hasExpandable: true, hasDenyAction, hasInherited};\n }\n}\n\nexport type ObjectPermissionRowWithExpand = AggregateBySubject['children'][number];\n\nfunction aggregationKey(item: ObjectPermissionsRow) {\n const {\n inherited,\n subjects: [subject],\n } = item;\n return `subject:${subject}_inherited:${Boolean(inherited)}`;\n}\n\nfunction aggregateBySubject(\n objPermissions: Array<ObjectPermissionsRow>,\n expandedSubjects: Set<string | number>,\n) {\n const aggregated: Record<string, AggregateBySubject> = {};\n\n objPermissions.forEach((item) => {\n const aggKey = aggregationKey(item);\n const dst = aggregated[aggKey];\n if (!dst) {\n aggregated[aggKey] = new AggregateBySubject(item);\n } else {\n dst.add(item);\n }\n });\n\n const res = Object.values(aggregated).reduce(\n (acc, item) => {\n const {items, hasExpandable, hasInherited} = item.getItems(\n expandedSubjects.has(item.subject),\n );\n acc.items = acc.items.concat(items);\n acc.hasExpandable ||= hasExpandable;\n acc.hasInherited ||= hasInherited;\n return acc;\n },\n {items: []} as ReturnType<AggregateBySubject['getItems']>,\n );\n\n const [inherited, other] = partition_(res.items, (item) => item.inherited);\n\n return {\n ...res,\n items: [...inherited, ...other],\n };\n}\n\nexport const getAllObjectPermissionsOrderedByStatus = createSelector(\n [getAllObjectPermissions],\n OrderByRoleStatus,\n);\nexport const getAllColumnGroups = (state: RootState, idmKind: IdmKindType) =>\n state.acl[idmKind].columnGroups;\nexport const getAllColumnGroupsActual = createSelector(\n [getAllColumnGroups, getAclFilterColumns, getAclFilterColumnGroupName],\n (items, columnsFilter, nameFilter) => {\n const visibleColumns = new Set(columnsFilter);\n type ItemType = (typeof items)[number];\n const nameFilterLower = nameFilter?.toLowerCase();\n const predicates = compact_([\n (item: ItemType) => {\n return !item.removed;\n },\n visibleColumns.size > 0\n ? (item: ItemType) => {\n return item.columns?.some((name) => visibleColumns.has(name)) ?? false;\n }\n : undefined,\n nameFilterLower?.length\n ? (item: ItemType) =>\n -1 !== item.name?.toLowerCase().indexOf(nameFilterLower) ?? false\n : undefined,\n ]);\n const filtered = filter_(items, concatByAnd(...predicates)).map((item) => {\n return {...item, columns: sortBy_(item.columns)};\n });\n return sortBy_(filtered, ['name']);\n },\n);\n\nfunction OrderByRoleStatus<\n T extends {\n isDepriving?: boolean;\n isRequested?: boolean;\n isUnrecognized?: boolean;\n isApproved?: boolean;\n },\n>(items: Array<T>) {\n const unrecognized: typeof items = [];\n const requested: typeof items = [];\n const depriving: typeof items = [];\n const rest: typeof items = [];\n forEach_(items, (item) => {\n const {isDepriving, isRequested, isUnrecognized, isApproved} = item;\n if (isUnrecognized) {\n unrecognized.push(item);\n } else if (isDepriving) {\n depriving.push(item);\n } else if (isRequested || isApproved) {\n requested.push(item);\n } else {\n rest.push(item);\n }\n });\n return [...requested, ...depriving, ...unrecognized, ...rest];\n}\n\nfunction OrderByInheritanceAndSubject<T extends {inherited?: boolean; subjects: Array<unknown>}>(\n items: Array<T>,\n) {\n const res = sortBy_(items, [\n (item) => !item.inherited,\n (item) => (item.subjects && item.subjects[0]) || true,\n ]);\n return res;\n}\n\nconst getReadApprovers = (state: RootState, idmKind: IdmKindType) =>\n state.acl[idmKind].readApprovers;\nconst getResponsibles = (state: RootState, idmKind: IdmKindType) => state.acl[idmKind].responsible;\nconst getAuditors = (state: RootState, idmKind: IdmKindType) => state.acl[idmKind].auditors;\n\nexport const getNotInheritedReadApprovers = createSelector([getReadApprovers], (readApprovers) =>\n filter_(readApprovers, (readApprover) => !readApprover.inherited),\n);\nexport const getNotInheritedResponsibles = createSelector([getResponsibles], (responsibles) =>\n filter_(responsibles, (responsible) => !responsible.inherited),\n);\nexport const getNotInheritedAuditors = createSelector([getAuditors], (auditros) =>\n filter_(auditros, (auditro) => !auditro.inherited),\n);\n\nconst getAllApprovers = createSelector(\n [getReadApprovers, getResponsibles, getAuditors],\n (readApprovers, responsibles, auditros) => {\n return [\n ...prepareApprovers(readApprovers, 'read_approver'),\n ...prepareApprovers(responsibles, 'responsible'),\n ...prepareApprovers(auditros, 'auditor'),\n ];\n },\n);\n\nexport const getHasApprovers = createSelector([getAllApprovers], (items) => items.length > 0);\n\nexport const getApproversFiltered = createSelector(\n [getAllApprovers, getApproversSubjectFilter],\n FilterBySubject,\n);\n\nexport const getApproversFilteredAndOrdered = createSelector(\n [getApproversFiltered],\n OrderByInheritanceAndSubject,\n);\n\nexport const getApprovers = createSelector([getAllApprovers], OrderByRoleStatus);\n\nexport const getAllAccessColumnsPermissions = createSelector(\n [getAllObjectPermissions],\n (objectPermissions) => {\n const filteredPermissions = filter_(\n objectPermissions,\n (permission) => permission.action === 'allow' && permission.columns?.length! > 0,\n );\n\n return map_(filteredPermissions, (item) => {\n const tmp: typeof item = {...item};\n tmp.type = 'columns';\n return tmp;\n });\n },\n);\n\nconst getAllDenyColumnsPermissions = createSelector(\n [getAllObjectPermissions],\n (objectPermissions) => {\n const filteredPermissions = filter_(\n objectPermissions,\n (permission) => permission.action === 'deny' && permission.columns?.length! > 0,\n );\n\n return map_(\n filteredPermissions,\n (permission) =>\n ({\n ...permission,\n type: 'columns',\n }) as PreparedAclSubjectColumn,\n );\n },\n);\n\nexport const getAllAccessColumnsNames = createSelector(\n [getAllAccessColumnsPermissions],\n prepareColumnsNames,\n);\n\nexport const getAllDenyColumnsNames = createSelector(\n [getAllDenyColumnsPermissions],\n prepareColumnsNames,\n);\n\nexport const getDenyColumnsItems = createSelector([getAllDenyColumnsNames], (names) =>\n map_(names, (name) => ({key: name, value: name, title: name})),\n);\n\nexport const isPermissionDeleted = (state: RootState, idmKind: IdmKindType) =>\n state.acl[idmKind].isPermissionDeleted;\nexport const permissionDeletionError = (state: RootState, idmKind: IdmKindType) =>\n state.acl[idmKind].deletionError;\nexport const getLastDeletedPermissionKey = (state: RootState, idmKind: IdmKindType) =>\n state.acl[idmKind].deletedItemKey;\nexport const getIdmPermissionsRequestError = (state: RootState, idmKind: IdmKindType) =>\n state.acl[idmKind].idmPermissionsRequestError;\nexport const getIdmManageAclRequestError = (state: RootState, idmKind: IdmKindType) =>\n state.acl[idmKind].idmManageAclRequestError;\nexport const getIdmPathVersion = (state: RootState, idmKind: IdmKindType) =>\n state.acl[idmKind].version;\n\nconst getAclLoading = (state: RootState, idmKind: IdmKindType) => state.acl[idmKind].loading;\nconst getAclLoaded = (state: RootState, idmKind: IdmKindType) => state.acl[idmKind].loaded;\nconst getAclError = (state: RootState, idmKind: IdmKindType) => state.acl[idmKind].error;\n\nexport const getAclLoadState = createSelector(\n [getAclLoading, getAclLoaded, getAclError],\n (loading, loaded, error) => {\n return calculateLoadingStatus(loading, loaded, error);\n },\n);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport block from 'bem-cn-lite';\nimport unipika from '../../common/thor/unipika';\n\nimport ErrorBoundary from '../../components/ErrorBoundary/ErrorBoundary';\nimport Yson from '../../components/Yson/Yson';\nimport {UnipikaSettings} from '../../components/Yson/StructuredYson/StructuredYsonTypes';\n\n/**\n * See unipika for more details\n */\nexport type UnipikaValueType = Array<string | UnipikaValueType>;\n\nexport type YqlValueProps = {\n value?: unknown;\n type: UnipikaValueType;\n settings: UnipikaSettings;\n inline?: boolean;\n};\n\nexport default class YqlValue extends React.Component<YqlValueProps> {\n static propTypes = {\n settings: PropTypes.object,\n value: PropTypes.any,\n type: PropTypes.array,\n inline: PropTypes.bool,\n };\n\n static defaultProps = {\n inline: false,\n folding: false,\n settings: Yson.defaultUnipikaSettings,\n };\n\n static getFormattedValue(value: unknown, type: UnipikaValueType, settings: UnipikaSettings) {\n const yqlValue = [value, type];\n\n return settings.format === 'raw-json'\n ? unipika.formatRaw(yqlValue, settings)\n : unipika.formatFromYQL(yqlValue, settings);\n }\n\n render() {\n const {value, type, inline, settings} = this.props;\n\n const formattedValue = YqlValue.getFormattedValue(value, type, settings);\n\n let title;\n\n if (inline) {\n const titleSettings = Object.assign({}, settings, {\n asHTML: false,\n });\n\n title =\n settings.format === 'raw-json'\n ? unipika.formatRaw(value, titleSettings)\n : unipika.formatFromYQL(value, titleSettings);\n }\n\n const classes = block('unipika-wrapper')({\n inline: inline && 'yes',\n });\n\n return (\n <ErrorBoundary>\n {settings.asHTML ? (\n <div className={classes} title={title} dir=\"auto\">\n <pre\n className=\"unipika\"\n dangerouslySetInnerHTML={{__html: formattedValue}}\n />\n </div>\n ) : (\n <div\n className={classes}\n title={title}\n dir=\"auto\"\n dangerouslySetInnerHTML={{__html: formattedValue}}\n />\n )}\n </ErrorBoundary>\n );\n }\n}\n","import React, {useState} from 'react';\nimport cn from 'bem-cn-lite';\nimport copyToClipboard from 'copy-to-clipboard';\n\nimport {Button, Flex, Icon as UIKitIcon} from '@gravity-ui/uikit';\nimport {Eye} from '@gravity-ui/icons';\n\nimport unipika from '../../common/thor/unipika';\nimport ClipboardButton from '../../components/ClipboardButton/ClipboardButton';\nimport YqlValue from '../../components/YqlValue/YqlValue';\nimport Yson from '../../components/Yson/Yson';\nimport Label from '../../components/Label/Label';\nimport {TypeArray} from '../../components/SchemaDataType/dataTypes';\nimport {Tooltip} from '../../components/Tooltip/Tooltip';\nimport {UnipikaSettings} from '../../components/Yson/StructuredYson/StructuredYsonTypes';\n\nimport './ColumnCell.scss';\n\nconst block = cn('yt-column-cell');\n\nfunction unquote(v: string) {\n const match = /^\"(.*)\"$/.exec(v);\n return match ? match[1] : v;\n}\n\ntype CellValueType =\n | null\n | (CellValueData & {\n $incomplete?: boolean;\n [k: number]: {inc?: boolean};\n });\n\ntype CellValueData = {$type: string; $value: string} | {$type?: undefined; $value: unknown};\n\ntype ColumnCellProps = {\n className?: string;\n\n value?: CellValueType | null;\n yqlTypes: Array<TypeArray> | null;\n ysonSettings: UnipikaSettings;\n allowRawStrings?: boolean | null;\n rowIndex: number;\n columnName: string;\n onShowPreview: (columnName: string, rowIndex: number, tag?: string) => void;\n};\n\nexport function ColumnCell({\n value = null,\n yqlTypes,\n ysonSettings,\n allowRawStrings,\n className,\n rowIndex,\n columnName,\n onShowPreview,\n}: ColumnCellProps) {\n const [hovered, setHovered] = useState(false);\n const handleMouseEnter = () => setHovered(true);\n const handleMouseLeave = () => setHovered(false);\n\n const formatType = yqlTypes && value ? yqlTypes[Number(value[1])] : undefined;\n\n const escapedValue =\n formatType && value\n ? YqlValue.getFormattedValue(value[0], formatType, {\n ...ysonSettings,\n asHTML: false,\n })\n : unipika.prettyprint(value, {...ysonSettings, asHTML: false});\n const formattedValue =\n formatType && value ? (\n <YqlValue value={value[0]} type={formatType} settings={ysonSettings} />\n ) : (\n <Yson value={value} settings={ysonSettings} />\n );\n\n const {tag, isIncompleteTagged, isIncompleteValue} = React.useMemo(() => {\n let isIncompleteTagged = false;\n let isIncompleteValue = false;\n let tag: string | undefined;\n\n if (value && formatType) {\n const flags: {incomplete: boolean} = {incomplete: false};\n\n const {$tag} = unipika.converters.yql([value[0], formatType], ysonSettings, flags);\n\n isIncompleteValue = flags.incomplete;\n isIncompleteTagged = flags.incomplete && $tag;\n tag = $tag;\n } else if (value) {\n isIncompleteValue = Boolean(value.$incomplete);\n }\n\n return {tag, isIncompleteTagged, isIncompleteValue};\n }, [value, formatType, ysonSettings]);\n\n const allowRawCopy = value?.$type === 'string';\n const useRawString = allowRawCopy && allowRawStrings;\n let copyTooltip = 'Hold SHIFT-key to copy raw value';\n if (useRawString) {\n copyTooltip = 'Hold SHIFT-key to copy escaped value';\n }\n\n const visibleValue = !useRawString ? (\n formattedValue\n ) : (\n <div className={'unipika-wrapper'}>\n <pre className={'unipika'}>\n <span className={'string'}>{value?.$value}</span>\n </pre>\n </div>\n );\n\n return (\n <div\n className={block(null, className) /*dataTableBlock('value')*/}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n >\n {isIncompleteTagged ? (\n <Label theme=\"warning\" text={`Incomplete '${tag}' type`} />\n ) : (\n visibleValue\n )}\n {(hovered || isIncompleteTagged) && (\n <div className={block('control-button-wrapper')}>\n <Flex alignItems=\"center\">\n {value && !isIncompleteValue && (\n <Tooltip\n content={\n !allowRawCopy ? undefined : (\n <span className={block('copy-value-tooltip')}>\n {copyTooltip}\n </span>\n )\n }\n >\n <ClipboardButton\n view=\"flat-secondary\"\n size=\"m\"\n text={useRawString ? value.$value : unquote(escapedValue)}\n onCopy={(event: React.MouseEvent) => {\n if (event?.shiftKey && allowRawCopy) {\n copyToClipboard(\n useRawString ? unquote(escapedValue) : value.$value,\n );\n }\n }}\n />\n </Tooltip>\n )}\n {isIncompleteValue && (\n <Button\n view=\"flat-secondary\"\n size=\"m\"\n qa=\"truncated-preview-button\"\n onClick={() => onShowPreview(columnName, rowIndex, tag)}\n >\n <UIKitIcon data={Eye} size=\"12\" />\n </Button>\n )}\n </Flex>\n </div>\n )}\n </div>\n );\n}\n","import React from 'react';\nimport {Tooltip} from '../../components/Tooltip/Tooltip';\nimport SchemaDataType from '../../components/SchemaDataType/SchemaDataType';\nimport Yson from '../../components/Yson/Yson';\nimport unipika from '../../common/thor/unipika';\nimport Icon from '../../components/Icon/Icon';\nimport {ColumnCell} from '../../components/ColumnCell/ColumnCell';\n\nimport map_ from 'lodash/map';\n\nimport {TypeArray} from '../../components/SchemaDataType/dataTypes';\nimport type {YsonSettings} from '../../store/selectors/thor/unipika';\n\nexport function prepareColumns({\n columns,\n keyColumns,\n yqlTypes,\n ysonSettings,\n useRawStrings,\n schemaByName,\n onShowPreview,\n}: {\n columns: {name: string; sortOrder?: string}[];\n keyColumns: string[];\n yqlTypes: TypeArray[] | null;\n ysonSettings: YsonSettings;\n useRawStrings: boolean | null | undefined;\n schemaByName: Record<string, any>;\n onShowPreview: (columnName: string, rowIndex: number, tag?: string) => void;\n}) {\n return map_(columns, (column) => {\n const render = ({value, index}: {value?: any; index: number; row: any}) => (\n <ColumnCell\n allowRawStrings={useRawStrings}\n value={value}\n yqlTypes={yqlTypes || []}\n ysonSettings={ysonSettings}\n rowIndex={index}\n columnName={column.name}\n onShowPreview={onShowPreview}\n />\n );\n const {sortOrder} = column;\n const isKeyColumn = keyColumns.indexOf(column.name) > -1;\n const {type_v3} = schemaByName[column.name] || {};\n const header = (\n <Tooltip content={Boolean(type_v3) && <SchemaDataType type_v3={type_v3} />}>\n <Yson value={unipika.unescapeKeyValue(column.name)} settings={ysonSettings} inline>\n {isKeyColumn && (\n <Icon\n awesome={\n sortOrder === 'descending'\n ? 'sort-amount-up'\n : 'sort-amount-down-alt'\n }\n />\n )}\n </Yson>\n </Tooltip>\n );\n return Object.assign({}, column, {render, header});\n });\n}\n"],"names":["props","_jsx","_objectSpread","xmlns","fill","viewBox","children","d","b","block","Info","_ref","className","_jsxs","Icon","data","infoIcon","SchemaDataType","type_v3","primitiveTypes","useSelector","getPrimitiveTypesMap","dataTypeProps","React","getType","parseV3Type","_unused","DataType","_Fragment","cn","FLAG_NAME_PREFIX","SHORT_TITLE","access_control_object","COLUMNS_FELDS","Set","compose","withVisible","_SHORT_TITLE$idmKind","aclMode","visible","handleShow","handleClose","buttonClassName","path","idmKind","requestPermissions","cancelRequestPermissions","error","cluster","columnGroups","buttonProps","onClose","useCallback","_UIFactory$getAclApi","UIFactory","getAclApi","requestPermissionsFields","_UIFactory$getAclApi$","requestPermissionsFlags","buttonsTitle","onAdd","form","values","getState","permissionFlags","Object","keys","forEach","k","key","concat","Boolean","currentCaption","_UIFactory$getAclPerm","getAclPermissionsSettings","permissionsToRequest","getAvailablePermissions","_React$useState","undefined","_React$useState2","_slicedToArray","availablePermissions","setAvailablePermissions","onShow","_asyncToGenerator","_regeneratorRuntime","_callee","value","_context","prev","next","sent","t0","finish","stop","firstItemDisabled","IdmObjectType","ACCOUNT","choices","permissions","length","_defineProperty","PermissionsControl","getChoiceName","valueWithCheckedFirstChoice","availableFields","useMemo","disabledChoices","type","caption","extras","disabled","required","tooltip","docsUrl","makeLink","docsUrls","readColumns","readColumnGroup","subjects","placeholder","allowedTypes","duration","commentHeader","comment","inheritance_mode","items","map_","INHERITANCE_MODE_TYPES","text","hammer","format","hideClear","hideFilter","with","useColumns","AclMode","COLUMN_GROUPS_PERMISSISONS","dialogFields","flagsIndex","res","reduce","acc","field","has","push","name","flags","map","flagInfo","ReadableField","title","help","initialValue","splice","apply","_toConsumableArray","_ref2","_ref2$editAcl","editAcl","_ref2$editColumnsAcl","editColumnsAcl","ErrorBoundary","Button","view","onClick","YTDFDialog","pristineSubmittable","headerProps","initialValues","OBJECT_AND_DESCENDANTS","validate","validationError","fields","makeErrorFields","ErrorImages","stroke","strokeLinecap","strokeLinejoin","strokeWidth","clipRule","fillRule","opacity","NavigationErrorImage","ErrorImage","size","PATH","connect","state","denyColumns","getDenyColumnsItems","getIdmPermissionsRequestError","RequestPermissions","RequestPermissionIsNotAllowed","objectType","caps","RequestPermission","currentPath","ypath","getValue","attributes","errorPath","isRequestPermissionsForPathAllowed","pathForRequest","getParentPath","Flex","direction","gap","width","ErrorToClipboardButton","ErrorsInfo","getTitle","payload","username","permission","perm","join","PrettyError","details","code","vertical","getPermissionDeniedError","_ErrorsInfo","getErrorTitle","justifyContent","alignItems","Text","ErrorDetails","UnexpectedError","message","YTErrorBlock","NavigationError","errorCode","getYtErrorCode","isNaN","inner_errors","_step","errors","_iterator","_createForOfIteratorHelper","s","n","done","inner_error","innerErrorCode","err","e","f","getLeadingErrorCode","prepareUserPermissions","userPermissions","permissionTypes","item","index","action","getPathToCheckPermissions","_x","_x2","_x3","_getPathToCheckPermissions","arguments","_callee4","entityName","poolTree","fullPath","_context5","ACCESS_CONTROL_OBJECT","UI_EFFECTIVE_ACL","POOL","TABLET_CELL_BUNDLE","abrupt","ytApiV3Id","get","YTApiId","schedulingPoolFullPath","Error","loadAclData","normalizedPoolTree","options","userPermissionsPath","_ref3","dispatch","_state$global","login","_state$global$cluster","pathToCheckPermissions","pathToCheckUserPermissions","global","LOAD_DATA","REQUEST","getTree","Promise","all","getAcl","kind","sysPath","checkUserPermissionsUI","getResponsible","then","_ref4","_ref5","acl","responsible","SUCCESS","version","auditors","objectPermissions","column_groups","readApprovers","disableAclInheritance","bossApproval","disableInheritanceResponsible","t1","FAILURE","_x4","_x5","deletePermissions","_ref6","roleKey","itemToDelete","_ref8","_callee2","_getState$global$clus","deletePermissionsPath","_context2","DELETE_PERMISSION","deleteRole","isCancelled","CANCELLED","reject","_x6","_x7","dateToDaysAfterNow","date","Math","round","getTime","Date","now","_ref9","_ref11","_callee3","_values$comment","_state$global$cluster2","daysAfter","roles","rolesGroupedBySubject","_loop","requestPermissionsPath","_context4","REQUEST_PERMISSION","subject","commonPart","flattenPermissions","_context3","prepareAclSubject","deprive_after_days","entries","_ref12","_ref13","applyToRequestedRole","flatten_","columns","forEach_","convertFromUIPermissions","role_type","column_group_id","delegateYield","roles_grouped","_x8","_x9","_ref14","updateAcl","_ref15","mode","_getState$global$clus2","UPDATE_ACL","_error$response","response","cancelUpdateAcl","_ref17","getCliCommandResultFormat","tag","columnName","isMediaTag","_tag$split","split","_tag$split2","extension","getImageResultFormat","getDynamicTableCellPath","_","yqlTypes","getYqlTypes","getCurrentRowKey","keyColumns","getKeyColumns","offset","Query","prepareKey","prepareQuery","offsetColumns","limit","getDynamicTableCliCommand","cellPath","loadDynamicTableCellPreview","output_format","cancellation","setup","selectRows","dynTableSelectRowsPreload","parameters","query","getStaticTableCellPath","getOffsetValue","rowIndex","prettyPrint","YSON_AS_TEXT","getStaticTableCliCommand","loadStaticTableCellPreview","ytApiV4","readTable","getCellPath","getPath","getIsDynamic","getCliCommand","_dispatch","loadCellPreview","useYqlTypes","isDynamic","getDefaultRequestOutputFormat","stringLimit","PREVIEW_LIMIT","$attributes","value_format","cellPreviewCancelHelper","removeAllAndSave","showCellPreviewModal","ytCliDownloadCommand","isIncomplete","json","parsed","column","typeIndex","_unipika$converters$y","$type","$value","$tag","hasType","noticeText","isYqlTypesEnabled","batch","CELL_PREVIEW","openCellPreview","JSON","parse","rows","incomplete","unipika","converters","yql","yql_type_registry","maxStringSize","maxListSize","treatValAsData","$incomplete","getApproversSubjectFilter","aclFilters","approversSubject","getObjectSubjectFilter","objectSubject","getObjectPermissionsFilter","getAclFilterColumns","columnsFilter","getAclFilterColumnGroupName","columnGroupNameFilter","getAclFilterExpandedSubjects","expandedSubjects","getAclCurrentTab","aclCurrentTab","prepareColumnsNames","columnsPermissions","compact_","uniq_","sort","prepareApprovers","approvers","extra","subjectType","groupInfo","group_name","url","group","getAllUserPermissions","getAllObjectPermissions","getAllObjectPermissionsWithSplittedSubjects","createSelector","isSplitted","subjectIndex","getObjectPermissionsTypesList","permissionsFilter","uniquePermisions","add","sortBy_","subjectFilterPredicate","filter","_item$subjects$","some_","_str","str","String","slice","pop","toLowerCase","indexOf","getAllObjectPermissionsFiltered","subjectFilter","_partition_","partition_","_item$columns","_partition_2","mainPermissions","withColumns","lowerNameFilter","toLocaleLowerCase","filterBySubject","permissionsFilterSet","filterByPermissions","_permissionsFilterPre","foundCount","some","p","permissionsFilterPredicate","visibleColumns","filterByColumns","_columns$some","colName","mainPredicates","columnsPredicates","concatByAnd","getObjectPermissionsAggregated","aggregateBySubject","count","AggregateBySubject","first","_classCallCheck","aggrKey","inherited","allPermissions","Array","this","aggregationKey","_createClass","_item$permissions","_child$permissions","_child$permissions2","_item$columns2","_this$first","_this$first2","_this$first3","_this$first4","_this","stringify","child","isMissing","isUnrecognized","isApproved","isRequested","expanded","_this2","hasInherited","level","hasDenyAction","i","isEqual_","inheritedFrom","hasExpandable","objPermissions","aggregated","aggKey","dst","_item$getItems","getItems","_partition_3","_partition_4","other","OrderByRoleStatus","getAllColumnGroupsActual","nameFilter","nameFilterLower","predicates","removed","_item$columns$some","_item$columns3","_item$name","filtered","filter_","unrecognized","requested","depriving","rest","isDepriving","getReadApprovers","getResponsibles","getAuditors","getNotInheritedReadApprovers","readApprover","getNotInheritedResponsibles","responsibles","getNotInheritedAuditors","auditros","auditro","getAllApprovers","getHasApprovers","getApproversFiltered","getApproversFilteredAndOrdered","getAllAccessColumnsPermissions","filteredPermissions","_permission$columns","tmp","getAllDenyColumnsPermissions","_permission$columns2","getAllAccessColumnsNames","getAllDenyColumnsNames","names","isPermissionDeleted","permissionDeletionError","deletionError","getLastDeletedPermissionKey","deletedItemKey","idmPermissionsRequestError","getIdmManageAclRequestError","idmManageAclRequestError","getIdmPathVersion","getAclLoadState","loading","loaded","calculateLoadingStatus","YqlValue","_React$Component","_inherits","_super","_createSuper","_this$props","inline","settings","formattedValue","getFormattedValue","titleSettings","assign","asHTML","formatRaw","formatFromYQL","classes","dir","dangerouslySetInnerHTML","__html","yqlValue","defaultProps","folding","Yson","defaultUnipikaSettings","unquote","v","match","exec","ColumnCell","_ref$value","ysonSettings","allowRawStrings","onShowPreview","_useState","useState","_useState2","hovered","setHovered","formatType","Number","escapedValue","prettyprint","_React$useMemo","isIncompleteTagged","isIncompleteValue","allowRawCopy","useRawString","copyTooltip","visibleValue","onMouseEnter","onMouseLeave","Label","theme","Tooltip","content","ClipboardButton","onCopy","event","shiftKey","copyToClipboard","qa","UIKitIcon","Eye","prepareColumns","useRawStrings","schemaByName","sortOrder","isKeyColumn","header","unescapeKeyValue","awesome","render"],"sourceRoot":""}
|