warpgrapher 0.10.0

Automate web service creation with GraphQL and Graph Databases
Documentation
version: 1
model:

  # User
  - name: User
    props:
      - name: name
        type: String
        required: true

  # Portfolio -- used to test that nodes with only rels, no props, are handled correctly
  - name: Portfolio
    rels: 
      - name: projects
        nodes: [Project]
        list: true
      - name: activity
        nodes: [Commit]
        props:
            - name: repo
              type: String
              required: false
        list: true
        
  # Project
  - name: Project
    props:
      - name: name
        type: String
        required: false
      - name: description
        type: String
        required: false
      - name: status
        type: String
        required: false
      - name: priority
        type: Int
        required: false
      - name: estimate
        type: Float
        required: false
      - name: active
        type: Boolean
        required: false
    rels:
      - name: owner
        props:
          - name: since
            type: String
            required: false
        nodes: [User]
      - name: board
        nodes: [KanbanBoard, ScrumBoard]
        props:
          - name: publicized
            type: Boolean
            required: false
      - name: activity
        nodes: [Commit]
        props:
          - name: repo
            type: String
            required: false
        list: true
      - name: issues
        props:
          - name: since
            type: String
            required: false
        nodes: [Feature, Bug]
        list: true
  
  # Feature
  - name: Feature
    props:
      - name: name
        type: String
        required: false
      - name: points
        type: Int
        required: false
  
  # Bug
  - name: Bug
    props:
      - name: name
        type: String
        required: false
      - name: critical
        type: Boolean
        required: false
  
  # KanbanBoard
  - name: KanbanBoard
    props:
      - name: name
        type: String
        required: false
  
  # ScrumBoard
  - name: ScrumBoard
    props:
      - name: name
        type: String
        required: false
  
  # Commit
  - name: Commit
    props:
      - name: hash
        type: String
        required: false