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

import Foundation
import Get
import URLQueryEncoder

extension Paths.Dm.Thread.WithThreadId {
    public var messages: Messages {
        Messages(path: path + "/messages")
    }

    public struct Messages {
        /// Path: `/api/dm/thread/{thread_id}/messages`
        public let path: String

        /// Get Thread Messages
        ///
        /// Get messages in a thread from the last 3 days.
        public func get(before: Date? = nil) -> Request<GenAPI.GetThreadMessagesResponse> {
            Request(path: path, method: "GET", query: makeGetQuery(before), id: "studio_api_dm_api_get_thread_messages")
        }

        private func makeGetQuery(_ before: Date?) -> [(String, String?)] {
            let encoder = URLQueryEncoder()
            encoder.encode(before, forKey: "before")
            return encoder.items
        }
    }
}
