RAIQL COMPILER

Playground

Edit a RAIQL specification and inspect the normalized intermediate representation, compiler diagnostics and generated scaffold.

Valid specification
ExamplesRAIQL 0.2
main.raiql32 lines
{
  "language": "RAIQL",
  "version": "0.2",
  "application": {
    "name": "Commerce Core",
    "type": "WEB"
  },
  "stack": {
    "frontend": "NEXTJS",
    "backend": "NESTJS",
    "database": "POSTGRESQL"
  },
  "entities": [
    {
      "name": "Customer",
      "fields": [
        {
          "name": "id",
          "type": "UUID",
          "modifiers": [
            "PRIMARY"
          ]
        },
        {
          "name": "email",
          "type": "STRING",
          "modifiers": [
            "REQUIRED",
            "UNIQUE"
          ]
        }
      ]
    },
    {
      "name": "Order",
      "fields": [
        {
          "name": "id",
          "type": "UUID",
          "modifiers": [
            "PRIMARY"
          ]
        },
        {
          "name": "customerId",
          "type": "UUID",
          "modifiers": [
            "REQUIRED"
          ]
        },
        {
          "name": "total",
          "type": "DECIMAL",
          "modifiers": [
            "REQUIRED"
          ]
        }
      ]
    }
  ],
  "relationships": [
    {
      "fromEntity": "Order",
      "fromField": "customerId",
      "toEntity": "Customer",
      "toField": "id"
    }
  ],
  "crud": [
    "Customer",
    "Order"
  ],
  "apis": [
    "Order"
  ],
  "authentication": [
    "JWT"
  ],
  "roles": [
    "ADMIN",
    "USER"
  ],
  "permissions": [
    {
      "role": "ADMIN",
      "action": "CREATE",
      "target": "Order"
    },
    {
      "role": "ADMIN",
      "action": "READ",
      "target": "Order"
    },
    {
      "role": "ADMIN",
      "action": "UPDATE",
      "target": "Order"
    },
    {
      "role": "ADMIN",
      "action": "DELETE",
      "target": "Order"
    },
    {
      "role": "USER",
      "action": "READ",
      "target": "Order"
    }
  ],
  "actions": [
    "GENERATE_TESTS",
    "BUILD",
    "DEPLOY_DOCKER"
  ]
}