Flutter web app replacing legacy WPF CCTV surveillance keyboard controller. Includes wall overview, section view with monitor grid, camera input, PTZ control, alarm/lock/sequence BLoCs, and legacy-matching UI styling. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
201 lines
3.2 KiB
HTTP
201 lines
3.2 KiB
HTTP
### G-Core Bridge Test Suite
|
|
### Use with VS Code REST Client extension or similar
|
|
|
|
@baseUrl = http://localhost:7721
|
|
|
|
### Health Check
|
|
GET {{baseUrl}}/health
|
|
|
|
### Root (service info)
|
|
GET {{baseUrl}}/
|
|
|
|
### Status (before connect)
|
|
GET {{baseUrl}}/status
|
|
|
|
### Connect to G-Core Server
|
|
POST {{baseUrl}}/connect
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"Address": "192.168.1.20",
|
|
"Username": "operator",
|
|
"Password": "password"
|
|
}
|
|
|
|
### Status (after connect)
|
|
GET {{baseUrl}}/status
|
|
|
|
### Get Media Channels
|
|
GET {{baseUrl}}/channels
|
|
|
|
### Get Monitor States (tracked from events)
|
|
GET {{baseUrl}}/monitors
|
|
|
|
### Get Specific Monitor State
|
|
GET {{baseUrl}}/monitors/17
|
|
|
|
### Get Active Alarms (tracked from events)
|
|
GET {{baseUrl}}/alarms/active
|
|
|
|
### Get All Alarms (including stopped)
|
|
GET {{baseUrl}}/alarms
|
|
|
|
### ViewerConnectLive - Switch Camera 101 to Monitor 17
|
|
POST {{baseUrl}}/viewer/connect-live
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"Viewer": 17,
|
|
"Channel": 101
|
|
}
|
|
|
|
### CrossSwitch (compatibility endpoint)
|
|
POST {{baseUrl}}/crossswitch
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"VideoInput": 102,
|
|
"VideoOutput": 18,
|
|
"SwitchMode": 0
|
|
}
|
|
|
|
### ViewerClear - Clear Monitor 17
|
|
POST {{baseUrl}}/viewer/clear
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"Viewer": 17
|
|
}
|
|
|
|
### PTZ Pan Right
|
|
POST {{baseUrl}}/camera/pan
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"Camera": 101,
|
|
"Direction": "right",
|
|
"Speed": 50
|
|
}
|
|
|
|
### PTZ Pan Stop
|
|
POST {{baseUrl}}/camera/pan-stop
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"Camera": 101
|
|
}
|
|
|
|
### PTZ Tilt Down
|
|
POST {{baseUrl}}/camera/tilt
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"Camera": 101,
|
|
"Direction": "down",
|
|
"Speed": 30
|
|
}
|
|
|
|
### PTZ Zoom Out
|
|
POST {{baseUrl}}/camera/zoom
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"Camera": 101,
|
|
"Direction": "out",
|
|
"Speed": 50
|
|
}
|
|
|
|
### PTZ Stop All
|
|
POST {{baseUrl}}/camera/stop
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"Camera": 101
|
|
}
|
|
|
|
### PTZ Go to Preset
|
|
POST {{baseUrl}}/camera/preset
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"Camera": 101,
|
|
"Preset": 2
|
|
}
|
|
|
|
### Playback - Set Play Mode (Step Forward)
|
|
POST {{baseUrl}}/viewer/set-play-mode
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"Viewer": 17,
|
|
"PlayMode": "step forward",
|
|
"PlaySpeed": 1.0
|
|
}
|
|
|
|
### Playback - Jump to Time
|
|
POST {{baseUrl}}/viewer/play-from-time
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"Viewer": 17,
|
|
"Channel": 101,
|
|
"PlayMode": "play forward",
|
|
"Time": "2026/02/03 09:00:00,000 GMT+01:00"
|
|
}
|
|
|
|
### Playback - Jump Forward 30 Seconds
|
|
POST {{baseUrl}}/viewer/jump-by-time
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"Viewer": 17,
|
|
"Channel": 101,
|
|
"PlayMode": "play forward",
|
|
"TimeInSec": 30
|
|
}
|
|
|
|
### Digital Output - Close Contact
|
|
POST {{baseUrl}}/digital-io/close
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"ContactId": 100
|
|
}
|
|
|
|
### Digital Output - Open Contact
|
|
POST {{baseUrl}}/digital-io/open
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"ContactId": 100
|
|
}
|
|
|
|
### Get Message Log
|
|
GET {{baseUrl}}/messages
|
|
|
|
### Clear Message Log
|
|
POST {{baseUrl}}/messages/clear
|
|
|
|
### Send Generic Action
|
|
POST {{baseUrl}}/action
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"Action": "ViewerConnectLive(17, 101)"
|
|
}
|
|
|
|
### Send Custom Action
|
|
POST {{baseUrl}}/custom-action
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"TypeId": 1,
|
|
"Text": "Test custom action"
|
|
}
|
|
|
|
### Disconnect
|
|
POST {{baseUrl}}/disconnect
|
|
|
|
### Swagger UI
|
|
# Open in browser: http://localhost:7721/swagger
|