From 2856d04396bf3437d355309bc934187ce055d786 Mon Sep 17 00:00:00 2001 From: ReaperOfVeriod Date: Sun, 25 Oct 2026 05:06:21 +0100 Subject: [PATCH] add shared chat session contract --- .../v1/shared-chat-session-response.json | 23 +++++++++++++++++++ fixtures/v1/shared-chat-session.response.json | 7 ++++++ 2 files changed, 30 insertions(+) create mode 100644 contracts/v1/shared-chat-session-response.json create mode 100644 fixtures/v1/shared-chat-session.response.json diff --git a/contracts/v1/shared-chat-session-response.json b/contracts/v1/shared-chat-session-response.json new file mode 100644 index 0000000..9fd74c1 --- /dev/null +++ b/contracts/v1/shared-chat-session-response.json @@ -0,0 +1,23 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://trixie.reaperofveriod.nl/contracts/v1/shared-chat-session-response.json", + "title": "Twitch Shared Chat session response", + "type": ["object", "null"], + "additionalProperties": false, + "required": ["session_id", "host_broadcaster_id", "participants", "created_at", "updated_at"], + "properties": { + "session_id": { "type": "string", "minLength": 1 }, + "host_broadcaster_id": { "type": "string", "minLength": 1 }, + "participants": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "required": ["broadcaster_id"], + "properties": { "broadcaster_id": { "type": "string", "minLength": 1 } } + } + }, + "created_at": { "type": "string", "format": "date-time" }, + "updated_at": { "type": "string", "format": "date-time" } + } +} diff --git a/fixtures/v1/shared-chat-session.response.json b/fixtures/v1/shared-chat-session.response.json new file mode 100644 index 0000000..77bad21 --- /dev/null +++ b/fixtures/v1/shared-chat-session.response.json @@ -0,0 +1,7 @@ +{ + "session_id": "shared-session-1", + "host_broadcaster_id": "1234", + "participants": [{ "broadcaster_id": "1234" }, { "broadcaster_id": "5678" }], + "created_at": "2026-01-01T00:00:00Z", + "updated_at": "2026-01-01T00:00:00Z" +}