// // RecipeManagementAPI.swift // // Generated by openapi-generator // https://openapi-generator.tech // import Foundation #if canImport(AnyCodable) import AnyCodable #endif open class RecipeManagementAPI { /** Create a Recipe configuration from the current session - parameter createRecipeRequest: (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 createRecipe(createRecipeRequest: CreateRecipeRequest, apiResponseQueue: DispatchQueue = GooseAPIAPI.apiResponseQueue, completion: @escaping ((_ data: CreateRecipeResponse?, _ error: Error?) -> Void)) -> RequestTask { return createRecipeWithRequestBuilder(createRecipeRequest: createRecipeRequest).execute(apiResponseQueue) { result in switch result { case let .success(response): completion(response.body, nil) case let .failure(error): completion(nil, error) } } } /** Create a Recipe configuration from the current session - POST /recipes/create - parameter createRecipeRequest: (body) - returns: RequestBuilder */ open class func createRecipeWithRequestBuilder(createRecipeRequest: CreateRecipeRequest) -> RequestBuilder { let localVariablePath = "/recipes/create" let localVariableURLString = GooseAPIAPI.basePath + localVariablePath let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: createRecipeRequest) let localVariableUrlComponents = URLComponents(string: localVariableURLString) let localVariableNillableHeaders: [String: Any?] = [ "Content-Type": "application/json", ] let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) let localVariableRequestBuilder: RequestBuilder.Type = GooseAPIAPI.requestBuilderFactory.getBuilder() return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) } /** - parameter decodeRecipeRequest: (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 decodeRecipe(decodeRecipeRequest: DecodeRecipeRequest, apiResponseQueue: DispatchQueue = GooseAPIAPI.apiResponseQueue, completion: @escaping ((_ data: DecodeRecipeResponse?, _ error: Error?) -> Void)) -> RequestTask { return decodeRecipeWithRequestBuilder(decodeRecipeRequest: decodeRecipeRequest).execute(apiResponseQueue) { result in switch result { case let .success(response): completion(response.body, nil) case let .failure(error): completion(nil, error) } } } /** - POST /recipes/decode - parameter decodeRecipeRequest: (body) - returns: RequestBuilder */ open class func decodeRecipeWithRequestBuilder(decodeRecipeRequest: DecodeRecipeRequest) -> RequestBuilder { let localVariablePath = "/recipes/decode" let localVariableURLString = GooseAPIAPI.basePath + localVariablePath let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: decodeRecipeRequest) let localVariableUrlComponents = URLComponents(string: localVariableURLString) let localVariableNillableHeaders: [String: Any?] = [ "Content-Type": "application/json", ] let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) let localVariableRequestBuilder: RequestBuilder.Type = GooseAPIAPI.requestBuilderFactory.getBuilder() return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) } /** - parameter deleteRecipeRequest: (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 deleteRecipe(deleteRecipeRequest: DeleteRecipeRequest, apiResponseQueue: DispatchQueue = GooseAPIAPI.apiResponseQueue, completion: @escaping ((_ data: Void?, _ error: Error?) -> Void)) -> RequestTask { return deleteRecipeWithRequestBuilder(deleteRecipeRequest: deleteRecipeRequest).execute(apiResponseQueue) { result in switch result { case .success: completion((), nil) case let .failure(error): completion(nil, error) } } } /** - POST /recipes/delete - parameter deleteRecipeRequest: (body) - returns: RequestBuilder */ open class func deleteRecipeWithRequestBuilder(deleteRecipeRequest: DeleteRecipeRequest) -> RequestBuilder { let localVariablePath = "/recipes/delete" let localVariableURLString = GooseAPIAPI.basePath + localVariablePath let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: deleteRecipeRequest) 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: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) } /** - parameter encodeRecipeRequest: (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 encodeRecipe(encodeRecipeRequest: EncodeRecipeRequest, apiResponseQueue: DispatchQueue = GooseAPIAPI.apiResponseQueue, completion: @escaping ((_ data: EncodeRecipeResponse?, _ error: Error?) -> Void)) -> RequestTask { return encodeRecipeWithRequestBuilder(encodeRecipeRequest: encodeRecipeRequest).execute(apiResponseQueue) { result in switch result { case let .success(response): completion(response.body, nil) case let .failure(error): completion(nil, error) } } } /** - POST /recipes/encode - parameter encodeRecipeRequest: (body) - returns: RequestBuilder */ open class func encodeRecipeWithRequestBuilder(encodeRecipeRequest: EncodeRecipeRequest) -> RequestBuilder { let localVariablePath = "/recipes/encode" let localVariableURLString = GooseAPIAPI.basePath + localVariablePath let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: encodeRecipeRequest) let localVariableUrlComponents = URLComponents(string: localVariableURLString) let localVariableNillableHeaders: [String: Any?] = [ "Content-Type": "application/json", ] let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) let localVariableRequestBuilder: RequestBuilder.Type = GooseAPIAPI.requestBuilderFactory.getBuilder() return localVariableRequestBuilder.init(method: "POST", 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 listRecipes(apiResponseQueue: DispatchQueue = GooseAPIAPI.apiResponseQueue, completion: @escaping ((_ data: ListRecipeResponse?, _ error: Error?) -> Void)) -> RequestTask { return listRecipesWithRequestBuilder().execute(apiResponseQueue) { result in switch result { case let .success(response): completion(response.body, nil) case let .failure(error): completion(nil, error) } } } /** - GET /recipes/list - returns: RequestBuilder */ open class func listRecipesWithRequestBuilder() -> RequestBuilder { let localVariablePath = "/recipes/list" 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 scanRecipeRequest: (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 scanRecipe(scanRecipeRequest: ScanRecipeRequest, apiResponseQueue: DispatchQueue = GooseAPIAPI.apiResponseQueue, completion: @escaping ((_ data: ScanRecipeResponse?, _ error: Error?) -> Void)) -> RequestTask { return scanRecipeWithRequestBuilder(scanRecipeRequest: scanRecipeRequest).execute(apiResponseQueue) { result in switch result { case let .success(response): completion(response.body, nil) case let .failure(error): completion(nil, error) } } } /** - POST /recipes/scan - parameter scanRecipeRequest: (body) - returns: RequestBuilder */ open class func scanRecipeWithRequestBuilder(scanRecipeRequest: ScanRecipeRequest) -> RequestBuilder { let localVariablePath = "/recipes/scan" let localVariableURLString = GooseAPIAPI.basePath + localVariablePath let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: scanRecipeRequest) let localVariableUrlComponents = URLComponents(string: localVariableURLString) let localVariableNillableHeaders: [String: Any?] = [ "Content-Type": "application/json", ] let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) let localVariableRequestBuilder: RequestBuilder.Type = GooseAPIAPI.requestBuilderFactory.getBuilder() return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) } }