HeapTableRepo.create

Создаёт новую запись в heap-таблице.

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

Применение/сигнатура

table.create(ctx, fields)
  • Аргументы

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

    • fields: object
      Объект с полями и из значениями, соответствующими схеме таблицы.

      Должны присутствовать все поля, объявленные в схеме, кроме тех, которые объявлены с модификаторами: Heap.Optional, Heap.Nullable и Heap.NonRequired. Для вложенных объектов действует то же правило.

      Поля, значения которых не переданы, автоматически заполняются значениями по умолчанию, если они есть.

  • Возвращаемое значение: Promise<HeapObject>

Примеры


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

const Tasks = Heap.Table('tasks', {
  title: Heap.String(),
  priority: Heap.NonRequired(Heap.Integer(), 3),
  project: Heap.Nullable(Heap.RefLink('projects')),
  due: Heap.Optional(Heap.DateTime()),
  customerInfo: Heap.Optional(Heap.Object({
    name: Heap.String(),
    email: Heap.Nullable(Heap.String({ format: 'email' })),
  })),
})
const newTask = await Tasks.create(ctx, {
  title: 'Позвонить клиенту',
  customerInfo: {,
    name: 'Иван Петров',
  },
})
/* {
     title: 'Позвонить клиенту',
     priority: 3,
     project: null,
     customerInfo: {,
       name: 'Иван Петров',
       email: null,
     },
   } */

❤️ Made with love on Chatium

ООО "Чатиум"

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