Add Bird gate call flow unit tests, self-serve machine wash minutes config, relay sync improvements, and OpenAPI updates. Refactor Bird call handling with terminal status detection and timeout normalization.
This commit is contained in:
+33
-3
@@ -7433,7 +7433,9 @@ paths:
|
||||
tags:
|
||||
- Modules
|
||||
summary: Send self-serve lane command
|
||||
description: Send a command (e.g., start, stop, reset) to a self-serve lane
|
||||
description: |
|
||||
Send a command (e.g., start, stop, reset) to a self-serve lane.
|
||||
Property gate commands (`OPEN_PROPERTY_ACCESS_GATE`, `OPEN_PROPERTY_EXIT_GATE`) are also supported here.
|
||||
operationId: sendSelfServeLaneCommand
|
||||
requestBody:
|
||||
required: true
|
||||
@@ -7449,7 +7451,7 @@ paths:
|
||||
type: integer
|
||||
command:
|
||||
type: string
|
||||
enum: [START, STOP, RESET, RESERVE, RELEASE]
|
||||
enum: [START, STOP, RESET, RESERVE, RELEASE, OPEN_PROPERTY_ACCESS_GATE, OPEN_PROPERTY_EXIT_GATE]
|
||||
license_plate:
|
||||
type: string
|
||||
description: Required for START command
|
||||
@@ -7460,6 +7462,20 @@ paths:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/SelfServeLaneStatus'
|
||||
'400':
|
||||
description: Command execution failed
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: object
|
||||
properties:
|
||||
message:
|
||||
type: string
|
||||
example: Failed to execute command: Failed to open property access gate.
|
||||
'401':
|
||||
$ref: '#/components/responses/Unauthorized'
|
||||
'403':
|
||||
$ref: '#/components/responses/Forbidden'
|
||||
|
||||
/modules/self-serve/lane/services/allowed:
|
||||
post:
|
||||
@@ -7513,6 +7529,7 @@ paths:
|
||||
summary: Open a self-serve lane gate
|
||||
description: |
|
||||
Opens either the ENTRANCE or EXIT gate relay for a self-serve lane.
|
||||
Failures return a sanitized gate-specific message.
|
||||
operationId: openSelfServeLaneGate
|
||||
requestBody:
|
||||
required: true
|
||||
@@ -7546,6 +7563,16 @@ paths:
|
||||
type: boolean
|
||||
state:
|
||||
type: string
|
||||
'400':
|
||||
description: Gate open failed
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: object
|
||||
properties:
|
||||
message:
|
||||
type: string
|
||||
example: Failed to open entrance gate.
|
||||
'401':
|
||||
$ref: '#/components/responses/Unauthorized'
|
||||
'403':
|
||||
@@ -10763,7 +10790,7 @@ components:
|
||||
type: object
|
||||
properties:
|
||||
module: { type: string, enum: [selfserve] }
|
||||
variable: { type: string, enum: [enabled, minute_product] }
|
||||
variable: { type: string, enum: [enabled, minute_product, machine_wash_minutes_included] }
|
||||
type: { type: string, enum: [bool, int] }
|
||||
value:
|
||||
oneOf:
|
||||
@@ -12698,6 +12725,9 @@ components:
|
||||
minute_product:
|
||||
type: integer
|
||||
description: The product ID used for minute-based billing
|
||||
machine_wash_minutes_included:
|
||||
type: integer
|
||||
description: Included machine wash minutes before minute-based billing starts
|
||||
|
||||
SelfserveLaneService:
|
||||
type: string
|
||||
|
||||
Reference in New Issue
Block a user