Files
mr.koi ea93f09154 Establish the Koi Swagger parser release
Prepare the OpenAPI parser and Dart generator as a publishable Koi package with CLI entrypoint, docs, examples, tests, and pub.dev release metadata.

Constraint: Initial GitHub import follows koi_blueprint_flutter identity mr.koi <i@mrkoi.is>.

Rejected: Keep local runtime state in the initial repository | .dart_tool, .omx, and pubspec.lock are ignored for a reusable package source tree.

Confidence: high

Scope-risk: moderate

Directive: Keep generated-output behavior covered by parser and generator tests before changing rendering rules.

Tested: dart analyze; dart test; PUB_HOSTED_URL=https://pub.dev dart pub publish --dry-run

Not-tested: End-to-end downstream build_runner compilation of generated Retrofit/Freezed output.
2026-06-02 22:00:13 +08:00

6803 lines
165 KiB
JSON

{
"openapi": "3.1.0",
"info": {
"title": "Digital Business Area Server",
"version": "0.1.0"
},
"paths": {
"/api/v1/auth/register": {
"post": {
"tags": [
"auth"
],
"summary": "Register User",
"operationId": "register_user_api_v1_auth_register_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RegisterRequest"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_RegisterResponse_"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/auth/login": {
"post": {
"tags": [
"auth"
],
"summary": "Login User",
"operationId": "login_user_api_v1_auth_login_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LoginRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_LoginResponse_"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/stores": {
"get": {
"tags": [
"stores"
],
"summary": "List Stores",
"operationId": "list_stores_api_v1_stores_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_list_StoreResponse__"
}
}
}
}
}
},
"post": {
"tags": [
"stores"
],
"summary": "Create Store",
"operationId": "create_store_api_v1_stores_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StoreWrite"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_StoreResponse_"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/stores/{store_id}": {
"get": {
"tags": [
"stores"
],
"summary": "Get Store",
"operationId": "get_store_api_v1_stores__store_id__get",
"parameters": [
{
"name": "store_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"title": "Store Id"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_StoreResponse_"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
},
"put": {
"tags": [
"stores"
],
"summary": "Update Store",
"operationId": "update_store_api_v1_stores__store_id__put",
"parameters": [
{
"name": "store_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"title": "Store Id"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StoreWrite"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_StoreResponse_"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
},
"delete": {
"tags": [
"stores"
],
"summary": "Delete Store",
"operationId": "delete_store_api_v1_stores__store_id__delete",
"parameters": [
{
"name": "store_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"title": "Store Id"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_dict_str__bool__"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/devices": {
"get": {
"tags": [
"devices"
],
"summary": "List Devices",
"operationId": "list_devices_api_v1_devices_get",
"parameters": [
{
"name": "store_id",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Store Id"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_list_DeviceResponse__"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
},
"post": {
"tags": [
"devices"
],
"summary": "Create Device",
"operationId": "create_device_api_v1_devices_post",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeviceCreate"
}
}
}
},
"responses": {
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_DeviceResponse_"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/devices/{device_id}": {
"get": {
"tags": [
"devices"
],
"summary": "Get Device",
"operationId": "get_device_api_v1_devices__device_id__get",
"parameters": [
{
"name": "device_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"title": "Device Id"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_DeviceResponse_"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
},
"put": {
"tags": [
"devices"
],
"summary": "Update Device",
"operationId": "update_device_api_v1_devices__device_id__put",
"parameters": [
{
"name": "device_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"title": "Device Id"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeviceUpdate"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_DeviceResponse_"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
},
"delete": {
"tags": [
"devices"
],
"summary": "Delete Device",
"operationId": "delete_device_api_v1_devices__device_id__delete",
"parameters": [
{
"name": "device_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"title": "Device Id"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_dict_str__bool__"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/devices/register": {
"post": {
"tags": [
"devices"
],
"summary": "Register Device",
"operationId": "register_device_api_v1_devices_register_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeviceRegistrationRequest"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_DeviceRegistrationResponse_"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/devices/{device_id}/heartbeat": {
"post": {
"tags": [
"devices"
],
"summary": "Heartbeat",
"operationId": "heartbeat_api_v1_devices__device_id__heartbeat_post",
"parameters": [
{
"name": "device_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"title": "Device Id"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_DeviceHeartbeatResponse_"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/devices/{device_id}/status": {
"get": {
"tags": [
"devices"
],
"summary": "Get Device Status",
"operationId": "get_device_status_api_v1_devices__device_id__status_get",
"parameters": [
{
"name": "device_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"title": "Device Id"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_DeviceStatusResponse_"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/devices/check-offline": {
"post": {
"tags": [
"devices"
],
"summary": "Check Offline",
"operationId": "check_offline_api_v1_devices_check_offline_post",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_OfflineCheckResponse_"
}
}
}
}
}
}
},
"/api/v1/devices/{device_id}/config": {
"get": {
"tags": [
"devices"
],
"summary": "Get Device Config",
"operationId": "get_device_config_api_v1_devices__device_id__config_get",
"parameters": [
{
"name": "device_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"title": "Device Id"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_DeviceConfigResponse_"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
},
"put": {
"tags": [
"devices"
],
"summary": "Update Device Config",
"operationId": "update_device_config_api_v1_devices__device_id__config_put",
"parameters": [
{
"name": "device_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"title": "Device Id"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeviceConfigUpdate"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_DeviceConfigResponse_"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
},
"delete": {
"tags": [
"devices"
],
"summary": "Reset Device Config",
"operationId": "reset_device_config_api_v1_devices__device_id__config_delete",
"parameters": [
{
"name": "device_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"title": "Device Id"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_DeviceConfigResponse_"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/devices/{device_id}/command": {
"post": {
"tags": [
"devices"
],
"summary": "Send Device Command",
"operationId": "send_device_command_api_v1_devices__device_id__command_post",
"parameters": [
{
"name": "device_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"title": "Device Id"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeviceCommandRequest"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_DeviceCommandResponse_"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/device-groups": {
"get": {
"tags": [
"device_groups"
],
"summary": "List Groups",
"operationId": "list_groups_api_v1_device_groups_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_DeviceGroupListResponse_"
}
}
}
}
}
},
"post": {
"tags": [
"device_groups"
],
"summary": "Create Group",
"operationId": "create_group_api_v1_device_groups_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeviceGroupWrite"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_DeviceGroupSummary_"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/device-groups/{group_id}": {
"get": {
"tags": [
"device_groups"
],
"summary": "Get Group",
"operationId": "get_group_api_v1_device_groups__group_id__get",
"parameters": [
{
"name": "group_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"title": "Group Id"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_DeviceGroupDetailResponse_"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
},
"put": {
"tags": [
"device_groups"
],
"summary": "Update Group",
"operationId": "update_group_api_v1_device_groups__group_id__put",
"parameters": [
{
"name": "group_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"title": "Group Id"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeviceGroupWrite"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_DeviceGroupSummary_"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
},
"delete": {
"tags": [
"device_groups"
],
"summary": "Delete Group",
"operationId": "delete_group_api_v1_device_groups__group_id__delete",
"parameters": [
{
"name": "group_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"title": "Group Id"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_dict_str__bool__"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/device-groups/batch-action": {
"post": {
"tags": [
"device_groups"
],
"summary": "Batch Action",
"operationId": "batch_action_api_v1_device_groups_batch_action_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BatchDeviceActionRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_BatchDeviceActionResponse_"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/materials": {
"get": {
"tags": [
"materials"
],
"summary": "List Materials",
"operationId": "list_materials_api_v1_materials_get",
"parameters": [
{
"name": "store_id",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Store Id"
}
},
{
"name": "tag",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tag"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_MaterialListResponse_"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
},
"post": {
"tags": [
"materials"
],
"summary": "Create Material",
"operationId": "create_material_api_v1_materials_post",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MaterialCreate"
}
}
}
},
"responses": {
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_MaterialResponse_"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/materials/tags": {
"get": {
"tags": [
"materials"
],
"summary": "List Material Tags",
"operationId": "list_material_tags_api_v1_materials_tags_get",
"parameters": [
{
"name": "store_id",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Store Id"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_MaterialTagListResponse_"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/materials/upload-token": {
"get": {
"tags": [
"materials"
],
"summary": "Get Upload Token",
"operationId": "get_upload_token_api_v1_materials_upload_token_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_QiniuUploadTokenResponse_"
}
}
}
}
}
}
},
"/api/v1/materials/{material_id}": {
"get": {
"tags": [
"materials"
],
"summary": "Get Material",
"operationId": "get_material_api_v1_materials__material_id__get",
"parameters": [
{
"name": "material_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"title": "Material Id"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_MaterialResponse_"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
},
"put": {
"tags": [
"materials"
],
"summary": "Update Material",
"operationId": "update_material_api_v1_materials__material_id__put",
"parameters": [
{
"name": "material_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"title": "Material Id"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MaterialUpdate"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_MaterialResponse_"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
},
"delete": {
"tags": [
"materials"
],
"summary": "Delete Material",
"operationId": "delete_material_api_v1_materials__material_id__delete",
"parameters": [
{
"name": "material_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"title": "Material Id"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_dict_str__bool__"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/playlists": {
"get": {
"tags": [
"playlists"
],
"summary": "List Playlists",
"operationId": "list_playlists_api_v1_playlists_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_PlaylistListResponse_"
}
}
}
}
}
},
"post": {
"tags": [
"playlists"
],
"summary": "Create Playlist",
"operationId": "create_playlist_api_v1_playlists_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PlaylistWrite"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_PlaylistResponse_"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/playlists/{playlist_id}": {
"get": {
"tags": [
"playlists"
],
"summary": "Get Playlist",
"operationId": "get_playlist_api_v1_playlists__playlist_id__get",
"parameters": [
{
"name": "playlist_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"title": "Playlist Id"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_PlaylistResponse_"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
},
"put": {
"tags": [
"playlists"
],
"summary": "Update Playlist",
"operationId": "update_playlist_api_v1_playlists__playlist_id__put",
"parameters": [
{
"name": "playlist_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"title": "Playlist Id"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PlaylistWrite"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_PlaylistResponse_"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
},
"delete": {
"tags": [
"playlists"
],
"summary": "Delete Playlist",
"operationId": "delete_playlist_api_v1_playlists__playlist_id__delete",
"parameters": [
{
"name": "playlist_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"title": "Playlist Id"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_dict_str__bool__"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/plans/{device_id}": {
"get": {
"tags": [
"plans"
],
"summary": "Get Plan",
"operationId": "get_plan_api_v1_plans__device_id__get",
"parameters": [
{
"name": "device_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"title": "Device Id"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_AdPlanResponse_"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
},
"put": {
"tags": [
"plans"
],
"summary": "Put Plan",
"operationId": "put_plan_api_v1_plans__device_id__put",
"parameters": [
{
"name": "device_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"title": "Device Id"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AdPlanWrite"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_AdPlanResponse_"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/plans/{device_id}/publish": {
"post": {
"tags": [
"plans"
],
"summary": "Publish Plan",
"operationId": "publish_plan_api_v1_plans__device_id__publish_post",
"parameters": [
{
"name": "device_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"title": "Device Id"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PlanPublishRequest"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_PlanPublishResponse_"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/plans/{device_id}/upload_and_publish": {
"post": {
"tags": [
"plans"
],
"summary": "Upload And Publish",
"operationId": "upload_and_publish_api_v1_plans__device_id__upload_and_publish_post",
"parameters": [
{
"name": "device_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"title": "Device Id"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PlanUploadPublishRequest"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_PlanUploadPublishResponse_"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/plans/{device_id}/emergency": {
"post": {
"tags": [
"plans"
],
"summary": "Send Emergency",
"operationId": "send_emergency_api_v1_plans__device_id__emergency_post",
"parameters": [
{
"name": "device_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"title": "Device Id"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EmergencyPlayRequest"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_EmergencyEventResponse_"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/plans/{device_id}/emergency/cancel": {
"post": {
"tags": [
"plans"
],
"summary": "Cancel Emergency",
"operationId": "cancel_emergency_api_v1_plans__device_id__emergency_cancel_post",
"parameters": [
{
"name": "device_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"title": "Device Id"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/EmergencyCancelRequest"
},
{
"type": "null"
}
],
"title": "Payload"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_EmergencyEventResponse_"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/plan-templates": {
"get": {
"tags": [
"plan_templates"
],
"summary": "List Templates",
"operationId": "list_templates_api_v1_plan_templates_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_PlanTemplateListResponse_"
}
}
}
}
}
},
"post": {
"tags": [
"plan_templates"
],
"summary": "Create Template",
"operationId": "create_template_api_v1_plan_templates_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PlanTemplateWrite"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_PlanTemplateMutationResponse_"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/plan-templates/{template_id}": {
"get": {
"tags": [
"plan_templates"
],
"summary": "Get Template",
"operationId": "get_template_api_v1_plan_templates__template_id__get",
"parameters": [
{
"name": "template_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"title": "Template Id"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_PlanTemplateResponse_"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
},
"put": {
"tags": [
"plan_templates"
],
"summary": "Update Template",
"operationId": "update_template_api_v1_plan_templates__template_id__put",
"parameters": [
{
"name": "template_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"title": "Template Id"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PlanTemplateWrite"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_PlanTemplateMutationResponse_"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
},
"delete": {
"tags": [
"plan_templates"
],
"summary": "Delete Template",
"operationId": "delete_template_api_v1_plan_templates__template_id__delete",
"parameters": [
{
"name": "template_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"title": "Template Id"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_dict_str__bool__"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/plan-templates/{template_id}/apply": {
"post": {
"tags": [
"plan_templates"
],
"summary": "Apply Template",
"operationId": "apply_template_api_v1_plan_templates__template_id__apply_post",
"parameters": [
{
"name": "template_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"title": "Template Id"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PlanTemplateApplyRequest"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_PlanTemplateApplyResponse_"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/plan-templates/from-plan/{device_id}": {
"post": {
"tags": [
"plan_templates"
],
"summary": "Create Template From Plan",
"operationId": "create_template_from_plan_api_v1_plan_templates_from_plan__device_id__post",
"parameters": [
{
"name": "device_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"title": "Device Id"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PlanTemplateFromPlanWrite"
}
}
}
},
"responses": {
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_PlanTemplateMutationResponse_"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/playback_plans": {
"get": {
"tags": [
"playback_plans"
],
"summary": "List Plans",
"operationId": "list_plans_api_v1_playback_plans_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_PlaybackPlanListResponse_"
}
}
}
}
}
},
"post": {
"tags": [
"playback_plans"
],
"summary": "Create Plan",
"operationId": "create_plan_api_v1_playback_plans_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PlaybackPlanWrite"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_PlaybackPlanResponse_"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/playback_plans/{plan_id}": {
"get": {
"tags": [
"playback_plans"
],
"summary": "Get Plan",
"operationId": "get_plan_api_v1_playback_plans__plan_id__get",
"parameters": [
{
"name": "plan_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"title": "Plan Id"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_PlaybackPlanResponse_"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
},
"put": {
"tags": [
"playback_plans"
],
"summary": "Update Plan",
"operationId": "update_plan_api_v1_playback_plans__plan_id__put",
"parameters": [
{
"name": "plan_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"title": "Plan Id"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PlaybackPlanWrite"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_PlaybackPlanResponse_"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
},
"delete": {
"tags": [
"playback_plans"
],
"summary": "Delete Plan",
"operationId": "delete_plan_api_v1_playback_plans__plan_id__delete",
"parameters": [
{
"name": "plan_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"title": "Plan Id"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_dict_str__bool__"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/playlogs": {
"get": {
"tags": [
"playlogs"
],
"summary": "List Playlogs",
"operationId": "list_playlogs_api_v1_playlogs_get",
"parameters": [
{
"name": "device_id",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Device Id"
}
},
{
"name": "material_id",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Material Id"
}
},
{
"name": "start_date",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Start Date"
}
},
{
"name": "end_date",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "End Date"
}
},
{
"name": "limit",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"default": 100,
"title": "Limit"
}
},
{
"name": "offset",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"default": 0,
"title": "Offset"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_PlaylogListResponse_"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
},
"post": {
"tags": [
"playlogs"
],
"summary": "Create Playlog",
"operationId": "create_playlog_api_v1_playlogs_post",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PlaylogCreate"
}
}
}
},
"responses": {
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_PlaylogResponse_"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/playlogs/batch": {
"post": {
"tags": [
"playlogs"
],
"summary": "Create Playlogs Batch",
"operationId": "create_playlogs_batch_api_v1_playlogs_batch_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BatchPlaylogCreate"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_dict_str__str__"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/playlogs/stats/{device_id}": {
"get": {
"tags": [
"playlogs"
],
"summary": "Playlog Stats",
"operationId": "playlog_stats_api_v1_playlogs_stats__device_id__get",
"parameters": [
{
"name": "device_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"title": "Device Id"
}
},
{
"name": "start_date",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Start Date"
}
},
{
"name": "end_date",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "End Date"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_PlaylogStatsResponse_"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/playlogs/recent/{device_id}": {
"get": {
"tags": [
"playlogs"
],
"summary": "Recent Playlogs",
"operationId": "recent_playlogs_api_v1_playlogs_recent__device_id__get",
"parameters": [
{
"name": "device_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"title": "Device Id"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_RecentPlaylogResponse_"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/analytics/dashboard": {
"get": {
"tags": [
"analytics"
],
"summary": "Dashboard",
"operationId": "dashboard_api_v1_analytics_dashboard_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_AnalyticsDashboardResponse_"
}
}
}
}
}
}
},
"/api/v1/analytics/plays-by-day": {
"get": {
"tags": [
"analytics"
],
"summary": "Plays By Day",
"operationId": "plays_by_day_api_v1_analytics_plays_by_day_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_PlaysByDayResponse_"
}
}
}
}
}
}
},
"/api/v1/analytics/top-materials": {
"get": {
"tags": [
"analytics"
],
"summary": "Top Materials",
"operationId": "top_materials_api_v1_analytics_top_materials_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_TopMaterialsResponse_"
}
}
}
}
}
}
},
"/api/v1/analytics/device-activity": {
"get": {
"tags": [
"analytics"
],
"summary": "Device Activity",
"operationId": "device_activity_api_v1_analytics_device_activity_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_DeviceActivityResponse_"
}
}
}
}
}
}
},
"/api/v1/analytics/hourly-distribution": {
"get": {
"tags": [
"analytics"
],
"summary": "Hourly Distribution",
"operationId": "hourly_distribution_api_v1_analytics_hourly_distribution_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_HourlyDistributionResponse_"
}
}
}
}
}
}
},
"/api/v1/iot/devices": {
"get": {
"tags": [
"iot_devices"
],
"summary": "List Iot Devices",
"operationId": "list_iot_devices_api_v1_iot_devices_get",
"parameters": [
{
"name": "page_no",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"default": 1,
"title": "Page No"
}
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"default": 10,
"title": "Page Size"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_IoTDeviceListResponse_"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/iot/devices/{device_name}": {
"get": {
"tags": [
"iot_devices"
],
"summary": "Get Iot Device",
"operationId": "get_iot_device_api_v1_iot_devices__device_name__get",
"parameters": [
{
"name": "device_name",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "Device Name"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_dict_str__Any__"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
},
"delete": {
"tags": [
"iot_devices"
],
"summary": "Delete Iot Device",
"operationId": "delete_iot_device_api_v1_iot_devices__device_name__delete",
"parameters": [
{
"name": "device_name",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "Device Name"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_dict_str__bool__"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/iot/devices/sync": {
"post": {
"tags": [
"iot_devices"
],
"summary": "Sync Iot Devices",
"operationId": "sync_iot_devices_api_v1_iot_devices_sync_post",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiResponse_IoTDeviceSyncResponse_"
}
}
}
}
}
}
}
},
"components": {
"schemas": {
"AdPlanResponse": {
"properties": {
"device_id": {
"type": "integer",
"title": "Device Id"
},
"ver_ts": {
"type": "integer",
"title": "Ver Ts"
},
"content": {
"additionalProperties": true,
"type": "object",
"title": "Content"
},
"created_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Created At"
},
"updated_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Updated At"
}
},
"type": "object",
"required": [
"device_id",
"ver_ts",
"content",
"created_at",
"updated_at"
],
"title": "AdPlanResponse"
},
"AdPlanWrite": {
"properties": {
"device_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Device Id"
},
"content": {
"additionalProperties": true,
"type": "object",
"title": "Content"
}
},
"type": "object",
"required": [
"content"
],
"title": "AdPlanWrite"
},
"AnalyticsDashboardResponse": {
"properties": {
"devices": {
"$ref": "#/components/schemas/DeviceDashboardStats"
},
"today": {
"$ref": "#/components/schemas/TodayDashboardStats"
},
"week": {
"$ref": "#/components/schemas/WeekDashboardStats"
},
"materials": {
"$ref": "#/components/schemas/MaterialDashboardStats"
},
"generated_at": {
"type": "integer",
"title": "Generated At"
}
},
"type": "object",
"required": [
"devices",
"today",
"week",
"materials",
"generated_at"
],
"title": "AnalyticsDashboardResponse"
},
"ApiResponse_AdPlanResponse_": {
"properties": {
"code": {
"type": "integer",
"title": "Code",
"default": 200
},
"message": {
"type": "string",
"title": "Message",
"default": "ok"
},
"data": {
"$ref": "#/components/schemas/AdPlanResponse"
}
},
"type": "object",
"required": [
"data"
],
"title": "ApiResponse[AdPlanResponse]"
},
"ApiResponse_AnalyticsDashboardResponse_": {
"properties": {
"code": {
"type": "integer",
"title": "Code",
"default": 200
},
"message": {
"type": "string",
"title": "Message",
"default": "ok"
},
"data": {
"$ref": "#/components/schemas/AnalyticsDashboardResponse"
}
},
"type": "object",
"required": [
"data"
],
"title": "ApiResponse[AnalyticsDashboardResponse]"
},
"ApiResponse_BatchDeviceActionResponse_": {
"properties": {
"code": {
"type": "integer",
"title": "Code",
"default": 200
},
"message": {
"type": "string",
"title": "Message",
"default": "ok"
},
"data": {
"$ref": "#/components/schemas/BatchDeviceActionResponse"
}
},
"type": "object",
"required": [
"data"
],
"title": "ApiResponse[BatchDeviceActionResponse]"
},
"ApiResponse_DeviceActivityResponse_": {
"properties": {
"code": {
"type": "integer",
"title": "Code",
"default": 200
},
"message": {
"type": "string",
"title": "Message",
"default": "ok"
},
"data": {
"$ref": "#/components/schemas/DeviceActivityResponse"
}
},
"type": "object",
"required": [
"data"
],
"title": "ApiResponse[DeviceActivityResponse]"
},
"ApiResponse_DeviceCommandResponse_": {
"properties": {
"code": {
"type": "integer",
"title": "Code",
"default": 200
},
"message": {
"type": "string",
"title": "Message",
"default": "ok"
},
"data": {
"$ref": "#/components/schemas/DeviceCommandResponse"
}
},
"type": "object",
"required": [
"data"
],
"title": "ApiResponse[DeviceCommandResponse]"
},
"ApiResponse_DeviceConfigResponse_": {
"properties": {
"code": {
"type": "integer",
"title": "Code",
"default": 200
},
"message": {
"type": "string",
"title": "Message",
"default": "ok"
},
"data": {
"$ref": "#/components/schemas/DeviceConfigResponse"
}
},
"type": "object",
"required": [
"data"
],
"title": "ApiResponse[DeviceConfigResponse]"
},
"ApiResponse_DeviceGroupDetailResponse_": {
"properties": {
"code": {
"type": "integer",
"title": "Code",
"default": 200
},
"message": {
"type": "string",
"title": "Message",
"default": "ok"
},
"data": {
"$ref": "#/components/schemas/DeviceGroupDetailResponse"
}
},
"type": "object",
"required": [
"data"
],
"title": "ApiResponse[DeviceGroupDetailResponse]"
},
"ApiResponse_DeviceGroupListResponse_": {
"properties": {
"code": {
"type": "integer",
"title": "Code",
"default": 200
},
"message": {
"type": "string",
"title": "Message",
"default": "ok"
},
"data": {
"$ref": "#/components/schemas/DeviceGroupListResponse"
}
},
"type": "object",
"required": [
"data"
],
"title": "ApiResponse[DeviceGroupListResponse]"
},
"ApiResponse_DeviceGroupSummary_": {
"properties": {
"code": {
"type": "integer",
"title": "Code",
"default": 200
},
"message": {
"type": "string",
"title": "Message",
"default": "ok"
},
"data": {
"$ref": "#/components/schemas/DeviceGroupSummary"
}
},
"type": "object",
"required": [
"data"
],
"title": "ApiResponse[DeviceGroupSummary]"
},
"ApiResponse_DeviceHeartbeatResponse_": {
"properties": {
"code": {
"type": "integer",
"title": "Code",
"default": 200
},
"message": {
"type": "string",
"title": "Message",
"default": "ok"
},
"data": {
"$ref": "#/components/schemas/DeviceHeartbeatResponse"
}
},
"type": "object",
"required": [
"data"
],
"title": "ApiResponse[DeviceHeartbeatResponse]"
},
"ApiResponse_DeviceRegistrationResponse_": {
"properties": {
"code": {
"type": "integer",
"title": "Code",
"default": 200
},
"message": {
"type": "string",
"title": "Message",
"default": "ok"
},
"data": {
"$ref": "#/components/schemas/DeviceRegistrationResponse"
}
},
"type": "object",
"required": [
"data"
],
"title": "ApiResponse[DeviceRegistrationResponse]"
},
"ApiResponse_DeviceResponse_": {
"properties": {
"code": {
"type": "integer",
"title": "Code",
"default": 200
},
"message": {
"type": "string",
"title": "Message",
"default": "ok"
},
"data": {
"$ref": "#/components/schemas/DeviceResponse"
}
},
"type": "object",
"required": [
"data"
],
"title": "ApiResponse[DeviceResponse]"
},
"ApiResponse_DeviceStatusResponse_": {
"properties": {
"code": {
"type": "integer",
"title": "Code",
"default": 200
},
"message": {
"type": "string",
"title": "Message",
"default": "ok"
},
"data": {
"$ref": "#/components/schemas/DeviceStatusResponse"
}
},
"type": "object",
"required": [
"data"
],
"title": "ApiResponse[DeviceStatusResponse]"
},
"ApiResponse_EmergencyEventResponse_": {
"properties": {
"code": {
"type": "integer",
"title": "Code",
"default": 200
},
"message": {
"type": "string",
"title": "Message",
"default": "ok"
},
"data": {
"$ref": "#/components/schemas/EmergencyEventResponse"
}
},
"type": "object",
"required": [
"data"
],
"title": "ApiResponse[EmergencyEventResponse]"
},
"ApiResponse_HourlyDistributionResponse_": {
"properties": {
"code": {
"type": "integer",
"title": "Code",
"default": 200
},
"message": {
"type": "string",
"title": "Message",
"default": "ok"
},
"data": {
"$ref": "#/components/schemas/HourlyDistributionResponse"
}
},
"type": "object",
"required": [
"data"
],
"title": "ApiResponse[HourlyDistributionResponse]"
},
"ApiResponse_IoTDeviceListResponse_": {
"properties": {
"code": {
"type": "integer",
"title": "Code",
"default": 200
},
"message": {
"type": "string",
"title": "Message",
"default": "ok"
},
"data": {
"$ref": "#/components/schemas/IoTDeviceListResponse"
}
},
"type": "object",
"required": [
"data"
],
"title": "ApiResponse[IoTDeviceListResponse]"
},
"ApiResponse_IoTDeviceSyncResponse_": {
"properties": {
"code": {
"type": "integer",
"title": "Code",
"default": 200
},
"message": {
"type": "string",
"title": "Message",
"default": "ok"
},
"data": {
"$ref": "#/components/schemas/IoTDeviceSyncResponse"
}
},
"type": "object",
"required": [
"data"
],
"title": "ApiResponse[IoTDeviceSyncResponse]"
},
"ApiResponse_LoginResponse_": {
"properties": {
"code": {
"type": "integer",
"title": "Code",
"default": 200
},
"message": {
"type": "string",
"title": "Message",
"default": "ok"
},
"data": {
"$ref": "#/components/schemas/LoginResponse"
}
},
"type": "object",
"required": [
"data"
],
"title": "ApiResponse[LoginResponse]"
},
"ApiResponse_MaterialListResponse_": {
"properties": {
"code": {
"type": "integer",
"title": "Code",
"default": 200
},
"message": {
"type": "string",
"title": "Message",
"default": "ok"
},
"data": {
"$ref": "#/components/schemas/MaterialListResponse"
}
},
"type": "object",
"required": [
"data"
],
"title": "ApiResponse[MaterialListResponse]"
},
"ApiResponse_MaterialResponse_": {
"properties": {
"code": {
"type": "integer",
"title": "Code",
"default": 200
},
"message": {
"type": "string",
"title": "Message",
"default": "ok"
},
"data": {
"$ref": "#/components/schemas/MaterialResponse"
}
},
"type": "object",
"required": [
"data"
],
"title": "ApiResponse[MaterialResponse]"
},
"ApiResponse_MaterialTagListResponse_": {
"properties": {
"code": {
"type": "integer",
"title": "Code",
"default": 200
},
"message": {
"type": "string",
"title": "Message",
"default": "ok"
},
"data": {
"$ref": "#/components/schemas/MaterialTagListResponse"
}
},
"type": "object",
"required": [
"data"
],
"title": "ApiResponse[MaterialTagListResponse]"
},
"ApiResponse_OfflineCheckResponse_": {
"properties": {
"code": {
"type": "integer",
"title": "Code",
"default": 200
},
"message": {
"type": "string",
"title": "Message",
"default": "ok"
},
"data": {
"$ref": "#/components/schemas/OfflineCheckResponse"
}
},
"type": "object",
"required": [
"data"
],
"title": "ApiResponse[OfflineCheckResponse]"
},
"ApiResponse_PlanPublishResponse_": {
"properties": {
"code": {
"type": "integer",
"title": "Code",
"default": 200
},
"message": {
"type": "string",
"title": "Message",
"default": "ok"
},
"data": {
"$ref": "#/components/schemas/PlanPublishResponse"
}
},
"type": "object",
"required": [
"data"
],
"title": "ApiResponse[PlanPublishResponse]"
},
"ApiResponse_PlanTemplateApplyResponse_": {
"properties": {
"code": {
"type": "integer",
"title": "Code",
"default": 200
},
"message": {
"type": "string",
"title": "Message",
"default": "ok"
},
"data": {
"$ref": "#/components/schemas/PlanTemplateApplyResponse"
}
},
"type": "object",
"required": [
"data"
],
"title": "ApiResponse[PlanTemplateApplyResponse]"
},
"ApiResponse_PlanTemplateListResponse_": {
"properties": {
"code": {
"type": "integer",
"title": "Code",
"default": 200
},
"message": {
"type": "string",
"title": "Message",
"default": "ok"
},
"data": {
"$ref": "#/components/schemas/PlanTemplateListResponse"
}
},
"type": "object",
"required": [
"data"
],
"title": "ApiResponse[PlanTemplateListResponse]"
},
"ApiResponse_PlanTemplateMutationResponse_": {
"properties": {
"code": {
"type": "integer",
"title": "Code",
"default": 200
},
"message": {
"type": "string",
"title": "Message",
"default": "ok"
},
"data": {
"$ref": "#/components/schemas/PlanTemplateMutationResponse"
}
},
"type": "object",
"required": [
"data"
],
"title": "ApiResponse[PlanTemplateMutationResponse]"
},
"ApiResponse_PlanTemplateResponse_": {
"properties": {
"code": {
"type": "integer",
"title": "Code",
"default": 200
},
"message": {
"type": "string",
"title": "Message",
"default": "ok"
},
"data": {
"$ref": "#/components/schemas/PlanTemplateResponse"
}
},
"type": "object",
"required": [
"data"
],
"title": "ApiResponse[PlanTemplateResponse]"
},
"ApiResponse_PlanUploadPublishResponse_": {
"properties": {
"code": {
"type": "integer",
"title": "Code",
"default": 200
},
"message": {
"type": "string",
"title": "Message",
"default": "ok"
},
"data": {
"$ref": "#/components/schemas/PlanUploadPublishResponse"
}
},
"type": "object",
"required": [
"data"
],
"title": "ApiResponse[PlanUploadPublishResponse]"
},
"ApiResponse_PlaybackPlanListResponse_": {
"properties": {
"code": {
"type": "integer",
"title": "Code",
"default": 200
},
"message": {
"type": "string",
"title": "Message",
"default": "ok"
},
"data": {
"$ref": "#/components/schemas/PlaybackPlanListResponse"
}
},
"type": "object",
"required": [
"data"
],
"title": "ApiResponse[PlaybackPlanListResponse]"
},
"ApiResponse_PlaybackPlanResponse_": {
"properties": {
"code": {
"type": "integer",
"title": "Code",
"default": 200
},
"message": {
"type": "string",
"title": "Message",
"default": "ok"
},
"data": {
"$ref": "#/components/schemas/PlaybackPlanResponse"
}
},
"type": "object",
"required": [
"data"
],
"title": "ApiResponse[PlaybackPlanResponse]"
},
"ApiResponse_PlaylistListResponse_": {
"properties": {
"code": {
"type": "integer",
"title": "Code",
"default": 200
},
"message": {
"type": "string",
"title": "Message",
"default": "ok"
},
"data": {
"$ref": "#/components/schemas/PlaylistListResponse"
}
},
"type": "object",
"required": [
"data"
],
"title": "ApiResponse[PlaylistListResponse]"
},
"ApiResponse_PlaylistResponse_": {
"properties": {
"code": {
"type": "integer",
"title": "Code",
"default": 200
},
"message": {
"type": "string",
"title": "Message",
"default": "ok"
},
"data": {
"$ref": "#/components/schemas/PlaylistResponse"
}
},
"type": "object",
"required": [
"data"
],
"title": "ApiResponse[PlaylistResponse]"
},
"ApiResponse_PlaylogListResponse_": {
"properties": {
"code": {
"type": "integer",
"title": "Code",
"default": 200
},
"message": {
"type": "string",
"title": "Message",
"default": "ok"
},
"data": {
"$ref": "#/components/schemas/PlaylogListResponse"
}
},
"type": "object",
"required": [
"data"
],
"title": "ApiResponse[PlaylogListResponse]"
},
"ApiResponse_PlaylogResponse_": {
"properties": {
"code": {
"type": "integer",
"title": "Code",
"default": 200
},
"message": {
"type": "string",
"title": "Message",
"default": "ok"
},
"data": {
"$ref": "#/components/schemas/PlaylogResponse"
}
},
"type": "object",
"required": [
"data"
],
"title": "ApiResponse[PlaylogResponse]"
},
"ApiResponse_PlaylogStatsResponse_": {
"properties": {
"code": {
"type": "integer",
"title": "Code",
"default": 200
},
"message": {
"type": "string",
"title": "Message",
"default": "ok"
},
"data": {
"$ref": "#/components/schemas/PlaylogStatsResponse"
}
},
"type": "object",
"required": [
"data"
],
"title": "ApiResponse[PlaylogStatsResponse]"
},
"ApiResponse_PlaysByDayResponse_": {
"properties": {
"code": {
"type": "integer",
"title": "Code",
"default": 200
},
"message": {
"type": "string",
"title": "Message",
"default": "ok"
},
"data": {
"$ref": "#/components/schemas/PlaysByDayResponse"
}
},
"type": "object",
"required": [
"data"
],
"title": "ApiResponse[PlaysByDayResponse]"
},
"ApiResponse_QiniuUploadTokenResponse_": {
"properties": {
"code": {
"type": "integer",
"title": "Code",
"default": 200
},
"message": {
"type": "string",
"title": "Message",
"default": "ok"
},
"data": {
"$ref": "#/components/schemas/QiniuUploadTokenResponse"
}
},
"type": "object",
"required": [
"data"
],
"title": "ApiResponse[QiniuUploadTokenResponse]"
},
"ApiResponse_RecentPlaylogResponse_": {
"properties": {
"code": {
"type": "integer",
"title": "Code",
"default": 200
},
"message": {
"type": "string",
"title": "Message",
"default": "ok"
},
"data": {
"$ref": "#/components/schemas/RecentPlaylogResponse"
}
},
"type": "object",
"required": [
"data"
],
"title": "ApiResponse[RecentPlaylogResponse]"
},
"ApiResponse_RegisterResponse_": {
"properties": {
"code": {
"type": "integer",
"title": "Code",
"default": 200
},
"message": {
"type": "string",
"title": "Message",
"default": "ok"
},
"data": {
"$ref": "#/components/schemas/RegisterResponse"
}
},
"type": "object",
"required": [
"data"
],
"title": "ApiResponse[RegisterResponse]"
},
"ApiResponse_StoreResponse_": {
"properties": {
"code": {
"type": "integer",
"title": "Code",
"default": 200
},
"message": {
"type": "string",
"title": "Message",
"default": "ok"
},
"data": {
"$ref": "#/components/schemas/StoreResponse"
}
},
"type": "object",
"required": [
"data"
],
"title": "ApiResponse[StoreResponse]"
},
"ApiResponse_TopMaterialsResponse_": {
"properties": {
"code": {
"type": "integer",
"title": "Code",
"default": 200
},
"message": {
"type": "string",
"title": "Message",
"default": "ok"
},
"data": {
"$ref": "#/components/schemas/TopMaterialsResponse"
}
},
"type": "object",
"required": [
"data"
],
"title": "ApiResponse[TopMaterialsResponse]"
},
"ApiResponse_dict_str__Any__": {
"properties": {
"code": {
"type": "integer",
"title": "Code",
"default": 200
},
"message": {
"type": "string",
"title": "Message",
"default": "ok"
},
"data": {
"additionalProperties": true,
"type": "object",
"title": "Data"
}
},
"type": "object",
"required": [
"data"
],
"title": "ApiResponse[dict[str, Any]]"
},
"ApiResponse_dict_str__bool__": {
"properties": {
"code": {
"type": "integer",
"title": "Code",
"default": 200
},
"message": {
"type": "string",
"title": "Message",
"default": "ok"
},
"data": {
"additionalProperties": {
"type": "boolean"
},
"type": "object",
"title": "Data"
}
},
"type": "object",
"required": [
"data"
],
"title": "ApiResponse[dict[str, bool]]"
},
"ApiResponse_dict_str__str__": {
"properties": {
"code": {
"type": "integer",
"title": "Code",
"default": 200
},
"message": {
"type": "string",
"title": "Message",
"default": "ok"
},
"data": {
"additionalProperties": {
"type": "string"
},
"type": "object",
"title": "Data"
}
},
"type": "object",
"required": [
"data"
],
"title": "ApiResponse[dict[str, str]]"
},
"ApiResponse_list_DeviceResponse__": {
"properties": {
"code": {
"type": "integer",
"title": "Code",
"default": 200
},
"message": {
"type": "string",
"title": "Message",
"default": "ok"
},
"data": {
"items": {
"$ref": "#/components/schemas/DeviceResponse"
},
"type": "array",
"title": "Data"
}
},
"type": "object",
"required": [
"data"
],
"title": "ApiResponse[list[DeviceResponse]]"
},
"ApiResponse_list_StoreResponse__": {
"properties": {
"code": {
"type": "integer",
"title": "Code",
"default": 200
},
"message": {
"type": "string",
"title": "Message",
"default": "ok"
},
"data": {
"items": {
"$ref": "#/components/schemas/StoreResponse"
},
"type": "array",
"title": "Data"
}
},
"type": "object",
"required": [
"data"
],
"title": "ApiResponse[list[StoreResponse]]"
},
"BatchDeviceActionRequest": {
"properties": {
"device_ids": {
"items": {
"type": "integer"
},
"type": "array",
"title": "Device Ids"
},
"action": {
"type": "string",
"title": "Action"
},
"payload": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Payload"
}
},
"type": "object",
"required": [
"device_ids",
"action"
],
"title": "BatchDeviceActionRequest"
},
"BatchDeviceActionResponse": {
"properties": {
"action": {
"type": "string",
"title": "Action"
},
"affected_count": {
"type": "integer",
"title": "Affected Count"
},
"message": {
"type": "string",
"title": "Message"
}
},
"type": "object",
"required": [
"action",
"affected_count",
"message"
],
"title": "BatchDeviceActionResponse"
},
"BatchPlaylogCreate": {
"properties": {
"logs": {
"items": {
"$ref": "#/components/schemas/PlaylogCreate"
},
"type": "array",
"title": "Logs"
}
},
"type": "object",
"title": "BatchPlaylogCreate"
},
"DeviceActivityItem": {
"properties": {
"device_id": {
"type": "integer",
"title": "Device Id"
},
"device_name": {
"type": "string",
"title": "Device Name"
},
"status": {
"type": "string",
"title": "Status"
},
"play_count": {
"type": "integer",
"title": "Play Count"
},
"total_duration": {
"type": "integer",
"title": "Total Duration"
}
},
"type": "object",
"required": [
"device_id",
"device_name",
"status",
"play_count",
"total_duration"
],
"title": "DeviceActivityItem"
},
"DeviceActivityResponse": {
"properties": {
"data": {
"items": {
"$ref": "#/components/schemas/DeviceActivityItem"
},
"type": "array",
"title": "Data"
}
},
"type": "object",
"title": "DeviceActivityResponse"
},
"DeviceCommandRequest": {
"properties": {
"command": {
"type": "string",
"title": "Command"
},
"payload": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Payload"
}
},
"type": "object",
"required": [
"command"
],
"title": "DeviceCommandRequest"
},
"DeviceCommandResponse": {
"properties": {
"status": {
"type": "string",
"title": "Status"
},
"device_id": {
"type": "integer",
"title": "Device Id"
},
"command": {
"type": "string",
"title": "Command"
}
},
"type": "object",
"required": [
"status",
"device_id",
"command"
],
"title": "DeviceCommandResponse"
},
"DeviceConfigResponse": {
"properties": {
"device_id": {
"type": "integer",
"title": "Device Id"
},
"config": {
"additionalProperties": true,
"type": "object",
"title": "Config"
},
"config_version": {
"type": "integer",
"title": "Config Version"
},
"message": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Message"
}
},
"type": "object",
"required": [
"device_id",
"config",
"config_version"
],
"title": "DeviceConfigResponse"
},
"DeviceConfigUpdate": {
"properties": {
"config": {
"additionalProperties": true,
"type": "object",
"title": "Config"
}
},
"type": "object",
"required": [
"config"
],
"title": "DeviceConfigUpdate"
},
"DeviceCreate": {
"properties": {
"store_id": {
"type": "integer",
"title": "Store Id"
},
"name": {
"type": "string",
"title": "Name"
},
"mqtt_topic": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Mqtt Topic"
},
"tags": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Tags"
}
},
"type": "object",
"required": [
"store_id",
"name"
],
"title": "DeviceCreate"
},
"DeviceDashboardStats": {
"properties": {
"total": {
"type": "integer",
"title": "Total"
},
"online": {
"type": "integer",
"title": "Online"
},
"offline": {
"type": "integer",
"title": "Offline"
}
},
"type": "object",
"required": [
"total",
"online",
"offline"
],
"title": "DeviceDashboardStats"
},
"DeviceGroupDetailResponse": {
"properties": {
"id": {
"type": "integer",
"title": "Id"
},
"name": {
"type": "string",
"title": "Name"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"store_id": {
"type": "integer",
"title": "Store Id"
},
"devices": {
"items": {
"$ref": "#/components/schemas/DeviceGroupDevice"
},
"type": "array",
"title": "Devices"
},
"device_count": {
"type": "integer",
"title": "Device Count"
}
},
"type": "object",
"required": [
"id",
"name",
"store_id",
"device_count"
],
"title": "DeviceGroupDetailResponse"
},
"DeviceGroupDevice": {
"properties": {
"id": {
"type": "integer",
"title": "Id"
},
"name": {
"type": "string",
"title": "Name"
},
"status": {
"type": "string",
"title": "Status"
}
},
"type": "object",
"required": [
"id",
"name",
"status"
],
"title": "DeviceGroupDevice"
},
"DeviceGroupListResponse": {
"properties": {
"data": {
"items": {
"$ref": "#/components/schemas/DeviceGroupSummary"
},
"type": "array",
"title": "Data"
},
"total": {
"type": "integer",
"title": "Total"
}
},
"type": "object",
"required": [
"total"
],
"title": "DeviceGroupListResponse"
},
"DeviceGroupSummary": {
"properties": {
"id": {
"type": "integer",
"title": "Id"
},
"name": {
"type": "string",
"title": "Name"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"store_id": {
"type": "integer",
"title": "Store Id"
},
"device_count": {
"type": "integer",
"title": "Device Count"
},
"created_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Created At"
}
},
"type": "object",
"required": [
"id",
"name",
"store_id",
"device_count"
],
"title": "DeviceGroupSummary"
},
"DeviceGroupWrite": {
"properties": {
"name": {
"type": "string",
"title": "Name"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"store_id": {
"type": "integer",
"title": "Store Id"
}
},
"type": "object",
"required": [
"name",
"store_id"
],
"title": "DeviceGroupWrite"
},
"DeviceHeartbeatResponse": {
"properties": {
"status": {
"type": "string",
"title": "Status"
},
"timestamp": {
"type": "integer",
"title": "Timestamp"
},
"device_id": {
"type": "integer",
"title": "Device Id"
}
},
"type": "object",
"required": [
"status",
"timestamp",
"device_id"
],
"title": "DeviceHeartbeatResponse"
},
"DeviceRegistrationRequest": {
"properties": {
"store_id": {
"type": "integer",
"title": "Store Id"
},
"name": {
"type": "string",
"title": "Name"
},
"mqtt_topic": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Mqtt Topic"
},
"tags": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Tags"
}
},
"type": "object",
"required": [
"store_id",
"name"
],
"title": "DeviceRegistrationRequest"
},
"DeviceRegistrationResponse": {
"properties": {
"device": {
"$ref": "#/components/schemas/DeviceResponse"
},
"device_key": {
"type": "string",
"title": "Device Key"
},
"device_sn": {
"type": "string",
"title": "Device Sn"
},
"config_uploaded": {
"type": "boolean",
"title": "Config Uploaded"
},
"iot_core_enabled": {
"type": "boolean",
"title": "Iot Core Enabled"
},
"message": {
"type": "string",
"title": "Message"
}
},
"type": "object",
"required": [
"device",
"device_key",
"device_sn",
"config_uploaded",
"iot_core_enabled",
"message"
],
"title": "DeviceRegistrationResponse"
},
"DeviceResponse": {
"properties": {
"id": {
"type": "integer",
"title": "Id"
},
"store_id": {
"type": "integer",
"title": "Store Id"
},
"name": {
"type": "string",
"title": "Name"
},
"sn": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Sn"
},
"status": {
"type": "string",
"title": "Status"
},
"mqtt_topic": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Mqtt Topic"
},
"tags": {
"items": {
"type": "string"
},
"type": "array",
"title": "Tags",
"default": []
},
"last_seen": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Last Seen"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
}
},
"type": "object",
"required": [
"id",
"store_id",
"name",
"status",
"created_at",
"updated_at"
],
"title": "DeviceResponse"
},
"DeviceStatusResponse": {
"properties": {
"device_id": {
"type": "integer",
"title": "Device Id"
},
"status": {
"type": "string",
"title": "Status"
},
"last_seen": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Last Seen"
},
"last_seen_ago": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Last Seen Ago"
}
},
"type": "object",
"required": [
"device_id",
"status"
],
"title": "DeviceStatusResponse"
},
"DeviceUpdate": {
"properties": {
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Name"
},
"store_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Store Id"
},
"mqtt_topic": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Mqtt Topic"
},
"tags": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Tags"
},
"status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Status"
}
},
"type": "object",
"title": "DeviceUpdate"
},
"EmergencyCancelRequest": {
"properties": {
"reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Reason"
}
},
"type": "object",
"title": "EmergencyCancelRequest"
},
"EmergencyEventResponse": {
"properties": {
"message": {
"type": "string",
"title": "Message"
},
"device_id": {
"type": "integer",
"title": "Device Id"
},
"version": {
"type": "integer",
"title": "Version"
}
},
"type": "object",
"required": [
"message",
"device_id",
"version"
],
"title": "EmergencyEventResponse"
},
"EmergencyPlayItem": {
"properties": {
"material_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Material Id"
},
"url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Url"
},
"type": {
"anyOf": [
{
"type": "string",
"enum": [
"image",
"video"
]
},
{
"type": "null"
}
],
"title": "Type"
},
"duration": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Duration"
},
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Name"
}
},
"type": "object",
"title": "EmergencyPlayItem"
},
"EmergencyPlayRequest": {
"properties": {
"items": {
"items": {
"$ref": "#/components/schemas/EmergencyPlayItem"
},
"type": "array",
"title": "Items"
},
"duration": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Duration"
},
"policy": {
"type": "string",
"enum": [
"override",
"insert"
],
"title": "Policy",
"default": "override"
},
"version": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Version"
}
},
"type": "object",
"title": "EmergencyPlayRequest"
},
"HTTPValidationError": {
"properties": {
"detail": {
"items": {
"$ref": "#/components/schemas/ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
},
"HourlyDistributionItem": {
"properties": {
"hour": {
"type": "integer",
"title": "Hour"
},
"plays": {
"type": "integer",
"title": "Plays"
}
},
"type": "object",
"required": [
"hour",
"plays"
],
"title": "HourlyDistributionItem"
},
"HourlyDistributionResponse": {
"properties": {
"data": {
"items": {
"$ref": "#/components/schemas/HourlyDistributionItem"
},
"type": "array",
"title": "Data"
}
},
"type": "object",
"title": "HourlyDistributionResponse"
},
"IoTDeviceListResponse": {
"properties": {
"devices": {
"items": {
"$ref": "#/components/schemas/IoTDeviceResponse"
},
"type": "array",
"title": "Devices"
},
"totalCount": {
"type": "integer",
"title": "Totalcount"
},
"pageNo": {
"type": "integer",
"title": "Pageno"
},
"pageSize": {
"type": "integer",
"title": "Pagesize"
}
},
"type": "object",
"required": [
"totalCount",
"pageNo",
"pageSize"
],
"title": "IoTDeviceListResponse"
},
"IoTDeviceResponse": {
"properties": {
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Name"
},
"authType": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Authtype"
},
"desc": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Desc"
},
"createTime": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Createtime"
},
"updateTime": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Updatetime"
},
"status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Status"
},
"lastActiveTime": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Lastactivetime"
}
},
"type": "object",
"title": "IoTDeviceResponse"
},
"IoTDeviceSyncResponse": {
"properties": {
"synced": {
"type": "integer",
"title": "Synced"
},
"local_only": {
"items": {
"type": "string"
},
"type": "array",
"title": "Local Only"
},
"iot_only": {
"items": {
"type": "string"
},
"type": "array",
"title": "Iot Only"
},
"total_local": {
"type": "integer",
"title": "Total Local"
},
"total_iot": {
"type": "integer",
"title": "Total Iot"
},
"message": {
"type": "string",
"title": "Message"
}
},
"type": "object",
"required": [
"synced",
"total_local",
"total_iot",
"message"
],
"title": "IoTDeviceSyncResponse"
},
"LoginRequest": {
"properties": {
"username": {
"type": "string",
"title": "Username"
},
"password": {
"type": "string",
"title": "Password"
}
},
"type": "object",
"required": [
"username",
"password"
],
"title": "LoginRequest"
},
"LoginResponse": {
"properties": {
"access_token": {
"type": "string",
"title": "Access Token"
},
"user": {
"$ref": "#/components/schemas/UserInfo"
}
},
"type": "object",
"required": [
"access_token",
"user"
],
"title": "LoginResponse"
},
"MaterialCreate": {
"properties": {
"store_id": {
"type": "integer",
"title": "Store Id"
},
"name": {
"type": "string",
"title": "Name"
},
"type": {
"type": "string",
"title": "Type"
},
"url": {
"type": "string",
"title": "Url"
},
"key": {
"type": "string",
"title": "Key"
},
"size": {
"type": "integer",
"title": "Size",
"default": 0
},
"duration": {
"type": "integer",
"title": "Duration",
"default": 0
},
"tags": {
"items": {
"type": "string"
},
"type": "array",
"title": "Tags"
}
},
"type": "object",
"required": [
"store_id",
"name",
"type",
"url",
"key"
],
"title": "MaterialCreate"
},
"MaterialDashboardStats": {
"properties": {
"total": {
"type": "integer",
"title": "Total"
}
},
"type": "object",
"required": [
"total"
],
"title": "MaterialDashboardStats"
},
"MaterialListResponse": {
"properties": {
"data": {
"items": {
"$ref": "#/components/schemas/MaterialResponse"
},
"type": "array",
"title": "Data"
}
},
"type": "object",
"title": "MaterialListResponse"
},
"MaterialResponse": {
"properties": {
"id": {
"type": "integer",
"title": "Id"
},
"store_id": {
"type": "integer",
"title": "Store Id"
},
"name": {
"type": "string",
"title": "Name"
},
"type": {
"type": "string",
"title": "Type"
},
"url": {
"type": "string",
"title": "Url"
},
"key": {
"type": "string",
"title": "Key"
},
"size": {
"type": "integer",
"title": "Size"
},
"duration": {
"type": "integer",
"title": "Duration"
},
"tags": {
"items": {
"type": "string"
},
"type": "array",
"title": "Tags"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
}
},
"type": "object",
"required": [
"id",
"store_id",
"name",
"type",
"url",
"key",
"size",
"duration",
"created_at",
"updated_at"
],
"title": "MaterialResponse"
},
"MaterialTagListResponse": {
"properties": {
"data": {
"items": {
"$ref": "#/components/schemas/MaterialTagResponse"
},
"type": "array",
"title": "Data"
}
},
"type": "object",
"title": "MaterialTagListResponse"
},
"MaterialTagResponse": {
"properties": {
"id": {
"type": "integer",
"title": "Id"
},
"store_id": {
"type": "integer",
"title": "Store Id"
},
"name": {
"type": "string",
"title": "Name"
}
},
"type": "object",
"required": [
"id",
"store_id",
"name"
],
"title": "MaterialTagResponse"
},
"MaterialUpdate": {
"properties": {
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Name"
},
"tags": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Tags"
}
},
"type": "object",
"title": "MaterialUpdate"
},
"OfflineCheckResponse": {
"properties": {
"checked_at": {
"type": "integer",
"title": "Checked At"
},
"marked_offline": {
"type": "integer",
"title": "Marked Offline"
}
},
"type": "object",
"required": [
"checked_at",
"marked_offline"
],
"title": "OfflineCheckResponse"
},
"PlanPublishRequest": {
"properties": {
"plan_url": {
"type": "string",
"title": "Plan Url"
},
"version": {
"type": "integer",
"title": "Version"
},
"checksum": {
"type": "string",
"title": "Checksum"
},
"size": {
"type": "integer",
"title": "Size"
}
},
"type": "object",
"required": [
"plan_url",
"version",
"checksum",
"size"
],
"title": "PlanPublishRequest"
},
"PlanPublishResponse": {
"properties": {
"message": {
"type": "string",
"title": "Message"
},
"version": {
"type": "integer",
"title": "Version"
},
"device_id": {
"type": "integer",
"title": "Device Id"
}
},
"type": "object",
"required": [
"message",
"version",
"device_id"
],
"title": "PlanPublishResponse"
},
"PlanTargetResponse": {
"properties": {
"target_type": {
"type": "string",
"enum": [
"device",
"group",
"tag",
"store"
],
"title": "Target Type"
},
"target_value": {
"type": "string",
"title": "Target Value"
},
"id": {
"type": "integer",
"title": "Id"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
}
},
"type": "object",
"required": [
"target_type",
"target_value",
"id",
"created_at",
"updated_at"
],
"title": "PlanTargetResponse"
},
"PlanTargetWrite": {
"properties": {
"target_type": {
"type": "string",
"enum": [
"device",
"group",
"tag",
"store"
],
"title": "Target Type"
},
"target_value": {
"type": "string",
"title": "Target Value"
}
},
"type": "object",
"required": [
"target_type",
"target_value"
],
"title": "PlanTargetWrite"
},
"PlanTemplateApplyRequest": {
"properties": {
"device_ids": {
"items": {
"type": "integer"
},
"type": "array",
"minItems": 1,
"title": "Device Ids"
}
},
"type": "object",
"required": [
"device_ids"
],
"title": "PlanTemplateApplyRequest"
},
"PlanTemplateApplyResponse": {
"properties": {
"template_id": {
"type": "integer",
"title": "Template Id"
},
"applied_count": {
"type": "integer",
"title": "Applied Count"
},
"version": {
"type": "integer",
"title": "Version"
},
"message": {
"type": "string",
"title": "Message"
}
},
"type": "object",
"required": [
"template_id",
"applied_count",
"version",
"message"
],
"title": "PlanTemplateApplyResponse"
},
"PlanTemplateFromPlanWrite": {
"properties": {
"name": {
"type": "string",
"title": "Name"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"store_id": {
"type": "integer",
"title": "Store Id"
},
"content": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Content"
}
},
"type": "object",
"required": [
"name",
"store_id"
],
"title": "PlanTemplateFromPlanWrite"
},
"PlanTemplateListResponse": {
"properties": {
"data": {
"items": {
"$ref": "#/components/schemas/PlanTemplateResponse"
},
"type": "array",
"title": "Data"
},
"total": {
"type": "integer",
"title": "Total"
}
},
"type": "object",
"required": [
"total"
],
"title": "PlanTemplateListResponse"
},
"PlanTemplateMutationResponse": {
"properties": {
"id": {
"type": "integer",
"title": "Id"
},
"name": {
"type": "string",
"title": "Name"
},
"message": {
"type": "string",
"title": "Message"
}
},
"type": "object",
"required": [
"id",
"name",
"message"
],
"title": "PlanTemplateMutationResponse"
},
"PlanTemplateResponse": {
"properties": {
"id": {
"type": "integer",
"title": "Id"
},
"name": {
"type": "string",
"title": "Name"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"store_id": {
"type": "integer",
"title": "Store Id"
},
"content": {
"additionalProperties": true,
"type": "object",
"title": "Content"
},
"usage_count": {
"type": "integer",
"title": "Usage Count"
},
"created_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Created At"
},
"updated_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Updated At"
}
},
"type": "object",
"required": [
"id",
"name",
"description",
"store_id",
"content",
"usage_count",
"created_at",
"updated_at"
],
"title": "PlanTemplateResponse"
},
"PlanTemplateWrite": {
"properties": {
"name": {
"type": "string",
"title": "Name"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"store_id": {
"type": "integer",
"title": "Store Id"
},
"content": {
"additionalProperties": true,
"type": "object",
"title": "Content"
}
},
"type": "object",
"required": [
"name",
"store_id",
"content"
],
"title": "PlanTemplateWrite"
},
"PlanUploadPublishRequest": {
"properties": {
"content": {
"additionalProperties": true,
"type": "object",
"title": "Content"
},
"version": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Version"
}
},
"type": "object",
"required": [
"content"
],
"title": "PlanUploadPublishRequest"
},
"PlanUploadPublishResponse": {
"properties": {
"message": {
"type": "string",
"title": "Message"
},
"version": {
"type": "integer",
"title": "Version"
},
"plan_url": {
"type": "string",
"title": "Plan Url"
},
"checksum": {
"type": "string",
"title": "Checksum"
}
},
"type": "object",
"required": [
"message",
"version",
"plan_url",
"checksum"
],
"title": "PlanUploadPublishResponse"
},
"PlaybackPlanListResponse": {
"properties": {
"data": {
"items": {
"$ref": "#/components/schemas/PlaybackPlanResponse"
},
"type": "array",
"title": "Data"
}
},
"type": "object",
"title": "PlaybackPlanListResponse"
},
"PlaybackPlanResponse": {
"properties": {
"id": {
"type": "integer",
"title": "Id"
},
"store_id": {
"type": "integer",
"title": "Store Id"
},
"device_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Device Id"
},
"name": {
"type": "string",
"title": "Name"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"default_playlist_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Default Playlist Id"
},
"schedule": {
"items": {
"$ref": "#/components/schemas/PlaybackScheduleSlot"
},
"type": "array",
"title": "Schedule"
},
"priority": {
"type": "integer",
"title": "Priority",
"default": 0
},
"conflict_policy": {
"type": "string",
"enum": [
"exclusive",
"mix",
"weighted"
],
"title": "Conflict Policy",
"default": "exclusive"
},
"scene": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Scene"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"targets": {
"items": {
"$ref": "#/components/schemas/PlanTargetResponse"
},
"type": "array",
"title": "Targets"
}
},
"type": "object",
"required": [
"id",
"store_id",
"name",
"created_at",
"updated_at"
],
"title": "PlaybackPlanResponse"
},
"PlaybackPlanWrite": {
"properties": {
"store_id": {
"type": "integer",
"title": "Store Id"
},
"device_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Device Id"
},
"name": {
"type": "string",
"title": "Name"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"default_playlist_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Default Playlist Id"
},
"schedule": {
"items": {
"$ref": "#/components/schemas/PlaybackScheduleSlot"
},
"type": "array",
"title": "Schedule"
},
"priority": {
"type": "integer",
"title": "Priority",
"default": 0
},
"conflict_policy": {
"type": "string",
"enum": [
"exclusive",
"mix",
"weighted"
],
"title": "Conflict Policy",
"default": "exclusive"
},
"scene": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Scene"
},
"targets": {
"items": {
"$ref": "#/components/schemas/PlanTargetWrite"
},
"type": "array",
"title": "Targets"
}
},
"type": "object",
"required": [
"store_id",
"name"
],
"title": "PlaybackPlanWrite"
},
"PlaybackScheduleSlot": {
"properties": {
"day": {
"type": "integer",
"maximum": 7.0,
"minimum": 1.0,
"title": "Day"
},
"start": {
"type": "string",
"title": "Start"
},
"end": {
"type": "string",
"title": "End"
},
"playlist_id": {
"type": "integer",
"title": "Playlist Id"
}
},
"type": "object",
"required": [
"day",
"start",
"end",
"playlist_id"
],
"title": "PlaybackScheduleSlot"
},
"PlaylistItem": {
"properties": {
"material_id": {
"type": "integer",
"title": "Material Id"
},
"duration": {
"type": "integer",
"title": "Duration"
}
},
"type": "object",
"required": [
"material_id",
"duration"
],
"title": "PlaylistItem"
},
"PlaylistListResponse": {
"properties": {
"data": {
"items": {
"$ref": "#/components/schemas/PlaylistResponse"
},
"type": "array",
"title": "Data"
}
},
"type": "object",
"title": "PlaylistListResponse"
},
"PlaylistResponse": {
"properties": {
"id": {
"type": "integer",
"title": "Id"
},
"store_id": {
"type": "integer",
"title": "Store Id"
},
"name": {
"type": "string",
"title": "Name"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"items": {
"items": {
"$ref": "#/components/schemas/PlaylistItem"
},
"type": "array",
"title": "Items"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
}
},
"type": "object",
"required": [
"id",
"store_id",
"name",
"created_at",
"updated_at"
],
"title": "PlaylistResponse"
},
"PlaylistWrite": {
"properties": {
"store_id": {
"type": "integer",
"title": "Store Id"
},
"name": {
"type": "string",
"title": "Name"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"items": {
"items": {
"$ref": "#/components/schemas/PlaylistItem"
},
"type": "array",
"title": "Items"
}
},
"type": "object",
"required": [
"store_id",
"name"
],
"title": "PlaylistWrite"
},
"PlaylogCreate": {
"properties": {
"device_id": {
"type": "integer",
"title": "Device Id"
},
"material_id": {
"type": "integer",
"title": "Material Id"
},
"start_time": {
"type": "integer",
"title": "Start Time"
},
"end_time": {
"type": "integer",
"title": "End Time"
},
"duration": {
"type": "integer",
"title": "Duration"
}
},
"type": "object",
"required": [
"device_id",
"material_id",
"start_time",
"end_time",
"duration"
],
"title": "PlaylogCreate"
},
"PlaylogItem": {
"properties": {
"id": {
"type": "integer",
"title": "Id"
},
"device_id": {
"type": "integer",
"title": "Device Id"
},
"material_id": {
"type": "integer",
"title": "Material Id"
},
"material_name": {
"type": "string",
"title": "Material Name"
},
"material_type": {
"type": "string",
"title": "Material Type"
},
"start_time": {
"type": "integer",
"title": "Start Time"
},
"end_time": {
"type": "integer",
"title": "End Time"
},
"duration": {
"type": "integer",
"title": "Duration"
},
"created_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Created At"
}
},
"type": "object",
"required": [
"id",
"device_id",
"material_id",
"material_name",
"material_type",
"start_time",
"end_time",
"duration"
],
"title": "PlaylogItem"
},
"PlaylogListResponse": {
"properties": {
"data": {
"items": {
"$ref": "#/components/schemas/PlaylogItem"
},
"type": "array",
"title": "Data"
},
"total": {
"type": "integer",
"title": "Total"
},
"limit": {
"type": "integer",
"title": "Limit"
},
"offset": {
"type": "integer",
"title": "Offset"
}
},
"type": "object",
"required": [
"total",
"limit",
"offset"
],
"title": "PlaylogListResponse"
},
"PlaylogResponse": {
"properties": {
"id": {
"type": "integer",
"title": "Id"
},
"device_id": {
"type": "integer",
"title": "Device Id"
},
"material_id": {
"type": "integer",
"title": "Material Id"
},
"material_name": {
"type": "string",
"title": "Material Name"
},
"material_type": {
"type": "string",
"title": "Material Type"
},
"start_time": {
"type": "integer",
"title": "Start Time"
},
"end_time": {
"type": "integer",
"title": "End Time"
},
"duration": {
"type": "integer",
"title": "Duration"
},
"created_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Created At"
},
"updated_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Updated At"
}
},
"type": "object",
"required": [
"id",
"device_id",
"material_id",
"material_name",
"material_type",
"start_time",
"end_time",
"duration"
],
"title": "PlaylogResponse"
},
"PlaylogStatsDateRange": {
"properties": {
"start": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Start"
},
"end": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "End"
}
},
"type": "object",
"title": "PlaylogStatsDateRange"
},
"PlaylogStatsResponse": {
"properties": {
"total_plays": {
"type": "integer",
"title": "Total Plays"
},
"total_duration": {
"type": "integer",
"title": "Total Duration"
},
"unique_materials": {
"type": "integer",
"title": "Unique Materials"
},
"date_range": {
"$ref": "#/components/schemas/PlaylogStatsDateRange"
}
},
"type": "object",
"required": [
"total_plays",
"total_duration",
"unique_materials",
"date_range"
],
"title": "PlaylogStatsResponse"
},
"PlaysByDayItem": {
"properties": {
"date": {
"type": "string",
"title": "Date"
},
"timestamp": {
"type": "integer",
"title": "Timestamp"
},
"plays": {
"type": "integer",
"title": "Plays"
},
"duration": {
"type": "integer",
"title": "Duration"
}
},
"type": "object",
"required": [
"date",
"timestamp",
"plays",
"duration"
],
"title": "PlaysByDayItem"
},
"PlaysByDayResponse": {
"properties": {
"data": {
"items": {
"$ref": "#/components/schemas/PlaysByDayItem"
},
"type": "array",
"title": "Data"
},
"total_days": {
"type": "integer",
"title": "Total Days"
}
},
"type": "object",
"required": [
"total_days"
],
"title": "PlaysByDayResponse"
},
"QiniuUploadTokenResponse": {
"properties": {
"token": {
"type": "string",
"title": "Token"
},
"expires_at": {
"type": "integer",
"title": "Expires At"
}
},
"type": "object",
"required": [
"token",
"expires_at"
],
"title": "QiniuUploadTokenResponse"
},
"RecentPlaylogItem": {
"properties": {
"id": {
"type": "integer",
"title": "Id"
},
"material_id": {
"type": "integer",
"title": "Material Id"
},
"material_name": {
"type": "string",
"title": "Material Name"
},
"material_type": {
"type": "string",
"title": "Material Type"
},
"start_time": {
"type": "integer",
"title": "Start Time"
},
"end_time": {
"type": "integer",
"title": "End Time"
},
"duration": {
"type": "integer",
"title": "Duration"
}
},
"type": "object",
"required": [
"id",
"material_id",
"material_name",
"material_type",
"start_time",
"end_time",
"duration"
],
"title": "RecentPlaylogItem"
},
"RecentPlaylogResponse": {
"properties": {
"data": {
"items": {
"$ref": "#/components/schemas/RecentPlaylogItem"
},
"type": "array",
"title": "Data"
},
"count": {
"type": "integer",
"title": "Count"
}
},
"type": "object",
"required": [
"count"
],
"title": "RecentPlaylogResponse"
},
"RegisterRequest": {
"properties": {
"username": {
"type": "string",
"title": "Username"
},
"password": {
"type": "string",
"title": "Password"
}
},
"type": "object",
"required": [
"username",
"password"
],
"title": "RegisterRequest"
},
"RegisterResponse": {
"properties": {
"message": {
"type": "string",
"title": "Message"
}
},
"type": "object",
"required": [
"message"
],
"title": "RegisterResponse"
},
"StoreResponse": {
"properties": {
"id": {
"type": "integer",
"title": "Id"
},
"name": {
"type": "string",
"title": "Name"
},
"address": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Address"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
}
},
"type": "object",
"required": [
"id",
"name",
"created_at",
"updated_at"
],
"title": "StoreResponse"
},
"StoreWrite": {
"properties": {
"name": {
"type": "string",
"title": "Name"
},
"address": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Address"
}
},
"type": "object",
"required": [
"name"
],
"title": "StoreWrite"
},
"TodayDashboardStats": {
"properties": {
"plays": {
"type": "integer",
"title": "Plays"
},
"duration_seconds": {
"type": "integer",
"title": "Duration Seconds"
},
"duration_formatted": {
"type": "string",
"title": "Duration Formatted"
}
},
"type": "object",
"required": [
"plays",
"duration_seconds",
"duration_formatted"
],
"title": "TodayDashboardStats"
},
"TopMaterialItem": {
"properties": {
"material_id": {
"type": "integer",
"title": "Material Id"
},
"material_name": {
"type": "string",
"title": "Material Name"
},
"material_type": {
"type": "string",
"title": "Material Type"
},
"play_count": {
"type": "integer",
"title": "Play Count"
},
"total_duration": {
"type": "integer",
"title": "Total Duration"
}
},
"type": "object",
"required": [
"material_id",
"material_name",
"material_type",
"play_count",
"total_duration"
],
"title": "TopMaterialItem"
},
"TopMaterialsResponse": {
"properties": {
"data": {
"items": {
"$ref": "#/components/schemas/TopMaterialItem"
},
"type": "array",
"title": "Data"
}
},
"type": "object",
"title": "TopMaterialsResponse"
},
"UserInfo": {
"properties": {
"id": {
"type": "integer",
"title": "Id"
},
"username": {
"type": "string",
"title": "Username"
},
"role": {
"type": "string",
"title": "Role"
}
},
"type": "object",
"required": [
"id",
"username",
"role"
],
"title": "UserInfo"
},
"ValidationError": {
"properties": {
"loc": {
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
},
"input": {
"title": "Input"
},
"ctx": {
"type": "object",
"title": "Context"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
},
"WeekDashboardStats": {
"properties": {
"plays": {
"type": "integer",
"title": "Plays"
}
},
"type": "object",
"required": [
"plays"
],
"title": "WeekDashboardStats"
}
}
}
}