node package manager

aedilis-agent

Aedilis

What is this?

An OAuth server on top of consul.

Why should I use this?

TODO

Installation

TODO

Expanding default entities with additional properties

Schema definition

Getting started

  1. Create folder "_schema" under path "_system/store"
  2. Create a key for the for the entity you would like to expand (e.g. user) and build a schema as this key's value.

Our Schema's are built upon JSON schema standard version 4. tv4 is used for validation.

Example for path "_system/store/_schema/user":

{
    "type": "object",
    "properties": {
        "firstname": {
            "type": "string",
            "minLength": 2,
            "title": "Firstname",
            "validationMessage": "Firstname is required."
        }
    },
    "required": [
        "firstname"
    ]
}

Adding additional properties to entities

Additional properties are fields which can be added onto the core entities of Aedilis.

An example for expanding the User entity would be: (key path "_system/store/_schema/user")

{
    "type": "object",
    "properties": {
      "firstname":  {
        "title": "Firstname",
        "type": "string"
      },
      "lastname":  {
        "title": "Lastname",
        "type": "string"
      },
      "email":  {
        "title": "Email",
        "type": "string",
        "pattern": "^\\S+@\\S+$",
        "description": "Email will be used for evil."
      },
      "comment": {
        "title": "Comment",
        "type": "string",
        "maxLength": 20,
        "validationMessage": "Don't be greedy!"
      }
    },
    "required": [
        "firstname"
    ]
}

Common attributes for defining properties

Key Description
type the datatype for this property
title a title for this property
pattern a regular expression to validate this property
maxLength the maximum length for this property
description the description for this property
validationMessage the message to show when this property is invalid

Known limitations

For now the extending of Aedilis entities is limited to the Client, User and Group type.

Dependencies

Aedilis makes use of the following Open Source libraries:

Angular Schema Form