Содержит не полный набор данных файла, но позволяет использовать некоторый набор методов файла.

Type parameters

Hierarchy

Properties

Readonly code

code: string

Код приложения цели ссылки (код приложения).

Readonly id

id: string

Идентификатор цели ссылки.

Readonly namespace

namespace: string

Пространство имен цели ссылки (код раздела приложения).

Methods

fetch

  • Запрос полных данных объекта-ссылки.

    Returns Promise<FileItem>

getDownloadUrl

  • Метод получает ссылку на загрузку содержимого файла.

    Полученная ссылка возвращает содержимое файла. По такой ссылке загрузку могут выполнить все пользователи, в том числе и анонимные. Ссылка на загрузку доступна в течение одного часа. Тип вложения может быть attachment или inline. По умолчанию параметр dispositionType имеет значение attachment.

    const url = await file.getDownloadUrl();
    

    Parameters

    • Optional dispositionType: DispositionType

      Тип вложения (необязательный параметр).

    Returns Promise<string>

getFileMD5Hash

  • getFileMD5Hash(): Promise<string>
  • Метод получает md5-хеш файла.

    В примере контекст содержит file — файл из системы.

    const hash = await file.getFileMD5Hash();
    

    Returns Promise<string>

getPermissions

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

    После удачного выполнения запроса прав в ответе будет получен объект TPermissions. Полученный объект можно модифицировать или анализировать для различных проверок доступа.

    const perm = await file.getPermissions();
    

    Returns Promise<TPermissions>

getStaticDownloadUrl

  • Метод получает постоянную ссылку на загрузку содержимого файла.

    Полученная ссылка возвращает редирект на ссылку с содержимым файла. По такой ссылке загрузку могут выполнить только авторизованные пользователи при наличии соответствующих прав. Тип вложения может быть attachment или inline. По умолчанию параметр dispositionType имеет значение attachment. Данные ссылки бессрочные и существуют, пока файл не удалён в системе.

    // Получаем ID файла
    const fileUUID = Context.data.fileID;
    if(!fileUUID) {
     return;
    }
    
    // Ищем файл
    const file = await System.files.search().where(x => x.__id.eq(fileUUID)).first();
    if(!file) {
     return;
    }
    
    // Получаем постоянную ссылку на файл
    const url = file.getStaticDownloadUrl();
    

    Parameters

    Returns string

hasPermission

  • hasPermission(group: TPermissionOrgunit, type: PermissionType): Promise<boolean>
  • Метод проверяет наличие права доступа PermissionType.

    Метод позволяет легко проверить наличие возможности на выполнение операции PermissionType с файлом. После использования метод вернет флаг о результате. Если значение флага true, то пользователь может выполнять запрошенную операцию с файлом. Также можно проверять доступ для элементов оргструктуры.

    const user = Context.data.__createdBy;
    
    const canUpdate = await file.hasPermission(user, PermissionType.UPDATE);
    

    Parameters

    • group: TPermissionOrgunit

      Группа или пользователь для проверки.

    • type: PermissionType

      Тип операции.

    Returns Promise<boolean>

setPermissions

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

    Метод требуется использовать, когда необходимо изменить права на доступ к файлу, добавив или удалив права доступа для пользователя, группы, элемента оргструктуры. Для добавления новых прав доступа необходимо использовать объект TPermissionValue, а для выдачи прав на конкретные операции — PermissionType. После создания нового объекта TPermissions необходимо использовать данный метод для сохранения новых прав доступа.

    
    const user = Context.data.__createdBy;
    
    const permissions = new Permissions([
     new PermissionValue(user, [PermissionType.DELETE, PermissionType.READ]),
    ]);
    
    await file.setPermissions(perms);
    

    Parameters

    • perms: TPermissions

      Новые правила доступа к файлу.

    Returns Promise<void>