RefLink

Класс, экземпляры которого представляют в runtime-значения полей heap-таблиц, объявленных через Heap.RefLink.

Предоставляет удобный интерфейс для работы со ссылкой.

Использование этого класса отдельно, вне значения поля таблицы, не несёт никакой пользы и не поддерживается.

Свойства и методы

  • type: string
    Идентификатор таблицы, на запись которой указывает данная ссылка. Совпадает со свойством type соответсвующей таблицы.

  • id: string
    Уникальный идентификатор конкретной записи, на которую указывает данное значение поля.

  • get(ctx: app.Ctx): Promise<HeapObject>
    "Синтаксический сахар" к выполнению запроса getById к целевой таблице с целевым идентификатором. Возвращает heap-объект, на который указывает текущее значение ссылки. Возвращаемый объект имеет правильный typescript-тип, соответствующий "форме" целевой таблицы.

    • ctx: app.Ctx
      Контекст запроса. Используется для внутренней реализации, а также позволяет выполнить запрос в нужной транзакции.
  • getTargetTableRepo(ctx: app.Ctx): HeapTableRepo
    Вовзращает репозиторий целевой таблицы, на которую указывает данное поле.

    • ctx: app.Ctx
      Контекст запроса. Используется для внутренней реализации.

Примеры

Удобное получение названия проекта по задаче
const Tasks = Heap.Table('tasks', {
  title: Heap.String(),
  project: Heap.RefLink('projects'),
})

const task = await Tasks.getById(ctx, req.params.id)
const project = await task.project.get(ctx)
ctx.console.log('project name', project.name)

❤️ Made with love on Chatium

ООО "Чатиум"

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