Как реализовать проверку атрибутов в схеме Amplify, GraphQL - PullRequest
0 голосов
/ 10 июля 2019

Я делаю схему GraphQL через AWS-Amplify, которая имеет тип проекта и тип интерфейса.Каждый проект имеет несколько интерфейсов (один-ко-многим).В рамках атрибутов интерфейса, как я могу фильтровать / проверять, что пользователь может ввести?Например.для Проекта 1, интерфейс 1, частота может быть только ежечасно, еженедельно, ежемесячно, ежегодно.Или другой пример будет в Проекте 1, интерфейс 1, состояние может быть только активным или неактивным.Что я должен сделать, чтобы реализовать эти типы настроек / изменений?

На данный момент мой schema.graphql выглядит следующим образом:

type Project 
  @model 
  @auth(rules: [{allow: owner}])
  {
    project_number: ID!
    name: String!
    interfaces: [Interface] @connection(name: "ProjectInterfaces")
  }
type Interface 
  @model
  @auth(rules: [{allow: owner}]) 
  {
    unique_id: String!
    external_id: String!
    interface_name: String!
    version: String!
    release: String!                      
    source_feature: String!
    state: String!
    source_application: String!
    source_env: String!                  
    source_go_live: String!              
    source_payload: String! 
    source_payload_format: String!
    payload_volume: String!               
    source_protocol: String! 
    target_application: String!
    target_env: String!
    target_go_live: String!
    target_payload: String!
    target_payload_format: String!
    target_payload_volume: String!             
    target_protocol: String!
    frequency: String!
    authentication: String!
    payload_security: String!
    transport_security: String!
    network_paths: String!
    project: Project @connection(name: "ProjectInterfaces")
  }

Итак, скажем, кто-то хочет добавитьИнтерфейс и ввод «Bi-Weekly» для частоты, они не позволяют пользователю добавлять интерфейс, потому что будут приниматься только ежечасно, еженедельно, ежемесячно, ежегодно.Затем пользователь будет отображен с правильными возможными вводами, которые они могут ввести для этого интерфейса.

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