UNPKG

@softvisio/core

Version:
74 lines (63 loc) 2.27 kB
- $id: public-config type: object properties: types: false - $id: config type: object properties: cacheMaxSize: { type: integer, minimum: 0 } types: type: object properties: main: { $ref: common#/$defs/type } propertyNames: { type: string } additionalProperties: { $ref: common#/$defs/type } required: [main] # main acl is required additionalProperties: false required: [cacheMaxSize, types] - $id: common $defs: type: type: object properties: roles: type: object propertyNames: { type: string } additionalProperties: type: object properties: name: { type: object, instanceof: Locale.L10nt } description: { type: object, instanceof: Locale.L10nt } permissions: { type: array, items: { type: string, format: glob-pattern }, minItems: 1, uniqueItems: true } additionalProperties: false required: [name, description, permissions] minProperties: 1 notifications: anyOf: - type: "null" - type: object propertyNames: { type: string } additionalProperties: type: object properties: name: { type: object, instanceof: Locale.L10nt } description: { type: object, instanceof: Locale.L10nt } roles: anyOf: - type: "null" - { type: array, items: { type: string }, minItems: 1, uniqueItems: true } channels: type: object propertyNames: { enum: [internal, email, telegram, push] } additionalProperties: type: object properties: enabled: { type: boolean } subscribed: { type: boolean } editable: { type: boolean } additionalProperties: false additionalProperties: false required: [name, description] minProperties: 1 additionalProperties: false required: [roles]