Объект предназначен для работы с файловыми директориями. Он позволяет выполнять следующие операции над директориями, хранимыми на диске: поиск; получение директорий внутри директории, родительских и дочерних директорий разного уровня; создание новых директорий и удаление существующих; получение файлов, находящихся в директории.

Hierarchy

  • Directories

Methods

create

  • Метод создает новую директорию.

    //Пример создания новой директории
    const name = "Имя новой директории";
    const parentId = "8c110182-b022-5f31-ac3d-290fdc1d4fe1";
    
    const newDirectory = await System.directories.create(name, parentId);
    

    Parameters

    • name: string
    • parentId: string

    Returns Promise<DirectoryItem>

    Объект директории.

delete

  • delete(directoryId: string): Promise<number>
  • Метод удаляет директорию по ID.

       //Пример удаления всех директорий, созданных пользователем (some user_id)
       const searchDirs = await System.directories.search().where(di => di.__createdBy.eq('<some id>')).all();
       for (let i = 0; i < searchDirs.length; i += 1) {
         await System.directories.delete(searchDirs[i].id);
       }
    

    Parameters

    • directoryId: string

    Returns Promise<number>

    Статус ответа.

getChildren

  • Метод получает все дочерние директории.

       //Пример удаления всех дочерних директорий
       const childsDir = await System.directories.getChildren(idDir);
       childsDir.forEach(async dir => await dir.delete()); // удалим все дочерние директории
    

    Parameters

    • directoryId: string

    Returns Promise<DirectoryItem[]>

    Массив объектов дочерних директорий.

getChildrens Deprecated

  • Deprecated

    Метод устарел. Метод получает все дочерние директории.

       //Пример удаления всех дочерних директорий
       const childsDir = await System.directories.getChildrens(idDir);
       childsDir.forEach(async dir => await dir.delete()); // удалим все дочерние директории
    

    Метод устарел. Избегайте его использования.

    Parameters

    • directoryId: string

    Returns Promise<DirectoryItem[]>

    Массив объектов дочерних директорий.

getDirs

  • Метод получает папки в директории первого уровня вложенности.

       // Пример использования: получим все файлы в дочерних директориях
       const dirsInDir = await System.directories.getDirs(idDir);
       let allFilesInAllDirs :FileItem[] = [];
    
       const promises = dirsInDir.map(async dir => {
         let files = await dir.getFiles();
             files.forEach(async file =>{
                 allFilesInAllDirs.push(file);
             })
       });
       await Promise.all(promises);
    

    Parameters

    • directoryId: string

    Returns Promise<DirectoryItem[]>

    Массив объектов директорий из заданной директории.

getFiles

  • getFiles(directoryId: string): Promise<FileItem[]>
  • Метод получает файлы из директории.

        //Пример получения ссылок на файлы в директории
        const idDir = "8c110182-b022-5f31-ac3d-290fdc1d4fe1"
    
       const filesInDir = await System.directories.getFiles(idDir);
       filesInDir.forEach(file => file.getDownloadUrl());
    

    Parameters

    • directoryId: string

    Returns Promise<FileItem[]>

    Массив объектов файлов из директории.

getParents

  • Метод получает родительские директории.

       // Пример формирования пути до директории на основе полученных данных о родительских директориях
       const parents = await System.directories.getParents(idDir);
    
       let pathDir: string = "/";
    
       parents.forEach(dir => {
         pathDir = pathDir + dir.data.__name + "/"
       });
    

    Parameters

    • directoryId: string

    Returns Promise<DirectoryItem[]>

    Массив объектов родительских директорий.

search

  • Метод выполняет поиск по директориям, хранимым на диске.

    Используя метод, можно:

    • фильтровать директории, используя различные параметры;

    • искать и получать конкретный или первый элемент из выборки;

    • сортировать результаты поиска;

    • ограничивать количество результатов или получать найденные элементы постранично.

       //Пример получения директорий, созданных пользователем (some user_id)
       const position = await System.directories.search().where(d => d.__createdBy.eq('<some id>')).all();
    

    Returns DirectoriesSearch

    Объект для построения запроса по поиску директории.