# Generated by tools/generate_api_types.gd from server/openapi.json. # Do not edit; change the server and generate again. class_name SoundtrackWithSongList extends RefCounted ## The [code]SoundtrackWithSongList[/code] schema of the MusicServer API. var added: String ## Other names the soundtrack is known by var alternative_names: Array[String] ## When the cover last changed, in Unix seconds. Missing when there is no cover. var cover_modified: int var last_played: String var name: String var songs: Array[Song] var times_played: int var uuid: String ## Reads the fields from parsed JSON. Missing fields keep their defaults. static func from_dict(data: Dictionary) -> SoundtrackWithSongList: var result: SoundtrackWithSongList = SoundtrackWithSongList.new() result.added = ApiJson.get_string(data, "added", "") result.alternative_names.assign(ApiJson.get_array(data, "alternative_names")) result.cover_modified = ApiJson.get_int(data, "cover_modified", 0) result.last_played = ApiJson.get_string(data, "last_played", "") result.name = ApiJson.get_string(data, "name", "") for item: Variant in ApiJson.get_array(data, "songs"): if item is Dictionary: result.songs.append(Song.from_dict(item)) result.times_played = ApiJson.get_int(data, "times_played", 0) result.uuid = ApiJson.get_string(data, "uuid", "") return result ## Returns the fields under their JSON names, ready for [method JSON.stringify]. func to_dict() -> Dictionary: return { "added": added, "alternative_names": alternative_names, "cover_modified": cover_modified, "last_played": last_played, "name": name, "songs": songs.map(func(item: Song) -> Dictionary: return item.to_dict()), "times_played": times_played, "uuid": uuid, }