Initial cloud-services repo - gateway service + pkg modules
This commit is contained in:
331
services/gateway/docs/asyncapi_hmi.yaml
Normal file
331
services/gateway/docs/asyncapi_hmi.yaml
Normal file
@@ -0,0 +1,331 @@
|
||||
asyncapi: 2.0.0
|
||||
info:
|
||||
title: HMI Websocket API
|
||||
version: 1.0.0
|
||||
description: This serves as the documentation for websocket connections made between the HMI and the gateway.
|
||||
servers:
|
||||
local:
|
||||
url: localhost/secret_mobile
|
||||
description: local
|
||||
protocol: wss
|
||||
development:
|
||||
url: dev-gw.cloud.fiskerinc.com/secret_mobile
|
||||
description: dev
|
||||
protocol: wss
|
||||
preproduction:
|
||||
url: gw.cloud.fiskerinc.com/secret_mobile
|
||||
description: preprod
|
||||
protocol: wss
|
||||
production:
|
||||
url: gw.cec-prd.fiskerinc.com/secret_mobile
|
||||
description: prod
|
||||
protocol: wss
|
||||
production-eu:
|
||||
url: gw.cec-euprd.fiskerinc.com/secret_mobile
|
||||
description: prod-eu
|
||||
protocol: wss
|
||||
|
||||
channels:
|
||||
Verify:
|
||||
publish:
|
||||
message:
|
||||
$ref: '#/components/messages/Verify'
|
||||
subscribe:
|
||||
message:
|
||||
$ref: '#/components/messages/VerifyResponse'
|
||||
SessionId:
|
||||
subscribe:
|
||||
message:
|
||||
$ref: '#/components/messages/SessionId'
|
||||
MapDestination:
|
||||
subscribe:
|
||||
message:
|
||||
$ref: '#/components/messages/MapDestinationSource'
|
||||
MapRoute:
|
||||
subscribe:
|
||||
message:
|
||||
$ref: '#/components/messages/MapRouteSource'
|
||||
Profiles:
|
||||
publish:
|
||||
message:
|
||||
$ref: '#/components/messages/Profiles'
|
||||
subscribe:
|
||||
message:
|
||||
$ref: '#/components/messages/ProfilesResponse'
|
||||
ProfileNew:
|
||||
subscribe:
|
||||
message:
|
||||
$ref: '#/components/messages/ProfileNew'
|
||||
ProfileUpdate:
|
||||
subscribe:
|
||||
message:
|
||||
$ref: '#/components/messages/ProfileUpdate'
|
||||
ProfileDelete:
|
||||
subscribe:
|
||||
message:
|
||||
$ref: '#/components/messages/ProfileDelete'
|
||||
SettingsUpdate:
|
||||
publish:
|
||||
message:
|
||||
$ref: '#/components/messages/SettingsUpdate'
|
||||
subscribe:
|
||||
message:
|
||||
$ref: '#/components/messages/SettingsUpdateNotification'
|
||||
SubscriptionsUpdate:
|
||||
subscribe:
|
||||
message:
|
||||
$ref: '#/components/messages/SubscriptionsUpdate'
|
||||
UpdateManifest:
|
||||
subscribe:
|
||||
message:
|
||||
$ref: '#/components/messages/UpdateManifest'
|
||||
UpdateApprove:
|
||||
publish:
|
||||
message:
|
||||
$ref: '#/components/messages/UpdateApprove'
|
||||
CarUpdate:
|
||||
subscribe:
|
||||
message:
|
||||
$ref: '#/components/messages/CarUpdate'
|
||||
Error:
|
||||
subscribe:
|
||||
message:
|
||||
$ref: '#/components/messages/Error'
|
||||
|
||||
components:
|
||||
messages:
|
||||
Verify:
|
||||
description: Sent by the HMI to authenticate itself with the cloud. Fields vary depending on whether the HMI already has a driver profile.
|
||||
payload:
|
||||
type: object
|
||||
required:
|
||||
- handler
|
||||
- data
|
||||
properties:
|
||||
handler:
|
||||
type: string
|
||||
description: expects the string "verify"
|
||||
const: verify
|
||||
data:
|
||||
$ref: './schema/hmi/TXMessage.json#/$defs/VerifyModel'
|
||||
VerifyResponse:
|
||||
description: Received by the HMI after sending Verify.
|
||||
payload:
|
||||
type: object
|
||||
required:
|
||||
- handler
|
||||
- data
|
||||
properties:
|
||||
handler:
|
||||
type: string
|
||||
description: expects the string "verify"
|
||||
const: verify
|
||||
data:
|
||||
$ref: './schema/hmi/RXMessage.json#/$defs/VerifyResponseModel'
|
||||
SessionId:
|
||||
description: Provides a session ID unique to the HMI.
|
||||
payload:
|
||||
type: object
|
||||
required:
|
||||
- handler
|
||||
- data
|
||||
properties:
|
||||
handler:
|
||||
type: string
|
||||
description: expects the string "session_id"
|
||||
const: session_id
|
||||
data:
|
||||
$ref: './schema/hmi/RXMessage.json#/$defs/SessionIdModel'
|
||||
MapDestinationSource:
|
||||
description: Provides map destination to the HMI sent from mobile.
|
||||
payload:
|
||||
type: object
|
||||
required:
|
||||
- handler
|
||||
- data
|
||||
properties:
|
||||
handler:
|
||||
type: string
|
||||
description: expects the string "map_destination"
|
||||
const: map_destination
|
||||
data:
|
||||
$ref: './schema/hmi/RXMessage.json#/$defs/MapDestinationSourceModel'
|
||||
MapRouteSource:
|
||||
description: Provides map route to the HMI sent from mobile.
|
||||
payload:
|
||||
type: object
|
||||
required:
|
||||
- handler
|
||||
- data
|
||||
properties:
|
||||
handler:
|
||||
type: string
|
||||
description: expects the string "map_route"
|
||||
const: map_route
|
||||
data:
|
||||
$ref: './schema/hmi/RXMessage.json#/$defs/MapRouteSourceModel'
|
||||
Profiles:
|
||||
description: Prompts the cloud to send down all driver profiles on the car.
|
||||
payload:
|
||||
type: object
|
||||
required:
|
||||
- handler
|
||||
properties:
|
||||
handler:
|
||||
type: string
|
||||
description: expects the string "profiles"
|
||||
const: profiles
|
||||
ProfilesResponse:
|
||||
description: Provides an updated version of all driver profiles on the car.
|
||||
payload:
|
||||
type: object
|
||||
required:
|
||||
- handler
|
||||
- data
|
||||
properties:
|
||||
handler:
|
||||
type: string
|
||||
description: expects the string "profiles"
|
||||
const: profiles
|
||||
data:
|
||||
type: array
|
||||
description: stores data for response
|
||||
items:
|
||||
$ref: './schema/hmi/RXMessage.json#/$defs/CarToDriverModel'
|
||||
ProfileNew:
|
||||
description: Provides a single driver profile to be added on the car.
|
||||
payload:
|
||||
type: object
|
||||
required:
|
||||
- handler
|
||||
- data
|
||||
properties:
|
||||
handler:
|
||||
type: string
|
||||
description: expects the string "profile_new"
|
||||
const: profile_new
|
||||
data:
|
||||
$ref: './schema/hmi/RXMessage.json#/$defs/CarToDriverModel'
|
||||
ProfileUpdate:
|
||||
description: Provides an updated version of a single driver profile on the car.
|
||||
payload:
|
||||
type: object
|
||||
required:
|
||||
- handler
|
||||
- data
|
||||
properties:
|
||||
handler:
|
||||
type: string
|
||||
description: expects the string "profile_update"
|
||||
const: profile_update
|
||||
data:
|
||||
$ref: './schema/hmi/RXMessage.json#/$defs/CarToDriverUpdateModel'
|
||||
ProfileDelete:
|
||||
description: Describes the driver profile to remove from HMI.
|
||||
payload:
|
||||
type: object
|
||||
required:
|
||||
- handler
|
||||
- data
|
||||
properties:
|
||||
handler:
|
||||
type: string
|
||||
description: expects the string "profile_delete"
|
||||
const: profile_delete
|
||||
data:
|
||||
$ref: './schema/hmi/RXMessage.json#/$defs/CarToDriverDeleteModel'
|
||||
SettingsUpdate:
|
||||
description: Notifies the cloud of a change in settings on the HMI.
|
||||
payload:
|
||||
type: object
|
||||
required:
|
||||
- handler
|
||||
- data
|
||||
properties:
|
||||
handler:
|
||||
type: string
|
||||
description: expects the string "settings_update"
|
||||
const: settings_update
|
||||
data:
|
||||
$ref: './schema/hmi/TXMessage.json#/$defs/SettingsUpdateModel'
|
||||
SettingsUpdateNotification:
|
||||
description: Notifies the HMI of a change in settings.
|
||||
payload:
|
||||
type: object
|
||||
required:
|
||||
- handler
|
||||
- data
|
||||
properties:
|
||||
handler:
|
||||
type: string
|
||||
description: expects the string "settings_update"
|
||||
const: settings_update
|
||||
data:
|
||||
$ref: './schema/hmi/RXMessage.json#/$defs/SettingsUpdateModel'
|
||||
SubscriptionsUpdate:
|
||||
description: Notifies the HMI of a change in a subscription.
|
||||
payload:
|
||||
type: object
|
||||
required:
|
||||
- handler
|
||||
- data
|
||||
properties:
|
||||
handler:
|
||||
type: string
|
||||
description: expects the string "subscriptions_update"
|
||||
const: subscriptions_update
|
||||
data:
|
||||
$ref: './schema/hmi/RXMessage.json#/$defs/SubscriptionsUpdateModel'
|
||||
UpdateManifest:
|
||||
description: Provides a summary of an OTA update event.
|
||||
payload:
|
||||
type: object
|
||||
required:
|
||||
- handler
|
||||
- data
|
||||
properties:
|
||||
handler:
|
||||
type: string
|
||||
description: expects the string "update_manifest"
|
||||
const: update_manifest
|
||||
data:
|
||||
$ref: './schema/hmi/RXMessage.json#/$defs/UpdateManifest'
|
||||
UpdateApprove:
|
||||
description: Notifies the cloud that an update has been approved and can be downloaded.
|
||||
payload:
|
||||
type: object
|
||||
required:
|
||||
- handler
|
||||
properties:
|
||||
handler:
|
||||
type: string
|
||||
description: expects the string "update_approve"
|
||||
const: update_approve
|
||||
CarUpdate:
|
||||
description: Provides a status update on a specific car update.
|
||||
payload:
|
||||
type: object
|
||||
required:
|
||||
- handler
|
||||
- data
|
||||
properties:
|
||||
handler:
|
||||
type: string
|
||||
description: expects the string "car_update"
|
||||
const: car_update
|
||||
data:
|
||||
$ref: './schema/hmi/RXMessage.json#/$defs/UpdateProgressModel'
|
||||
Error:
|
||||
description: Generic error message
|
||||
payload:
|
||||
type: object
|
||||
required:
|
||||
- handler
|
||||
- data
|
||||
properties:
|
||||
handler:
|
||||
type: string
|
||||
description: expects the string "error"
|
||||
const: error
|
||||
data:
|
||||
$ref: './schema/hmi/RXMessage.json#/$defs/ErrorModel'
|
||||
Reference in New Issue
Block a user