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

import Foundation

public struct PromoCtaSchema: Codable, Equatable {
    public var action: Action?
    public var backgroundColor: String?
    public var label: String?
    public var textColor: String?
    public var url: String?

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

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

        public static let play = Self(rawValue: "play")
        public static let remix = Self(rawValue: "remix")
        public static let cover = Self(rawValue: "cover")
        public static let extend = Self(rawValue: "extend")
        public static let externalLink = Self(rawValue: "external_link")
    }

    public init(action: Action? = nil, backgroundColor: String? = nil, label: String? = nil, textColor: String? = nil, url: String? = nil) {
        self.action = action
        self.backgroundColor = backgroundColor
        self.label = label
        self.textColor = textColor
        self.url = url
    }
}
