// // SessionManagementAPI.swift // // Generated by openapi-generator // https://openapi-generator.tech // import Foundation #if canImport(AnyCodable) import AnyCodable #endif open class SessionManagementAPI { /** - parameter sessionId: (path) Unique identifier for the session - parameter apiResponseQueue: The queue on which api response is dispatched. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult open class func deleteSession(sessionId: String, apiResponseQueue: DispatchQueue = GooseAPIAPI.apiResponseQueue, completion: @escaping ((_ data: Void?, _ error: Error?) -> Void)) -> RequestTask { return deleteSessionWithRequestBuilder(sessionId: sessionId).execute(apiResponseQueue) { result in switch result { case .success: completion((), nil) case let .failure(error): completion(nil, error) } } } /** - DELETE /sessions/{session_id} - parameter sessionId: (path) Unique identifier for the session - returns: RequestBuilder */ open class func deleteSessionWithRequestBuilder(sessionId: String) -> RequestBuilder { var localVariablePath = "/sessions/{session_id}" let sessionIdPreEscape = "\(APIHelper.mapValueToPathItem(sessionId))" let sessionIdPostEscape = sessionIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{session_id}", with: sessionIdPostEscape, options: .literal, range: nil) let localVariableURLString = GooseAPIAPI.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) let localVariableNillableHeaders: [String: Any?] = [ : ] let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) let localVariableRequestBuilder: RequestBuilder.Type = GooseAPIAPI.requestBuilderFactory.getNonDecodableBuilder() return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) } /** - parameter sessionId: (path) Unique identifier for the session - parameter apiResponseQueue: The queue on which api response is dispatched. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult open class func getSession(sessionId: String, apiResponseQueue: DispatchQueue = GooseAPIAPI.apiResponseQueue, completion: @escaping ((_ data: Session?, _ error: Error?) -> Void)) -> RequestTask { return getSessionWithRequestBuilder(sessionId: sessionId).execute(apiResponseQueue) { result in switch result { case let .success(response): completion(response.body, nil) case let .failure(error): completion(nil, error) } } } /** - GET /sessions/{session_id} - parameter sessionId: (path) Unique identifier for the session - returns: RequestBuilder */ open class func getSessionWithRequestBuilder(sessionId: String) -> RequestBuilder { var localVariablePath = "/sessions/{session_id}" let sessionIdPreEscape = "\(APIHelper.mapValueToPathItem(sessionId))" let sessionIdPostEscape = sessionIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{session_id}", with: sessionIdPostEscape, options: .literal, range: nil) let localVariableURLString = GooseAPIAPI.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) let localVariableNillableHeaders: [String: Any?] = [ : ] let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) let localVariableRequestBuilder: RequestBuilder.Type = GooseAPIAPI.requestBuilderFactory.getBuilder() return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) } /** - parameter apiResponseQueue: The queue on which api response is dispatched. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult open class func getSessionInsights(apiResponseQueue: DispatchQueue = GooseAPIAPI.apiResponseQueue, completion: @escaping ((_ data: SessionInsights?, _ error: Error?) -> Void)) -> RequestTask { return getSessionInsightsWithRequestBuilder().execute(apiResponseQueue) { result in switch result { case let .success(response): completion(response.body, nil) case let .failure(error): completion(nil, error) } } } /** - GET /sessions/insights - returns: RequestBuilder */ open class func getSessionInsightsWithRequestBuilder() -> RequestBuilder { let localVariablePath = "/sessions/insights" let localVariableURLString = GooseAPIAPI.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) let localVariableNillableHeaders: [String: Any?] = [ : ] let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) let localVariableRequestBuilder: RequestBuilder.Type = GooseAPIAPI.requestBuilderFactory.getBuilder() return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) } /** - parameter apiResponseQueue: The queue on which api response is dispatched. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult open class func listSessions(apiResponseQueue: DispatchQueue = GooseAPIAPI.apiResponseQueue, completion: @escaping ((_ data: SessionListResponse?, _ error: Error?) -> Void)) -> RequestTask { return listSessionsWithRequestBuilder().execute(apiResponseQueue) { result in switch result { case let .success(response): completion(response.body, nil) case let .failure(error): completion(nil, error) } } } /** - GET /sessions - returns: RequestBuilder */ open class func listSessionsWithRequestBuilder() -> RequestBuilder { let localVariablePath = "/sessions" let localVariableURLString = GooseAPIAPI.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) let localVariableNillableHeaders: [String: Any?] = [ : ] let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) let localVariableRequestBuilder: RequestBuilder.Type = GooseAPIAPI.requestBuilderFactory.getBuilder() return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) } /** - parameter sessionId: (path) Unique identifier for the session - parameter updateSessionDescriptionRequest: (body) - parameter apiResponseQueue: The queue on which api response is dispatched. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult open class func updateSessionDescription(sessionId: String, updateSessionDescriptionRequest: UpdateSessionDescriptionRequest, apiResponseQueue: DispatchQueue = GooseAPIAPI.apiResponseQueue, completion: @escaping ((_ data: Void?, _ error: Error?) -> Void)) -> RequestTask { return updateSessionDescriptionWithRequestBuilder(sessionId: sessionId, updateSessionDescriptionRequest: updateSessionDescriptionRequest).execute(apiResponseQueue) { result in switch result { case .success: completion((), nil) case let .failure(error): completion(nil, error) } } } /** - PUT /sessions/{session_id}/description - parameter sessionId: (path) Unique identifier for the session - parameter updateSessionDescriptionRequest: (body) - returns: RequestBuilder */ open class func updateSessionDescriptionWithRequestBuilder(sessionId: String, updateSessionDescriptionRequest: UpdateSessionDescriptionRequest) -> RequestBuilder { var localVariablePath = "/sessions/{session_id}/description" let sessionIdPreEscape = "\(APIHelper.mapValueToPathItem(sessionId))" let sessionIdPostEscape = sessionIdPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{session_id}", with: sessionIdPostEscape, options: .literal, range: nil) let localVariableURLString = GooseAPIAPI.basePath + localVariablePath let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: updateSessionDescriptionRequest) let localVariableUrlComponents = URLComponents(string: localVariableURLString) let localVariableNillableHeaders: [String: Any?] = [ "Content-Type": "application/json", ] let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) let localVariableRequestBuilder: RequestBuilder.Type = GooseAPIAPI.requestBuilderFactory.getNonDecodableBuilder() return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) } }