Skip to content

Commit

Permalink
feat(specs): add generate code endpoint to ingestion specs (generated)
Browse files Browse the repository at this point in the history
algolia/api-clients-automation#3489

Co-authored-by: algolia-bot <[email protected]>
Co-authored-by: Clément Vannicatte <[email protected]>
  • Loading branch information
algolia-bot and shortcuts committed Aug 7, 2024
1 parent 036dcf4 commit d27589f
Show file tree
Hide file tree
Showing 3 changed files with 137 additions and 1 deletion.
50 changes: 49 additions & 1 deletion Sources/Ingestion/IngestionClient.swift
Original file line number Diff line number Diff line change
Expand Up @@ -1149,6 +1149,54 @@ open class IngestionClient {
)
}

/// - parameter generateTransformationCodePayload: (body)
/// - returns: GenerateTransformationCodeResponse
@available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
open func generateTransformationCode(
generateTransformationCodePayload: GenerateTransformationCodePayload,
requestOptions: RequestOptions? = nil
) async throws -> GenerateTransformationCodeResponse {
let response: Response<GenerateTransformationCodeResponse> = try await generateTransformationCodeWithHTTPInfo(
generateTransformationCodePayload: generateTransformationCodePayload,
requestOptions: requestOptions
)

guard let body = response.body else {
throw AlgoliaError.missingData
}

return body
}

// Generates code for the selected model based on the given prompt.
// Required API Key ACLs:
// - addObject
// - deleteIndex
// - editSettings
//
// - parameter generateTransformationCodePayload: (body)
// - returns: RequestBuilder<GenerateTransformationCodeResponse>

open func generateTransformationCodeWithHTTPInfo(
generateTransformationCodePayload: GenerateTransformationCodePayload,
requestOptions userRequestOptions: RequestOptions? = nil
) async throws -> Response<GenerateTransformationCodeResponse> {
let resourcePath = "/1/transformations/models"
let body = generateTransformationCodePayload
let queryParameters: [String: Any?]? = nil

let nillableHeaders: [String: Any?]? = nil

let headers = APIHelper.rejectNilHeaders(nillableHeaders)

return try await self.transporter.send(
method: "POST",
path: resourcePath,
data: body,
requestOptions: RequestOptions(headers: headers, queryParameters: queryParameters) + userRequestOptions
)
}

/// - parameter authenticationID: (path) Unique identifier of an authentication resource.
/// - returns: Authentication
@available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
Expand Down Expand Up @@ -2343,7 +2391,7 @@ open class IngestionClient {
requestOptions userRequestOptions: RequestOptions? =
nil
) async throws -> Response<TransformationModels> {
let resourcePath = "/1/transformations/copilot"
let resourcePath = "/1/transformations/models"
let body: AnyCodable? = nil
let queryParameters: [String: Any?]? = nil

Expand Down
50 changes: 50 additions & 0 deletions Sources/Ingestion/Models/GenerateTransformationCodePayload.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on
// https://github.com/algolia/api-clients-automation. DO NOT EDIT.

import Foundation
#if canImport(Core)
import Core
#endif

public struct GenerateTransformationCodePayload: Codable, JSONEncodable {
public var id: String
public var systemPrompt: String?
public var userPrompt: String

public init(id: String, systemPrompt: String? = nil, userPrompt: String) {
self.id = id
self.systemPrompt = systemPrompt
self.userPrompt = userPrompt
}

public enum CodingKeys: String, CodingKey, CaseIterable {
case id
case systemPrompt
case userPrompt
}

// Encodable protocol methods

public func encode(to encoder: Encoder) throws {
var container = encoder.container(keyedBy: CodingKeys.self)
try container.encode(self.id, forKey: .id)
try container.encodeIfPresent(self.systemPrompt, forKey: .systemPrompt)
try container.encode(self.userPrompt, forKey: .userPrompt)
}
}

extension GenerateTransformationCodePayload: Equatable {
public static func ==(lhs: GenerateTransformationCodePayload, rhs: GenerateTransformationCodePayload) -> Bool {
lhs.id == rhs.id &&
lhs.systemPrompt == rhs.systemPrompt &&
lhs.userPrompt == rhs.userPrompt
}
}

extension GenerateTransformationCodePayload: Hashable {
public func hash(into hasher: inout Hasher) {
hasher.combine(self.id.hashValue)
hasher.combine(self.systemPrompt?.hashValue)
hasher.combine(self.userPrompt.hashValue)
}
}
38 changes: 38 additions & 0 deletions Sources/Ingestion/Models/GenerateTransformationCodeResponse.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
// Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on
// https://github.com/algolia/api-clients-automation. DO NOT EDIT.

import Foundation
#if canImport(Core)
import Core
#endif

public struct GenerateTransformationCodeResponse: Codable, JSONEncodable {
public var generatedCode: String?

public init(generatedCode: String? = nil) {
self.generatedCode = generatedCode
}

public enum CodingKeys: String, CodingKey, CaseIterable {
case generatedCode
}

// Encodable protocol methods

public func encode(to encoder: Encoder) throws {
var container = encoder.container(keyedBy: CodingKeys.self)
try container.encodeIfPresent(self.generatedCode, forKey: .generatedCode)
}
}

extension GenerateTransformationCodeResponse: Equatable {
public static func ==(lhs: GenerateTransformationCodeResponse, rhs: GenerateTransformationCodeResponse) -> Bool {
lhs.generatedCode == rhs.generatedCode
}
}

extension GenerateTransformationCodeResponse: Hashable {
public func hash(into hasher: inout Hasher) {
hasher.combine(self.generatedCode?.hashValue)
}
}

0 comments on commit d27589f

Please sign in to comment.