generated from coulomb/repo-seed
236 lines
4.6 KiB
YAML
236 lines
4.6 KiB
YAML
$schema: "https://json-schema.org/draft/2020-12/schema"
|
|
$id: "https://railiance.local/fabric/schemas/graph-explorer-manifest.schema.yaml"
|
|
title: "GraphExplorerManifest"
|
|
type: object
|
|
additionalProperties: false
|
|
required:
|
|
- apiVersion
|
|
- kind
|
|
- id
|
|
- title
|
|
- endpoints
|
|
- identity
|
|
- layers
|
|
- filter
|
|
- modes
|
|
- profile_persistence
|
|
properties:
|
|
apiVersion:
|
|
$ref: "./common.schema.yaml#/$defs/apiVersion"
|
|
kind:
|
|
type: string
|
|
const: GraphExplorerManifest
|
|
id:
|
|
type: string
|
|
minLength: 3
|
|
title:
|
|
type: string
|
|
minLength: 1
|
|
description:
|
|
type: string
|
|
engine:
|
|
type: object
|
|
additionalProperties: false
|
|
properties:
|
|
suggested_package:
|
|
type: string
|
|
preferred_library:
|
|
type: string
|
|
display_state_owner:
|
|
type: string
|
|
enum:
|
|
- host
|
|
- engine
|
|
- host-or-engine
|
|
endpoints:
|
|
type: object
|
|
additionalProperties: false
|
|
required:
|
|
- graph
|
|
properties:
|
|
graph:
|
|
$ref: "#/$defs/endpoint"
|
|
manifest:
|
|
$ref: "#/$defs/endpoint"
|
|
refilter:
|
|
$ref: "#/$defs/endpoint"
|
|
profiles:
|
|
type: object
|
|
additionalProperties: false
|
|
properties:
|
|
list:
|
|
$ref: "#/$defs/endpoint"
|
|
create:
|
|
$ref: "#/$defs/endpoint"
|
|
get:
|
|
$ref: "#/$defs/endpoint"
|
|
update:
|
|
$ref: "#/$defs/endpoint"
|
|
delete:
|
|
$ref: "#/$defs/endpoint"
|
|
duplicate:
|
|
$ref: "#/$defs/endpoint"
|
|
latest_default:
|
|
type: boolean
|
|
identity:
|
|
type: object
|
|
additionalProperties: false
|
|
required:
|
|
- node_id_field
|
|
- stable_key_field
|
|
- edge_id_field
|
|
- source_field
|
|
- target_field
|
|
properties:
|
|
node_id_field:
|
|
type: string
|
|
stable_key_field:
|
|
type: string
|
|
edge_id_field:
|
|
type: string
|
|
source_field:
|
|
type: string
|
|
target_field:
|
|
type: string
|
|
layers:
|
|
type: array
|
|
minItems: 1
|
|
items:
|
|
type: object
|
|
additionalProperties: false
|
|
required:
|
|
- id
|
|
- label
|
|
- order
|
|
properties:
|
|
id:
|
|
type: string
|
|
minLength: 1
|
|
label:
|
|
type: string
|
|
minLength: 1
|
|
order:
|
|
type: integer
|
|
minimum: 0
|
|
color:
|
|
type: string
|
|
pattern: "^#[0-9a-fA-F]{6}$"
|
|
grouping_fields:
|
|
$ref: "#/$defs/stringList"
|
|
search_fields:
|
|
$ref: "#/$defs/stringList"
|
|
filter:
|
|
type: object
|
|
additionalProperties: false
|
|
required:
|
|
- actions
|
|
- fields
|
|
properties:
|
|
actions:
|
|
type: array
|
|
minItems: 1
|
|
uniqueItems: true
|
|
items:
|
|
type: string
|
|
enum:
|
|
- show
|
|
- blur
|
|
- hide
|
|
- highlight
|
|
- remove
|
|
fields:
|
|
type: array
|
|
items:
|
|
type: object
|
|
additionalProperties: false
|
|
required:
|
|
- id
|
|
- label
|
|
- type
|
|
properties:
|
|
id:
|
|
type: string
|
|
minLength: 1
|
|
label:
|
|
type: string
|
|
minLength: 1
|
|
type:
|
|
type: string
|
|
enum:
|
|
- string
|
|
- number
|
|
- boolean
|
|
- array
|
|
visual_encodings:
|
|
type: object
|
|
additionalProperties:
|
|
type: string
|
|
detail:
|
|
type: object
|
|
additionalProperties: false
|
|
properties:
|
|
node_fields:
|
|
$ref: "#/$defs/stringList"
|
|
edge_fields:
|
|
$ref: "#/$defs/stringList"
|
|
modes:
|
|
type: array
|
|
minItems: 1
|
|
items:
|
|
type: object
|
|
additionalProperties: false
|
|
required:
|
|
- id
|
|
- label
|
|
properties:
|
|
id:
|
|
type: string
|
|
minLength: 1
|
|
label:
|
|
type: string
|
|
minLength: 1
|
|
description:
|
|
type: string
|
|
requires_selection:
|
|
type: boolean
|
|
profile_persistence:
|
|
type: string
|
|
enum:
|
|
- none
|
|
- local
|
|
- host
|
|
shareable_state:
|
|
type: object
|
|
additionalProperties: false
|
|
properties:
|
|
url_parameters:
|
|
type: boolean
|
|
profile_id:
|
|
type: boolean
|
|
state_blob:
|
|
type: boolean
|
|
|
|
$defs:
|
|
endpoint:
|
|
type: object
|
|
additionalProperties: false
|
|
required:
|
|
- method
|
|
- url
|
|
properties:
|
|
method:
|
|
type: string
|
|
enum:
|
|
- GET
|
|
- POST
|
|
- PATCH
|
|
- DELETE
|
|
url:
|
|
type: string
|
|
minLength: 1
|
|
stringList:
|
|
type: array
|
|
items:
|
|
type: string
|
|
minLength: 1
|