-
Notifications
You must be signed in to change notification settings - Fork 29
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix(specs): built-in ops accept also int (generated)
algolia/api-clients-automation#3450 Co-authored-by: algolia-bot <accounts+algolia-api-client-bot@algolia.com> Co-authored-by: Kai Welke <kai.welke@algolia.com> Co-authored-by: Pierre Millot <pierre.millot@algolia.com>
- Loading branch information
1 parent
fba53af
commit 42617d9
Showing
3 changed files
with
75 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
73 changes: 73 additions & 0 deletions
73
src/main/scala/algoliasearch/search/BuiltInOperationValue.scala
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
/** Search API The Algolia Search API lets you search, configure, and mange your indices and records. ## Client | ||
* libraries Use Algolia's API clients and libraries to reliably integrate Algolia's APIs with your apps. The official | ||
* API clients are covered by Algolia's [Service Level Agreement](https://www.algolia.com/policies/sla/). See: | ||
* [Algolia's ecosystem](https://www.algolia.com/doc/guides/getting-started/how-algolia-works/in-depth/ecosystem/) ## | ||
* Base URLs The base URLs for requests to the Search API are: - `https://{APPLICATION_ID}.algolia.net` - | ||
* `https://{APPLICATION_ID}-dsn.algolia.net`. If your subscription includes a [Distributed Search | ||
* Network](https://dashboard.algolia.com/infra), this ensures that requests are sent to servers closest to users. Both | ||
* URLs provide high availability by distributing requests with load balancing. **All requests must use HTTPS.** ## | ||
* Retry strategy To guarantee a high availability, implement a retry strategy for all API requests using the URLs of | ||
* your servers as fallbacks: - `https://{APPLICATION_ID}-1.algolianet.com` - | ||
* `https://{APPLICATION_ID}-2.algolianet.com` - `https://{APPLICATION_ID}-3.algolianet.com` These URLs use a different | ||
* DNS provider than the primary URLs. You should randomize this list to ensure an even load across the three servers. | ||
* All Algolia API clients implement this retry strategy. ## Authentication To authenticate your API requests, add | ||
* these headers: - `x-algolia-application-id`. Your Algolia application ID. - `x-algolia-api-key`. An API key with the | ||
* necessary permissions to make the request. The required access control list (ACL) to make a request is listed in | ||
* each endpoint's reference. You can find your application ID and API key in the [Algolia | ||
* dashboard](https://dashboard.algolia.com/account). ## Request format Depending on the endpoint, request bodies are | ||
* either JSON objects or arrays of JSON objects, ## Parameters Parameters are passed as query parameters for GET and | ||
* DELETE requests, and in the request body for POST and PUT requests. Query parameters must be | ||
* [URL-encoded](https://developer.mozilla.org/en-US/docs/Glossary/Percent-encoding). Non-ASCII characters must be | ||
* UTF-8 encoded. Plus characters (`+`) are interpreted as spaces. Arrays as query parameters must be one of: - A | ||
* comma-separated string: `attributesToRetrieve=title,description` - A URL-encoded JSON array: | ||
* `attributesToRetrieve=%5B%22title%22,%22description%22%D` ## Response status and errors The Search API returns JSON | ||
* responses. Since JSON doesn't guarantee any specific ordering, don't rely on the order of attributes in the API | ||
* response. Successful responses return a `2xx` status. Client errors return a `4xx` status. Server errors are | ||
* indicated by a `5xx` status. Error responses have a `message` property with more information. ## Version The current | ||
* version of the Search API is version 1, as indicated by the `/1/` in each endpoint's URL. | ||
* | ||
* The version of the OpenAPI document: 1.0.0 | ||
* | ||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). | ||
* https://openapi-generator.tech Do not edit the class manually. | ||
*/ | ||
package algoliasearch.search | ||
|
||
import org.json4s._ | ||
|
||
/** BuiltInOperationValue | ||
*/ | ||
sealed trait BuiltInOperationValue | ||
|
||
object BuiltInOperationValue { | ||
|
||
case class StringValue(value: String) extends BuiltInOperationValue | ||
case class IntValue(value: Int) extends BuiltInOperationValue | ||
|
||
def apply(value: String): BuiltInOperationValue = { | ||
BuiltInOperationValue.StringValue(value) | ||
} | ||
def apply(value: Int): BuiltInOperationValue = { | ||
BuiltInOperationValue.IntValue(value) | ||
} | ||
} | ||
|
||
object BuiltInOperationValueSerializer extends Serializer[BuiltInOperationValue] { | ||
override def deserialize(implicit format: Formats): PartialFunction[(TypeInfo, JValue), BuiltInOperationValue] = { | ||
|
||
case (TypeInfo(clazz, _), json) if clazz == classOf[BuiltInOperationValue] => | ||
json match { | ||
case JString(value) => BuiltInOperationValue.StringValue(value) | ||
case JInt(value) => BuiltInOperationValue.IntValue(value.toInt) | ||
case _ => throw new MappingException("Can't convert " + json + " to BuiltInOperationValue") | ||
} | ||
} | ||
|
||
override def serialize(implicit format: Formats): PartialFunction[Any, JValue] = { | ||
case value: BuiltInOperationValue => | ||
value match { | ||
case BuiltInOperationValue.StringValue(value) => JString(value) | ||
case BuiltInOperationValue.IntValue(value) => JInt(value) | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters