components: schemas: CarToDriverModel: type: object properties: user: type: object properties: given_name: type: string description: first name associated with the user family_name: type: string description: last name associated with the user email: type: string description: email associated with the user phone: type: string description: phone number associated with the user driver_id: type: string description: a unique ID linking the user to the car role: type: string description: the role of the user in the car settings: type: string description: settings associated with the user on the car UpdateManifest: type: object properties: name: type: string description: name of the update version: type: string description: version of the update description: type: string description: description of the update release_notes: type: string description: release notes for the updates ecu_updates: type: array description: the ECU updates that comprise the car update items: $ref: "shared.yaml#/components/schemas/EcuUpdate" car_update_id: type: string format: time description: ID of the car update created: type: string format: time description: when this update manifest was created updated: type: string format: time description: when this update manifest was last updated EcuUpdate: type: object properties: update_file_id: type: string description: ID of the update file manifest_id: type: integer description: ID of the manifest name: type: string description: name of the ECU update part_number: type: string description: part number to be updated update_version: type: string description: version of the ECU update filename: type: string description: name of the ECU update file update_url: type: string description: URL to download the ECU update file from update_size: type: integer description: size of the ECU update in bytes created: type: string description: when the ECU update file was created updated: type: string description: when the ECU update file was last updated UpdateProgressModel: type: object properties: car_update_id: type: integer description: ID of the update associated with this progress message ecu: type: string description: ecu currently being updated file_current: type: integer description: downloaded amount of file in bytes file_total: type: integer description: total download amout of file in bytes package_current: type: integer description: downloaded amount of package in bytes package_total: type: integer description: total download amount of package in bytes installed: type: integer description: number of packages installed total_files: type: integer description: number of packages to be installed in update msg: type: integer description: message of the update enum: - download_start - downloading - download_complete - download_error - install_start - installing - install_complete - install_error err: type: integer description: optional error code associated with the update CarCommand: type: object properties: car_command_locks: $ref: "#/components/schemas/CarCommandLocks" CarCommandLocks: type: object properties: left_front: type: string description: command for the left front lock right_front: type: string description: command for the right front lock left_rear: type: string description: command for the left rear lock right_rear: type: string description: command for the right rear lock trunk: type: string description: command for the trunk