# Generated by tools/generate_api_types.gd from server/openapi.json. # Do not edit; change the server and generate again. class_name SoundtrackWithSongs extends RefCounted ## The [code]SoundtrackWithSongs[/code] schema of the MusicServer API. ## 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 songs: Array[SongInfoForStats] var soundtrack_id: int var soundtrack_last_played: String var soundtrack_name: String var soundtrack_played: int var soundtrack_uuid: String ## Reads the fields from parsed JSON. Missing fields keep their defaults. static func from_dict(data: Dictionary) -> SoundtrackWithSongs: var result: SoundtrackWithSongs = SoundtrackWithSongs.new() result.alternative_names.assign(ApiJson.get_array(data, "alternative_names")) result.cover_modified = ApiJson.get_int(data, "cover_modified", 0) for item: Variant in ApiJson.get_array(data, "songs"): if item is Dictionary: result.songs.append(SongInfoForStats.from_dict(item)) result.soundtrack_id = ApiJson.get_int(data, "soundtrack_id", 0) result.soundtrack_last_played = ApiJson.get_string(data, "soundtrack_last_played", "") result.soundtrack_name = ApiJson.get_string(data, "soundtrack_name", "") result.soundtrack_played = ApiJson.get_int(data, "soundtrack_played", 0) result.soundtrack_uuid = ApiJson.get_string(data, "soundtrack_uuid", "") return result ## Returns the fields under their JSON names, ready for [method JSON.stringify]. func to_dict() -> Dictionary: return { "alternative_names": alternative_names, "cover_modified": cover_modified, "songs": songs.map(func(item: SongInfoForStats) -> Dictionary: return item.to_dict()), "soundtrack_id": soundtrack_id, "soundtrack_last_played": soundtrack_last_played, "soundtrack_name": soundtrack_name, "soundtrack_played": soundtrack_played, "soundtrack_uuid": soundtrack_uuid, }