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

import Foundation

public struct CreateContestSpec: Codable, Equatable {
    public var baseClipIds: [String]?
    public var canDownloadRemixes: Bool
    public var contestBanner: String?
    public var contestBannerMobile: String?
    public var contestCategory: String?
    /// ContestVisibility
    public var contestVisibilityLevel: ContestVisibility?
    public var description: String
    public var endTime: Date?
    public var judgingEnd: Date?
    public var judgingStart: Date?
    public var masterContestClipId: String?
    public var name: String
    public var slug: String?
    public var startTime: Date?
    /// ContestVisibility
    public var submissionsVisibilityLevel: ContestVisibility?
    public var type: String
    public var winnersAnnouncedDate: Date?

    public init(baseClipIds: [String]? = nil, canDownloadRemixes: Bool? = nil, contestBanner: String? = nil, contestBannerMobile: String? = nil, contestCategory: String? = nil, contestVisibilityLevel: ContestVisibility? = nil, description: String, endTime: Date? = nil, judgingEnd: Date? = nil, judgingStart: Date? = nil, masterContestClipId: String? = nil, name: String, slug: String? = nil, startTime: Date? = nil, submissionsVisibilityLevel: ContestVisibility? = nil, type: String, winnersAnnouncedDate: Date? = nil) {
        self.baseClipIds = baseClipIds
        self.canDownloadRemixes = canDownloadRemixes ?? false
        self.contestBanner = contestBanner
        self.contestBannerMobile = contestBannerMobile
        self.contestCategory = contestCategory
        self.contestVisibilityLevel = contestVisibilityLevel
        self.description = description
        self.endTime = endTime
        self.judgingEnd = judgingEnd
        self.judgingStart = judgingStart
        self.masterContestClipId = masterContestClipId
        self.name = name
        self.slug = slug
        self.startTime = startTime
        self.submissionsVisibilityLevel = submissionsVisibilityLevel
        self.type = type
        self.winnersAnnouncedDate = winnersAnnouncedDate
    }
}
