0.1.5 • Published 9 years ago

aedilis-agent v0.1.5

Weekly downloads
3
License
-
Repository
bitbucket
Last release
9 years ago

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

KeyDescription
typethe datatype for this property
titlea title for this property
patterna regular expression to validate this property
maxLengththe maximum length for this property
descriptionthe description for this property
validationMessagethe 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