Type parameters

Hierarchy

Properties

Readonly code

code: string

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

Readonly data

data: Based<Partial<ImageData>>

Значения полей объекта.

Readonly fields

fields: Readonly<object>

Описание полей объекта.

Readonly id

id: string

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

Readonly namespace

namespace: string

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

Methods

fetch

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

    Returns Promise<ImageItem>

getDownloadUrl

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

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

    const url = await file.getDownloadUrl();
    

    Parameters

    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>

normalize

  • normalize(): void
  • Удаление дублирующихся данных в массивах.

    Выполнить удаление дубликатов в полях, в которых хранятся массивы ссылок на объекты системы (пользователи, файлы, элементы приложений, документы).

    Этот метод, например, можно вызвать после массового изменения данных в объекте.

    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 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>