generated from coulomb/repo-seed
Start graph explorer contract
This commit is contained in:
232
schemas/graph-explorer-manifest.schema.yaml
Normal file
232
schemas/graph-explorer-manifest.schema.yaml
Normal file
@@ -0,0 +1,232 @@
|
||||
$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
|
||||
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
|
||||
- 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
|
||||
Reference in New Issue
Block a user