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

import Foundation

public struct MiniClipOrPlaylistSchema: Codable, Equatable, Identifiable {
    public var id: UUID
    public var imageUrl: String?
    public var title: String
    public var type: `Type`?
    public var url: String?

    /// Type
    public struct `Type`: RawRepresentable, Codable, Equatable {
        public let rawValue: String

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

        public static let clip = Self(rawValue: "clip")
        public static let playlist = Self(rawValue: "playlist")
        public static let url = Self(rawValue: "url")
    }

    public init(id: UUID, imageUrl: String? = nil, title: String, type: `Type`? = nil, url: String? = nil) {
        self.id = id
        self.imageUrl = imageUrl
        self.title = title
        self.type = type
        self.url = url
    }
}
