@tool
extends TwitchData

# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.

class_name TwitchCreateStreamMarker
	


## 
## #/components/schemas/CreateStreamMarkerBody
class Body extends TwitchData:

	## The ID of the broadcaster that’s streaming content. This ID must match the user ID in the access token or the user in the access token must be one of the broadcaster’s editors.
	@export var user_id: String:
		set(val): 
			user_id = val
			track_data(&"user_id", val)
	
	## A short description of the marker to help the user remember why they marked the location. The maximum length of the description is 140 characters.
	@export var description: String:
		set(val): 
			description = val
			track_data(&"description", val)
	var response: BufferedHTTPClient.ResponseData
	
	
	## Constructor with all required fields.
	static func create(_user_id: String) -> Body:
		var body: Body = Body.new()
		body.user_id = _user_id
		return body
	
	
	static func from_json(d: Dictionary) -> Body:
		var result: Body = Body.new()
		if d.get("user_id", null) != null:
			result.user_id = d["user_id"]
		if d.get("description", null) != null:
			result.description = d["description"]
		return result
	


## 
## #/components/schemas/CreateStreamMarkerResponse
class Response extends TwitchData:

	## A list that contains the single marker that you added.
	@export var data: Array[TwitchStreamMarkerCreated]:
		set(val): 
			data = val
			track_data(&"data", val)
	var response: BufferedHTTPClient.ResponseData
	
	
	## Constructor with all required fields.
	static func create(_data: Array[TwitchStreamMarkerCreated]) -> 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(TwitchStreamMarkerCreated.from_json(value))
		return result
	