35 lines
1.0 KiB
JSON
35 lines
1.0 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"name": "SESSIONS_REPLACE",
|
|
"description": "User sessions have been replaced. Sent when sessions are updated across devices.",
|
|
"scope": "presence",
|
|
"dispatchedBy": ["gateway"],
|
|
"payload": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"session_id": {
|
|
"type": "string",
|
|
"description": "Session identifier ('all' for aggregated status, or specific session ID)"
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"enum": ["online", "offline", "idle", "dnd", "invisible"],
|
|
"description": "Current status of the session"
|
|
},
|
|
"mobile": {
|
|
"type": "boolean",
|
|
"description": "Whether this session is from a mobile device"
|
|
},
|
|
"afk": {
|
|
"type": "boolean",
|
|
"description": "Whether this session is AFK"
|
|
}
|
|
},
|
|
"required": ["session_id", "status", "mobile", "afk"]
|
|
},
|
|
"description": "Array of session status entries. Includes an 'all' entry with aggregated status plus individual session entries."
|
|
}
|
|
}
|