Initial cloud-services repo - gateway service + pkg modules

This commit is contained in:
Chris Rai
2026-01-30 23:14:52 -05:00
commit fbb820d7b3
1037 changed files with 171318 additions and 0 deletions

View 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'