{
  "email": {
    "options": {
      "base": "Email",
      "acls": [
        {
          "accessType": "*",
          "permission": "DENY",
          "principalType": "ROLE",
          "principalId": "$everyone"
        }
      ]
    },
    "dataSource": "mail",
    "public": false
  },
  "user": {
    "options": {
      "base": "User",
      "relations": {
        "accessTokens": {
          "model": "accessToken",
          "type": "hasMany",
          "foreignKey": "userId"
        },
        "transactions": {
          "model": "transaction",
          "type": "hasMany"
        }
      },
      "acls": [
        {
          "accessType": "*",
          "permission": "DENY",
          "principalType": "ROLE",
          "principalId": "$everyone"
        }
      ]
    },
    "dataSource": "db",
    "public": true
  },
  "accessToken": {
    "options": {
      "base": "AccessToken",
      "baseUrl": "access-tokens",
      "acls": [
        {
          "accessType": "*",
          "permission": "DENY",
          "principalType": "ROLE",
          "principalId": "$everyone"
        },
        {
          "permission": "ALLOW",
          "principalType": "ROLE",
          "principalId": "$everyone",
          "property": "create"
        }
      ]
    },
    "dataSource": "db",
    "public": true
  },
  "bank": {
    "options": {
      "relations": {
        "users": {
          "model": "user",
          "type": "hasMany"
        },
        "accounts": {
          "model": "account",
          "type": "hasMany"
        }
      },
      "acls": [
        {
          "accessType": "*",
          "permission": "DENY",
          "principalType": "ROLE",
          "principalId": "$everyone"
        },
        {
          "accessType": "READ",
          "permission": "ALLOW",
          "principalType": "ROLE",
          "principalId": "$everyone"
        }
      ]
    },
    "properties": {},
    "public": true,
    "dataSource": "db"
  },
  "account": {
    "options": {
      "relations": {
        "transactions": {
          "model": "transaction",
          "type": "hasMany"
        },
        "user": {
          "model": "user",
          "type": "belongsTo",
          "foreignKey": "userId"
        }
      },
      "acls": [
        {
          "accessType": "*",
          "permission": "DENY",
          "principalType": "ROLE",
          "principalId": "$everyone"
        },
        {
          "accessType": "*",
          "permission": "ALLOW",
          "principalType": "ROLE",
          "principalId": "$owner"
        },
        {
          "permission": "DENY",
          "principalType": "ROLE",
          "principalId": "$owner",
          "property": "removeById"
        }
      ]
    },
    "properties": {},
    "public": true,
    "dataSource": "db"
  },
  "transaction": {
    "options": {
      "acls": [
        {
          "accessType": "*",
          "permission": "DENY",
          "principalType": "ROLE",
          "principalId": "$everyone"
        }
      ]
    },
    "properties": {},
    "public": true,
    "dataSource": "db"
  },
  "alert": {
    "options": {
      "acls": [
        {
          "accessType": "WRITE",
          "permission": "DENY",
          "principalType": "ROLE",
          "principalId": "$everyone"
        }
      ]
    },
    "properties": {},
    "public": true,
    "dataSource": "db"
  }
}