@tool
extends TwitchData

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

## 
## #/components/schemas/StreamMarkerCreated
class_name TwitchStreamMarkerCreated
	
## An ID that identifies this marker.
@export var id: String:
	set(val): 
		id = val
		track_data(&"id", val)

## The UTC date and time (in RFC3339 format) of when the user created the marker.
@export var created_at: String:
	set(val): 
		created_at = val
		track_data(&"created_at", val)

## The relative offset (in seconds) of the marker from the beginning of the stream.
@export var position_seconds: int:
	set(val): 
		position_seconds = val
		track_data(&"position_seconds", val)

## A description that the user gave the marker to help them remember why they marked the location.
@export var description: String:
	set(val): 
		description = val
		track_data(&"description", val)
var response: BufferedHTTPClient.ResponseData


## Constructor with all required fields.
static func create(_id: String, _created_at: String, _position_seconds: int, _description: String) -> TwitchStreamMarkerCreated:
	var twitch_stream_marker_created: TwitchStreamMarkerCreated = TwitchStreamMarkerCreated.new()
	twitch_stream_marker_created.id = _id
	twitch_stream_marker_created.created_at = _created_at
	twitch_stream_marker_created.position_seconds = _position_seconds
	twitch_stream_marker_created.description = _description
	return twitch_stream_marker_created


static func from_json(d: Dictionary) -> TwitchStreamMarkerCreated:
	var result: TwitchStreamMarkerCreated = TwitchStreamMarkerCreated.new()
	if d.get("id", null) != null:
		result.id = d["id"]
	if d.get("created_at", null) != null:
		result.created_at = d["created_at"]
	if d.get("position_seconds", null) != null:
		result.position_seconds = d["position_seconds"]
	if d.get("description", null) != null:
		result.description = d["description"]
	return result
