From 918ecc7a54555be4f324119b86c3dc54fcaa84f1 Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Wed, 16 Sep 2026 19:38:07 +0200 Subject: [PATCH 01/44] POC Websocket types --- .../schemas/WebsocketClearNotification.yaml | 2 + .../schemas/WebsocketContentRefresh.yaml | 9 +++ .../schemas/WebsocketFriendActive.yaml | 1 + .../schemas/WebsocketFriendAdd.yaml | 1 + .../schemas/WebsocketFriendDelete.yaml | 1 + .../schemas/WebsocketFriendLocation.yaml | 1 + .../schemas/WebsocketFriendOffline.yaml | 1 + .../schemas/WebsocketFriendOnline.yaml | 1 + .../schemas/WebsocketFriendUpdate.yaml | 1 + .../schemas/WebsocketGroupJoined.yaml | 1 + .../schemas/WebsocketGroupLeft.yaml | 1 + .../schemas/WebsocketGroupMemberUpdated.yaml | 1 + .../schemas/WebsocketGroupRoleUpdated.yaml | 1 + .../schemas/WebsocketHideNotification.yaml | 1 + .../schemas/WebsocketInstanceQueueJoined.yaml | 1 + .../schemas/WebsocketInstanceQueueReady.yaml | 1 + .../components/schemas/WebsocketMessage.yaml | 71 +++++++++++++++++++ .../schemas/WebsocketNotification.yaml | 59 +++++++++++++++ .../schemas/WebsocketNotificationV2.yaml | 1 + .../WebsocketNotificationV2Delete.yaml | 1 + .../WebsocketNotificationV2Update.yaml | 1 + .../WebsocketResponseNotification.yaml | 14 ++++ .../schemas/WebsocketSeeNotification.yaml | 14 ++++ .../schemas/WebsocketUserBadgeAssigned.yaml | 1 + .../schemas/WebsocketUserBadgeUnassigned.yaml | 1 + .../schemas/WebsocketUserLocation.yaml | 1 + .../schemas/WebsocketUserUpdate.yaml | 1 + openapi/components/schemas/_index.yaml | 4 ++ 28 files changed, 194 insertions(+) create mode 100644 openapi/components/schemas/WebsocketClearNotification.yaml create mode 100644 openapi/components/schemas/WebsocketContentRefresh.yaml create mode 100644 openapi/components/schemas/WebsocketFriendActive.yaml create mode 100644 openapi/components/schemas/WebsocketFriendAdd.yaml create mode 100644 openapi/components/schemas/WebsocketFriendDelete.yaml create mode 100644 openapi/components/schemas/WebsocketFriendLocation.yaml create mode 100644 openapi/components/schemas/WebsocketFriendOffline.yaml create mode 100644 openapi/components/schemas/WebsocketFriendOnline.yaml create mode 100644 openapi/components/schemas/WebsocketFriendUpdate.yaml create mode 100644 openapi/components/schemas/WebsocketGroupJoined.yaml create mode 100644 openapi/components/schemas/WebsocketGroupLeft.yaml create mode 100644 openapi/components/schemas/WebsocketGroupMemberUpdated.yaml create mode 100644 openapi/components/schemas/WebsocketGroupRoleUpdated.yaml create mode 100644 openapi/components/schemas/WebsocketHideNotification.yaml create mode 100644 openapi/components/schemas/WebsocketInstanceQueueJoined.yaml create mode 100644 openapi/components/schemas/WebsocketInstanceQueueReady.yaml create mode 100644 openapi/components/schemas/WebsocketMessage.yaml create mode 100644 openapi/components/schemas/WebsocketNotification.yaml create mode 100644 openapi/components/schemas/WebsocketNotificationV2.yaml create mode 100644 openapi/components/schemas/WebsocketNotificationV2Delete.yaml create mode 100644 openapi/components/schemas/WebsocketNotificationV2Update.yaml create mode 100644 openapi/components/schemas/WebsocketResponseNotification.yaml create mode 100644 openapi/components/schemas/WebsocketSeeNotification.yaml create mode 100644 openapi/components/schemas/WebsocketUserBadgeAssigned.yaml create mode 100644 openapi/components/schemas/WebsocketUserBadgeUnassigned.yaml create mode 100644 openapi/components/schemas/WebsocketUserLocation.yaml create mode 100644 openapi/components/schemas/WebsocketUserUpdate.yaml diff --git a/openapi/components/schemas/WebsocketClearNotification.yaml b/openapi/components/schemas/WebsocketClearNotification.yaml new file mode 100644 index 00000000..cce7ce1c --- /dev/null +++ b/openapi/components/schemas/WebsocketClearNotification.yaml @@ -0,0 +1,2 @@ +title: WebsocketClearNotification +type: object \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketContentRefresh.yaml b/openapi/components/schemas/WebsocketContentRefresh.yaml new file mode 100644 index 00000000..79527ff7 --- /dev/null +++ b/openapi/components/schemas/WebsocketContentRefresh.yaml @@ -0,0 +1,9 @@ +title: WebsocketContentRefresh +type: object +properties: + content_type: +#Todo: Add proper enum + type: string + action_type: +#Todo: Add proper enum + type: string \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketFriendActive.yaml b/openapi/components/schemas/WebsocketFriendActive.yaml new file mode 100644 index 00000000..d73ddd15 --- /dev/null +++ b/openapi/components/schemas/WebsocketFriendActive.yaml @@ -0,0 +1 @@ +type: object \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketFriendAdd.yaml b/openapi/components/schemas/WebsocketFriendAdd.yaml new file mode 100644 index 00000000..d73ddd15 --- /dev/null +++ b/openapi/components/schemas/WebsocketFriendAdd.yaml @@ -0,0 +1 @@ +type: object \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketFriendDelete.yaml b/openapi/components/schemas/WebsocketFriendDelete.yaml new file mode 100644 index 00000000..d73ddd15 --- /dev/null +++ b/openapi/components/schemas/WebsocketFriendDelete.yaml @@ -0,0 +1 @@ +type: object \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketFriendLocation.yaml b/openapi/components/schemas/WebsocketFriendLocation.yaml new file mode 100644 index 00000000..d73ddd15 --- /dev/null +++ b/openapi/components/schemas/WebsocketFriendLocation.yaml @@ -0,0 +1 @@ +type: object \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketFriendOffline.yaml b/openapi/components/schemas/WebsocketFriendOffline.yaml new file mode 100644 index 00000000..d73ddd15 --- /dev/null +++ b/openapi/components/schemas/WebsocketFriendOffline.yaml @@ -0,0 +1 @@ +type: object \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketFriendOnline.yaml b/openapi/components/schemas/WebsocketFriendOnline.yaml new file mode 100644 index 00000000..d73ddd15 --- /dev/null +++ b/openapi/components/schemas/WebsocketFriendOnline.yaml @@ -0,0 +1 @@ +type: object \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketFriendUpdate.yaml b/openapi/components/schemas/WebsocketFriendUpdate.yaml new file mode 100644 index 00000000..d73ddd15 --- /dev/null +++ b/openapi/components/schemas/WebsocketFriendUpdate.yaml @@ -0,0 +1 @@ +type: object \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketGroupJoined.yaml b/openapi/components/schemas/WebsocketGroupJoined.yaml new file mode 100644 index 00000000..d73ddd15 --- /dev/null +++ b/openapi/components/schemas/WebsocketGroupJoined.yaml @@ -0,0 +1 @@ +type: object \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketGroupLeft.yaml b/openapi/components/schemas/WebsocketGroupLeft.yaml new file mode 100644 index 00000000..d73ddd15 --- /dev/null +++ b/openapi/components/schemas/WebsocketGroupLeft.yaml @@ -0,0 +1 @@ +type: object \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketGroupMemberUpdated.yaml b/openapi/components/schemas/WebsocketGroupMemberUpdated.yaml new file mode 100644 index 00000000..d73ddd15 --- /dev/null +++ b/openapi/components/schemas/WebsocketGroupMemberUpdated.yaml @@ -0,0 +1 @@ +type: object \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketGroupRoleUpdated.yaml b/openapi/components/schemas/WebsocketGroupRoleUpdated.yaml new file mode 100644 index 00000000..d73ddd15 --- /dev/null +++ b/openapi/components/schemas/WebsocketGroupRoleUpdated.yaml @@ -0,0 +1 @@ +type: object \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketHideNotification.yaml b/openapi/components/schemas/WebsocketHideNotification.yaml new file mode 100644 index 00000000..d73ddd15 --- /dev/null +++ b/openapi/components/schemas/WebsocketHideNotification.yaml @@ -0,0 +1 @@ +type: object \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketInstanceQueueJoined.yaml b/openapi/components/schemas/WebsocketInstanceQueueJoined.yaml new file mode 100644 index 00000000..d73ddd15 --- /dev/null +++ b/openapi/components/schemas/WebsocketInstanceQueueJoined.yaml @@ -0,0 +1 @@ +type: object \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketInstanceQueueReady.yaml b/openapi/components/schemas/WebsocketInstanceQueueReady.yaml new file mode 100644 index 00000000..d73ddd15 --- /dev/null +++ b/openapi/components/schemas/WebsocketInstanceQueueReady.yaml @@ -0,0 +1 @@ +type: object \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketMessage.yaml b/openapi/components/schemas/WebsocketMessage.yaml new file mode 100644 index 00000000..09931707 --- /dev/null +++ b/openapi/components/schemas/WebsocketMessage.yaml @@ -0,0 +1,71 @@ +title: WebsocketMessage +type: object +properties: + type: + type: string + content: + type: string + description: JSON-encoded object. + contentMediaType: application/json + x-if: + when: jsonschema + then: + contentSchema: + oneOf: + - $ref: ./WebsocketNotification.yaml + - $ref: ./WebsocketResponseNotification.yaml + - $ref: ./WebsocketSeeNotification.yaml + - $ref: ./WebsocketHideNotification.yaml + - $ref: ./WebsocketClearNotification.yaml + - $ref: ./WebsocketNotificationV2.yaml + - $ref: ./WebsocketNotificationV2Update.yaml + - $ref: ./WebsocketNotificationV2Delete.yaml + - $ref: ./WebsocketFriendAdd.yaml + - $ref: ./WebsocketFriendDelete.yaml + - $ref: ./WebsocketFriendOnline.yaml + - $ref: ./WebsocketFriendActive.yaml + - $ref: ./WebsocketFriendOffline.yaml + - $ref: ./WebsocketFriendUpdate.yaml + - $ref: ./WebsocketFriendLocation.yaml + - $ref: ./WebsocketUserUpdate.yaml + - $ref: ./WebsocketUserLocation.yaml + - $ref: ./WebsocketUserBadgeAssigned.yaml + - $ref: ./WebsocketUserBadgeUnassigned.yaml + - $ref: ./WebsocketContentRefresh.yaml + - $ref: ./WebsocketInstanceQueueJoined.yaml + - $ref: ./WebsocketInstanceQueueReady.yaml + - $ref: ./WebsocketGroupJoined.yaml + - $ref: ./WebsocketGroupLeft.yaml + - $ref: ./WebsocketGroupMemberUpdated.yaml + - $ref: ./WebsocketGroupRoleUpdated.yaml + discriminator: + propertyName: type + mapping: + notification: ./WebsocketNotification.yaml + response-notification: ./WebsocketResponseNotification.yaml + see-notification: ./WebsocketSeeNotification.yaml + hide-notification: ./WebsocketHideNotification.yaml + clear-notification: ./WebsocketNotification.yaml + notification-v2: ./WebsocketNotificationV2.yaml + notification-v2-update: ./WebsocketNotificationV2Update.yaml + notification-v2-delete: ./WebsocketNotificationV2Delete.yaml + friend-add: ./WebsocketFriendAdd.yaml + friend-delete: ./WebsocketFriendDelete.yaml + friend-online: ./WebsocketFriendOnline.yaml + friend-active: ./WebsocketFriendActive.yaml + friend-offline: ./WebsocketFriendOffline.yaml + friend-update: ./WebsocketFriendUpdate.yaml + friend-location: ./WebsocketFriendLocation.yaml + user-update: ./WebsocketUserUpdate.yaml + user-location: ./WebsocketUserLocation.yaml + user-badge-assigned: ./WebsocketUserBadgeAssigned.yaml + user-badge-unassigned: ./WebsocketUserBadgeUnassigned.yaml + content-refresh: ./WebsocketContentRefresh.yaml + instance-queue-joined: ./WebsocketInstanceQueueJoined.yaml + instance-queue-ready: ./WebsocketInstanceQueueReady.yaml + group-joined: ./WebsocketGroupJoined.yaml + group-left: ./WebsocketGroupLeft.yaml + group-member-updated: ./WebsocketGroupMemberUpdated.yaml + group-role-updated: ./WebsocketGroupRoleUpdated.yaml +required: + - type \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketNotification.yaml b/openapi/components/schemas/WebsocketNotification.yaml new file mode 100644 index 00000000..d9b06c78 --- /dev/null +++ b/openapi/components/schemas/WebsocketNotification.yaml @@ -0,0 +1,59 @@ +title: WebsocketNotification +type: object +description: "" +properties: + created_at: + type: string + format: date-time + details: + x-if: + when: jsonschema + then: + oneOf: + - $ref: ./NotificationDetailBoop.yaml + - $ref: ./NotificationDetailInvite.yaml + - $ref: ./NotificationDetailInviteResponse.yaml + - $ref: ./NotificationDetailRequestInvite.yaml + - $ref: ./NotificationDetailRequestInviteResponse.yaml + - $ref: ./NotificationDetailVoteToKick.yaml + discriminator: + propertyName: type + mapping: + boop: ./NotificationDetailBoop.yaml + invite: ./NotificationDetailInvite.yaml + invite-response: ./NotificationDetailInviteResponse.yaml + request-invite: ./NotificationDetailRequestInvite.yaml + request-invite-response: ./NotificationDetailRequestInviteResponse.yaml + vote-to-kick: ./NotificationDetailVoteToKick.yaml + else: + type: object + id: + type: string + minLength: 1 + message: + type: string + description: "" + example: This is a generated invite to VRChat Hub + receiverUserId: + $ref: ./UserID.yaml + description: Not included in notification objects received from the REST API + seen: + type: boolean + description: Not included in notification objects received from the Websocket API + default: false + senderUserId: + $ref: ./UserID.yaml + senderUsername: + type: string + description: The name of the user who sent the notification. + nullable: true + minLength: 1 + type: + $ref: ./NotificationType.yaml +required: + - created_at + - details + - id + - message + - senderUserId + - type diff --git a/openapi/components/schemas/WebsocketNotificationV2.yaml b/openapi/components/schemas/WebsocketNotificationV2.yaml new file mode 100644 index 00000000..d73ddd15 --- /dev/null +++ b/openapi/components/schemas/WebsocketNotificationV2.yaml @@ -0,0 +1 @@ +type: object \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketNotificationV2Delete.yaml b/openapi/components/schemas/WebsocketNotificationV2Delete.yaml new file mode 100644 index 00000000..d73ddd15 --- /dev/null +++ b/openapi/components/schemas/WebsocketNotificationV2Delete.yaml @@ -0,0 +1 @@ +type: object \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketNotificationV2Update.yaml b/openapi/components/schemas/WebsocketNotificationV2Update.yaml new file mode 100644 index 00000000..d73ddd15 --- /dev/null +++ b/openapi/components/schemas/WebsocketNotificationV2Update.yaml @@ -0,0 +1 @@ +type: object \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketResponseNotification.yaml b/openapi/components/schemas/WebsocketResponseNotification.yaml new file mode 100644 index 00000000..587bf911 --- /dev/null +++ b/openapi/components/schemas/WebsocketResponseNotification.yaml @@ -0,0 +1,14 @@ +title: WebsocketResponseNotification +type: object +description: "" +properties: + notification_id: + type: string + receiver_id: + type: string + response_id: + type: string +required: + - notification_id + - receiver_id + - response_id diff --git a/openapi/components/schemas/WebsocketSeeNotification.yaml b/openapi/components/schemas/WebsocketSeeNotification.yaml new file mode 100644 index 00000000..ff68dd6d --- /dev/null +++ b/openapi/components/schemas/WebsocketSeeNotification.yaml @@ -0,0 +1,14 @@ +title: WebsocketSeeNotification +type: object +description: "" +properties: + notification_id: + type: string + receiver_id: + type: string + response_id: + type: string +required: + - notification_id + - receiver_id + - response_id diff --git a/openapi/components/schemas/WebsocketUserBadgeAssigned.yaml b/openapi/components/schemas/WebsocketUserBadgeAssigned.yaml new file mode 100644 index 00000000..d73ddd15 --- /dev/null +++ b/openapi/components/schemas/WebsocketUserBadgeAssigned.yaml @@ -0,0 +1 @@ +type: object \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketUserBadgeUnassigned.yaml b/openapi/components/schemas/WebsocketUserBadgeUnassigned.yaml new file mode 100644 index 00000000..d73ddd15 --- /dev/null +++ b/openapi/components/schemas/WebsocketUserBadgeUnassigned.yaml @@ -0,0 +1 @@ +type: object \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketUserLocation.yaml b/openapi/components/schemas/WebsocketUserLocation.yaml new file mode 100644 index 00000000..d73ddd15 --- /dev/null +++ b/openapi/components/schemas/WebsocketUserLocation.yaml @@ -0,0 +1 @@ +type: object \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketUserUpdate.yaml b/openapi/components/schemas/WebsocketUserUpdate.yaml new file mode 100644 index 00000000..d73ddd15 --- /dev/null +++ b/openapi/components/schemas/WebsocketUserUpdate.yaml @@ -0,0 +1 @@ +type: object \ No newline at end of file diff --git a/openapi/components/schemas/_index.yaml b/openapi/components/schemas/_index.yaml index 41423318..9566aff1 100644 --- a/openapi/components/schemas/_index.yaml +++ b/openapi/components/schemas/_index.yaml @@ -8,3 +8,7 @@ NotificationDetailRequestInviteResponse: $ref: ./NotificationDetailRequestInviteResponse.yaml NotificationDetailVoteToKick: $ref: ./NotificationDetailVoteToKick.yaml +WebsocketMessage: + $ref: ./WebsocketMessage.yaml +WebsocketNotification: + $ref: ./WebsocketNotification.yaml \ No newline at end of file From 14798d7857898925787857c4798edbeb5c9aa171 Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Wed, 16 Sep 2026 20:13:45 +0200 Subject: [PATCH 02/44] POC v2 Websocket types --- .../schemas/WebsocketHideNotification.yaml | 4 +- .../components/schemas/WebsocketMessage.yaml | 78 ++------------- .../schemas/WebsocketMessageDoubleJson.yaml | 95 +++++++++++++++++++ .../schemas/WebsocketMessageNormal.yaml | 26 +++++ .../schemas/WebsocketSeeNotification.yaml | 15 +-- 5 files changed, 134 insertions(+), 84 deletions(-) create mode 100644 openapi/components/schemas/WebsocketMessageDoubleJson.yaml create mode 100644 openapi/components/schemas/WebsocketMessageNormal.yaml diff --git a/openapi/components/schemas/WebsocketHideNotification.yaml b/openapi/components/schemas/WebsocketHideNotification.yaml index d73ddd15..6ec16212 100644 --- a/openapi/components/schemas/WebsocketHideNotification.yaml +++ b/openapi/components/schemas/WebsocketHideNotification.yaml @@ -1 +1,3 @@ -type: object \ No newline at end of file +title: WebsocketHideNotification +type: string +description: "Notification-Id" \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketMessage.yaml b/openapi/components/schemas/WebsocketMessage.yaml index 09931707..e0ff5776 100644 --- a/openapi/components/schemas/WebsocketMessage.yaml +++ b/openapi/components/schemas/WebsocketMessage.yaml @@ -1,71 +1,9 @@ title: WebsocketMessage -type: object -properties: - type: - type: string - content: - type: string - description: JSON-encoded object. - contentMediaType: application/json - x-if: - when: jsonschema - then: - contentSchema: - oneOf: - - $ref: ./WebsocketNotification.yaml - - $ref: ./WebsocketResponseNotification.yaml - - $ref: ./WebsocketSeeNotification.yaml - - $ref: ./WebsocketHideNotification.yaml - - $ref: ./WebsocketClearNotification.yaml - - $ref: ./WebsocketNotificationV2.yaml - - $ref: ./WebsocketNotificationV2Update.yaml - - $ref: ./WebsocketNotificationV2Delete.yaml - - $ref: ./WebsocketFriendAdd.yaml - - $ref: ./WebsocketFriendDelete.yaml - - $ref: ./WebsocketFriendOnline.yaml - - $ref: ./WebsocketFriendActive.yaml - - $ref: ./WebsocketFriendOffline.yaml - - $ref: ./WebsocketFriendUpdate.yaml - - $ref: ./WebsocketFriendLocation.yaml - - $ref: ./WebsocketUserUpdate.yaml - - $ref: ./WebsocketUserLocation.yaml - - $ref: ./WebsocketUserBadgeAssigned.yaml - - $ref: ./WebsocketUserBadgeUnassigned.yaml - - $ref: ./WebsocketContentRefresh.yaml - - $ref: ./WebsocketInstanceQueueJoined.yaml - - $ref: ./WebsocketInstanceQueueReady.yaml - - $ref: ./WebsocketGroupJoined.yaml - - $ref: ./WebsocketGroupLeft.yaml - - $ref: ./WebsocketGroupMemberUpdated.yaml - - $ref: ./WebsocketGroupRoleUpdated.yaml - discriminator: - propertyName: type - mapping: - notification: ./WebsocketNotification.yaml - response-notification: ./WebsocketResponseNotification.yaml - see-notification: ./WebsocketSeeNotification.yaml - hide-notification: ./WebsocketHideNotification.yaml - clear-notification: ./WebsocketNotification.yaml - notification-v2: ./WebsocketNotificationV2.yaml - notification-v2-update: ./WebsocketNotificationV2Update.yaml - notification-v2-delete: ./WebsocketNotificationV2Delete.yaml - friend-add: ./WebsocketFriendAdd.yaml - friend-delete: ./WebsocketFriendDelete.yaml - friend-online: ./WebsocketFriendOnline.yaml - friend-active: ./WebsocketFriendActive.yaml - friend-offline: ./WebsocketFriendOffline.yaml - friend-update: ./WebsocketFriendUpdate.yaml - friend-location: ./WebsocketFriendLocation.yaml - user-update: ./WebsocketUserUpdate.yaml - user-location: ./WebsocketUserLocation.yaml - user-badge-assigned: ./WebsocketUserBadgeAssigned.yaml - user-badge-unassigned: ./WebsocketUserBadgeUnassigned.yaml - content-refresh: ./WebsocketContentRefresh.yaml - instance-queue-joined: ./WebsocketInstanceQueueJoined.yaml - instance-queue-ready: ./WebsocketInstanceQueueReady.yaml - group-joined: ./WebsocketGroupJoined.yaml - group-left: ./WebsocketGroupLeft.yaml - group-member-updated: ./WebsocketGroupMemberUpdated.yaml - group-role-updated: ./WebsocketGroupRoleUpdated.yaml -required: - - type \ No newline at end of file +x-if: + when: jsonschema + then: + oneOf: + - $ref: ./WebsocketMessageNormal.yaml + - $ref: ./WebsocketMessageDoubleJson.yaml + else: + type: object \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketMessageDoubleJson.yaml b/openapi/components/schemas/WebsocketMessageDoubleJson.yaml new file mode 100644 index 00000000..0f47ab9b --- /dev/null +++ b/openapi/components/schemas/WebsocketMessageDoubleJson.yaml @@ -0,0 +1,95 @@ +title: WebsocketMessageDoubleJson +type: object +properties: + type: + type: string + enum: + - notification + - response-notification + - notification-v2 + - notification-v2-update + - notification-v2-delete + - friend-add + - friend-delete + - friend-online + - friend-active + - friend-offline + - friend-update + - friend-location + - user-update + - user-location + - user-badge-assigned + - user-badge-unassigned + - content-refresh + - instance-queue-joined + - instance-queue-ready + - group-joined + - group-left + - group-member-updated + - group-role-updated + content: + type: string + description: JSON-encoded object. + contentMediaType: application/json + x-if: + when: jsonschema + then: + contentSchema: + oneOf: + - $ref: ./WebsocketNotification.yaml + - $ref: ./WebsocketResponseNotification.yaml + - $ref: ./WebsocketSeeNotification.yaml + - $ref: ./WebsocketHideNotification.yaml + - $ref: ./WebsocketClearNotification.yaml + - $ref: ./WebsocketNotificationV2.yaml + - $ref: ./WebsocketNotificationV2Update.yaml + - $ref: ./WebsocketNotificationV2Delete.yaml + - $ref: ./WebsocketFriendAdd.yaml + - $ref: ./WebsocketFriendDelete.yaml + - $ref: ./WebsocketFriendOnline.yaml + - $ref: ./WebsocketFriendActive.yaml + - $ref: ./WebsocketFriendOffline.yaml + - $ref: ./WebsocketFriendUpdate.yaml + - $ref: ./WebsocketFriendLocation.yaml + - $ref: ./WebsocketUserUpdate.yaml + - $ref: ./WebsocketUserLocation.yaml + - $ref: ./WebsocketUserBadgeAssigned.yaml + - $ref: ./WebsocketUserBadgeUnassigned.yaml + - $ref: ./WebsocketContentRefresh.yaml + - $ref: ./WebsocketInstanceQueueJoined.yaml + - $ref: ./WebsocketInstanceQueueReady.yaml + - $ref: ./WebsocketGroupJoined.yaml + - $ref: ./WebsocketGroupLeft.yaml + - $ref: ./WebsocketGroupMemberUpdated.yaml + - $ref: ./WebsocketGroupRoleUpdated.yaml + discriminator: + propertyName: type + mapping: + notification: ./WebsocketNotification.yaml + response-notification: ./WebsocketResponseNotification.yaml + see-notification: ./WebsocketSeeNotification.yaml + hide-notification: ./WebsocketHideNotification.yaml + clear-notification: ./WebsocketNotification.yaml + notification-v2: ./WebsocketNotificationV2.yaml + notification-v2-update: ./WebsocketNotificationV2Update.yaml + notification-v2-delete: ./WebsocketNotificationV2Delete.yaml + friend-add: ./WebsocketFriendAdd.yaml + friend-delete: ./WebsocketFriendDelete.yaml + friend-online: ./WebsocketFriendOnline.yaml + friend-active: ./WebsocketFriendActive.yaml + friend-offline: ./WebsocketFriendOffline.yaml + friend-update: ./WebsocketFriendUpdate.yaml + friend-location: ./WebsocketFriendLocation.yaml + user-update: ./WebsocketUserUpdate.yaml + user-location: ./WebsocketUserLocation.yaml + user-badge-assigned: ./WebsocketUserBadgeAssigned.yaml + user-badge-unassigned: ./WebsocketUserBadgeUnassigned.yaml + content-refresh: ./WebsocketContentRefresh.yaml + instance-queue-joined: ./WebsocketInstanceQueueJoined.yaml + instance-queue-ready: ./WebsocketInstanceQueueReady.yaml + group-joined: ./WebsocketGroupJoined.yaml + group-left: ./WebsocketGroupLeft.yaml + group-member-updated: ./WebsocketGroupMemberUpdated.yaml + group-role-updated: ./WebsocketGroupRoleUpdated.yaml +required: + - type \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketMessageNormal.yaml b/openapi/components/schemas/WebsocketMessageNormal.yaml new file mode 100644 index 00000000..6d7e2bfb --- /dev/null +++ b/openapi/components/schemas/WebsocketMessageNormal.yaml @@ -0,0 +1,26 @@ +title: WebsocketMessageNormal +type: object +properties: + type: + type: string + enum: + - see-notification + - hide-notification + - clear-notification + content: + x-if: + when: jsonschema + then: + oneOf: + - $ref: ./WebsocketSeeNotification.yaml + - $ref: ./WebsocketHideNotification.yaml + - $ref: ./WebsocketClearNotification.yaml + discriminator: + propertyName: type + mapping: + see-notification: ./WebsocketSeeNotification.yaml + hide-notification: ./WebsocketHideNotification.yaml + clear-notification: ./WebsocketNotification.yaml +required: + - type + - content \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketSeeNotification.yaml b/openapi/components/schemas/WebsocketSeeNotification.yaml index ff68dd6d..0146d514 100644 --- a/openapi/components/schemas/WebsocketSeeNotification.yaml +++ b/openapi/components/schemas/WebsocketSeeNotification.yaml @@ -1,14 +1,3 @@ title: WebsocketSeeNotification -type: object -description: "" -properties: - notification_id: - type: string - receiver_id: - type: string - response_id: - type: string -required: - - notification_id - - receiver_id - - response_id +type: string +description: "Notification-Id" \ No newline at end of file From 6e8c8696c55e20d65298fccba34d55a0fefdebf1 Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Wed, 16 Sep 2026 20:24:17 +0200 Subject: [PATCH 03/44] Notification types --- .../schemas/WebsocketContentRefresh.yaml | 6 +++--- .../schemas/WebsocketMessageDoubleJson.yaml | 4 ++-- .../schemas/WebsocketNotificationV2.yaml | 1 - .../schemas/WebsocketNotificationV2Delete.yaml | 11 ++++++++++- .../schemas/WebsocketNotificationV2Update.yaml | 15 ++++++++++++++- 5 files changed, 29 insertions(+), 8 deletions(-) delete mode 100644 openapi/components/schemas/WebsocketNotificationV2.yaml diff --git a/openapi/components/schemas/WebsocketContentRefresh.yaml b/openapi/components/schemas/WebsocketContentRefresh.yaml index 79527ff7..4d2466f4 100644 --- a/openapi/components/schemas/WebsocketContentRefresh.yaml +++ b/openapi/components/schemas/WebsocketContentRefresh.yaml @@ -1,9 +1,9 @@ title: WebsocketContentRefresh type: object properties: - content_type: + action_type: #Todo: Add proper enum type: string - action_type: + content_type: #Todo: Add proper enum - type: string \ No newline at end of file + type: string diff --git a/openapi/components/schemas/WebsocketMessageDoubleJson.yaml b/openapi/components/schemas/WebsocketMessageDoubleJson.yaml index 0f47ab9b..4d0b0b42 100644 --- a/openapi/components/schemas/WebsocketMessageDoubleJson.yaml +++ b/openapi/components/schemas/WebsocketMessageDoubleJson.yaml @@ -41,7 +41,7 @@ properties: - $ref: ./WebsocketSeeNotification.yaml - $ref: ./WebsocketHideNotification.yaml - $ref: ./WebsocketClearNotification.yaml - - $ref: ./WebsocketNotificationV2.yaml + - $ref: ./NotificationV2.yaml - $ref: ./WebsocketNotificationV2Update.yaml - $ref: ./WebsocketNotificationV2Delete.yaml - $ref: ./WebsocketFriendAdd.yaml @@ -70,7 +70,7 @@ properties: see-notification: ./WebsocketSeeNotification.yaml hide-notification: ./WebsocketHideNotification.yaml clear-notification: ./WebsocketNotification.yaml - notification-v2: ./WebsocketNotificationV2.yaml + notification-v2: ./NotificationV2.yaml notification-v2-update: ./WebsocketNotificationV2Update.yaml notification-v2-delete: ./WebsocketNotificationV2Delete.yaml friend-add: ./WebsocketFriendAdd.yaml diff --git a/openapi/components/schemas/WebsocketNotificationV2.yaml b/openapi/components/schemas/WebsocketNotificationV2.yaml deleted file mode 100644 index d73ddd15..00000000 --- a/openapi/components/schemas/WebsocketNotificationV2.yaml +++ /dev/null @@ -1 +0,0 @@ -type: object \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketNotificationV2Delete.yaml b/openapi/components/schemas/WebsocketNotificationV2Delete.yaml index d73ddd15..b3c50fa1 100644 --- a/openapi/components/schemas/WebsocketNotificationV2Delete.yaml +++ b/openapi/components/schemas/WebsocketNotificationV2Delete.yaml @@ -1 +1,10 @@ -type: object \ No newline at end of file +title: WebsocketNotificationV2Delete +type: object +properties: + id: + type: string + version: + type: integer +required: + - id + - version \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketNotificationV2Update.yaml b/openapi/components/schemas/WebsocketNotificationV2Update.yaml index d73ddd15..ea289fbf 100644 --- a/openapi/components/schemas/WebsocketNotificationV2Update.yaml +++ b/openapi/components/schemas/WebsocketNotificationV2Update.yaml @@ -1 +1,14 @@ -type: object \ No newline at end of file +title: WebsocketNotificationV2Update +type: object +properties: + id: + type: string + version: + type: integer + updates: + #Todo: type this better + type: object +required: + - id + - version + - updates \ No newline at end of file From 2ab15935d71e0b5a76f3aaeb671a532c6d7e8302 Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Wed, 16 Sep 2026 20:35:23 +0200 Subject: [PATCH 04/44] Friend types --- .../schemas/WebsocketFriendAdd.yaml | 11 ++++++++- .../schemas/WebsocketFriendDelete.yaml | 8 ++++++- .../schemas/WebsocketFriendLocation.yaml | 23 ++++++++++++++++++- .../schemas/WebsocketFriendOffline.yaml | 11 ++++++++- .../schemas/WebsocketFriendOnline.yaml | 18 ++++++++++++++- .../schemas/WebsocketFriendUpdate.yaml | 11 ++++++++- .../schemas/WebsocketHideNotification.yaml | 4 +--- .../WebsocketNotificationV2Delete.yaml | 2 +- .../WebsocketNotificationV2Update.yaml | 2 +- .../WebsocketResponseNotification.yaml | 16 ++++++------- .../schemas/WebsocketSeeNotification.yaml | 4 +--- 11 files changed, 88 insertions(+), 22 deletions(-) diff --git a/openapi/components/schemas/WebsocketFriendAdd.yaml b/openapi/components/schemas/WebsocketFriendAdd.yaml index d73ddd15..3bcfc73a 100644 --- a/openapi/components/schemas/WebsocketFriendAdd.yaml +++ b/openapi/components/schemas/WebsocketFriendAdd.yaml @@ -1 +1,10 @@ -type: object \ No newline at end of file +title: WebsocketFriendAdd +type: object +properties: + userId: + $ref: ./UserID.yaml + user: + $ref: ./User.yaml +required: + - userId + - user \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketFriendDelete.yaml b/openapi/components/schemas/WebsocketFriendDelete.yaml index d73ddd15..8ab5b40a 100644 --- a/openapi/components/schemas/WebsocketFriendDelete.yaml +++ b/openapi/components/schemas/WebsocketFriendDelete.yaml @@ -1 +1,7 @@ -type: object \ No newline at end of file +title: WebsocketFriendDelete +type: object +properties: + userId: + $ref: ./UserID.yaml +required: + - userId \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketFriendLocation.yaml b/openapi/components/schemas/WebsocketFriendLocation.yaml index d73ddd15..40fbe863 100644 --- a/openapi/components/schemas/WebsocketFriendLocation.yaml +++ b/openapi/components/schemas/WebsocketFriendLocation.yaml @@ -1 +1,22 @@ -type: object \ No newline at end of file +title: WebsocketFriendLocation +type: object +properties: + canRequestInvite: + type: boolean + location: + $ref: ./LocationID.yaml + user: + $ref: ./User.yaml + userId: + $ref: ./UserID.yaml + travelingToLocation: + $ref: ./LocationID.yaml + worldId: + $ref: ./WorldID.yaml +required: + - canRequestInvite + - location + - user + - userId + - travelingToLocation + - worldId \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketFriendOffline.yaml b/openapi/components/schemas/WebsocketFriendOffline.yaml index d73ddd15..9751c51c 100644 --- a/openapi/components/schemas/WebsocketFriendOffline.yaml +++ b/openapi/components/schemas/WebsocketFriendOffline.yaml @@ -1 +1,10 @@ -type: object \ No newline at end of file +title: WebsocketFriendOffline +type: object +properties: + userId: + $ref: ./UserID.yaml + platform: + $ref: ./Platform.yaml +required: + - userId + - platform \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketFriendOnline.yaml b/openapi/components/schemas/WebsocketFriendOnline.yaml index d73ddd15..544f9d36 100644 --- a/openapi/components/schemas/WebsocketFriendOnline.yaml +++ b/openapi/components/schemas/WebsocketFriendOnline.yaml @@ -1 +1,17 @@ -type: object \ No newline at end of file +title: WebsocketFriendOnline +type: object +properties: + canRequestInvite: + type: boolean + userId: + $ref: ./UserID.yaml + location: + $ref: ./LocationID.yaml + platform: + $ref: ./Platform.yaml + +required: + - canRequestInvite + - location + - userId + - platform \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketFriendUpdate.yaml b/openapi/components/schemas/WebsocketFriendUpdate.yaml index d73ddd15..c7dc946a 100644 --- a/openapi/components/schemas/WebsocketFriendUpdate.yaml +++ b/openapi/components/schemas/WebsocketFriendUpdate.yaml @@ -1 +1,10 @@ -type: object \ No newline at end of file +title: WebsocketFriendUpdate +type: object +properties: + userId: + $ref: ./UserID.yaml + user: + $ref: ./User.yaml +required: + - userId + - user \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketHideNotification.yaml b/openapi/components/schemas/WebsocketHideNotification.yaml index 6ec16212..a9b84a05 100644 --- a/openapi/components/schemas/WebsocketHideNotification.yaml +++ b/openapi/components/schemas/WebsocketHideNotification.yaml @@ -1,3 +1 @@ -title: WebsocketHideNotification -type: string -description: "Notification-Id" \ No newline at end of file +$ref: ./NotificationID.yaml \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketNotificationV2Delete.yaml b/openapi/components/schemas/WebsocketNotificationV2Delete.yaml index b3c50fa1..a5486bca 100644 --- a/openapi/components/schemas/WebsocketNotificationV2Delete.yaml +++ b/openapi/components/schemas/WebsocketNotificationV2Delete.yaml @@ -2,7 +2,7 @@ title: WebsocketNotificationV2Delete type: object properties: id: - type: string + $ref: ./NotificationID.yaml version: type: integer required: diff --git a/openapi/components/schemas/WebsocketNotificationV2Update.yaml b/openapi/components/schemas/WebsocketNotificationV2Update.yaml index ea289fbf..0bb0cfa2 100644 --- a/openapi/components/schemas/WebsocketNotificationV2Update.yaml +++ b/openapi/components/schemas/WebsocketNotificationV2Update.yaml @@ -2,7 +2,7 @@ title: WebsocketNotificationV2Update type: object properties: id: - type: string + $ref: ./NotificationID.yaml version: type: integer updates: diff --git a/openapi/components/schemas/WebsocketResponseNotification.yaml b/openapi/components/schemas/WebsocketResponseNotification.yaml index 587bf911..08f5c2c2 100644 --- a/openapi/components/schemas/WebsocketResponseNotification.yaml +++ b/openapi/components/schemas/WebsocketResponseNotification.yaml @@ -2,13 +2,13 @@ title: WebsocketResponseNotification type: object description: "" properties: - notification_id: - type: string - receiver_id: - type: string - response_id: + notificationId: type: string + receiverId: + $ref: ./UserID.yaml + responseId: + $ref: ./UserID.yaml required: - - notification_id - - receiver_id - - response_id + - notificationId + - receiverId + - responseId diff --git a/openapi/components/schemas/WebsocketSeeNotification.yaml b/openapi/components/schemas/WebsocketSeeNotification.yaml index 0146d514..a9b84a05 100644 --- a/openapi/components/schemas/WebsocketSeeNotification.yaml +++ b/openapi/components/schemas/WebsocketSeeNotification.yaml @@ -1,3 +1 @@ -title: WebsocketSeeNotification -type: string -description: "Notification-Id" \ No newline at end of file +$ref: ./NotificationID.yaml \ No newline at end of file From 580740c402ab76b769f869a96a5a1e5e0e04d87d Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Wed, 16 Sep 2026 20:43:28 +0200 Subject: [PATCH 05/44] Rest of the types --- .../schemas/WebsocketGroupJoined.yaml | 8 +++++++- .../schemas/WebsocketGroupLeft.yaml | 8 +++++++- .../schemas/WebsocketGroupMemberUpdated.yaml | 8 +++++++- .../schemas/WebsocketGroupRoleUpdated.yaml | 8 +++++++- .../schemas/WebsocketInstanceQueueJoined.yaml | 11 +++++++++- .../schemas/WebsocketInstanceQueueReady.yaml | 12 ++++++++++- .../schemas/WebsocketUserBadgeAssigned.yaml | 8 +++++++- .../schemas/WebsocketUserBadgeUnassigned.yaml | 8 +++++++- .../schemas/WebsocketUserLocation.yaml | 20 ++++++++++++++++++- .../schemas/WebsocketUserUpdate.yaml | 11 +++++++++- 10 files changed, 92 insertions(+), 10 deletions(-) diff --git a/openapi/components/schemas/WebsocketGroupJoined.yaml b/openapi/components/schemas/WebsocketGroupJoined.yaml index d73ddd15..ba989f2d 100644 --- a/openapi/components/schemas/WebsocketGroupJoined.yaml +++ b/openapi/components/schemas/WebsocketGroupJoined.yaml @@ -1 +1,7 @@ -type: object \ No newline at end of file +title: WebsocketGroupJoined +type: object +properties: + groupId: + $ref: ./GroupID.yaml +requires: + - groupId \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketGroupLeft.yaml b/openapi/components/schemas/WebsocketGroupLeft.yaml index d73ddd15..77ecc750 100644 --- a/openapi/components/schemas/WebsocketGroupLeft.yaml +++ b/openapi/components/schemas/WebsocketGroupLeft.yaml @@ -1 +1,7 @@ -type: object \ No newline at end of file +title: WebsocketGroupLeft +type: object +properties: + groupId: + $ref: ./GroupID.yaml +requires: + - groupId \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketGroupMemberUpdated.yaml b/openapi/components/schemas/WebsocketGroupMemberUpdated.yaml index d73ddd15..eace76ee 100644 --- a/openapi/components/schemas/WebsocketGroupMemberUpdated.yaml +++ b/openapi/components/schemas/WebsocketGroupMemberUpdated.yaml @@ -1 +1,7 @@ -type: object \ No newline at end of file +title: WebsocketGroupMemberUpdated +type: object +properties: + member: + $ref: ./GroupMemberLimitedUser.yaml +requires: + - member \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketGroupRoleUpdated.yaml b/openapi/components/schemas/WebsocketGroupRoleUpdated.yaml index d73ddd15..41207053 100644 --- a/openapi/components/schemas/WebsocketGroupRoleUpdated.yaml +++ b/openapi/components/schemas/WebsocketGroupRoleUpdated.yaml @@ -1 +1,7 @@ -type: object \ No newline at end of file +title: WebsocketGroupRoleUpdated +type: object +properties: + role: + $ref: ./GroupRole.yaml +requires: + - role \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketInstanceQueueJoined.yaml b/openapi/components/schemas/WebsocketInstanceQueueJoined.yaml index d73ddd15..d3df6b77 100644 --- a/openapi/components/schemas/WebsocketInstanceQueueJoined.yaml +++ b/openapi/components/schemas/WebsocketInstanceQueueJoined.yaml @@ -1 +1,10 @@ -type: object \ No newline at end of file +title: WebsocketInstanceQueueJoined +type: object +properties: + location: + $ref: ./LocationID.yaml + position: + type: integer +required: + - location + - position \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketInstanceQueueReady.yaml b/openapi/components/schemas/WebsocketInstanceQueueReady.yaml index d73ddd15..59bca8a4 100644 --- a/openapi/components/schemas/WebsocketInstanceQueueReady.yaml +++ b/openapi/components/schemas/WebsocketInstanceQueueReady.yaml @@ -1 +1,11 @@ -type: object \ No newline at end of file +title: WebsocketInstanceQueueJoined +type: object +properties: + location: + $ref: ./LocationID.yaml + expiry: + type: string + format: date-time +required: + - location + - position \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketUserBadgeAssigned.yaml b/openapi/components/schemas/WebsocketUserBadgeAssigned.yaml index d73ddd15..ee4b61ea 100644 --- a/openapi/components/schemas/WebsocketUserBadgeAssigned.yaml +++ b/openapi/components/schemas/WebsocketUserBadgeAssigned.yaml @@ -1 +1,7 @@ -type: object \ No newline at end of file +title: WebsocketUserBadgeAssigned +type: object +properties: + badge: + $ref: ./Badge.yaml +required: + - badge diff --git a/openapi/components/schemas/WebsocketUserBadgeUnassigned.yaml b/openapi/components/schemas/WebsocketUserBadgeUnassigned.yaml index d73ddd15..d95332a7 100644 --- a/openapi/components/schemas/WebsocketUserBadgeUnassigned.yaml +++ b/openapi/components/schemas/WebsocketUserBadgeUnassigned.yaml @@ -1 +1,7 @@ -type: object \ No newline at end of file +title: WebsocketUserBadgeUnassigned +type: object +properties: + badgeId: + $ref: ./BadgeID.yaml +required: + - badgeId diff --git a/openapi/components/schemas/WebsocketUserLocation.yaml b/openapi/components/schemas/WebsocketUserLocation.yaml index d73ddd15..862a5183 100644 --- a/openapi/components/schemas/WebsocketUserLocation.yaml +++ b/openapi/components/schemas/WebsocketUserLocation.yaml @@ -1 +1,19 @@ -type: object \ No newline at end of file +title: WebsocketUserLocation +type: object +properties: + instance: + $ref: ./InstanceID.yaml + location: + $ref: ./LocationID.yaml + user: + $ref: ./User.yaml + userId: + $ref: ./UserID.yaml + travelingToLocation: + $ref: ./LocationID.yaml +required: + - instance + - location + - user + - userId + - travelingToLocation \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketUserUpdate.yaml b/openapi/components/schemas/WebsocketUserUpdate.yaml index d73ddd15..6a67bd48 100644 --- a/openapi/components/schemas/WebsocketUserUpdate.yaml +++ b/openapi/components/schemas/WebsocketUserUpdate.yaml @@ -1 +1,10 @@ -type: object \ No newline at end of file +title: WebsocketUserUpdate +type: object +properties: + userId: + $ref: ./UserID.yaml + user: + $ref: ./User.yaml +required: + - userId + - user \ No newline at end of file From 72bfcd31a1989f7c1b94cdbf78d0af9bc56a1b5d Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Wed, 16 Sep 2026 20:54:41 +0200 Subject: [PATCH 06/44] ContentRefresh changes --- .../schemas/WebsocketContentRefresh.yaml | 21 +++++++++++++------ .../WebsocketContentRefreshActionType.yaml | 8 +++++++ .../WebsocketContentRefreshContentType.yaml | 3 +++ 3 files changed, 26 insertions(+), 6 deletions(-) create mode 100644 openapi/components/schemas/WebsocketContentRefreshActionType.yaml create mode 100644 openapi/components/schemas/WebsocketContentRefreshContentType.yaml diff --git a/openapi/components/schemas/WebsocketContentRefresh.yaml b/openapi/components/schemas/WebsocketContentRefresh.yaml index 4d2466f4..17dc875d 100644 --- a/openapi/components/schemas/WebsocketContentRefresh.yaml +++ b/openapi/components/schemas/WebsocketContentRefresh.yaml @@ -1,9 +1,18 @@ title: WebsocketContentRefresh type: object properties: - action_type: -#Todo: Add proper enum - type: string - content_type: -#Todo: Add proper enum - type: string + actionType: + $ref: ./WebsocketContentRefreshActionType.yaml + contentType: + $ref: ./WebsocketContentRefreshContentType.yaml + fileId: + $ref: ./FileID.yaml + itemId: +#TODO: is this correct? + $ref: ./InventoryTemplateID.yaml + itemType: +#TODO: is this correct? + $ref: ./InventoryItemType.yaml +required: + - action_type + - contentType diff --git a/openapi/components/schemas/WebsocketContentRefreshActionType.yaml b/openapi/components/schemas/WebsocketContentRefreshActionType.yaml new file mode 100644 index 00000000..eb057ea6 --- /dev/null +++ b/openapi/components/schemas/WebsocketContentRefreshActionType.yaml @@ -0,0 +1,8 @@ +title: WebsocketContentRefreshActionType +type: string +enum: + - created + - deleted + - add + - delete +example: created diff --git a/openapi/components/schemas/WebsocketContentRefreshContentType.yaml b/openapi/components/schemas/WebsocketContentRefreshContentType.yaml new file mode 100644 index 00000000..a208c6c1 --- /dev/null +++ b/openapi/components/schemas/WebsocketContentRefreshContentType.yaml @@ -0,0 +1,3 @@ +title: WebsocketContentRefreshContentType +type: string +#Todo: How to type this, since this is technically a non-exhaustive enum? \ No newline at end of file From 8d204544c59b1f75db581e6e242963b40043ed44 Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Wed, 16 Sep 2026 20:55:35 +0200 Subject: [PATCH 07/44] The NotificationDetails are used in the WebsocketNotification now --- openapi/components/schemas/_index.yaml | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/openapi/components/schemas/_index.yaml b/openapi/components/schemas/_index.yaml index 9566aff1..8e9120cd 100644 --- a/openapi/components/schemas/_index.yaml +++ b/openapi/components/schemas/_index.yaml @@ -1,14 +1,2 @@ -NotificationDetailInvite: - $ref: ./NotificationDetailInvite.yaml -NotificationDetailInviteResponse: - $ref: ./NotificationDetailInviteResponse.yaml -NotificationDetailRequestInvite: - $ref: ./NotificationDetailRequestInvite.yaml -NotificationDetailRequestInviteResponse: - $ref: ./NotificationDetailRequestInviteResponse.yaml -NotificationDetailVoteToKick: - $ref: ./NotificationDetailVoteToKick.yaml WebsocketMessage: - $ref: ./WebsocketMessage.yaml -WebsocketNotification: - $ref: ./WebsocketNotification.yaml \ No newline at end of file + $ref: ./WebsocketMessage.yaml \ No newline at end of file From 1954aed781873bf34b7d0c9a80bad2761047d1d1 Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Wed, 16 Sep 2026 20:58:26 +0200 Subject: [PATCH 08/44] Update Notification.yaml to clarify the double-json encoding properly with the spec --- openapi/components/schemas/Notification.yaml | 25 +++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/openapi/components/schemas/Notification.yaml b/openapi/components/schemas/Notification.yaml index 708a927d..d1e5da27 100644 --- a/openapi/components/schemas/Notification.yaml +++ b/openapi/components/schemas/Notification.yaml @@ -6,9 +6,28 @@ properties: format: date-time details: type: string - description: "**NOTICE:** This is not a JSON object when received from the REST API, but it is when received from the Websocket API. When received from the REST API, this is a json **encoded** object, meaning you have to json-de-encode to get the NotificationDetail object depending on the NotificationType." - default: "{}" - example: "OneOf: {}, NotificationDetailBoop, NotificationDetailInvite, NotificationDetailInviteResponse, NotificationDetailRequestInvite, NotificationDetailRequestInviteResponse, NotificationDetailVoteToKick" + description: JSON-encoded NotificationDetail + contentMediaType: application/json + x-if: + when: jsonschema + then: + contentSchema: + oneOf: + - $ref: ./NotificationDetailBoop.yaml + - $ref: ./NotificationDetailInvite.yaml + - $ref: ./NotificationDetailInviteResponse.yaml + - $ref: ./NotificationDetailRequestInvite.yaml + - $ref: ./NotificationDetailRequestInviteResponse.yaml + - $ref: ./NotificationDetailVoteToKick.yaml + discriminator: + propertyName: type + mapping: + boop: ./NotificationDetailBoop.yaml + invite: ./NotificationDetailInvite.yaml + invite-response: ./NotificationDetailInviteResponse.yaml + request-invite: ./NotificationDetailRequestInvite.yaml + request-invite-response: ./NotificationDetailRequestInviteResponse.yaml + vote-to-kick: ./NotificationDetailVoteToKick.yaml id: type: string minLength: 1 From 7cd23807d8b604a8a67981b3ba7ba34365a39ca9 Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Wed, 16 Sep 2026 21:03:51 +0200 Subject: [PATCH 09/44] Constrain WebsocketClearNotification --- openapi/components/schemas/WebsocketClearNotification.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/openapi/components/schemas/WebsocketClearNotification.yaml b/openapi/components/schemas/WebsocketClearNotification.yaml index cce7ce1c..0e7ab955 100644 --- a/openapi/components/schemas/WebsocketClearNotification.yaml +++ b/openapi/components/schemas/WebsocketClearNotification.yaml @@ -1,2 +1,4 @@ title: WebsocketClearNotification -type: object \ No newline at end of file +type: object +#Todo: is this correct, or is some special handling nessesary in WebsocketMessageNormal? +additionalProperties: false \ No newline at end of file From c320434d83deca0f80821e9c9eda35868b3fc26a Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Wed, 16 Sep 2026 21:11:33 +0200 Subject: [PATCH 10/44] Fix wrong property name --- openapi/components/schemas/WebsocketContentRefresh.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/openapi/components/schemas/WebsocketContentRefresh.yaml b/openapi/components/schemas/WebsocketContentRefresh.yaml index 17dc875d..09d55713 100644 --- a/openapi/components/schemas/WebsocketContentRefresh.yaml +++ b/openapi/components/schemas/WebsocketContentRefresh.yaml @@ -14,5 +14,8 @@ properties: #TODO: is this correct? $ref: ./InventoryItemType.yaml required: - - action_type + - actionType - contentType + - fileId + - itemId + - itemType From 0f638f05a8d4a3c52a1b7b8ff9b68f0ac119ca3c Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Wed, 16 Sep 2026 21:12:11 +0200 Subject: [PATCH 11/44] Misspelling of required as requires --- openapi/components/schemas/WebsocketGroupJoined.yaml | 2 +- openapi/components/schemas/WebsocketGroupLeft.yaml | 2 +- openapi/components/schemas/WebsocketGroupMemberUpdated.yaml | 2 +- openapi/components/schemas/WebsocketGroupRoleUpdated.yaml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/openapi/components/schemas/WebsocketGroupJoined.yaml b/openapi/components/schemas/WebsocketGroupJoined.yaml index ba989f2d..9c688f29 100644 --- a/openapi/components/schemas/WebsocketGroupJoined.yaml +++ b/openapi/components/schemas/WebsocketGroupJoined.yaml @@ -3,5 +3,5 @@ type: object properties: groupId: $ref: ./GroupID.yaml -requires: +required: - groupId \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketGroupLeft.yaml b/openapi/components/schemas/WebsocketGroupLeft.yaml index 77ecc750..f11d6087 100644 --- a/openapi/components/schemas/WebsocketGroupLeft.yaml +++ b/openapi/components/schemas/WebsocketGroupLeft.yaml @@ -3,5 +3,5 @@ type: object properties: groupId: $ref: ./GroupID.yaml -requires: +required: - groupId \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketGroupMemberUpdated.yaml b/openapi/components/schemas/WebsocketGroupMemberUpdated.yaml index eace76ee..5f23bf84 100644 --- a/openapi/components/schemas/WebsocketGroupMemberUpdated.yaml +++ b/openapi/components/schemas/WebsocketGroupMemberUpdated.yaml @@ -3,5 +3,5 @@ type: object properties: member: $ref: ./GroupMemberLimitedUser.yaml -requires: +required: - member \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketGroupRoleUpdated.yaml b/openapi/components/schemas/WebsocketGroupRoleUpdated.yaml index 41207053..be957163 100644 --- a/openapi/components/schemas/WebsocketGroupRoleUpdated.yaml +++ b/openapi/components/schemas/WebsocketGroupRoleUpdated.yaml @@ -3,5 +3,5 @@ type: object properties: role: $ref: ./GroupRole.yaml -requires: +required: - role \ No newline at end of file From f22b66a410c84660b1792dccc66d78abb2361cac Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Wed, 16 Sep 2026 21:13:15 +0200 Subject: [PATCH 12/44] Fix wrong key in required --- openapi/components/schemas/WebsocketInstanceQueueReady.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openapi/components/schemas/WebsocketInstanceQueueReady.yaml b/openapi/components/schemas/WebsocketInstanceQueueReady.yaml index 59bca8a4..74dca868 100644 --- a/openapi/components/schemas/WebsocketInstanceQueueReady.yaml +++ b/openapi/components/schemas/WebsocketInstanceQueueReady.yaml @@ -8,4 +8,4 @@ properties: format: date-time required: - location - - position \ No newline at end of file + - expiry \ No newline at end of file From 288d67730b97bfc7a144030064236004470bbaeb Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Wed, 16 Sep 2026 21:14:54 +0200 Subject: [PATCH 13/44] See, Hide and Clear Notifications are not double json encoded --- openapi/components/schemas/WebsocketMessageDoubleJson.yaml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/openapi/components/schemas/WebsocketMessageDoubleJson.yaml b/openapi/components/schemas/WebsocketMessageDoubleJson.yaml index 4d0b0b42..04011b3f 100644 --- a/openapi/components/schemas/WebsocketMessageDoubleJson.yaml +++ b/openapi/components/schemas/WebsocketMessageDoubleJson.yaml @@ -38,9 +38,6 @@ properties: oneOf: - $ref: ./WebsocketNotification.yaml - $ref: ./WebsocketResponseNotification.yaml - - $ref: ./WebsocketSeeNotification.yaml - - $ref: ./WebsocketHideNotification.yaml - - $ref: ./WebsocketClearNotification.yaml - $ref: ./NotificationV2.yaml - $ref: ./WebsocketNotificationV2Update.yaml - $ref: ./WebsocketNotificationV2Delete.yaml @@ -67,9 +64,6 @@ properties: mapping: notification: ./WebsocketNotification.yaml response-notification: ./WebsocketResponseNotification.yaml - see-notification: ./WebsocketSeeNotification.yaml - hide-notification: ./WebsocketHideNotification.yaml - clear-notification: ./WebsocketNotification.yaml notification-v2: ./NotificationV2.yaml notification-v2-update: ./WebsocketNotificationV2Update.yaml notification-v2-delete: ./WebsocketNotificationV2Delete.yaml From 4dce76119c9eb6f2c71dad305d9c7474e0ce8136 Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Wed, 16 Sep 2026 21:15:04 +0200 Subject: [PATCH 14/44] Clear Notifications got a wrong type reference --- openapi/components/schemas/WebsocketMessageNormal.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openapi/components/schemas/WebsocketMessageNormal.yaml b/openapi/components/schemas/WebsocketMessageNormal.yaml index 6d7e2bfb..e944795e 100644 --- a/openapi/components/schemas/WebsocketMessageNormal.yaml +++ b/openapi/components/schemas/WebsocketMessageNormal.yaml @@ -20,7 +20,7 @@ properties: mapping: see-notification: ./WebsocketSeeNotification.yaml hide-notification: ./WebsocketHideNotification.yaml - clear-notification: ./WebsocketNotification.yaml + clear-notification: ./WebsocketClearNotification.yaml required: - type - content \ No newline at end of file From 711778961b725482e95ab19d243475539359ba17 Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Wed, 16 Sep 2026 21:16:20 +0200 Subject: [PATCH 15/44] Wrong name --- openapi/components/schemas/WebsocketInstanceQueueReady.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openapi/components/schemas/WebsocketInstanceQueueReady.yaml b/openapi/components/schemas/WebsocketInstanceQueueReady.yaml index 74dca868..a0f03cc5 100644 --- a/openapi/components/schemas/WebsocketInstanceQueueReady.yaml +++ b/openapi/components/schemas/WebsocketInstanceQueueReady.yaml @@ -1,4 +1,4 @@ -title: WebsocketInstanceQueueJoined +title: WebsocketInstanceQueueReady type: object properties: location: From e1c684f55225298d7e4216e3065e549d5baf5c70 Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Wed, 16 Sep 2026 21:37:31 +0200 Subject: [PATCH 16/44] Lint --- .../schemas/WebsocketClearNotification.yaml | 4 +- .../schemas/WebsocketContentRefresh.yaml | 4 +- .../WebsocketContentRefreshActionType.yaml | 4 +- .../WebsocketContentRefreshContentType.yaml | 2 +- .../schemas/WebsocketFriendActive.yaml | 14 ++- .../schemas/WebsocketFriendAdd.yaml | 6 +- .../schemas/WebsocketFriendDelete.yaml | 2 +- .../schemas/WebsocketFriendLocation.yaml | 8 +- .../schemas/WebsocketFriendOffline.yaml | 6 +- .../schemas/WebsocketFriendOnline.yaml | 7 +- .../schemas/WebsocketFriendUpdate.yaml | 6 +- .../schemas/WebsocketGroupJoined.yaml | 2 +- .../schemas/WebsocketGroupLeft.yaml | 2 +- .../schemas/WebsocketGroupMemberUpdated.yaml | 2 +- .../schemas/WebsocketGroupRoleUpdated.yaml | 2 +- .../schemas/WebsocketHideNotification.yaml | 2 +- .../schemas/WebsocketInstanceQueueJoined.yaml | 2 +- .../schemas/WebsocketInstanceQueueReady.yaml | 6 +- .../components/schemas/WebsocketMessage.yaml | 2 +- .../schemas/WebsocketMessageDoubleJson.yaml | 85 ++++++++++--------- .../schemas/WebsocketMessageNormal.yaml | 14 +-- .../WebsocketNotificationV2Delete.yaml | 2 +- .../WebsocketNotificationV2Update.yaml | 8 +- .../schemas/WebsocketSeeNotification.yaml | 2 +- .../schemas/WebsocketUserLocation.yaml | 6 +- .../schemas/WebsocketUserUpdate.yaml | 6 +- openapi/components/schemas/_index.yaml | 2 +- 27 files changed, 110 insertions(+), 98 deletions(-) diff --git a/openapi/components/schemas/WebsocketClearNotification.yaml b/openapi/components/schemas/WebsocketClearNotification.yaml index 0e7ab955..a723ee56 100644 --- a/openapi/components/schemas/WebsocketClearNotification.yaml +++ b/openapi/components/schemas/WebsocketClearNotification.yaml @@ -1,4 +1,4 @@ title: WebsocketClearNotification type: object -#Todo: is this correct, or is some special handling nessesary in WebsocketMessageNormal? -additionalProperties: false \ No newline at end of file +# Todo: is this correct, or is some special handling nessesary in WebsocketMessageNormal? +additionalProperties: false diff --git a/openapi/components/schemas/WebsocketContentRefresh.yaml b/openapi/components/schemas/WebsocketContentRefresh.yaml index 09d55713..968f5dee 100644 --- a/openapi/components/schemas/WebsocketContentRefresh.yaml +++ b/openapi/components/schemas/WebsocketContentRefresh.yaml @@ -8,10 +8,10 @@ properties: fileId: $ref: ./FileID.yaml itemId: -#TODO: is this correct? + # TODO: is this correct? $ref: ./InventoryTemplateID.yaml itemType: -#TODO: is this correct? + # TODO: is this correct? $ref: ./InventoryItemType.yaml required: - actionType diff --git a/openapi/components/schemas/WebsocketContentRefreshActionType.yaml b/openapi/components/schemas/WebsocketContentRefreshActionType.yaml index eb057ea6..e172e5ec 100644 --- a/openapi/components/schemas/WebsocketContentRefreshActionType.yaml +++ b/openapi/components/schemas/WebsocketContentRefreshActionType.yaml @@ -1,8 +1,8 @@ title: WebsocketContentRefreshActionType type: string enum: - - created - - deleted - add + - created - delete + - deleted example: created diff --git a/openapi/components/schemas/WebsocketContentRefreshContentType.yaml b/openapi/components/schemas/WebsocketContentRefreshContentType.yaml index a208c6c1..a9ca170b 100644 --- a/openapi/components/schemas/WebsocketContentRefreshContentType.yaml +++ b/openapi/components/schemas/WebsocketContentRefreshContentType.yaml @@ -1,3 +1,3 @@ title: WebsocketContentRefreshContentType type: string -#Todo: How to type this, since this is technically a non-exhaustive enum? \ No newline at end of file +# Todo: How to type this, since this is technically a non-exhaustive enum? diff --git a/openapi/components/schemas/WebsocketFriendActive.yaml b/openapi/components/schemas/WebsocketFriendActive.yaml index d73ddd15..294fc5d2 100644 --- a/openapi/components/schemas/WebsocketFriendActive.yaml +++ b/openapi/components/schemas/WebsocketFriendActive.yaml @@ -1 +1,13 @@ -type: object \ No newline at end of file +title: WebsocketFriendActive +type: object +properties: + platform: + $ref: ./Platform.yaml + user: + $ref: ./User.yaml + userId: + $ref: ./UserID.yaml +required: + - platform + - user + - userId diff --git a/openapi/components/schemas/WebsocketFriendAdd.yaml b/openapi/components/schemas/WebsocketFriendAdd.yaml index 3bcfc73a..0703a2e7 100644 --- a/openapi/components/schemas/WebsocketFriendAdd.yaml +++ b/openapi/components/schemas/WebsocketFriendAdd.yaml @@ -1,10 +1,10 @@ title: WebsocketFriendAdd type: object properties: - userId: - $ref: ./UserID.yaml user: $ref: ./User.yaml + userId: + $ref: ./UserID.yaml required: + - user - userId - - user \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketFriendDelete.yaml b/openapi/components/schemas/WebsocketFriendDelete.yaml index 8ab5b40a..d30c989b 100644 --- a/openapi/components/schemas/WebsocketFriendDelete.yaml +++ b/openapi/components/schemas/WebsocketFriendDelete.yaml @@ -4,4 +4,4 @@ properties: userId: $ref: ./UserID.yaml required: - - userId \ No newline at end of file + - userId diff --git a/openapi/components/schemas/WebsocketFriendLocation.yaml b/openapi/components/schemas/WebsocketFriendLocation.yaml index 40fbe863..f052dfdd 100644 --- a/openapi/components/schemas/WebsocketFriendLocation.yaml +++ b/openapi/components/schemas/WebsocketFriendLocation.yaml @@ -5,18 +5,18 @@ properties: type: boolean location: $ref: ./LocationID.yaml + travelingToLocation: + $ref: ./LocationID.yaml user: $ref: ./User.yaml userId: $ref: ./UserID.yaml - travelingToLocation: - $ref: ./LocationID.yaml worldId: $ref: ./WorldID.yaml required: - canRequestInvite - location + - travelingToLocation - user - userId - - travelingToLocation - - worldId \ No newline at end of file + - worldId diff --git a/openapi/components/schemas/WebsocketFriendOffline.yaml b/openapi/components/schemas/WebsocketFriendOffline.yaml index 9751c51c..93a8c9d4 100644 --- a/openapi/components/schemas/WebsocketFriendOffline.yaml +++ b/openapi/components/schemas/WebsocketFriendOffline.yaml @@ -1,10 +1,10 @@ title: WebsocketFriendOffline type: object properties: - userId: - $ref: ./UserID.yaml platform: $ref: ./Platform.yaml + userId: + $ref: ./UserID.yaml required: + - platform - userId - - platform \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketFriendOnline.yaml b/openapi/components/schemas/WebsocketFriendOnline.yaml index 544f9d36..9f51e998 100644 --- a/openapi/components/schemas/WebsocketFriendOnline.yaml +++ b/openapi/components/schemas/WebsocketFriendOnline.yaml @@ -3,15 +3,14 @@ type: object properties: canRequestInvite: type: boolean - userId: - $ref: ./UserID.yaml location: $ref: ./LocationID.yaml platform: $ref: ./Platform.yaml - + userId: + $ref: ./UserID.yaml required: - canRequestInvite - location + - platform - userId - - platform \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketFriendUpdate.yaml b/openapi/components/schemas/WebsocketFriendUpdate.yaml index c7dc946a..b6e6b8e4 100644 --- a/openapi/components/schemas/WebsocketFriendUpdate.yaml +++ b/openapi/components/schemas/WebsocketFriendUpdate.yaml @@ -1,10 +1,10 @@ title: WebsocketFriendUpdate type: object properties: - userId: - $ref: ./UserID.yaml user: $ref: ./User.yaml + userId: + $ref: ./UserID.yaml required: + - user - userId - - user \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketGroupJoined.yaml b/openapi/components/schemas/WebsocketGroupJoined.yaml index 9c688f29..2014e644 100644 --- a/openapi/components/schemas/WebsocketGroupJoined.yaml +++ b/openapi/components/schemas/WebsocketGroupJoined.yaml @@ -4,4 +4,4 @@ properties: groupId: $ref: ./GroupID.yaml required: - - groupId \ No newline at end of file + - groupId diff --git a/openapi/components/schemas/WebsocketGroupLeft.yaml b/openapi/components/schemas/WebsocketGroupLeft.yaml index f11d6087..2d1613f3 100644 --- a/openapi/components/schemas/WebsocketGroupLeft.yaml +++ b/openapi/components/schemas/WebsocketGroupLeft.yaml @@ -4,4 +4,4 @@ properties: groupId: $ref: ./GroupID.yaml required: - - groupId \ No newline at end of file + - groupId diff --git a/openapi/components/schemas/WebsocketGroupMemberUpdated.yaml b/openapi/components/schemas/WebsocketGroupMemberUpdated.yaml index 5f23bf84..e9cea6bf 100644 --- a/openapi/components/schemas/WebsocketGroupMemberUpdated.yaml +++ b/openapi/components/schemas/WebsocketGroupMemberUpdated.yaml @@ -4,4 +4,4 @@ properties: member: $ref: ./GroupMemberLimitedUser.yaml required: - - member \ No newline at end of file + - member diff --git a/openapi/components/schemas/WebsocketGroupRoleUpdated.yaml b/openapi/components/schemas/WebsocketGroupRoleUpdated.yaml index be957163..bdfa8302 100644 --- a/openapi/components/schemas/WebsocketGroupRoleUpdated.yaml +++ b/openapi/components/schemas/WebsocketGroupRoleUpdated.yaml @@ -4,4 +4,4 @@ properties: role: $ref: ./GroupRole.yaml required: - - role \ No newline at end of file + - role diff --git a/openapi/components/schemas/WebsocketHideNotification.yaml b/openapi/components/schemas/WebsocketHideNotification.yaml index a9b84a05..4fa28420 100644 --- a/openapi/components/schemas/WebsocketHideNotification.yaml +++ b/openapi/components/schemas/WebsocketHideNotification.yaml @@ -1 +1 @@ -$ref: ./NotificationID.yaml \ No newline at end of file +$ref: ./NotificationID.yaml diff --git a/openapi/components/schemas/WebsocketInstanceQueueJoined.yaml b/openapi/components/schemas/WebsocketInstanceQueueJoined.yaml index d3df6b77..a8c96408 100644 --- a/openapi/components/schemas/WebsocketInstanceQueueJoined.yaml +++ b/openapi/components/schemas/WebsocketInstanceQueueJoined.yaml @@ -7,4 +7,4 @@ properties: type: integer required: - location - - position \ No newline at end of file + - position diff --git a/openapi/components/schemas/WebsocketInstanceQueueReady.yaml b/openapi/components/schemas/WebsocketInstanceQueueReady.yaml index a0f03cc5..d2647997 100644 --- a/openapi/components/schemas/WebsocketInstanceQueueReady.yaml +++ b/openapi/components/schemas/WebsocketInstanceQueueReady.yaml @@ -1,11 +1,11 @@ title: WebsocketInstanceQueueReady type: object properties: - location: - $ref: ./LocationID.yaml expiry: type: string format: date-time + location: + $ref: ./LocationID.yaml required: + - expiry - location - - expiry \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketMessage.yaml b/openapi/components/schemas/WebsocketMessage.yaml index e0ff5776..a677b36b 100644 --- a/openapi/components/schemas/WebsocketMessage.yaml +++ b/openapi/components/schemas/WebsocketMessage.yaml @@ -6,4 +6,4 @@ x-if: - $ref: ./WebsocketMessageNormal.yaml - $ref: ./WebsocketMessageDoubleJson.yaml else: - type: object \ No newline at end of file + type: object diff --git a/openapi/components/schemas/WebsocketMessageDoubleJson.yaml b/openapi/components/schemas/WebsocketMessageDoubleJson.yaml index 04011b3f..a1ea48b6 100644 --- a/openapi/components/schemas/WebsocketMessageDoubleJson.yaml +++ b/openapi/components/schemas/WebsocketMessageDoubleJson.yaml @@ -1,32 +1,6 @@ title: WebsocketMessageDoubleJson type: object properties: - type: - type: string - enum: - - notification - - response-notification - - notification-v2 - - notification-v2-update - - notification-v2-delete - - friend-add - - friend-delete - - friend-online - - friend-active - - friend-offline - - friend-update - - friend-location - - user-update - - user-location - - user-badge-assigned - - user-badge-unassigned - - content-refresh - - instance-queue-joined - - instance-queue-ready - - group-joined - - group-left - - group-member-updated - - group-role-updated content: type: string description: JSON-encoded object. @@ -62,28 +36,55 @@ properties: discriminator: propertyName: type mapping: - notification: ./WebsocketNotification.yaml - response-notification: ./WebsocketResponseNotification.yaml - notification-v2: ./NotificationV2.yaml - notification-v2-update: ./WebsocketNotificationV2Update.yaml - notification-v2-delete: ./WebsocketNotificationV2Delete.yaml + content-refresh: ./WebsocketContentRefresh.yaml + friend-active: ./WebsocketFriendActive.yaml friend-add: ./WebsocketFriendAdd.yaml friend-delete: ./WebsocketFriendDelete.yaml - friend-online: ./WebsocketFriendOnline.yaml - friend-active: ./WebsocketFriendActive.yaml + friend-location: ./WebsocketFriendLocation.yaml friend-offline: ./WebsocketFriendOffline.yaml + friend-online: ./WebsocketFriendOnline.yaml friend-update: ./WebsocketFriendUpdate.yaml - friend-location: ./WebsocketFriendLocation.yaml - user-update: ./WebsocketUserUpdate.yaml - user-location: ./WebsocketUserLocation.yaml - user-badge-assigned: ./WebsocketUserBadgeAssigned.yaml - user-badge-unassigned: ./WebsocketUserBadgeUnassigned.yaml - content-refresh: ./WebsocketContentRefresh.yaml - instance-queue-joined: ./WebsocketInstanceQueueJoined.yaml - instance-queue-ready: ./WebsocketInstanceQueueReady.yaml group-joined: ./WebsocketGroupJoined.yaml group-left: ./WebsocketGroupLeft.yaml group-member-updated: ./WebsocketGroupMemberUpdated.yaml group-role-updated: ./WebsocketGroupRoleUpdated.yaml + notification: ./WebsocketNotification.yaml + notification-v2: ./NotificationV2.yaml + notification-v2-update: ./WebsocketNotificationV2Update.yaml + notification-v2-delete: ./WebsocketNotificationV2Delete.yaml + instance-queue-joined: ./WebsocketInstanceQueueJoined.yaml + instance-queue-ready: ./WebsocketInstanceQueueReady.yaml + user-update: ./WebsocketUserUpdate.yaml + user-location: ./WebsocketUserLocation.yaml + user-badge-assigned: ./WebsocketUserBadgeAssigned.yaml + user-badge-unassigned: ./WebsocketUserBadgeUnassigned.yaml + response-notification: ./WebsocketResponseNotification.yaml + type: + type: string + enum: + - content-refresh + - friend-active + - friend-add + - friend-delete + - friend-location + - friend-offline + - friend-online + - friend-update + - group-joined + - group-left + - group-member-updated + - group-role-updated + - notification + - notification-v2 + - notification-v2-update + - notification-v2-delete + - instance-queue-joined + - instance-queue-ready + - user-update + - user-location + - user-badge-assigned + - user-badge-unassigned + - response-notification required: - - type \ No newline at end of file + - content + - type diff --git a/openapi/components/schemas/WebsocketMessageNormal.yaml b/openapi/components/schemas/WebsocketMessageNormal.yaml index e944795e..1e893de9 100644 --- a/openapi/components/schemas/WebsocketMessageNormal.yaml +++ b/openapi/components/schemas/WebsocketMessageNormal.yaml @@ -1,12 +1,6 @@ title: WebsocketMessageNormal type: object properties: - type: - type: string - enum: - - see-notification - - hide-notification - - clear-notification content: x-if: when: jsonschema @@ -21,6 +15,12 @@ properties: see-notification: ./WebsocketSeeNotification.yaml hide-notification: ./WebsocketHideNotification.yaml clear-notification: ./WebsocketClearNotification.yaml + type: + type: string + enum: + - clear-notification + - hide-notification + - see-notification required: + - content - type - - content \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketNotificationV2Delete.yaml b/openapi/components/schemas/WebsocketNotificationV2Delete.yaml index a5486bca..b4b4bee8 100644 --- a/openapi/components/schemas/WebsocketNotificationV2Delete.yaml +++ b/openapi/components/schemas/WebsocketNotificationV2Delete.yaml @@ -7,4 +7,4 @@ properties: type: integer required: - id - - version \ No newline at end of file + - version diff --git a/openapi/components/schemas/WebsocketNotificationV2Update.yaml b/openapi/components/schemas/WebsocketNotificationV2Update.yaml index 0bb0cfa2..5920fc75 100644 --- a/openapi/components/schemas/WebsocketNotificationV2Update.yaml +++ b/openapi/components/schemas/WebsocketNotificationV2Update.yaml @@ -3,12 +3,12 @@ type: object properties: id: $ref: ./NotificationID.yaml - version: - type: integer updates: - #Todo: type this better + # Todo: type this better type: object + version: + type: integer required: - id + - updates - version - - updates \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketSeeNotification.yaml b/openapi/components/schemas/WebsocketSeeNotification.yaml index a9b84a05..4fa28420 100644 --- a/openapi/components/schemas/WebsocketSeeNotification.yaml +++ b/openapi/components/schemas/WebsocketSeeNotification.yaml @@ -1 +1 @@ -$ref: ./NotificationID.yaml \ No newline at end of file +$ref: ./NotificationID.yaml diff --git a/openapi/components/schemas/WebsocketUserLocation.yaml b/openapi/components/schemas/WebsocketUserLocation.yaml index 862a5183..732dfeb6 100644 --- a/openapi/components/schemas/WebsocketUserLocation.yaml +++ b/openapi/components/schemas/WebsocketUserLocation.yaml @@ -5,15 +5,15 @@ properties: $ref: ./InstanceID.yaml location: $ref: ./LocationID.yaml + travelingToLocation: + $ref: ./LocationID.yaml user: $ref: ./User.yaml userId: $ref: ./UserID.yaml - travelingToLocation: - $ref: ./LocationID.yaml required: - instance - location + - travelingToLocation - user - userId - - travelingToLocation \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketUserUpdate.yaml b/openapi/components/schemas/WebsocketUserUpdate.yaml index 6a67bd48..50346146 100644 --- a/openapi/components/schemas/WebsocketUserUpdate.yaml +++ b/openapi/components/schemas/WebsocketUserUpdate.yaml @@ -1,10 +1,10 @@ title: WebsocketUserUpdate type: object properties: - userId: - $ref: ./UserID.yaml user: $ref: ./User.yaml + userId: + $ref: ./UserID.yaml required: + - user - userId - - user \ No newline at end of file diff --git a/openapi/components/schemas/_index.yaml b/openapi/components/schemas/_index.yaml index 8e9120cd..c3fa511b 100644 --- a/openapi/components/schemas/_index.yaml +++ b/openapi/components/schemas/_index.yaml @@ -1,2 +1,2 @@ WebsocketMessage: - $ref: ./WebsocketMessage.yaml \ No newline at end of file + $ref: ./WebsocketMessage.yaml From 58a1ac32628b9c480ff9cfa814fc282554e156be Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Wed, 16 Sep 2026 21:39:26 +0200 Subject: [PATCH 17/44] Lint2 --- .../schemas/WebsocketMessageDoubleJson.yaml | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/openapi/components/schemas/WebsocketMessageDoubleJson.yaml b/openapi/components/schemas/WebsocketMessageDoubleJson.yaml index a1ea48b6..6f4866c5 100644 --- a/openapi/components/schemas/WebsocketMessageDoubleJson.yaml +++ b/openapi/components/schemas/WebsocketMessageDoubleJson.yaml @@ -48,17 +48,17 @@ properties: group-left: ./WebsocketGroupLeft.yaml group-member-updated: ./WebsocketGroupMemberUpdated.yaml group-role-updated: ./WebsocketGroupRoleUpdated.yaml + instance-queue-joined: ./WebsocketInstanceQueueJoined.yaml + instance-queue-ready: ./WebsocketInstanceQueueReady.yaml notification: ./WebsocketNotification.yaml notification-v2: ./NotificationV2.yaml - notification-v2-update: ./WebsocketNotificationV2Update.yaml notification-v2-delete: ./WebsocketNotificationV2Delete.yaml - instance-queue-joined: ./WebsocketInstanceQueueJoined.yaml - instance-queue-ready: ./WebsocketInstanceQueueReady.yaml - user-update: ./WebsocketUserUpdate.yaml - user-location: ./WebsocketUserLocation.yaml + notification-v2-update: ./WebsocketNotificationV2Update.yaml + response-notification: ./WebsocketResponseNotification.yaml user-badge-assigned: ./WebsocketUserBadgeAssigned.yaml user-badge-unassigned: ./WebsocketUserBadgeUnassigned.yaml - response-notification: ./WebsocketResponseNotification.yaml + user-update: ./WebsocketUserUpdate.yaml + user-location: ./WebsocketUserLocation.yaml type: type: string enum: @@ -74,17 +74,17 @@ properties: - group-left - group-member-updated - group-role-updated + - instance-queue-joined + - instance-queue-ready - notification - notification-v2 - - notification-v2-update - notification-v2-delete - - instance-queue-joined - - instance-queue-ready - - user-update - - user-location + - notification-v2-update + - response-notification - user-badge-assigned - user-badge-unassigned - - response-notification + - user-update + - user-location required: - content - type From 2aec470342250dc0df3f5cd69d0f0840bfef95fb Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Wed, 16 Sep 2026 21:39:36 +0200 Subject: [PATCH 18/44] Lint3 --- openapi/components/schemas/WebsocketMessageDoubleJson.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openapi/components/schemas/WebsocketMessageDoubleJson.yaml b/openapi/components/schemas/WebsocketMessageDoubleJson.yaml index 6f4866c5..764d8869 100644 --- a/openapi/components/schemas/WebsocketMessageDoubleJson.yaml +++ b/openapi/components/schemas/WebsocketMessageDoubleJson.yaml @@ -57,8 +57,8 @@ properties: response-notification: ./WebsocketResponseNotification.yaml user-badge-assigned: ./WebsocketUserBadgeAssigned.yaml user-badge-unassigned: ./WebsocketUserBadgeUnassigned.yaml - user-update: ./WebsocketUserUpdate.yaml user-location: ./WebsocketUserLocation.yaml + user-update: ./WebsocketUserUpdate.yaml type: type: string enum: @@ -83,8 +83,8 @@ properties: - response-notification - user-badge-assigned - user-badge-unassigned - - user-update - user-location + - user-update required: - content - type From d40721078bf78e9467a1c01d7e8ecec5b733fb84 Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Wed, 16 Sep 2026 21:49:40 +0200 Subject: [PATCH 19/44] Lint Warnings --- openapi/components/schemas/WebsocketNotification.yaml | 3 +-- openapi/components/schemas/WebsocketNotificationV2Update.yaml | 1 + openapi/components/schemas/WebsocketResponseNotification.yaml | 1 - 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/openapi/components/schemas/WebsocketNotification.yaml b/openapi/components/schemas/WebsocketNotification.yaml index d9b06c78..00e80fe3 100644 --- a/openapi/components/schemas/WebsocketNotification.yaml +++ b/openapi/components/schemas/WebsocketNotification.yaml @@ -1,6 +1,5 @@ title: WebsocketNotification type: object -description: "" properties: created_at: type: string @@ -26,13 +25,13 @@ properties: request-invite-response: ./NotificationDetailRequestInviteResponse.yaml vote-to-kick: ./NotificationDetailVoteToKick.yaml else: + title: NotificationDetails type: object id: type: string minLength: 1 message: type: string - description: "" example: This is a generated invite to VRChat Hub receiverUserId: $ref: ./UserID.yaml diff --git a/openapi/components/schemas/WebsocketNotificationV2Update.yaml b/openapi/components/schemas/WebsocketNotificationV2Update.yaml index 5920fc75..173402b0 100644 --- a/openapi/components/schemas/WebsocketNotificationV2Update.yaml +++ b/openapi/components/schemas/WebsocketNotificationV2Update.yaml @@ -4,6 +4,7 @@ properties: id: $ref: ./NotificationID.yaml updates: + title: WebsocketNotificationV2Updates # Todo: type this better type: object version: diff --git a/openapi/components/schemas/WebsocketResponseNotification.yaml b/openapi/components/schemas/WebsocketResponseNotification.yaml index 08f5c2c2..c15c648f 100644 --- a/openapi/components/schemas/WebsocketResponseNotification.yaml +++ b/openapi/components/schemas/WebsocketResponseNotification.yaml @@ -1,6 +1,5 @@ title: WebsocketResponseNotification type: object -description: "" properties: notificationId: type: string From fa26bfafbaa4dd3cf82fb17f21a76aea1c8de700 Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Wed, 16 Sep 2026 22:02:51 +0200 Subject: [PATCH 20/44] Please generate proper code for double-json deserialization? --- openapi/components/schemas/Notification.yaml | 1 + openapi/components/schemas/WebsocketMessageDoubleJson.yaml | 1 + openapi/components/schemas/WebsocketMessageNormal.yaml | 1 + openapi/components/schemas/WebsocketNotification.yaml | 1 + 4 files changed, 4 insertions(+) diff --git a/openapi/components/schemas/Notification.yaml b/openapi/components/schemas/Notification.yaml index d1e5da27..a47caac1 100644 --- a/openapi/components/schemas/Notification.yaml +++ b/openapi/components/schemas/Notification.yaml @@ -21,6 +21,7 @@ properties: - $ref: ./NotificationDetailVoteToKick.yaml discriminator: propertyName: type + propertyBaseName: type mapping: boop: ./NotificationDetailBoop.yaml invite: ./NotificationDetailInvite.yaml diff --git a/openapi/components/schemas/WebsocketMessageDoubleJson.yaml b/openapi/components/schemas/WebsocketMessageDoubleJson.yaml index 764d8869..2cce0906 100644 --- a/openapi/components/schemas/WebsocketMessageDoubleJson.yaml +++ b/openapi/components/schemas/WebsocketMessageDoubleJson.yaml @@ -35,6 +35,7 @@ properties: - $ref: ./WebsocketGroupRoleUpdated.yaml discriminator: propertyName: type + propertyBaseName: type mapping: content-refresh: ./WebsocketContentRefresh.yaml friend-active: ./WebsocketFriendActive.yaml diff --git a/openapi/components/schemas/WebsocketMessageNormal.yaml b/openapi/components/schemas/WebsocketMessageNormal.yaml index 1e893de9..07af53d9 100644 --- a/openapi/components/schemas/WebsocketMessageNormal.yaml +++ b/openapi/components/schemas/WebsocketMessageNormal.yaml @@ -11,6 +11,7 @@ properties: - $ref: ./WebsocketClearNotification.yaml discriminator: propertyName: type + propertyBaseName: type mapping: see-notification: ./WebsocketSeeNotification.yaml hide-notification: ./WebsocketHideNotification.yaml diff --git a/openapi/components/schemas/WebsocketNotification.yaml b/openapi/components/schemas/WebsocketNotification.yaml index 00e80fe3..f35c0f5e 100644 --- a/openapi/components/schemas/WebsocketNotification.yaml +++ b/openapi/components/schemas/WebsocketNotification.yaml @@ -17,6 +17,7 @@ properties: - $ref: ./NotificationDetailVoteToKick.yaml discriminator: propertyName: type + propertyBaseName: type mapping: boop: ./NotificationDetailBoop.yaml invite: ./NotificationDetailInvite.yaml From 381756ad73950591fe6a1c0e57fefe1e02ed8118 Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Wed, 16 Sep 2026 23:29:40 +0200 Subject: [PATCH 21/44] Fix x-if? --- .../schemas/WebsocketMessageDoubleJson.yaml | 3 + .../schemas/WebsocketMessageNormal.yaml | 2 + openapi/components/schemas/_index.yaml | 71 +++++++++++++++++++ 3 files changed, 76 insertions(+) diff --git a/openapi/components/schemas/WebsocketMessageDoubleJson.yaml b/openapi/components/schemas/WebsocketMessageDoubleJson.yaml index 2cce0906..498fcad9 100644 --- a/openapi/components/schemas/WebsocketMessageDoubleJson.yaml +++ b/openapi/components/schemas/WebsocketMessageDoubleJson.yaml @@ -60,6 +60,9 @@ properties: user-badge-unassigned: ./WebsocketUserBadgeUnassigned.yaml user-location: ./WebsocketUserLocation.yaml user-update: ./WebsocketUserUpdate.yaml + else: + contentSchema: + type: object type: type: string enum: diff --git a/openapi/components/schemas/WebsocketMessageNormal.yaml b/openapi/components/schemas/WebsocketMessageNormal.yaml index 07af53d9..c356f044 100644 --- a/openapi/components/schemas/WebsocketMessageNormal.yaml +++ b/openapi/components/schemas/WebsocketMessageNormal.yaml @@ -16,6 +16,8 @@ properties: see-notification: ./WebsocketSeeNotification.yaml hide-notification: ./WebsocketHideNotification.yaml clear-notification: ./WebsocketClearNotification.yaml + else: + type: object type: type: string enum: diff --git a/openapi/components/schemas/_index.yaml b/openapi/components/schemas/_index.yaml index c3fa511b..7cea98fc 100644 --- a/openapi/components/schemas/_index.yaml +++ b/openapi/components/schemas/_index.yaml @@ -1,2 +1,73 @@ +NotificationDetailBoop: + $ref: ./NotificationDetailBoop.yaml +NotificationDetailInvite: + $ref: ./NotificationDetailInvite.yaml +NotificationDetailInviteResponse: + $ref: ./NotificationDetailInviteResponse.yaml +NotificationDetailRequestInvite: + $ref: ./NotificationDetailRequestInvite.yaml +NotificationDetailRequestInviteResponse: + $ref: ./NotificationDetailRequestInviteResponse.yaml +NotificationDetailVoteToKick: + $ref: ./NotificationDetailVoteToKick.yaml + WebsocketMessage: $ref: ./WebsocketMessage.yaml +WebsocketMessageNormal: + $ref: ./WebsocketMessageNormal.yaml +WebsocketMessageDoubleJson: + $ref: ./WebsocketMessageDoubleJson.yaml + +WebsocketSeeNotification: + $ref: ./WebsocketSeeNotification.yaml +WebsocketHideNotification: + $ref: ./WebsocketHideNotification.yaml +WebsocketClearNotification: + $ref: ./WebsocketClearNotification.yaml + +WebsocketNotification: + $ref: ./WebsocketNotification.yaml +WebsocketResponseNotification: + $ref: ./WebsocketResponseNotification.yaml +NotificationV2: + $ref: ./NotificationV2.yaml +WebsocketNotificationV2Update: + $ref: ./WebsocketNotificationV2Update.yaml +WebsocketNotificationV2Delete: + $ref: ./WebsocketNotificationV2Delete.yaml +WebsocketFriendAdd: + $ref: ./WebsocketFriendAdd.yaml +WebsocketFriendDelete: + $ref: ./WebsocketFriendDelete.yaml +WebsocketFriendOnline: + $ref: ./WebsocketFriendOnline.yaml +WebsocketFriendActive: + $ref: ./WebsocketFriendActive.yaml +WebsocketFriendOffline: + $ref: ./WebsocketFriendOffline.yaml +WebsocketFriendUpdate: + $ref: ./WebsocketFriendUpdate.yaml +WebsocketFriendLocation: + $ref: ./WebsocketFriendLocation.yaml +WebsocketUserUpdate: + $ref: ./WebsocketUserUpdate.yaml +WebsocketUserLocation: + $ref: ./WebsocketUserLocation.yaml +WebsocketUserBadgeAssigned: + $ref: ./WebsocketUserBadgeAssigned.yaml +WebsocketUserBadgeUnassigned: + $ref: ./WebsocketUserBadgeUnassigned.yaml +WebsocketContentRefresh: + $ref: ./WebsocketContentRefresh.yaml +WebsocketInstanceQueueJoined: + $ref: ./WebsocketInstanceQueueJoined.yaml +WebsocketInstanceQueueReady: + $ref: ./WebsocketInstanceQueueReady.yaml +WebsocketGroupJoined: + $ref: ./WebsocketGroupJoined.yaml +WebsocketGroupLeft: + $ref: ./WebsocketGroupLeft.yaml +WebsocketGroupMemberUpdated: + $ref: ./WebsocketGroupMemberUpdated.yaml +WebsocketGroupRoleUpdated: + $ref: ./WebsocketGroupRoleUpdated.yaml \ No newline at end of file From 99d79060eac394a69f58277f1dad5117d315bf48 Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Wed, 16 Sep 2026 23:36:37 +0200 Subject: [PATCH 22/44] Lint1 --- openapi/components/schemas/_index.yaml | 62 +++++++++++++------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/openapi/components/schemas/_index.yaml b/openapi/components/schemas/_index.yaml index 7cea98fc..e1080ecb 100644 --- a/openapi/components/schemas/_index.yaml +++ b/openapi/components/schemas/_index.yaml @@ -11,54 +11,34 @@ NotificationDetailRequestInviteResponse: NotificationDetailVoteToKick: $ref: ./NotificationDetailVoteToKick.yaml -WebsocketMessage: - $ref: ./WebsocketMessage.yaml -WebsocketMessageNormal: - $ref: ./WebsocketMessageNormal.yaml -WebsocketMessageDoubleJson: - $ref: ./WebsocketMessageDoubleJson.yaml +NotificationV2: + $ref: ./NotificationV2.yaml +WebsocketClearNotification: + $ref: ./WebsocketClearNotification.yaml WebsocketSeeNotification: $ref: ./WebsocketSeeNotification.yaml WebsocketHideNotification: $ref: ./WebsocketHideNotification.yaml -WebsocketClearNotification: - $ref: ./WebsocketClearNotification.yaml -WebsocketNotification: - $ref: ./WebsocketNotification.yaml +WebsocketContentRefresh: + $ref: ./WebsocketContentRefresh.yaml WebsocketResponseNotification: $ref: ./WebsocketResponseNotification.yaml -NotificationV2: - $ref: ./NotificationV2.yaml -WebsocketNotificationV2Update: - $ref: ./WebsocketNotificationV2Update.yaml -WebsocketNotificationV2Delete: - $ref: ./WebsocketNotificationV2Delete.yaml +WebsocketFriendActive: + $ref: ./WebsocketFriendActive.yaml WebsocketFriendAdd: $ref: ./WebsocketFriendAdd.yaml WebsocketFriendDelete: $ref: ./WebsocketFriendDelete.yaml -WebsocketFriendOnline: - $ref: ./WebsocketFriendOnline.yaml -WebsocketFriendActive: - $ref: ./WebsocketFriendActive.yaml WebsocketFriendOffline: $ref: ./WebsocketFriendOffline.yaml +WebsocketFriendOnline: + $ref: ./WebsocketFriendOnline.yaml WebsocketFriendUpdate: $ref: ./WebsocketFriendUpdate.yaml WebsocketFriendLocation: $ref: ./WebsocketFriendLocation.yaml -WebsocketUserUpdate: - $ref: ./WebsocketUserUpdate.yaml -WebsocketUserLocation: - $ref: ./WebsocketUserLocation.yaml -WebsocketUserBadgeAssigned: - $ref: ./WebsocketUserBadgeAssigned.yaml -WebsocketUserBadgeUnassigned: - $ref: ./WebsocketUserBadgeUnassigned.yaml -WebsocketContentRefresh: - $ref: ./WebsocketContentRefresh.yaml WebsocketInstanceQueueJoined: $ref: ./WebsocketInstanceQueueJoined.yaml WebsocketInstanceQueueReady: @@ -70,4 +50,24 @@ WebsocketGroupLeft: WebsocketGroupMemberUpdated: $ref: ./WebsocketGroupMemberUpdated.yaml WebsocketGroupRoleUpdated: - $ref: ./WebsocketGroupRoleUpdated.yaml \ No newline at end of file + $ref: ./WebsocketGroupRoleUpdated.yaml +WebsocketNotification: + $ref: ./WebsocketNotification.yaml +WebsocketNotificationV2Update: + $ref: ./WebsocketNotificationV2Update.yaml +WebsocketNotificationV2Delete: + $ref: ./WebsocketNotificationV2Delete.yaml +WebsocketUserUpdate: + $ref: ./WebsocketUserUpdate.yaml +WebsocketUserLocation: + $ref: ./WebsocketUserLocation.yaml +WebsocketUserBadgeAssigned: + $ref: ./WebsocketUserBadgeAssigned.yaml +WebsocketUserBadgeUnassigned: + $ref: ./WebsocketUserBadgeUnassigned.yaml +WebsocketMessage: + $ref: ./WebsocketMessage.yaml +WebsocketMessageDoubleJson: + $ref: ./WebsocketMessageDoubleJson.yaml +WebsocketMessageNormal: + $ref: ./WebsocketMessageNormal.yaml From a7b3f5e19ce729ffa3235a0f49af8e8cf3a8ea1e Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Wed, 16 Sep 2026 23:39:47 +0200 Subject: [PATCH 23/44] Lint2 --- openapi/components/schemas/_index.yaml | 44 +++++++++++++------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/openapi/components/schemas/_index.yaml b/openapi/components/schemas/_index.yaml index e1080ecb..e728eaa0 100644 --- a/openapi/components/schemas/_index.yaml +++ b/openapi/components/schemas/_index.yaml @@ -16,33 +16,23 @@ NotificationV2: WebsocketClearNotification: $ref: ./WebsocketClearNotification.yaml -WebsocketSeeNotification: - $ref: ./WebsocketSeeNotification.yaml -WebsocketHideNotification: - $ref: ./WebsocketHideNotification.yaml WebsocketContentRefresh: $ref: ./WebsocketContentRefresh.yaml -WebsocketResponseNotification: - $ref: ./WebsocketResponseNotification.yaml WebsocketFriendActive: $ref: ./WebsocketFriendActive.yaml WebsocketFriendAdd: $ref: ./WebsocketFriendAdd.yaml WebsocketFriendDelete: $ref: ./WebsocketFriendDelete.yaml +WebsocketFriendLocation: + $ref: ./WebsocketFriendLocation.yaml WebsocketFriendOffline: $ref: ./WebsocketFriendOffline.yaml WebsocketFriendOnline: $ref: ./WebsocketFriendOnline.yaml WebsocketFriendUpdate: $ref: ./WebsocketFriendUpdate.yaml -WebsocketFriendLocation: - $ref: ./WebsocketFriendLocation.yaml -WebsocketInstanceQueueJoined: - $ref: ./WebsocketInstanceQueueJoined.yaml -WebsocketInstanceQueueReady: - $ref: ./WebsocketInstanceQueueReady.yaml WebsocketGroupJoined: $ref: ./WebsocketGroupJoined.yaml WebsocketGroupLeft: @@ -51,23 +41,33 @@ WebsocketGroupMemberUpdated: $ref: ./WebsocketGroupMemberUpdated.yaml WebsocketGroupRoleUpdated: $ref: ./WebsocketGroupRoleUpdated.yaml +WebsocketHideNotification: + $ref: ./WebsocketHideNotification.yaml +WebsocketInstanceQueueJoined: + $ref: ./WebsocketInstanceQueueJoined.yaml +WebsocketInstanceQueueReady: + $ref: ./WebsocketInstanceQueueReady.yaml +WebsocketMessage: + $ref: ./WebsocketMessage.yaml +WebsocketMessageDoubleJson: + $ref: ./WebsocketMessageDoubleJson.yaml +WebsocketMessageNormal: + $ref: ./WebsocketMessageNormal.yaml WebsocketNotification: $ref: ./WebsocketNotification.yaml WebsocketNotificationV2Update: $ref: ./WebsocketNotificationV2Update.yaml WebsocketNotificationV2Delete: $ref: ./WebsocketNotificationV2Delete.yaml -WebsocketUserUpdate: - $ref: ./WebsocketUserUpdate.yaml -WebsocketUserLocation: - $ref: ./WebsocketUserLocation.yaml +WebsocketResponseNotification: + $ref: ./WebsocketResponseNotification.yaml +WebsocketSeeNotification: + $ref: ./WebsocketSeeNotification.yaml WebsocketUserBadgeAssigned: $ref: ./WebsocketUserBadgeAssigned.yaml WebsocketUserBadgeUnassigned: $ref: ./WebsocketUserBadgeUnassigned.yaml -WebsocketMessage: - $ref: ./WebsocketMessage.yaml -WebsocketMessageDoubleJson: - $ref: ./WebsocketMessageDoubleJson.yaml -WebsocketMessageNormal: - $ref: ./WebsocketMessageNormal.yaml +WebsocketUserLocation: + $ref: ./WebsocketUserLocation.yaml +WebsocketUserUpdate: + $ref: ./WebsocketUserUpdate.yaml From 9c65a9d089fe6f233cbc23ccf8f86e5cbb3875da Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Wed, 16 Sep 2026 23:40:31 +0200 Subject: [PATCH 24/44] Lint3 --- openapi/components/schemas/_index.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openapi/components/schemas/_index.yaml b/openapi/components/schemas/_index.yaml index e728eaa0..e3107e21 100644 --- a/openapi/components/schemas/_index.yaml +++ b/openapi/components/schemas/_index.yaml @@ -55,10 +55,10 @@ WebsocketMessageNormal: $ref: ./WebsocketMessageNormal.yaml WebsocketNotification: $ref: ./WebsocketNotification.yaml -WebsocketNotificationV2Update: - $ref: ./WebsocketNotificationV2Update.yaml WebsocketNotificationV2Delete: $ref: ./WebsocketNotificationV2Delete.yaml +WebsocketNotificationV2Update: + $ref: ./WebsocketNotificationV2Update.yaml WebsocketResponseNotification: $ref: ./WebsocketResponseNotification.yaml WebsocketSeeNotification: From c2119ce1c67b1d49451aff6709128be8cf857a64 Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Wed, 16 Sep 2026 23:50:03 +0200 Subject: [PATCH 25/44] Remove probably? unused propertyBaseName --- openapi/components/schemas/Notification.yaml | 1 - openapi/components/schemas/WebsocketMessageDoubleJson.yaml | 1 - openapi/components/schemas/WebsocketMessageNormal.yaml | 1 - openapi/components/schemas/WebsocketNotification.yaml | 1 - 4 files changed, 4 deletions(-) diff --git a/openapi/components/schemas/Notification.yaml b/openapi/components/schemas/Notification.yaml index a47caac1..d1e5da27 100644 --- a/openapi/components/schemas/Notification.yaml +++ b/openapi/components/schemas/Notification.yaml @@ -21,7 +21,6 @@ properties: - $ref: ./NotificationDetailVoteToKick.yaml discriminator: propertyName: type - propertyBaseName: type mapping: boop: ./NotificationDetailBoop.yaml invite: ./NotificationDetailInvite.yaml diff --git a/openapi/components/schemas/WebsocketMessageDoubleJson.yaml b/openapi/components/schemas/WebsocketMessageDoubleJson.yaml index 498fcad9..6d47beef 100644 --- a/openapi/components/schemas/WebsocketMessageDoubleJson.yaml +++ b/openapi/components/schemas/WebsocketMessageDoubleJson.yaml @@ -35,7 +35,6 @@ properties: - $ref: ./WebsocketGroupRoleUpdated.yaml discriminator: propertyName: type - propertyBaseName: type mapping: content-refresh: ./WebsocketContentRefresh.yaml friend-active: ./WebsocketFriendActive.yaml diff --git a/openapi/components/schemas/WebsocketMessageNormal.yaml b/openapi/components/schemas/WebsocketMessageNormal.yaml index c356f044..63de2de9 100644 --- a/openapi/components/schemas/WebsocketMessageNormal.yaml +++ b/openapi/components/schemas/WebsocketMessageNormal.yaml @@ -11,7 +11,6 @@ properties: - $ref: ./WebsocketClearNotification.yaml discriminator: propertyName: type - propertyBaseName: type mapping: see-notification: ./WebsocketSeeNotification.yaml hide-notification: ./WebsocketHideNotification.yaml diff --git a/openapi/components/schemas/WebsocketNotification.yaml b/openapi/components/schemas/WebsocketNotification.yaml index f35c0f5e..00e80fe3 100644 --- a/openapi/components/schemas/WebsocketNotification.yaml +++ b/openapi/components/schemas/WebsocketNotification.yaml @@ -17,7 +17,6 @@ properties: - $ref: ./NotificationDetailVoteToKick.yaml discriminator: propertyName: type - propertyBaseName: type mapping: boop: ./NotificationDetailBoop.yaml invite: ./NotificationDetailInvite.yaml From 6d9759c164e1396bc6ad21fc85f55f00779fda9b Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Thu, 17 Sep 2026 01:01:08 +0200 Subject: [PATCH 26/44] Change how Websocket Message enums are decoded --- .../WebsocketContentRefreshEncoded.yaml | 10 ++ .../schemas/WebsocketFriendActiveEncoded.yaml | 10 ++ .../schemas/WebsocketFriendAddEncoded.yaml | 10 ++ .../schemas/WebsocketFriendDeleteEncoded.yaml | 10 ++ .../WebsocketFriendLocationEncoded.yaml | 10 ++ .../WebsocketFriendOfflineEncoded.yaml | 10 ++ .../schemas/WebsocketFriendOnlineEncoded.yaml | 10 ++ .../schemas/WebsocketFriendUpdateEncoded.yaml | 10 ++ .../schemas/WebsocketGroupJoinedEncoded.yaml | 10 ++ .../schemas/WebsocketGroupLeftEncoded.yaml | 10 ++ .../WebsocketGroupMemberUpdatedEncoded.yaml | 10 ++ .../WebsocketGroupRoleUpdatedEncoded.yaml | 10 ++ .../schemas/WebsocketHideNotification.yaml | 8 +- .../WebsocketInstanceQueueJoinedEncoded.yaml | 10 ++ .../WebsocketInstanceQueueReadyEncoded.yaml | 10 ++ .../schemas/WebsocketMessageDoubleJson.yaml | 147 +++++++----------- .../schemas/WebsocketMessageNormal.yaml | 42 ++--- .../schemas/WebsocketNotificationEncoded.yaml | 10 ++ .../WebsocketNotificationV2DeleteEncoded.yaml | 10 ++ .../WebsocketNotificationV2Encoded.yaml | 10 ++ .../WebsocketNotificationV2UpdateEncoded.yaml | 10 ++ .../WebsocketResponseNotificationEncoded.yaml | 10 ++ .../schemas/WebsocketSeeNotification.yaml | 8 +- .../WebsocketUserBadgeAssignedEncoded.yaml | 10 ++ .../WebsocketUserBadgeUnassignedEncoded.yaml | 10 ++ .../schemas/WebsocketUserLocationEncoded.yaml | 10 ++ .../schemas/WebsocketUserUpdateEncoded.yaml | 10 ++ openapi/components/schemas/_index.yaml | 47 +++++- 28 files changed, 360 insertions(+), 122 deletions(-) create mode 100644 openapi/components/schemas/WebsocketContentRefreshEncoded.yaml create mode 100644 openapi/components/schemas/WebsocketFriendActiveEncoded.yaml create mode 100644 openapi/components/schemas/WebsocketFriendAddEncoded.yaml create mode 100644 openapi/components/schemas/WebsocketFriendDeleteEncoded.yaml create mode 100644 openapi/components/schemas/WebsocketFriendLocationEncoded.yaml create mode 100644 openapi/components/schemas/WebsocketFriendOfflineEncoded.yaml create mode 100644 openapi/components/schemas/WebsocketFriendOnlineEncoded.yaml create mode 100644 openapi/components/schemas/WebsocketFriendUpdateEncoded.yaml create mode 100644 openapi/components/schemas/WebsocketGroupJoinedEncoded.yaml create mode 100644 openapi/components/schemas/WebsocketGroupLeftEncoded.yaml create mode 100644 openapi/components/schemas/WebsocketGroupMemberUpdatedEncoded.yaml create mode 100644 openapi/components/schemas/WebsocketGroupRoleUpdatedEncoded.yaml create mode 100644 openapi/components/schemas/WebsocketInstanceQueueJoinedEncoded.yaml create mode 100644 openapi/components/schemas/WebsocketInstanceQueueReadyEncoded.yaml create mode 100644 openapi/components/schemas/WebsocketNotificationEncoded.yaml create mode 100644 openapi/components/schemas/WebsocketNotificationV2DeleteEncoded.yaml create mode 100644 openapi/components/schemas/WebsocketNotificationV2Encoded.yaml create mode 100644 openapi/components/schemas/WebsocketNotificationV2UpdateEncoded.yaml create mode 100644 openapi/components/schemas/WebsocketResponseNotificationEncoded.yaml create mode 100644 openapi/components/schemas/WebsocketUserBadgeAssignedEncoded.yaml create mode 100644 openapi/components/schemas/WebsocketUserBadgeUnassignedEncoded.yaml create mode 100644 openapi/components/schemas/WebsocketUserLocationEncoded.yaml create mode 100644 openapi/components/schemas/WebsocketUserUpdateEncoded.yaml diff --git a/openapi/components/schemas/WebsocketContentRefreshEncoded.yaml b/openapi/components/schemas/WebsocketContentRefreshEncoded.yaml new file mode 100644 index 00000000..a1829c29 --- /dev/null +++ b/openapi/components/schemas/WebsocketContentRefreshEncoded.yaml @@ -0,0 +1,10 @@ +title: WebsocketContentRefreshEncoded +type: string +properties: + content: + type: string + contentMediaType: application/json + contentSchema: + $ref: ./WebsocketContentRefresh.yaml +required: + - content diff --git a/openapi/components/schemas/WebsocketFriendActiveEncoded.yaml b/openapi/components/schemas/WebsocketFriendActiveEncoded.yaml new file mode 100644 index 00000000..c89f87b4 --- /dev/null +++ b/openapi/components/schemas/WebsocketFriendActiveEncoded.yaml @@ -0,0 +1,10 @@ +title: WebsocketFriendActiveEncoded +type: string +properties: + content: + type: string + contentMediaType: application/json + contentSchema: + $ref: ./WebsocketFriendActive.yaml +required: + - content diff --git a/openapi/components/schemas/WebsocketFriendAddEncoded.yaml b/openapi/components/schemas/WebsocketFriendAddEncoded.yaml new file mode 100644 index 00000000..545c34ec --- /dev/null +++ b/openapi/components/schemas/WebsocketFriendAddEncoded.yaml @@ -0,0 +1,10 @@ +title: WebsocketFriendAddEncoded +type: string +properties: + content: + type: string + contentMediaType: application/json + contentSchema: + $ref: ./WebsocketFriendAdd.yaml +required: + - content diff --git a/openapi/components/schemas/WebsocketFriendDeleteEncoded.yaml b/openapi/components/schemas/WebsocketFriendDeleteEncoded.yaml new file mode 100644 index 00000000..14e5d35b --- /dev/null +++ b/openapi/components/schemas/WebsocketFriendDeleteEncoded.yaml @@ -0,0 +1,10 @@ +title: WebsocketFriendDeleteEncoded +type: string +properties: + content: + type: string + contentMediaType: application/json + contentSchema: + $ref: ./WebsocketFriendDelete.yaml +required: + - content diff --git a/openapi/components/schemas/WebsocketFriendLocationEncoded.yaml b/openapi/components/schemas/WebsocketFriendLocationEncoded.yaml new file mode 100644 index 00000000..011d242f --- /dev/null +++ b/openapi/components/schemas/WebsocketFriendLocationEncoded.yaml @@ -0,0 +1,10 @@ +title: WebsocketFriendLocationEncoded +type: string +properties: + content: + type: string + contentMediaType: application/json + contentSchema: + $ref: ./WebsocketFriendLocation.yaml +required: + - content diff --git a/openapi/components/schemas/WebsocketFriendOfflineEncoded.yaml b/openapi/components/schemas/WebsocketFriendOfflineEncoded.yaml new file mode 100644 index 00000000..173b9285 --- /dev/null +++ b/openapi/components/schemas/WebsocketFriendOfflineEncoded.yaml @@ -0,0 +1,10 @@ +title: WebsocketFriendOfflineEncoded +type: string +properties: + content: + type: string + contentMediaType: application/json + contentSchema: + $ref: ./WebsocketFriendOffline.yaml +required: + - content diff --git a/openapi/components/schemas/WebsocketFriendOnlineEncoded.yaml b/openapi/components/schemas/WebsocketFriendOnlineEncoded.yaml new file mode 100644 index 00000000..469bf064 --- /dev/null +++ b/openapi/components/schemas/WebsocketFriendOnlineEncoded.yaml @@ -0,0 +1,10 @@ +title: WebsocketFriendOnlineEncoded +type: string +properties: + content: + type: string + contentMediaType: application/json + contentSchema: + $ref: ./WebsocketFriendOnline.yaml +required: + - content diff --git a/openapi/components/schemas/WebsocketFriendUpdateEncoded.yaml b/openapi/components/schemas/WebsocketFriendUpdateEncoded.yaml new file mode 100644 index 00000000..0df456c6 --- /dev/null +++ b/openapi/components/schemas/WebsocketFriendUpdateEncoded.yaml @@ -0,0 +1,10 @@ +title: WebsocketFriendUpdateEncoded +type: string +properties: + content: + type: string + contentMediaType: application/json + contentSchema: + $ref: ./WebsocketFriendUpdate.yaml +required: + - content diff --git a/openapi/components/schemas/WebsocketGroupJoinedEncoded.yaml b/openapi/components/schemas/WebsocketGroupJoinedEncoded.yaml new file mode 100644 index 00000000..2d4d4be5 --- /dev/null +++ b/openapi/components/schemas/WebsocketGroupJoinedEncoded.yaml @@ -0,0 +1,10 @@ +title: WebsocketGroupJoinedEncoded +type: string +properties: + content: + type: string + contentMediaType: application/json + contentSchema: + $ref: ./WebsocketGroupJoined.yaml +required: + - content diff --git a/openapi/components/schemas/WebsocketGroupLeftEncoded.yaml b/openapi/components/schemas/WebsocketGroupLeftEncoded.yaml new file mode 100644 index 00000000..85cf58f3 --- /dev/null +++ b/openapi/components/schemas/WebsocketGroupLeftEncoded.yaml @@ -0,0 +1,10 @@ +title: WebsocketGroupLeftEncoded +type: string +properties: + content: + type: string + contentMediaType: application/json + contentSchema: + $ref: ./WebsocketGroupLeft.yaml +required: + - content diff --git a/openapi/components/schemas/WebsocketGroupMemberUpdatedEncoded.yaml b/openapi/components/schemas/WebsocketGroupMemberUpdatedEncoded.yaml new file mode 100644 index 00000000..966312d9 --- /dev/null +++ b/openapi/components/schemas/WebsocketGroupMemberUpdatedEncoded.yaml @@ -0,0 +1,10 @@ +title: WebsocketGroupMemberUpdatedEncoded +type: string +properties: + content: + type: string + contentMediaType: application/json + contentSchema: + $ref: ./WebsocketGroupMemberUpdated.yaml +required: + - content diff --git a/openapi/components/schemas/WebsocketGroupRoleUpdatedEncoded.yaml b/openapi/components/schemas/WebsocketGroupRoleUpdatedEncoded.yaml new file mode 100644 index 00000000..5b7328c7 --- /dev/null +++ b/openapi/components/schemas/WebsocketGroupRoleUpdatedEncoded.yaml @@ -0,0 +1,10 @@ +title: WebsocketGroupRoleUpdatedEncoded +type: string +properties: + content: + type: string + contentMediaType: application/json + contentSchema: + $ref: ./WebsocketGroupRoleUpdated.yaml +required: + - content diff --git a/openapi/components/schemas/WebsocketHideNotification.yaml b/openapi/components/schemas/WebsocketHideNotification.yaml index 4fa28420..199ba5f4 100644 --- a/openapi/components/schemas/WebsocketHideNotification.yaml +++ b/openapi/components/schemas/WebsocketHideNotification.yaml @@ -1 +1,7 @@ -$ref: ./NotificationID.yaml +title: WebsocketHideNotification +type: object +properties: + content: + $ref: ./NotificationID.yaml +required: + - content diff --git a/openapi/components/schemas/WebsocketInstanceQueueJoinedEncoded.yaml b/openapi/components/schemas/WebsocketInstanceQueueJoinedEncoded.yaml new file mode 100644 index 00000000..e7ef25cf --- /dev/null +++ b/openapi/components/schemas/WebsocketInstanceQueueJoinedEncoded.yaml @@ -0,0 +1,10 @@ +title: WebsocketInstanceQueueJoinedEncoded +type: string +properties: + content: + type: string + contentMediaType: application/json + contentSchema: + $ref: ./WebsocketInstanceQueueJoined.yaml +required: + - content diff --git a/openapi/components/schemas/WebsocketInstanceQueueReadyEncoded.yaml b/openapi/components/schemas/WebsocketInstanceQueueReadyEncoded.yaml new file mode 100644 index 00000000..e0780de7 --- /dev/null +++ b/openapi/components/schemas/WebsocketInstanceQueueReadyEncoded.yaml @@ -0,0 +1,10 @@ +title: WebsocketInstanceQueueReadyEncoded +type: string +properties: + content: + type: string + contentMediaType: application/json + contentSchema: + $ref: ./WebsocketInstanceQueueReady.yaml +required: + - content diff --git a/openapi/components/schemas/WebsocketMessageDoubleJson.yaml b/openapi/components/schemas/WebsocketMessageDoubleJson.yaml index 6d47beef..c58dd3a0 100644 --- a/openapi/components/schemas/WebsocketMessageDoubleJson.yaml +++ b/openapi/components/schemas/WebsocketMessageDoubleJson.yaml @@ -1,93 +1,56 @@ title: WebsocketMessageDoubleJson -type: object -properties: - content: - type: string - description: JSON-encoded object. - contentMediaType: application/json - x-if: - when: jsonschema - then: - contentSchema: - oneOf: - - $ref: ./WebsocketNotification.yaml - - $ref: ./WebsocketResponseNotification.yaml - - $ref: ./NotificationV2.yaml - - $ref: ./WebsocketNotificationV2Update.yaml - - $ref: ./WebsocketNotificationV2Delete.yaml - - $ref: ./WebsocketFriendAdd.yaml - - $ref: ./WebsocketFriendDelete.yaml - - $ref: ./WebsocketFriendOnline.yaml - - $ref: ./WebsocketFriendActive.yaml - - $ref: ./WebsocketFriendOffline.yaml - - $ref: ./WebsocketFriendUpdate.yaml - - $ref: ./WebsocketFriendLocation.yaml - - $ref: ./WebsocketUserUpdate.yaml - - $ref: ./WebsocketUserLocation.yaml - - $ref: ./WebsocketUserBadgeAssigned.yaml - - $ref: ./WebsocketUserBadgeUnassigned.yaml - - $ref: ./WebsocketContentRefresh.yaml - - $ref: ./WebsocketInstanceQueueJoined.yaml - - $ref: ./WebsocketInstanceQueueReady.yaml - - $ref: ./WebsocketGroupJoined.yaml - - $ref: ./WebsocketGroupLeft.yaml - - $ref: ./WebsocketGroupMemberUpdated.yaml - - $ref: ./WebsocketGroupRoleUpdated.yaml - discriminator: - propertyName: type - mapping: - content-refresh: ./WebsocketContentRefresh.yaml - friend-active: ./WebsocketFriendActive.yaml - friend-add: ./WebsocketFriendAdd.yaml - friend-delete: ./WebsocketFriendDelete.yaml - friend-location: ./WebsocketFriendLocation.yaml - friend-offline: ./WebsocketFriendOffline.yaml - friend-online: ./WebsocketFriendOnline.yaml - friend-update: ./WebsocketFriendUpdate.yaml - group-joined: ./WebsocketGroupJoined.yaml - group-left: ./WebsocketGroupLeft.yaml - group-member-updated: ./WebsocketGroupMemberUpdated.yaml - group-role-updated: ./WebsocketGroupRoleUpdated.yaml - instance-queue-joined: ./WebsocketInstanceQueueJoined.yaml - instance-queue-ready: ./WebsocketInstanceQueueReady.yaml - notification: ./WebsocketNotification.yaml - notification-v2: ./NotificationV2.yaml - notification-v2-delete: ./WebsocketNotificationV2Delete.yaml - notification-v2-update: ./WebsocketNotificationV2Update.yaml - response-notification: ./WebsocketResponseNotification.yaml - user-badge-assigned: ./WebsocketUserBadgeAssigned.yaml - user-badge-unassigned: ./WebsocketUserBadgeUnassigned.yaml - user-location: ./WebsocketUserLocation.yaml - user-update: ./WebsocketUserUpdate.yaml - else: - contentSchema: - type: object - type: - type: string - enum: - - content-refresh - - friend-active - - friend-add - - friend-delete - - friend-location - - friend-offline - - friend-online - - friend-update - - group-joined - - group-left - - group-member-updated - - group-role-updated - - instance-queue-joined - - instance-queue-ready - - notification - - notification-v2 - - notification-v2-delete - - notification-v2-update - - response-notification - - user-badge-assigned - - user-badge-unassigned - - user-location - - user-update -required: - - content - - type +x-if: + when: jsonschema + then: + oneOf: + - $ref: ./WebsocketContentRefreshEncoded.yaml + - $ref: ./WebsocketFriendActiveEncoded.yaml + - $ref: ./WebsocketFriendAddEncoded.yaml + - $ref: ./WebsocketFriendDeleteEncoded.yaml + - $ref: ./WebsocketFriendLocationEncoded.yaml + - $ref: ./WebsocketFriendOfflineEncoded.yaml + - $ref: ./WebsocketFriendOnlineEncoded.yaml + - $ref: ./WebsocketFriendUpdateEncoded.yaml + - $ref: ./WebsocketGroupJoinedEncoded.yaml + - $ref: ./WebsocketGroupLeftEncoded.yaml + - $ref: ./WebsocketGroupMemberUpdatedEncoded.yaml + - $ref: ./WebsocketGroupRoleUpdatedEncoded.yaml + - $ref: ./WebsocketInstanceQueueJoinedEncoded.yaml + - $ref: ./WebsocketInstanceQueueReadyEncoded.yaml + - $ref: ./WebsocketNotificationEncoded.yaml + - $ref: ./WebsocketNotificationV2Encoded.yaml + - $ref: ./WebsocketNotificationV2DeleteEncoded.yaml + - $ref: ./WebsocketNotificationV2UpdateEncoded.yaml + - $ref: ./WebsocketResponseNotificationEncoded.yaml + - $ref: ./WebsocketUserBadgeAssignedEncoded.yaml + - $ref: ./WebsocketUserBadgeUnassignedEncoded.yaml + - $ref: ./WebsocketUserLocationEncoded.yaml + - $ref: ./WebsocketUserUpdateEncoded.yaml + discriminator: + propertyName: type + mapping: + content-refresh: ./WebsocketContentRefreshEncoded.yaml + friend-active: ./WebsocketFriendActiveEncoded.yaml + friend-add: ./WebsocketFriendAddEncoded.yaml + friend-delete: ./WebsocketFriendDeleteEncoded.yaml + friend-location: ./WebsocketFriendLocationEncoded.yaml + friend-offline: ./WebsocketFriendOfflineEncoded.yaml + friend-online: ./WebsocketFriendOnlineEncoded.yaml + friend-update: ./WebsocketFriendUpdateEncoded.yaml + group-joined: ./WebsocketGroupJoinedEncoded.yaml + group-left: ./WebsocketGroupLeftEncoded.yaml + group-member-updated: ./WebsocketGroupMemberUpdatedEncoded.yaml + group-role-updated: ./WebsocketGroupRoleUpdatedEncoded.yaml + instance-queue-joined: ./WebsocketInstanceQueueJoinedEncoded.yaml + instance-queue-ready: ./WebsocketInstanceQueueReadyEncoded.yaml + notification: ./WebsocketNotificationEncoded.yaml + notification-v2: ./WebsocketNotificationV2Encoded.yaml + notification-v2-delete: ./WebsocketNotificationV2DeleteEncoded.yaml + notification-v2-update: ./WebsocketNotificationV2UpdateEncoded.yaml + response-notification: ./WebsocketResponseNotificationEncoded.yaml + user-badge-assigned: ./WebsocketUserBadgeAssignedEncoded.yaml + user-badge-unassigned: ./WebsocketUserBadgeUnassignedEncoded.yaml + user-location: ./WebsocketUserLocationEncoded.yaml + user-update: ./WebsocketUserUpdateEncoded.yaml + else: + type: object diff --git a/openapi/components/schemas/WebsocketMessageNormal.yaml b/openapi/components/schemas/WebsocketMessageNormal.yaml index 63de2de9..7e412926 100644 --- a/openapi/components/schemas/WebsocketMessageNormal.yaml +++ b/openapi/components/schemas/WebsocketMessageNormal.yaml @@ -1,28 +1,16 @@ title: WebsocketMessageNormal -type: object -properties: - content: - x-if: - when: jsonschema - then: - oneOf: - - $ref: ./WebsocketSeeNotification.yaml - - $ref: ./WebsocketHideNotification.yaml - - $ref: ./WebsocketClearNotification.yaml - discriminator: - propertyName: type - mapping: - see-notification: ./WebsocketSeeNotification.yaml - hide-notification: ./WebsocketHideNotification.yaml - clear-notification: ./WebsocketClearNotification.yaml - else: - type: object - type: - type: string - enum: - - clear-notification - - hide-notification - - see-notification -required: - - content - - type +x-if: + when: jsonschema + then: + oneOf: + - $ref: ./WebsocketSeeNotification.yaml + - $ref: ./WebsocketHideNotification.yaml + - $ref: ./WebsocketClearNotification.yaml + discriminator: + propertyName: type + mapping: + see-notification: ./WebsocketSeeNotification.yaml + hide-notification: ./WebsocketHideNotification.yaml + clear-notification: ./WebsocketClearNotification.yaml + else: + type: object diff --git a/openapi/components/schemas/WebsocketNotificationEncoded.yaml b/openapi/components/schemas/WebsocketNotificationEncoded.yaml new file mode 100644 index 00000000..f3d5f77a --- /dev/null +++ b/openapi/components/schemas/WebsocketNotificationEncoded.yaml @@ -0,0 +1,10 @@ +title: WebsocketNotificationEncoded +type: string +properties: + content: + type: string + contentMediaType: application/json + contentSchema: + $ref: ./WebsocketNotification.yaml +required: + - content diff --git a/openapi/components/schemas/WebsocketNotificationV2DeleteEncoded.yaml b/openapi/components/schemas/WebsocketNotificationV2DeleteEncoded.yaml new file mode 100644 index 00000000..5e3e0f73 --- /dev/null +++ b/openapi/components/schemas/WebsocketNotificationV2DeleteEncoded.yaml @@ -0,0 +1,10 @@ +title: WebsocketNotificationV2DeleteEncoded +type: string +properties: + content: + type: string + contentMediaType: application/json + contentSchema: + $ref: ./WebsocketNotificationV2Delete.yaml +required: + - content diff --git a/openapi/components/schemas/WebsocketNotificationV2Encoded.yaml b/openapi/components/schemas/WebsocketNotificationV2Encoded.yaml new file mode 100644 index 00000000..1e907604 --- /dev/null +++ b/openapi/components/schemas/WebsocketNotificationV2Encoded.yaml @@ -0,0 +1,10 @@ +title: NotificationV2Encoded +type: string +properties: + content: + type: string + contentMediaType: application/json + contentSchema: + $ref: ./NotificationV2.yaml +required: + - content diff --git a/openapi/components/schemas/WebsocketNotificationV2UpdateEncoded.yaml b/openapi/components/schemas/WebsocketNotificationV2UpdateEncoded.yaml new file mode 100644 index 00000000..f70e1ea3 --- /dev/null +++ b/openapi/components/schemas/WebsocketNotificationV2UpdateEncoded.yaml @@ -0,0 +1,10 @@ +title: WebsocketNotificationV2UpdateEncoded +type: string +properties: + content: + type: string + contentMediaType: application/json + contentSchema: + $ref: ./WebsocketNotificationV2Update.yaml +required: + - content diff --git a/openapi/components/schemas/WebsocketResponseNotificationEncoded.yaml b/openapi/components/schemas/WebsocketResponseNotificationEncoded.yaml new file mode 100644 index 00000000..e201400f --- /dev/null +++ b/openapi/components/schemas/WebsocketResponseNotificationEncoded.yaml @@ -0,0 +1,10 @@ +title: WebsocketResponseNotificationEncoded +type: string +properties: + content: + type: string + contentMediaType: application/json + contentSchema: + $ref: ./WebsocketResponseNotification.yaml +required: + - content diff --git a/openapi/components/schemas/WebsocketSeeNotification.yaml b/openapi/components/schemas/WebsocketSeeNotification.yaml index 4fa28420..459e4d2e 100644 --- a/openapi/components/schemas/WebsocketSeeNotification.yaml +++ b/openapi/components/schemas/WebsocketSeeNotification.yaml @@ -1 +1,7 @@ -$ref: ./NotificationID.yaml +title: WebsocketSeeNotification +type: object +properties: + content: + $ref: ./NotificationID.yaml +required: + - content diff --git a/openapi/components/schemas/WebsocketUserBadgeAssignedEncoded.yaml b/openapi/components/schemas/WebsocketUserBadgeAssignedEncoded.yaml new file mode 100644 index 00000000..72c4cf43 --- /dev/null +++ b/openapi/components/schemas/WebsocketUserBadgeAssignedEncoded.yaml @@ -0,0 +1,10 @@ +title: WebsocketUserBadgeAssignedEncoded +type: string +properties: + content: + type: string + contentMediaType: application/json + contentSchema: + $ref: ./WebsocketUserBadgeAssigned.yaml +required: + - content diff --git a/openapi/components/schemas/WebsocketUserBadgeUnassignedEncoded.yaml b/openapi/components/schemas/WebsocketUserBadgeUnassignedEncoded.yaml new file mode 100644 index 00000000..134140ea --- /dev/null +++ b/openapi/components/schemas/WebsocketUserBadgeUnassignedEncoded.yaml @@ -0,0 +1,10 @@ +title: WebsocketUserBadgeUnassignedEncoded +type: string +properties: + content: + type: string + contentMediaType: application/json + contentSchema: + $ref: ./WebsocketUserBadgeUnassigned.yaml +required: + - content diff --git a/openapi/components/schemas/WebsocketUserLocationEncoded.yaml b/openapi/components/schemas/WebsocketUserLocationEncoded.yaml new file mode 100644 index 00000000..2aa59ad5 --- /dev/null +++ b/openapi/components/schemas/WebsocketUserLocationEncoded.yaml @@ -0,0 +1,10 @@ +title: WebsocketUserLocationEncoded +type: string +properties: + content: + type: string + contentMediaType: application/json + contentSchema: + $ref: ./WebsocketUserLocation.yaml +required: + - content diff --git a/openapi/components/schemas/WebsocketUserUpdateEncoded.yaml b/openapi/components/schemas/WebsocketUserUpdateEncoded.yaml new file mode 100644 index 00000000..8d4f6f65 --- /dev/null +++ b/openapi/components/schemas/WebsocketUserUpdateEncoded.yaml @@ -0,0 +1,10 @@ +title: WebsocketUserUpdateEncoded +type: string +properties: + content: + type: string + contentMediaType: application/json + contentSchema: + $ref: ./WebsocketUserUpdate.yaml +required: + - content diff --git a/openapi/components/schemas/_index.yaml b/openapi/components/schemas/_index.yaml index e3107e21..0ad63b06 100644 --- a/openapi/components/schemas/_index.yaml +++ b/openapi/components/schemas/_index.yaml @@ -16,37 +16,64 @@ NotificationV2: WebsocketClearNotification: $ref: ./WebsocketClearNotification.yaml - WebsocketContentRefresh: $ref: ./WebsocketContentRefresh.yaml +WebsocketContentRefreshEncoded: + $ref: ./WebsocketContentRefreshEncoded.yaml WebsocketFriendActive: $ref: ./WebsocketFriendActive.yaml +WebsocketFriendActiveEncoded: + $ref: ./WebsocketFriendActiveEncoded.yaml WebsocketFriendAdd: $ref: ./WebsocketFriendAdd.yaml +WebsocketFriendAddEncoded: + $ref: ./WebsocketFriendAddEncoded.yaml WebsocketFriendDelete: $ref: ./WebsocketFriendDelete.yaml +WebsocketFriendDeleteEncoded: + $ref: ./WebsocketFriendDeleteEncoded.yaml WebsocketFriendLocation: $ref: ./WebsocketFriendLocation.yaml +WebsocketFriendLocationEncoded: + $ref: ./WebsocketFriendLocationEncoded.yaml WebsocketFriendOffline: $ref: ./WebsocketFriendOffline.yaml +WebsocketFriendOfflineEncoded: + $ref: ./WebsocketFriendOfflineEncoded.yaml WebsocketFriendOnline: $ref: ./WebsocketFriendOnline.yaml +WebsocketFriendOnlineEncoded: + $ref: ./WebsocketFriendOnlineEncoded.yaml WebsocketFriendUpdate: $ref: ./WebsocketFriendUpdate.yaml +WebsocketFriendUpdateEncoded: + $ref: ./WebsocketFriendUpdateEncoded.yaml WebsocketGroupJoined: $ref: ./WebsocketGroupJoined.yaml +WebsocketGroupJoinedEncoded: + $ref: ./WebsocketGroupJoinedEncoded.yaml WebsocketGroupLeft: $ref: ./WebsocketGroupLeft.yaml +WebsocketGroupLeftEncoded: + $ref: ./WebsocketGroupLeftEncoded.yaml WebsocketGroupMemberUpdated: $ref: ./WebsocketGroupMemberUpdated.yaml +WebsocketGroupMemberUpdatedEncoded: + $ref: ./WebsocketGroupMemberUpdatedEncoded.yaml WebsocketGroupRoleUpdated: $ref: ./WebsocketGroupRoleUpdated.yaml +WebsocketGroupRoleUpdatedEncoded: + $ref: ./WebsocketGroupRoleUpdatedEncoded.yaml WebsocketHideNotification: $ref: ./WebsocketHideNotification.yaml WebsocketInstanceQueueJoined: $ref: ./WebsocketInstanceQueueJoined.yaml +WebsocketInstanceQueueJoinedEncoded: + $ref: ./WebsocketInstanceQueueJoinedEncoded.yaml WebsocketInstanceQueueReady: $ref: ./WebsocketInstanceQueueReady.yaml +WebsocketInstanceQueueReadyEncoded: + $ref: ./WebsocketInstanceQueueReadyEncoded.yaml WebsocketMessage: $ref: ./WebsocketMessage.yaml WebsocketMessageDoubleJson: @@ -55,19 +82,37 @@ WebsocketMessageNormal: $ref: ./WebsocketMessageNormal.yaml WebsocketNotification: $ref: ./WebsocketNotification.yaml +WebsocketNotificationEncoded: + $ref: ./WebsocketNotificationEncoded.yaml WebsocketNotificationV2Delete: $ref: ./WebsocketNotificationV2Delete.yaml +WebsocketNotificationV2DeleteEncoded: + $ref: ./WebsocketNotificationV2DeleteEncoded.yaml +WebsocketNotificationV2Encoded: + $ref: ./WebsocketNotificationV2Encoded.yaml WebsocketNotificationV2Update: $ref: ./WebsocketNotificationV2Update.yaml +WebsocketNotificationV2UpdateEncoded: + $ref: ./WebsocketNotificationV2UpdateEncoded.yaml WebsocketResponseNotification: $ref: ./WebsocketResponseNotification.yaml +WebsocketResponseNotificationEncoded: + $ref: ./WebsocketResponseNotificationEncoded.yaml WebsocketSeeNotification: $ref: ./WebsocketSeeNotification.yaml WebsocketUserBadgeAssigned: $ref: ./WebsocketUserBadgeAssigned.yaml +WebsocketUserBadgeAssignedEncoded: + $ref: ./WebsocketUserBadgeAssignedEncoded.yaml WebsocketUserBadgeUnassigned: $ref: ./WebsocketUserBadgeUnassigned.yaml +WebsocketUserBadgeUnassignedEncoded: + $ref: ./WebsocketUserBadgeUnassignedEncoded.yaml WebsocketUserLocation: $ref: ./WebsocketUserLocation.yaml +WebsocketUserLocationEncoded: + $ref: ./WebsocketUserLocationEncoded.yaml WebsocketUserUpdate: $ref: ./WebsocketUserUpdate.yaml +WebsocketUserUpdateEncoded: + $ref: ./WebsocketUserUpdateEncoded.yaml From 85aea0ce9fa33f39b6be95b50dc105843e37851b Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Thu, 17 Sep 2026 01:44:50 +0200 Subject: [PATCH 27/44] Fix Encoded Types Created using `for i in WebsocketNotification.yaml WebsocketResponseNotification.yaml WebsocketNotificationV2Update.yaml WebsocketNotificationV2Delete.yaml WebsocketFriendAdd.yaml WebsocketFriendDelete.yaml WebsocketFriendOnline.yaml WebsocketFriendActive.yaml WebsocketFriendOffline.yaml WebsocketFriendUpdate.yaml WebsocketFriendLocation.yaml WebsocketUserUpdate.yaml WebsocketUserLocation.yaml WebsocketUserBadgeAssigned.yaml WebsocketUserBadgeUnassigned.yaml WebsocketContentRefresh.yaml WebsocketInstanceQueueJoined.yaml WebsocketInstanceQueueReady.yaml WebsocketGroupJoined.yaml WebsocketGroupLeft.yaml WebsocketGroupMemberUpdated.yaml WebsocketGroupRoleUpdated.yaml; do echo -e "title: ${i%.*}Encoded\ntype: object\nproperties:\n content:\n type: string\n contentMediaType: application/json\n contentSchema:\n \$ref: ./${i}\nrequired:\n - content" > ${i%.*}Encoded.yaml; done` --- .../components/schemas/WebsocketContentRefreshEncoded.yaml | 2 +- openapi/components/schemas/WebsocketFriendActiveEncoded.yaml | 2 +- openapi/components/schemas/WebsocketFriendAddEncoded.yaml | 2 +- openapi/components/schemas/WebsocketFriendDeleteEncoded.yaml | 2 +- .../components/schemas/WebsocketFriendLocationEncoded.yaml | 2 +- .../components/schemas/WebsocketFriendOfflineEncoded.yaml | 2 +- openapi/components/schemas/WebsocketFriendOnlineEncoded.yaml | 2 +- openapi/components/schemas/WebsocketFriendUpdateEncoded.yaml | 2 +- openapi/components/schemas/WebsocketGroupJoinedEncoded.yaml | 2 +- openapi/components/schemas/WebsocketGroupLeftEncoded.yaml | 2 +- .../schemas/WebsocketGroupMemberUpdatedEncoded.yaml | 2 +- .../components/schemas/WebsocketGroupRoleUpdatedEncoded.yaml | 2 +- .../schemas/WebsocketInstanceQueueJoinedEncoded.yaml | 2 +- .../schemas/WebsocketInstanceQueueReadyEncoded.yaml | 2 +- openapi/components/schemas/WebsocketMessageDoubleJson.yaml | 5 +++++ openapi/components/schemas/WebsocketNotificationEncoded.yaml | 2 +- .../schemas/WebsocketNotificationV2DeleteEncoded.yaml | 2 +- .../components/schemas/WebsocketNotificationV2Encoded.yaml | 2 +- .../schemas/WebsocketNotificationV2UpdateEncoded.yaml | 2 +- .../schemas/WebsocketResponseNotificationEncoded.yaml | 2 +- .../schemas/WebsocketUserBadgeAssignedEncoded.yaml | 2 +- .../schemas/WebsocketUserBadgeUnassignedEncoded.yaml | 2 +- openapi/components/schemas/WebsocketUserLocationEncoded.yaml | 2 +- openapi/components/schemas/WebsocketUserUpdateEncoded.yaml | 2 +- 24 files changed, 28 insertions(+), 23 deletions(-) diff --git a/openapi/components/schemas/WebsocketContentRefreshEncoded.yaml b/openapi/components/schemas/WebsocketContentRefreshEncoded.yaml index a1829c29..306f27c4 100644 --- a/openapi/components/schemas/WebsocketContentRefreshEncoded.yaml +++ b/openapi/components/schemas/WebsocketContentRefreshEncoded.yaml @@ -1,5 +1,5 @@ title: WebsocketContentRefreshEncoded -type: string +type: object properties: content: type: string diff --git a/openapi/components/schemas/WebsocketFriendActiveEncoded.yaml b/openapi/components/schemas/WebsocketFriendActiveEncoded.yaml index c89f87b4..681d6269 100644 --- a/openapi/components/schemas/WebsocketFriendActiveEncoded.yaml +++ b/openapi/components/schemas/WebsocketFriendActiveEncoded.yaml @@ -1,5 +1,5 @@ title: WebsocketFriendActiveEncoded -type: string +type: object properties: content: type: string diff --git a/openapi/components/schemas/WebsocketFriendAddEncoded.yaml b/openapi/components/schemas/WebsocketFriendAddEncoded.yaml index 545c34ec..961e70bd 100644 --- a/openapi/components/schemas/WebsocketFriendAddEncoded.yaml +++ b/openapi/components/schemas/WebsocketFriendAddEncoded.yaml @@ -1,5 +1,5 @@ title: WebsocketFriendAddEncoded -type: string +type: object properties: content: type: string diff --git a/openapi/components/schemas/WebsocketFriendDeleteEncoded.yaml b/openapi/components/schemas/WebsocketFriendDeleteEncoded.yaml index 14e5d35b..f0389c23 100644 --- a/openapi/components/schemas/WebsocketFriendDeleteEncoded.yaml +++ b/openapi/components/schemas/WebsocketFriendDeleteEncoded.yaml @@ -1,5 +1,5 @@ title: WebsocketFriendDeleteEncoded -type: string +type: object properties: content: type: string diff --git a/openapi/components/schemas/WebsocketFriendLocationEncoded.yaml b/openapi/components/schemas/WebsocketFriendLocationEncoded.yaml index 011d242f..bd073b41 100644 --- a/openapi/components/schemas/WebsocketFriendLocationEncoded.yaml +++ b/openapi/components/schemas/WebsocketFriendLocationEncoded.yaml @@ -1,5 +1,5 @@ title: WebsocketFriendLocationEncoded -type: string +type: object properties: content: type: string diff --git a/openapi/components/schemas/WebsocketFriendOfflineEncoded.yaml b/openapi/components/schemas/WebsocketFriendOfflineEncoded.yaml index 173b9285..46ee7bac 100644 --- a/openapi/components/schemas/WebsocketFriendOfflineEncoded.yaml +++ b/openapi/components/schemas/WebsocketFriendOfflineEncoded.yaml @@ -1,5 +1,5 @@ title: WebsocketFriendOfflineEncoded -type: string +type: object properties: content: type: string diff --git a/openapi/components/schemas/WebsocketFriendOnlineEncoded.yaml b/openapi/components/schemas/WebsocketFriendOnlineEncoded.yaml index 469bf064..185506b9 100644 --- a/openapi/components/schemas/WebsocketFriendOnlineEncoded.yaml +++ b/openapi/components/schemas/WebsocketFriendOnlineEncoded.yaml @@ -1,5 +1,5 @@ title: WebsocketFriendOnlineEncoded -type: string +type: object properties: content: type: string diff --git a/openapi/components/schemas/WebsocketFriendUpdateEncoded.yaml b/openapi/components/schemas/WebsocketFriendUpdateEncoded.yaml index 0df456c6..a700984e 100644 --- a/openapi/components/schemas/WebsocketFriendUpdateEncoded.yaml +++ b/openapi/components/schemas/WebsocketFriendUpdateEncoded.yaml @@ -1,5 +1,5 @@ title: WebsocketFriendUpdateEncoded -type: string +type: object properties: content: type: string diff --git a/openapi/components/schemas/WebsocketGroupJoinedEncoded.yaml b/openapi/components/schemas/WebsocketGroupJoinedEncoded.yaml index 2d4d4be5..1604bf57 100644 --- a/openapi/components/schemas/WebsocketGroupJoinedEncoded.yaml +++ b/openapi/components/schemas/WebsocketGroupJoinedEncoded.yaml @@ -1,5 +1,5 @@ title: WebsocketGroupJoinedEncoded -type: string +type: object properties: content: type: string diff --git a/openapi/components/schemas/WebsocketGroupLeftEncoded.yaml b/openapi/components/schemas/WebsocketGroupLeftEncoded.yaml index 85cf58f3..0e7f2471 100644 --- a/openapi/components/schemas/WebsocketGroupLeftEncoded.yaml +++ b/openapi/components/schemas/WebsocketGroupLeftEncoded.yaml @@ -1,5 +1,5 @@ title: WebsocketGroupLeftEncoded -type: string +type: object properties: content: type: string diff --git a/openapi/components/schemas/WebsocketGroupMemberUpdatedEncoded.yaml b/openapi/components/schemas/WebsocketGroupMemberUpdatedEncoded.yaml index 966312d9..0b0a31c9 100644 --- a/openapi/components/schemas/WebsocketGroupMemberUpdatedEncoded.yaml +++ b/openapi/components/schemas/WebsocketGroupMemberUpdatedEncoded.yaml @@ -1,5 +1,5 @@ title: WebsocketGroupMemberUpdatedEncoded -type: string +type: object properties: content: type: string diff --git a/openapi/components/schemas/WebsocketGroupRoleUpdatedEncoded.yaml b/openapi/components/schemas/WebsocketGroupRoleUpdatedEncoded.yaml index 5b7328c7..62103f7d 100644 --- a/openapi/components/schemas/WebsocketGroupRoleUpdatedEncoded.yaml +++ b/openapi/components/schemas/WebsocketGroupRoleUpdatedEncoded.yaml @@ -1,5 +1,5 @@ title: WebsocketGroupRoleUpdatedEncoded -type: string +type: object properties: content: type: string diff --git a/openapi/components/schemas/WebsocketInstanceQueueJoinedEncoded.yaml b/openapi/components/schemas/WebsocketInstanceQueueJoinedEncoded.yaml index e7ef25cf..eabb4155 100644 --- a/openapi/components/schemas/WebsocketInstanceQueueJoinedEncoded.yaml +++ b/openapi/components/schemas/WebsocketInstanceQueueJoinedEncoded.yaml @@ -1,5 +1,5 @@ title: WebsocketInstanceQueueJoinedEncoded -type: string +type: object properties: content: type: string diff --git a/openapi/components/schemas/WebsocketInstanceQueueReadyEncoded.yaml b/openapi/components/schemas/WebsocketInstanceQueueReadyEncoded.yaml index e0780de7..137eb22b 100644 --- a/openapi/components/schemas/WebsocketInstanceQueueReadyEncoded.yaml +++ b/openapi/components/schemas/WebsocketInstanceQueueReadyEncoded.yaml @@ -1,5 +1,5 @@ title: WebsocketInstanceQueueReadyEncoded -type: string +type: object properties: content: type: string diff --git a/openapi/components/schemas/WebsocketMessageDoubleJson.yaml b/openapi/components/schemas/WebsocketMessageDoubleJson.yaml index c58dd3a0..4065abe9 100644 --- a/openapi/components/schemas/WebsocketMessageDoubleJson.yaml +++ b/openapi/components/schemas/WebsocketMessageDoubleJson.yaml @@ -54,3 +54,8 @@ x-if: user-update: ./WebsocketUserUpdateEncoded.yaml else: type: object + properties: + type: + type: string + content: + type: string diff --git a/openapi/components/schemas/WebsocketNotificationEncoded.yaml b/openapi/components/schemas/WebsocketNotificationEncoded.yaml index f3d5f77a..1b53a44c 100644 --- a/openapi/components/schemas/WebsocketNotificationEncoded.yaml +++ b/openapi/components/schemas/WebsocketNotificationEncoded.yaml @@ -1,5 +1,5 @@ title: WebsocketNotificationEncoded -type: string +type: object properties: content: type: string diff --git a/openapi/components/schemas/WebsocketNotificationV2DeleteEncoded.yaml b/openapi/components/schemas/WebsocketNotificationV2DeleteEncoded.yaml index 5e3e0f73..d43ad845 100644 --- a/openapi/components/schemas/WebsocketNotificationV2DeleteEncoded.yaml +++ b/openapi/components/schemas/WebsocketNotificationV2DeleteEncoded.yaml @@ -1,5 +1,5 @@ title: WebsocketNotificationV2DeleteEncoded -type: string +type: object properties: content: type: string diff --git a/openapi/components/schemas/WebsocketNotificationV2Encoded.yaml b/openapi/components/schemas/WebsocketNotificationV2Encoded.yaml index 1e907604..3bf72f79 100644 --- a/openapi/components/schemas/WebsocketNotificationV2Encoded.yaml +++ b/openapi/components/schemas/WebsocketNotificationV2Encoded.yaml @@ -1,5 +1,5 @@ title: NotificationV2Encoded -type: string +type: object properties: content: type: string diff --git a/openapi/components/schemas/WebsocketNotificationV2UpdateEncoded.yaml b/openapi/components/schemas/WebsocketNotificationV2UpdateEncoded.yaml index f70e1ea3..ee89d3b3 100644 --- a/openapi/components/schemas/WebsocketNotificationV2UpdateEncoded.yaml +++ b/openapi/components/schemas/WebsocketNotificationV2UpdateEncoded.yaml @@ -1,5 +1,5 @@ title: WebsocketNotificationV2UpdateEncoded -type: string +type: object properties: content: type: string diff --git a/openapi/components/schemas/WebsocketResponseNotificationEncoded.yaml b/openapi/components/schemas/WebsocketResponseNotificationEncoded.yaml index e201400f..8caf44d6 100644 --- a/openapi/components/schemas/WebsocketResponseNotificationEncoded.yaml +++ b/openapi/components/schemas/WebsocketResponseNotificationEncoded.yaml @@ -1,5 +1,5 @@ title: WebsocketResponseNotificationEncoded -type: string +type: object properties: content: type: string diff --git a/openapi/components/schemas/WebsocketUserBadgeAssignedEncoded.yaml b/openapi/components/schemas/WebsocketUserBadgeAssignedEncoded.yaml index 72c4cf43..d54bab49 100644 --- a/openapi/components/schemas/WebsocketUserBadgeAssignedEncoded.yaml +++ b/openapi/components/schemas/WebsocketUserBadgeAssignedEncoded.yaml @@ -1,5 +1,5 @@ title: WebsocketUserBadgeAssignedEncoded -type: string +type: object properties: content: type: string diff --git a/openapi/components/schemas/WebsocketUserBadgeUnassignedEncoded.yaml b/openapi/components/schemas/WebsocketUserBadgeUnassignedEncoded.yaml index 134140ea..0777a882 100644 --- a/openapi/components/schemas/WebsocketUserBadgeUnassignedEncoded.yaml +++ b/openapi/components/schemas/WebsocketUserBadgeUnassignedEncoded.yaml @@ -1,5 +1,5 @@ title: WebsocketUserBadgeUnassignedEncoded -type: string +type: object properties: content: type: string diff --git a/openapi/components/schemas/WebsocketUserLocationEncoded.yaml b/openapi/components/schemas/WebsocketUserLocationEncoded.yaml index 2aa59ad5..e3147ed8 100644 --- a/openapi/components/schemas/WebsocketUserLocationEncoded.yaml +++ b/openapi/components/schemas/WebsocketUserLocationEncoded.yaml @@ -1,5 +1,5 @@ title: WebsocketUserLocationEncoded -type: string +type: object properties: content: type: string diff --git a/openapi/components/schemas/WebsocketUserUpdateEncoded.yaml b/openapi/components/schemas/WebsocketUserUpdateEncoded.yaml index 8d4f6f65..cd29a5cd 100644 --- a/openapi/components/schemas/WebsocketUserUpdateEncoded.yaml +++ b/openapi/components/schemas/WebsocketUserUpdateEncoded.yaml @@ -1,5 +1,5 @@ title: WebsocketUserUpdateEncoded -type: string +type: object properties: content: type: string From a40d8b44ad4c2850e38530a8e4149d4ce22412f1 Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Thu, 17 Sep 2026 02:21:29 +0200 Subject: [PATCH 28/44] Address WebsocketNotification Error: generated using: `for i in NotificationDetailBoop NotificationDetailInvite NotificationDetailInviteResponse NotificationDetailRequestInvite NotificationDetailRequestInviteResponse NotificationDetailVoteToKick; do echo -e "title: Websocket$i\ntype: object\nproperties:\n details:\n \$ref: ./$i.yaml\nrequired:\n - details" > Websocket$i.yaml; done` --- .../schemas/WebsocketNotification.yaml | 37 ++++++++++--------- .../WebsocketNotificationDetailBoop.yaml | 7 ++++ .../WebsocketNotificationDetailInvite.yaml | 7 ++++ ...ocketNotificationDetailInviteResponse.yaml | 7 ++++ ...socketNotificationDetailRequestInvite.yaml | 7 ++++ ...tificationDetailRequestInviteResponse.yaml | 7 ++++ ...WebsocketNotificationDetailVoteToKick.yaml | 7 ++++ openapi/components/schemas/_index.yaml | 12 ++++++ 8 files changed, 73 insertions(+), 18 deletions(-) create mode 100644 openapi/components/schemas/WebsocketNotificationDetailBoop.yaml create mode 100644 openapi/components/schemas/WebsocketNotificationDetailInvite.yaml create mode 100644 openapi/components/schemas/WebsocketNotificationDetailInviteResponse.yaml create mode 100644 openapi/components/schemas/WebsocketNotificationDetailRequestInvite.yaml create mode 100644 openapi/components/schemas/WebsocketNotificationDetailRequestInviteResponse.yaml create mode 100644 openapi/components/schemas/WebsocketNotificationDetailVoteToKick.yaml diff --git a/openapi/components/schemas/WebsocketNotification.yaml b/openapi/components/schemas/WebsocketNotification.yaml index 00e80fe3..7458fd5d 100644 --- a/openapi/components/schemas/WebsocketNotification.yaml +++ b/openapi/components/schemas/WebsocketNotification.yaml @@ -1,5 +1,24 @@ title: WebsocketNotification type: object +x-if: + when: jsonschema + then: + oneOf: + - $ref: ./WebsocketNotificationDetailBoop.yaml + - $ref: ./WebsocketNotificationDetailInvite.yaml + - $ref: ./WebsocketNotificationDetailInviteResponse.yaml + - $ref: ./WebsocketNotificationDetailRequestInvite.yaml + - $ref: ./WebsocketNotificationDetailRequestInviteResponse.yaml + - $ref: ./WebsocketNotificationDetailVoteToKick.yaml + discriminator: + propertyName: type + mapping: + boop: ./NotificationDetailBoop.yaml + invite: ./NotificationDetailInvite.yaml + invite-response: ./NotificationDetailInviteResponse.yaml + request-invite: ./NotificationDetailRequestInvite.yaml + request-invite-response: ./NotificationDetailRequestInviteResponse.yaml + vote-to-kick: ./NotificationDetailVoteToKick.yaml properties: created_at: type: string @@ -7,25 +26,7 @@ properties: details: x-if: when: jsonschema - then: - oneOf: - - $ref: ./NotificationDetailBoop.yaml - - $ref: ./NotificationDetailInvite.yaml - - $ref: ./NotificationDetailInviteResponse.yaml - - $ref: ./NotificationDetailRequestInvite.yaml - - $ref: ./NotificationDetailRequestInviteResponse.yaml - - $ref: ./NotificationDetailVoteToKick.yaml - discriminator: - propertyName: type - mapping: - boop: ./NotificationDetailBoop.yaml - invite: ./NotificationDetailInvite.yaml - invite-response: ./NotificationDetailInviteResponse.yaml - request-invite: ./NotificationDetailRequestInvite.yaml - request-invite-response: ./NotificationDetailRequestInviteResponse.yaml - vote-to-kick: ./NotificationDetailVoteToKick.yaml else: - title: NotificationDetails type: object id: type: string diff --git a/openapi/components/schemas/WebsocketNotificationDetailBoop.yaml b/openapi/components/schemas/WebsocketNotificationDetailBoop.yaml new file mode 100644 index 00000000..1562ba77 --- /dev/null +++ b/openapi/components/schemas/WebsocketNotificationDetailBoop.yaml @@ -0,0 +1,7 @@ +title: WebsocketNotificationDetailBoop +type: object +properties: + details: + $ref: ./NotificationDetailBoop.yaml +required: + - details diff --git a/openapi/components/schemas/WebsocketNotificationDetailInvite.yaml b/openapi/components/schemas/WebsocketNotificationDetailInvite.yaml new file mode 100644 index 00000000..ccfada6d --- /dev/null +++ b/openapi/components/schemas/WebsocketNotificationDetailInvite.yaml @@ -0,0 +1,7 @@ +title: WebsocketNotificationDetailInvite +type: object +properties: + details: + $ref: ./NotificationDetailInvite.yaml +required: + - details diff --git a/openapi/components/schemas/WebsocketNotificationDetailInviteResponse.yaml b/openapi/components/schemas/WebsocketNotificationDetailInviteResponse.yaml new file mode 100644 index 00000000..6e94a414 --- /dev/null +++ b/openapi/components/schemas/WebsocketNotificationDetailInviteResponse.yaml @@ -0,0 +1,7 @@ +title: WebsocketNotificationDetailInviteResponse +type: object +properties: + details: + $ref: ./NotificationDetailInviteResponse.yaml +required: + - details diff --git a/openapi/components/schemas/WebsocketNotificationDetailRequestInvite.yaml b/openapi/components/schemas/WebsocketNotificationDetailRequestInvite.yaml new file mode 100644 index 00000000..a1761056 --- /dev/null +++ b/openapi/components/schemas/WebsocketNotificationDetailRequestInvite.yaml @@ -0,0 +1,7 @@ +title: WebsocketNotificationDetailRequestInvite +type: object +properties: + details: + $ref: ./NotificationDetailRequestInvite.yaml +required: + - details diff --git a/openapi/components/schemas/WebsocketNotificationDetailRequestInviteResponse.yaml b/openapi/components/schemas/WebsocketNotificationDetailRequestInviteResponse.yaml new file mode 100644 index 00000000..3ef850b9 --- /dev/null +++ b/openapi/components/schemas/WebsocketNotificationDetailRequestInviteResponse.yaml @@ -0,0 +1,7 @@ +title: WebsocketNotificationDetailRequestInviteResponse +type: object +properties: + details: + $ref: ./NotificationDetailRequestInviteResponse.yaml +required: + - details diff --git a/openapi/components/schemas/WebsocketNotificationDetailVoteToKick.yaml b/openapi/components/schemas/WebsocketNotificationDetailVoteToKick.yaml new file mode 100644 index 00000000..c02c3b3f --- /dev/null +++ b/openapi/components/schemas/WebsocketNotificationDetailVoteToKick.yaml @@ -0,0 +1,7 @@ +title: WebsocketNotificationDetailVoteToKick +type: object +properties: + details: + $ref: ./NotificationDetailVoteToKick.yaml +required: + - details diff --git a/openapi/components/schemas/_index.yaml b/openapi/components/schemas/_index.yaml index 0ad63b06..28d8eda8 100644 --- a/openapi/components/schemas/_index.yaml +++ b/openapi/components/schemas/_index.yaml @@ -82,6 +82,18 @@ WebsocketMessageNormal: $ref: ./WebsocketMessageNormal.yaml WebsocketNotification: $ref: ./WebsocketNotification.yaml +WebsocketNotificationDetailBoop: + $ref: ./WebsocketNotificationDetailBoop.yaml +WebsocketNotificationDetailInvite: + $ref: ./WebsocketNotificationDetailInvite.yaml +WebsocketNotificationDetailInviteResponse: + $ref: ./WebsocketNotificationDetailInviteResponse.yaml +WebsocketNotificationDetailRequestInvite: + $ref: ./WebsocketNotificationDetailRequestInvite.yaml +WebsocketNotificationDetailRequestInviteResponse: + $ref: ./WebsocketNotificationDetailRequestInviteResponse.yaml +WebsocketNotificationDetailVoteToKick: + $ref: ./WebsocketNotificationDetailVoteToKick.yaml WebsocketNotificationEncoded: $ref: ./WebsocketNotificationEncoded.yaml WebsocketNotificationV2Delete: From 28bef2d1d062480ef7702de849e5191c0c455196 Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Tue, 22 Sep 2026 14:29:16 +0200 Subject: [PATCH 29/44] Websocket Notification Types Done? --- .../schemas/WebsocketClearNotification.yaml | 2 +- .../schemas/WebsocketNotification.yaml | 63 ++----------------- .../schemas/WebsocketNotificationBase.yaml | 39 ++++++++++++ .../schemas/WebsocketNotificationDetail.yaml | 21 +++++++ openapi/components/schemas/_index.yaml | 4 ++ 5 files changed, 70 insertions(+), 59 deletions(-) create mode 100644 openapi/components/schemas/WebsocketNotificationBase.yaml create mode 100644 openapi/components/schemas/WebsocketNotificationDetail.yaml diff --git a/openapi/components/schemas/WebsocketClearNotification.yaml b/openapi/components/schemas/WebsocketClearNotification.yaml index a723ee56..637b44b6 100644 --- a/openapi/components/schemas/WebsocketClearNotification.yaml +++ b/openapi/components/schemas/WebsocketClearNotification.yaml @@ -1,4 +1,4 @@ title: WebsocketClearNotification type: object -# Todo: is this correct, or is some special handling nessesary in WebsocketMessageNormal? +# Todo: is this correct, or is some special handling necessary in WebsocketMessageNormal? additionalProperties: false diff --git a/openapi/components/schemas/WebsocketNotification.yaml b/openapi/components/schemas/WebsocketNotification.yaml index 7458fd5d..73d02878 100644 --- a/openapi/components/schemas/WebsocketNotification.yaml +++ b/openapi/components/schemas/WebsocketNotification.yaml @@ -1,59 +1,6 @@ title: WebsocketNotification -type: object -x-if: - when: jsonschema - then: - oneOf: - - $ref: ./WebsocketNotificationDetailBoop.yaml - - $ref: ./WebsocketNotificationDetailInvite.yaml - - $ref: ./WebsocketNotificationDetailInviteResponse.yaml - - $ref: ./WebsocketNotificationDetailRequestInvite.yaml - - $ref: ./WebsocketNotificationDetailRequestInviteResponse.yaml - - $ref: ./WebsocketNotificationDetailVoteToKick.yaml - discriminator: - propertyName: type - mapping: - boop: ./NotificationDetailBoop.yaml - invite: ./NotificationDetailInvite.yaml - invite-response: ./NotificationDetailInviteResponse.yaml - request-invite: ./NotificationDetailRequestInvite.yaml - request-invite-response: ./NotificationDetailRequestInviteResponse.yaml - vote-to-kick: ./NotificationDetailVoteToKick.yaml -properties: - created_at: - type: string - format: date-time - details: - x-if: - when: jsonschema - else: - type: object - id: - type: string - minLength: 1 - message: - type: string - example: This is a generated invite to VRChat Hub - receiverUserId: - $ref: ./UserID.yaml - description: Not included in notification objects received from the REST API - seen: - type: boolean - description: Not included in notification objects received from the Websocket API - default: false - senderUserId: - $ref: ./UserID.yaml - senderUsername: - type: string - description: The name of the user who sent the notification. - nullable: true - minLength: 1 - type: - $ref: ./NotificationType.yaml -required: - - created_at - - details - - id - - message - - senderUserId - - type +allOf: + - title: base + $ref: ./WebsocketNotificationBase.yaml + - title: detail + $ref: ./WebsocketNotificationDetail.yaml diff --git a/openapi/components/schemas/WebsocketNotificationBase.yaml b/openapi/components/schemas/WebsocketNotificationBase.yaml new file mode 100644 index 00000000..a6d547f0 --- /dev/null +++ b/openapi/components/schemas/WebsocketNotificationBase.yaml @@ -0,0 +1,39 @@ +title: WebsocketNotificationBase +type: object +properties: + created_at: + type: string + format: date-time + details: + x-if: + when: jsonschema + else: + type: object + id: + type: string + minLength: 1 + message: + type: string + example: This is a generated invite to VRChat Hub + receiverUserId: + $ref: ./UserID.yaml + description: Not included in notification objects received from the REST API + seen: + type: boolean + description: Not included in notification objects received from the Websocket API + default: false + senderUserId: + $ref: ./UserID.yaml + senderUsername: + type: ["null", string] + description: The name of the user who sent the notification. + minLength: 1 + type: + $ref: ./NotificationType.yaml +required: + - created_at + - details + - id + - message + - senderUserId + - type diff --git a/openapi/components/schemas/WebsocketNotificationDetail.yaml b/openapi/components/schemas/WebsocketNotificationDetail.yaml new file mode 100644 index 00000000..9ac43f3f --- /dev/null +++ b/openapi/components/schemas/WebsocketNotificationDetail.yaml @@ -0,0 +1,21 @@ +title: WebsocketNotificationDetail +type: object +x-if: + when: jsonschema + then: + oneOf: + - $ref: ./WebsocketNotificationDetailBoop.yaml + - $ref: ./WebsocketNotificationDetailInvite.yaml + - $ref: ./WebsocketNotificationDetailInviteResponse.yaml + - $ref: ./WebsocketNotificationDetailRequestInvite.yaml + - $ref: ./WebsocketNotificationDetailRequestInviteResponse.yaml + - $ref: ./WebsocketNotificationDetailVoteToKick.yaml + discriminator: + propertyName: type + mapping: + boop: ./NotificationDetailBoop.yaml + invite: ./NotificationDetailInvite.yaml + invite-response: ./NotificationDetailInviteResponse.yaml + request-invite: ./NotificationDetailRequestInvite.yaml + request-invite-response: ./NotificationDetailRequestInviteResponse.yaml + vote-to-kick: ./NotificationDetailVoteToKick.yaml diff --git a/openapi/components/schemas/_index.yaml b/openapi/components/schemas/_index.yaml index 28d8eda8..51bff9c5 100644 --- a/openapi/components/schemas/_index.yaml +++ b/openapi/components/schemas/_index.yaml @@ -82,6 +82,10 @@ WebsocketMessageNormal: $ref: ./WebsocketMessageNormal.yaml WebsocketNotification: $ref: ./WebsocketNotification.yaml +WebsocketNotificationBase: + $ref: ./WebsocketNotificationBase.yaml +WebsocketNotificationDetail: + $ref: ./WebsocketNotificationDetail.yaml WebsocketNotificationDetailBoop: $ref: ./WebsocketNotificationDetailBoop.yaml WebsocketNotificationDetailInvite: From d47fc137dcf51c9c4334e1a7513983c867e49044 Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Tue, 22 Sep 2026 17:08:22 +0200 Subject: [PATCH 30/44] More testing --- .../schemas/WebsocketNotificationBase.yaml | 5 +---- .../schemas/WebsocketNotificationDetail.yaml | 18 +++++++++--------- 2 files changed, 10 insertions(+), 13 deletions(-) diff --git a/openapi/components/schemas/WebsocketNotificationBase.yaml b/openapi/components/schemas/WebsocketNotificationBase.yaml index a6d547f0..a7e97624 100644 --- a/openapi/components/schemas/WebsocketNotificationBase.yaml +++ b/openapi/components/schemas/WebsocketNotificationBase.yaml @@ -5,10 +5,7 @@ properties: type: string format: date-time details: - x-if: - when: jsonschema - else: - type: object + type: object id: type: string minLength: 1 diff --git a/openapi/components/schemas/WebsocketNotificationDetail.yaml b/openapi/components/schemas/WebsocketNotificationDetail.yaml index 9ac43f3f..d2986bc7 100644 --- a/openapi/components/schemas/WebsocketNotificationDetail.yaml +++ b/openapi/components/schemas/WebsocketNotificationDetail.yaml @@ -3,6 +3,15 @@ type: object x-if: when: jsonschema then: + discriminator: + propertyName: type + mapping: + boop: ./WebsocketNotificationDetailBoop.yaml + invite: ./WebsocketNotificationDetailInvite.yaml + invite-response: ./WebsocketNotificationDetailInviteResponse.yaml + request-invite: ./WebsocketNotificationDetailRequestInvite.yaml + request-invite-response: ./WebsocketNotificationDetailRequestInviteResponse.yaml + vote-to-kick: ./WebsocketNotificationDetailVoteToKick.yaml oneOf: - $ref: ./WebsocketNotificationDetailBoop.yaml - $ref: ./WebsocketNotificationDetailInvite.yaml @@ -10,12 +19,3 @@ x-if: - $ref: ./WebsocketNotificationDetailRequestInvite.yaml - $ref: ./WebsocketNotificationDetailRequestInviteResponse.yaml - $ref: ./WebsocketNotificationDetailVoteToKick.yaml - discriminator: - propertyName: type - mapping: - boop: ./NotificationDetailBoop.yaml - invite: ./NotificationDetailInvite.yaml - invite-response: ./NotificationDetailInviteResponse.yaml - request-invite: ./NotificationDetailRequestInvite.yaml - request-invite-response: ./NotificationDetailRequestInviteResponse.yaml - vote-to-kick: ./NotificationDetailVoteToKick.yaml From 0f059102db9d3024b5636bbc879ded4fc398b9b9 Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Wed, 23 Sep 2026 18:37:05 +0200 Subject: [PATCH 31/44] Preliminary support for Double-Encoded Websocket messages --- openapi/components/schemas/WebsocketContentRefreshEncoded.yaml | 2 ++ openapi/components/schemas/WebsocketFriendActiveEncoded.yaml | 2 ++ openapi/components/schemas/WebsocketFriendAddEncoded.yaml | 2 ++ openapi/components/schemas/WebsocketFriendDeleteEncoded.yaml | 2 ++ openapi/components/schemas/WebsocketFriendLocationEncoded.yaml | 2 ++ openapi/components/schemas/WebsocketFriendOfflineEncoded.yaml | 2 ++ openapi/components/schemas/WebsocketFriendOnlineEncoded.yaml | 2 ++ openapi/components/schemas/WebsocketFriendUpdateEncoded.yaml | 2 ++ openapi/components/schemas/WebsocketGroupJoinedEncoded.yaml | 2 ++ openapi/components/schemas/WebsocketGroupLeftEncoded.yaml | 2 ++ .../components/schemas/WebsocketGroupMemberUpdatedEncoded.yaml | 2 ++ .../components/schemas/WebsocketGroupRoleUpdatedEncoded.yaml | 2 ++ .../components/schemas/WebsocketInstanceQueueJoinedEncoded.yaml | 2 ++ .../components/schemas/WebsocketInstanceQueueReadyEncoded.yaml | 2 ++ openapi/components/schemas/WebsocketNotificationEncoded.yaml | 2 ++ .../schemas/WebsocketNotificationV2DeleteEncoded.yaml | 2 ++ openapi/components/schemas/WebsocketNotificationV2Encoded.yaml | 2 ++ .../schemas/WebsocketNotificationV2UpdateEncoded.yaml | 2 ++ .../schemas/WebsocketResponseNotificationEncoded.yaml | 2 ++ .../components/schemas/WebsocketUserBadgeAssignedEncoded.yaml | 2 ++ .../components/schemas/WebsocketUserBadgeUnassignedEncoded.yaml | 2 ++ openapi/components/schemas/WebsocketUserLocationEncoded.yaml | 2 ++ openapi/components/schemas/WebsocketUserUpdateEncoded.yaml | 2 ++ 23 files changed, 46 insertions(+) diff --git a/openapi/components/schemas/WebsocketContentRefreshEncoded.yaml b/openapi/components/schemas/WebsocketContentRefreshEncoded.yaml index 306f27c4..8f523c05 100644 --- a/openapi/components/schemas/WebsocketContentRefreshEncoded.yaml +++ b/openapi/components/schemas/WebsocketContentRefreshEncoded.yaml @@ -1,8 +1,10 @@ title: WebsocketContentRefreshEncoded +x-vrcapispecification-has-double-json-encoding: true type: object properties: content: type: string + x-vrcapispecification-inner-json: WebsocketContentRefresh contentMediaType: application/json contentSchema: $ref: ./WebsocketContentRefresh.yaml diff --git a/openapi/components/schemas/WebsocketFriendActiveEncoded.yaml b/openapi/components/schemas/WebsocketFriendActiveEncoded.yaml index 681d6269..8d9e7643 100644 --- a/openapi/components/schemas/WebsocketFriendActiveEncoded.yaml +++ b/openapi/components/schemas/WebsocketFriendActiveEncoded.yaml @@ -1,8 +1,10 @@ title: WebsocketFriendActiveEncoded +x-vrcapispecification-has-double-json-encoding: true type: object properties: content: type: string + x-vrcapispecification-inner-json: WebsocketFriendActive contentMediaType: application/json contentSchema: $ref: ./WebsocketFriendActive.yaml diff --git a/openapi/components/schemas/WebsocketFriendAddEncoded.yaml b/openapi/components/schemas/WebsocketFriendAddEncoded.yaml index 961e70bd..807af0c2 100644 --- a/openapi/components/schemas/WebsocketFriendAddEncoded.yaml +++ b/openapi/components/schemas/WebsocketFriendAddEncoded.yaml @@ -1,8 +1,10 @@ title: WebsocketFriendAddEncoded +x-vrcapispecification-has-double-json-encoding: true type: object properties: content: type: string + x-vrcapispecification-inner-json: WebsocketFriendAdd contentMediaType: application/json contentSchema: $ref: ./WebsocketFriendAdd.yaml diff --git a/openapi/components/schemas/WebsocketFriendDeleteEncoded.yaml b/openapi/components/schemas/WebsocketFriendDeleteEncoded.yaml index f0389c23..2e3e1798 100644 --- a/openapi/components/schemas/WebsocketFriendDeleteEncoded.yaml +++ b/openapi/components/schemas/WebsocketFriendDeleteEncoded.yaml @@ -1,8 +1,10 @@ title: WebsocketFriendDeleteEncoded +x-vrcapispecification-has-double-json-encoding: true type: object properties: content: type: string + x-vrcapispecification-inner-json: WebsocketFriendDelete contentMediaType: application/json contentSchema: $ref: ./WebsocketFriendDelete.yaml diff --git a/openapi/components/schemas/WebsocketFriendLocationEncoded.yaml b/openapi/components/schemas/WebsocketFriendLocationEncoded.yaml index bd073b41..5b284cb1 100644 --- a/openapi/components/schemas/WebsocketFriendLocationEncoded.yaml +++ b/openapi/components/schemas/WebsocketFriendLocationEncoded.yaml @@ -1,8 +1,10 @@ title: WebsocketFriendLocationEncoded +x-vrcapispecification-has-double-json-encoding: true type: object properties: content: type: string + x-vrcapispecification-inner-json: WebsocketFriendLocation contentMediaType: application/json contentSchema: $ref: ./WebsocketFriendLocation.yaml diff --git a/openapi/components/schemas/WebsocketFriendOfflineEncoded.yaml b/openapi/components/schemas/WebsocketFriendOfflineEncoded.yaml index 46ee7bac..035565eb 100644 --- a/openapi/components/schemas/WebsocketFriendOfflineEncoded.yaml +++ b/openapi/components/schemas/WebsocketFriendOfflineEncoded.yaml @@ -1,8 +1,10 @@ title: WebsocketFriendOfflineEncoded +x-vrcapispecification-has-double-json-encoding: true type: object properties: content: type: string + x-vrcapispecification-inner-json: WebsocketFriendOffline contentMediaType: application/json contentSchema: $ref: ./WebsocketFriendOffline.yaml diff --git a/openapi/components/schemas/WebsocketFriendOnlineEncoded.yaml b/openapi/components/schemas/WebsocketFriendOnlineEncoded.yaml index 185506b9..6820bc55 100644 --- a/openapi/components/schemas/WebsocketFriendOnlineEncoded.yaml +++ b/openapi/components/schemas/WebsocketFriendOnlineEncoded.yaml @@ -1,8 +1,10 @@ title: WebsocketFriendOnlineEncoded +x-vrcapispecification-has-double-json-encoding: true type: object properties: content: type: string + x-vrcapispecification-inner-json: WebsocketFriendOnline contentMediaType: application/json contentSchema: $ref: ./WebsocketFriendOnline.yaml diff --git a/openapi/components/schemas/WebsocketFriendUpdateEncoded.yaml b/openapi/components/schemas/WebsocketFriendUpdateEncoded.yaml index a700984e..d23eb1de 100644 --- a/openapi/components/schemas/WebsocketFriendUpdateEncoded.yaml +++ b/openapi/components/schemas/WebsocketFriendUpdateEncoded.yaml @@ -1,8 +1,10 @@ title: WebsocketFriendUpdateEncoded +x-vrcapispecification-has-double-json-encoding: true type: object properties: content: type: string + x-vrcapispecification-inner-json: WebsocketFriendUpdate contentMediaType: application/json contentSchema: $ref: ./WebsocketFriendUpdate.yaml diff --git a/openapi/components/schemas/WebsocketGroupJoinedEncoded.yaml b/openapi/components/schemas/WebsocketGroupJoinedEncoded.yaml index 1604bf57..d3b2f48f 100644 --- a/openapi/components/schemas/WebsocketGroupJoinedEncoded.yaml +++ b/openapi/components/schemas/WebsocketGroupJoinedEncoded.yaml @@ -1,8 +1,10 @@ title: WebsocketGroupJoinedEncoded +x-vrcapispecification-has-double-json-encoding: true type: object properties: content: type: string + x-vrcapispecification-inner-json: WebsocketGroupJoined contentMediaType: application/json contentSchema: $ref: ./WebsocketGroupJoined.yaml diff --git a/openapi/components/schemas/WebsocketGroupLeftEncoded.yaml b/openapi/components/schemas/WebsocketGroupLeftEncoded.yaml index 0e7f2471..ee1ea1ab 100644 --- a/openapi/components/schemas/WebsocketGroupLeftEncoded.yaml +++ b/openapi/components/schemas/WebsocketGroupLeftEncoded.yaml @@ -1,8 +1,10 @@ title: WebsocketGroupLeftEncoded +x-vrcapispecification-has-double-json-encoding: true type: object properties: content: type: string + x-vrcapispecification-inner-json: WebsocketGroupLeft contentMediaType: application/json contentSchema: $ref: ./WebsocketGroupLeft.yaml diff --git a/openapi/components/schemas/WebsocketGroupMemberUpdatedEncoded.yaml b/openapi/components/schemas/WebsocketGroupMemberUpdatedEncoded.yaml index 0b0a31c9..2101c204 100644 --- a/openapi/components/schemas/WebsocketGroupMemberUpdatedEncoded.yaml +++ b/openapi/components/schemas/WebsocketGroupMemberUpdatedEncoded.yaml @@ -1,8 +1,10 @@ title: WebsocketGroupMemberUpdatedEncoded +x-vrcapispecification-has-double-json-encoding: true type: object properties: content: type: string + x-vrcapispecification-inner-json: WebsocketGroupMemberUpdated contentMediaType: application/json contentSchema: $ref: ./WebsocketGroupMemberUpdated.yaml diff --git a/openapi/components/schemas/WebsocketGroupRoleUpdatedEncoded.yaml b/openapi/components/schemas/WebsocketGroupRoleUpdatedEncoded.yaml index 62103f7d..76a03e35 100644 --- a/openapi/components/schemas/WebsocketGroupRoleUpdatedEncoded.yaml +++ b/openapi/components/schemas/WebsocketGroupRoleUpdatedEncoded.yaml @@ -1,8 +1,10 @@ title: WebsocketGroupRoleUpdatedEncoded +x-vrcapispecification-has-double-json-encoding: true type: object properties: content: type: string + x-vrcapispecification-inner-json: WebsocketGroupRoleUpdated contentMediaType: application/json contentSchema: $ref: ./WebsocketGroupRoleUpdated.yaml diff --git a/openapi/components/schemas/WebsocketInstanceQueueJoinedEncoded.yaml b/openapi/components/schemas/WebsocketInstanceQueueJoinedEncoded.yaml index eabb4155..af0fd858 100644 --- a/openapi/components/schemas/WebsocketInstanceQueueJoinedEncoded.yaml +++ b/openapi/components/schemas/WebsocketInstanceQueueJoinedEncoded.yaml @@ -1,8 +1,10 @@ title: WebsocketInstanceQueueJoinedEncoded +x-vrcapispecification-has-double-json-encoding: true type: object properties: content: type: string + x-vrcapispecification-inner-json: WebsocketInstanceQueueJoined contentMediaType: application/json contentSchema: $ref: ./WebsocketInstanceQueueJoined.yaml diff --git a/openapi/components/schemas/WebsocketInstanceQueueReadyEncoded.yaml b/openapi/components/schemas/WebsocketInstanceQueueReadyEncoded.yaml index 137eb22b..e0963e5e 100644 --- a/openapi/components/schemas/WebsocketInstanceQueueReadyEncoded.yaml +++ b/openapi/components/schemas/WebsocketInstanceQueueReadyEncoded.yaml @@ -1,8 +1,10 @@ title: WebsocketInstanceQueueReadyEncoded +x-vrcapispecification-has-double-json-encoding: true type: object properties: content: type: string + x-vrcapispecification-inner-json: WebsocketInstanceQueueReady contentMediaType: application/json contentSchema: $ref: ./WebsocketInstanceQueueReady.yaml diff --git a/openapi/components/schemas/WebsocketNotificationEncoded.yaml b/openapi/components/schemas/WebsocketNotificationEncoded.yaml index 1b53a44c..6a02bba8 100644 --- a/openapi/components/schemas/WebsocketNotificationEncoded.yaml +++ b/openapi/components/schemas/WebsocketNotificationEncoded.yaml @@ -1,8 +1,10 @@ title: WebsocketNotificationEncoded +x-vrcapispecification-has-double-json-encoding: true type: object properties: content: type: string + x-vrcapispecification-inner-json: WebsocketNotification contentMediaType: application/json contentSchema: $ref: ./WebsocketNotification.yaml diff --git a/openapi/components/schemas/WebsocketNotificationV2DeleteEncoded.yaml b/openapi/components/schemas/WebsocketNotificationV2DeleteEncoded.yaml index d43ad845..2dccf240 100644 --- a/openapi/components/schemas/WebsocketNotificationV2DeleteEncoded.yaml +++ b/openapi/components/schemas/WebsocketNotificationV2DeleteEncoded.yaml @@ -1,8 +1,10 @@ title: WebsocketNotificationV2DeleteEncoded +x-vrcapispecification-has-double-json-encoding: true type: object properties: content: type: string + x-vrcapispecification-inner-json: WebsocketNotificationV2Delete contentMediaType: application/json contentSchema: $ref: ./WebsocketNotificationV2Delete.yaml diff --git a/openapi/components/schemas/WebsocketNotificationV2Encoded.yaml b/openapi/components/schemas/WebsocketNotificationV2Encoded.yaml index 3bf72f79..d6b7641e 100644 --- a/openapi/components/schemas/WebsocketNotificationV2Encoded.yaml +++ b/openapi/components/schemas/WebsocketNotificationV2Encoded.yaml @@ -1,8 +1,10 @@ title: NotificationV2Encoded +x-vrcapispecification-has-double-json-encoding: true type: object properties: content: type: string + x-vrcapispecification-inner-json: NotificationV2 contentMediaType: application/json contentSchema: $ref: ./NotificationV2.yaml diff --git a/openapi/components/schemas/WebsocketNotificationV2UpdateEncoded.yaml b/openapi/components/schemas/WebsocketNotificationV2UpdateEncoded.yaml index ee89d3b3..208c149c 100644 --- a/openapi/components/schemas/WebsocketNotificationV2UpdateEncoded.yaml +++ b/openapi/components/schemas/WebsocketNotificationV2UpdateEncoded.yaml @@ -1,8 +1,10 @@ title: WebsocketNotificationV2UpdateEncoded +x-vrcapispecification-has-double-json-encoding: true type: object properties: content: type: string + x-vrcapispecification-inner-json: WebsocketNotificationV2Update contentMediaType: application/json contentSchema: $ref: ./WebsocketNotificationV2Update.yaml diff --git a/openapi/components/schemas/WebsocketResponseNotificationEncoded.yaml b/openapi/components/schemas/WebsocketResponseNotificationEncoded.yaml index 8caf44d6..4cd3e42e 100644 --- a/openapi/components/schemas/WebsocketResponseNotificationEncoded.yaml +++ b/openapi/components/schemas/WebsocketResponseNotificationEncoded.yaml @@ -1,8 +1,10 @@ title: WebsocketResponseNotificationEncoded +x-vrcapispecification-has-double-json-encoding: true type: object properties: content: type: string + x-vrcapispecification-inner-json: WebsocketResponseNotification contentMediaType: application/json contentSchema: $ref: ./WebsocketResponseNotification.yaml diff --git a/openapi/components/schemas/WebsocketUserBadgeAssignedEncoded.yaml b/openapi/components/schemas/WebsocketUserBadgeAssignedEncoded.yaml index d54bab49..fc997fa9 100644 --- a/openapi/components/schemas/WebsocketUserBadgeAssignedEncoded.yaml +++ b/openapi/components/schemas/WebsocketUserBadgeAssignedEncoded.yaml @@ -1,8 +1,10 @@ title: WebsocketUserBadgeAssignedEncoded +x-vrcapispecification-has-double-json-encoding: true type: object properties: content: type: string + x-vrcapispecification-inner-json: WebsocketUserBadgeAssigned contentMediaType: application/json contentSchema: $ref: ./WebsocketUserBadgeAssigned.yaml diff --git a/openapi/components/schemas/WebsocketUserBadgeUnassignedEncoded.yaml b/openapi/components/schemas/WebsocketUserBadgeUnassignedEncoded.yaml index 0777a882..fe660eee 100644 --- a/openapi/components/schemas/WebsocketUserBadgeUnassignedEncoded.yaml +++ b/openapi/components/schemas/WebsocketUserBadgeUnassignedEncoded.yaml @@ -1,8 +1,10 @@ title: WebsocketUserBadgeUnassignedEncoded +x-vrcapispecification-has-double-json-encoding: true type: object properties: content: type: string + x-vrcapispecification-inner-json: WebsocketUserBadgeUnassigned contentMediaType: application/json contentSchema: $ref: ./WebsocketUserBadgeUnassigned.yaml diff --git a/openapi/components/schemas/WebsocketUserLocationEncoded.yaml b/openapi/components/schemas/WebsocketUserLocationEncoded.yaml index e3147ed8..0396c204 100644 --- a/openapi/components/schemas/WebsocketUserLocationEncoded.yaml +++ b/openapi/components/schemas/WebsocketUserLocationEncoded.yaml @@ -1,8 +1,10 @@ title: WebsocketUserLocationEncoded +x-vrcapispecification-has-double-json-encoding: true type: object properties: content: type: string + x-vrcapispecification-inner-json: WebsocketUserLocation contentMediaType: application/json contentSchema: $ref: ./WebsocketUserLocation.yaml diff --git a/openapi/components/schemas/WebsocketUserUpdateEncoded.yaml b/openapi/components/schemas/WebsocketUserUpdateEncoded.yaml index cd29a5cd..e3cd6b22 100644 --- a/openapi/components/schemas/WebsocketUserUpdateEncoded.yaml +++ b/openapi/components/schemas/WebsocketUserUpdateEncoded.yaml @@ -1,8 +1,10 @@ title: WebsocketUserUpdateEncoded +x-vrcapispecification-has-double-json-encoding: true type: object properties: content: type: string + x-vrcapispecification-inner-json: WebsocketUserUpdate contentMediaType: application/json contentSchema: $ref: ./WebsocketUserUpdate.yaml From ab8f0b5d4db957f307ef508b0986b4587f70cceb Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Wed, 23 Sep 2026 20:32:51 +0200 Subject: [PATCH 32/44] Rename Vendor-specific tags --- .../components/schemas/WebsocketContentRefreshEncoded.yaml | 4 ++-- openapi/components/schemas/WebsocketFriendActiveEncoded.yaml | 4 ++-- openapi/components/schemas/WebsocketFriendAddEncoded.yaml | 4 ++-- openapi/components/schemas/WebsocketFriendDeleteEncoded.yaml | 4 ++-- .../components/schemas/WebsocketFriendLocationEncoded.yaml | 4 ++-- openapi/components/schemas/WebsocketFriendOfflineEncoded.yaml | 4 ++-- openapi/components/schemas/WebsocketFriendOnlineEncoded.yaml | 4 ++-- openapi/components/schemas/WebsocketFriendUpdateEncoded.yaml | 4 ++-- openapi/components/schemas/WebsocketGroupJoinedEncoded.yaml | 4 ++-- openapi/components/schemas/WebsocketGroupLeftEncoded.yaml | 4 ++-- .../schemas/WebsocketGroupMemberUpdatedEncoded.yaml | 4 ++-- .../components/schemas/WebsocketGroupRoleUpdatedEncoded.yaml | 4 ++-- .../schemas/WebsocketInstanceQueueJoinedEncoded.yaml | 4 ++-- .../schemas/WebsocketInstanceQueueReadyEncoded.yaml | 4 ++-- openapi/components/schemas/WebsocketNotificationEncoded.yaml | 4 ++-- .../schemas/WebsocketNotificationV2DeleteEncoded.yaml | 4 ++-- .../components/schemas/WebsocketNotificationV2Encoded.yaml | 4 ++-- .../schemas/WebsocketNotificationV2UpdateEncoded.yaml | 4 ++-- .../schemas/WebsocketResponseNotificationEncoded.yaml | 4 ++-- .../components/schemas/WebsocketUserBadgeAssignedEncoded.yaml | 4 ++-- .../schemas/WebsocketUserBadgeUnassignedEncoded.yaml | 4 ++-- openapi/components/schemas/WebsocketUserLocationEncoded.yaml | 4 ++-- openapi/components/schemas/WebsocketUserUpdateEncoded.yaml | 4 ++-- 23 files changed, 46 insertions(+), 46 deletions(-) diff --git a/openapi/components/schemas/WebsocketContentRefreshEncoded.yaml b/openapi/components/schemas/WebsocketContentRefreshEncoded.yaml index 8f523c05..b60904e7 100644 --- a/openapi/components/schemas/WebsocketContentRefreshEncoded.yaml +++ b/openapi/components/schemas/WebsocketContentRefreshEncoded.yaml @@ -1,10 +1,10 @@ title: WebsocketContentRefreshEncoded -x-vrcapispecification-has-double-json-encoding: true +x-vrchat-double-encoding: true type: object properties: content: type: string - x-vrcapispecification-inner-json: WebsocketContentRefresh + x-double-encoding-type: WebsocketContentRefresh contentMediaType: application/json contentSchema: $ref: ./WebsocketContentRefresh.yaml diff --git a/openapi/components/schemas/WebsocketFriendActiveEncoded.yaml b/openapi/components/schemas/WebsocketFriendActiveEncoded.yaml index 8d9e7643..7c6f7101 100644 --- a/openapi/components/schemas/WebsocketFriendActiveEncoded.yaml +++ b/openapi/components/schemas/WebsocketFriendActiveEncoded.yaml @@ -1,10 +1,10 @@ title: WebsocketFriendActiveEncoded -x-vrcapispecification-has-double-json-encoding: true +x-vrchat-double-encoding: true type: object properties: content: type: string - x-vrcapispecification-inner-json: WebsocketFriendActive + x-double-encoding-type: WebsocketFriendActive contentMediaType: application/json contentSchema: $ref: ./WebsocketFriendActive.yaml diff --git a/openapi/components/schemas/WebsocketFriendAddEncoded.yaml b/openapi/components/schemas/WebsocketFriendAddEncoded.yaml index 807af0c2..212512ee 100644 --- a/openapi/components/schemas/WebsocketFriendAddEncoded.yaml +++ b/openapi/components/schemas/WebsocketFriendAddEncoded.yaml @@ -1,10 +1,10 @@ title: WebsocketFriendAddEncoded -x-vrcapispecification-has-double-json-encoding: true +x-vrchat-double-encoding: true type: object properties: content: type: string - x-vrcapispecification-inner-json: WebsocketFriendAdd + x-double-encoding-type: WebsocketFriendAdd contentMediaType: application/json contentSchema: $ref: ./WebsocketFriendAdd.yaml diff --git a/openapi/components/schemas/WebsocketFriendDeleteEncoded.yaml b/openapi/components/schemas/WebsocketFriendDeleteEncoded.yaml index 2e3e1798..5655aca1 100644 --- a/openapi/components/schemas/WebsocketFriendDeleteEncoded.yaml +++ b/openapi/components/schemas/WebsocketFriendDeleteEncoded.yaml @@ -1,10 +1,10 @@ title: WebsocketFriendDeleteEncoded -x-vrcapispecification-has-double-json-encoding: true +x-vrchat-double-encoding: true type: object properties: content: type: string - x-vrcapispecification-inner-json: WebsocketFriendDelete + x-double-encoding-type: WebsocketFriendDelete contentMediaType: application/json contentSchema: $ref: ./WebsocketFriendDelete.yaml diff --git a/openapi/components/schemas/WebsocketFriendLocationEncoded.yaml b/openapi/components/schemas/WebsocketFriendLocationEncoded.yaml index 5b284cb1..62fcfb06 100644 --- a/openapi/components/schemas/WebsocketFriendLocationEncoded.yaml +++ b/openapi/components/schemas/WebsocketFriendLocationEncoded.yaml @@ -1,10 +1,10 @@ title: WebsocketFriendLocationEncoded -x-vrcapispecification-has-double-json-encoding: true +x-vrchat-double-encoding: true type: object properties: content: type: string - x-vrcapispecification-inner-json: WebsocketFriendLocation + x-double-encoding-type: WebsocketFriendLocation contentMediaType: application/json contentSchema: $ref: ./WebsocketFriendLocation.yaml diff --git a/openapi/components/schemas/WebsocketFriendOfflineEncoded.yaml b/openapi/components/schemas/WebsocketFriendOfflineEncoded.yaml index 035565eb..4e5a8bd3 100644 --- a/openapi/components/schemas/WebsocketFriendOfflineEncoded.yaml +++ b/openapi/components/schemas/WebsocketFriendOfflineEncoded.yaml @@ -1,10 +1,10 @@ title: WebsocketFriendOfflineEncoded -x-vrcapispecification-has-double-json-encoding: true +x-vrchat-double-encoding: true type: object properties: content: type: string - x-vrcapispecification-inner-json: WebsocketFriendOffline + x-double-encoding-type: WebsocketFriendOffline contentMediaType: application/json contentSchema: $ref: ./WebsocketFriendOffline.yaml diff --git a/openapi/components/schemas/WebsocketFriendOnlineEncoded.yaml b/openapi/components/schemas/WebsocketFriendOnlineEncoded.yaml index 6820bc55..277374ef 100644 --- a/openapi/components/schemas/WebsocketFriendOnlineEncoded.yaml +++ b/openapi/components/schemas/WebsocketFriendOnlineEncoded.yaml @@ -1,10 +1,10 @@ title: WebsocketFriendOnlineEncoded -x-vrcapispecification-has-double-json-encoding: true +x-vrchat-double-encoding: true type: object properties: content: type: string - x-vrcapispecification-inner-json: WebsocketFriendOnline + x-double-encoding-type: WebsocketFriendOnline contentMediaType: application/json contentSchema: $ref: ./WebsocketFriendOnline.yaml diff --git a/openapi/components/schemas/WebsocketFriendUpdateEncoded.yaml b/openapi/components/schemas/WebsocketFriendUpdateEncoded.yaml index d23eb1de..423eb2d0 100644 --- a/openapi/components/schemas/WebsocketFriendUpdateEncoded.yaml +++ b/openapi/components/schemas/WebsocketFriendUpdateEncoded.yaml @@ -1,10 +1,10 @@ title: WebsocketFriendUpdateEncoded -x-vrcapispecification-has-double-json-encoding: true +x-vrchat-double-encoding: true type: object properties: content: type: string - x-vrcapispecification-inner-json: WebsocketFriendUpdate + x-double-encoding-type: WebsocketFriendUpdate contentMediaType: application/json contentSchema: $ref: ./WebsocketFriendUpdate.yaml diff --git a/openapi/components/schemas/WebsocketGroupJoinedEncoded.yaml b/openapi/components/schemas/WebsocketGroupJoinedEncoded.yaml index d3b2f48f..99bffb49 100644 --- a/openapi/components/schemas/WebsocketGroupJoinedEncoded.yaml +++ b/openapi/components/schemas/WebsocketGroupJoinedEncoded.yaml @@ -1,10 +1,10 @@ title: WebsocketGroupJoinedEncoded -x-vrcapispecification-has-double-json-encoding: true +x-vrchat-double-encoding: true type: object properties: content: type: string - x-vrcapispecification-inner-json: WebsocketGroupJoined + x-double-encoding-type: WebsocketGroupJoined contentMediaType: application/json contentSchema: $ref: ./WebsocketGroupJoined.yaml diff --git a/openapi/components/schemas/WebsocketGroupLeftEncoded.yaml b/openapi/components/schemas/WebsocketGroupLeftEncoded.yaml index ee1ea1ab..1a52a6e4 100644 --- a/openapi/components/schemas/WebsocketGroupLeftEncoded.yaml +++ b/openapi/components/schemas/WebsocketGroupLeftEncoded.yaml @@ -1,10 +1,10 @@ title: WebsocketGroupLeftEncoded -x-vrcapispecification-has-double-json-encoding: true +x-vrchat-double-encoding: true type: object properties: content: type: string - x-vrcapispecification-inner-json: WebsocketGroupLeft + x-double-encoding-type: WebsocketGroupLeft contentMediaType: application/json contentSchema: $ref: ./WebsocketGroupLeft.yaml diff --git a/openapi/components/schemas/WebsocketGroupMemberUpdatedEncoded.yaml b/openapi/components/schemas/WebsocketGroupMemberUpdatedEncoded.yaml index 2101c204..60ad9caf 100644 --- a/openapi/components/schemas/WebsocketGroupMemberUpdatedEncoded.yaml +++ b/openapi/components/schemas/WebsocketGroupMemberUpdatedEncoded.yaml @@ -1,10 +1,10 @@ title: WebsocketGroupMemberUpdatedEncoded -x-vrcapispecification-has-double-json-encoding: true +x-vrchat-double-encoding: true type: object properties: content: type: string - x-vrcapispecification-inner-json: WebsocketGroupMemberUpdated + x-double-encoding-type: WebsocketGroupMemberUpdated contentMediaType: application/json contentSchema: $ref: ./WebsocketGroupMemberUpdated.yaml diff --git a/openapi/components/schemas/WebsocketGroupRoleUpdatedEncoded.yaml b/openapi/components/schemas/WebsocketGroupRoleUpdatedEncoded.yaml index 76a03e35..ac13edb0 100644 --- a/openapi/components/schemas/WebsocketGroupRoleUpdatedEncoded.yaml +++ b/openapi/components/schemas/WebsocketGroupRoleUpdatedEncoded.yaml @@ -1,10 +1,10 @@ title: WebsocketGroupRoleUpdatedEncoded -x-vrcapispecification-has-double-json-encoding: true +x-vrchat-double-encoding: true type: object properties: content: type: string - x-vrcapispecification-inner-json: WebsocketGroupRoleUpdated + x-double-encoding-type: WebsocketGroupRoleUpdated contentMediaType: application/json contentSchema: $ref: ./WebsocketGroupRoleUpdated.yaml diff --git a/openapi/components/schemas/WebsocketInstanceQueueJoinedEncoded.yaml b/openapi/components/schemas/WebsocketInstanceQueueJoinedEncoded.yaml index af0fd858..bb196cff 100644 --- a/openapi/components/schemas/WebsocketInstanceQueueJoinedEncoded.yaml +++ b/openapi/components/schemas/WebsocketInstanceQueueJoinedEncoded.yaml @@ -1,10 +1,10 @@ title: WebsocketInstanceQueueJoinedEncoded -x-vrcapispecification-has-double-json-encoding: true +x-vrchat-double-encoding: true type: object properties: content: type: string - x-vrcapispecification-inner-json: WebsocketInstanceQueueJoined + x-double-encoding-type: WebsocketInstanceQueueJoined contentMediaType: application/json contentSchema: $ref: ./WebsocketInstanceQueueJoined.yaml diff --git a/openapi/components/schemas/WebsocketInstanceQueueReadyEncoded.yaml b/openapi/components/schemas/WebsocketInstanceQueueReadyEncoded.yaml index e0963e5e..2e713c1c 100644 --- a/openapi/components/schemas/WebsocketInstanceQueueReadyEncoded.yaml +++ b/openapi/components/schemas/WebsocketInstanceQueueReadyEncoded.yaml @@ -1,10 +1,10 @@ title: WebsocketInstanceQueueReadyEncoded -x-vrcapispecification-has-double-json-encoding: true +x-vrchat-double-encoding: true type: object properties: content: type: string - x-vrcapispecification-inner-json: WebsocketInstanceQueueReady + x-double-encoding-type: WebsocketInstanceQueueReady contentMediaType: application/json contentSchema: $ref: ./WebsocketInstanceQueueReady.yaml diff --git a/openapi/components/schemas/WebsocketNotificationEncoded.yaml b/openapi/components/schemas/WebsocketNotificationEncoded.yaml index 6a02bba8..4c2f9a22 100644 --- a/openapi/components/schemas/WebsocketNotificationEncoded.yaml +++ b/openapi/components/schemas/WebsocketNotificationEncoded.yaml @@ -1,10 +1,10 @@ title: WebsocketNotificationEncoded -x-vrcapispecification-has-double-json-encoding: true +x-vrchat-double-encoding: true type: object properties: content: type: string - x-vrcapispecification-inner-json: WebsocketNotification + x-double-encoding-type: WebsocketNotification contentMediaType: application/json contentSchema: $ref: ./WebsocketNotification.yaml diff --git a/openapi/components/schemas/WebsocketNotificationV2DeleteEncoded.yaml b/openapi/components/schemas/WebsocketNotificationV2DeleteEncoded.yaml index 2dccf240..2b768253 100644 --- a/openapi/components/schemas/WebsocketNotificationV2DeleteEncoded.yaml +++ b/openapi/components/schemas/WebsocketNotificationV2DeleteEncoded.yaml @@ -1,10 +1,10 @@ title: WebsocketNotificationV2DeleteEncoded -x-vrcapispecification-has-double-json-encoding: true +x-vrchat-double-encoding: true type: object properties: content: type: string - x-vrcapispecification-inner-json: WebsocketNotificationV2Delete + x-double-encoding-type: WebsocketNotificationV2Delete contentMediaType: application/json contentSchema: $ref: ./WebsocketNotificationV2Delete.yaml diff --git a/openapi/components/schemas/WebsocketNotificationV2Encoded.yaml b/openapi/components/schemas/WebsocketNotificationV2Encoded.yaml index d6b7641e..d49cc475 100644 --- a/openapi/components/schemas/WebsocketNotificationV2Encoded.yaml +++ b/openapi/components/schemas/WebsocketNotificationV2Encoded.yaml @@ -1,10 +1,10 @@ title: NotificationV2Encoded -x-vrcapispecification-has-double-json-encoding: true +x-vrchat-double-encoding: true type: object properties: content: type: string - x-vrcapispecification-inner-json: NotificationV2 + x-double-encoding-type: NotificationV2 contentMediaType: application/json contentSchema: $ref: ./NotificationV2.yaml diff --git a/openapi/components/schemas/WebsocketNotificationV2UpdateEncoded.yaml b/openapi/components/schemas/WebsocketNotificationV2UpdateEncoded.yaml index 208c149c..bd946fab 100644 --- a/openapi/components/schemas/WebsocketNotificationV2UpdateEncoded.yaml +++ b/openapi/components/schemas/WebsocketNotificationV2UpdateEncoded.yaml @@ -1,10 +1,10 @@ title: WebsocketNotificationV2UpdateEncoded -x-vrcapispecification-has-double-json-encoding: true +x-vrchat-double-encoding: true type: object properties: content: type: string - x-vrcapispecification-inner-json: WebsocketNotificationV2Update + x-double-encoding-type: WebsocketNotificationV2Update contentMediaType: application/json contentSchema: $ref: ./WebsocketNotificationV2Update.yaml diff --git a/openapi/components/schemas/WebsocketResponseNotificationEncoded.yaml b/openapi/components/schemas/WebsocketResponseNotificationEncoded.yaml index 4cd3e42e..8199cfaa 100644 --- a/openapi/components/schemas/WebsocketResponseNotificationEncoded.yaml +++ b/openapi/components/schemas/WebsocketResponseNotificationEncoded.yaml @@ -1,10 +1,10 @@ title: WebsocketResponseNotificationEncoded -x-vrcapispecification-has-double-json-encoding: true +x-vrchat-double-encoding: true type: object properties: content: type: string - x-vrcapispecification-inner-json: WebsocketResponseNotification + x-double-encoding-type: WebsocketResponseNotification contentMediaType: application/json contentSchema: $ref: ./WebsocketResponseNotification.yaml diff --git a/openapi/components/schemas/WebsocketUserBadgeAssignedEncoded.yaml b/openapi/components/schemas/WebsocketUserBadgeAssignedEncoded.yaml index fc997fa9..7e7a8649 100644 --- a/openapi/components/schemas/WebsocketUserBadgeAssignedEncoded.yaml +++ b/openapi/components/schemas/WebsocketUserBadgeAssignedEncoded.yaml @@ -1,10 +1,10 @@ title: WebsocketUserBadgeAssignedEncoded -x-vrcapispecification-has-double-json-encoding: true +x-vrchat-double-encoding: true type: object properties: content: type: string - x-vrcapispecification-inner-json: WebsocketUserBadgeAssigned + x-double-encoding-type: WebsocketUserBadgeAssigned contentMediaType: application/json contentSchema: $ref: ./WebsocketUserBadgeAssigned.yaml diff --git a/openapi/components/schemas/WebsocketUserBadgeUnassignedEncoded.yaml b/openapi/components/schemas/WebsocketUserBadgeUnassignedEncoded.yaml index fe660eee..79f8cf7b 100644 --- a/openapi/components/schemas/WebsocketUserBadgeUnassignedEncoded.yaml +++ b/openapi/components/schemas/WebsocketUserBadgeUnassignedEncoded.yaml @@ -1,10 +1,10 @@ title: WebsocketUserBadgeUnassignedEncoded -x-vrcapispecification-has-double-json-encoding: true +x-vrchat-double-encoding: true type: object properties: content: type: string - x-vrcapispecification-inner-json: WebsocketUserBadgeUnassigned + x-double-encoding-type: WebsocketUserBadgeUnassigned contentMediaType: application/json contentSchema: $ref: ./WebsocketUserBadgeUnassigned.yaml diff --git a/openapi/components/schemas/WebsocketUserLocationEncoded.yaml b/openapi/components/schemas/WebsocketUserLocationEncoded.yaml index 0396c204..0ac8730b 100644 --- a/openapi/components/schemas/WebsocketUserLocationEncoded.yaml +++ b/openapi/components/schemas/WebsocketUserLocationEncoded.yaml @@ -1,10 +1,10 @@ title: WebsocketUserLocationEncoded -x-vrcapispecification-has-double-json-encoding: true +x-vrchat-double-encoding: true type: object properties: content: type: string - x-vrcapispecification-inner-json: WebsocketUserLocation + x-double-encoding-type: WebsocketUserLocation contentMediaType: application/json contentSchema: $ref: ./WebsocketUserLocation.yaml diff --git a/openapi/components/schemas/WebsocketUserUpdateEncoded.yaml b/openapi/components/schemas/WebsocketUserUpdateEncoded.yaml index e3cd6b22..a844c607 100644 --- a/openapi/components/schemas/WebsocketUserUpdateEncoded.yaml +++ b/openapi/components/schemas/WebsocketUserUpdateEncoded.yaml @@ -1,10 +1,10 @@ title: WebsocketUserUpdateEncoded -x-vrcapispecification-has-double-json-encoding: true +x-vrchat-double-encoding: true type: object properties: content: type: string - x-vrcapispecification-inner-json: WebsocketUserUpdate + x-double-encoding-type: WebsocketUserUpdate contentMediaType: application/json contentSchema: $ref: ./WebsocketUserUpdate.yaml From 3fa7d3f4ce6fbd02e90eb5a906df84b928dad132 Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Wed, 23 Sep 2026 20:34:32 +0200 Subject: [PATCH 33/44] Rename Vendor-specific tags --- openapi/components/schemas/WebsocketContentRefreshEncoded.yaml | 2 +- openapi/components/schemas/WebsocketFriendActiveEncoded.yaml | 2 +- openapi/components/schemas/WebsocketFriendAddEncoded.yaml | 2 +- openapi/components/schemas/WebsocketFriendDeleteEncoded.yaml | 2 +- openapi/components/schemas/WebsocketFriendLocationEncoded.yaml | 2 +- openapi/components/schemas/WebsocketFriendOfflineEncoded.yaml | 2 +- openapi/components/schemas/WebsocketFriendOnlineEncoded.yaml | 2 +- openapi/components/schemas/WebsocketFriendUpdateEncoded.yaml | 2 +- openapi/components/schemas/WebsocketGroupJoinedEncoded.yaml | 2 +- openapi/components/schemas/WebsocketGroupLeftEncoded.yaml | 2 +- .../components/schemas/WebsocketGroupMemberUpdatedEncoded.yaml | 2 +- .../components/schemas/WebsocketGroupRoleUpdatedEncoded.yaml | 2 +- .../components/schemas/WebsocketInstanceQueueJoinedEncoded.yaml | 2 +- .../components/schemas/WebsocketInstanceQueueReadyEncoded.yaml | 2 +- openapi/components/schemas/WebsocketNotificationEncoded.yaml | 2 +- .../schemas/WebsocketNotificationV2DeleteEncoded.yaml | 2 +- openapi/components/schemas/WebsocketNotificationV2Encoded.yaml | 2 +- .../schemas/WebsocketNotificationV2UpdateEncoded.yaml | 2 +- .../schemas/WebsocketResponseNotificationEncoded.yaml | 2 +- .../components/schemas/WebsocketUserBadgeAssignedEncoded.yaml | 2 +- .../components/schemas/WebsocketUserBadgeUnassignedEncoded.yaml | 2 +- openapi/components/schemas/WebsocketUserLocationEncoded.yaml | 2 +- openapi/components/schemas/WebsocketUserUpdateEncoded.yaml | 2 +- 23 files changed, 23 insertions(+), 23 deletions(-) diff --git a/openapi/components/schemas/WebsocketContentRefreshEncoded.yaml b/openapi/components/schemas/WebsocketContentRefreshEncoded.yaml index b60904e7..a3900273 100644 --- a/openapi/components/schemas/WebsocketContentRefreshEncoded.yaml +++ b/openapi/components/schemas/WebsocketContentRefreshEncoded.yaml @@ -4,7 +4,7 @@ type: object properties: content: type: string - x-double-encoding-type: WebsocketContentRefresh + x-vrchat-double-encoding-type: WebsocketContentRefresh contentMediaType: application/json contentSchema: $ref: ./WebsocketContentRefresh.yaml diff --git a/openapi/components/schemas/WebsocketFriendActiveEncoded.yaml b/openapi/components/schemas/WebsocketFriendActiveEncoded.yaml index 7c6f7101..a6ad7e58 100644 --- a/openapi/components/schemas/WebsocketFriendActiveEncoded.yaml +++ b/openapi/components/schemas/WebsocketFriendActiveEncoded.yaml @@ -4,7 +4,7 @@ type: object properties: content: type: string - x-double-encoding-type: WebsocketFriendActive + x-vrchat-double-encoding-type: WebsocketFriendActive contentMediaType: application/json contentSchema: $ref: ./WebsocketFriendActive.yaml diff --git a/openapi/components/schemas/WebsocketFriendAddEncoded.yaml b/openapi/components/schemas/WebsocketFriendAddEncoded.yaml index 212512ee..4cab8d9e 100644 --- a/openapi/components/schemas/WebsocketFriendAddEncoded.yaml +++ b/openapi/components/schemas/WebsocketFriendAddEncoded.yaml @@ -4,7 +4,7 @@ type: object properties: content: type: string - x-double-encoding-type: WebsocketFriendAdd + x-vrchat-double-encoding-type: WebsocketFriendAdd contentMediaType: application/json contentSchema: $ref: ./WebsocketFriendAdd.yaml diff --git a/openapi/components/schemas/WebsocketFriendDeleteEncoded.yaml b/openapi/components/schemas/WebsocketFriendDeleteEncoded.yaml index 5655aca1..7cb3853e 100644 --- a/openapi/components/schemas/WebsocketFriendDeleteEncoded.yaml +++ b/openapi/components/schemas/WebsocketFriendDeleteEncoded.yaml @@ -4,7 +4,7 @@ type: object properties: content: type: string - x-double-encoding-type: WebsocketFriendDelete + x-vrchat-double-encoding-type: WebsocketFriendDelete contentMediaType: application/json contentSchema: $ref: ./WebsocketFriendDelete.yaml diff --git a/openapi/components/schemas/WebsocketFriendLocationEncoded.yaml b/openapi/components/schemas/WebsocketFriendLocationEncoded.yaml index 62fcfb06..0749d7d4 100644 --- a/openapi/components/schemas/WebsocketFriendLocationEncoded.yaml +++ b/openapi/components/schemas/WebsocketFriendLocationEncoded.yaml @@ -4,7 +4,7 @@ type: object properties: content: type: string - x-double-encoding-type: WebsocketFriendLocation + x-vrchat-double-encoding-type: WebsocketFriendLocation contentMediaType: application/json contentSchema: $ref: ./WebsocketFriendLocation.yaml diff --git a/openapi/components/schemas/WebsocketFriendOfflineEncoded.yaml b/openapi/components/schemas/WebsocketFriendOfflineEncoded.yaml index 4e5a8bd3..3ac38fe2 100644 --- a/openapi/components/schemas/WebsocketFriendOfflineEncoded.yaml +++ b/openapi/components/schemas/WebsocketFriendOfflineEncoded.yaml @@ -4,7 +4,7 @@ type: object properties: content: type: string - x-double-encoding-type: WebsocketFriendOffline + x-vrchat-double-encoding-type: WebsocketFriendOffline contentMediaType: application/json contentSchema: $ref: ./WebsocketFriendOffline.yaml diff --git a/openapi/components/schemas/WebsocketFriendOnlineEncoded.yaml b/openapi/components/schemas/WebsocketFriendOnlineEncoded.yaml index 277374ef..7dcb97de 100644 --- a/openapi/components/schemas/WebsocketFriendOnlineEncoded.yaml +++ b/openapi/components/schemas/WebsocketFriendOnlineEncoded.yaml @@ -4,7 +4,7 @@ type: object properties: content: type: string - x-double-encoding-type: WebsocketFriendOnline + x-vrchat-double-encoding-type: WebsocketFriendOnline contentMediaType: application/json contentSchema: $ref: ./WebsocketFriendOnline.yaml diff --git a/openapi/components/schemas/WebsocketFriendUpdateEncoded.yaml b/openapi/components/schemas/WebsocketFriendUpdateEncoded.yaml index 423eb2d0..8cb0a852 100644 --- a/openapi/components/schemas/WebsocketFriendUpdateEncoded.yaml +++ b/openapi/components/schemas/WebsocketFriendUpdateEncoded.yaml @@ -4,7 +4,7 @@ type: object properties: content: type: string - x-double-encoding-type: WebsocketFriendUpdate + x-vrchat-double-encoding-type: WebsocketFriendUpdate contentMediaType: application/json contentSchema: $ref: ./WebsocketFriendUpdate.yaml diff --git a/openapi/components/schemas/WebsocketGroupJoinedEncoded.yaml b/openapi/components/schemas/WebsocketGroupJoinedEncoded.yaml index 99bffb49..734818f6 100644 --- a/openapi/components/schemas/WebsocketGroupJoinedEncoded.yaml +++ b/openapi/components/schemas/WebsocketGroupJoinedEncoded.yaml @@ -4,7 +4,7 @@ type: object properties: content: type: string - x-double-encoding-type: WebsocketGroupJoined + x-vrchat-double-encoding-type: WebsocketGroupJoined contentMediaType: application/json contentSchema: $ref: ./WebsocketGroupJoined.yaml diff --git a/openapi/components/schemas/WebsocketGroupLeftEncoded.yaml b/openapi/components/schemas/WebsocketGroupLeftEncoded.yaml index 1a52a6e4..72f057a6 100644 --- a/openapi/components/schemas/WebsocketGroupLeftEncoded.yaml +++ b/openapi/components/schemas/WebsocketGroupLeftEncoded.yaml @@ -4,7 +4,7 @@ type: object properties: content: type: string - x-double-encoding-type: WebsocketGroupLeft + x-vrchat-double-encoding-type: WebsocketGroupLeft contentMediaType: application/json contentSchema: $ref: ./WebsocketGroupLeft.yaml diff --git a/openapi/components/schemas/WebsocketGroupMemberUpdatedEncoded.yaml b/openapi/components/schemas/WebsocketGroupMemberUpdatedEncoded.yaml index 60ad9caf..d88376ce 100644 --- a/openapi/components/schemas/WebsocketGroupMemberUpdatedEncoded.yaml +++ b/openapi/components/schemas/WebsocketGroupMemberUpdatedEncoded.yaml @@ -4,7 +4,7 @@ type: object properties: content: type: string - x-double-encoding-type: WebsocketGroupMemberUpdated + x-vrchat-double-encoding-type: WebsocketGroupMemberUpdated contentMediaType: application/json contentSchema: $ref: ./WebsocketGroupMemberUpdated.yaml diff --git a/openapi/components/schemas/WebsocketGroupRoleUpdatedEncoded.yaml b/openapi/components/schemas/WebsocketGroupRoleUpdatedEncoded.yaml index ac13edb0..3b9fb449 100644 --- a/openapi/components/schemas/WebsocketGroupRoleUpdatedEncoded.yaml +++ b/openapi/components/schemas/WebsocketGroupRoleUpdatedEncoded.yaml @@ -4,7 +4,7 @@ type: object properties: content: type: string - x-double-encoding-type: WebsocketGroupRoleUpdated + x-vrchat-double-encoding-type: WebsocketGroupRoleUpdated contentMediaType: application/json contentSchema: $ref: ./WebsocketGroupRoleUpdated.yaml diff --git a/openapi/components/schemas/WebsocketInstanceQueueJoinedEncoded.yaml b/openapi/components/schemas/WebsocketInstanceQueueJoinedEncoded.yaml index bb196cff..c696a3d8 100644 --- a/openapi/components/schemas/WebsocketInstanceQueueJoinedEncoded.yaml +++ b/openapi/components/schemas/WebsocketInstanceQueueJoinedEncoded.yaml @@ -4,7 +4,7 @@ type: object properties: content: type: string - x-double-encoding-type: WebsocketInstanceQueueJoined + x-vrchat-double-encoding-type: WebsocketInstanceQueueJoined contentMediaType: application/json contentSchema: $ref: ./WebsocketInstanceQueueJoined.yaml diff --git a/openapi/components/schemas/WebsocketInstanceQueueReadyEncoded.yaml b/openapi/components/schemas/WebsocketInstanceQueueReadyEncoded.yaml index 2e713c1c..3733b4e9 100644 --- a/openapi/components/schemas/WebsocketInstanceQueueReadyEncoded.yaml +++ b/openapi/components/schemas/WebsocketInstanceQueueReadyEncoded.yaml @@ -4,7 +4,7 @@ type: object properties: content: type: string - x-double-encoding-type: WebsocketInstanceQueueReady + x-vrchat-double-encoding-type: WebsocketInstanceQueueReady contentMediaType: application/json contentSchema: $ref: ./WebsocketInstanceQueueReady.yaml diff --git a/openapi/components/schemas/WebsocketNotificationEncoded.yaml b/openapi/components/schemas/WebsocketNotificationEncoded.yaml index 4c2f9a22..82bdf5fb 100644 --- a/openapi/components/schemas/WebsocketNotificationEncoded.yaml +++ b/openapi/components/schemas/WebsocketNotificationEncoded.yaml @@ -4,7 +4,7 @@ type: object properties: content: type: string - x-double-encoding-type: WebsocketNotification + x-vrchat-double-encoding-type: WebsocketNotification contentMediaType: application/json contentSchema: $ref: ./WebsocketNotification.yaml diff --git a/openapi/components/schemas/WebsocketNotificationV2DeleteEncoded.yaml b/openapi/components/schemas/WebsocketNotificationV2DeleteEncoded.yaml index 2b768253..dba6adc0 100644 --- a/openapi/components/schemas/WebsocketNotificationV2DeleteEncoded.yaml +++ b/openapi/components/schemas/WebsocketNotificationV2DeleteEncoded.yaml @@ -4,7 +4,7 @@ type: object properties: content: type: string - x-double-encoding-type: WebsocketNotificationV2Delete + x-vrchat-double-encoding-type: WebsocketNotificationV2Delete contentMediaType: application/json contentSchema: $ref: ./WebsocketNotificationV2Delete.yaml diff --git a/openapi/components/schemas/WebsocketNotificationV2Encoded.yaml b/openapi/components/schemas/WebsocketNotificationV2Encoded.yaml index d49cc475..ba7311f1 100644 --- a/openapi/components/schemas/WebsocketNotificationV2Encoded.yaml +++ b/openapi/components/schemas/WebsocketNotificationV2Encoded.yaml @@ -4,7 +4,7 @@ type: object properties: content: type: string - x-double-encoding-type: NotificationV2 + x-vrchat-double-encoding-type: NotificationV2 contentMediaType: application/json contentSchema: $ref: ./NotificationV2.yaml diff --git a/openapi/components/schemas/WebsocketNotificationV2UpdateEncoded.yaml b/openapi/components/schemas/WebsocketNotificationV2UpdateEncoded.yaml index bd946fab..7d572900 100644 --- a/openapi/components/schemas/WebsocketNotificationV2UpdateEncoded.yaml +++ b/openapi/components/schemas/WebsocketNotificationV2UpdateEncoded.yaml @@ -4,7 +4,7 @@ type: object properties: content: type: string - x-double-encoding-type: WebsocketNotificationV2Update + x-vrchat-double-encoding-type: WebsocketNotificationV2Update contentMediaType: application/json contentSchema: $ref: ./WebsocketNotificationV2Update.yaml diff --git a/openapi/components/schemas/WebsocketResponseNotificationEncoded.yaml b/openapi/components/schemas/WebsocketResponseNotificationEncoded.yaml index 8199cfaa..dbfc70cb 100644 --- a/openapi/components/schemas/WebsocketResponseNotificationEncoded.yaml +++ b/openapi/components/schemas/WebsocketResponseNotificationEncoded.yaml @@ -4,7 +4,7 @@ type: object properties: content: type: string - x-double-encoding-type: WebsocketResponseNotification + x-vrchat-double-encoding-type: WebsocketResponseNotification contentMediaType: application/json contentSchema: $ref: ./WebsocketResponseNotification.yaml diff --git a/openapi/components/schemas/WebsocketUserBadgeAssignedEncoded.yaml b/openapi/components/schemas/WebsocketUserBadgeAssignedEncoded.yaml index 7e7a8649..3a4171df 100644 --- a/openapi/components/schemas/WebsocketUserBadgeAssignedEncoded.yaml +++ b/openapi/components/schemas/WebsocketUserBadgeAssignedEncoded.yaml @@ -4,7 +4,7 @@ type: object properties: content: type: string - x-double-encoding-type: WebsocketUserBadgeAssigned + x-vrchat-double-encoding-type: WebsocketUserBadgeAssigned contentMediaType: application/json contentSchema: $ref: ./WebsocketUserBadgeAssigned.yaml diff --git a/openapi/components/schemas/WebsocketUserBadgeUnassignedEncoded.yaml b/openapi/components/schemas/WebsocketUserBadgeUnassignedEncoded.yaml index 79f8cf7b..6567b61c 100644 --- a/openapi/components/schemas/WebsocketUserBadgeUnassignedEncoded.yaml +++ b/openapi/components/schemas/WebsocketUserBadgeUnassignedEncoded.yaml @@ -4,7 +4,7 @@ type: object properties: content: type: string - x-double-encoding-type: WebsocketUserBadgeUnassigned + x-vrchat-double-encoding-type: WebsocketUserBadgeUnassigned contentMediaType: application/json contentSchema: $ref: ./WebsocketUserBadgeUnassigned.yaml diff --git a/openapi/components/schemas/WebsocketUserLocationEncoded.yaml b/openapi/components/schemas/WebsocketUserLocationEncoded.yaml index 0ac8730b..6bfdca4f 100644 --- a/openapi/components/schemas/WebsocketUserLocationEncoded.yaml +++ b/openapi/components/schemas/WebsocketUserLocationEncoded.yaml @@ -4,7 +4,7 @@ type: object properties: content: type: string - x-double-encoding-type: WebsocketUserLocation + x-vrchat-double-encoding-type: WebsocketUserLocation contentMediaType: application/json contentSchema: $ref: ./WebsocketUserLocation.yaml diff --git a/openapi/components/schemas/WebsocketUserUpdateEncoded.yaml b/openapi/components/schemas/WebsocketUserUpdateEncoded.yaml index a844c607..c21dfec3 100644 --- a/openapi/components/schemas/WebsocketUserUpdateEncoded.yaml +++ b/openapi/components/schemas/WebsocketUserUpdateEncoded.yaml @@ -4,7 +4,7 @@ type: object properties: content: type: string - x-double-encoding-type: WebsocketUserUpdate + x-vrchat-double-encoding-type: WebsocketUserUpdate contentMediaType: application/json contentSchema: $ref: ./WebsocketUserUpdate.yaml From 7e89ccfb614cfd313a3459cf74ce5c7293969014 Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Wed, 23 Sep 2026 20:57:09 +0200 Subject: [PATCH 34/44] Remove x-if --- openapi/components/schemas/Notification.yaml | 37 +++--- .../components/schemas/WebsocketMessage.yaml | 11 +- .../schemas/WebsocketMessageDoubleJson.yaml | 110 ++++++++---------- .../schemas/WebsocketMessageNormal.yaml | 25 ++-- .../schemas/WebsocketNotificationDetail.yaml | 35 +++--- 5 files changed, 96 insertions(+), 122 deletions(-) diff --git a/openapi/components/schemas/Notification.yaml b/openapi/components/schemas/Notification.yaml index d1e5da27..815635af 100644 --- a/openapi/components/schemas/Notification.yaml +++ b/openapi/components/schemas/Notification.yaml @@ -8,26 +8,23 @@ properties: type: string description: JSON-encoded NotificationDetail contentMediaType: application/json - x-if: - when: jsonschema - then: - contentSchema: - oneOf: - - $ref: ./NotificationDetailBoop.yaml - - $ref: ./NotificationDetailInvite.yaml - - $ref: ./NotificationDetailInviteResponse.yaml - - $ref: ./NotificationDetailRequestInvite.yaml - - $ref: ./NotificationDetailRequestInviteResponse.yaml - - $ref: ./NotificationDetailVoteToKick.yaml - discriminator: - propertyName: type - mapping: - boop: ./NotificationDetailBoop.yaml - invite: ./NotificationDetailInvite.yaml - invite-response: ./NotificationDetailInviteResponse.yaml - request-invite: ./NotificationDetailRequestInvite.yaml - request-invite-response: ./NotificationDetailRequestInviteResponse.yaml - vote-to-kick: ./NotificationDetailVoteToKick.yaml + contentSchema: + oneOf: + - $ref: ./NotificationDetailBoop.yaml + - $ref: ./NotificationDetailInvite.yaml + - $ref: ./NotificationDetailInviteResponse.yaml + - $ref: ./NotificationDetailRequestInvite.yaml + - $ref: ./NotificationDetailRequestInviteResponse.yaml + - $ref: ./NotificationDetailVoteToKick.yaml + discriminator: + propertyName: type + mapping: + boop: ./NotificationDetailBoop.yaml + invite: ./NotificationDetailInvite.yaml + invite-response: ./NotificationDetailInviteResponse.yaml + request-invite: ./NotificationDetailRequestInvite.yaml + request-invite-response: ./NotificationDetailRequestInviteResponse.yaml + vote-to-kick: ./NotificationDetailVoteToKick.yaml id: type: string minLength: 1 diff --git a/openapi/components/schemas/WebsocketMessage.yaml b/openapi/components/schemas/WebsocketMessage.yaml index a677b36b..ca9b9e89 100644 --- a/openapi/components/schemas/WebsocketMessage.yaml +++ b/openapi/components/schemas/WebsocketMessage.yaml @@ -1,9 +1,4 @@ title: WebsocketMessage -x-if: - when: jsonschema - then: - oneOf: - - $ref: ./WebsocketMessageNormal.yaml - - $ref: ./WebsocketMessageDoubleJson.yaml - else: - type: object +oneOf: + - $ref: ./WebsocketMessageNormal.yaml + - $ref: ./WebsocketMessageDoubleJson.yaml diff --git a/openapi/components/schemas/WebsocketMessageDoubleJson.yaml b/openapi/components/schemas/WebsocketMessageDoubleJson.yaml index 4065abe9..1e528f51 100644 --- a/openapi/components/schemas/WebsocketMessageDoubleJson.yaml +++ b/openapi/components/schemas/WebsocketMessageDoubleJson.yaml @@ -1,61 +1,51 @@ title: WebsocketMessageDoubleJson -x-if: - when: jsonschema - then: - oneOf: - - $ref: ./WebsocketContentRefreshEncoded.yaml - - $ref: ./WebsocketFriendActiveEncoded.yaml - - $ref: ./WebsocketFriendAddEncoded.yaml - - $ref: ./WebsocketFriendDeleteEncoded.yaml - - $ref: ./WebsocketFriendLocationEncoded.yaml - - $ref: ./WebsocketFriendOfflineEncoded.yaml - - $ref: ./WebsocketFriendOnlineEncoded.yaml - - $ref: ./WebsocketFriendUpdateEncoded.yaml - - $ref: ./WebsocketGroupJoinedEncoded.yaml - - $ref: ./WebsocketGroupLeftEncoded.yaml - - $ref: ./WebsocketGroupMemberUpdatedEncoded.yaml - - $ref: ./WebsocketGroupRoleUpdatedEncoded.yaml - - $ref: ./WebsocketInstanceQueueJoinedEncoded.yaml - - $ref: ./WebsocketInstanceQueueReadyEncoded.yaml - - $ref: ./WebsocketNotificationEncoded.yaml - - $ref: ./WebsocketNotificationV2Encoded.yaml - - $ref: ./WebsocketNotificationV2DeleteEncoded.yaml - - $ref: ./WebsocketNotificationV2UpdateEncoded.yaml - - $ref: ./WebsocketResponseNotificationEncoded.yaml - - $ref: ./WebsocketUserBadgeAssignedEncoded.yaml - - $ref: ./WebsocketUserBadgeUnassignedEncoded.yaml - - $ref: ./WebsocketUserLocationEncoded.yaml - - $ref: ./WebsocketUserUpdateEncoded.yaml - discriminator: - propertyName: type - mapping: - content-refresh: ./WebsocketContentRefreshEncoded.yaml - friend-active: ./WebsocketFriendActiveEncoded.yaml - friend-add: ./WebsocketFriendAddEncoded.yaml - friend-delete: ./WebsocketFriendDeleteEncoded.yaml - friend-location: ./WebsocketFriendLocationEncoded.yaml - friend-offline: ./WebsocketFriendOfflineEncoded.yaml - friend-online: ./WebsocketFriendOnlineEncoded.yaml - friend-update: ./WebsocketFriendUpdateEncoded.yaml - group-joined: ./WebsocketGroupJoinedEncoded.yaml - group-left: ./WebsocketGroupLeftEncoded.yaml - group-member-updated: ./WebsocketGroupMemberUpdatedEncoded.yaml - group-role-updated: ./WebsocketGroupRoleUpdatedEncoded.yaml - instance-queue-joined: ./WebsocketInstanceQueueJoinedEncoded.yaml - instance-queue-ready: ./WebsocketInstanceQueueReadyEncoded.yaml - notification: ./WebsocketNotificationEncoded.yaml - notification-v2: ./WebsocketNotificationV2Encoded.yaml - notification-v2-delete: ./WebsocketNotificationV2DeleteEncoded.yaml - notification-v2-update: ./WebsocketNotificationV2UpdateEncoded.yaml - response-notification: ./WebsocketResponseNotificationEncoded.yaml - user-badge-assigned: ./WebsocketUserBadgeAssignedEncoded.yaml - user-badge-unassigned: ./WebsocketUserBadgeUnassignedEncoded.yaml - user-location: ./WebsocketUserLocationEncoded.yaml - user-update: ./WebsocketUserUpdateEncoded.yaml - else: - type: object - properties: - type: - type: string - content: - type: string +oneOf: + - $ref: ./WebsocketContentRefreshEncoded.yaml + - $ref: ./WebsocketFriendActiveEncoded.yaml + - $ref: ./WebsocketFriendAddEncoded.yaml + - $ref: ./WebsocketFriendDeleteEncoded.yaml + - $ref: ./WebsocketFriendLocationEncoded.yaml + - $ref: ./WebsocketFriendOfflineEncoded.yaml + - $ref: ./WebsocketFriendOnlineEncoded.yaml + - $ref: ./WebsocketFriendUpdateEncoded.yaml + - $ref: ./WebsocketGroupJoinedEncoded.yaml + - $ref: ./WebsocketGroupLeftEncoded.yaml + - $ref: ./WebsocketGroupMemberUpdatedEncoded.yaml + - $ref: ./WebsocketGroupRoleUpdatedEncoded.yaml + - $ref: ./WebsocketInstanceQueueJoinedEncoded.yaml + - $ref: ./WebsocketInstanceQueueReadyEncoded.yaml + - $ref: ./WebsocketNotificationEncoded.yaml + - $ref: ./WebsocketNotificationV2Encoded.yaml + - $ref: ./WebsocketNotificationV2DeleteEncoded.yaml + - $ref: ./WebsocketNotificationV2UpdateEncoded.yaml + - $ref: ./WebsocketResponseNotificationEncoded.yaml + - $ref: ./WebsocketUserBadgeAssignedEncoded.yaml + - $ref: ./WebsocketUserBadgeUnassignedEncoded.yaml + - $ref: ./WebsocketUserLocationEncoded.yaml + - $ref: ./WebsocketUserUpdateEncoded.yaml +discriminator: + propertyName: type + mapping: + content-refresh: ./WebsocketContentRefreshEncoded.yaml + friend-active: ./WebsocketFriendActiveEncoded.yaml + friend-add: ./WebsocketFriendAddEncoded.yaml + friend-delete: ./WebsocketFriendDeleteEncoded.yaml + friend-location: ./WebsocketFriendLocationEncoded.yaml + friend-offline: ./WebsocketFriendOfflineEncoded.yaml + friend-online: ./WebsocketFriendOnlineEncoded.yaml + friend-update: ./WebsocketFriendUpdateEncoded.yaml + group-joined: ./WebsocketGroupJoinedEncoded.yaml + group-left: ./WebsocketGroupLeftEncoded.yaml + group-member-updated: ./WebsocketGroupMemberUpdatedEncoded.yaml + group-role-updated: ./WebsocketGroupRoleUpdatedEncoded.yaml + instance-queue-joined: ./WebsocketInstanceQueueJoinedEncoded.yaml + instance-queue-ready: ./WebsocketInstanceQueueReadyEncoded.yaml + notification: ./WebsocketNotificationEncoded.yaml + notification-v2: ./WebsocketNotificationV2Encoded.yaml + notification-v2-delete: ./WebsocketNotificationV2DeleteEncoded.yaml + notification-v2-update: ./WebsocketNotificationV2UpdateEncoded.yaml + response-notification: ./WebsocketResponseNotificationEncoded.yaml + user-badge-assigned: ./WebsocketUserBadgeAssignedEncoded.yaml + user-badge-unassigned: ./WebsocketUserBadgeUnassignedEncoded.yaml + user-location: ./WebsocketUserLocationEncoded.yaml + user-update: ./WebsocketUserUpdateEncoded.yaml diff --git a/openapi/components/schemas/WebsocketMessageNormal.yaml b/openapi/components/schemas/WebsocketMessageNormal.yaml index 7e412926..cdb2d9bd 100644 --- a/openapi/components/schemas/WebsocketMessageNormal.yaml +++ b/openapi/components/schemas/WebsocketMessageNormal.yaml @@ -1,16 +1,11 @@ title: WebsocketMessageNormal -x-if: - when: jsonschema - then: - oneOf: - - $ref: ./WebsocketSeeNotification.yaml - - $ref: ./WebsocketHideNotification.yaml - - $ref: ./WebsocketClearNotification.yaml - discriminator: - propertyName: type - mapping: - see-notification: ./WebsocketSeeNotification.yaml - hide-notification: ./WebsocketHideNotification.yaml - clear-notification: ./WebsocketClearNotification.yaml - else: - type: object +oneOf: + - $ref: ./WebsocketSeeNotification.yaml + - $ref: ./WebsocketHideNotification.yaml + - $ref: ./WebsocketClearNotification.yaml +discriminator: + propertyName: type + mapping: + see-notification: ./WebsocketSeeNotification.yaml + hide-notification: ./WebsocketHideNotification.yaml + clear-notification: ./WebsocketClearNotification.yaml \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketNotificationDetail.yaml b/openapi/components/schemas/WebsocketNotificationDetail.yaml index d2986bc7..b49f926b 100644 --- a/openapi/components/schemas/WebsocketNotificationDetail.yaml +++ b/openapi/components/schemas/WebsocketNotificationDetail.yaml @@ -1,21 +1,18 @@ title: WebsocketNotificationDetail type: object -x-if: - when: jsonschema - then: - discriminator: - propertyName: type - mapping: - boop: ./WebsocketNotificationDetailBoop.yaml - invite: ./WebsocketNotificationDetailInvite.yaml - invite-response: ./WebsocketNotificationDetailInviteResponse.yaml - request-invite: ./WebsocketNotificationDetailRequestInvite.yaml - request-invite-response: ./WebsocketNotificationDetailRequestInviteResponse.yaml - vote-to-kick: ./WebsocketNotificationDetailVoteToKick.yaml - oneOf: - - $ref: ./WebsocketNotificationDetailBoop.yaml - - $ref: ./WebsocketNotificationDetailInvite.yaml - - $ref: ./WebsocketNotificationDetailInviteResponse.yaml - - $ref: ./WebsocketNotificationDetailRequestInvite.yaml - - $ref: ./WebsocketNotificationDetailRequestInviteResponse.yaml - - $ref: ./WebsocketNotificationDetailVoteToKick.yaml +discriminator: + propertyName: type + mapping: + boop: ./WebsocketNotificationDetailBoop.yaml + invite: ./WebsocketNotificationDetailInvite.yaml + invite-response: ./WebsocketNotificationDetailInviteResponse.yaml + request-invite: ./WebsocketNotificationDetailRequestInvite.yaml + request-invite-response: ./WebsocketNotificationDetailRequestInviteResponse.yaml + vote-to-kick: ./WebsocketNotificationDetailVoteToKick.yaml +oneOf: + - $ref: ./WebsocketNotificationDetailBoop.yaml + - $ref: ./WebsocketNotificationDetailInvite.yaml + - $ref: ./WebsocketNotificationDetailInviteResponse.yaml + - $ref: ./WebsocketNotificationDetailRequestInvite.yaml + - $ref: ./WebsocketNotificationDetailRequestInviteResponse.yaml + - $ref: ./WebsocketNotificationDetailVoteToKick.yaml From 648c8eb28bff64659d6cc745646608da98859184 Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Wed, 23 Sep 2026 21:01:24 +0200 Subject: [PATCH 35/44] Fix linting --- openapi/components/schemas/Notification.yaml | 16 +++--- .../WebsocketContentRefreshEncoded.yaml | 4 +- .../schemas/WebsocketFriendActiveEncoded.yaml | 4 +- .../schemas/WebsocketFriendAddEncoded.yaml | 4 +- .../schemas/WebsocketFriendDeleteEncoded.yaml | 4 +- .../WebsocketFriendLocationEncoded.yaml | 4 +- .../WebsocketFriendOfflineEncoded.yaml | 4 +- .../schemas/WebsocketFriendOnlineEncoded.yaml | 4 +- .../schemas/WebsocketFriendUpdateEncoded.yaml | 4 +- .../schemas/WebsocketGroupJoinedEncoded.yaml | 4 +- .../schemas/WebsocketGroupLeftEncoded.yaml | 4 +- .../WebsocketGroupMemberUpdatedEncoded.yaml | 4 +- .../WebsocketGroupRoleUpdatedEncoded.yaml | 4 +- .../WebsocketInstanceQueueJoinedEncoded.yaml | 4 +- .../WebsocketInstanceQueueReadyEncoded.yaml | 4 +- .../schemas/WebsocketMessageDoubleJson.yaml | 50 +++++++++---------- .../schemas/WebsocketMessageNormal.yaml | 12 ++--- .../schemas/WebsocketNotificationDetail.yaml | 2 +- .../schemas/WebsocketNotificationEncoded.yaml | 4 +- .../WebsocketNotificationV2DeleteEncoded.yaml | 4 +- .../WebsocketNotificationV2Encoded.yaml | 4 +- .../WebsocketNotificationV2UpdateEncoded.yaml | 4 +- .../WebsocketResponseNotificationEncoded.yaml | 4 +- .../WebsocketUserBadgeAssignedEncoded.yaml | 4 +- .../WebsocketUserBadgeUnassignedEncoded.yaml | 4 +- .../schemas/WebsocketUserLocationEncoded.yaml | 4 +- .../schemas/WebsocketUserUpdateEncoded.yaml | 4 +- 27 files changed, 86 insertions(+), 86 deletions(-) diff --git a/openapi/components/schemas/Notification.yaml b/openapi/components/schemas/Notification.yaml index 815635af..b32c291b 100644 --- a/openapi/components/schemas/Notification.yaml +++ b/openapi/components/schemas/Notification.yaml @@ -9,15 +9,7 @@ properties: description: JSON-encoded NotificationDetail contentMediaType: application/json contentSchema: - oneOf: - - $ref: ./NotificationDetailBoop.yaml - - $ref: ./NotificationDetailInvite.yaml - - $ref: ./NotificationDetailInviteResponse.yaml - - $ref: ./NotificationDetailRequestInvite.yaml - - $ref: ./NotificationDetailRequestInviteResponse.yaml - - $ref: ./NotificationDetailVoteToKick.yaml discriminator: - propertyName: type mapping: boop: ./NotificationDetailBoop.yaml invite: ./NotificationDetailInvite.yaml @@ -25,6 +17,14 @@ properties: request-invite: ./NotificationDetailRequestInvite.yaml request-invite-response: ./NotificationDetailRequestInviteResponse.yaml vote-to-kick: ./NotificationDetailVoteToKick.yaml + propertyName: type + oneOf: + - $ref: ./NotificationDetailBoop.yaml + - $ref: ./NotificationDetailInvite.yaml + - $ref: ./NotificationDetailInviteResponse.yaml + - $ref: ./NotificationDetailRequestInvite.yaml + - $ref: ./NotificationDetailRequestInviteResponse.yaml + - $ref: ./NotificationDetailVoteToKick.yaml id: type: string minLength: 1 diff --git a/openapi/components/schemas/WebsocketContentRefreshEncoded.yaml b/openapi/components/schemas/WebsocketContentRefreshEncoded.yaml index a3900273..d2eca570 100644 --- a/openapi/components/schemas/WebsocketContentRefreshEncoded.yaml +++ b/openapi/components/schemas/WebsocketContentRefreshEncoded.yaml @@ -1,12 +1,12 @@ title: WebsocketContentRefreshEncoded -x-vrchat-double-encoding: true type: object properties: content: type: string - x-vrchat-double-encoding-type: WebsocketContentRefresh contentMediaType: application/json contentSchema: $ref: ./WebsocketContentRefresh.yaml + x-vrchat-double-encoding-type: WebsocketContentRefresh required: - content +x-vrchat-double-encoding: true diff --git a/openapi/components/schemas/WebsocketFriendActiveEncoded.yaml b/openapi/components/schemas/WebsocketFriendActiveEncoded.yaml index a6ad7e58..219a9959 100644 --- a/openapi/components/schemas/WebsocketFriendActiveEncoded.yaml +++ b/openapi/components/schemas/WebsocketFriendActiveEncoded.yaml @@ -1,12 +1,12 @@ title: WebsocketFriendActiveEncoded -x-vrchat-double-encoding: true type: object properties: content: type: string - x-vrchat-double-encoding-type: WebsocketFriendActive contentMediaType: application/json contentSchema: $ref: ./WebsocketFriendActive.yaml + x-vrchat-double-encoding-type: WebsocketFriendActive required: - content +x-vrchat-double-encoding: true diff --git a/openapi/components/schemas/WebsocketFriendAddEncoded.yaml b/openapi/components/schemas/WebsocketFriendAddEncoded.yaml index 4cab8d9e..02368a18 100644 --- a/openapi/components/schemas/WebsocketFriendAddEncoded.yaml +++ b/openapi/components/schemas/WebsocketFriendAddEncoded.yaml @@ -1,12 +1,12 @@ title: WebsocketFriendAddEncoded -x-vrchat-double-encoding: true type: object properties: content: type: string - x-vrchat-double-encoding-type: WebsocketFriendAdd contentMediaType: application/json contentSchema: $ref: ./WebsocketFriendAdd.yaml + x-vrchat-double-encoding-type: WebsocketFriendAdd required: - content +x-vrchat-double-encoding: true diff --git a/openapi/components/schemas/WebsocketFriendDeleteEncoded.yaml b/openapi/components/schemas/WebsocketFriendDeleteEncoded.yaml index 7cb3853e..1545f0e1 100644 --- a/openapi/components/schemas/WebsocketFriendDeleteEncoded.yaml +++ b/openapi/components/schemas/WebsocketFriendDeleteEncoded.yaml @@ -1,12 +1,12 @@ title: WebsocketFriendDeleteEncoded -x-vrchat-double-encoding: true type: object properties: content: type: string - x-vrchat-double-encoding-type: WebsocketFriendDelete contentMediaType: application/json contentSchema: $ref: ./WebsocketFriendDelete.yaml + x-vrchat-double-encoding-type: WebsocketFriendDelete required: - content +x-vrchat-double-encoding: true diff --git a/openapi/components/schemas/WebsocketFriendLocationEncoded.yaml b/openapi/components/schemas/WebsocketFriendLocationEncoded.yaml index 0749d7d4..e9b5547a 100644 --- a/openapi/components/schemas/WebsocketFriendLocationEncoded.yaml +++ b/openapi/components/schemas/WebsocketFriendLocationEncoded.yaml @@ -1,12 +1,12 @@ title: WebsocketFriendLocationEncoded -x-vrchat-double-encoding: true type: object properties: content: type: string - x-vrchat-double-encoding-type: WebsocketFriendLocation contentMediaType: application/json contentSchema: $ref: ./WebsocketFriendLocation.yaml + x-vrchat-double-encoding-type: WebsocketFriendLocation required: - content +x-vrchat-double-encoding: true diff --git a/openapi/components/schemas/WebsocketFriendOfflineEncoded.yaml b/openapi/components/schemas/WebsocketFriendOfflineEncoded.yaml index 3ac38fe2..28b6aaf3 100644 --- a/openapi/components/schemas/WebsocketFriendOfflineEncoded.yaml +++ b/openapi/components/schemas/WebsocketFriendOfflineEncoded.yaml @@ -1,12 +1,12 @@ title: WebsocketFriendOfflineEncoded -x-vrchat-double-encoding: true type: object properties: content: type: string - x-vrchat-double-encoding-type: WebsocketFriendOffline contentMediaType: application/json contentSchema: $ref: ./WebsocketFriendOffline.yaml + x-vrchat-double-encoding-type: WebsocketFriendOffline required: - content +x-vrchat-double-encoding: true diff --git a/openapi/components/schemas/WebsocketFriendOnlineEncoded.yaml b/openapi/components/schemas/WebsocketFriendOnlineEncoded.yaml index 7dcb97de..29234b1c 100644 --- a/openapi/components/schemas/WebsocketFriendOnlineEncoded.yaml +++ b/openapi/components/schemas/WebsocketFriendOnlineEncoded.yaml @@ -1,12 +1,12 @@ title: WebsocketFriendOnlineEncoded -x-vrchat-double-encoding: true type: object properties: content: type: string - x-vrchat-double-encoding-type: WebsocketFriendOnline contentMediaType: application/json contentSchema: $ref: ./WebsocketFriendOnline.yaml + x-vrchat-double-encoding-type: WebsocketFriendOnline required: - content +x-vrchat-double-encoding: true diff --git a/openapi/components/schemas/WebsocketFriendUpdateEncoded.yaml b/openapi/components/schemas/WebsocketFriendUpdateEncoded.yaml index 8cb0a852..11d97741 100644 --- a/openapi/components/schemas/WebsocketFriendUpdateEncoded.yaml +++ b/openapi/components/schemas/WebsocketFriendUpdateEncoded.yaml @@ -1,12 +1,12 @@ title: WebsocketFriendUpdateEncoded -x-vrchat-double-encoding: true type: object properties: content: type: string - x-vrchat-double-encoding-type: WebsocketFriendUpdate contentMediaType: application/json contentSchema: $ref: ./WebsocketFriendUpdate.yaml + x-vrchat-double-encoding-type: WebsocketFriendUpdate required: - content +x-vrchat-double-encoding: true diff --git a/openapi/components/schemas/WebsocketGroupJoinedEncoded.yaml b/openapi/components/schemas/WebsocketGroupJoinedEncoded.yaml index 734818f6..4f1afd8c 100644 --- a/openapi/components/schemas/WebsocketGroupJoinedEncoded.yaml +++ b/openapi/components/schemas/WebsocketGroupJoinedEncoded.yaml @@ -1,12 +1,12 @@ title: WebsocketGroupJoinedEncoded -x-vrchat-double-encoding: true type: object properties: content: type: string - x-vrchat-double-encoding-type: WebsocketGroupJoined contentMediaType: application/json contentSchema: $ref: ./WebsocketGroupJoined.yaml + x-vrchat-double-encoding-type: WebsocketGroupJoined required: - content +x-vrchat-double-encoding: true diff --git a/openapi/components/schemas/WebsocketGroupLeftEncoded.yaml b/openapi/components/schemas/WebsocketGroupLeftEncoded.yaml index 72f057a6..f0556b9e 100644 --- a/openapi/components/schemas/WebsocketGroupLeftEncoded.yaml +++ b/openapi/components/schemas/WebsocketGroupLeftEncoded.yaml @@ -1,12 +1,12 @@ title: WebsocketGroupLeftEncoded -x-vrchat-double-encoding: true type: object properties: content: type: string - x-vrchat-double-encoding-type: WebsocketGroupLeft contentMediaType: application/json contentSchema: $ref: ./WebsocketGroupLeft.yaml + x-vrchat-double-encoding-type: WebsocketGroupLeft required: - content +x-vrchat-double-encoding: true diff --git a/openapi/components/schemas/WebsocketGroupMemberUpdatedEncoded.yaml b/openapi/components/schemas/WebsocketGroupMemberUpdatedEncoded.yaml index d88376ce..972f6a3b 100644 --- a/openapi/components/schemas/WebsocketGroupMemberUpdatedEncoded.yaml +++ b/openapi/components/schemas/WebsocketGroupMemberUpdatedEncoded.yaml @@ -1,12 +1,12 @@ title: WebsocketGroupMemberUpdatedEncoded -x-vrchat-double-encoding: true type: object properties: content: type: string - x-vrchat-double-encoding-type: WebsocketGroupMemberUpdated contentMediaType: application/json contentSchema: $ref: ./WebsocketGroupMemberUpdated.yaml + x-vrchat-double-encoding-type: WebsocketGroupMemberUpdated required: - content +x-vrchat-double-encoding: true diff --git a/openapi/components/schemas/WebsocketGroupRoleUpdatedEncoded.yaml b/openapi/components/schemas/WebsocketGroupRoleUpdatedEncoded.yaml index 3b9fb449..40dd2ca8 100644 --- a/openapi/components/schemas/WebsocketGroupRoleUpdatedEncoded.yaml +++ b/openapi/components/schemas/WebsocketGroupRoleUpdatedEncoded.yaml @@ -1,12 +1,12 @@ title: WebsocketGroupRoleUpdatedEncoded -x-vrchat-double-encoding: true type: object properties: content: type: string - x-vrchat-double-encoding-type: WebsocketGroupRoleUpdated contentMediaType: application/json contentSchema: $ref: ./WebsocketGroupRoleUpdated.yaml + x-vrchat-double-encoding-type: WebsocketGroupRoleUpdated required: - content +x-vrchat-double-encoding: true diff --git a/openapi/components/schemas/WebsocketInstanceQueueJoinedEncoded.yaml b/openapi/components/schemas/WebsocketInstanceQueueJoinedEncoded.yaml index c696a3d8..1d1ba93e 100644 --- a/openapi/components/schemas/WebsocketInstanceQueueJoinedEncoded.yaml +++ b/openapi/components/schemas/WebsocketInstanceQueueJoinedEncoded.yaml @@ -1,12 +1,12 @@ title: WebsocketInstanceQueueJoinedEncoded -x-vrchat-double-encoding: true type: object properties: content: type: string - x-vrchat-double-encoding-type: WebsocketInstanceQueueJoined contentMediaType: application/json contentSchema: $ref: ./WebsocketInstanceQueueJoined.yaml + x-vrchat-double-encoding-type: WebsocketInstanceQueueJoined required: - content +x-vrchat-double-encoding: true diff --git a/openapi/components/schemas/WebsocketInstanceQueueReadyEncoded.yaml b/openapi/components/schemas/WebsocketInstanceQueueReadyEncoded.yaml index 3733b4e9..e715f178 100644 --- a/openapi/components/schemas/WebsocketInstanceQueueReadyEncoded.yaml +++ b/openapi/components/schemas/WebsocketInstanceQueueReadyEncoded.yaml @@ -1,12 +1,12 @@ title: WebsocketInstanceQueueReadyEncoded -x-vrchat-double-encoding: true type: object properties: content: type: string - x-vrchat-double-encoding-type: WebsocketInstanceQueueReady contentMediaType: application/json contentSchema: $ref: ./WebsocketInstanceQueueReady.yaml + x-vrchat-double-encoding-type: WebsocketInstanceQueueReady required: - content +x-vrchat-double-encoding: true diff --git a/openapi/components/schemas/WebsocketMessageDoubleJson.yaml b/openapi/components/schemas/WebsocketMessageDoubleJson.yaml index 1e528f51..b79b72e5 100644 --- a/openapi/components/schemas/WebsocketMessageDoubleJson.yaml +++ b/openapi/components/schemas/WebsocketMessageDoubleJson.yaml @@ -1,30 +1,5 @@ title: WebsocketMessageDoubleJson -oneOf: - - $ref: ./WebsocketContentRefreshEncoded.yaml - - $ref: ./WebsocketFriendActiveEncoded.yaml - - $ref: ./WebsocketFriendAddEncoded.yaml - - $ref: ./WebsocketFriendDeleteEncoded.yaml - - $ref: ./WebsocketFriendLocationEncoded.yaml - - $ref: ./WebsocketFriendOfflineEncoded.yaml - - $ref: ./WebsocketFriendOnlineEncoded.yaml - - $ref: ./WebsocketFriendUpdateEncoded.yaml - - $ref: ./WebsocketGroupJoinedEncoded.yaml - - $ref: ./WebsocketGroupLeftEncoded.yaml - - $ref: ./WebsocketGroupMemberUpdatedEncoded.yaml - - $ref: ./WebsocketGroupRoleUpdatedEncoded.yaml - - $ref: ./WebsocketInstanceQueueJoinedEncoded.yaml - - $ref: ./WebsocketInstanceQueueReadyEncoded.yaml - - $ref: ./WebsocketNotificationEncoded.yaml - - $ref: ./WebsocketNotificationV2Encoded.yaml - - $ref: ./WebsocketNotificationV2DeleteEncoded.yaml - - $ref: ./WebsocketNotificationV2UpdateEncoded.yaml - - $ref: ./WebsocketResponseNotificationEncoded.yaml - - $ref: ./WebsocketUserBadgeAssignedEncoded.yaml - - $ref: ./WebsocketUserBadgeUnassignedEncoded.yaml - - $ref: ./WebsocketUserLocationEncoded.yaml - - $ref: ./WebsocketUserUpdateEncoded.yaml discriminator: - propertyName: type mapping: content-refresh: ./WebsocketContentRefreshEncoded.yaml friend-active: ./WebsocketFriendActiveEncoded.yaml @@ -49,3 +24,28 @@ discriminator: user-badge-unassigned: ./WebsocketUserBadgeUnassignedEncoded.yaml user-location: ./WebsocketUserLocationEncoded.yaml user-update: ./WebsocketUserUpdateEncoded.yaml + propertyName: type +oneOf: + - $ref: ./WebsocketContentRefreshEncoded.yaml + - $ref: ./WebsocketFriendActiveEncoded.yaml + - $ref: ./WebsocketFriendAddEncoded.yaml + - $ref: ./WebsocketFriendDeleteEncoded.yaml + - $ref: ./WebsocketFriendLocationEncoded.yaml + - $ref: ./WebsocketFriendOfflineEncoded.yaml + - $ref: ./WebsocketFriendOnlineEncoded.yaml + - $ref: ./WebsocketFriendUpdateEncoded.yaml + - $ref: ./WebsocketGroupJoinedEncoded.yaml + - $ref: ./WebsocketGroupLeftEncoded.yaml + - $ref: ./WebsocketGroupMemberUpdatedEncoded.yaml + - $ref: ./WebsocketGroupRoleUpdatedEncoded.yaml + - $ref: ./WebsocketInstanceQueueJoinedEncoded.yaml + - $ref: ./WebsocketInstanceQueueReadyEncoded.yaml + - $ref: ./WebsocketNotificationEncoded.yaml + - $ref: ./WebsocketNotificationV2Encoded.yaml + - $ref: ./WebsocketNotificationV2DeleteEncoded.yaml + - $ref: ./WebsocketNotificationV2UpdateEncoded.yaml + - $ref: ./WebsocketResponseNotificationEncoded.yaml + - $ref: ./WebsocketUserBadgeAssignedEncoded.yaml + - $ref: ./WebsocketUserBadgeUnassignedEncoded.yaml + - $ref: ./WebsocketUserLocationEncoded.yaml + - $ref: ./WebsocketUserUpdateEncoded.yaml diff --git a/openapi/components/schemas/WebsocketMessageNormal.yaml b/openapi/components/schemas/WebsocketMessageNormal.yaml index cdb2d9bd..f7b29132 100644 --- a/openapi/components/schemas/WebsocketMessageNormal.yaml +++ b/openapi/components/schemas/WebsocketMessageNormal.yaml @@ -1,11 +1,11 @@ title: WebsocketMessageNormal +discriminator: + mapping: + clear-notification: ./WebsocketClearNotification.yaml + hide-notification: ./WebsocketHideNotification.yaml + see-notification: ./WebsocketSeeNotification.yaml + propertyName: type oneOf: - $ref: ./WebsocketSeeNotification.yaml - $ref: ./WebsocketHideNotification.yaml - $ref: ./WebsocketClearNotification.yaml -discriminator: - propertyName: type - mapping: - see-notification: ./WebsocketSeeNotification.yaml - hide-notification: ./WebsocketHideNotification.yaml - clear-notification: ./WebsocketClearNotification.yaml \ No newline at end of file diff --git a/openapi/components/schemas/WebsocketNotificationDetail.yaml b/openapi/components/schemas/WebsocketNotificationDetail.yaml index b49f926b..a119dad3 100644 --- a/openapi/components/schemas/WebsocketNotificationDetail.yaml +++ b/openapi/components/schemas/WebsocketNotificationDetail.yaml @@ -1,7 +1,6 @@ title: WebsocketNotificationDetail type: object discriminator: - propertyName: type mapping: boop: ./WebsocketNotificationDetailBoop.yaml invite: ./WebsocketNotificationDetailInvite.yaml @@ -9,6 +8,7 @@ discriminator: request-invite: ./WebsocketNotificationDetailRequestInvite.yaml request-invite-response: ./WebsocketNotificationDetailRequestInviteResponse.yaml vote-to-kick: ./WebsocketNotificationDetailVoteToKick.yaml + propertyName: type oneOf: - $ref: ./WebsocketNotificationDetailBoop.yaml - $ref: ./WebsocketNotificationDetailInvite.yaml diff --git a/openapi/components/schemas/WebsocketNotificationEncoded.yaml b/openapi/components/schemas/WebsocketNotificationEncoded.yaml index 82bdf5fb..9441eff2 100644 --- a/openapi/components/schemas/WebsocketNotificationEncoded.yaml +++ b/openapi/components/schemas/WebsocketNotificationEncoded.yaml @@ -1,12 +1,12 @@ title: WebsocketNotificationEncoded -x-vrchat-double-encoding: true type: object properties: content: type: string - x-vrchat-double-encoding-type: WebsocketNotification contentMediaType: application/json contentSchema: $ref: ./WebsocketNotification.yaml + x-vrchat-double-encoding-type: WebsocketNotification required: - content +x-vrchat-double-encoding: true diff --git a/openapi/components/schemas/WebsocketNotificationV2DeleteEncoded.yaml b/openapi/components/schemas/WebsocketNotificationV2DeleteEncoded.yaml index dba6adc0..74becd95 100644 --- a/openapi/components/schemas/WebsocketNotificationV2DeleteEncoded.yaml +++ b/openapi/components/schemas/WebsocketNotificationV2DeleteEncoded.yaml @@ -1,12 +1,12 @@ title: WebsocketNotificationV2DeleteEncoded -x-vrchat-double-encoding: true type: object properties: content: type: string - x-vrchat-double-encoding-type: WebsocketNotificationV2Delete contentMediaType: application/json contentSchema: $ref: ./WebsocketNotificationV2Delete.yaml + x-vrchat-double-encoding-type: WebsocketNotificationV2Delete required: - content +x-vrchat-double-encoding: true diff --git a/openapi/components/schemas/WebsocketNotificationV2Encoded.yaml b/openapi/components/schemas/WebsocketNotificationV2Encoded.yaml index ba7311f1..61d8b74d 100644 --- a/openapi/components/schemas/WebsocketNotificationV2Encoded.yaml +++ b/openapi/components/schemas/WebsocketNotificationV2Encoded.yaml @@ -1,12 +1,12 @@ title: NotificationV2Encoded -x-vrchat-double-encoding: true type: object properties: content: type: string - x-vrchat-double-encoding-type: NotificationV2 contentMediaType: application/json contentSchema: $ref: ./NotificationV2.yaml + x-vrchat-double-encoding-type: NotificationV2 required: - content +x-vrchat-double-encoding: true diff --git a/openapi/components/schemas/WebsocketNotificationV2UpdateEncoded.yaml b/openapi/components/schemas/WebsocketNotificationV2UpdateEncoded.yaml index 7d572900..b0766fb1 100644 --- a/openapi/components/schemas/WebsocketNotificationV2UpdateEncoded.yaml +++ b/openapi/components/schemas/WebsocketNotificationV2UpdateEncoded.yaml @@ -1,12 +1,12 @@ title: WebsocketNotificationV2UpdateEncoded -x-vrchat-double-encoding: true type: object properties: content: type: string - x-vrchat-double-encoding-type: WebsocketNotificationV2Update contentMediaType: application/json contentSchema: $ref: ./WebsocketNotificationV2Update.yaml + x-vrchat-double-encoding-type: WebsocketNotificationV2Update required: - content +x-vrchat-double-encoding: true diff --git a/openapi/components/schemas/WebsocketResponseNotificationEncoded.yaml b/openapi/components/schemas/WebsocketResponseNotificationEncoded.yaml index dbfc70cb..ce9aa6b1 100644 --- a/openapi/components/schemas/WebsocketResponseNotificationEncoded.yaml +++ b/openapi/components/schemas/WebsocketResponseNotificationEncoded.yaml @@ -1,12 +1,12 @@ title: WebsocketResponseNotificationEncoded -x-vrchat-double-encoding: true type: object properties: content: type: string - x-vrchat-double-encoding-type: WebsocketResponseNotification contentMediaType: application/json contentSchema: $ref: ./WebsocketResponseNotification.yaml + x-vrchat-double-encoding-type: WebsocketResponseNotification required: - content +x-vrchat-double-encoding: true diff --git a/openapi/components/schemas/WebsocketUserBadgeAssignedEncoded.yaml b/openapi/components/schemas/WebsocketUserBadgeAssignedEncoded.yaml index 3a4171df..bf6d26ec 100644 --- a/openapi/components/schemas/WebsocketUserBadgeAssignedEncoded.yaml +++ b/openapi/components/schemas/WebsocketUserBadgeAssignedEncoded.yaml @@ -1,12 +1,12 @@ title: WebsocketUserBadgeAssignedEncoded -x-vrchat-double-encoding: true type: object properties: content: type: string - x-vrchat-double-encoding-type: WebsocketUserBadgeAssigned contentMediaType: application/json contentSchema: $ref: ./WebsocketUserBadgeAssigned.yaml + x-vrchat-double-encoding-type: WebsocketUserBadgeAssigned required: - content +x-vrchat-double-encoding: true diff --git a/openapi/components/schemas/WebsocketUserBadgeUnassignedEncoded.yaml b/openapi/components/schemas/WebsocketUserBadgeUnassignedEncoded.yaml index 6567b61c..3be07471 100644 --- a/openapi/components/schemas/WebsocketUserBadgeUnassignedEncoded.yaml +++ b/openapi/components/schemas/WebsocketUserBadgeUnassignedEncoded.yaml @@ -1,12 +1,12 @@ title: WebsocketUserBadgeUnassignedEncoded -x-vrchat-double-encoding: true type: object properties: content: type: string - x-vrchat-double-encoding-type: WebsocketUserBadgeUnassigned contentMediaType: application/json contentSchema: $ref: ./WebsocketUserBadgeUnassigned.yaml + x-vrchat-double-encoding-type: WebsocketUserBadgeUnassigned required: - content +x-vrchat-double-encoding: true diff --git a/openapi/components/schemas/WebsocketUserLocationEncoded.yaml b/openapi/components/schemas/WebsocketUserLocationEncoded.yaml index 6bfdca4f..de398310 100644 --- a/openapi/components/schemas/WebsocketUserLocationEncoded.yaml +++ b/openapi/components/schemas/WebsocketUserLocationEncoded.yaml @@ -1,12 +1,12 @@ title: WebsocketUserLocationEncoded -x-vrchat-double-encoding: true type: object properties: content: type: string - x-vrchat-double-encoding-type: WebsocketUserLocation contentMediaType: application/json contentSchema: $ref: ./WebsocketUserLocation.yaml + x-vrchat-double-encoding-type: WebsocketUserLocation required: - content +x-vrchat-double-encoding: true diff --git a/openapi/components/schemas/WebsocketUserUpdateEncoded.yaml b/openapi/components/schemas/WebsocketUserUpdateEncoded.yaml index c21dfec3..2a104d26 100644 --- a/openapi/components/schemas/WebsocketUserUpdateEncoded.yaml +++ b/openapi/components/schemas/WebsocketUserUpdateEncoded.yaml @@ -1,12 +1,12 @@ title: WebsocketUserUpdateEncoded -x-vrchat-double-encoding: true type: object properties: content: type: string - x-vrchat-double-encoding-type: WebsocketUserUpdate contentMediaType: application/json contentSchema: $ref: ./WebsocketUserUpdate.yaml + x-vrchat-double-encoding-type: WebsocketUserUpdate required: - content +x-vrchat-double-encoding: true From c918532c5a048facea36ea43f9fc0e0c08a379bd Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Wed, 23 Sep 2026 21:16:20 +0200 Subject: [PATCH 36/44] Fix some more linting --- openapi/components/schemas/WebsocketMessageDoubleJson.yaml | 5 +++++ openapi/components/schemas/WebsocketMessageNormal.yaml | 5 +++++ openapi/components/schemas/WebsocketNotificationDetail.yaml | 5 +++++ 3 files changed, 15 insertions(+) diff --git a/openapi/components/schemas/WebsocketMessageDoubleJson.yaml b/openapi/components/schemas/WebsocketMessageDoubleJson.yaml index b79b72e5..504a6d30 100644 --- a/openapi/components/schemas/WebsocketMessageDoubleJson.yaml +++ b/openapi/components/schemas/WebsocketMessageDoubleJson.yaml @@ -1,4 +1,9 @@ title: WebsocketMessageDoubleJson +properties: + type: + type: string +required: + - type discriminator: mapping: content-refresh: ./WebsocketContentRefreshEncoded.yaml diff --git a/openapi/components/schemas/WebsocketMessageNormal.yaml b/openapi/components/schemas/WebsocketMessageNormal.yaml index f7b29132..649642a3 100644 --- a/openapi/components/schemas/WebsocketMessageNormal.yaml +++ b/openapi/components/schemas/WebsocketMessageNormal.yaml @@ -1,4 +1,9 @@ title: WebsocketMessageNormal +properties: + type: + type: string +required: + - type discriminator: mapping: clear-notification: ./WebsocketClearNotification.yaml diff --git a/openapi/components/schemas/WebsocketNotificationDetail.yaml b/openapi/components/schemas/WebsocketNotificationDetail.yaml index a119dad3..8e843cf4 100644 --- a/openapi/components/schemas/WebsocketNotificationDetail.yaml +++ b/openapi/components/schemas/WebsocketNotificationDetail.yaml @@ -1,5 +1,10 @@ title: WebsocketNotificationDetail type: object +properties: + type: + type: string +required: + - type discriminator: mapping: boop: ./WebsocketNotificationDetailBoop.yaml From 52177d52a3de2adc687ea6c540bb25956aac4349 Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Wed, 23 Sep 2026 21:19:59 +0200 Subject: [PATCH 37/44] "Fix" some more linting --- openapi/components/schemas/WebsocketNotificationBase.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/openapi/components/schemas/WebsocketNotificationBase.yaml b/openapi/components/schemas/WebsocketNotificationBase.yaml index a7e97624..9d482343 100644 --- a/openapi/components/schemas/WebsocketNotificationBase.yaml +++ b/openapi/components/schemas/WebsocketNotificationBase.yaml @@ -4,8 +4,6 @@ properties: created_at: type: string format: date-time - details: - type: object id: type: string minLength: 1 @@ -29,7 +27,6 @@ properties: $ref: ./NotificationType.yaml required: - created_at - - details - id - message - senderUserId From f9d37c066cc8d325314d8a0d1a46b928524f80f3 Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Wed, 23 Sep 2026 21:24:56 +0200 Subject: [PATCH 38/44] Correct Notification discriminator mappings --- openapi/components/schemas/Notification.yaml | 12 ++++++++---- .../schemas/NotificationDetailFriendRequest.yaml | 2 ++ .../schemas/NotificationDetailMessage.yaml | 2 ++ 3 files changed, 12 insertions(+), 4 deletions(-) create mode 100644 openapi/components/schemas/NotificationDetailFriendRequest.yaml create mode 100644 openapi/components/schemas/NotificationDetailMessage.yaml diff --git a/openapi/components/schemas/Notification.yaml b/openapi/components/schemas/Notification.yaml index b32c291b..d502be9a 100644 --- a/openapi/components/schemas/Notification.yaml +++ b/openapi/components/schemas/Notification.yaml @@ -12,16 +12,20 @@ properties: discriminator: mapping: boop: ./NotificationDetailBoop.yaml + friendRequest: ./NotificationDetailFriendRequest.yaml invite: ./NotificationDetailInvite.yaml - invite-response: ./NotificationDetailInviteResponse.yaml - request-invite: ./NotificationDetailRequestInvite.yaml - request-invite-response: ./NotificationDetailRequestInviteResponse.yaml - vote-to-kick: ./NotificationDetailVoteToKick.yaml + inviteResponse: ./NotificationDetailInviteResponse.yaml + message: ./NotificationDetailMessage.yaml + requestInvite: ./NotificationDetailRequestInvite.yaml + requestInviteResponse: ./NotificationDetailRequestInviteResponse.yaml + votetokick: ./NotificationDetailVoteToKick.yaml propertyName: type oneOf: - $ref: ./NotificationDetailBoop.yaml + - $ref: ./NotificationDetailFriendRequest.yaml - $ref: ./NotificationDetailInvite.yaml - $ref: ./NotificationDetailInviteResponse.yaml + - $ref: ./NotificationDetailMessage.yaml - $ref: ./NotificationDetailRequestInvite.yaml - $ref: ./NotificationDetailRequestInviteResponse.yaml - $ref: ./NotificationDetailVoteToKick.yaml diff --git a/openapi/components/schemas/NotificationDetailFriendRequest.yaml b/openapi/components/schemas/NotificationDetailFriendRequest.yaml new file mode 100644 index 00000000..bdf91840 --- /dev/null +++ b/openapi/components/schemas/NotificationDetailFriendRequest.yaml @@ -0,0 +1,2 @@ +title: NotificationDetailFriendRequest +type: object \ No newline at end of file diff --git a/openapi/components/schemas/NotificationDetailMessage.yaml b/openapi/components/schemas/NotificationDetailMessage.yaml new file mode 100644 index 00000000..0146cd9e --- /dev/null +++ b/openapi/components/schemas/NotificationDetailMessage.yaml @@ -0,0 +1,2 @@ +title: NotificationDetailMessage +type: object \ No newline at end of file From 33472b6f1ef2a0d106402bb54df2da178ca34317 Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Wed, 23 Sep 2026 21:27:37 +0200 Subject: [PATCH 39/44] Lint --- openapi/components/schemas/NotificationDetailFriendRequest.yaml | 2 +- openapi/components/schemas/NotificationDetailMessage.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/openapi/components/schemas/NotificationDetailFriendRequest.yaml b/openapi/components/schemas/NotificationDetailFriendRequest.yaml index bdf91840..b8c177a7 100644 --- a/openapi/components/schemas/NotificationDetailFriendRequest.yaml +++ b/openapi/components/schemas/NotificationDetailFriendRequest.yaml @@ -1,2 +1,2 @@ title: NotificationDetailFriendRequest -type: object \ No newline at end of file +type: object diff --git a/openapi/components/schemas/NotificationDetailMessage.yaml b/openapi/components/schemas/NotificationDetailMessage.yaml index 0146cd9e..f2aea75a 100644 --- a/openapi/components/schemas/NotificationDetailMessage.yaml +++ b/openapi/components/schemas/NotificationDetailMessage.yaml @@ -1,2 +1,2 @@ title: NotificationDetailMessage -type: object \ No newline at end of file +type: object From 4f8bf531c4b665c0953ea6dda6b5239b1d0c02e6 Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Thu, 24 Sep 2026 00:36:08 +0200 Subject: [PATCH 40/44] Notification Detail mappings Some files generated using: `for i in NotificationDetailBoop NotificationDetailInvite NotificationDetailInviteResponse NotificationDetailRequestInvite NotificationDetailRequestInviteResponse NotificationDetailMessage NotificationDetailFriendRequest NotificationDetailVoteToKick; do echo -e "title: ${i}Encoded\ntype: object\nproperties:\n details:\n type: string\n contentMediaType: application/json\n contentSchema:\n \$ref: ./$i.yaml\n x-vrchat-double-encoding-type: $i\nrequired:\n - details\nx-vrchat-double-encoding: true" > ${i}Encoded.yaml; done` --- openapi/components/schemas/Notification.yaml | 63 ++----------------- .../components/schemas/NotificationBase.yaml | 34 ++++++++++ .../NotificationDetailBoopEncoded.yaml | 12 ++++ .../schemas/NotificationDetailEncoded.yaml | 21 +++++++ .../NotificationDetailFriendRequest.yaml | 4 ++ ...otificationDetailFriendRequestEncoded.yaml | 12 ++++ .../NotificationDetailInviteEncoded.yaml | 12 ++++ ...tificationDetailInviteResponseEncoded.yaml | 12 ++++ .../schemas/NotificationDetailMessage.yaml | 4 ++ .../NotificationDetailMessageEncoded.yaml | 12 ++++ ...otificationDetailRequestInviteEncoded.yaml | 12 ++++ ...ionDetailRequestInviteResponseEncoded.yaml | 12 ++++ .../NotificationDetailVoteToKickEncoded.yaml | 12 ++++ openapi/components/schemas/_index.yaml | 20 ++++++ 14 files changed, 184 insertions(+), 58 deletions(-) create mode 100644 openapi/components/schemas/NotificationBase.yaml create mode 100644 openapi/components/schemas/NotificationDetailBoopEncoded.yaml create mode 100644 openapi/components/schemas/NotificationDetailEncoded.yaml create mode 100644 openapi/components/schemas/NotificationDetailFriendRequestEncoded.yaml create mode 100644 openapi/components/schemas/NotificationDetailInviteEncoded.yaml create mode 100644 openapi/components/schemas/NotificationDetailInviteResponseEncoded.yaml create mode 100644 openapi/components/schemas/NotificationDetailMessageEncoded.yaml create mode 100644 openapi/components/schemas/NotificationDetailRequestInviteEncoded.yaml create mode 100644 openapi/components/schemas/NotificationDetailRequestInviteResponseEncoded.yaml create mode 100644 openapi/components/schemas/NotificationDetailVoteToKickEncoded.yaml diff --git a/openapi/components/schemas/Notification.yaml b/openapi/components/schemas/Notification.yaml index d502be9a..c55a4dc6 100644 --- a/openapi/components/schemas/Notification.yaml +++ b/openapi/components/schemas/Notification.yaml @@ -1,59 +1,6 @@ title: Notification -type: object -properties: - created_at: - type: string - format: date-time - details: - type: string - description: JSON-encoded NotificationDetail - contentMediaType: application/json - contentSchema: - discriminator: - mapping: - boop: ./NotificationDetailBoop.yaml - friendRequest: ./NotificationDetailFriendRequest.yaml - invite: ./NotificationDetailInvite.yaml - inviteResponse: ./NotificationDetailInviteResponse.yaml - message: ./NotificationDetailMessage.yaml - requestInvite: ./NotificationDetailRequestInvite.yaml - requestInviteResponse: ./NotificationDetailRequestInviteResponse.yaml - votetokick: ./NotificationDetailVoteToKick.yaml - propertyName: type - oneOf: - - $ref: ./NotificationDetailBoop.yaml - - $ref: ./NotificationDetailFriendRequest.yaml - - $ref: ./NotificationDetailInvite.yaml - - $ref: ./NotificationDetailInviteResponse.yaml - - $ref: ./NotificationDetailMessage.yaml - - $ref: ./NotificationDetailRequestInvite.yaml - - $ref: ./NotificationDetailRequestInviteResponse.yaml - - $ref: ./NotificationDetailVoteToKick.yaml - id: - type: string - minLength: 1 - message: - type: string - example: This is a generated invite to VRChat Hub - receiverUserId: - $ref: ./UserID.yaml - description: Not included in notification objects received from the REST API - seen: - type: boolean - description: Not included in notification objects received from the Websocket API - default: false - senderUserId: - $ref: ./UserID.yaml - senderUsername: - type: ["null", string] - description: The name of the user who sent the notification. - minLength: 1 - type: - $ref: ./NotificationType.yaml -required: - - created_at - - details - - id - - message - - senderUserId - - type +allOf: + - title: base + $ref: ./NotificationBase.yaml + - title: detail + $ref: ./NotificationDetailEncoded.yaml diff --git a/openapi/components/schemas/NotificationBase.yaml b/openapi/components/schemas/NotificationBase.yaml new file mode 100644 index 00000000..c12f4efb --- /dev/null +++ b/openapi/components/schemas/NotificationBase.yaml @@ -0,0 +1,34 @@ +title: NotificationBase +type: object +properties: + created_at: + type: string + format: date-time + id: + type: string + minLength: 1 + message: + type: string + example: This is a generated invite to VRChat Hub + receiverUserId: + $ref: ./UserID.yaml + description: Not included in notification objects received from the REST API + seen: + type: boolean + description: Not included in notification objects received from the Websocket API + default: false + senderUserId: + $ref: ./UserID.yaml + senderUsername: + type: ["null", string] + description: The name of the user who sent the notification. + minLength: 1 + type: + $ref: ./NotificationType.yaml +required: + - created_at + - details + - id + - message + - senderUserId + - type diff --git a/openapi/components/schemas/NotificationDetailBoopEncoded.yaml b/openapi/components/schemas/NotificationDetailBoopEncoded.yaml new file mode 100644 index 00000000..bcce4e99 --- /dev/null +++ b/openapi/components/schemas/NotificationDetailBoopEncoded.yaml @@ -0,0 +1,12 @@ +title: NotificationDetailBoopEncoded +type: object +properties: + details: + type: string + contentMediaType: application/json + contentSchema: + $ref: ./NotificationDetailBoop.yaml + x-vrchat-double-encoding-type: NotificationDetailBoop +required: + - details +x-vrchat-double-encoding: true diff --git a/openapi/components/schemas/NotificationDetailEncoded.yaml b/openapi/components/schemas/NotificationDetailEncoded.yaml new file mode 100644 index 00000000..76f222fa --- /dev/null +++ b/openapi/components/schemas/NotificationDetailEncoded.yaml @@ -0,0 +1,21 @@ +title: NotificationDetail +discriminator: + mapping: + boop: ./NotificationDetailBoopEncoded.yaml + friendRequest: ./NotificationDetailFriendRequestEncoded.yaml + invite: ./NotificationDetailInviteEncoded.yaml + inviteResponse: ./NotificationDetailInviteResponseEncoded.yaml + message: ./NotificationDetailMessageEncoded.yaml + requestInvite: ./NotificationDetailRequestInviteEncoded.yaml + requestInviteResponse: ./NotificationDetailRequestInviteResponseEncoded.yaml + votetokick: ./NotificationDetailVoteToKickEncoded.yaml + propertyName: type +oneOf: + - $ref: ./NotificationDetailBoopEncoded.yaml + - $ref: ./NotificationDetailFriendRequestEncoded.yaml + - $ref: ./NotificationDetailInviteEncoded.yaml + - $ref: ./NotificationDetailInviteResponseEncoded.yaml + - $ref: ./NotificationDetailMessageEncoded.yaml + - $ref: ./NotificationDetailRequestInviteEncoded.yaml + - $ref: ./NotificationDetailRequestInviteResponseEncoded.yaml + - $ref: ./NotificationDetailVoteToKickEncoded.yaml \ No newline at end of file diff --git a/openapi/components/schemas/NotificationDetailFriendRequest.yaml b/openapi/components/schemas/NotificationDetailFriendRequest.yaml index b8c177a7..8b21376b 100644 --- a/openapi/components/schemas/NotificationDetailFriendRequest.yaml +++ b/openapi/components/schemas/NotificationDetailFriendRequest.yaml @@ -1,2 +1,6 @@ title: NotificationDetailFriendRequest type: object +properties: + # This exists to force generators to generate this struct, since it's referenced "manually" via `x-vrchat-double-encoding-type` + dontDeletePls: + type: integer diff --git a/openapi/components/schemas/NotificationDetailFriendRequestEncoded.yaml b/openapi/components/schemas/NotificationDetailFriendRequestEncoded.yaml new file mode 100644 index 00000000..7533b676 --- /dev/null +++ b/openapi/components/schemas/NotificationDetailFriendRequestEncoded.yaml @@ -0,0 +1,12 @@ +title: NotificationDetailFriendRequestEncoded +type: object +properties: + details: + type: string + contentMediaType: application/json + contentSchema: + $ref: ./NotificationDetailFriendRequest.yaml + x-vrchat-double-encoding-type: NotificationDetailFriendRequest +required: + - details +x-vrchat-double-encoding: true diff --git a/openapi/components/schemas/NotificationDetailInviteEncoded.yaml b/openapi/components/schemas/NotificationDetailInviteEncoded.yaml new file mode 100644 index 00000000..d28d4ed3 --- /dev/null +++ b/openapi/components/schemas/NotificationDetailInviteEncoded.yaml @@ -0,0 +1,12 @@ +title: NotificationDetailInviteEncoded +type: object +properties: + details: + type: string + contentMediaType: application/json + contentSchema: + $ref: ./NotificationDetailInvite.yaml + x-vrchat-double-encoding-type: NotificationDetailInvite +required: + - details +x-vrchat-double-encoding: true diff --git a/openapi/components/schemas/NotificationDetailInviteResponseEncoded.yaml b/openapi/components/schemas/NotificationDetailInviteResponseEncoded.yaml new file mode 100644 index 00000000..42bbf8a8 --- /dev/null +++ b/openapi/components/schemas/NotificationDetailInviteResponseEncoded.yaml @@ -0,0 +1,12 @@ +title: NotificationDetailInviteResponseEncoded +type: object +properties: + details: + type: string + contentMediaType: application/json + contentSchema: + $ref: ./NotificationDetailInviteResponse.yaml + x-vrchat-double-encoding-type: NotificationDetailInviteResponse +required: + - details +x-vrchat-double-encoding: true diff --git a/openapi/components/schemas/NotificationDetailMessage.yaml b/openapi/components/schemas/NotificationDetailMessage.yaml index f2aea75a..ab97b63d 100644 --- a/openapi/components/schemas/NotificationDetailMessage.yaml +++ b/openapi/components/schemas/NotificationDetailMessage.yaml @@ -1,2 +1,6 @@ title: NotificationDetailMessage type: object +properties: + # This exists to force generators to generate this struct, since it's referenced "manually" via `x-vrchat-double-encoding-type` + dontDeletePls: + type: integer diff --git a/openapi/components/schemas/NotificationDetailMessageEncoded.yaml b/openapi/components/schemas/NotificationDetailMessageEncoded.yaml new file mode 100644 index 00000000..627419e5 --- /dev/null +++ b/openapi/components/schemas/NotificationDetailMessageEncoded.yaml @@ -0,0 +1,12 @@ +title: NotificationDetailMessageEncoded +type: object +properties: + details: + type: string + contentMediaType: application/json + contentSchema: + $ref: ./NotificationDetailMessage.yaml + x-vrchat-double-encoding-type: NotificationDetailMessage +required: + - details +x-vrchat-double-encoding: true diff --git a/openapi/components/schemas/NotificationDetailRequestInviteEncoded.yaml b/openapi/components/schemas/NotificationDetailRequestInviteEncoded.yaml new file mode 100644 index 00000000..d793cd40 --- /dev/null +++ b/openapi/components/schemas/NotificationDetailRequestInviteEncoded.yaml @@ -0,0 +1,12 @@ +title: NotificationDetailRequestInviteEncoded +type: object +properties: + details: + type: string + contentMediaType: application/json + contentSchema: + $ref: ./NotificationDetailRequestInvite.yaml + x-vrchat-double-encoding-type: NotificationDetailRequestInvite +required: + - details +x-vrchat-double-encoding: true diff --git a/openapi/components/schemas/NotificationDetailRequestInviteResponseEncoded.yaml b/openapi/components/schemas/NotificationDetailRequestInviteResponseEncoded.yaml new file mode 100644 index 00000000..db0e9cd7 --- /dev/null +++ b/openapi/components/schemas/NotificationDetailRequestInviteResponseEncoded.yaml @@ -0,0 +1,12 @@ +title: NotificationDetailRequestInviteResponseEncoded +type: object +properties: + details: + type: string + contentMediaType: application/json + contentSchema: + $ref: ./NotificationDetailRequestInviteResponse.yaml + x-vrchat-double-encoding-type: NotificationDetailRequestInviteResponse +required: + - details +x-vrchat-double-encoding: true diff --git a/openapi/components/schemas/NotificationDetailVoteToKickEncoded.yaml b/openapi/components/schemas/NotificationDetailVoteToKickEncoded.yaml new file mode 100644 index 00000000..452f698e --- /dev/null +++ b/openapi/components/schemas/NotificationDetailVoteToKickEncoded.yaml @@ -0,0 +1,12 @@ +title: NotificationDetailVoteToKickEncoded +type: object +properties: + details: + type: string + contentMediaType: application/json + contentSchema: + $ref: ./NotificationDetailVoteToKick.yaml + x-vrchat-double-encoding-type: NotificationDetailVoteToKick +required: + - details +x-vrchat-double-encoding: true diff --git a/openapi/components/schemas/_index.yaml b/openapi/components/schemas/_index.yaml index 51bff9c5..625e15bb 100644 --- a/openapi/components/schemas/_index.yaml +++ b/openapi/components/schemas/_index.yaml @@ -1,15 +1,35 @@ NotificationDetailBoop: $ref: ./NotificationDetailBoop.yaml +NotificationDetailEncoded: + $ref: ./NotificationDetailEncoded.yaml +NotificationDetailFriendRequest: + $ref: ./NotificationDetailFriendRequest.yaml +NotificationDetailFriendRequestEncoded: + $ref: ./NotificationDetailFriendRequestEncoded.yaml NotificationDetailInvite: $ref: ./NotificationDetailInvite.yaml +NotificationDetailInviteEncoded: + $ref: ./NotificationDetailInviteEncoded.yaml NotificationDetailInviteResponse: $ref: ./NotificationDetailInviteResponse.yaml +NotificationDetailInviteResponseEncoded: + $ref: ./NotificationDetailInviteResponseEncoded.yaml +NotificationDetailMessage: + $ref: ./NotificationDetailMessage.yaml +NotificationDetailMessageEncoded: + $ref: ./NotificationDetailMessageEncoded.yaml NotificationDetailRequestInvite: $ref: ./NotificationDetailRequestInvite.yaml +NotificationDetailRequestInviteEncoded: + $ref: ./NotificationDetailRequestInviteEncoded.yaml NotificationDetailRequestInviteResponse: $ref: ./NotificationDetailRequestInviteResponse.yaml +NotificationDetailRequestInviteResponseEncoded: + $ref: ./NotificationDetailRequestInviteResponseEncoded.yaml NotificationDetailVoteToKick: $ref: ./NotificationDetailVoteToKick.yaml +NotificationDetailVoteToKickEncoded: + $ref: ./NotificationDetailVoteToKickEncoded.yaml NotificationV2: $ref: ./NotificationV2.yaml From 9d52b41d79c9c316751b2b9a43565790c8436c82 Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Thu, 24 Sep 2026 00:42:06 +0200 Subject: [PATCH 41/44] Lint --- openapi/components/schemas/NotificationBase.yaml | 1 - openapi/components/schemas/NotificationDetailEncoded.yaml | 7 ++++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/openapi/components/schemas/NotificationBase.yaml b/openapi/components/schemas/NotificationBase.yaml index c12f4efb..aaf0fe3e 100644 --- a/openapi/components/schemas/NotificationBase.yaml +++ b/openapi/components/schemas/NotificationBase.yaml @@ -27,7 +27,6 @@ properties: $ref: ./NotificationType.yaml required: - created_at - - details - id - message - senderUserId diff --git a/openapi/components/schemas/NotificationDetailEncoded.yaml b/openapi/components/schemas/NotificationDetailEncoded.yaml index 76f222fa..04754ac0 100644 --- a/openapi/components/schemas/NotificationDetailEncoded.yaml +++ b/openapi/components/schemas/NotificationDetailEncoded.yaml @@ -1,4 +1,9 @@ title: NotificationDetail +required: + - type +properties: + type: + $ref: ./NotificationType.yaml discriminator: mapping: boop: ./NotificationDetailBoopEncoded.yaml @@ -18,4 +23,4 @@ oneOf: - $ref: ./NotificationDetailMessageEncoded.yaml - $ref: ./NotificationDetailRequestInviteEncoded.yaml - $ref: ./NotificationDetailRequestInviteResponseEncoded.yaml - - $ref: ./NotificationDetailVoteToKickEncoded.yaml \ No newline at end of file + - $ref: ./NotificationDetailVoteToKickEncoded.yaml From 1343c42ec46f87a6f9466a742cf47c1f5db229ed Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Thu, 24 Sep 2026 00:45:10 +0200 Subject: [PATCH 42/44] Lint --- openapi/components/schemas/NotificationDetailEncoded.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openapi/components/schemas/NotificationDetailEncoded.yaml b/openapi/components/schemas/NotificationDetailEncoded.yaml index 04754ac0..e68a40b7 100644 --- a/openapi/components/schemas/NotificationDetailEncoded.yaml +++ b/openapi/components/schemas/NotificationDetailEncoded.yaml @@ -1,9 +1,9 @@ title: NotificationDetail -required: - - type properties: type: $ref: ./NotificationType.yaml +required: + - type discriminator: mapping: boop: ./NotificationDetailBoopEncoded.yaml From 21035fc6c11ffde6234615f715642e6c74d78f48 Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Thu, 24 Sep 2026 00:49:45 +0200 Subject: [PATCH 43/44] Remove duplicated type --- .../schemas/WebsocketNotification.yaml | 2 +- .../schemas/WebsocketNotificationBase.yaml | 33 ------------------- openapi/components/schemas/_index.yaml | 2 -- 3 files changed, 1 insertion(+), 36 deletions(-) delete mode 100644 openapi/components/schemas/WebsocketNotificationBase.yaml diff --git a/openapi/components/schemas/WebsocketNotification.yaml b/openapi/components/schemas/WebsocketNotification.yaml index 73d02878..6a99a4a3 100644 --- a/openapi/components/schemas/WebsocketNotification.yaml +++ b/openapi/components/schemas/WebsocketNotification.yaml @@ -1,6 +1,6 @@ title: WebsocketNotification allOf: - title: base - $ref: ./WebsocketNotificationBase.yaml + $ref: ./NotificationBase.yaml - title: detail $ref: ./WebsocketNotificationDetail.yaml diff --git a/openapi/components/schemas/WebsocketNotificationBase.yaml b/openapi/components/schemas/WebsocketNotificationBase.yaml deleted file mode 100644 index 9d482343..00000000 --- a/openapi/components/schemas/WebsocketNotificationBase.yaml +++ /dev/null @@ -1,33 +0,0 @@ -title: WebsocketNotificationBase -type: object -properties: - created_at: - type: string - format: date-time - id: - type: string - minLength: 1 - message: - type: string - example: This is a generated invite to VRChat Hub - receiverUserId: - $ref: ./UserID.yaml - description: Not included in notification objects received from the REST API - seen: - type: boolean - description: Not included in notification objects received from the Websocket API - default: false - senderUserId: - $ref: ./UserID.yaml - senderUsername: - type: ["null", string] - description: The name of the user who sent the notification. - minLength: 1 - type: - $ref: ./NotificationType.yaml -required: - - created_at - - id - - message - - senderUserId - - type diff --git a/openapi/components/schemas/_index.yaml b/openapi/components/schemas/_index.yaml index 625e15bb..5d99217a 100644 --- a/openapi/components/schemas/_index.yaml +++ b/openapi/components/schemas/_index.yaml @@ -102,8 +102,6 @@ WebsocketMessageNormal: $ref: ./WebsocketMessageNormal.yaml WebsocketNotification: $ref: ./WebsocketNotification.yaml -WebsocketNotificationBase: - $ref: ./WebsocketNotificationBase.yaml WebsocketNotificationDetail: $ref: ./WebsocketNotificationDetail.yaml WebsocketNotificationDetailBoop: From c357f095a27b14e70fd9053f5e0432c397cdc558 Mon Sep 17 00:00:00 2001 From: C0D3 M4513R <28912031+C0D3-M4513R@users.noreply.github.com> Date: Thu, 24 Sep 2026 09:41:47 +0200 Subject: [PATCH 44/44] Lint --- .../components/schemas/WebsocketContentRefreshActionType.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/openapi/components/schemas/WebsocketContentRefreshActionType.yaml b/openapi/components/schemas/WebsocketContentRefreshActionType.yaml index e172e5ec..6a8812c1 100644 --- a/openapi/components/schemas/WebsocketContentRefreshActionType.yaml +++ b/openapi/components/schemas/WebsocketContentRefreshActionType.yaml @@ -5,4 +5,5 @@ enum: - created - delete - deleted -example: created +examples: + - created