@tool
extends TwitchData

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

class_name TwitchUpdateAutoModSettings
	


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

	## The Automod level for hostility involving aggression.
	@export var aggression: int:
		set(val): 
			aggression = val
			track_data(&"aggression", val)
	
	## The Automod level for hostility involving name calling or insults.
	@export var bullying: int:
		set(val): 
			bullying = val
			track_data(&"bullying", val)
	
	## The Automod level for discrimination against disability.
	@export var disability: int:
		set(val): 
			disability = val
			track_data(&"disability", val)
	
	## The Automod level for discrimination against women.
	@export var misogyny: int:
		set(val): 
			misogyny = val
			track_data(&"misogyny", val)
	
	## The default AutoMod level for the broadcaster.
	@export var overall_level: int:
		set(val): 
			overall_level = val
			track_data(&"overall_level", val)
	
	## The Automod level for racial discrimination.
	@export var race_ethnicity_or_religion: int:
		set(val): 
			race_ethnicity_or_religion = val
			track_data(&"race_ethnicity_or_religion", val)
	
	## The Automod level for sexual content.
	@export var sex_based_terms: int:
		set(val): 
			sex_based_terms = val
			track_data(&"sex_based_terms", val)
	
	## The AutoMod level for discrimination based on sexuality, sex, or gender.
	@export var sexuality_sex_or_gender: int:
		set(val): 
			sexuality_sex_or_gender = val
			track_data(&"sexuality_sex_or_gender", val)
	
	## The Automod level for profanity.
	@export var swearing: int:
		set(val): 
			swearing = val
			track_data(&"swearing", val)
	var response: BufferedHTTPClient.ResponseData
	
	
	## Constructor with all required fields.
	static func create() -> Body:
		var body: Body = Body.new()
		return body
	
	
	static func from_json(d: Dictionary) -> Body:
		var result: Body = Body.new()
		if d.get("aggression", null) != null:
			result.aggression = d["aggression"]
		if d.get("bullying", null) != null:
			result.bullying = d["bullying"]
		if d.get("disability", null) != null:
			result.disability = d["disability"]
		if d.get("misogyny", null) != null:
			result.misogyny = d["misogyny"]
		if d.get("overall_level", null) != null:
			result.overall_level = d["overall_level"]
		if d.get("race_ethnicity_or_religion", null) != null:
			result.race_ethnicity_or_religion = d["race_ethnicity_or_religion"]
		if d.get("sex_based_terms", null) != null:
			result.sex_based_terms = d["sex_based_terms"]
		if d.get("sexuality_sex_or_gender", null) != null:
			result.sexuality_sex_or_gender = d["sexuality_sex_or_gender"]
		if d.get("swearing", null) != null:
			result.swearing = d["swearing"]
		return result
	


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

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