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

import Foundation
import Get
import URLQueryEncoder

extension Paths.Myradio {
    public var reaction: Reaction {
        Reaction(path: path + "/reaction")
    }

    public struct Reaction {
        /// Path: `/api/myradio/reaction`
        public let path: String

        /// Like Radio Station
        public func post(radioId: Int, reaction: Reaction) -> Request<Void> {
            Request(path: path, method: "POST", query: makePostQuery(radioId, reaction), id: "studio_api_radio_api_like_radio_station")
        }

        private func makePostQuery(_ radioId: Int, _ reaction: Reaction) -> [(String, String?)] {
            let encoder = URLQueryEncoder()
            encoder.encode(radioId, forKey: "radio_id")
            encoder.encode(reaction, forKey: "reaction")
            return encoder.items
        }

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

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

            public static let like = Self(rawValue: "like")
            public static let dislike = Self(rawValue: "dislike")
        }
    }
}
