Keystone JS отключить создание нового элемента, если он существует в БД - PullRequest
0 голосов
/ 09 марта 2020

Я использую трапецеидальные искажения js, и у меня есть сессия, которая содержит день и этап должны быть уникальными

    keystone.createList('Stage', {
  fields: {
    name: {
      type: Text
    }
  }
});
keystone.createList('Day', {
  labelResolver: day => day.day,
  fields: {
    day: {
      label: 'Session Day',
      type: CalendarDay,
      format: 'Do MMMM YYYY',
      defaultValue: Date.now()
    }
  },
  schemaDoc: 'Session Day Date'
});
keystone.createList('Session', {
  labelResolver: () => 'Session',

  fields: {
    day: {
      type: Relationship,
      ref: 'Day',
      isRequired: true,
      isUnique: true,

    },
    stage: {
      type: Relationship,
      ref: 'Stage',
      many: false,
      isRequired: true,
      isUnique: true,
      hooks: {
        beforeChange: async () => { 

         },
      }
    }
  }

});

День и этап сессий должны быть уникальными, если я создал их однажды, я не смогу создать их снова.

например, если у меня есть {день: 2020-03-09, стадия: предприятие}, я не смогу снова создать тот же день и стадию, потому что они уже существуют в БД.

но я могу создать {день: 2020-03-09, этап: чудо}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...