HeapObject - запись (строка) heap-таблицы

Запись heap-таблицы представляет собой совокупность

  • пользовательских полей, перечисленных разработчиком при объявлении таблицы с помощью Heap.Table,
  • и системных полей.

При чтении записей с помощью методов HeapTableRepo пользовательские и системные поля объединяются в один объект, который в настоящей документации называется heap-объект или HeapObject.

Системные поля

Ниже перечислены системные поля, которые есть у всех heap-объектов. Названия этих полей зарезервированы и не могут быть использованы для полей таблицы верхнего уровня, объявляемых разработчиком.

  • id: string
    Глобально-уникальный идентификатор записи. В большинстве случаев генерируется автоматически с помощью внутреннего алгоритма на основе библиотеки nanoid. Является глобально-уникальным в пространстве всех записей всех таблиц.

  • createdAt: Date
    время создания записи. Автоматически устанавливается во вермя операции create или createOrUpdateBy и никогда не изменяется.

  • updatedAt: Date
    время последнего изменения записи. Изначально равно значению createdAt и автоматически обновляется при каждой операции update, updateMaybe или createOrUpdateBy.

  • createdBy: RefLink<User> | null
    Cсылка на пользователя, в контексте авторизованного запроса которого создалась запись. Если в контексте не было пользователя, то значение пустое.

  • updatedBy: RefLink<User> | null
    Cсылка на пользователя, в контексте авторизованного запроса которого произошло последнее изменение записи. Если в контексте не было пользователя, то значение пустое.

  • heapType: string
    Соответствует свойству type таблицы, к которой принадлежит heap-объект.

    Для продвинутых. Это поле не следует использовать без острой надобности.

Остальные ключи heap-объекта - поля, объявленные разработчиком heap-таблицы, значения которых являются десериализованным runtime-представлением, соответствующим каждому типу поля.

Вспомогательные типы для полей heap-объекта

Поля некоторых сложных типов представлены в heap-объекте не в виде сырых простых javascript-типов (как, например, string или number), а в виде объектов с методами (экземпляров классов) для удобной работы с этими полями. В этом разделе вы найдёте подробное описание таких классов:

  • RefLink - для полей-ссылок на записи в других таблицах, объявленных с помощью Heap.RefLink и Heap.UserRefLink.
  • GenericLink - для полей-ссылок на записи в других таблицах, объявленных с помощью Heap.GenericLink.
  • Money - для полей, хранящих денежные суммы, объявленных с помощью Heap.Money.
  • StorageFile - для полей, хранящих хеш-ссылку на файл во встроенном хранилище Чатиума, объявленных с помощью Heap.StorageFile.
  • StorageImageFile - для полей, хранящих хеш-ссылку на файлы-изображения во встроенном хранилище Чатиума, объявленных с помощью Heap.StorageImageFile.
  • StorageVideoFile - для полей, хранящих хеш-ссылку на видео-файлы во встроенном хранилище Чатиума, объявленных с помощью Heap.StorageVideoFile.
  • StorageAudioFile - для полей, хранящих хеш-ссылку на аудио-файлы во встроенном хранилище Чатиума, объявленных с помощью Heap.StorageAudioFile.

Все перечисленные классы, кроме RefLink и GenericLink можно использовать и отдельно от heap-таблицы для работы с соответствующими типами данных.

❤️ Made with love on Chatium

ООО "Чатиум"

Информация о компании