# aedilis-agent

> OAuth2 Server on top of Consul.io

Latest version **0.1.5** (published 2015-04-02) · 0 weekly downloads

## Install

```sh
npm install aedilis-agent
pnpm add aedilis-agent
yarn add aedilis-agent
bun add aedilis-agent
```

## Health

**Score 10/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; low quality score; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.1.5 |
| Published | 2015-04-02 |
| First published | 2015-02-10 |
| Weekly downloads | 0 |
| TypeScript types | none |
| Module format | CommonJS |
| Node | >=0.6 |
| Dependencies | 12 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Bigdata.Company |
| Maintainers | bigdata-company |

## Links

- npm: https://www.npmjs.com/package/aedilis-agent
- Repository: https://bitbucket.org/bigdata-company/aedilis
- Issues: https://bitbucket.org/bigdata-company/aedilis/issues
- npm.io page: https://npm.io/package/aedilis-agent

## Dependencies (12)

- [q](https://npm.io/package/q.md) ^1.1.2
- [bower](https://npm.io/package/bower.md) ^1.3.12
- [crypto](https://npm.io/package/crypto.md) 0.0.3
- [express](https://npm.io/package/express.md) ^4.10.7
- [restler](https://npm.io/package/restler.md) ^3.2.2
- [winston](https://npm.io/package/winston.md) ^0.8.3
- [node-uuid](https://npm.io/package/node-uuid.md) ^1.4.2
- [underscore](https://npm.io/package/underscore.md) ^1.7.0
- [body-parser](https://npm.io/package/body-parser.md) ^1.10.1
- [errorhandler](https://npm.io/package/errorhandler.md) ^1.3.2
- [serve-static](https://npm.io/package/serve-static.md) ^1.8.0
- [node-oauth2-server](https://npm.io/package/node-oauth2-server.md) ^2.2.2

## Recent versions

- 0.1.5 (latest) — 2015-04-02
- 0.1.4 — 2015-02-12
- 0.1.3 — 2015-02-12
- 0.1.1 — 2015-02-10
- 0.1.0 — 2015-02-10

## README

Aedilis
===========

# What is this?
An OAuth server on top of [consul](http://consul.io).

# 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](http://json-schema.org/).
[tv4](https://github.com/geraintluff/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](https://github.com/Textalk/angular-schema-form)

---
_Source: https://npm.io/package/aedilis-agent · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
