Type parameters
Hierarchy
- BaseItem<DirectoryData>
-
ItemRef<DirectoryItem>
- DirectoryItem
Properties
Readonly code
Код приложения цели ссылки (код приложения).
Readonly data
Значения полей объекта.
Readonly fields
Описание полей объекта.
Readonly id
Идентификатор цели ссылки.
Readonly namespace
Пространство имен цели ссылки (код раздела приложения).
Methods
createChildren
-
Метод создает новую директорию в текущей директории.
//Пример создания новой директории в папке пользователя. Получаем пользователя, получаем его директорию //и в ней создаем новую директорию let name = "Имя новой директории"; const user = await System.users.getCurrentUser() const searchDir = await System.directories.search(). where(di =>di.__id.eq(user.data.__id)). first(); const newDir = await searchDir.createChildren(name);
Parameters
-
name: string
Имя новой директории.
Returns Promise<DirectoryItem>
Объект Директория.
-
delete
-
Метод удаляет текущую директорию.
// Пример удаления всех директорий, созданных пользователем const searchDirs = await System.directories.search(). where(di => di.__createdBy.eq('<some id>')). all(); for (let i = 0; i < searchDirs.length; i += 1) { await searchDirs[i].delete(); }
Returns Promise<number>
Статус ответа.
fetch
-
Запрос полных данных объекта-ссылки.
Returns Promise<DirectoryItem>
getChildren
-
Метод получает все дочерние директории.
//Пример получения всех файлов дочерних директорий const children = await someDirectory.getChildren(); let allFilesInAllDirs :FileItem[]; parents.forEach(dir => { let files = dir.getFiles(); files.forEach(file =>{ allFilesInAllDirs.push(file); }) });
Returns Promise<DirectoryItem[]>
Массив объектов дочерних директорий.
getChildrens
-
Метод устарел. Метод получает все дочерние директории.
//Пример получения всех файлов дочерних директорий const children = await someDirectory.getChildrens(); let allFilesInAllDirs :FileItem[]; parents.forEach(dir => { let files = dir.getFiles(); files.forEach(file =>{ allFilesInAllDirs.push(file); }) });
Returns Promise<DirectoryItem[]>
Массив объектов дочерних директорий.
getDirs
-
Метод получает папки в директории первого уровня вложенности.
// Пример получения всех файлов в дочерних директориях const dirsInDir = await someDirectory.getDirs(); let allFilesInAllDirs :FileItem[]; dirsInDir.forEach(dir => { let files = dir.getFiles(); files.forEach(file =>{ allFilesInAllDirs.push(file); }) });
Returns Promise<DirectoryItem[]>
Массив объектов директорий.
getFiles
-
Метод получает файлы из директории.
// Пример получения ссылкок на файлы в директории const filesInDir = await someDirectory.getFiles(); filesInDir.forEach(file => file.getDownloadUrl());
Returns Promise<FileItem[]>
Массив объектов файлов из директории.
getParents
-
Метод получает родителей директории отсортированых по порядку вложенности.
// Пример формирования пути до директории на основе полученных данных о родительских директориях const parents = await someDirectory.getParents(); let pathDir string = "/"; parents.forEach(dir => { pathDir = pathDir + dir.data.__name + "/" });
Returns Promise<DirectoryItem[]>
Массив объектов родительских директорий.
getPermissions
-
Метод получает права доступа к директории.
После удачного выполнения запроса прав в ответе будет получен объект TPermissions. Его можно модифицировать или анализировать для различных проверок доступа.
const searchDir = await System.directories.search(). where(di => di.__id.eq('<some id>')). first(); const perm = await searchDir.getPermissions();
Returns Promise<TPermissions>
hasPermission
-
Метод проверяет наличие права доступа PermissionType.
Метод позволяет проверить возможность выполнения операции PermissionType с директорией. После использования метод вернёт флаг о результате. Если значение флага
true
, то пользователь может выполнять запрошенную операцию с директорией. Также можно проверять доступ для элементов оргструктуры.const user = Context.data.__createdBy; const searchDir = await System.directories.search(). where(di => di.__id.eq('<some id>')). first(); const canUpdate = await directory.hasPermission(user, PermissionType.DELETE); if (canUpdate) { await searchDir.delete(); }
Parameters
-
orgunit: TPermissionOrgunit
Группа или пользователь для проверки.
-
type: PermissionType
Тип операции.
Returns Promise<boolean>
-
normalize
-
Удаление дублирующихся данных в массивах.
Выполнить удаление дубликатов в полях, в которых хранятся массивы ссылок на объекты системы (пользователи, файлы, элементы приложений, документы).
Этот метод, например, можно вызвать после массового изменения данных в объекте.
const app1 = await Context.data.app1.fetch(); const app2 = await Context.data.app2.fetch(); app1.data.executors.push(app2.data.executors); app1.normalize(); // Далее перебираем элементы нового массива app1.data.executors.forEach( ... );
Returns void
setPermissions
-
Метод устанавливает список прав на директорию.
Метод используется, когда необходимо изменить права на доступ к директории: предоставить или ограничить доступ для пользователя, группы, элемента оргструктуры. Для добавления новых прав доступа используется объект TPermissionValue, а для выдачи прав на определённые операции — PermissionType. После создания нового объекта TPermissions для сохранения новых прав доступа необходимо использовать данный метод.
const searchDir = await System.directories.search(). where(di => di.__id.eq('<some id>')). first(); const user = searchDir.data.__createdBy; const permissions = new Permissions([ new PermissionValue(user, [PermissionType.DELETE, PermissionType.READ]), ]); await directory.setPermissions(perms);
Parameters
-
perms: TPermissions
Новые правила доступа к файлу.
Returns Promise<void>
-
Директория с файлами
Объект предназначен для работы с файловыми директориями. Он позволяет выполнять операции над директориями, хранимыми на диске: получить директории внутри директории, родительские и все дочерние директории, создать новую директорию, удалить существующую, а также получить файлы, находящиеся в директории.