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

import Foundation

public struct GenericGetCommentsRequest: Codable, Equatable, Identifiable {
    public var cursor: String?
    public var deeplink: Bool
    /// GenericFeedItemParams
    public var feedParams: GenericFeedItemParams
    public var id: String?
    public var order: Order?
    public var pageSize: Int?

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

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

        public static let newest = Self(rawValue: "newest")
        public static let oldest = Self(rawValue: "oldest")
        public static let mostLiked = Self(rawValue: "most_liked")
    }

    public init(cursor: String? = nil, deeplink: Bool? = nil, feedParams: GenericFeedItemParams, id: String? = nil, order: Order? = nil, pageSize: Int? = nil) {
        self.cursor = cursor
        self.deeplink = deeplink ?? false
        self.feedParams = feedParams
        self.id = id
        self.order = order
        self.pageSize = pageSize
    }
}
