Объект предназначен для работы с версиями файла. Он позволяет скачивать архивные версии файла, получать ссылки на скачивание для архивных версий. Получить версии можно с помощью метода FileItem.getVersions.

Type parameters

Hierarchy

Properties

Readonly code

code: string

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

Readonly data

data: Based<Partial<FileVersionData>>

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

Readonly fields

fields: Readonly<object>

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

Readonly id

id: string

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

Readonly namespace

namespace: string

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

Methods

delete

  • delete(): Promise<void>
  • Метод удаляет версию файла.

    В результате удаления номер версии файла уменьшается на единицу. Все номера версий, следующих за удаленной, также уменьшаются на единицу для сохранения порядка версий.

    // Извлечение файла из контекста для работы с его версиями
    const file = Context.data.file;
    const fileVersions = file.getVersions(0, 1);
    if (fileVersions.length === 0) {
      throw new Error("У файла нет версий");
    }
    // Удаляем последнюю версию файла
    await fileVersions[0].delete();
    

    Returns Promise<void>

fetch

getDownloadUrl

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

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

    const url = await version.getDownloadUrl();
    

    Parameters

    Returns Promise<string>

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

setAsCurrent

  • setAsCurrent(copy?: undefined | false | true, comment?: undefined | string): Promise<FileItem>
  • Метод сохраняет версию как текущую.

    Выбранный объект версии устанавливается в качестве актуальной версии файла. Вы можете создать копию выбранной версии и сделать её текущей. Для этого необходимо установить для флага copy значение true. Вы также можете вызвать данный метод без аргументов. Тогда будет изменен порядок версий, и выбранная версия станет последней, актуальной версией файла.

    В примере файл, хранимый в контексте, восстанавливается до исходной версии, что позволяет отменить все внесённые изменения.

    // Извлечение файла из контекста для работы с его версиями
    const file = Context.data.file;
    const firstVersions = await file.getVersions(0, 2);
    if (firstVersions.length < 2) {
      throw new Error("У файла нет версий для восстановления");
    }
    
    // Устанавливаем первую версию в качестве актуальной, восстанавливая оригинальное содержимое
    const updatedFile = await firstVersions[1].setAsCurrent(true);
    

    Parameters

    • Optional copy: undefined | false | true

      Флаг включения копирования версии.

    • Optional comment: undefined | string

      Комментарий для установки версии.

    Returns Promise<FileItem>