diff --git a/openapi/components/schemas/WebsocketEconomyUpdate.yaml b/openapi/components/schemas/WebsocketEconomyUpdate.yaml new file mode 100644 index 00000000..b1769466 --- /dev/null +++ b/openapi/components/schemas/WebsocketEconomyUpdate.yaml @@ -0,0 +1,7 @@ +title: WebsocketEconomyUpdate +type: object +properties: + dirtyPurchases: + type: boolean +required: + - dirtyPurchases diff --git a/openapi/components/schemas/WebsocketEconomyUpdateEncoded.yaml b/openapi/components/schemas/WebsocketEconomyUpdateEncoded.yaml new file mode 100644 index 00000000..c4aeb0eb --- /dev/null +++ b/openapi/components/schemas/WebsocketEconomyUpdateEncoded.yaml @@ -0,0 +1,14 @@ +title: WebsocketEconomyUpdateEncoded +type: object +properties: + content: + type: string + contentMediaType: application/json + contentSchema: + $ref: ./WebsocketEconomyUpdate.yaml + x-vrchat-double-encoding-type: WebsocketEconomyUpdate + type: + const: economy-update +required: + - content + - type diff --git a/openapi/components/schemas/WebsocketFriendOnline.yaml b/openapi/components/schemas/WebsocketFriendOnline.yaml index 9f51e998..07e2de31 100644 --- a/openapi/components/schemas/WebsocketFriendOnline.yaml +++ b/openapi/components/schemas/WebsocketFriendOnline.yaml @@ -7,10 +7,13 @@ properties: $ref: ./LocationID.yaml platform: $ref: ./Platform.yaml + user: + $ref: ./User.yaml userId: $ref: ./UserID.yaml required: - canRequestInvite - location - platform + - user - userId diff --git a/openapi/components/schemas/WebsocketGroupMemberUpdated.yaml b/openapi/components/schemas/WebsocketGroupMemberUpdated.yaml index e9cea6bf..824d2509 100644 --- a/openapi/components/schemas/WebsocketGroupMemberUpdated.yaml +++ b/openapi/components/schemas/WebsocketGroupMemberUpdated.yaml @@ -2,6 +2,7 @@ title: WebsocketGroupMemberUpdated type: object properties: member: + # Todo: Is this the correct GroupMember? $ref: ./GroupMemberLimitedUser.yaml required: - member diff --git a/openapi/components/schemas/WebsocketInstanceClosed.yaml b/openapi/components/schemas/WebsocketInstanceClosed.yaml new file mode 100644 index 00000000..7eb06f07 --- /dev/null +++ b/openapi/components/schemas/WebsocketInstanceClosed.yaml @@ -0,0 +1,7 @@ +title: WebsocketInstanceClosed +type: object +properties: + instanceLocation: + $ref: ./LocationID.yaml +required: + - instanceLocation diff --git a/openapi/components/schemas/WebsocketInstanceClosedEncoded.yaml b/openapi/components/schemas/WebsocketInstanceClosedEncoded.yaml new file mode 100644 index 00000000..e6333368 --- /dev/null +++ b/openapi/components/schemas/WebsocketInstanceClosedEncoded.yaml @@ -0,0 +1,14 @@ +title: WebsocketInstanceClosedEncoded +type: object +properties: + content: + type: string + contentMediaType: application/json + contentSchema: + $ref: ./WebsocketInstanceClosed.yaml + x-vrchat-double-encoding-type: WebsocketInstanceClosed + type: + const: instance-closed +required: + - content + - type diff --git a/openapi/components/schemas/WebsocketInstanceQueueJoined.yaml b/openapi/components/schemas/WebsocketInstanceQueueJoined.yaml index a8c96408..4f0743f3 100644 --- a/openapi/components/schemas/WebsocketInstanceQueueJoined.yaml +++ b/openapi/components/schemas/WebsocketInstanceQueueJoined.yaml @@ -1,10 +1,10 @@ title: WebsocketInstanceQueueJoined type: object properties: - location: + instanceLocation: $ref: ./LocationID.yaml position: type: integer required: - - location + - instanceLocation - position diff --git a/openapi/components/schemas/WebsocketInstanceQueueReady.yaml b/openapi/components/schemas/WebsocketInstanceQueueReady.yaml index d2647997..f473da1b 100644 --- a/openapi/components/schemas/WebsocketInstanceQueueReady.yaml +++ b/openapi/components/schemas/WebsocketInstanceQueueReady.yaml @@ -4,8 +4,8 @@ properties: expiry: type: string format: date-time - location: + instanceLocation: $ref: ./LocationID.yaml required: - expiry - - location + - instanceLocation diff --git a/openapi/components/schemas/WebsocketMessage.yaml b/openapi/components/schemas/WebsocketMessage.yaml index 7efad219..e74713dc 100644 --- a/openapi/components/schemas/WebsocketMessage.yaml +++ b/openapi/components/schemas/WebsocketMessage.yaml @@ -5,6 +5,7 @@ discriminator: mapping: clear-notification: ./WebsocketClearNotification.yaml content-refresh: ./WebsocketContentRefreshEncoded.yaml + economy-update: ./WebsocketEconomyUpdateEncoded.yaml friend-active: ./WebsocketFriendActiveEncoded.yaml friend-add: ./WebsocketFriendAddEncoded.yaml friend-delete: ./WebsocketFriendDeleteEncoded.yaml @@ -17,8 +18,10 @@ discriminator: group-member-updated: ./WebsocketGroupMemberUpdatedEncoded.yaml group-role-updated: ./WebsocketGroupRoleUpdatedEncoded.yaml hide-notification: ./WebsocketHideNotification.yaml + instance-closed: ./WebsocketInstanceClosedEncoded.yaml instance-queue-joined: ./WebsocketInstanceQueueJoinedEncoded.yaml instance-queue-ready: ./WebsocketInstanceQueueReadyEncoded.yaml + modified-image-update: ./WebsocketModifiedImageUpdateEncoded.yaml notification: ./WebsocketNotificationEncoded.yaml notification-v2: ./WebsocketNotificationV2Encoded.yaml notification-v2-delete: ./WebsocketNotificationV2DeleteEncoded.yaml @@ -33,6 +36,7 @@ discriminator: oneOf: - $ref: ./WebsocketClearNotification.yaml - $ref: ./WebsocketContentRefreshEncoded.yaml + - $ref: ./WebsocketEconomyUpdateEncoded.yaml - $ref: ./WebsocketFriendActiveEncoded.yaml - $ref: ./WebsocketFriendAddEncoded.yaml - $ref: ./WebsocketFriendDeleteEncoded.yaml @@ -45,8 +49,10 @@ oneOf: - $ref: ./WebsocketGroupMemberUpdatedEncoded.yaml - $ref: ./WebsocketGroupRoleUpdatedEncoded.yaml - $ref: ./WebsocketHideNotification.yaml + - $ref: ./WebsocketInstanceClosedEncoded.yaml - $ref: ./WebsocketInstanceQueueJoinedEncoded.yaml - $ref: ./WebsocketInstanceQueueReadyEncoded.yaml + - $ref: ./WebsocketModifiedImageUpdateEncoded.yaml - $ref: ./WebsocketNotificationEncoded.yaml - $ref: ./WebsocketNotificationV2Encoded.yaml - $ref: ./WebsocketNotificationV2DeleteEncoded.yaml diff --git a/openapi/components/schemas/WebsocketMessageError.yaml b/openapi/components/schemas/WebsocketMessageError.yaml new file mode 100644 index 00000000..48a3afcb --- /dev/null +++ b/openapi/components/schemas/WebsocketMessageError.yaml @@ -0,0 +1,9 @@ +title: WebsocketMessageError +type: object +description: A websocket message, which indicates that some sort of error has occurred +additionalProperties: true +properties: + err: + type: string +required: + - err diff --git a/openapi/components/schemas/WebsocketMessageUnknown.yaml b/openapi/components/schemas/WebsocketMessageUnknown.yaml index e46da4ec..28f8ed73 100644 --- a/openapi/components/schemas/WebsocketMessageUnknown.yaml +++ b/openapi/components/schemas/WebsocketMessageUnknown.yaml @@ -9,6 +9,7 @@ properties: enum: - clear-notification - content-refresh + - economy-update - friend-active - friend-add - friend-delete @@ -21,8 +22,10 @@ properties: - group-member-updated - group-role-updated - hide-notification + - instance-closed - instance-queue-joined - instance-queue-ready + - modified-image-update - notification - notification-v2 - notification-v2-delete diff --git a/openapi/components/schemas/WebsocketMessageUntyped.yaml b/openapi/components/schemas/WebsocketMessageUntyped.yaml new file mode 100644 index 00000000..c3399275 --- /dev/null +++ b/openapi/components/schemas/WebsocketMessageUntyped.yaml @@ -0,0 +1,5 @@ +title: WebsocketMessageUntyped +description: A websocket message whose `type` is unknown or missing +anyOf: + - $ref: ./WebsocketMessageError.yaml + - $ref: ./WebsocketMessageUnknown.yaml diff --git a/openapi/components/schemas/WebsocketModifiedImageUpdate.yaml b/openapi/components/schemas/WebsocketModifiedImageUpdate.yaml new file mode 100644 index 00000000..87881ed3 --- /dev/null +++ b/openapi/components/schemas/WebsocketModifiedImageUpdate.yaml @@ -0,0 +1,16 @@ +title: WebsocketModifiedImageUpdate +type: object +properties: + fileId: + $ref: ./FileID.yaml + needsProcessing: + type: boolean + pixelSize: + type: number + versionNumber: + type: number +required: + - fileId + - needsProcessing + - pixelSize + - versionNumber diff --git a/openapi/components/schemas/WebsocketModifiedImageUpdateEncoded.yaml b/openapi/components/schemas/WebsocketModifiedImageUpdateEncoded.yaml new file mode 100644 index 00000000..e2f197a0 --- /dev/null +++ b/openapi/components/schemas/WebsocketModifiedImageUpdateEncoded.yaml @@ -0,0 +1,14 @@ +title: WebsocketModifiedImageUpdateEncoded +type: object +properties: + content: + type: string + contentMediaType: application/json + contentSchema: + $ref: ./WebsocketModifiedImageUpdate.yaml + x-vrchat-double-encoding-type: WebsocketModifiedImageUpdate + type: + const: modified-image-update +required: + - content + - type diff --git a/openapi/components/schemas/WebsocketNotificationV2Delete.yaml b/openapi/components/schemas/WebsocketNotificationV2Delete.yaml index b4b4bee8..a18b8ae2 100644 --- a/openapi/components/schemas/WebsocketNotificationV2Delete.yaml +++ b/openapi/components/schemas/WebsocketNotificationV2Delete.yaml @@ -1,10 +1,12 @@ title: WebsocketNotificationV2Delete type: object properties: - id: - $ref: ./NotificationID.yaml + ids: + type: array + items: + $ref: ./NotificationID.yaml version: type: integer required: - - id + - ids - version diff --git a/openapi/components/schemas/WebsocketUserUpdate.yaml b/openapi/components/schemas/WebsocketUserUpdate.yaml index 50346146..fbb90aea 100644 --- a/openapi/components/schemas/WebsocketUserUpdate.yaml +++ b/openapi/components/schemas/WebsocketUserUpdate.yaml @@ -2,7 +2,7 @@ title: WebsocketUserUpdate type: object properties: user: - $ref: ./User.yaml + $ref: ./WebsocketUserUpdateUser.yaml userId: $ref: ./UserID.yaml required: diff --git a/openapi/components/schemas/WebsocketUserUpdateUser.yaml b/openapi/components/schemas/WebsocketUserUpdateUser.yaml new file mode 100644 index 00000000..d089adcc --- /dev/null +++ b/openapi/components/schemas/WebsocketUserUpdateUser.yaml @@ -0,0 +1,45 @@ +title: WebsocketUserUpdateUser +type: object +properties: + bio: + type: string + currentAvatar: + $ref: ./AvatarID.yaml + currentAvatarImageUrl: + type: string + currentAvatarThumbnailImageUrl: + type: string + displayName: + type: string + fallbackAvatar: + $ref: ./AvatarID.yaml + id: + $ref: ./UserID.yaml + profilePicOverride: + type: string + status: + $ref: ./UserStatus.yaml + statusDescription: + type: string + tags: + type: array + items: + $ref: ./Tag.yaml + userIcon: + type: string + username: + type: string +required: + - bio + - currentAvatar + - currentAvatarImageUrl + - currentAvatarThumbnailImageUrl + - displayName + - fallbackAvatar + - id + - profilePicOverride + - status + - statusDescription + - tags + - userIcon + - username diff --git a/openapi/components/schemas/_index.yaml b/openapi/components/schemas/_index.yaml index 709ff879..77e0c7cd 100644 --- a/openapi/components/schemas/_index.yaml +++ b/openapi/components/schemas/_index.yaml @@ -44,6 +44,10 @@ WebsocketContentRefresh: $ref: ./WebsocketContentRefresh.yaml WebsocketContentRefreshEncoded: $ref: ./WebsocketContentRefreshEncoded.yaml +WebsocketEconomyUpdate: + $ref: ./WebsocketEconomyUpdate.yaml +WebsocketEconomyUpdateEncoded: + $ref: ./WebsocketEconomyUpdateEncoded.yaml WebsocketFriendActive: $ref: ./WebsocketFriendActive.yaml WebsocketFriendActiveEncoded: @@ -90,6 +94,10 @@ WebsocketGroupRoleUpdatedEncoded: $ref: ./WebsocketGroupRoleUpdatedEncoded.yaml WebsocketHideNotification: $ref: ./WebsocketHideNotification.yaml +WebsocketInstanceClosed: + $ref: ./WebsocketInstanceClosed.yaml +WebsocketInstanceClosedEncoded: + $ref: ./WebsocketInstanceClosedEncoded.yaml WebsocketInstanceQueueJoined: $ref: ./WebsocketInstanceQueueJoined.yaml WebsocketInstanceQueueJoinedEncoded: @@ -100,9 +108,17 @@ WebsocketInstanceQueueReadyEncoded: $ref: ./WebsocketInstanceQueueReadyEncoded.yaml WebsocketMessage: $ref: ./WebsocketMessage.yaml +WebsocketMessageError: + $ref: ./WebsocketMessageError.yaml WebsocketMessageUnknown: $ref: ./WebsocketMessageUnknown.yaml +WebsocketMessageUntyped: + $ref: ./WebsocketMessageUntyped.yaml +WebsocketModifiedImageUpdate: + $ref: ./WebsocketModifiedImageUpdate.yaml +WebsocketModifiedImageUpdateEncoded: + $ref: ./WebsocketModifiedImageUpdateEncoded.yaml WebsocketNotification: $ref: ./WebsocketNotification.yaml WebsocketNotificationDetailBoop: @@ -153,3 +169,5 @@ WebsocketUserUpdate: $ref: ./WebsocketUserUpdate.yaml WebsocketUserUpdateEncoded: $ref: ./WebsocketUserUpdateEncoded.yaml +WebsocketUserUpdateUser: + $ref: ./WebsocketUserUpdateUser.yaml