@bbc/sofie-live-status-gateway-api 1.53.0-in-development
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +13 -0
- package/api/asyncapi.yaml +51 -0
- package/api/components/adLibs/actionType/actionType-example.yaml +2 -0
- package/api/components/adLibs/actionType/actionType.yaml +15 -0
- package/api/components/adLibs/adLibBase/adLibBase-example.yaml +9 -0
- package/api/components/adLibs/adLibBase/adLibBase.yaml +35 -0
- package/api/components/adLibs/adLibStatus/adLibStatus-example.yaml +3 -0
- package/api/components/adLibs/adLibStatus/adLibStatus.yaml +17 -0
- package/api/components/adLibs/adLibsEvent/adLibsEvent-example.yaml +6 -0
- package/api/components/adLibs/adLibsEvent/adLibsEvent.yaml +29 -0
- package/api/components/adLibs/bucketAdLibStatus/bucketAdLibStatus-example.yaml +2 -0
- package/api/components/adLibs/bucketAdLibStatus/bucketAdLibStatus.yaml +14 -0
- package/api/components/adLibs/globalAdLibStatus/globalAdLibStatus-example.yaml +1 -0
- package/api/components/adLibs/globalAdLibStatus/globalAdLibStatus.yaml +7 -0
- package/api/components/adLibs/messages/adLibsMessage.yaml +10 -0
- package/api/components/buckets/bucketStatus/bucketStatus-example.yaml +4 -0
- package/api/components/buckets/bucketStatus/bucketStatus.yaml +20 -0
- package/api/components/buckets/bucketsEvent/bucketsEvent-example.yaml +3 -0
- package/api/components/buckets/bucketsEvent/bucketsEvent.yaml +17 -0
- package/api/components/buckets/messages/bucketsMessage.yaml +10 -0
- package/api/components/connection/heartbeatEvent/heartbeatEvent-example.yaml +1 -0
- package/api/components/connection/heartbeatEvent/heartbeatEvent.yaml +12 -0
- package/api/components/connection/messages/heartbeatMessage.yaml +11 -0
- package/api/components/connection/messages/pingMessage.yaml +12 -0
- package/api/components/connection/messages/pongMessage.yaml +12 -0
- package/api/components/connection/pingEvent/pingEvent-example.yaml +2 -0
- package/api/components/connection/pingEvent/pingEvent.yaml +14 -0
- package/api/components/connection/pongEvent/pongEvent-example.yaml +2 -0
- package/api/components/connection/pongEvent/pongEvent.yaml +14 -0
- package/api/components/connection/reqid/reqid.yaml +4 -0
- package/api/components/notifications/events/notificationsEvent/notificationsEvent-example.yaml +3 -0
- package/api/components/notifications/events/notificationsEvent/notificationsEvent.yaml +18 -0
- package/api/components/notifications/messages/notificationsMessage.yaml +10 -0
- package/api/components/notifications/notificationObj/notificationObj-example.yaml +7 -0
- package/api/components/notifications/notificationObj/notificationObj.yaml +33 -0
- package/api/components/notifications/notificationSeverity.yaml +9 -0
- package/api/components/notifications/target/notificationTarget.yaml +16 -0
- package/api/components/notifications/target/notificationTargetType.yaml +11 -0
- package/api/components/notifications/target/partInstance/notificationTargetPartInstance-example.yaml +4 -0
- package/api/components/notifications/target/partInstance/notificationTargetPartInstance.yaml +18 -0
- package/api/components/notifications/target/pieceInstance/notificationTargetPieceInstance-example.yaml +5 -0
- package/api/components/notifications/target/pieceInstance/notificationTargetPieceInstance.yaml +20 -0
- package/api/components/notifications/target/rundown/notificationTargetRundown-example.yaml +3 -0
- package/api/components/notifications/target/rundown/notificationTargetRundown.yaml +16 -0
- package/api/components/notifications/target/rundownPlaylist/notificationTargetRundownPlaylist-example.yaml +3 -0
- package/api/components/notifications/target/rundownPlaylist/notificationTargetRundownPlaylist.yaml +16 -0
- package/api/components/notifications/target/unknown/notificationTargetUnknown-example.yaml +1 -0
- package/api/components/notifications/target/unknown/notificationTargetUnknown.yaml +12 -0
- package/api/components/packages/messages/packagesMessage.yaml +8 -0
- package/api/components/packages/packageInfoStatus/packageInfoStatus-example.yaml +8 -0
- package/api/components/packages/packageInfoStatus/packageInfoStatus.yaml +32 -0
- package/api/components/packages/packageStatus/packageStatus.yaml +23 -0
- package/api/components/packages/packagesEvent/packagesEvent-example.yaml +4 -0
- package/api/components/packages/packagesEvent/packagesEvent.yaml +20 -0
- package/api/components/part/currentPart/currentPartStatus-example.yaml +3 -0
- package/api/components/part/currentPart/currentPartStatus.yaml +13 -0
- package/api/components/part/currentSegmentPart/currentSegmentPart-example.yaml +3 -0
- package/api/components/part/currentSegmentPart/currentSegmentPart.yaml +14 -0
- package/api/components/part/partBase/partBase-example.yaml +3 -0
- package/api/components/part/partBase/partBase.yaml +18 -0
- package/api/components/part/partStatus/partStatus-example.yaml +6 -0
- package/api/components/part/partStatus/partStatus.yaml +22 -0
- package/api/components/piece/activePiecesEvent/activePiecesEvent-example.yaml +4 -0
- package/api/components/piece/activePiecesEvent/activePiecesEvent.yaml +22 -0
- package/api/components/piece/messages/activePiecesMessage.yaml +10 -0
- package/api/components/piece/pieceStatus/pieceStatus-example.yaml +7 -0
- package/api/components/piece/pieceStatus/pieceStatus.yaml +28 -0
- package/api/components/playlist/activePlaylistEvent/activePlaylistEvent-example.yaml +17 -0
- package/api/components/playlist/activePlaylistEvent/activePlaylistEvent.yaml +50 -0
- package/api/components/playlist/messages/activePlaylistMessage.yaml +11 -0
- package/api/components/playlist/playlistStatus/playlistStatus-example.yaml +4 -0
- package/api/components/playlist/playlistStatus/playlistStatus.yaml +26 -0
- package/api/components/quickLoop/activePlaylistQuickLoop/activePlaylistQuickLoop-example.yaml +6 -0
- package/api/components/quickLoop/activePlaylistQuickLoop/activePlaylistQuickLoop.yaml +19 -0
- package/api/components/quickLoop/quickLoopMarker/quickLoopMarker-example.yaml +2 -0
- package/api/components/quickLoop/quickLoopMarker/quickLoopMarker.yaml +20 -0
- package/api/components/quickLoop/quickLoopMarkerType.yaml +10 -0
- package/api/components/segment/currentSegment/currentSegment-example.yaml +5 -0
- package/api/components/segment/currentSegment/currentSegment.yaml +19 -0
- package/api/components/segment/messages/segmentsMessage.yaml +10 -0
- package/api/components/segment/segment/segment-example.yaml +8 -0
- package/api/components/segment/segment/segment.yaml +26 -0
- package/api/components/segment/segmentBase/segmentBase-example.yaml +1 -0
- package/api/components/segment/segmentBase/segmentBase.yaml +11 -0
- package/api/components/segment/segmentsEvent/segmentsEvent-example.yaml +4 -0
- package/api/components/segment/segmentsEvent/segmentsEvent.yaml +23 -0
- package/api/components/studio/messages/studioUpdate.yaml +11 -0
- package/api/components/studio/studioEvent/studioEvent-example.yaml +2 -0
- package/api/components/studio/studioEvent/studioEvent.yaml +16 -0
- package/api/components/studio/studioStatus/studioStatus-example.yaml +4 -0
- package/api/components/studio/studioStatus/studioStatus.yaml +21 -0
- package/api/components/subscriptions/events/subscribeEvent/subscribeEvent-example.yaml +4 -0
- package/api/components/subscriptions/events/subscribeEvent/subscribeEvent.yaml +15 -0
- package/api/components/subscriptions/events/subscriptionStatusEvent/subscriptionStatusError/subscriptionStatusError-example.yaml +2 -0
- package/api/components/subscriptions/events/subscriptionStatusEvent/subscriptionStatusError/subscriptionStatusError.yaml +14 -0
- package/api/components/subscriptions/events/subscriptionStatusEvent/subscriptionStatusEvent-example.yaml +4 -0
- package/api/components/subscriptions/events/subscriptionStatusEvent/subscriptionStatusEvent.yaml +10 -0
- package/api/components/subscriptions/events/subscriptionStatusEvent/subscriptionStatusSuccess/subscriptionStatusSuccess-example.yaml +4 -0
- package/api/components/subscriptions/events/subscriptionStatusEvent/subscriptionStatusSuccess/subscriptionStatusSuccess.yaml +16 -0
- package/api/components/subscriptions/messages/subscribeMessage.yaml +12 -0
- package/api/components/subscriptions/messages/subscriptionStatusErrorMessage.yaml +10 -0
- package/api/components/subscriptions/messages/subscriptionStatusSuccessMessage.yaml +10 -0
- package/api/components/subscriptions/subscriptionDetails/subscriptionDetails-example.yaml +2 -0
- package/api/components/subscriptions/subscriptionDetails/subscriptionDetails.yaml +13 -0
- package/api/components/subscriptions/subscriptionEventName.yaml +8 -0
- package/api/components/subscriptions/subscriptionName.yaml +14 -0
- package/api/components/subscriptions/subscriptionRequestDetails/subscriptionRequestDetails.yaml +11 -0
- package/api/components/subscriptions/subscriptionStatusName.yaml +8 -0
- package/api/components/timing/activePlaylistTiming/activePlaylistTiming-example.yaml +3 -0
- package/api/components/timing/activePlaylistTiming/activePlaylistTiming.yaml +24 -0
- package/api/components/timing/activePlaylistTiming/activePlaylistTimingMode.yaml +7 -0
- package/api/components/timing/currentPartTiming/currentPartTiming-example.yaml +3 -0
- package/api/components/timing/currentPartTiming/currentPartTiming.yaml +20 -0
- package/api/components/timing/currentSegmentPartTiming/currentSegmentPartTiming-example.yaml +1 -0
- package/api/components/timing/currentSegmentPartTiming/currentSegmentPartTiming.yaml +8 -0
- package/api/components/timing/currentSegmentTiming/currentSegmentTiming-example.yaml +2 -0
- package/api/components/timing/currentSegmentTiming/currentSegmentTiming.yaml +16 -0
- package/api/components/timing/segmentCountdownType.yaml +6 -0
- package/api/components/timing/segmentTiming/segmentTiming-example.yaml +3 -0
- package/api/components/timing/segmentTiming/segmentTiming.yaml +19 -0
- package/api/topics/activePieces/activePiecesTopic.yaml +8 -0
- package/api/topics/activePlaylist/activePlaylistTopic.yaml +8 -0
- package/api/topics/adLibs/adLibsTopic.yaml +8 -0
- package/api/topics/buckets/bucketsTopic.yaml +8 -0
- package/api/topics/heartbeat/heartbeatTopic.yaml +7 -0
- package/api/topics/notifications/notificationsTopic.yaml +7 -0
- package/api/topics/packages/packagesTopic.yaml +7 -0
- package/api/topics/ping/pingTopic.yaml +11 -0
- package/api/topics/segments/segmentsTopic.yaml +7 -0
- package/api/topics/studio/studioTopic.yaml +7 -0
- package/api/topics/subscriptions/subscriptionsTopic.yaml +16 -0
- package/dist/generated/schema.d.ts +824 -0
- package/dist/generated/schema.d.ts.map +1 -0
- package/dist/generated/schema.js +118 -0
- package/dist/generated/schema.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/package.json +68 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License (MIT)
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2018 Norsk rikskringkasting AS (NRK)
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Sofie: The Modern TV News Studio Automation System (Live Status Gateway API)
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/@sofie-automation/live-status-gateway-api)
|
|
4
|
+
|
|
5
|
+
This library is used as part of [**Sofie Server Core**](https://github.com/nrkno/sofie-core).
|
|
6
|
+
|
|
7
|
+
This is a part of the [**Sofie** TV News Studio Automation System](https://github.com/nrkno/Sofie-TV-automation/).
|
|
8
|
+
|
|
9
|
+
## Purpose
|
|
10
|
+
|
|
11
|
+
This library is a collection of typings used by the `live-status-gateway` and consumers of the api it provides.
|
|
12
|
+
|
|
13
|
+
The package also contains the asyncapi schema, to allow for other consumers of the library to do their own generating if desired.
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
asyncapi: '2.6.0'
|
|
2
|
+
id: 'sofie:live-status-gateway:server'
|
|
3
|
+
info:
|
|
4
|
+
title: Sofie Live Status Service
|
|
5
|
+
version: '2.0.1'
|
|
6
|
+
description: This service provides subscriptions for status updates from Sofie
|
|
7
|
+
license:
|
|
8
|
+
name: MIT License
|
|
9
|
+
url: http://opensource.org/licenses/MIT
|
|
10
|
+
contact:
|
|
11
|
+
name: Sofie TV Automation
|
|
12
|
+
url: https://github.com/Sofie-Automation/sofie-core/issues
|
|
13
|
+
|
|
14
|
+
servers:
|
|
15
|
+
development:
|
|
16
|
+
url: localhost
|
|
17
|
+
description: Server available without authorization
|
|
18
|
+
protocol: ws
|
|
19
|
+
protocolVersion: '13'
|
|
20
|
+
|
|
21
|
+
defaultContentType: application/json
|
|
22
|
+
|
|
23
|
+
tags:
|
|
24
|
+
- name: sofie
|
|
25
|
+
- name: tv-automation
|
|
26
|
+
- name: broadcast
|
|
27
|
+
|
|
28
|
+
channels:
|
|
29
|
+
# As the LSG is websocket only, channels are only used for logical grouping for the generated docs and folder structure.
|
|
30
|
+
ping:
|
|
31
|
+
$ref: './topics/ping/pingTopic.yaml'
|
|
32
|
+
heartbeat:
|
|
33
|
+
$ref: './topics/heartbeat/heartbeatTopic.yaml'
|
|
34
|
+
subscriptions:
|
|
35
|
+
$ref: './topics/subscriptions/subscriptionsTopic.yaml'
|
|
36
|
+
studio:
|
|
37
|
+
$ref: './topics/studio/studioTopic.yaml'
|
|
38
|
+
activePlaylist:
|
|
39
|
+
$ref: './topics/activePlaylist/activePlaylistTopic.yaml'
|
|
40
|
+
activePieces:
|
|
41
|
+
$ref: './topics/activePieces/activePiecesTopic.yaml'
|
|
42
|
+
segments:
|
|
43
|
+
$ref: './topics/segments/segmentsTopic.yaml'
|
|
44
|
+
adLibs:
|
|
45
|
+
$ref: './topics/adLibs/adLibsTopic.yaml'
|
|
46
|
+
packages:
|
|
47
|
+
$ref: './topics/packages/packagesTopic.yaml'
|
|
48
|
+
buckets:
|
|
49
|
+
$ref: './topics/buckets/bucketsTopic.yaml'
|
|
50
|
+
notifications:
|
|
51
|
+
$ref: './topics/notifications/notificationsTopic.yaml'
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
$defs:
|
|
2
|
+
adLibActionType:
|
|
3
|
+
title: AdLibActionType
|
|
4
|
+
type: object
|
|
5
|
+
properties:
|
|
6
|
+
name:
|
|
7
|
+
type: string
|
|
8
|
+
description: The string to be passed to the ExecuteAdlib function
|
|
9
|
+
label:
|
|
10
|
+
type: string
|
|
11
|
+
description: The label for the AdLib type
|
|
12
|
+
required: [name, label]
|
|
13
|
+
additionalProperties: false
|
|
14
|
+
examples:
|
|
15
|
+
- $ref: './actionType-example.yaml'
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
id: 'C6K_yIMuGFUk8X_L9A9_jRT6aq4_'
|
|
2
|
+
name: Music video clip
|
|
3
|
+
sourceLayer: Video Clip
|
|
4
|
+
actionType:
|
|
5
|
+
- $ref: '../actionType/actionType-example.yaml'
|
|
6
|
+
tags: ['music_video']
|
|
7
|
+
publicData:
|
|
8
|
+
fileName: MV000123.mxf
|
|
9
|
+
optionsSchema: '{"$schema":"https://json-schema.org/draft/2020-12/schema","title":"Play Video Clip","type":"object","properties":{"type":"adlib_action_video_clip","label":{"type":"string"},"clipId":{"type":"string"},"vo":{"type":"boolean"},"target":{"$schema":"https://json-schema.org/draft/2020-12/schema","title":"Object Id","description":"Id of an object sent to Sofie","type":"string"},"duration":{"type":"number","exclusiveMinimum":0},"takeType":{"$schema":"https://json-schema.org/draft/2020-12/schema","title":"AdLib Action Take Type","type":"string","enum":["take_immediate","queue"]},"transition":{"$schema":"https://json-schema.org/draft/2020-12/schema","title":"AdLib Action Transition Type","oneOf":[{"type":"object","properties":{"type":"cut"},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":"mix","duration":{"type":"number","exclusiveMinimum":0,"description":"Duration in ms"}},"required":["type","duration"],"additionalProperties":false},{"type":"object","properties":{"type":"wipe","duration":{"type":"number","exclusiveMinimum":0,"description":"Duration in ms"},"patternId":{"type":"string","description":"Type of wipe to use"}},"required":["type","duration","patternId"],"additionalProperties":false},{"type":"object","properties":{"type":"macro","macroId":{"type":"string","description":"Macro template to recall"}},"required":["type","macroId"],"additionalProperties":false}]}},"required":["type","clipId","vo","target"],"additionalProperties":false}"'
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
$defs:
|
|
2
|
+
adLibBase:
|
|
3
|
+
title: AdLibBase
|
|
4
|
+
type: object
|
|
5
|
+
properties:
|
|
6
|
+
id:
|
|
7
|
+
type: string
|
|
8
|
+
description: Unique id of the AdLib
|
|
9
|
+
name:
|
|
10
|
+
type: string
|
|
11
|
+
description: The user defined AdLib name
|
|
12
|
+
sourceLayer:
|
|
13
|
+
type: string
|
|
14
|
+
description: The source layer name for this AdLib
|
|
15
|
+
outputLayer:
|
|
16
|
+
type: string
|
|
17
|
+
description: The output layer name for this AdLib
|
|
18
|
+
actionType:
|
|
19
|
+
type: array
|
|
20
|
+
description: The available action type names that can be used to modify the execution of the AdLib
|
|
21
|
+
items:
|
|
22
|
+
$ref: '../actionType/actionType.yaml#/$defs/adLibActionType'
|
|
23
|
+
tags:
|
|
24
|
+
type: array
|
|
25
|
+
description: Tags attached to this AdLib
|
|
26
|
+
items:
|
|
27
|
+
type: string
|
|
28
|
+
publicData:
|
|
29
|
+
description: Optional arbitrary data
|
|
30
|
+
optionsSchema:
|
|
31
|
+
type: string
|
|
32
|
+
description: JSON schema definition of the adLib properties that can be modified using the adLibOptions property in executeAdLib
|
|
33
|
+
required: [id, name, sourceLayer, actionType]
|
|
34
|
+
examples:
|
|
35
|
+
- $ref: './adLibBase-example.yaml'
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
$defs:
|
|
2
|
+
adLibStatus:
|
|
3
|
+
title: AdLibStatus
|
|
4
|
+
allOf:
|
|
5
|
+
- $ref: '../adLibBase/adLibBase.yaml#/$defs/adLibBase'
|
|
6
|
+
- type: object
|
|
7
|
+
title: AdLibStatus
|
|
8
|
+
properties:
|
|
9
|
+
segmentId:
|
|
10
|
+
description: Unique id of the segment this adLib belongs to
|
|
11
|
+
type: string
|
|
12
|
+
partId:
|
|
13
|
+
description: Unique id of the part this adLib belongs to
|
|
14
|
+
type: string
|
|
15
|
+
required: [segmentId, partId]
|
|
16
|
+
examples:
|
|
17
|
+
- $ref: './adLibStatus-example.yaml'
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
$defs:
|
|
2
|
+
adLibsEvent:
|
|
3
|
+
type: object
|
|
4
|
+
title: AdLibsEvent
|
|
5
|
+
properties:
|
|
6
|
+
event:
|
|
7
|
+
type: string
|
|
8
|
+
const: adLibs
|
|
9
|
+
rundownPlaylistId:
|
|
10
|
+
description: Unique id of the rundown playlist, or null if no playlist is active
|
|
11
|
+
oneOf:
|
|
12
|
+
- type: string
|
|
13
|
+
title: Unique id of the rundown playlist
|
|
14
|
+
- type: 'null'
|
|
15
|
+
title: Null if no playlist is active
|
|
16
|
+
adLibs:
|
|
17
|
+
type: array
|
|
18
|
+
description: The available AdLibs for this playlist
|
|
19
|
+
items:
|
|
20
|
+
$ref: '../adLibStatus/adLibStatus.yaml#/$defs/adLibStatus'
|
|
21
|
+
globalAdLibs:
|
|
22
|
+
type: array
|
|
23
|
+
description: The available Global AdLibs for this playlist
|
|
24
|
+
items:
|
|
25
|
+
$ref: '../globalAdLibStatus/globalAdLibStatus.yaml#/$defs/globalAdLibStatus'
|
|
26
|
+
required: [event, rundownPlaylistId, adLibs, globalAdLibs]
|
|
27
|
+
additionalProperties: false
|
|
28
|
+
examples:
|
|
29
|
+
- $ref: './adLibsEvent-example.yaml'
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
$defs:
|
|
2
|
+
bucketAdLibStatus:
|
|
3
|
+
title: BucketAdLibStatus
|
|
4
|
+
allOf:
|
|
5
|
+
- $ref: '../adLibBase/adLibBase.yaml#/$defs/adLibBase'
|
|
6
|
+
- type: object
|
|
7
|
+
title: BucketAdLibStatus
|
|
8
|
+
properties:
|
|
9
|
+
externalId:
|
|
10
|
+
type: string
|
|
11
|
+
description: Id of the adLib recognizable by the external source. Unique within a bucket.
|
|
12
|
+
required: [externalId]
|
|
13
|
+
examples:
|
|
14
|
+
- $ref: './bucketAdLibStatus-example.yaml'
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
$ref: '../adLibBase/adLibBase-example.yaml'
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
$defs:
|
|
2
|
+
bucketStatus:
|
|
3
|
+
title: BucketStatus
|
|
4
|
+
type: object
|
|
5
|
+
properties:
|
|
6
|
+
id:
|
|
7
|
+
description: Unique id of the bucket
|
|
8
|
+
type: string
|
|
9
|
+
name:
|
|
10
|
+
description: The user defined bucket name
|
|
11
|
+
type: string
|
|
12
|
+
adLibs:
|
|
13
|
+
description: The AdLibs in this bucket
|
|
14
|
+
type: array
|
|
15
|
+
items:
|
|
16
|
+
$ref: '../../adLibs/bucketAdLibStatus/bucketAdLibStatus.yaml#/$defs/bucketAdLibStatus'
|
|
17
|
+
required: [id, name, adLibs]
|
|
18
|
+
additionalProperties: false
|
|
19
|
+
examples:
|
|
20
|
+
- $ref: './bucketStatus-example.yaml'
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
$defs:
|
|
2
|
+
bucketsEvent:
|
|
3
|
+
title: BucketsEvent
|
|
4
|
+
type: object
|
|
5
|
+
properties:
|
|
6
|
+
event:
|
|
7
|
+
type: string
|
|
8
|
+
const: buckets
|
|
9
|
+
buckets:
|
|
10
|
+
description: Buckets available in the Studio
|
|
11
|
+
type: array
|
|
12
|
+
items:
|
|
13
|
+
$ref: '../bucketStatus/bucketStatus.yaml#/$defs/bucketStatus'
|
|
14
|
+
required: [event, buckets]
|
|
15
|
+
additionalProperties: false
|
|
16
|
+
examples:
|
|
17
|
+
- $ref: './bucketsEvent-example.yaml'
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
event: heartbeat
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
components:
|
|
2
|
+
messages:
|
|
3
|
+
heartbeatMessage:
|
|
4
|
+
name: heartbeat
|
|
5
|
+
messageId: heartbeat
|
|
6
|
+
description: Server heartbeat sent if no subscription traffic within 1 second (approximately)
|
|
7
|
+
payload:
|
|
8
|
+
$ref: '../heartbeatEvent/heartbeatEvent.yaml#/$defs/heartbeatEvent'
|
|
9
|
+
examples:
|
|
10
|
+
- payload:
|
|
11
|
+
$ref: '../heartbeatEvent/heartbeatEvent-example.yaml'
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
components:
|
|
2
|
+
messages:
|
|
3
|
+
pingMessage:
|
|
4
|
+
name: ping
|
|
5
|
+
messageId: ping
|
|
6
|
+
summary: Ping server to determine whether connection is alive
|
|
7
|
+
description: Client can ping server to determine whether connection is alive, server responds with pong. This is an application level ping as opposed to default ping in websockets standard which is server initiated
|
|
8
|
+
payload:
|
|
9
|
+
$ref: '../pingEvent/pingEvent.yaml#/$defs/pingEvent'
|
|
10
|
+
examples:
|
|
11
|
+
- payload:
|
|
12
|
+
$ref: '../pingEvent/pingEvent-example.yaml'
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
components:
|
|
2
|
+
messages:
|
|
3
|
+
pongMessage:
|
|
4
|
+
name: pong
|
|
5
|
+
messageId: pong
|
|
6
|
+
summary: Pong is a response to ping message
|
|
7
|
+
description: Server pong response to a ping to determine whether connection is alive. This is an application level pong as opposed to default pong in websockets standard which is sent by client in response to a ping
|
|
8
|
+
payload:
|
|
9
|
+
$ref: '../pongEvent/pongEvent.yaml#/$defs/pongEvent'
|
|
10
|
+
examples:
|
|
11
|
+
- payload:
|
|
12
|
+
$ref: '../pongEvent/pongEvent-example.yaml'
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
$defs:
|
|
2
|
+
pingEvent:
|
|
3
|
+
title: PingEvent
|
|
4
|
+
type: object
|
|
5
|
+
properties:
|
|
6
|
+
event:
|
|
7
|
+
type: string
|
|
8
|
+
const: ping
|
|
9
|
+
reqid:
|
|
10
|
+
$ref: '../reqid/reqid.yaml#/$defs/reqid'
|
|
11
|
+
required: [event, reqid]
|
|
12
|
+
additionalProperties: false
|
|
13
|
+
examples:
|
|
14
|
+
- $ref: './pingEvent-example.yaml'
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
$defs:
|
|
2
|
+
pongEvent:
|
|
3
|
+
title: PongEvent
|
|
4
|
+
type: object
|
|
5
|
+
properties:
|
|
6
|
+
event:
|
|
7
|
+
type: string
|
|
8
|
+
const: pong
|
|
9
|
+
reqid:
|
|
10
|
+
$ref: '../reqid/reqid.yaml#/$defs/reqid'
|
|
11
|
+
required: [event, reqid]
|
|
12
|
+
additionalProperties: false
|
|
13
|
+
examples:
|
|
14
|
+
- $ref: './pongEvent-example.yaml'
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
$defs:
|
|
2
|
+
notificationsEvent:
|
|
3
|
+
type: object
|
|
4
|
+
title: NotificationsEvent
|
|
5
|
+
description: Active notifications in Sofie
|
|
6
|
+
properties:
|
|
7
|
+
event:
|
|
8
|
+
type: string
|
|
9
|
+
const: notifications
|
|
10
|
+
activeNotifications:
|
|
11
|
+
description: Active notifications in Sofie
|
|
12
|
+
type: array
|
|
13
|
+
items:
|
|
14
|
+
$ref: '../../notificationObj/notificationObj.yaml#/$defs/NotificationObj'
|
|
15
|
+
required: [event, activeNotifications]
|
|
16
|
+
additionalProperties: false
|
|
17
|
+
examples:
|
|
18
|
+
- $ref: './notificationsEvent-example.yaml'
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
components:
|
|
2
|
+
messages:
|
|
3
|
+
notificationsMessage:
|
|
4
|
+
messageId: notificationsUpdate
|
|
5
|
+
title: Active notifications in Sofie
|
|
6
|
+
payload:
|
|
7
|
+
$ref: '../events/notificationsEvent/notificationsEvent.yaml#/$defs/notificationsEvent'
|
|
8
|
+
examples:
|
|
9
|
+
- payload:
|
|
10
|
+
$ref: '../events/notificationsEvent/notificationsEvent-example.yaml'
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
$defs:
|
|
2
|
+
NotificationObj:
|
|
3
|
+
type: object
|
|
4
|
+
title: NotificationObj
|
|
5
|
+
description: This describes a notification that should be shown to a user. These can come from various sources, and are added and removed dynamically during system usage
|
|
6
|
+
required:
|
|
7
|
+
- _id
|
|
8
|
+
- severity
|
|
9
|
+
- message
|
|
10
|
+
- relatedTo
|
|
11
|
+
- created
|
|
12
|
+
properties:
|
|
13
|
+
_id:
|
|
14
|
+
type: string
|
|
15
|
+
description: Unique identifier for the notification
|
|
16
|
+
severity:
|
|
17
|
+
$ref: '../notificationSeverity.yaml#/$defs/severity'
|
|
18
|
+
message:
|
|
19
|
+
type: string
|
|
20
|
+
description: The message of the notification
|
|
21
|
+
relatedTo:
|
|
22
|
+
$ref: '../target/notificationTarget.yaml#/$defs/NotificationTarget'
|
|
23
|
+
created:
|
|
24
|
+
type: integer
|
|
25
|
+
format: int64
|
|
26
|
+
description: Unix timestamp of creation
|
|
27
|
+
modified:
|
|
28
|
+
type: integer
|
|
29
|
+
format: int64
|
|
30
|
+
description: Unix timestamp of last modification
|
|
31
|
+
additionalProperties: false
|
|
32
|
+
examples:
|
|
33
|
+
- $ref: './notificationObj-example.yaml'
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
$defs:
|
|
2
|
+
NotificationTarget:
|
|
3
|
+
title: NotificationTarget
|
|
4
|
+
description: Describes what the notification is related to
|
|
5
|
+
oneOf:
|
|
6
|
+
- $ref: './rundown/notificationTargetRundown.yaml#/$defs/NotificationTargetRundown'
|
|
7
|
+
- $ref: './rundownPlaylist/notificationTargetRundownPlaylist.yaml#/$defs/NotificationTargetRundownPlaylist'
|
|
8
|
+
- $ref: './partInstance/notificationTargetPartInstance.yaml#/$defs/NotificationTargetPartInstance'
|
|
9
|
+
- $ref: './pieceInstance/notificationTargetPieceInstance.yaml#/$defs/NotificationTargetPieceInstance'
|
|
10
|
+
- $ref: './unknown/notificationTargetUnknown.yaml#/$defs/NotificationTargetUnknown'
|
|
11
|
+
examples:
|
|
12
|
+
- $ref: './rundown/notificationTargetRundown-example.yaml'
|
|
13
|
+
- $ref: './rundownPlaylist/notificationTargetRundownPlaylist-example.yaml'
|
|
14
|
+
- $ref: './partInstance/notificationTargetPartInstance-example.yaml'
|
|
15
|
+
- $ref: './pieceInstance/notificationTargetPieceInstance-example.yaml'
|
|
16
|
+
- $ref: './unknown/notificationTargetUnknown-example.yaml'
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
$defs:
|
|
2
|
+
NotificationTargetPartInstance:
|
|
3
|
+
type: object
|
|
4
|
+
title: NotificationTargetPartInstance
|
|
5
|
+
required: [type, studioId, rundownId, partInstanceId]
|
|
6
|
+
properties:
|
|
7
|
+
type:
|
|
8
|
+
$ref: '../notificationTargetType.yaml#/$defs/NotificationTargetType'
|
|
9
|
+
const: partInstance
|
|
10
|
+
studioId:
|
|
11
|
+
type: string
|
|
12
|
+
rundownId:
|
|
13
|
+
type: string
|
|
14
|
+
partInstanceId:
|
|
15
|
+
type: string
|
|
16
|
+
additionalProperties: false
|
|
17
|
+
examples:
|
|
18
|
+
- $ref: './notificationTargetPartInstance-example.yaml'
|
package/api/components/notifications/target/pieceInstance/notificationTargetPieceInstance.yaml
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
$defs:
|
|
2
|
+
NotificationTargetPieceInstance:
|
|
3
|
+
type: object
|
|
4
|
+
title: NotificationTargetPieceInstance
|
|
5
|
+
required: [type, studioId, rundownId, partInstanceId, pieceInstanceId]
|
|
6
|
+
properties:
|
|
7
|
+
type:
|
|
8
|
+
$ref: '../notificationTargetType.yaml#/$defs/NotificationTargetType'
|
|
9
|
+
const: pieceInstance
|
|
10
|
+
studioId:
|
|
11
|
+
type: string
|
|
12
|
+
rundownId:
|
|
13
|
+
type: string
|
|
14
|
+
partInstanceId:
|
|
15
|
+
type: string
|
|
16
|
+
pieceInstanceId:
|
|
17
|
+
type: string
|
|
18
|
+
additionalProperties: false
|
|
19
|
+
examples:
|
|
20
|
+
- $ref: './notificationTargetPieceInstance-example.yaml'
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
$defs:
|
|
2
|
+
NotificationTargetRundown:
|
|
3
|
+
type: object
|
|
4
|
+
title: NotificationTargetRundown
|
|
5
|
+
required: [type, studioId, rundownId]
|
|
6
|
+
properties:
|
|
7
|
+
type:
|
|
8
|
+
$ref: '../notificationTargetType.yaml#/$defs/NotificationTargetType'
|
|
9
|
+
const: rundown
|
|
10
|
+
studioId:
|
|
11
|
+
type: string
|
|
12
|
+
rundownId:
|
|
13
|
+
type: string
|
|
14
|
+
additionalProperties: false
|
|
15
|
+
examples:
|
|
16
|
+
- $ref: './notificationTargetRundown-example.yaml'
|