232 lines
7 KiB
GDScript3
232 lines
7 KiB
GDScript3
|
|
@tool
|
|||
|
|
extends TwitchData
|
|||
|
|
|
|||
|
|
# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.
|
|||
|
|
|
|||
|
|
##
|
|||
|
|
## #/components/schemas/ExtensionTransaction
|
|||
|
|
class_name TwitchExtensionTransaction
|
|||
|
|
|
|||
|
|
## An ID that identifies the transaction.
|
|||
|
|
@export var id: String:
|
|||
|
|
set(val):
|
|||
|
|
id = val
|
|||
|
|
track_data(&"id", val)
|
|||
|
|
|
|||
|
|
## The UTC date and time (in RFC3339 format) of the transaction.
|
|||
|
|
@export var timestamp: String:
|
|||
|
|
set(val):
|
|||
|
|
timestamp = val
|
|||
|
|
track_data(&"timestamp", val)
|
|||
|
|
|
|||
|
|
## The ID of the broadcaster that owns the channel where the transaction occurred.
|
|||
|
|
@export var broadcaster_id: String:
|
|||
|
|
set(val):
|
|||
|
|
broadcaster_id = val
|
|||
|
|
track_data(&"broadcaster_id", val)
|
|||
|
|
|
|||
|
|
## The broadcaster’s login name.
|
|||
|
|
@export var broadcaster_login: String:
|
|||
|
|
set(val):
|
|||
|
|
broadcaster_login = val
|
|||
|
|
track_data(&"broadcaster_login", val)
|
|||
|
|
|
|||
|
|
## The broadcaster’s display name.
|
|||
|
|
@export var broadcaster_name: String:
|
|||
|
|
set(val):
|
|||
|
|
broadcaster_name = val
|
|||
|
|
track_data(&"broadcaster_name", val)
|
|||
|
|
|
|||
|
|
## The ID of the user that purchased the digital product.
|
|||
|
|
@export var user_id: String:
|
|||
|
|
set(val):
|
|||
|
|
user_id = val
|
|||
|
|
track_data(&"user_id", val)
|
|||
|
|
|
|||
|
|
## The user’s login name.
|
|||
|
|
@export var user_login: String:
|
|||
|
|
set(val):
|
|||
|
|
user_login = val
|
|||
|
|
track_data(&"user_login", val)
|
|||
|
|
|
|||
|
|
## The user’s display name.
|
|||
|
|
@export var user_name: String:
|
|||
|
|
set(val):
|
|||
|
|
user_name = val
|
|||
|
|
track_data(&"user_name", val)
|
|||
|
|
|
|||
|
|
## The type of transaction. Possible values are:
|
|||
|
|
##
|
|||
|
|
## * BITS\_IN\_EXTENSION
|
|||
|
|
@export var product_type: String:
|
|||
|
|
set(val):
|
|||
|
|
product_type = val
|
|||
|
|
track_data(&"product_type", val)
|
|||
|
|
|
|||
|
|
## Contains details about the digital product.
|
|||
|
|
@export var product_data: ProductData:
|
|||
|
|
set(val):
|
|||
|
|
product_data = val
|
|||
|
|
track_data(&"product_data", val)
|
|||
|
|
var response: BufferedHTTPClient.ResponseData
|
|||
|
|
|
|||
|
|
|
|||
|
|
## Constructor with all required fields.
|
|||
|
|
static func create(_id: String, _timestamp: String, _broadcaster_id: String, _broadcaster_login: String, _broadcaster_name: String, _user_id: String, _user_login: String, _user_name: String, _product_type: String, _product_data: ProductData) -> TwitchExtensionTransaction:
|
|||
|
|
var twitch_extension_transaction: TwitchExtensionTransaction = TwitchExtensionTransaction.new()
|
|||
|
|
twitch_extension_transaction.id = _id
|
|||
|
|
twitch_extension_transaction.timestamp = _timestamp
|
|||
|
|
twitch_extension_transaction.broadcaster_id = _broadcaster_id
|
|||
|
|
twitch_extension_transaction.broadcaster_login = _broadcaster_login
|
|||
|
|
twitch_extension_transaction.broadcaster_name = _broadcaster_name
|
|||
|
|
twitch_extension_transaction.user_id = _user_id
|
|||
|
|
twitch_extension_transaction.user_login = _user_login
|
|||
|
|
twitch_extension_transaction.user_name = _user_name
|
|||
|
|
twitch_extension_transaction.product_type = _product_type
|
|||
|
|
twitch_extension_transaction.product_data = _product_data
|
|||
|
|
return twitch_extension_transaction
|
|||
|
|
|
|||
|
|
|
|||
|
|
static func from_json(d: Dictionary) -> TwitchExtensionTransaction:
|
|||
|
|
var result: TwitchExtensionTransaction = TwitchExtensionTransaction.new()
|
|||
|
|
if d.get("id", null) != null:
|
|||
|
|
result.id = d["id"]
|
|||
|
|
if d.get("timestamp", null) != null:
|
|||
|
|
result.timestamp = d["timestamp"]
|
|||
|
|
if d.get("broadcaster_id", null) != null:
|
|||
|
|
result.broadcaster_id = d["broadcaster_id"]
|
|||
|
|
if d.get("broadcaster_login", null) != null:
|
|||
|
|
result.broadcaster_login = d["broadcaster_login"]
|
|||
|
|
if d.get("broadcaster_name", null) != null:
|
|||
|
|
result.broadcaster_name = d["broadcaster_name"]
|
|||
|
|
if d.get("user_id", null) != null:
|
|||
|
|
result.user_id = d["user_id"]
|
|||
|
|
if d.get("user_login", null) != null:
|
|||
|
|
result.user_login = d["user_login"]
|
|||
|
|
if d.get("user_name", null) != null:
|
|||
|
|
result.user_name = d["user_name"]
|
|||
|
|
if d.get("product_type", null) != null:
|
|||
|
|
result.product_type = d["product_type"]
|
|||
|
|
if d.get("product_data", null) != null:
|
|||
|
|
result.product_data = ProductData.from_json(d["product_data"])
|
|||
|
|
return result
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
## Contains details about the digital product.
|
|||
|
|
## #/components/schemas/ExtensionTransaction/ProductData
|
|||
|
|
class ProductData extends TwitchData:
|
|||
|
|
|
|||
|
|
## An ID that identifies the digital product.
|
|||
|
|
@export var sku: String:
|
|||
|
|
set(val):
|
|||
|
|
sku = val
|
|||
|
|
track_data(&"sku", val)
|
|||
|
|
|
|||
|
|
## Set to `twitch.ext.` \+ `<the extension's ID>`.
|
|||
|
|
@export var domain: String:
|
|||
|
|
set(val):
|
|||
|
|
domain = val
|
|||
|
|
track_data(&"domain", val)
|
|||
|
|
|
|||
|
|
## Contains details about the digital product’s cost.
|
|||
|
|
@export var cost: Cost:
|
|||
|
|
set(val):
|
|||
|
|
cost = val
|
|||
|
|
track_data(&"cost", val)
|
|||
|
|
|
|||
|
|
## A Boolean value that determines whether the product is in development. Is **true** if the digital product is in development and cannot be exchanged.
|
|||
|
|
@export var inDevelopment: bool:
|
|||
|
|
set(val):
|
|||
|
|
inDevelopment = val
|
|||
|
|
track_data(&"inDevelopment", val)
|
|||
|
|
|
|||
|
|
## The name of the digital product.
|
|||
|
|
@export var displayName: String:
|
|||
|
|
set(val):
|
|||
|
|
displayName = val
|
|||
|
|
track_data(&"displayName", val)
|
|||
|
|
|
|||
|
|
## This field is always empty since you may purchase only unexpired products.
|
|||
|
|
@export var expiration: String:
|
|||
|
|
set(val):
|
|||
|
|
expiration = val
|
|||
|
|
track_data(&"expiration", val)
|
|||
|
|
|
|||
|
|
## A Boolean value that determines whether the data was broadcast to all instances of the extension. Is **true** if the data was broadcast to all instances.
|
|||
|
|
@export var broadcast: bool:
|
|||
|
|
set(val):
|
|||
|
|
broadcast = val
|
|||
|
|
track_data(&"broadcast", val)
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
## Constructor with all required fields.
|
|||
|
|
static func create(_sku: String, _domain: String, _cost: Cost, _inDevelopment: bool, _displayName: String, _expiration: String, _broadcast: bool) -> ProductData:
|
|||
|
|
var product_data: ProductData = ProductData.new()
|
|||
|
|
product_data.sku = _sku
|
|||
|
|
product_data.domain = _domain
|
|||
|
|
product_data.cost = _cost
|
|||
|
|
product_data.inDevelopment = _inDevelopment
|
|||
|
|
product_data.displayName = _displayName
|
|||
|
|
product_data.expiration = _expiration
|
|||
|
|
product_data.broadcast = _broadcast
|
|||
|
|
return product_data
|
|||
|
|
|
|||
|
|
|
|||
|
|
static func from_json(d: Dictionary) -> ProductData:
|
|||
|
|
var result: ProductData = ProductData.new()
|
|||
|
|
if d.get("sku", null) != null:
|
|||
|
|
result.sku = d["sku"]
|
|||
|
|
if d.get("domain", null) != null:
|
|||
|
|
result.domain = d["domain"]
|
|||
|
|
if d.get("cost", null) != null:
|
|||
|
|
result.cost = Cost.from_json(d["cost"])
|
|||
|
|
if d.get("inDevelopment", null) != null:
|
|||
|
|
result.inDevelopment = d["inDevelopment"]
|
|||
|
|
if d.get("displayName", null) != null:
|
|||
|
|
result.displayName = d["displayName"]
|
|||
|
|
if d.get("expiration", null) != null:
|
|||
|
|
result.expiration = d["expiration"]
|
|||
|
|
if d.get("broadcast", null) != null:
|
|||
|
|
result.broadcast = d["broadcast"]
|
|||
|
|
return result
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
## Contains details about the digital product’s cost.
|
|||
|
|
## #/components/schemas/ExtensionTransaction/ProductData/Cost
|
|||
|
|
class Cost extends TwitchData:
|
|||
|
|
|
|||
|
|
## The amount exchanged for the digital product.
|
|||
|
|
@export var amount: int:
|
|||
|
|
set(val):
|
|||
|
|
amount = val
|
|||
|
|
track_data(&"amount", val)
|
|||
|
|
|
|||
|
|
## The type of currency exchanged. Possible values are:
|
|||
|
|
##
|
|||
|
|
## * bits
|
|||
|
|
@export var type: String:
|
|||
|
|
set(val):
|
|||
|
|
type = val
|
|||
|
|
track_data(&"type", val)
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
## Constructor with all required fields.
|
|||
|
|
static func create(_amount: int, _type: String) -> Cost:
|
|||
|
|
var cost: Cost = Cost.new()
|
|||
|
|
cost.amount = _amount
|
|||
|
|
cost.type = _type
|
|||
|
|
return cost
|
|||
|
|
|
|||
|
|
|
|||
|
|
static func from_json(d: Dictionary) -> Cost:
|
|||
|
|
var result: Cost = Cost.new()
|
|||
|
|
if d.get("amount", null) != null:
|
|||
|
|
result.amount = d["amount"]
|
|||
|
|
if d.get("type", null) != null:
|
|||
|
|
result.type = d["type"]
|
|||
|
|
return result
|
|||
|
|
|