// Generated by Create API
// https://github.com/CreateAPI/CreateAPI

import Foundation

public struct BadgeSchema: Codable, Equatable {
    /// BadgeThemeData
    public var dark: BadgeThemeData
    public var displayName: String
    public var iconKey: IconKey?
    /// BadgeThemeData
    public var light: BadgeThemeData

    public struct IconKey: RawRepresentable, Codable, Equatable {
        public let rawValue: String

        public init(rawValue: String) {
            self.rawValue = rawValue
        }

        public static let uploaded = Self(rawValue: "uploaded")
        public static let stem = Self(rawValue: "stem")
        public static let fullSong = Self(rawValue: "full_song")
        public static let section = Self(rawValue: "section")
        public static let part = Self(rawValue: "part")
    }

    public init(dark: BadgeThemeData, displayName: String, iconKey: IconKey? = nil, light: BadgeThemeData) {
        self.dark = dark
        self.displayName = displayName
        self.iconKey = iconKey
        self.light = light
    }
}
