262 lines
No EOL
8 KiB
GDScript
262 lines
No EOL
8 KiB
GDScript
@tool
|
||
extends TwitchData
|
||
|
||
# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.
|
||
|
||
class_name TwitchGetConduitShards
|
||
|
||
|
||
|
||
##
|
||
## #/components/schemas/GetConduitShardsResponse
|
||
class Response extends TwitchData:
|
||
|
||
## List of information about a conduit's shards.
|
||
@export var data: Array[ResponseData]:
|
||
set(val):
|
||
data = val
|
||
track_data(&"data", val)
|
||
|
||
## Contains information used to page through a list of results. The object is empty if there are no more pages left to page through.
|
||
@export var pagination: ResponsePagination:
|
||
set(val):
|
||
pagination = val
|
||
track_data(&"pagination", val)
|
||
var response: BufferedHTTPClient.ResponseData
|
||
|
||
|
||
## Constructor with all required fields.
|
||
static func create(_data: Array[ResponseData]) -> Response:
|
||
var response: Response = Response.new()
|
||
response.data = _data
|
||
return response
|
||
|
||
|
||
static func from_json(d: Dictionary) -> Response:
|
||
var result: Response = Response.new()
|
||
if d.get("data", null) != null:
|
||
for value in d["data"]:
|
||
result.data.append(ResponseData.from_json(value))
|
||
if d.get("pagination", null) != null:
|
||
result.pagination = ResponsePagination.from_json(d["pagination"])
|
||
return result
|
||
|
||
|
||
|
||
func _has_pagination() -> bool:
|
||
if pagination == null: return false
|
||
if pagination.cursor == null || pagination.cursor == "": return false
|
||
return true
|
||
|
||
var _next_page: Callable
|
||
var _cur_iter: int = 0
|
||
|
||
|
||
func next_page() -> Response:
|
||
var response: Response = await _next_page.call()
|
||
_cur_iter = 0
|
||
_next_page = response._next_page
|
||
data = response.data
|
||
pagination = response.pagination
|
||
|
||
return response
|
||
|
||
|
||
func _iter_init(iter: Array) -> bool:
|
||
if data.is_empty(): return false
|
||
iter[0] = data[0]
|
||
return data.size() > 0
|
||
|
||
|
||
func _iter_next(iter: Array) -> bool:
|
||
if data.size() - 1 > _cur_iter:
|
||
_cur_iter += 1
|
||
iter[0] = data[_cur_iter]
|
||
if data.size() - 1 == _cur_iter && not _has_pagination():
|
||
return false
|
||
return true
|
||
|
||
|
||
func _iter_get(iter: Variant) -> Variant:
|
||
if data.size() - 1 == _cur_iter && _has_pagination():
|
||
await next_page()
|
||
return iter
|
||
|
||
|
||
## List of information about a conduit's shards.
|
||
## #/components/schemas/GetConduitShardsResponse/Data
|
||
class ResponseData extends TwitchData:
|
||
|
||
## Shard ID.
|
||
@export var id: String:
|
||
set(val):
|
||
id = val
|
||
track_data(&"id", val)
|
||
|
||
## The shard status. The subscriber receives events only for enabled shards. Possible values are:
|
||
##
|
||
## * enabled — The shard is enabled.
|
||
## * webhook\_callback\_verification\_pending — The shard is pending verification of the specified callback URL.
|
||
## * webhook\_callback\_verification\_failed — The specified callback URL failed verification.
|
||
## * notification\_failures\_exceeded — The notification delivery failure rate was too high.
|
||
## * websocket\_disconnected — The client closed the connection.
|
||
## * websocket\_failed\_ping\_pong — The client failed to respond to a ping message.
|
||
## * websocket\_received\_inbound\_traffic — The client sent a non-pong message. Clients may only send pong messages (and only in response to a ping message).
|
||
## * websocket\_internal\_error — The Twitch WebSocket server experienced an unexpected error.
|
||
## * websocket\_network\_timeout — The Twitch WebSocket server timed out writing the message to the client.
|
||
## * websocket\_network\_error — The Twitch WebSocket server experienced a network error writing the message to the client.
|
||
## * websocket\_failed\_to\_reconnect - The client failed to reconnect to the Twitch WebSocket server within the required time after a Reconnect Message.
|
||
@export var status: String:
|
||
set(val):
|
||
status = val
|
||
track_data(&"status", val)
|
||
|
||
## The transport details used to send the notifications.
|
||
@export var transport: ResponseTransport:
|
||
set(val):
|
||
transport = val
|
||
track_data(&"transport", val)
|
||
|
||
|
||
|
||
## Constructor with all required fields.
|
||
static func create(_id: String, _status: String, _transport: ResponseTransport) -> ResponseData:
|
||
var response_data: ResponseData = ResponseData.new()
|
||
response_data.id = _id
|
||
response_data.status = _status
|
||
response_data.transport = _transport
|
||
return response_data
|
||
|
||
|
||
static func from_json(d: Dictionary) -> ResponseData:
|
||
var result: ResponseData = ResponseData.new()
|
||
if d.get("id", null) != null:
|
||
result.id = d["id"]
|
||
if d.get("status", null) != null:
|
||
result.status = d["status"]
|
||
if d.get("transport", null) != null:
|
||
result.transport = ResponseTransport.from_json(d["transport"])
|
||
return result
|
||
|
||
|
||
|
||
## The transport details used to send the notifications.
|
||
## #/components/schemas/GetConduitShardsResponse/Data/Transport
|
||
class ResponseTransport extends TwitchData:
|
||
|
||
## The transport method. Possible values are:
|
||
##
|
||
## * webhook
|
||
## * websocket
|
||
@export var method: String:
|
||
set(val):
|
||
method = val
|
||
track_data(&"method", val)
|
||
|
||
## The callback URL where the notifications are sent. Included only if method is set to webhook.
|
||
@export var callback: String:
|
||
set(val):
|
||
callback = val
|
||
track_data(&"callback", val)
|
||
|
||
## An ID that identifies the WebSocket that notifications are sent to. Included only if method is set to websocket.
|
||
@export var session_id: String:
|
||
set(val):
|
||
session_id = val
|
||
track_data(&"session_id", val)
|
||
|
||
## The UTC date and time that the WebSocket connection was established. Included only if method is set to websocket.
|
||
@export var connected_at: String:
|
||
set(val):
|
||
connected_at = val
|
||
track_data(&"connected_at", val)
|
||
|
||
## The UTC date and time that the WebSocket connection was lost. Included only if method is set to websocket.
|
||
@export var disconnected_at: String:
|
||
set(val):
|
||
disconnected_at = val
|
||
track_data(&"disconnected_at", val)
|
||
|
||
|
||
|
||
## Constructor with all required fields.
|
||
static func create(_method: String) -> ResponseTransport:
|
||
var response_transport: ResponseTransport = ResponseTransport.new()
|
||
response_transport.method = _method
|
||
return response_transport
|
||
|
||
|
||
static func from_json(d: Dictionary) -> ResponseTransport:
|
||
var result: ResponseTransport = ResponseTransport.new()
|
||
if d.get("method", null) != null:
|
||
result.method = d["method"]
|
||
if d.get("callback", null) != null:
|
||
result.callback = d["callback"]
|
||
if d.get("session_id", null) != null:
|
||
result.session_id = d["session_id"]
|
||
if d.get("connected_at", null) != null:
|
||
result.connected_at = d["connected_at"]
|
||
if d.get("disconnected_at", null) != null:
|
||
result.disconnected_at = d["disconnected_at"]
|
||
return result
|
||
|
||
|
||
|
||
## Contains information used to page through a list of results. The object is empty if there are no more pages left to page through.
|
||
## #/components/schemas/GetConduitShardsResponse/Pagination
|
||
class ResponsePagination extends TwitchData:
|
||
|
||
## The cursor used to get the next page of results. Use the cursor to set the request’s after query parameter.
|
||
@export var cursor: String:
|
||
set(val):
|
||
cursor = val
|
||
track_data(&"cursor", val)
|
||
|
||
|
||
|
||
## Constructor with all required fields.
|
||
static func create() -> ResponsePagination:
|
||
var response_pagination: ResponsePagination = ResponsePagination.new()
|
||
return response_pagination
|
||
|
||
|
||
static func from_json(d: Dictionary) -> ResponsePagination:
|
||
var result: ResponsePagination = ResponsePagination.new()
|
||
if d.get("cursor", null) != null:
|
||
result.cursor = d["cursor"]
|
||
return result
|
||
|
||
|
||
|
||
## All optional parameters for TwitchAPI.get_conduit_shards
|
||
## #/components/schemas/GetConduitShardsOpt
|
||
class Opt extends TwitchData:
|
||
|
||
## Status to filter by.
|
||
@export var status: String:
|
||
set(val):
|
||
status = val
|
||
track_data(&"status", val)
|
||
|
||
## The cursor used to get the next page of results. The pagination object in the response contains the cursor’s value.
|
||
@export var after: String:
|
||
set(val):
|
||
after = val
|
||
track_data(&"after", val)
|
||
|
||
|
||
|
||
## Constructor with all required fields.
|
||
static func create() -> Opt:
|
||
var opt: Opt = Opt.new()
|
||
return opt
|
||
|
||
|
||
static func from_json(d: Dictionary) -> Opt:
|
||
var result: Opt = Opt.new()
|
||
if d.get("status", null) != null:
|
||
result.status = d["status"]
|
||
if d.get("after", null) != null:
|
||
result.after = d["after"]
|
||
return result
|
||
|