├── .config
└── dotnet-tools.json
├── .csharpierignore
├── .github
├── ISSUE_TEMPLATE
│ └── Bug_report.yml
└── workflows
│ ├── do-not-edit-this-repository.yml
│ ├── issue.yml
│ └── release.yml
├── .gitignore
├── Algolia.Search.sln
├── CHANGELOG.md
├── LICENSE
├── README.md
├── algoliasearch
├── Algolia.Search.csproj
├── Clients
│ ├── AbtestingClient.cs
│ ├── AbtestingConfiguration.cs
│ ├── AlgoliaConfig.cs
│ ├── AnalyticsClient.cs
│ ├── AnalyticsConfiguration.cs
│ ├── CompositionClient.cs
│ ├── CompositionConfiguration.cs
│ ├── IngestionClient.cs
│ ├── IngestionConfiguration.cs
│ ├── InsightsClient.cs
│ ├── InsightsConfiguration.cs
│ ├── MonitoringClient.cs
│ ├── MonitoringConfiguration.cs
│ ├── PersonalizationClient.cs
│ ├── PersonalizationConfiguration.cs
│ ├── QuerySuggestionsClient.cs
│ ├── QuerySuggestionsConfiguration.cs
│ ├── RecommendClient.cs
│ ├── RecommendConfiguration.cs
│ ├── SearchClient.cs
│ └── SearchConfiguration.cs
├── Exceptions
│ ├── AlgoliaApiException.cs
│ ├── AlgoliaException.cs
│ └── AlgoliaUnreachableHostException.cs
├── Http
│ ├── AlgoliaHttpRequester.cs
│ ├── AlgoliaHttpResponse.cs
│ ├── AlgoliaUserAgent.cs
│ ├── HttpRequestExtensions.cs
│ ├── HttpRequestHeadersExtensions.cs
│ ├── IHttpRequester.cs
│ ├── InternalRequestOptions.cs
│ ├── Request.cs
│ ├── RequestOptionBuilder.cs
│ ├── RequestOptions.cs
│ └── TimeoutHandler.cs
├── Models
│ ├── Abtesting
│ │ ├── ABTest.cs
│ │ ├── ABTestConfiguration.cs
│ │ ├── ABTestResponse.cs
│ │ ├── AbTestsVariant.cs
│ │ ├── AbTestsVariantSearchParams.cs
│ │ ├── AddABTestsRequest.cs
│ │ ├── AddABTestsVariant.cs
│ │ ├── Currency.cs
│ │ ├── EffectMetric.cs
│ │ ├── EmptySearch.cs
│ │ ├── EmptySearchFilter.cs
│ │ ├── ErrorBase.cs
│ │ ├── EstimateABTestRequest.cs
│ │ ├── EstimateABTestResponse.cs
│ │ ├── EstimateConfiguration.cs
│ │ ├── FilterEffects.cs
│ │ ├── ListABTestsResponse.cs
│ │ ├── MinimumDetectableEffect.cs
│ │ ├── Outliers.cs
│ │ ├── OutliersFilter.cs
│ │ ├── ScheduleABTestResponse.cs
│ │ ├── ScheduleABTestsRequest.cs
│ │ ├── Status.cs
│ │ └── Variant.cs
│ ├── Analytics
│ │ ├── ClickPosition.cs
│ │ ├── CurrencyCode.cs
│ │ ├── DailyAddToCartRates.cs
│ │ ├── DailyAverageClicks.cs
│ │ ├── DailyClickThroughRates.cs
│ │ ├── DailyConversionRates.cs
│ │ ├── DailyNoClickRates.cs
│ │ ├── DailyNoResultsRates.cs
│ │ ├── DailyPurchaseRates.cs
│ │ ├── DailyRevenue.cs
│ │ ├── DailySearches.cs
│ │ ├── DailySearchesNoClicks.cs
│ │ ├── DailySearchesNoResults.cs
│ │ ├── DailyUsers.cs
│ │ ├── Direction.cs
│ │ ├── ErrorBase.cs
│ │ ├── GetAddToCartRateResponse.cs
│ │ ├── GetAverageClickPositionResponse.cs
│ │ ├── GetClickPositionsResponse.cs
│ │ ├── GetClickThroughRateResponse.cs
│ │ ├── GetConversionRateResponse.cs
│ │ ├── GetNoClickRateResponse.cs
│ │ ├── GetNoResultsRateResponse.cs
│ │ ├── GetPurchaseRateResponse.cs
│ │ ├── GetRevenue.cs
│ │ ├── GetSearchesCountResponse.cs
│ │ ├── GetSearchesNoClicksResponse.cs
│ │ ├── GetSearchesNoResultsResponse.cs
│ │ ├── GetStatusResponse.cs
│ │ ├── GetTopCountriesResponse.cs
│ │ ├── GetTopFilterAttribute.cs
│ │ ├── GetTopFilterAttributesResponse.cs
│ │ ├── GetTopFilterForAttribute.cs
│ │ ├── GetTopFilterForAttributeResponse.cs
│ │ ├── GetTopFiltersNoResultsResponse.cs
│ │ ├── GetTopFiltersNoResultsValue.cs
│ │ ├── GetTopFiltersNoResultsValues.cs
│ │ ├── GetTopHitsResponse.cs
│ │ ├── GetTopSearchesResponse.cs
│ │ ├── GetUsersCountResponse.cs
│ │ ├── Operator.cs
│ │ ├── OrderBy.cs
│ │ ├── TopCountry.cs
│ │ ├── TopHit.cs
│ │ ├── TopHitWithAnalytics.cs
│ │ ├── TopHitWithRevenueAnalytics.cs
│ │ ├── TopHitsResponse.cs
│ │ ├── TopHitsResponseWithAnalytics.cs
│ │ ├── TopHitsResponseWithRevenueAnalytics.cs
│ │ ├── TopSearch.cs
│ │ ├── TopSearchWithAnalytics.cs
│ │ ├── TopSearchWithRevenueAnalytics.cs
│ │ ├── TopSearchesResponse.cs
│ │ ├── TopSearchesResponseWithAnalytics.cs
│ │ └── TopSearchesResponseWithRevenueAnalytics.cs
│ ├── Common
│ │ ├── AbstractSchema.cs
│ │ ├── CompressionType.cs
│ │ └── SecuredApiKeyRestrictionHelper.cs
│ ├── Composition
│ │ ├── AroundPrecision.cs
│ │ ├── AroundRadius.cs
│ │ ├── AroundRadiusAll.cs
│ │ ├── Banner.cs
│ │ ├── BannerImage.cs
│ │ ├── BannerImageUrl.cs
│ │ ├── BannerLink.cs
│ │ ├── CompositionIdRankingInfo.cs
│ │ ├── CompositionRunAppliedRules.cs
│ │ ├── CompositionRunSearchResponse.cs
│ │ ├── CompositionsSearchResponse.cs
│ │ ├── ErrorBase.cs
│ │ ├── Exhaustive.cs
│ │ ├── FacetFilters.cs
│ │ ├── FacetHits.cs
│ │ ├── FacetOrdering.cs
│ │ ├── FacetStats.cs
│ │ ├── Facets.cs
│ │ ├── HighlightResult.cs
│ │ ├── HighlightResultOption.cs
│ │ ├── Hit.cs
│ │ ├── HitRankingInfo.cs
│ │ ├── InsideBoundingBox.cs
│ │ ├── MatchLevel.cs
│ │ ├── MatchedGeoLocation.cs
│ │ ├── NumericFilters.cs
│ │ ├── OptionalFilters.cs
│ │ ├── Params.cs
│ │ ├── Personalization.cs
│ │ ├── Range.cs
│ │ ├── Redirect.cs
│ │ ├── RedirectRuleIndexData.cs
│ │ ├── RedirectRuleIndexMetadata.cs
│ │ ├── RedirectURL.cs
│ │ ├── RenderingContent.cs
│ │ ├── RequestBody.cs
│ │ ├── ResultsCompositionInfoResponse.cs
│ │ ├── ResultsInjectedItemAppliedRulesInfoResponse.cs
│ │ ├── ResultsInjectedItemInfoResponse.cs
│ │ ├── SearchForFacetValuesParams.cs
│ │ ├── SearchForFacetValuesRequest.cs
│ │ ├── SearchForFacetValuesResponse.cs
│ │ ├── SearchForFacetValuesResults.cs
│ │ ├── SearchResponse.cs
│ │ ├── SearchResultsItem.cs
│ │ ├── SnippetResult.cs
│ │ ├── SnippetResultOption.cs
│ │ ├── SortRemainingBy.cs
│ │ ├── SupportedLanguage.cs
│ │ ├── Value.cs
│ │ └── Widgets.cs
│ ├── Ingestion
│ │ ├── Action.cs
│ │ ├── ActionType.cs
│ │ ├── AuthAPIKey.cs
│ │ ├── AuthAPIKeyPartial.cs
│ │ ├── AuthAlgolia.cs
│ │ ├── AuthAlgoliaInsights.cs
│ │ ├── AuthAlgoliaInsightsPartial.cs
│ │ ├── AuthAlgoliaPartial.cs
│ │ ├── AuthBasic.cs
│ │ ├── AuthBasicPartial.cs
│ │ ├── AuthGoogleServiceAccount.cs
│ │ ├── AuthGoogleServiceAccountPartial.cs
│ │ ├── AuthInput.cs
│ │ ├── AuthInputPartial.cs
│ │ ├── AuthOAuth.cs
│ │ ├── AuthOAuthPartial.cs
│ │ ├── Authentication.cs
│ │ ├── AuthenticationCreate.cs
│ │ ├── AuthenticationCreateResponse.cs
│ │ ├── AuthenticationSearch.cs
│ │ ├── AuthenticationSortKeys.cs
│ │ ├── AuthenticationType.cs
│ │ ├── AuthenticationUpdate.cs
│ │ ├── AuthenticationUpdateResponse.cs
│ │ ├── BigCommerceChannel.cs
│ │ ├── BigCommerceMetafield.cs
│ │ ├── BigQueryDataType.cs
│ │ ├── CommercetoolsCustomFields.cs
│ │ ├── DeleteResponse.cs
│ │ ├── Destination.cs
│ │ ├── DestinationCreate.cs
│ │ ├── DestinationCreateResponse.cs
│ │ ├── DestinationInput.cs
│ │ ├── DestinationSearch.cs
│ │ ├── DestinationSortKeys.cs
│ │ ├── DestinationType.cs
│ │ ├── DestinationUpdate.cs
│ │ ├── DestinationUpdateResponse.cs
│ │ ├── DockerStreams.cs
│ │ ├── DockerStreamsInput.cs
│ │ ├── DockerStreamsSyncMode.cs
│ │ ├── EmailNotifications.cs
│ │ ├── EntityType.cs
│ │ ├── ErrorBase.cs
│ │ ├── Event.cs
│ │ ├── EventSortKeys.cs
│ │ ├── EventStatus.cs
│ │ ├── EventType.cs
│ │ ├── IngestionTask.cs
│ │ ├── ListAuthenticationsResponse.cs
│ │ ├── ListDestinationsResponse.cs
│ │ ├── ListEventsResponse.cs
│ │ ├── ListSourcesResponse.cs
│ │ ├── ListTasksResponse.cs
│ │ ├── ListTasksResponseV1.cs
│ │ ├── ListTransformationsResponse.cs
│ │ ├── MappingFieldDirective.cs
│ │ ├── MappingFormatSchema.cs
│ │ ├── MappingInput.cs
│ │ ├── MappingKitAction.cs
│ │ ├── MappingTypeCSV.cs
│ │ ├── MethodType.cs
│ │ ├── Notifications.cs
│ │ ├── OnDemandTrigger.cs
│ │ ├── OnDemandTriggerInput.cs
│ │ ├── OnDemandTriggerType.cs
│ │ ├── OrderKeys.cs
│ │ ├── Pagination.cs
│ │ ├── Platform.cs
│ │ ├── PlatformNone.cs
│ │ ├── PlatformWithNone.cs
│ │ ├── Policies.cs
│ │ ├── PushTaskPayload.cs
│ │ ├── PushTaskRecords.cs
│ │ ├── RecordType.cs
│ │ ├── Run.cs
│ │ ├── RunListResponse.cs
│ │ ├── RunOutcome.cs
│ │ ├── RunProgress.cs
│ │ ├── RunReasonCode.cs
│ │ ├── RunResponse.cs
│ │ ├── RunSortKeys.cs
│ │ ├── RunSourcePayload.cs
│ │ ├── RunSourceResponse.cs
│ │ ├── RunStatus.cs
│ │ ├── RunType.cs
│ │ ├── ScheduleTrigger.cs
│ │ ├── ScheduleTriggerInput.cs
│ │ ├── ScheduleTriggerType.cs
│ │ ├── ShopifyInput.cs
│ │ ├── ShopifyMarket.cs
│ │ ├── ShopifyMetafield.cs
│ │ ├── Source.cs
│ │ ├── SourceBigCommerce.cs
│ │ ├── SourceBigQuery.cs
│ │ ├── SourceCSV.cs
│ │ ├── SourceCommercetools.cs
│ │ ├── SourceCreate.cs
│ │ ├── SourceCreateResponse.cs
│ │ ├── SourceDocker.cs
│ │ ├── SourceGA4BigQueryExport.cs
│ │ ├── SourceInput.cs
│ │ ├── SourceJSON.cs
│ │ ├── SourceSearch.cs
│ │ ├── SourceShopify.cs
│ │ ├── SourceSortKeys.cs
│ │ ├── SourceType.cs
│ │ ├── SourceUpdate.cs
│ │ ├── SourceUpdateCommercetools.cs
│ │ ├── SourceUpdateDocker.cs
│ │ ├── SourceUpdateInput.cs
│ │ ├── SourceUpdateResponse.cs
│ │ ├── SourceUpdateShopify.cs
│ │ ├── StreamingInput.cs
│ │ ├── StreamingTrigger.cs
│ │ ├── StreamingTriggerType.cs
│ │ ├── SubscriptionTrigger.cs
│ │ ├── SubscriptionTriggerType.cs
│ │ ├── TaskCreate.cs
│ │ ├── TaskCreateResponse.cs
│ │ ├── TaskCreateTrigger.cs
│ │ ├── TaskCreateV1.cs
│ │ ├── TaskInput.cs
│ │ ├── TaskSearch.cs
│ │ ├── TaskSortKeys.cs
│ │ ├── TaskUpdate.cs
│ │ ├── TaskUpdateResponse.cs
│ │ ├── TaskUpdateV1.cs
│ │ ├── TaskV1.cs
│ │ ├── Transformation.cs
│ │ ├── TransformationCode.cs
│ │ ├── TransformationCreate.cs
│ │ ├── TransformationCreateResponse.cs
│ │ ├── TransformationError.cs
│ │ ├── TransformationInput.cs
│ │ ├── TransformationNoCode.cs
│ │ ├── TransformationSearch.cs
│ │ ├── TransformationSortKeys.cs
│ │ ├── TransformationTry.cs
│ │ ├── TransformationTryResponse.cs
│ │ ├── TransformationType.cs
│ │ ├── TransformationUpdateResponse.cs
│ │ ├── Trigger.cs
│ │ ├── TriggerType.cs
│ │ ├── TriggerUpdateInput.cs
│ │ ├── WatchResponse.cs
│ │ └── Window.cs
│ ├── Insights
│ │ ├── AddToCartEvent.cs
│ │ ├── AddedToCartObjectIDs.cs
│ │ ├── AddedToCartObjectIDsAfterSearch.cs
│ │ ├── ClickEvent.cs
│ │ ├── ClickedFilters.cs
│ │ ├── ClickedObjectIDs.cs
│ │ ├── ClickedObjectIDsAfterSearch.cs
│ │ ├── ConversionEvent.cs
│ │ ├── ConvertedFilters.cs
│ │ ├── ConvertedObjectIDs.cs
│ │ ├── ConvertedObjectIDsAfterSearch.cs
│ │ ├── Discount.cs
│ │ ├── ErrorBase.cs
│ │ ├── EventsItems.cs
│ │ ├── EventsResponse.cs
│ │ ├── InsightsEvents.cs
│ │ ├── ObjectData.cs
│ │ ├── ObjectDataAfterSearch.cs
│ │ ├── Price.cs
│ │ ├── PurchaseEvent.cs
│ │ ├── PurchasedObjectIDs.cs
│ │ ├── PurchasedObjectIDsAfterSearch.cs
│ │ ├── Value.cs
│ │ ├── ViewEvent.cs
│ │ ├── ViewedFilters.cs
│ │ └── ViewedObjectIDs.cs
│ ├── Monitoring
│ │ ├── ErrorBase.cs
│ │ ├── Incident.cs
│ │ ├── IncidentEntry.cs
│ │ ├── IncidentsResponse.cs
│ │ ├── IndexingMetric.cs
│ │ ├── IndexingTimeResponse.cs
│ │ ├── InfrastructureResponse.cs
│ │ ├── InventoryResponse.cs
│ │ ├── LatencyMetric.cs
│ │ ├── LatencyResponse.cs
│ │ ├── Metric.cs
│ │ ├── Metrics.cs
│ │ ├── Period.cs
│ │ ├── ProbesMetric.cs
│ │ ├── Region.cs
│ │ ├── Server.cs
│ │ ├── ServerStatus.cs
│ │ ├── Status.cs
│ │ ├── StatusResponse.cs
│ │ ├── TimeEntry.cs
│ │ └── Type.cs
│ ├── Personalization
│ │ ├── DeleteUserProfileResponse.cs
│ │ ├── ErrorBase.cs
│ │ ├── EventType.cs
│ │ ├── EventsScoring.cs
│ │ ├── FacetsScoring.cs
│ │ ├── GetUserTokenResponse.cs
│ │ ├── PersonalizationStrategyParams.cs
│ │ └── SetPersonalizationStrategyResponse.cs
│ ├── QuerySuggestions
│ │ ├── BaseResponse.cs
│ │ ├── ConfigStatus.cs
│ │ ├── Configuration.cs
│ │ ├── ConfigurationResponse.cs
│ │ ├── ConfigurationWithIndex.cs
│ │ ├── ErrorBase.cs
│ │ ├── Facet.cs
│ │ ├── Languages.cs
│ │ ├── LogFile.cs
│ │ ├── LogLevel.cs
│ │ └── SourceIndex.cs
│ ├── Recommend
│ │ ├── AdvancedSyntaxFeatures.cs
│ │ ├── AlternativesAsExact.cs
│ │ ├── AroundPrecision.cs
│ │ ├── AroundRadius.cs
│ │ ├── AroundRadiusAll.cs
│ │ ├── AutoFacetFilter.cs
│ │ ├── Banner.cs
│ │ ├── BannerImage.cs
│ │ ├── BannerImageUrl.cs
│ │ ├── BannerLink.cs
│ │ ├── BooleanString.cs
│ │ ├── BoughtTogetherQuery.cs
│ │ ├── Condition.cs
│ │ ├── Consequence.cs
│ │ ├── DeletedAtResponse.cs
│ │ ├── Distinct.cs
│ │ ├── ErrorBase.cs
│ │ ├── ExactOnSingleWordQuery.cs
│ │ ├── Exhaustive.cs
│ │ ├── FacetFilters.cs
│ │ ├── FacetOrdering.cs
│ │ ├── FacetStats.cs
│ │ ├── FallbackParams.cs
│ │ ├── FbtModel.cs
│ │ ├── GetRecommendTaskResponse.cs
│ │ ├── GetRecommendationsParams.cs
│ │ ├── GetRecommendationsResponse.cs
│ │ ├── HideConsequenceObject.cs
│ │ ├── HighlightResult.cs
│ │ ├── HighlightResultOption.cs
│ │ ├── IgnorePlurals.cs
│ │ ├── IndexSettingsFacets.cs
│ │ ├── InsideBoundingBox.cs
│ │ ├── LookingSimilarModel.cs
│ │ ├── LookingSimilarQuery.cs
│ │ ├── MatchLevel.cs
│ │ ├── MatchedGeoLocation.cs
│ │ ├── NumericFilters.cs
│ │ ├── OptionalFilters.cs
│ │ ├── OptionalWords.cs
│ │ ├── ParamsConsequence.cs
│ │ ├── Personalization.cs
│ │ ├── PromoteConsequenceObject.cs
│ │ ├── QueryType.cs
│ │ ├── Range.cs
│ │ ├── RankingInfo.cs
│ │ ├── ReRankingApplyFilter.cs
│ │ ├── RecommendHit.cs
│ │ ├── RecommendModels.cs
│ │ ├── RecommendRule.cs
│ │ ├── RecommendSearchParams.cs
│ │ ├── RecommendUpdatedAtResponse.cs
│ │ ├── RecommendationsHit.cs
│ │ ├── RecommendationsRequest.cs
│ │ ├── RecommendationsResults.cs
│ │ ├── Redirect.cs
│ │ ├── RedirectRuleIndexData.cs
│ │ ├── RedirectRuleIndexMetadata.cs
│ │ ├── RedirectURL.cs
│ │ ├── RelatedModel.cs
│ │ ├── RelatedQuery.cs
│ │ ├── RemoveStopWords.cs
│ │ ├── RemoveWordsIfNoResults.cs
│ │ ├── RenderingContent.cs
│ │ ├── RuleMetadata.cs
│ │ ├── SearchRecommendRulesParams.cs
│ │ ├── SearchRecommendRulesResponse.cs
│ │ ├── SnippetResult.cs
│ │ ├── SnippetResultOption.cs
│ │ ├── SortRemainingBy.cs
│ │ ├── SupportedLanguage.cs
│ │ ├── TagFilters.cs
│ │ ├── TaskStatus.cs
│ │ ├── TimeRange.cs
│ │ ├── TrendingFacetHit.cs
│ │ ├── TrendingFacetsModel.cs
│ │ ├── TrendingFacetsQuery.cs
│ │ ├── TrendingItemsModel.cs
│ │ ├── TrendingItemsQuery.cs
│ │ ├── TypoTolerance.cs
│ │ ├── TypoToleranceEnum.cs
│ │ ├── Value.cs
│ │ └── Widgets.cs
│ └── Search
│ │ ├── Acl.cs
│ │ ├── Action.cs
│ │ ├── AddApiKeyResponse.cs
│ │ ├── AdvancedSyntaxFeatures.cs
│ │ ├── AlternativesAsExact.cs
│ │ ├── Anchoring.cs
│ │ ├── ApiKey.cs
│ │ ├── ApiKeyOperation.cs
│ │ ├── AroundPrecision.cs
│ │ ├── AroundRadius.cs
│ │ ├── AroundRadiusAll.cs
│ │ ├── AssignUserIdParams.cs
│ │ ├── AttributeToUpdate.cs
│ │ ├── AutomaticFacetFilter.cs
│ │ ├── AutomaticFacetFilters.cs
│ │ ├── Banner.cs
│ │ ├── BannerImage.cs
│ │ ├── BannerImageUrl.cs
│ │ ├── BannerLink.cs
│ │ ├── BatchAssignUserIdsParams.cs
│ │ ├── BatchDictionaryEntriesParams.cs
│ │ ├── BatchDictionaryEntriesRequest.cs
│ │ ├── BatchParams.cs
│ │ ├── BatchRequest.cs
│ │ ├── BatchResponse.cs
│ │ ├── BatchWriteParams.cs
│ │ ├── BooleanString.cs
│ │ ├── BrowseParams.cs
│ │ ├── BrowseParamsObject.cs
│ │ ├── BrowseResponse.cs
│ │ ├── BuiltInOperation.cs
│ │ ├── BuiltInOperationType.cs
│ │ ├── BuiltInOperationValue.cs
│ │ ├── Condition.cs
│ │ ├── Consequence.cs
│ │ ├── ConsequenceHide.cs
│ │ ├── ConsequenceParams.cs
│ │ ├── ConsequenceQuery.cs
│ │ ├── ConsequenceQueryObject.cs
│ │ ├── CreatedAtResponse.cs
│ │ ├── DeleteApiKeyResponse.cs
│ │ ├── DeleteByParams.cs
│ │ ├── DeleteSourceResponse.cs
│ │ ├── DeletedAtResponse.cs
│ │ ├── DictionaryAction.cs
│ │ ├── DictionaryEntry.cs
│ │ ├── DictionaryEntryState.cs
│ │ ├── DictionaryEntryType.cs
│ │ ├── DictionaryLanguage.cs
│ │ ├── DictionarySettingsParams.cs
│ │ ├── DictionaryType.cs
│ │ ├── Distinct.cs
│ │ ├── Edit.cs
│ │ ├── EditType.cs
│ │ ├── ErrorBase.cs
│ │ ├── Event.cs
│ │ ├── EventStatus.cs
│ │ ├── EventType.cs
│ │ ├── ExactOnSingleWordQuery.cs
│ │ ├── Exhaustive.cs
│ │ ├── FacetFilters.cs
│ │ ├── FacetHits.cs
│ │ ├── FacetOrdering.cs
│ │ ├── FacetStats.cs
│ │ ├── Facets.cs
│ │ ├── FetchedIndex.cs
│ │ ├── GetApiKeyResponse.cs
│ │ ├── GetDictionarySettingsResponse.cs
│ │ ├── GetLogsResponse.cs
│ │ ├── GetObjectsParams.cs
│ │ ├── GetObjectsRequest.cs
│ │ ├── GetObjectsResponse.cs
│ │ ├── GetTaskResponse.cs
│ │ ├── GetTopUserIdsResponse.cs
│ │ ├── HasPendingMappingsResponse.cs
│ │ ├── HighlightResult.cs
│ │ ├── HighlightResultOption.cs
│ │ ├── Hit.cs
│ │ ├── IgnorePlurals.cs
│ │ ├── IndexSettings.cs
│ │ ├── InsideBoundingBox.cs
│ │ ├── Languages.cs
│ │ ├── ListApiKeysResponse.cs
│ │ ├── ListClustersResponse.cs
│ │ ├── ListIndicesResponse.cs
│ │ ├── ListUserIdsResponse.cs
│ │ ├── Log.cs
│ │ ├── LogQuery.cs
│ │ ├── LogType.cs
│ │ ├── MatchLevel.cs
│ │ ├── MatchedGeoLocation.cs
│ │ ├── Mode.cs
│ │ ├── MultipleBatchRequest.cs
│ │ ├── MultipleBatchResponse.cs
│ │ ├── NumericFilters.cs
│ │ ├── OperationIndexParams.cs
│ │ ├── OperationType.cs
│ │ ├── OptionalFilters.cs
│ │ ├── OptionalWords.cs
│ │ ├── Params.cs
│ │ ├── Personalization.cs
│ │ ├── Promote.cs
│ │ ├── PromoteObjectID.cs
│ │ ├── PromoteObjectIDs.cs
│ │ ├── QueryType.cs
│ │ ├── Range.cs
│ │ ├── RankingInfo.cs
│ │ ├── ReRankingApplyFilter.cs
│ │ ├── Redirect.cs
│ │ ├── RedirectRuleIndexData.cs
│ │ ├── RedirectRuleIndexMetadata.cs
│ │ ├── RedirectURL.cs
│ │ ├── RemoveStopWords.cs
│ │ ├── RemoveUserIdResponse.cs
│ │ ├── RemoveWordsIfNoResults.cs
│ │ ├── RenderingContent.cs
│ │ ├── ReplaceAllObjectsResponse.cs
│ │ ├── ReplaceSourceResponse.cs
│ │ ├── Rule.cs
│ │ ├── SaveObjectResponse.cs
│ │ ├── SaveSynonymResponse.cs
│ │ ├── ScopeType.cs
│ │ ├── SearchDictionaryEntriesParams.cs
│ │ ├── SearchDictionaryEntriesResponse.cs
│ │ ├── SearchForFacetValuesRequest.cs
│ │ ├── SearchForFacetValuesResponse.cs
│ │ ├── SearchForFacets.cs
│ │ ├── SearchForHits.cs
│ │ ├── SearchMethodParams.cs
│ │ ├── SearchParams.cs
│ │ ├── SearchParamsObject.cs
│ │ ├── SearchParamsString.cs
│ │ ├── SearchQuery.cs
│ │ ├── SearchResponse.cs
│ │ ├── SearchResponses.cs
│ │ ├── SearchResult.cs
│ │ ├── SearchRulesParams.cs
│ │ ├── SearchRulesResponse.cs
│ │ ├── SearchStrategy.cs
│ │ ├── SearchSynonymsParams.cs
│ │ ├── SearchSynonymsResponse.cs
│ │ ├── SearchTypeDefault.cs
│ │ ├── SearchTypeFacet.cs
│ │ ├── SearchUserIdsParams.cs
│ │ ├── SearchUserIdsResponse.cs
│ │ ├── SecuredApiKeyRestrictions.cs
│ │ ├── SemanticSearch.cs
│ │ ├── SettingsResponse.cs
│ │ ├── SnippetResult.cs
│ │ ├── SnippetResultOption.cs
│ │ ├── SortRemainingBy.cs
│ │ ├── Source.cs
│ │ ├── StandardEntries.cs
│ │ ├── SupportedLanguage.cs
│ │ ├── SynonymHit.cs
│ │ ├── SynonymType.cs
│ │ ├── TagFilters.cs
│ │ ├── TaskStatus.cs
│ │ ├── TimeRange.cs
│ │ ├── TypoTolerance.cs
│ │ ├── TypoToleranceEnum.cs
│ │ ├── UpdateApiKeyResponse.cs
│ │ ├── UpdatedAtResponse.cs
│ │ ├── UpdatedAtWithObjectIdResponse.cs
│ │ ├── UserHighlightResult.cs
│ │ ├── UserHit.cs
│ │ ├── UserId.cs
│ │ ├── Value.cs
│ │ ├── WatchResponse.cs
│ │ └── Widgets.cs
├── Serializer
│ ├── DefaultSerializer.cs
│ ├── EnumConverter.cs
│ ├── ISerializer.cs
│ └── JsonConfig.cs
├── Transport
│ ├── CallType.cs
│ ├── Compression.cs
│ ├── HttpScheme.cs
│ ├── HttpTransport.cs
│ ├── RetryStrategy.cs
│ └── StatefulHost.cs
└── Utils
│ ├── AsyncHelper.cs
│ ├── Defaults.cs
│ ├── DictionaryHelper.cs
│ ├── HmacShaHelper.cs
│ ├── ModelConverters.cs
│ ├── QueryStringHelper.cs
│ ├── SearchClientExtensions.cs
│ └── ShuffleHelper.cs
├── global.json
└── icon.png
/.config/dotnet-tools.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": 1,
3 | "isRoot": true,
4 | "tools": {
5 | "csharpier": {
6 | "version": "1.0.2",
7 | "commands": [
8 | "csharpier"
9 | ]
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/.csharpierignore:
--------------------------------------------------------------------------------
1 | obj
2 | bin
3 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/Bug_report.yml:
--------------------------------------------------------------------------------
1 | name: Bug Report
2 | description: File a bug report.
3 | title: '[bug]: '
4 | labels: ['bug', 'triage']
5 | body:
6 | - type: markdown
7 | attributes:
8 | value: |
9 | ## Please help us help you!
10 |
11 | > [!IMPORTANT]
12 | > This repository is fully generated and all pull request will be rejected.
13 | > If you wish to contribute, please refer to the [contribution guidelines](https://github.com/algolia/api-clients-automation/blob/main/CONTRIBUTING.md) on the `api-clients-automation` repository.
14 |
15 | Before filing your issue, ask yourself:
16 | - Is there an issue already opened for this bug?
17 | - Can I reproduce it?
18 |
19 | If you are not sure about the origin of the issue, or if it impacts your customer experience, please contact [our support team](https://alg.li/support).
20 | - type: textarea
21 | attributes:
22 | label: Description
23 | description: A clear and concise description of what the bug is.
24 | validations:
25 | required: true
26 | - type: dropdown
27 | id: client
28 | attributes:
29 | label: Client
30 | description: Which API are you targeting?
31 | options:
32 | - All
33 | - AB testing
34 | - Analytics
35 | - Ingestion
36 | - Insights
37 | - Monitoring
38 | - Personalization
39 | - Query-Suggestions
40 | - Recommend
41 | - Search
42 | - Crawler
43 | validations:
44 | required: true
45 | - type: input
46 | id: version
47 | attributes:
48 | label: Version
49 | description: The version of the client you are using.
50 | validations:
51 | required: true
52 | - type: textarea
53 | id: logs
54 | attributes:
55 | label: Relevant log output
56 | description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks.
57 | render: shell
58 |
--------------------------------------------------------------------------------
/.github/workflows/do-not-edit-this-repository.yml:
--------------------------------------------------------------------------------
1 | name: Do not edit files in this repository
2 |
3 | on:
4 | pull_request_target:
5 | types:
6 | - opened
7 | - synchronize
8 | - reopen
9 | branches:
10 | - 'main'
11 |
12 | jobs:
13 | auto_close_pr:
14 | name: Close PR
15 | runs-on: ubuntu-latest
16 | steps:
17 | - uses: actions/checkout@v4
18 |
19 | - name: Close PR
20 | env:
21 | GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
22 | PR_NUMBER: ${{ github.event.pull_request.number }}
23 | run: |
24 | gh pr close "${PR_NUMBER}" -d -c "Thanks for contributing to our API clients! Sorry to close your PR, but this repository is fully generated, you can port your changes to [the API Clients Automation repository](https://github.com/algolia/api-clients-automation). If you need some guidance, feel free to [open an issue](https://github.com/algolia/api-clients-automation/issues) or [read our contribution guide](https://api-clients-automation.netlify.app/docs/introduction)."
25 |
--------------------------------------------------------------------------------
/.github/workflows/issue.yml:
--------------------------------------------------------------------------------
1 | name: 'Issue sync with Jira'
2 | on:
3 | issues:
4 | types: [opened]
5 |
6 | permissions:
7 | issues: write
8 | contents: read
9 |
10 | jobs:
11 | sync:
12 | runs-on: ubuntu-latest
13 | steps:
14 | - name: Create ticket
15 | uses: actions/github-script@v7
16 | with:
17 | script: |
18 | const action = context.payload.action;
19 | if (action !== 'opened') {
20 | return;
21 | }
22 | const title = context.payload.issue.title;
23 | const body = context.payload.issue.body;
24 |
25 | const res = await fetch('https://algolia.atlassian.net/rest/api/2/issue', {
26 | method: 'POST',
27 | headers: {
28 | 'Accept': 'application/json',
29 | 'Content-Type': 'application/json',
30 | 'Authorization': `Basic ${{ secrets.JIRA_TOKEN }}`
31 | },
32 | body: JSON.stringify({
33 | fields: {
34 | description: `Issue created by ${context.actor} at ${context.payload.issue.html_url} \n\n${body}`,
35 | issuetype: {
36 | id: '10001'
37 | },
38 | parent: {
39 | key: 'DI-3523'
40 | },
41 | project: {
42 | id: '10118'
43 | },
44 | components: [
45 | {
46 | id: '10872'
47 | }
48 | ],
49 | summary: `[GH-ISSUE] ${title}`
50 | },
51 | update: {}
52 | })
53 | });
54 |
55 | if (!res.ok) {
56 | throw new Error(`Failed to create ticket: ${res.statusText} (${res.status}) - ${await res.text()}`);
57 | }
58 |
59 | const data = await res.json();
60 | console.log(`Created ticket: ${data.key}`);
61 |
--------------------------------------------------------------------------------
/.github/workflows/release.yml:
--------------------------------------------------------------------------------
1 | name: Release packages
2 |
3 | on:
4 | push:
5 | branches:
6 | - main
7 |
8 | jobs:
9 | release:
10 | name: Publish
11 | runs-on: ubuntu-22.04
12 | if: "startsWith(github.event.head_commit.message, 'chore: release')"
13 | steps:
14 | - uses: actions/checkout@v4
15 |
16 | - name: Setup .NET
17 | uses: actions/setup-dotnet@v4
18 | with:
19 | global-json-file: global.json
20 |
21 | - name: Create Nugget package
22 | run: dotnet pack --configuration Release --output nugget
23 |
24 | - name: Publish NuGet package
25 | run: dotnet nuget push "nugget/*.nupkg" --api-key "${{ secrets.NUGET_APIKEY }}" --source https://api.nuget.org/v3/index.json --skip-duplicate
26 |
--------------------------------------------------------------------------------
/Algolia.Search.sln:
--------------------------------------------------------------------------------
1 | Microsoft Visual Studio Solution File, Format Version 12.00
2 | # Visual Studio 14
3 | VisualStudioVersion = 14.0.25420.1
4 | MinimumVisualStudioVersion = 10.0.40219.1
5 | Project("{C3F414F4-84DD-4E56-A1E7-34086763F07D}") = "Algolia.Search", "algoliasearch\Algolia.Search.csproj", "{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}"
6 | EndProject
7 | Global
8 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
9 | Debug|Any CPU = Debug|Any CPU
10 | Release|Any CPU = Release|Any CPU
11 | EndGlobalSection
12 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
13 | {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
14 | {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}.Debug|Any CPU.Build.0 = Debug|Any CPU
15 | {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}.Release|Any CPU.ActiveCfg = Release|Any CPU
16 | {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}.Release|Any CPU.Build.0 = Release|Any CPU
17 | EndGlobalSection
18 | GlobalSection(SolutionProperties) = preSolution
19 | HideSolutionNode = FALSE
20 | EndGlobalSection
21 | EndGlobal
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2013-Present Algolia
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/algoliasearch/Exceptions/AlgoliaApiException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Algolia.Search.Exceptions;
4 |
5 | ///
6 | /// Exception sent by Algolia's API
7 | ///
8 | public class AlgoliaApiException : Exception
9 | {
10 | ///
11 | /// Http error code
12 | ///
13 | public int HttpErrorCode { get; set; }
14 |
15 | ///
16 | /// Create a new AlgoliaAPIException
17 | ///
18 | ///
19 | ///
20 | public AlgoliaApiException(string message, int httpErrorCode)
21 | : base(message)
22 | {
23 | HttpErrorCode = httpErrorCode;
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/algoliasearch/Exceptions/AlgoliaException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Algolia.Search.Exceptions;
4 |
5 | ///
6 | /// Exception thrown when an error occurs in the Algolia client.
7 | ///
8 | public class AlgoliaException : Exception
9 | {
10 | ///
11 | /// Create a new Algolia exception.
12 | ///
13 | /// The exception details.
14 | public AlgoliaException(string message)
15 | : base(message) { }
16 |
17 | ///
18 | /// Create a new Algolia exception, with an inner exception.
19 | ///
20 | ///
21 | ///
22 | public AlgoliaException(string message, Exception inner)
23 | : base(message, inner) { }
24 | }
25 |
--------------------------------------------------------------------------------
/algoliasearch/Exceptions/AlgoliaUnreachableHostException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Algolia.Search.Exceptions;
4 |
5 | ///
6 | /// Exception thrown when an host in unreachable
7 | ///
8 | public class AlgoliaUnreachableHostException : Exception
9 | {
10 | ///
11 | /// Create a new AlgoliaUnreachableHostException.
12 | ///
13 | /// The exception details.
14 | public AlgoliaUnreachableHostException(string message)
15 | : base(message) { }
16 | }
17 |
--------------------------------------------------------------------------------
/algoliasearch/Http/AlgoliaHttpResponse.cs:
--------------------------------------------------------------------------------
1 | using System.IO;
2 |
3 | namespace Algolia.Search.Http;
4 |
5 | ///
6 | /// Response from Algolia's API
7 | ///
8 | public class AlgoliaHttpResponse
9 | {
10 | ///
11 | /// Http response code
12 | ///
13 | public int HttpStatusCode { get; set; }
14 |
15 | ///
16 | /// Stream Response body
17 | ///
18 | public Stream Body { get; set; }
19 |
20 | ///
21 | /// TimeOut
22 | ///
23 | public bool IsTimedOut { get; set; }
24 |
25 | ///
26 | /// Network connectivity, DNS failure, server certificate validation.
27 | ///
28 | public bool IsNetworkError { get; set; }
29 |
30 | ///
31 | /// Http Error message
32 | ///
33 | public string Error { get; set; }
34 | }
35 |
--------------------------------------------------------------------------------
/algoliasearch/Http/AlgoliaUserAgent.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Reflection;
5 | using Algolia.Search.Clients;
6 |
7 | namespace Algolia.Search.Http;
8 |
9 | ///
10 | /// Represent the user-agent header
11 | ///
12 | public class AlgoliaUserAgent
13 | {
14 | private readonly IDictionary _segments = new Dictionary();
15 |
16 | // Get the dotnet runtime version
17 | private static readonly string DotnetVersion = Environment.Version.ToString();
18 |
19 | ///
20 | /// Create a new user-agent header
21 | ///
22 | /// The client name
23 | /// The client version
24 | public AlgoliaUserAgent(string clientName, string clientVersion)
25 | {
26 | AddSegment("Algolia for Csharp", $"({clientVersion})");
27 | AddSegment(clientName, $"({clientVersion})");
28 | AddSegment("Dotnet", $"({DotnetVersion})");
29 | }
30 |
31 | ///
32 | /// Add a new segment to the user-agent header
33 | ///
34 | /// The segment key
35 | /// The segment value. Will be wrapped in parenthesis
36 | ///
37 | public void AddSegment(string key, string value)
38 | {
39 | if (string.IsNullOrEmpty(key) || string.IsNullOrEmpty(value))
40 | {
41 | throw new ArgumentException("Key and value must be set");
42 | }
43 |
44 | if (_segments.ContainsKey(key))
45 | throw new ArgumentException("Key must be unique");
46 |
47 | _segments.Add(new KeyValuePair(key, value));
48 | }
49 |
50 | ///
51 | /// Create a valid user-agent header
52 | ///
53 | ///
54 | public override string ToString()
55 | {
56 | return string.Join("; ", _segments.Select(s => $"{s.Key} {s.Value}"));
57 | }
58 | }
59 |
--------------------------------------------------------------------------------
/algoliasearch/Http/HttpRequestExtensions.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Net.Http;
3 |
4 | namespace Algolia.Search.Http;
5 |
6 | ///
7 | /// This class allow to handle timeout per request
8 | /// https://www.thomaslevesque.com/2018/02/25/better-timeout-handling-with-httpclient/
9 | ///
10 | internal static class HttpRequestExtensions
11 | {
12 | private const string TimeoutPropertyKey = "RequestTimeout";
13 |
14 | internal static void SetTimeout(this HttpRequestMessage request, TimeSpan? timeout)
15 | {
16 | if (request == null)
17 | throw new ArgumentNullException(nameof(request));
18 | request.Properties[TimeoutPropertyKey] = timeout;
19 | }
20 |
21 | internal static TimeSpan? GetTimeout(this HttpRequestMessage request)
22 | {
23 | if (request == null)
24 | throw new ArgumentNullException(nameof(request));
25 | if (
26 | request.Properties.TryGetValue(TimeoutPropertyKey, out var value) && value is TimeSpan timeout
27 | )
28 | return timeout;
29 | return null;
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/algoliasearch/Http/HttpRequestHeadersExtensions.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.Linq;
3 | using System.Net.Http.Headers;
4 | using Algolia.Search.Utils;
5 |
6 | namespace Algolia.Search.Http;
7 |
8 | internal static class HttpRequestHeadersExtensions
9 | {
10 | ///
11 | /// Extension method to easily fill the HttpRequesterHeaders object
12 | ///
13 | ///
14 | ///
15 | ///
16 | internal static void Fill(this HttpRequestHeaders headers, IDictionary dictionary)
17 | {
18 | foreach (var header in dictionary.ToList())
19 | {
20 | headers.TryAddWithoutValidation(header.Key, header.Value);
21 | }
22 | }
23 |
24 | ///
25 | /// Extension method to easily fill HttpContentHeaders with the Request object
26 | ///
27 | ///
28 | ///
29 | internal static void Fill(this HttpContentHeaders headers, Request request)
30 | {
31 | if (request.Body == null)
32 | {
33 | return;
34 | }
35 |
36 | headers.Add(Defaults.ContentType, Defaults.ApplicationJson);
37 |
38 | if (request.CanCompress)
39 | {
40 | headers.ContentEncoding.Add(Defaults.GzipEncoding);
41 | }
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/algoliasearch/Http/IHttpRequester.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Threading;
3 | using System.Threading.Tasks;
4 |
5 | namespace Algolia.Search.Http;
6 |
7 | ///
8 | /// Interface that allow users to inject their custom http requester
9 | /// Don't use directly, use AlgoliaClient to make request with the retry strategy
10 | ///
11 | public interface IHttpRequester
12 | {
13 | ///
14 | /// Sends the HTTP request
15 | ///
16 | /// Request object
17 | /// Request timeout
18 | /// Connect timeout
19 | /// Optional cancellation token
20 | ///
21 | Task SendRequestAsync(
22 | Request request,
23 | TimeSpan requestTimeout,
24 | TimeSpan connectTimeout,
25 | CancellationToken ct = default
26 | );
27 | }
28 |
--------------------------------------------------------------------------------
/algoliasearch/Http/Request.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.IO;
4 | using System.Net.Http;
5 | using Algolia.Search.Models.Common;
6 |
7 | namespace Algolia.Search.Http;
8 |
9 | ///
10 | /// Request to send to the API
11 | ///
12 | public class Request
13 | {
14 | ///
15 | /// The HTTP verb GET,POST etc.
16 | ///
17 | public HttpMethod Method { get; set; }
18 |
19 | ///
20 | /// Uri of the request
21 | ///
22 | public Uri Uri { get; set; }
23 |
24 | ///
25 | /// Headers
26 | ///
27 | public IDictionary Headers { get; set; }
28 |
29 | ///
30 | /// Body of the request
31 | ///
32 | public Stream Body { get; set; }
33 |
34 | ///
35 | /// Compression type of the request
36 | ///
37 | public CompressionType Compression { get; set; }
38 |
39 | ///
40 | /// Tells if the request can be compressed or not
41 | ///
42 | public bool CanCompress
43 | {
44 | get
45 | {
46 | if (Method == null)
47 | {
48 | return false;
49 | }
50 |
51 | var isMethodValid = Method.Equals(HttpMethod.Post) || Method.Equals(HttpMethod.Put);
52 | var isCompressionEnabled = Compression.Equals(CompressionType.Gzip);
53 |
54 | return isMethodValid && isCompressionEnabled;
55 | }
56 | }
57 | }
58 |
--------------------------------------------------------------------------------
/algoliasearch/Http/RequestOptionBuilder.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 |
4 | namespace Algolia.Search.Http;
5 |
6 | ///
7 | /// Request option you can add to your queries
8 | ///
9 | public class RequestOptionBuilder
10 | {
11 | private readonly RequestOptions _options;
12 |
13 | ///
14 | /// Constructs a new instance of
15 | ///
16 | public RequestOptionBuilder()
17 | {
18 | _options = new RequestOptions
19 | {
20 | Headers = new Dictionary(),
21 | QueryParameters = new Dictionary(),
22 | };
23 | }
24 |
25 | ///
26 | /// Add extra headers to the request
27 | ///
28 | ///
29 | ///
30 | ///
31 | public RequestOptionBuilder AddExtraHeader(string key, string value)
32 | {
33 | _options.Headers.Add(key, value);
34 | return this;
35 | }
36 |
37 | ///
38 | /// Add extra query parameters to the request
39 | ///
40 | ///
41 | ///
42 | ///
43 | public RequestOptionBuilder AddExtraQueryParameters(string key, object value)
44 | {
45 | _options.QueryParameters.Add(key, value);
46 | return this;
47 | }
48 |
49 | ///
50 | /// Set the request read timeout
51 | ///
52 | ///
53 | ///
54 | public RequestOptionBuilder SetReadTimeout(TimeSpan timeout)
55 | {
56 | _options.ReadTimeout = timeout;
57 | return this;
58 | }
59 |
60 | ///
61 | /// Set the request write timeout
62 | ///
63 | ///
64 | ///
65 | public RequestOptionBuilder SetWriteTimeout(TimeSpan timeout)
66 | {
67 | _options.WriteTimeout = timeout;
68 | return this;
69 | }
70 |
71 | ///
72 | /// Set the request connect timeout
73 | ///
74 | ///
75 | ///
76 | public RequestOptionBuilder SetConnectTimeout(TimeSpan timeout)
77 | {
78 | _options.ConnectTimeout = timeout;
79 | return this;
80 | }
81 |
82 | ///
83 | /// Build the request options
84 | ///
85 | ///
86 | public RequestOptions Build()
87 | {
88 | return _options;
89 | }
90 | }
91 |
--------------------------------------------------------------------------------
/algoliasearch/Http/RequestOptions.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 |
4 | namespace Algolia.Search.Http;
5 |
6 | ///
7 | /// Request option you can add to your queries
8 | /// Use to help you build this object
9 | ///
10 | public class RequestOptions
11 | {
12 | ///
13 | /// Custom headers will override default headers if they exist
14 | ///
15 | public IDictionary Headers { get; set; }
16 |
17 | ///
18 | /// Add custom queries parameters
19 | ///
20 | public IDictionary QueryParameters { get; set; }
21 |
22 | ///
23 | /// Request timeout
24 | ///
25 | public TimeSpan? ReadTimeout { get; set; }
26 |
27 | ///
28 | /// Request timeout
29 | ///
30 | public TimeSpan? WriteTimeout { get; set; }
31 |
32 | ///
33 | /// Request timeout
34 | ///
35 | public TimeSpan? ConnectTimeout { get; set; }
36 |
37 | ///
38 | /// Constructs a new instance of
39 | ///
40 | public RequestOptions()
41 | {
42 | QueryParameters = new Dictionary();
43 | Headers = new Dictionary();
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/algoliasearch/Http/TimeoutHandler.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Net.Http;
3 | using System.Threading;
4 | using System.Threading.Tasks;
5 |
6 | namespace Algolia.Search.Http;
7 |
8 | ///
9 | /// This class allow to handle timeout per request
10 | /// https://www.thomaslevesque.com/2018/02/25/better-timeout-handling-with-httpclient/
11 | ///
12 | internal class TimeoutHandler : DelegatingHandler
13 | {
14 | private TimeSpan DefaultTimeout { get; set; } = TimeSpan.FromSeconds(100);
15 |
16 | protected override async Task SendAsync(
17 | HttpRequestMessage request,
18 | CancellationToken cancellationToken
19 | )
20 | {
21 | using var cts = GetCancellationTokenSource(request, cancellationToken);
22 | try
23 | {
24 | return await base.SendAsync(request, cts?.Token ?? cancellationToken).ConfigureAwait(false);
25 | }
26 | catch (OperationCanceledException) when (!cancellationToken.IsCancellationRequested)
27 | {
28 | throw new TimeoutException();
29 | }
30 | }
31 |
32 | private CancellationTokenSource GetCancellationTokenSource(
33 | HttpRequestMessage request,
34 | CancellationToken cancellationToken
35 | )
36 | {
37 | var timeout = request.GetTimeout() ?? DefaultTimeout;
38 | if (timeout == Timeout.InfiniteTimeSpan)
39 | {
40 | // No need to create a CTS if there's no timeout
41 | return null;
42 | }
43 |
44 | var cts = CancellationTokenSource.CreateLinkedTokenSource(cancellationToken);
45 | cts.CancelAfter(timeout);
46 | return cts;
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Abtesting/EffectMetric.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Abtesting;
13 |
14 | ///
15 | /// Metric for which you want to detect the smallest relative difference.
16 | ///
17 | /// Metric for which you want to detect the smallest relative difference.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum EffectMetric
20 | {
21 | ///
22 | /// Enum AddToCartRate for value: addToCartRate
23 | ///
24 | [JsonPropertyName("addToCartRate")]
25 | AddToCartRate = 1,
26 |
27 | ///
28 | /// Enum ClickThroughRate for value: clickThroughRate
29 | ///
30 | [JsonPropertyName("clickThroughRate")]
31 | ClickThroughRate = 2,
32 |
33 | ///
34 | /// Enum ConversionRate for value: conversionRate
35 | ///
36 | [JsonPropertyName("conversionRate")]
37 | ConversionRate = 3,
38 |
39 | ///
40 | /// Enum PurchaseRate for value: purchaseRate
41 | ///
42 | [JsonPropertyName("purchaseRate")]
43 | PurchaseRate = 4,
44 | }
45 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Abtesting/EmptySearch.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Abtesting;
13 |
14 | ///
15 | /// Configuration for handling empty searches.
16 | ///
17 | public partial class EmptySearch
18 | {
19 | ///
20 | /// Initializes a new instance of the EmptySearch class.
21 | ///
22 | public EmptySearch() { }
23 |
24 | ///
25 | /// Whether to exclude empty searches when calculating A/B test results.
26 | ///
27 | /// Whether to exclude empty searches when calculating A/B test results.
28 | [JsonPropertyName("exclude")]
29 | public bool? Exclude { get; set; }
30 |
31 | ///
32 | /// Returns the string presentation of the object
33 | ///
34 | /// String presentation of the object
35 | public override string ToString()
36 | {
37 | StringBuilder sb = new StringBuilder();
38 | sb.Append("class EmptySearch {\n");
39 | sb.Append(" Exclude: ").Append(Exclude).Append("\n");
40 | sb.Append("}\n");
41 | return sb.ToString();
42 | }
43 |
44 | ///
45 | /// Returns the JSON string presentation of the object
46 | ///
47 | /// JSON string presentation of the object
48 | public virtual string ToJson()
49 | {
50 | return JsonSerializer.Serialize(this, JsonConfig.Options);
51 | }
52 |
53 | ///
54 | /// Returns true if objects are equal
55 | ///
56 | /// Object to be compared
57 | /// Boolean
58 | public override bool Equals(object obj)
59 | {
60 | if (obj is not EmptySearch input)
61 | {
62 | return false;
63 | }
64 |
65 | return (Exclude == input.Exclude || Exclude.Equals(input.Exclude));
66 | }
67 |
68 | ///
69 | /// Gets the hash code
70 | ///
71 | /// Hash code
72 | public override int GetHashCode()
73 | {
74 | unchecked // Overflow is fine, just wrap
75 | {
76 | int hashCode = 41;
77 | hashCode = (hashCode * 59) + Exclude.GetHashCode();
78 | return hashCode;
79 | }
80 | }
81 | }
82 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Abtesting/Outliers.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Abtesting;
13 |
14 | ///
15 | /// Configuration for handling outliers.
16 | ///
17 | public partial class Outliers
18 | {
19 | ///
20 | /// Initializes a new instance of the Outliers class.
21 | ///
22 | public Outliers() { }
23 |
24 | ///
25 | /// Whether to exclude outliers when calculating A/B test results.
26 | ///
27 | /// Whether to exclude outliers when calculating A/B test results.
28 | [JsonPropertyName("exclude")]
29 | public bool? Exclude { get; set; }
30 |
31 | ///
32 | /// Returns the string presentation of the object
33 | ///
34 | /// String presentation of the object
35 | public override string ToString()
36 | {
37 | StringBuilder sb = new StringBuilder();
38 | sb.Append("class Outliers {\n");
39 | sb.Append(" Exclude: ").Append(Exclude).Append("\n");
40 | sb.Append("}\n");
41 | return sb.ToString();
42 | }
43 |
44 | ///
45 | /// Returns the JSON string presentation of the object
46 | ///
47 | /// JSON string presentation of the object
48 | public virtual string ToJson()
49 | {
50 | return JsonSerializer.Serialize(this, JsonConfig.Options);
51 | }
52 |
53 | ///
54 | /// Returns true if objects are equal
55 | ///
56 | /// Object to be compared
57 | /// Boolean
58 | public override bool Equals(object obj)
59 | {
60 | if (obj is not Outliers input)
61 | {
62 | return false;
63 | }
64 |
65 | return (Exclude == input.Exclude || Exclude.Equals(input.Exclude));
66 | }
67 |
68 | ///
69 | /// Gets the hash code
70 | ///
71 | /// Hash code
72 | public override int GetHashCode()
73 | {
74 | unchecked // Overflow is fine, just wrap
75 | {
76 | int hashCode = 41;
77 | hashCode = (hashCode * 59) + Exclude.GetHashCode();
78 | return hashCode;
79 | }
80 | }
81 | }
82 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Abtesting/Status.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Abtesting;
13 |
14 | ///
15 | /// A/B test status. - `active`. The A/B test is live and search traffic is split between the two variants. - `stopped`. You stopped the A/B test. The A/B test data is still available for analysis. - `expired`. The A/B test was automatically stopped after reaching its end date. - `failed`. Creating the A/B test failed.
16 | ///
17 | /// A/B test status. - `active`. The A/B test is live and search traffic is split between the two variants. - `stopped`. You stopped the A/B test. The A/B test data is still available for analysis. - `expired`. The A/B test was automatically stopped after reaching its end date. - `failed`. Creating the A/B test failed.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum Status
20 | {
21 | ///
22 | /// Enum Active for value: active
23 | ///
24 | [JsonPropertyName("active")]
25 | Active = 1,
26 |
27 | ///
28 | /// Enum Stopped for value: stopped
29 | ///
30 | [JsonPropertyName("stopped")]
31 | Stopped = 2,
32 |
33 | ///
34 | /// Enum Expired for value: expired
35 | ///
36 | [JsonPropertyName("expired")]
37 | Expired = 3,
38 |
39 | ///
40 | /// Enum Failed for value: failed
41 | ///
42 | [JsonPropertyName("failed")]
43 | Failed = 4,
44 | }
45 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Analytics/Direction.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Analytics;
13 |
14 | ///
15 | /// Defines direction
16 | ///
17 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
18 | public enum Direction
19 | {
20 | ///
21 | /// Enum Asc for value: asc
22 | ///
23 | [JsonPropertyName("asc")]
24 | Asc = 1,
25 |
26 | ///
27 | /// Enum Desc for value: desc
28 | ///
29 | [JsonPropertyName("desc")]
30 | Desc = 2,
31 | }
32 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Analytics/Operator.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Analytics;
13 |
14 | ///
15 | /// Character that characterizes how the filter is applied. For example, for a facet filter `facet:value`, `:` is the operator. For a numeric filter `count>50`, `>` is the operator.
16 | ///
17 | /// Character that characterizes how the filter is applied. For example, for a facet filter `facet:value`, `:` is the operator. For a numeric filter `count>50`, `>` is the operator.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum Operator
20 | {
21 | ///
22 | /// Enum Colon for value: :
23 | ///
24 | [JsonPropertyName(":")]
25 | Colon = 1,
26 |
27 | ///
28 | /// Enum LessThan for value: <
29 | ///
30 | [JsonPropertyName("<")]
31 | LessThan = 2,
32 |
33 | ///
34 | /// Enum LessThanOrEqualTo for value: <=
35 | ///
36 | [JsonPropertyName("<=")]
37 | LessThanOrEqualTo = 3,
38 |
39 | ///
40 | /// Enum Equal for value: =
41 | ///
42 | [JsonPropertyName("=")]
43 | Equal = 4,
44 |
45 | ///
46 | /// Enum NotEqual for value: !=
47 | ///
48 | [JsonPropertyName("!=")]
49 | NotEqual = 5,
50 |
51 | ///
52 | /// Enum GreaterThan for value: >
53 | ///
54 | [JsonPropertyName(">")]
55 | GreaterThan = 6,
56 |
57 | ///
58 | /// Enum GreaterThanOrEqualTo for value: >=
59 | ///
60 | [JsonPropertyName(">=")]
61 | GreaterThanOrEqualTo = 7,
62 | }
63 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Analytics/OrderBy.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Analytics;
13 |
14 | ///
15 | /// Attribute by which to order the response items. If the `clickAnalytics` parameter is false, only `searchCount` is available.
16 | ///
17 | /// Attribute by which to order the response items. If the `clickAnalytics` parameter is false, only `searchCount` is available.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum OrderBy
20 | {
21 | ///
22 | /// Enum SearchCount for value: searchCount
23 | ///
24 | [JsonPropertyName("searchCount")]
25 | SearchCount = 1,
26 |
27 | ///
28 | /// Enum ClickThroughRate for value: clickThroughRate
29 | ///
30 | [JsonPropertyName("clickThroughRate")]
31 | ClickThroughRate = 2,
32 |
33 | ///
34 | /// Enum ConversionRate for value: conversionRate
35 | ///
36 | [JsonPropertyName("conversionRate")]
37 | ConversionRate = 3,
38 |
39 | ///
40 | /// Enum AverageClickPosition for value: averageClickPosition
41 | ///
42 | [JsonPropertyName("averageClickPosition")]
43 | AverageClickPosition = 4,
44 | }
45 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Common/AbstractSchema.cs:
--------------------------------------------------------------------------------
1 | namespace Algolia.Search.Models.Common;
2 |
3 | ///
4 | /// Abstract base class for oneOf, anyOf schemas in the OpenAPI specification
5 | ///
6 | public abstract class AbstractSchema
7 | {
8 | ///
9 | /// Gets or Sets the actual instance
10 | ///
11 | public abstract object ActualInstance { get; set; }
12 |
13 | ///
14 | /// Converts the instance into JSON string.
15 | ///
16 | public abstract string ToJson();
17 | }
18 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Common/CompressionType.cs:
--------------------------------------------------------------------------------
1 | namespace Algolia.Search.Models.Common;
2 |
3 | ///
4 | /// Compression type for outgoing HTTP requests
5 | ///
6 | public enum CompressionType
7 | {
8 | ///
9 | /// No compression
10 | ///
11 | None = 1,
12 |
13 | ///
14 | /// GZip Compression. Only supported by Search API.
15 | ///
16 | Gzip = 2,
17 | }
18 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Common/SecuredApiKeyRestrictionHelper.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.Linq;
3 | using System.Reflection;
4 | using System.Text.Json.Serialization;
5 | using Algolia.Search.Http;
6 | using Algolia.Search.Utils;
7 |
8 | namespace Algolia.Search.Models.Search;
9 |
10 | ///
11 | /// Secured Api Key restrictions
12 | ///
13 | public partial class SecuredApiKeyRestrictions
14 | {
15 | ///
16 | /// Transforms the restriction into a query string
17 | ///
18 | ///
19 | public string ToQueryString()
20 | {
21 | var restrictions = ToQueryMap(this, nameof(SearchParams));
22 | if (SearchParams != null)
23 | {
24 | // merge SearchParams into restrictions
25 | restrictions = restrictions
26 | .Concat(ToQueryMap(SearchParams))
27 | .ToDictionary(kvp => kvp.Key, kvp => kvp.Value);
28 | }
29 |
30 | return QueryStringHelper.ToQueryString(
31 | restrictions.OrderBy(x => x.Key).ToDictionary(kvp => kvp.Key, kvp => kvp.Value)
32 | );
33 | }
34 |
35 | ///
36 | /// Transform a poco to a map of query parameters
37 | ///
38 | ///
39 | ///
40 | ///
41 | ///
42 | private static Dictionary ToQueryMap(T value, params string[] ignoreList)
43 | {
44 | return typeof(T)
45 | .GetTypeInfo()
46 | .DeclaredProperties.Where(p =>
47 | p.GetValue(value, null) != null
48 | && !ignoreList.Contains(p.Name)
49 | && p.GetCustomAttribute() != null
50 | )
51 | .Select(p => new
52 | {
53 | propsName = p.GetCustomAttribute().Name,
54 | value = QueryStringHelper.ParameterToString(p.GetValue(value, null)),
55 | })
56 | .ToDictionary(p => p.propsName, p => p.value);
57 | }
58 | }
59 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Composition/AroundRadiusAll.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Composition;
13 |
14 | ///
15 | /// Return all records with a valid `_geoloc` attribute. Don't filter by distance.
16 | ///
17 | /// Return all records with a valid `_geoloc` attribute. Don't filter by distance.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum AroundRadiusAll
20 | {
21 | ///
22 | /// Enum All for value: all
23 | ///
24 | [JsonPropertyName("all")]
25 | All = 1,
26 | }
27 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Composition/BannerImageUrl.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Composition;
13 |
14 | ///
15 | /// URL for an image to show inside a banner.
16 | ///
17 | public partial class BannerImageUrl
18 | {
19 | ///
20 | /// Initializes a new instance of the BannerImageUrl class.
21 | ///
22 | public BannerImageUrl() { }
23 |
24 | ///
25 | /// Gets or Sets Url
26 | ///
27 | [JsonPropertyName("url")]
28 | public string Url { get; set; }
29 |
30 | ///
31 | /// Returns the string presentation of the object
32 | ///
33 | /// String presentation of the object
34 | public override string ToString()
35 | {
36 | StringBuilder sb = new StringBuilder();
37 | sb.Append("class BannerImageUrl {\n");
38 | sb.Append(" Url: ").Append(Url).Append("\n");
39 | sb.Append("}\n");
40 | return sb.ToString();
41 | }
42 |
43 | ///
44 | /// Returns the JSON string presentation of the object
45 | ///
46 | /// JSON string presentation of the object
47 | public virtual string ToJson()
48 | {
49 | return JsonSerializer.Serialize(this, JsonConfig.Options);
50 | }
51 |
52 | ///
53 | /// Returns true if objects are equal
54 | ///
55 | /// Object to be compared
56 | /// Boolean
57 | public override bool Equals(object obj)
58 | {
59 | if (obj is not BannerImageUrl input)
60 | {
61 | return false;
62 | }
63 |
64 | return (Url == input.Url || (Url != null && Url.Equals(input.Url)));
65 | }
66 |
67 | ///
68 | /// Gets the hash code
69 | ///
70 | /// Hash code
71 | public override int GetHashCode()
72 | {
73 | unchecked // Overflow is fine, just wrap
74 | {
75 | int hashCode = 41;
76 | if (Url != null)
77 | {
78 | hashCode = (hashCode * 59) + Url.GetHashCode();
79 | }
80 | return hashCode;
81 | }
82 | }
83 | }
84 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Composition/BannerLink.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Composition;
13 |
14 | ///
15 | /// Link for a banner defined in the Merchandising Studio.
16 | ///
17 | public partial class BannerLink
18 | {
19 | ///
20 | /// Initializes a new instance of the BannerLink class.
21 | ///
22 | public BannerLink() { }
23 |
24 | ///
25 | /// Gets or Sets Url
26 | ///
27 | [JsonPropertyName("url")]
28 | public string Url { get; set; }
29 |
30 | ///
31 | /// Returns the string presentation of the object
32 | ///
33 | /// String presentation of the object
34 | public override string ToString()
35 | {
36 | StringBuilder sb = new StringBuilder();
37 | sb.Append("class BannerLink {\n");
38 | sb.Append(" Url: ").Append(Url).Append("\n");
39 | sb.Append("}\n");
40 | return sb.ToString();
41 | }
42 |
43 | ///
44 | /// Returns the JSON string presentation of the object
45 | ///
46 | /// JSON string presentation of the object
47 | public virtual string ToJson()
48 | {
49 | return JsonSerializer.Serialize(this, JsonConfig.Options);
50 | }
51 |
52 | ///
53 | /// Returns true if objects are equal
54 | ///
55 | /// Object to be compared
56 | /// Boolean
57 | public override bool Equals(object obj)
58 | {
59 | if (obj is not BannerLink input)
60 | {
61 | return false;
62 | }
63 |
64 | return (Url == input.Url || (Url != null && Url.Equals(input.Url)));
65 | }
66 |
67 | ///
68 | /// Gets the hash code
69 | ///
70 | /// Hash code
71 | public override int GetHashCode()
72 | {
73 | unchecked // Overflow is fine, just wrap
74 | {
75 | int hashCode = 41;
76 | if (Url != null)
77 | {
78 | hashCode = (hashCode * 59) + Url.GetHashCode();
79 | }
80 | return hashCode;
81 | }
82 | }
83 | }
84 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Composition/MatchLevel.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Composition;
13 |
14 | ///
15 | /// Whether the whole query string matches or only a part.
16 | ///
17 | /// Whether the whole query string matches or only a part.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum MatchLevel
20 | {
21 | ///
22 | /// Enum None for value: none
23 | ///
24 | [JsonPropertyName("none")]
25 | None = 1,
26 |
27 | ///
28 | /// Enum Partial for value: partial
29 | ///
30 | [JsonPropertyName("partial")]
31 | Partial = 2,
32 |
33 | ///
34 | /// Enum Full for value: full
35 | ///
36 | [JsonPropertyName("full")]
37 | Full = 3,
38 | }
39 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Composition/RedirectURL.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Composition;
13 |
14 | ///
15 | /// The redirect rule container.
16 | ///
17 | public partial class RedirectURL
18 | {
19 | ///
20 | /// Initializes a new instance of the RedirectURL class.
21 | ///
22 | public RedirectURL() { }
23 |
24 | ///
25 | /// Gets or Sets Url
26 | ///
27 | [JsonPropertyName("url")]
28 | public string Url { get; set; }
29 |
30 | ///
31 | /// Returns the string presentation of the object
32 | ///
33 | /// String presentation of the object
34 | public override string ToString()
35 | {
36 | StringBuilder sb = new StringBuilder();
37 | sb.Append("class RedirectURL {\n");
38 | sb.Append(" Url: ").Append(Url).Append("\n");
39 | sb.Append("}\n");
40 | return sb.ToString();
41 | }
42 |
43 | ///
44 | /// Returns the JSON string presentation of the object
45 | ///
46 | /// JSON string presentation of the object
47 | public virtual string ToJson()
48 | {
49 | return JsonSerializer.Serialize(this, JsonConfig.Options);
50 | }
51 |
52 | ///
53 | /// Returns true if objects are equal
54 | ///
55 | /// Object to be compared
56 | /// Boolean
57 | public override bool Equals(object obj)
58 | {
59 | if (obj is not RedirectURL input)
60 | {
61 | return false;
62 | }
63 |
64 | return (Url == input.Url || (Url != null && Url.Equals(input.Url)));
65 | }
66 |
67 | ///
68 | /// Gets the hash code
69 | ///
70 | /// Hash code
71 | public override int GetHashCode()
72 | {
73 | unchecked // Overflow is fine, just wrap
74 | {
75 | int hashCode = 41;
76 | if (Url != null)
77 | {
78 | hashCode = (hashCode * 59) + Url.GetHashCode();
79 | }
80 | return hashCode;
81 | }
82 | }
83 | }
84 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Composition/RequestBody.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Composition;
13 |
14 | ///
15 | /// RequestBody
16 | ///
17 | public partial class RequestBody
18 | {
19 | ///
20 | /// Initializes a new instance of the RequestBody class.
21 | ///
22 | public RequestBody() { }
23 |
24 | ///
25 | /// Gets or Sets Params
26 | ///
27 | [JsonPropertyName("params")]
28 | public Params Params { get; set; }
29 |
30 | ///
31 | /// Returns the string presentation of the object
32 | ///
33 | /// String presentation of the object
34 | public override string ToString()
35 | {
36 | StringBuilder sb = new StringBuilder();
37 | sb.Append("class RequestBody {\n");
38 | sb.Append(" Params: ").Append(Params).Append("\n");
39 | sb.Append("}\n");
40 | return sb.ToString();
41 | }
42 |
43 | ///
44 | /// Returns the JSON string presentation of the object
45 | ///
46 | /// JSON string presentation of the object
47 | public virtual string ToJson()
48 | {
49 | return JsonSerializer.Serialize(this, JsonConfig.Options);
50 | }
51 |
52 | ///
53 | /// Returns true if objects are equal
54 | ///
55 | /// Object to be compared
56 | /// Boolean
57 | public override bool Equals(object obj)
58 | {
59 | if (obj is not RequestBody input)
60 | {
61 | return false;
62 | }
63 |
64 | return (Params == input.Params || (Params != null && Params.Equals(input.Params)));
65 | }
66 |
67 | ///
68 | /// Gets the hash code
69 | ///
70 | /// Hash code
71 | public override int GetHashCode()
72 | {
73 | unchecked // Overflow is fine, just wrap
74 | {
75 | int hashCode = 41;
76 | if (Params != null)
77 | {
78 | hashCode = (hashCode * 59) + Params.GetHashCode();
79 | }
80 | return hashCode;
81 | }
82 | }
83 | }
84 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Composition/SearchForFacetValuesRequest.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Composition;
13 |
14 | ///
15 | /// SearchForFacetValuesRequest
16 | ///
17 | public partial class SearchForFacetValuesRequest
18 | {
19 | ///
20 | /// Initializes a new instance of the SearchForFacetValuesRequest class.
21 | ///
22 | public SearchForFacetValuesRequest() { }
23 |
24 | ///
25 | /// Gets or Sets Params
26 | ///
27 | [JsonPropertyName("params")]
28 | public SearchForFacetValuesParams Params { get; set; }
29 |
30 | ///
31 | /// Returns the string presentation of the object
32 | ///
33 | /// String presentation of the object
34 | public override string ToString()
35 | {
36 | StringBuilder sb = new StringBuilder();
37 | sb.Append("class SearchForFacetValuesRequest {\n");
38 | sb.Append(" Params: ").Append(Params).Append("\n");
39 | sb.Append("}\n");
40 | return sb.ToString();
41 | }
42 |
43 | ///
44 | /// Returns the JSON string presentation of the object
45 | ///
46 | /// JSON string presentation of the object
47 | public virtual string ToJson()
48 | {
49 | return JsonSerializer.Serialize(this, JsonConfig.Options);
50 | }
51 |
52 | ///
53 | /// Returns true if objects are equal
54 | ///
55 | /// Object to be compared
56 | /// Boolean
57 | public override bool Equals(object obj)
58 | {
59 | if (obj is not SearchForFacetValuesRequest input)
60 | {
61 | return false;
62 | }
63 |
64 | return (Params == input.Params || (Params != null && Params.Equals(input.Params)));
65 | }
66 |
67 | ///
68 | /// Gets the hash code
69 | ///
70 | /// Hash code
71 | public override int GetHashCode()
72 | {
73 | unchecked // Overflow is fine, just wrap
74 | {
75 | int hashCode = 41;
76 | if (Params != null)
77 | {
78 | hashCode = (hashCode * 59) + Params.GetHashCode();
79 | }
80 | return hashCode;
81 | }
82 | }
83 | }
84 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Composition/SortRemainingBy.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Composition;
13 |
14 | ///
15 | /// Order of facet values that aren't explicitly positioned with the `order` setting. - `count`. Order remaining facet values by decreasing count. The count is the number of matching records containing this facet value. - `alpha`. Sort facet values alphabetically. - `hidden`. Don't show facet values that aren't explicitly positioned.
16 | ///
17 | /// Order of facet values that aren't explicitly positioned with the `order` setting. - `count`. Order remaining facet values by decreasing count. The count is the number of matching records containing this facet value. - `alpha`. Sort facet values alphabetically. - `hidden`. Don't show facet values that aren't explicitly positioned.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum SortRemainingBy
20 | {
21 | ///
22 | /// Enum Count for value: count
23 | ///
24 | [JsonPropertyName("count")]
25 | Count = 1,
26 |
27 | ///
28 | /// Enum Alpha for value: alpha
29 | ///
30 | [JsonPropertyName("alpha")]
31 | Alpha = 2,
32 |
33 | ///
34 | /// Enum Hidden for value: hidden
35 | ///
36 | [JsonPropertyName("hidden")]
37 | Hidden = 3,
38 | }
39 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Ingestion/Action.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Ingestion;
13 |
14 | ///
15 | /// Type of indexing operation.
16 | ///
17 | /// Type of indexing operation.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum Action
20 | {
21 | ///
22 | /// Enum AddObject for value: addObject
23 | ///
24 | [JsonPropertyName("addObject")]
25 | AddObject = 1,
26 |
27 | ///
28 | /// Enum UpdateObject for value: updateObject
29 | ///
30 | [JsonPropertyName("updateObject")]
31 | UpdateObject = 2,
32 |
33 | ///
34 | /// Enum PartialUpdateObject for value: partialUpdateObject
35 | ///
36 | [JsonPropertyName("partialUpdateObject")]
37 | PartialUpdateObject = 3,
38 |
39 | ///
40 | /// Enum PartialUpdateObjectNoCreate for value: partialUpdateObjectNoCreate
41 | ///
42 | [JsonPropertyName("partialUpdateObjectNoCreate")]
43 | PartialUpdateObjectNoCreate = 4,
44 |
45 | ///
46 | /// Enum DeleteObject for value: deleteObject
47 | ///
48 | [JsonPropertyName("deleteObject")]
49 | DeleteObject = 5,
50 |
51 | ///
52 | /// Enum Delete for value: delete
53 | ///
54 | [JsonPropertyName("delete")]
55 | Delete = 6,
56 |
57 | ///
58 | /// Enum Clear for value: clear
59 | ///
60 | [JsonPropertyName("clear")]
61 | Clear = 7,
62 | }
63 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Ingestion/ActionType.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Ingestion;
13 |
14 | ///
15 | /// Action to perform on the Algolia index.
16 | ///
17 | /// Action to perform on the Algolia index.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum ActionType
20 | {
21 | ///
22 | /// Enum Replace for value: replace
23 | ///
24 | [JsonPropertyName("replace")]
25 | Replace = 1,
26 |
27 | ///
28 | /// Enum Save for value: save
29 | ///
30 | [JsonPropertyName("save")]
31 | Save = 2,
32 |
33 | ///
34 | /// Enum Partial for value: partial
35 | ///
36 | [JsonPropertyName("partial")]
37 | Partial = 3,
38 |
39 | ///
40 | /// Enum Append for value: append
41 | ///
42 | [JsonPropertyName("append")]
43 | Append = 4,
44 | }
45 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Ingestion/AuthenticationSortKeys.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Ingestion;
13 |
14 | ///
15 | /// Property by which to sort the list of authentications.
16 | ///
17 | /// Property by which to sort the list of authentications.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum AuthenticationSortKeys
20 | {
21 | ///
22 | /// Enum Name for value: name
23 | ///
24 | [JsonPropertyName("name")]
25 | Name = 1,
26 |
27 | ///
28 | /// Enum Type for value: type
29 | ///
30 | [JsonPropertyName("type")]
31 | Type = 2,
32 |
33 | ///
34 | /// Enum Platform for value: platform
35 | ///
36 | [JsonPropertyName("platform")]
37 | Platform = 3,
38 |
39 | ///
40 | /// Enum UpdatedAt for value: updatedAt
41 | ///
42 | [JsonPropertyName("updatedAt")]
43 | UpdatedAt = 4,
44 |
45 | ///
46 | /// Enum CreatedAt for value: createdAt
47 | ///
48 | [JsonPropertyName("createdAt")]
49 | CreatedAt = 5,
50 | }
51 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Ingestion/AuthenticationType.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Ingestion;
13 |
14 | ///
15 | /// Type of authentication. This determines the type of credentials required in the `input` object.
16 | ///
17 | /// Type of authentication. This determines the type of credentials required in the `input` object.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum AuthenticationType
20 | {
21 | ///
22 | /// Enum GoogleServiceAccount for value: googleServiceAccount
23 | ///
24 | [JsonPropertyName("googleServiceAccount")]
25 | GoogleServiceAccount = 1,
26 |
27 | ///
28 | /// Enum Basic for value: basic
29 | ///
30 | [JsonPropertyName("basic")]
31 | Basic = 2,
32 |
33 | ///
34 | /// Enum ApiKey for value: apiKey
35 | ///
36 | [JsonPropertyName("apiKey")]
37 | ApiKey = 3,
38 |
39 | ///
40 | /// Enum Oauth for value: oauth
41 | ///
42 | [JsonPropertyName("oauth")]
43 | Oauth = 4,
44 |
45 | ///
46 | /// Enum Algolia for value: algolia
47 | ///
48 | [JsonPropertyName("algolia")]
49 | Algolia = 5,
50 |
51 | ///
52 | /// Enum AlgoliaInsights for value: algoliaInsights
53 | ///
54 | [JsonPropertyName("algoliaInsights")]
55 | AlgoliaInsights = 6,
56 |
57 | ///
58 | /// Enum Secrets for value: secrets
59 | ///
60 | [JsonPropertyName("secrets")]
61 | Secrets = 7,
62 | }
63 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Ingestion/BigQueryDataType.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Ingestion;
13 |
14 | ///
15 | /// Defines BigQueryDataType
16 | ///
17 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
18 | public enum BigQueryDataType
19 | {
20 | ///
21 | /// Enum Ga4 for value: ga4
22 | ///
23 | [JsonPropertyName("ga4")]
24 | Ga4 = 1,
25 |
26 | ///
27 | /// Enum Ga360 for value: ga360
28 | ///
29 | [JsonPropertyName("ga360")]
30 | Ga360 = 2,
31 | }
32 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Ingestion/DestinationSortKeys.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Ingestion;
13 |
14 | ///
15 | /// Property by which to sort the destinations.
16 | ///
17 | /// Property by which to sort the destinations.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum DestinationSortKeys
20 | {
21 | ///
22 | /// Enum Name for value: name
23 | ///
24 | [JsonPropertyName("name")]
25 | Name = 1,
26 |
27 | ///
28 | /// Enum Type for value: type
29 | ///
30 | [JsonPropertyName("type")]
31 | Type = 2,
32 |
33 | ///
34 | /// Enum UpdatedAt for value: updatedAt
35 | ///
36 | [JsonPropertyName("updatedAt")]
37 | UpdatedAt = 3,
38 |
39 | ///
40 | /// Enum CreatedAt for value: createdAt
41 | ///
42 | [JsonPropertyName("createdAt")]
43 | CreatedAt = 4,
44 | }
45 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Ingestion/DestinationType.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Ingestion;
13 |
14 | ///
15 | /// Destination type. - `search`. Data is stored in an Algolia index. - `insights`. Data is recorded as user events in the Insights API.
16 | ///
17 | /// Destination type. - `search`. Data is stored in an Algolia index. - `insights`. Data is recorded as user events in the Insights API.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum DestinationType
20 | {
21 | ///
22 | /// Enum Search for value: search
23 | ///
24 | [JsonPropertyName("search")]
25 | Search = 1,
26 |
27 | ///
28 | /// Enum Insights for value: insights
29 | ///
30 | [JsonPropertyName("insights")]
31 | Insights = 2,
32 | }
33 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Ingestion/DockerStreamsSyncMode.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Ingestion;
13 |
14 | ///
15 | /// The strategy to use to fetch the data.
16 | ///
17 | /// The strategy to use to fetch the data.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum DockerStreamsSyncMode
20 | {
21 | ///
22 | /// Enum Incremental for value: incremental
23 | ///
24 | [JsonPropertyName("incremental")]
25 | Incremental = 1,
26 |
27 | ///
28 | /// Enum FullTable for value: fullTable
29 | ///
30 | [JsonPropertyName("fullTable")]
31 | FullTable = 2,
32 | }
33 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Ingestion/EntityType.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Ingestion;
13 |
14 | ///
15 | /// Type of entity to update.
16 | ///
17 | /// Type of entity to update.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum EntityType
20 | {
21 | ///
22 | /// Enum Product for value: product
23 | ///
24 | [JsonPropertyName("product")]
25 | Product = 1,
26 |
27 | ///
28 | /// Enum Collection for value: collection
29 | ///
30 | [JsonPropertyName("collection")]
31 | Collection = 2,
32 | }
33 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Ingestion/EventSortKeys.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Ingestion;
13 |
14 | ///
15 | /// Property by which to sort the list of task run events.
16 | ///
17 | /// Property by which to sort the list of task run events.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum EventSortKeys
20 | {
21 | ///
22 | /// Enum Status for value: status
23 | ///
24 | [JsonPropertyName("status")]
25 | Status = 1,
26 |
27 | ///
28 | /// Enum Type for value: type
29 | ///
30 | [JsonPropertyName("type")]
31 | Type = 2,
32 |
33 | ///
34 | /// Enum PublishedAt for value: publishedAt
35 | ///
36 | [JsonPropertyName("publishedAt")]
37 | PublishedAt = 3,
38 | }
39 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Ingestion/EventStatus.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Ingestion;
13 |
14 | ///
15 | /// Defines EventStatus
16 | ///
17 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
18 | public enum EventStatus
19 | {
20 | ///
21 | /// Enum Created for value: created
22 | ///
23 | [JsonPropertyName("created")]
24 | Created = 1,
25 |
26 | ///
27 | /// Enum Started for value: started
28 | ///
29 | [JsonPropertyName("started")]
30 | Started = 2,
31 |
32 | ///
33 | /// Enum Retried for value: retried
34 | ///
35 | [JsonPropertyName("retried")]
36 | Retried = 3,
37 |
38 | ///
39 | /// Enum Failed for value: failed
40 | ///
41 | [JsonPropertyName("failed")]
42 | Failed = 4,
43 |
44 | ///
45 | /// Enum Succeeded for value: succeeded
46 | ///
47 | [JsonPropertyName("succeeded")]
48 | Succeeded = 5,
49 |
50 | ///
51 | /// Enum Critical for value: critical
52 | ///
53 | [JsonPropertyName("critical")]
54 | Critical = 6,
55 | }
56 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Ingestion/EventType.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Ingestion;
13 |
14 | ///
15 | /// Defines EventType
16 | ///
17 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
18 | public enum EventType
19 | {
20 | ///
21 | /// Enum Fetch for value: fetch
22 | ///
23 | [JsonPropertyName("fetch")]
24 | Fetch = 1,
25 |
26 | ///
27 | /// Enum Record for value: record
28 | ///
29 | [JsonPropertyName("record")]
30 | Record = 2,
31 |
32 | ///
33 | /// Enum Log for value: log
34 | ///
35 | [JsonPropertyName("log")]
36 | Log = 3,
37 |
38 | ///
39 | /// Enum Transform for value: transform
40 | ///
41 | [JsonPropertyName("transform")]
42 | Transform = 4,
43 | }
44 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Ingestion/MappingFormatSchema.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Ingestion;
13 |
14 | ///
15 | /// Mapping format schema.
16 | ///
17 | /// Mapping format schema.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum MappingFormatSchema
20 | {
21 | ///
22 | /// Enum MappingkitV1 for value: mappingkit/v1
23 | ///
24 | [JsonPropertyName("mappingkit/v1")]
25 | MappingkitV1 = 1,
26 | }
27 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Ingestion/MappingTypeCSV.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Ingestion;
13 |
14 | ///
15 | /// Defines MappingTypeCSV
16 | ///
17 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
18 | public enum MappingTypeCSV
19 | {
20 | ///
21 | /// Enum String for value: string
22 | ///
23 | [JsonPropertyName("string")]
24 | String = 1,
25 |
26 | ///
27 | /// Enum Integer for value: integer
28 | ///
29 | [JsonPropertyName("integer")]
30 | Integer = 2,
31 |
32 | ///
33 | /// Enum Float for value: float
34 | ///
35 | [JsonPropertyName("float")]
36 | Float = 3,
37 |
38 | ///
39 | /// Enum Boolean for value: boolean
40 | ///
41 | [JsonPropertyName("boolean")]
42 | Boolean = 4,
43 |
44 | ///
45 | /// Enum Json for value: json
46 | ///
47 | [JsonPropertyName("json")]
48 | Json = 5,
49 | }
50 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Ingestion/MethodType.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Ingestion;
13 |
14 | ///
15 | /// HTTP method to be used for retrieving your data.
16 | ///
17 | /// HTTP method to be used for retrieving your data.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum MethodType
20 | {
21 | ///
22 | /// Enum GET for value: GET
23 | ///
24 | [JsonPropertyName("GET")]
25 | GET = 1,
26 |
27 | ///
28 | /// Enum POST for value: POST
29 | ///
30 | [JsonPropertyName("POST")]
31 | POST = 2,
32 | }
33 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Ingestion/OnDemandTriggerType.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Ingestion;
13 |
14 | ///
15 | /// Task is run manually, with the `/run` endpoint.
16 | ///
17 | /// Task is run manually, with the `/run` endpoint.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum OnDemandTriggerType
20 | {
21 | ///
22 | /// Enum OnDemand for value: onDemand
23 | ///
24 | [JsonPropertyName("onDemand")]
25 | OnDemand = 1,
26 | }
27 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Ingestion/OrderKeys.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Ingestion;
13 |
14 | ///
15 | /// Ascending or descending sort order.
16 | ///
17 | /// Ascending or descending sort order.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum OrderKeys
20 | {
21 | ///
22 | /// Enum Asc for value: asc
23 | ///
24 | [JsonPropertyName("asc")]
25 | Asc = 1,
26 |
27 | ///
28 | /// Enum Desc for value: desc
29 | ///
30 | [JsonPropertyName("desc")]
31 | Desc = 2,
32 | }
33 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Ingestion/Platform.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Ingestion;
13 |
14 | ///
15 | /// Name of an ecommerce platform with which to authenticate. This determines which authentication type you can select.
16 | ///
17 | /// Name of an ecommerce platform with which to authenticate. This determines which authentication type you can select.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum Platform
20 | {
21 | ///
22 | /// Enum Bigcommerce for value: bigcommerce
23 | ///
24 | [JsonPropertyName("bigcommerce")]
25 | Bigcommerce = 1,
26 |
27 | ///
28 | /// Enum Commercetools for value: commercetools
29 | ///
30 | [JsonPropertyName("commercetools")]
31 | Commercetools = 2,
32 |
33 | ///
34 | /// Enum Shopify for value: shopify
35 | ///
36 | [JsonPropertyName("shopify")]
37 | Shopify = 3,
38 | }
39 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Ingestion/PlatformNone.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Ingestion;
13 |
14 | ///
15 | /// Authentication resource not tied to any ecommerce platform, used for filtering.
16 | ///
17 | /// Authentication resource not tied to any ecommerce platform, used for filtering.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum PlatformNone
20 | {
21 | ///
22 | /// Enum None for value: none
23 | ///
24 | [JsonPropertyName("none")]
25 | None = 1,
26 | }
27 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Ingestion/RecordType.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Ingestion;
13 |
14 | ///
15 | /// Record type for ecommerce sources.
16 | ///
17 | /// Record type for ecommerce sources.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum RecordType
20 | {
21 | ///
22 | /// Enum Product for value: product
23 | ///
24 | [JsonPropertyName("product")]
25 | Product = 1,
26 |
27 | ///
28 | /// Enum Variant for value: variant
29 | ///
30 | [JsonPropertyName("variant")]
31 | Variant = 2,
32 |
33 | ///
34 | /// Enum Collection for value: collection
35 | ///
36 | [JsonPropertyName("collection")]
37 | Collection = 3,
38 | }
39 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Ingestion/RunOutcome.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Ingestion;
13 |
14 | ///
15 | /// Task run outcome.
16 | ///
17 | /// Task run outcome.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum RunOutcome
20 | {
21 | ///
22 | /// Enum Success for value: success
23 | ///
24 | [JsonPropertyName("success")]
25 | Success = 1,
26 |
27 | ///
28 | /// Enum Failure for value: failure
29 | ///
30 | [JsonPropertyName("failure")]
31 | Failure = 2,
32 | }
33 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Ingestion/RunReasonCode.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Ingestion;
13 |
14 | ///
15 | /// A code for the task run's outcome. A readable description of the code is included in the `reason` response property.
16 | ///
17 | /// A code for the task run's outcome. A readable description of the code is included in the `reason` response property.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum RunReasonCode
20 | {
21 | ///
22 | /// Enum Internal for value: internal
23 | ///
24 | [JsonPropertyName("internal")]
25 | Internal = 1,
26 |
27 | ///
28 | /// Enum Critical for value: critical
29 | ///
30 | [JsonPropertyName("critical")]
31 | Critical = 2,
32 |
33 | ///
34 | /// Enum NoEvents for value: no_events
35 | ///
36 | [JsonPropertyName("no_events")]
37 | NoEvents = 3,
38 |
39 | ///
40 | /// Enum TooManyErrors for value: too_many_errors
41 | ///
42 | [JsonPropertyName("too_many_errors")]
43 | TooManyErrors = 4,
44 |
45 | ///
46 | /// Enum Ok for value: ok
47 | ///
48 | [JsonPropertyName("ok")]
49 | Ok = 5,
50 |
51 | ///
52 | /// Enum Discarded for value: discarded
53 | ///
54 | [JsonPropertyName("discarded")]
55 | Discarded = 6,
56 |
57 | ///
58 | /// Enum Blocking for value: blocking
59 | ///
60 | [JsonPropertyName("blocking")]
61 | Blocking = 7,
62 | }
63 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Ingestion/RunSortKeys.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Ingestion;
13 |
14 | ///
15 | /// Property by which to sort the list of task runs.
16 | ///
17 | /// Property by which to sort the list of task runs.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum RunSortKeys
20 | {
21 | ///
22 | /// Enum Status for value: status
23 | ///
24 | [JsonPropertyName("status")]
25 | Status = 1,
26 |
27 | ///
28 | /// Enum UpdatedAt for value: updatedAt
29 | ///
30 | [JsonPropertyName("updatedAt")]
31 | UpdatedAt = 2,
32 |
33 | ///
34 | /// Enum CreatedAt for value: createdAt
35 | ///
36 | [JsonPropertyName("createdAt")]
37 | CreatedAt = 3,
38 | }
39 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Ingestion/RunStatus.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Ingestion;
13 |
14 | ///
15 | /// Task run status.
16 | ///
17 | /// Task run status.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum RunStatus
20 | {
21 | ///
22 | /// Enum Created for value: created
23 | ///
24 | [JsonPropertyName("created")]
25 | Created = 1,
26 |
27 | ///
28 | /// Enum Started for value: started
29 | ///
30 | [JsonPropertyName("started")]
31 | Started = 2,
32 |
33 | ///
34 | /// Enum Idled for value: idled
35 | ///
36 | [JsonPropertyName("idled")]
37 | Idled = 3,
38 |
39 | ///
40 | /// Enum Finished for value: finished
41 | ///
42 | [JsonPropertyName("finished")]
43 | Finished = 4,
44 |
45 | ///
46 | /// Enum Skipped for value: skipped
47 | ///
48 | [JsonPropertyName("skipped")]
49 | Skipped = 5,
50 | }
51 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Ingestion/RunType.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Ingestion;
13 |
14 | ///
15 | /// Task run type.
16 | ///
17 | /// Task run type.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum RunType
20 | {
21 | ///
22 | /// Enum Reindex for value: reindex
23 | ///
24 | [JsonPropertyName("reindex")]
25 | Reindex = 1,
26 |
27 | ///
28 | /// Enum Update for value: update
29 | ///
30 | [JsonPropertyName("update")]
31 | Update = 2,
32 |
33 | ///
34 | /// Enum Discover for value: discover
35 | ///
36 | [JsonPropertyName("discover")]
37 | Discover = 3,
38 |
39 | ///
40 | /// Enum Validate for value: validate
41 | ///
42 | [JsonPropertyName("validate")]
43 | Validate = 4,
44 |
45 | ///
46 | /// Enum Push for value: push
47 | ///
48 | [JsonPropertyName("push")]
49 | Push = 5,
50 | }
51 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Ingestion/ScheduleTriggerType.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Ingestion;
13 |
14 | ///
15 | /// Task runs on a schedule.
16 | ///
17 | /// Task runs on a schedule.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum ScheduleTriggerType
20 | {
21 | ///
22 | /// Enum Schedule for value: schedule
23 | ///
24 | [JsonPropertyName("schedule")]
25 | Schedule = 1,
26 | }
27 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Ingestion/SourceSortKeys.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Ingestion;
13 |
14 | ///
15 | /// Property by which to sort the list of sources.
16 | ///
17 | /// Property by which to sort the list of sources.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum SourceSortKeys
20 | {
21 | ///
22 | /// Enum Name for value: name
23 | ///
24 | [JsonPropertyName("name")]
25 | Name = 1,
26 |
27 | ///
28 | /// Enum Type for value: type
29 | ///
30 | [JsonPropertyName("type")]
31 | Type = 2,
32 |
33 | ///
34 | /// Enum UpdatedAt for value: updatedAt
35 | ///
36 | [JsonPropertyName("updatedAt")]
37 | UpdatedAt = 3,
38 |
39 | ///
40 | /// Enum CreatedAt for value: createdAt
41 | ///
42 | [JsonPropertyName("createdAt")]
43 | CreatedAt = 4,
44 | }
45 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Ingestion/SourceType.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Ingestion;
13 |
14 | ///
15 | /// Defines SourceType
16 | ///
17 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
18 | public enum SourceType
19 | {
20 | ///
21 | /// Enum Bigcommerce for value: bigcommerce
22 | ///
23 | [JsonPropertyName("bigcommerce")]
24 | Bigcommerce = 1,
25 |
26 | ///
27 | /// Enum Bigquery for value: bigquery
28 | ///
29 | [JsonPropertyName("bigquery")]
30 | Bigquery = 2,
31 |
32 | ///
33 | /// Enum Commercetools for value: commercetools
34 | ///
35 | [JsonPropertyName("commercetools")]
36 | Commercetools = 3,
37 |
38 | ///
39 | /// Enum Csv for value: csv
40 | ///
41 | [JsonPropertyName("csv")]
42 | Csv = 4,
43 |
44 | ///
45 | /// Enum Docker for value: docker
46 | ///
47 | [JsonPropertyName("docker")]
48 | Docker = 5,
49 |
50 | ///
51 | /// Enum Ga4BigqueryExport for value: ga4BigqueryExport
52 | ///
53 | [JsonPropertyName("ga4BigqueryExport")]
54 | Ga4BigqueryExport = 6,
55 |
56 | ///
57 | /// Enum Json for value: json
58 | ///
59 | [JsonPropertyName("json")]
60 | Json = 7,
61 |
62 | ///
63 | /// Enum Shopify for value: shopify
64 | ///
65 | [JsonPropertyName("shopify")]
66 | Shopify = 8,
67 |
68 | ///
69 | /// Enum Push for value: push
70 | ///
71 | [JsonPropertyName("push")]
72 | Push = 9,
73 | }
74 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Ingestion/StreamingTriggerType.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Ingestion;
13 |
14 | ///
15 | /// Task runs continuously.
16 | ///
17 | /// Task runs continuously.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum StreamingTriggerType
20 | {
21 | ///
22 | /// Enum Streaming for value: streaming
23 | ///
24 | [JsonPropertyName("streaming")]
25 | Streaming = 1,
26 | }
27 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Ingestion/SubscriptionTriggerType.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Ingestion;
13 |
14 | ///
15 | /// Task runs after receiving subscribed event.
16 | ///
17 | /// Task runs after receiving subscribed event.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum SubscriptionTriggerType
20 | {
21 | ///
22 | /// Enum Subscription for value: subscription
23 | ///
24 | [JsonPropertyName("subscription")]
25 | Subscription = 1,
26 | }
27 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Ingestion/TaskSortKeys.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Ingestion;
13 |
14 | ///
15 | /// Property by which to sort the list of tasks.
16 | ///
17 | /// Property by which to sort the list of tasks.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum TaskSortKeys
20 | {
21 | ///
22 | /// Enum Enabled for value: enabled
23 | ///
24 | [JsonPropertyName("enabled")]
25 | Enabled = 1,
26 |
27 | ///
28 | /// Enum TriggerType for value: triggerType
29 | ///
30 | [JsonPropertyName("triggerType")]
31 | TriggerType = 2,
32 |
33 | ///
34 | /// Enum Action for value: action
35 | ///
36 | [JsonPropertyName("action")]
37 | Action = 3,
38 |
39 | ///
40 | /// Enum UpdatedAt for value: updatedAt
41 | ///
42 | [JsonPropertyName("updatedAt")]
43 | UpdatedAt = 4,
44 |
45 | ///
46 | /// Enum CreatedAt for value: createdAt
47 | ///
48 | [JsonPropertyName("createdAt")]
49 | CreatedAt = 5,
50 | }
51 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Ingestion/TransformationSortKeys.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Ingestion;
13 |
14 | ///
15 | /// Property by which to sort the list of transformations.
16 | ///
17 | /// Property by which to sort the list of transformations.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum TransformationSortKeys
20 | {
21 | ///
22 | /// Enum Name for value: name
23 | ///
24 | [JsonPropertyName("name")]
25 | Name = 1,
26 |
27 | ///
28 | /// Enum UpdatedAt for value: updatedAt
29 | ///
30 | [JsonPropertyName("updatedAt")]
31 | UpdatedAt = 2,
32 |
33 | ///
34 | /// Enum CreatedAt for value: createdAt
35 | ///
36 | [JsonPropertyName("createdAt")]
37 | CreatedAt = 3,
38 | }
39 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Ingestion/TransformationType.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Ingestion;
13 |
14 | ///
15 | /// The type of transformation, which can be either 'code' or 'noCode'.
16 | ///
17 | /// The type of transformation, which can be either 'code' or 'noCode'.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum TransformationType
20 | {
21 | ///
22 | /// Enum Code for value: code
23 | ///
24 | [JsonPropertyName("code")]
25 | Code = 1,
26 |
27 | ///
28 | /// Enum NoCode for value: noCode
29 | ///
30 | [JsonPropertyName("noCode")]
31 | NoCode = 2,
32 | }
33 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Ingestion/TriggerType.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Ingestion;
13 |
14 | ///
15 | /// Task trigger, describing when a task should run. - `onDemand`. Manually trigger the task with the `/run` endpoint. - `schedule`. Regularly trigger the task on a `cron` schedule. - `subscription`. Trigger the task after an event is received, such as, a webhook. - `streaming`. Run the task continuously.
16 | ///
17 | /// Task trigger, describing when a task should run. - `onDemand`. Manually trigger the task with the `/run` endpoint. - `schedule`. Regularly trigger the task on a `cron` schedule. - `subscription`. Trigger the task after an event is received, such as, a webhook. - `streaming`. Run the task continuously.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum TriggerType
20 | {
21 | ///
22 | /// Enum OnDemand for value: onDemand
23 | ///
24 | [JsonPropertyName("onDemand")]
25 | OnDemand = 1,
26 |
27 | ///
28 | /// Enum Schedule for value: schedule
29 | ///
30 | [JsonPropertyName("schedule")]
31 | Schedule = 2,
32 |
33 | ///
34 | /// Enum Subscription for value: subscription
35 | ///
36 | [JsonPropertyName("subscription")]
37 | Subscription = 3,
38 |
39 | ///
40 | /// Enum Streaming for value: streaming
41 | ///
42 | [JsonPropertyName("streaming")]
43 | Streaming = 4,
44 | }
45 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Insights/AddToCartEvent.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Insights;
13 |
14 | ///
15 | /// Defines AddToCartEvent
16 | ///
17 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
18 | public enum AddToCartEvent
19 | {
20 | ///
21 | /// Enum AddToCart for value: addToCart
22 | ///
23 | [JsonPropertyName("addToCart")]
24 | AddToCart = 1,
25 | }
26 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Insights/ClickEvent.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Insights;
13 |
14 | ///
15 | /// Defines ClickEvent
16 | ///
17 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
18 | public enum ClickEvent
19 | {
20 | ///
21 | /// Enum Click for value: click
22 | ///
23 | [JsonPropertyName("click")]
24 | Click = 1,
25 | }
26 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Insights/ConversionEvent.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Insights;
13 |
14 | ///
15 | /// Defines ConversionEvent
16 | ///
17 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
18 | public enum ConversionEvent
19 | {
20 | ///
21 | /// Enum Conversion for value: conversion
22 | ///
23 | [JsonPropertyName("conversion")]
24 | Conversion = 1,
25 | }
26 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Insights/PurchaseEvent.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Insights;
13 |
14 | ///
15 | /// Defines PurchaseEvent
16 | ///
17 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
18 | public enum PurchaseEvent
19 | {
20 | ///
21 | /// Enum Purchase for value: purchase
22 | ///
23 | [JsonPropertyName("purchase")]
24 | Purchase = 1,
25 | }
26 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Insights/ViewEvent.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Insights;
13 |
14 | ///
15 | /// Defines ViewEvent
16 | ///
17 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
18 | public enum ViewEvent
19 | {
20 | ///
21 | /// Enum View for value: view
22 | ///
23 | [JsonPropertyName("view")]
24 | View = 1,
25 | }
26 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Monitoring/IndexingMetric.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Monitoring;
13 |
14 | ///
15 | /// IndexingMetric
16 | ///
17 | public partial class IndexingMetric
18 | {
19 | ///
20 | /// Initializes a new instance of the IndexingMetric class.
21 | ///
22 | public IndexingMetric() { }
23 |
24 | ///
25 | /// Gets or Sets Indexing
26 | ///
27 | [JsonPropertyName("indexing")]
28 | public Dictionary> Indexing { get; set; }
29 |
30 | ///
31 | /// Returns the string presentation of the object
32 | ///
33 | /// String presentation of the object
34 | public override string ToString()
35 | {
36 | StringBuilder sb = new StringBuilder();
37 | sb.Append("class IndexingMetric {\n");
38 | sb.Append(" Indexing: ").Append(Indexing).Append("\n");
39 | sb.Append("}\n");
40 | return sb.ToString();
41 | }
42 |
43 | ///
44 | /// Returns the JSON string presentation of the object
45 | ///
46 | /// JSON string presentation of the object
47 | public virtual string ToJson()
48 | {
49 | return JsonSerializer.Serialize(this, JsonConfig.Options);
50 | }
51 |
52 | ///
53 | /// Returns true if objects are equal
54 | ///
55 | /// Object to be compared
56 | /// Boolean
57 | public override bool Equals(object obj)
58 | {
59 | if (obj is not IndexingMetric input)
60 | {
61 | return false;
62 | }
63 |
64 | return (
65 | Indexing == input.Indexing
66 | || Indexing != null && input.Indexing != null && Indexing.SequenceEqual(input.Indexing)
67 | );
68 | }
69 |
70 | ///
71 | /// Gets the hash code
72 | ///
73 | /// Hash code
74 | public override int GetHashCode()
75 | {
76 | unchecked // Overflow is fine, just wrap
77 | {
78 | int hashCode = 41;
79 | if (Indexing != null)
80 | {
81 | hashCode = (hashCode * 59) + Indexing.GetHashCode();
82 | }
83 | return hashCode;
84 | }
85 | }
86 | }
87 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Monitoring/IndexingTimeResponse.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Monitoring;
13 |
14 | ///
15 | /// IndexingTimeResponse
16 | ///
17 | public partial class IndexingTimeResponse
18 | {
19 | ///
20 | /// Initializes a new instance of the IndexingTimeResponse class.
21 | ///
22 | public IndexingTimeResponse() { }
23 |
24 | ///
25 | /// Gets or Sets Metrics
26 | ///
27 | [JsonPropertyName("metrics")]
28 | public IndexingMetric Metrics { get; set; }
29 |
30 | ///
31 | /// Returns the string presentation of the object
32 | ///
33 | /// String presentation of the object
34 | public override string ToString()
35 | {
36 | StringBuilder sb = new StringBuilder();
37 | sb.Append("class IndexingTimeResponse {\n");
38 | sb.Append(" Metrics: ").Append(Metrics).Append("\n");
39 | sb.Append("}\n");
40 | return sb.ToString();
41 | }
42 |
43 | ///
44 | /// Returns the JSON string presentation of the object
45 | ///
46 | /// JSON string presentation of the object
47 | public virtual string ToJson()
48 | {
49 | return JsonSerializer.Serialize(this, JsonConfig.Options);
50 | }
51 |
52 | ///
53 | /// Returns true if objects are equal
54 | ///
55 | /// Object to be compared
56 | /// Boolean
57 | public override bool Equals(object obj)
58 | {
59 | if (obj is not IndexingTimeResponse input)
60 | {
61 | return false;
62 | }
63 |
64 | return (Metrics == input.Metrics || (Metrics != null && Metrics.Equals(input.Metrics)));
65 | }
66 |
67 | ///
68 | /// Gets the hash code
69 | ///
70 | /// Hash code
71 | public override int GetHashCode()
72 | {
73 | unchecked // Overflow is fine, just wrap
74 | {
75 | int hashCode = 41;
76 | if (Metrics != null)
77 | {
78 | hashCode = (hashCode * 59) + Metrics.GetHashCode();
79 | }
80 | return hashCode;
81 | }
82 | }
83 | }
84 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Monitoring/InfrastructureResponse.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Monitoring;
13 |
14 | ///
15 | /// InfrastructureResponse
16 | ///
17 | public partial class InfrastructureResponse
18 | {
19 | ///
20 | /// Initializes a new instance of the InfrastructureResponse class.
21 | ///
22 | public InfrastructureResponse() { }
23 |
24 | ///
25 | /// Gets or Sets Metrics
26 | ///
27 | [JsonPropertyName("metrics")]
28 | public Metrics Metrics { get; set; }
29 |
30 | ///
31 | /// Returns the string presentation of the object
32 | ///
33 | /// String presentation of the object
34 | public override string ToString()
35 | {
36 | StringBuilder sb = new StringBuilder();
37 | sb.Append("class InfrastructureResponse {\n");
38 | sb.Append(" Metrics: ").Append(Metrics).Append("\n");
39 | sb.Append("}\n");
40 | return sb.ToString();
41 | }
42 |
43 | ///
44 | /// Returns the JSON string presentation of the object
45 | ///
46 | /// JSON string presentation of the object
47 | public virtual string ToJson()
48 | {
49 | return JsonSerializer.Serialize(this, JsonConfig.Options);
50 | }
51 |
52 | ///
53 | /// Returns true if objects are equal
54 | ///
55 | /// Object to be compared
56 | /// Boolean
57 | public override bool Equals(object obj)
58 | {
59 | if (obj is not InfrastructureResponse input)
60 | {
61 | return false;
62 | }
63 |
64 | return (Metrics == input.Metrics || (Metrics != null && Metrics.Equals(input.Metrics)));
65 | }
66 |
67 | ///
68 | /// Gets the hash code
69 | ///
70 | /// Hash code
71 | public override int GetHashCode()
72 | {
73 | unchecked // Overflow is fine, just wrap
74 | {
75 | int hashCode = 41;
76 | if (Metrics != null)
77 | {
78 | hashCode = (hashCode * 59) + Metrics.GetHashCode();
79 | }
80 | return hashCode;
81 | }
82 | }
83 | }
84 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Monitoring/LatencyMetric.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Monitoring;
13 |
14 | ///
15 | /// LatencyMetric
16 | ///
17 | public partial class LatencyMetric
18 | {
19 | ///
20 | /// Initializes a new instance of the LatencyMetric class.
21 | ///
22 | public LatencyMetric() { }
23 |
24 | ///
25 | /// Gets or Sets Latency
26 | ///
27 | [JsonPropertyName("latency")]
28 | public Dictionary> Latency { get; set; }
29 |
30 | ///
31 | /// Returns the string presentation of the object
32 | ///
33 | /// String presentation of the object
34 | public override string ToString()
35 | {
36 | StringBuilder sb = new StringBuilder();
37 | sb.Append("class LatencyMetric {\n");
38 | sb.Append(" Latency: ").Append(Latency).Append("\n");
39 | sb.Append("}\n");
40 | return sb.ToString();
41 | }
42 |
43 | ///
44 | /// Returns the JSON string presentation of the object
45 | ///
46 | /// JSON string presentation of the object
47 | public virtual string ToJson()
48 | {
49 | return JsonSerializer.Serialize(this, JsonConfig.Options);
50 | }
51 |
52 | ///
53 | /// Returns true if objects are equal
54 | ///
55 | /// Object to be compared
56 | /// Boolean
57 | public override bool Equals(object obj)
58 | {
59 | if (obj is not LatencyMetric input)
60 | {
61 | return false;
62 | }
63 |
64 | return (
65 | Latency == input.Latency
66 | || Latency != null && input.Latency != null && Latency.SequenceEqual(input.Latency)
67 | );
68 | }
69 |
70 | ///
71 | /// Gets the hash code
72 | ///
73 | /// Hash code
74 | public override int GetHashCode()
75 | {
76 | unchecked // Overflow is fine, just wrap
77 | {
78 | int hashCode = 41;
79 | if (Latency != null)
80 | {
81 | hashCode = (hashCode * 59) + Latency.GetHashCode();
82 | }
83 | return hashCode;
84 | }
85 | }
86 | }
87 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Monitoring/LatencyResponse.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Monitoring;
13 |
14 | ///
15 | /// LatencyResponse
16 | ///
17 | public partial class LatencyResponse
18 | {
19 | ///
20 | /// Initializes a new instance of the LatencyResponse class.
21 | ///
22 | public LatencyResponse() { }
23 |
24 | ///
25 | /// Gets or Sets Metrics
26 | ///
27 | [JsonPropertyName("metrics")]
28 | public LatencyMetric Metrics { get; set; }
29 |
30 | ///
31 | /// Returns the string presentation of the object
32 | ///
33 | /// String presentation of the object
34 | public override string ToString()
35 | {
36 | StringBuilder sb = new StringBuilder();
37 | sb.Append("class LatencyResponse {\n");
38 | sb.Append(" Metrics: ").Append(Metrics).Append("\n");
39 | sb.Append("}\n");
40 | return sb.ToString();
41 | }
42 |
43 | ///
44 | /// Returns the JSON string presentation of the object
45 | ///
46 | /// JSON string presentation of the object
47 | public virtual string ToJson()
48 | {
49 | return JsonSerializer.Serialize(this, JsonConfig.Options);
50 | }
51 |
52 | ///
53 | /// Returns true if objects are equal
54 | ///
55 | /// Object to be compared
56 | /// Boolean
57 | public override bool Equals(object obj)
58 | {
59 | if (obj is not LatencyResponse input)
60 | {
61 | return false;
62 | }
63 |
64 | return (Metrics == input.Metrics || (Metrics != null && Metrics.Equals(input.Metrics)));
65 | }
66 |
67 | ///
68 | /// Gets the hash code
69 | ///
70 | /// Hash code
71 | public override int GetHashCode()
72 | {
73 | unchecked // Overflow is fine, just wrap
74 | {
75 | int hashCode = 41;
76 | if (Metrics != null)
77 | {
78 | hashCode = (hashCode * 59) + Metrics.GetHashCode();
79 | }
80 | return hashCode;
81 | }
82 | }
83 | }
84 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Monitoring/Metric.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Monitoring;
13 |
14 | ///
15 | /// Defines Metric
16 | ///
17 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
18 | public enum Metric
19 | {
20 | ///
21 | /// Enum AvgBuildTime for value: avg_build_time
22 | ///
23 | [JsonPropertyName("avg_build_time")]
24 | AvgBuildTime = 1,
25 |
26 | ///
27 | /// Enum SsdUsage for value: ssd_usage
28 | ///
29 | [JsonPropertyName("ssd_usage")]
30 | SsdUsage = 2,
31 |
32 | ///
33 | /// Enum RamSearchUsage for value: ram_search_usage
34 | ///
35 | [JsonPropertyName("ram_search_usage")]
36 | RamSearchUsage = 3,
37 |
38 | ///
39 | /// Enum RamIndexingUsage for value: ram_indexing_usage
40 | ///
41 | [JsonPropertyName("ram_indexing_usage")]
42 | RamIndexingUsage = 4,
43 |
44 | ///
45 | /// Enum CpuUsage for value: cpu_usage
46 | ///
47 | [JsonPropertyName("cpu_usage")]
48 | CpuUsage = 5,
49 |
50 | ///
51 | /// Enum Star for value: *
52 | ///
53 | [JsonPropertyName("*")]
54 | Star = 6,
55 | }
56 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Monitoring/Period.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Monitoring;
13 |
14 | ///
15 | /// Defines Period
16 | ///
17 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
18 | public enum Period
19 | {
20 | ///
21 | /// Enum Minute for value: minute
22 | ///
23 | [JsonPropertyName("minute")]
24 | Minute = 1,
25 |
26 | ///
27 | /// Enum Hour for value: hour
28 | ///
29 | [JsonPropertyName("hour")]
30 | Hour = 2,
31 |
32 | ///
33 | /// Enum Day for value: day
34 | ///
35 | [JsonPropertyName("day")]
36 | Day = 3,
37 |
38 | ///
39 | /// Enum Week for value: week
40 | ///
41 | [JsonPropertyName("week")]
42 | Week = 4,
43 |
44 | ///
45 | /// Enum Month for value: month
46 | ///
47 | [JsonPropertyName("month")]
48 | Month = 5,
49 | }
50 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Monitoring/ServerStatus.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Monitoring;
13 |
14 | ///
15 | /// Defines ServerStatus
16 | ///
17 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
18 | public enum ServerStatus
19 | {
20 | ///
21 | /// Enum PRODUCTION for value: PRODUCTION
22 | ///
23 | [JsonPropertyName("PRODUCTION")]
24 | PRODUCTION = 1,
25 | }
26 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Monitoring/Status.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Monitoring;
13 |
14 | ///
15 | /// Status of the cluster.
16 | ///
17 | /// Status of the cluster.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum Status
20 | {
21 | ///
22 | /// Enum Operational for value: operational
23 | ///
24 | [JsonPropertyName("operational")]
25 | Operational = 1,
26 |
27 | ///
28 | /// Enum DegradedPerformance for value: degraded_performance
29 | ///
30 | [JsonPropertyName("degraded_performance")]
31 | DegradedPerformance = 2,
32 |
33 | ///
34 | /// Enum PartialOutage for value: partial_outage
35 | ///
36 | [JsonPropertyName("partial_outage")]
37 | PartialOutage = 3,
38 |
39 | ///
40 | /// Enum MajorOutage for value: major_outage
41 | ///
42 | [JsonPropertyName("major_outage")]
43 | MajorOutage = 4,
44 | }
45 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Monitoring/StatusResponse.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Monitoring;
13 |
14 | ///
15 | /// StatusResponse
16 | ///
17 | public partial class StatusResponse
18 | {
19 | ///
20 | /// Initializes a new instance of the StatusResponse class.
21 | ///
22 | public StatusResponse() { }
23 |
24 | ///
25 | /// Gets or Sets Status
26 | ///
27 | [JsonPropertyName("status")]
28 | public Dictionary Status { get; set; }
29 |
30 | ///
31 | /// Returns the string presentation of the object
32 | ///
33 | /// String presentation of the object
34 | public override string ToString()
35 | {
36 | StringBuilder sb = new StringBuilder();
37 | sb.Append("class StatusResponse {\n");
38 | sb.Append(" Status: ").Append(Status).Append("\n");
39 | sb.Append("}\n");
40 | return sb.ToString();
41 | }
42 |
43 | ///
44 | /// Returns the JSON string presentation of the object
45 | ///
46 | /// JSON string presentation of the object
47 | public virtual string ToJson()
48 | {
49 | return JsonSerializer.Serialize(this, JsonConfig.Options);
50 | }
51 |
52 | ///
53 | /// Returns true if objects are equal
54 | ///
55 | /// Object to be compared
56 | /// Boolean
57 | public override bool Equals(object obj)
58 | {
59 | if (obj is not StatusResponse input)
60 | {
61 | return false;
62 | }
63 |
64 | return (
65 | Status == input.Status
66 | || Status != null && input.Status != null && Status.SequenceEqual(input.Status)
67 | );
68 | }
69 |
70 | ///
71 | /// Gets the hash code
72 | ///
73 | /// Hash code
74 | public override int GetHashCode()
75 | {
76 | unchecked // Overflow is fine, just wrap
77 | {
78 | int hashCode = 41;
79 | if (Status != null)
80 | {
81 | hashCode = (hashCode * 59) + Status.GetHashCode();
82 | }
83 | return hashCode;
84 | }
85 | }
86 | }
87 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Monitoring/Type.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Monitoring;
13 |
14 | ///
15 | /// Defines Type
16 | ///
17 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
18 | public enum Type
19 | {
20 | ///
21 | /// Enum Cluster for value: cluster
22 | ///
23 | [JsonPropertyName("cluster")]
24 | Cluster = 1,
25 | }
26 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Personalization/EventType.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Personalization;
13 |
14 | ///
15 | /// Event type.
16 | ///
17 | /// Event type.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum EventType
20 | {
21 | ///
22 | /// Enum Click for value: click
23 | ///
24 | [JsonPropertyName("click")]
25 | Click = 1,
26 |
27 | ///
28 | /// Enum Conversion for value: conversion
29 | ///
30 | [JsonPropertyName("conversion")]
31 | Conversion = 2,
32 |
33 | ///
34 | /// Enum View for value: view
35 | ///
36 | [JsonPropertyName("view")]
37 | View = 3,
38 | }
39 |
--------------------------------------------------------------------------------
/algoliasearch/Models/QuerySuggestions/LogLevel.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.QuerySuggestions;
13 |
14 | ///
15 | /// Type of log entry. - `SKIP`. A query is skipped because it doesn't match the conditions for successful inclusion. For example, when a query doesn't generate enough search results. - `INFO`. An informative log entry. - `ERROR`. The Query Suggestions process encountered an error.
16 | ///
17 | /// Type of log entry. - `SKIP`. A query is skipped because it doesn't match the conditions for successful inclusion. For example, when a query doesn't generate enough search results. - `INFO`. An informative log entry. - `ERROR`. The Query Suggestions process encountered an error.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum LogLevel
20 | {
21 | ///
22 | /// Enum SKIP for value: SKIP
23 | ///
24 | [JsonPropertyName("SKIP")]
25 | SKIP = 1,
26 |
27 | ///
28 | /// Enum INFO for value: INFO
29 | ///
30 | [JsonPropertyName("INFO")]
31 | INFO = 2,
32 |
33 | ///
34 | /// Enum ERROR for value: ERROR
35 | ///
36 | [JsonPropertyName("ERROR")]
37 | ERROR = 3,
38 | }
39 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Recommend/AdvancedSyntaxFeatures.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Recommend;
13 |
14 | ///
15 | /// Defines advancedSyntaxFeatures
16 | ///
17 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
18 | public enum AdvancedSyntaxFeatures
19 | {
20 | ///
21 | /// Enum ExactPhrase for value: exactPhrase
22 | ///
23 | [JsonPropertyName("exactPhrase")]
24 | ExactPhrase = 1,
25 |
26 | ///
27 | /// Enum ExcludeWords for value: excludeWords
28 | ///
29 | [JsonPropertyName("excludeWords")]
30 | ExcludeWords = 2,
31 | }
32 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Recommend/AlternativesAsExact.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Recommend;
13 |
14 | ///
15 | /// Defines alternativesAsExact
16 | ///
17 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
18 | public enum AlternativesAsExact
19 | {
20 | ///
21 | /// Enum IgnorePlurals for value: ignorePlurals
22 | ///
23 | [JsonPropertyName("ignorePlurals")]
24 | IgnorePlurals = 1,
25 |
26 | ///
27 | /// Enum SingleWordSynonym for value: singleWordSynonym
28 | ///
29 | [JsonPropertyName("singleWordSynonym")]
30 | SingleWordSynonym = 2,
31 |
32 | ///
33 | /// Enum MultiWordsSynonym for value: multiWordsSynonym
34 | ///
35 | [JsonPropertyName("multiWordsSynonym")]
36 | MultiWordsSynonym = 3,
37 |
38 | ///
39 | /// Enum IgnoreConjugations for value: ignoreConjugations
40 | ///
41 | [JsonPropertyName("ignoreConjugations")]
42 | IgnoreConjugations = 4,
43 | }
44 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Recommend/AroundRadiusAll.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Recommend;
13 |
14 | ///
15 | /// Return all records with a valid `_geoloc` attribute. Don't filter by distance.
16 | ///
17 | /// Return all records with a valid `_geoloc` attribute. Don't filter by distance.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum AroundRadiusAll
20 | {
21 | ///
22 | /// Enum All for value: all
23 | ///
24 | [JsonPropertyName("all")]
25 | All = 1,
26 | }
27 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Recommend/BannerImageUrl.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Recommend;
13 |
14 | ///
15 | /// URL for an image to show inside a banner.
16 | ///
17 | public partial class BannerImageUrl
18 | {
19 | ///
20 | /// Initializes a new instance of the BannerImageUrl class.
21 | ///
22 | public BannerImageUrl() { }
23 |
24 | ///
25 | /// Gets or Sets Url
26 | ///
27 | [JsonPropertyName("url")]
28 | public string Url { get; set; }
29 |
30 | ///
31 | /// Returns the string presentation of the object
32 | ///
33 | /// String presentation of the object
34 | public override string ToString()
35 | {
36 | StringBuilder sb = new StringBuilder();
37 | sb.Append("class BannerImageUrl {\n");
38 | sb.Append(" Url: ").Append(Url).Append("\n");
39 | sb.Append("}\n");
40 | return sb.ToString();
41 | }
42 |
43 | ///
44 | /// Returns the JSON string presentation of the object
45 | ///
46 | /// JSON string presentation of the object
47 | public virtual string ToJson()
48 | {
49 | return JsonSerializer.Serialize(this, JsonConfig.Options);
50 | }
51 |
52 | ///
53 | /// Returns true if objects are equal
54 | ///
55 | /// Object to be compared
56 | /// Boolean
57 | public override bool Equals(object obj)
58 | {
59 | if (obj is not BannerImageUrl input)
60 | {
61 | return false;
62 | }
63 |
64 | return (Url == input.Url || (Url != null && Url.Equals(input.Url)));
65 | }
66 |
67 | ///
68 | /// Gets the hash code
69 | ///
70 | /// Hash code
71 | public override int GetHashCode()
72 | {
73 | unchecked // Overflow is fine, just wrap
74 | {
75 | int hashCode = 41;
76 | if (Url != null)
77 | {
78 | hashCode = (hashCode * 59) + Url.GetHashCode();
79 | }
80 | return hashCode;
81 | }
82 | }
83 | }
84 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Recommend/BannerLink.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Recommend;
13 |
14 | ///
15 | /// Link for a banner defined in the Merchandising Studio.
16 | ///
17 | public partial class BannerLink
18 | {
19 | ///
20 | /// Initializes a new instance of the BannerLink class.
21 | ///
22 | public BannerLink() { }
23 |
24 | ///
25 | /// Gets or Sets Url
26 | ///
27 | [JsonPropertyName("url")]
28 | public string Url { get; set; }
29 |
30 | ///
31 | /// Returns the string presentation of the object
32 | ///
33 | /// String presentation of the object
34 | public override string ToString()
35 | {
36 | StringBuilder sb = new StringBuilder();
37 | sb.Append("class BannerLink {\n");
38 | sb.Append(" Url: ").Append(Url).Append("\n");
39 | sb.Append("}\n");
40 | return sb.ToString();
41 | }
42 |
43 | ///
44 | /// Returns the JSON string presentation of the object
45 | ///
46 | /// JSON string presentation of the object
47 | public virtual string ToJson()
48 | {
49 | return JsonSerializer.Serialize(this, JsonConfig.Options);
50 | }
51 |
52 | ///
53 | /// Returns true if objects are equal
54 | ///
55 | /// Object to be compared
56 | /// Boolean
57 | public override bool Equals(object obj)
58 | {
59 | if (obj is not BannerLink input)
60 | {
61 | return false;
62 | }
63 |
64 | return (Url == input.Url || (Url != null && Url.Equals(input.Url)));
65 | }
66 |
67 | ///
68 | /// Gets the hash code
69 | ///
70 | /// Hash code
71 | public override int GetHashCode()
72 | {
73 | unchecked // Overflow is fine, just wrap
74 | {
75 | int hashCode = 41;
76 | if (Url != null)
77 | {
78 | hashCode = (hashCode * 59) + Url.GetHashCode();
79 | }
80 | return hashCode;
81 | }
82 | }
83 | }
84 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Recommend/BooleanString.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Recommend;
13 |
14 | ///
15 | /// Defines booleanString
16 | ///
17 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
18 | public enum BooleanString
19 | {
20 | ///
21 | /// Enum True for value: true
22 | ///
23 | [JsonPropertyName("true")]
24 | True = 1,
25 |
26 | ///
27 | /// Enum False for value: false
28 | ///
29 | [JsonPropertyName("false")]
30 | False = 2,
31 | }
32 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Recommend/FbtModel.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Recommend;
13 |
14 | ///
15 | /// Frequently bought together model. This model recommends items that have been purchased within 1 day with the item with the ID `objectID`.
16 | ///
17 | /// Frequently bought together model. This model recommends items that have been purchased within 1 day with the item with the ID `objectID`.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum FbtModel
20 | {
21 | ///
22 | /// Enum BoughtTogether for value: bought-together
23 | ///
24 | [JsonPropertyName("bought-together")]
25 | BoughtTogether = 1,
26 | }
27 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Recommend/LookingSimilarModel.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Recommend;
13 |
14 | ///
15 | /// Looking similar model. This model recommends items that look similar to the item with the ID `objectID` based on image attributes in your index.
16 | ///
17 | /// Looking similar model. This model recommends items that look similar to the item with the ID `objectID` based on image attributes in your index.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum LookingSimilarModel
20 | {
21 | ///
22 | /// Enum LookingSimilar for value: looking-similar
23 | ///
24 | [JsonPropertyName("looking-similar")]
25 | LookingSimilar = 1,
26 | }
27 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Recommend/MatchLevel.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Recommend;
13 |
14 | ///
15 | /// Whether the whole query string matches or only a part.
16 | ///
17 | /// Whether the whole query string matches or only a part.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum MatchLevel
20 | {
21 | ///
22 | /// Enum None for value: none
23 | ///
24 | [JsonPropertyName("none")]
25 | None = 1,
26 |
27 | ///
28 | /// Enum Partial for value: partial
29 | ///
30 | [JsonPropertyName("partial")]
31 | Partial = 2,
32 |
33 | ///
34 | /// Enum Full for value: full
35 | ///
36 | [JsonPropertyName("full")]
37 | Full = 3,
38 | }
39 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Recommend/QueryType.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Recommend;
13 |
14 | ///
15 | /// Determines if and how query words are interpreted as prefixes. By default, only the last query word is treated as a prefix (`prefixLast`). To turn off prefix search, use `prefixNone`. Avoid `prefixAll`, which treats all query words as prefixes. This might lead to counterintuitive results and makes your search slower. For more information, see [Prefix searching](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/override-search-engine-defaults/in-depth/prefix-searching/).
16 | ///
17 | /// Determines if and how query words are interpreted as prefixes. By default, only the last query word is treated as a prefix (`prefixLast`). To turn off prefix search, use `prefixNone`. Avoid `prefixAll`, which treats all query words as prefixes. This might lead to counterintuitive results and makes your search slower. For more information, see [Prefix searching](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/override-search-engine-defaults/in-depth/prefix-searching/).
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum QueryType
20 | {
21 | ///
22 | /// Enum PrefixLast for value: prefixLast
23 | ///
24 | [JsonPropertyName("prefixLast")]
25 | PrefixLast = 1,
26 |
27 | ///
28 | /// Enum PrefixAll for value: prefixAll
29 | ///
30 | [JsonPropertyName("prefixAll")]
31 | PrefixAll = 2,
32 |
33 | ///
34 | /// Enum PrefixNone for value: prefixNone
35 | ///
36 | [JsonPropertyName("prefixNone")]
37 | PrefixNone = 3,
38 | }
39 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Recommend/RecommendModels.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Recommend;
13 |
14 | ///
15 | /// Defines recommendModels
16 | ///
17 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
18 | public enum RecommendModels
19 | {
20 | ///
21 | /// Enum RelatedProducts for value: related-products
22 | ///
23 | [JsonPropertyName("related-products")]
24 | RelatedProducts = 1,
25 |
26 | ///
27 | /// Enum BoughtTogether for value: bought-together
28 | ///
29 | [JsonPropertyName("bought-together")]
30 | BoughtTogether = 2,
31 |
32 | ///
33 | /// Enum TrendingFacets for value: trending-facets
34 | ///
35 | [JsonPropertyName("trending-facets")]
36 | TrendingFacets = 3,
37 |
38 | ///
39 | /// Enum TrendingItems for value: trending-items
40 | ///
41 | [JsonPropertyName("trending-items")]
42 | TrendingItems = 4,
43 | }
44 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Recommend/RedirectURL.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Recommend;
13 |
14 | ///
15 | /// The redirect rule container.
16 | ///
17 | public partial class RedirectURL
18 | {
19 | ///
20 | /// Initializes a new instance of the RedirectURL class.
21 | ///
22 | public RedirectURL() { }
23 |
24 | ///
25 | /// Gets or Sets Url
26 | ///
27 | [JsonPropertyName("url")]
28 | public string Url { get; set; }
29 |
30 | ///
31 | /// Returns the string presentation of the object
32 | ///
33 | /// String presentation of the object
34 | public override string ToString()
35 | {
36 | StringBuilder sb = new StringBuilder();
37 | sb.Append("class RedirectURL {\n");
38 | sb.Append(" Url: ").Append(Url).Append("\n");
39 | sb.Append("}\n");
40 | return sb.ToString();
41 | }
42 |
43 | ///
44 | /// Returns the JSON string presentation of the object
45 | ///
46 | /// JSON string presentation of the object
47 | public virtual string ToJson()
48 | {
49 | return JsonSerializer.Serialize(this, JsonConfig.Options);
50 | }
51 |
52 | ///
53 | /// Returns true if objects are equal
54 | ///
55 | /// Object to be compared
56 | /// Boolean
57 | public override bool Equals(object obj)
58 | {
59 | if (obj is not RedirectURL input)
60 | {
61 | return false;
62 | }
63 |
64 | return (Url == input.Url || (Url != null && Url.Equals(input.Url)));
65 | }
66 |
67 | ///
68 | /// Gets the hash code
69 | ///
70 | /// Hash code
71 | public override int GetHashCode()
72 | {
73 | unchecked // Overflow is fine, just wrap
74 | {
75 | int hashCode = 41;
76 | if (Url != null)
77 | {
78 | hashCode = (hashCode * 59) + Url.GetHashCode();
79 | }
80 | return hashCode;
81 | }
82 | }
83 | }
84 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Recommend/RelatedModel.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Recommend;
13 |
14 | ///
15 | /// Related products or similar content model. This model recommends items that are similar to the item with the ID `objectID`. Similarity is determined from the user interactions and attributes.
16 | ///
17 | /// Related products or similar content model. This model recommends items that are similar to the item with the ID `objectID`. Similarity is determined from the user interactions and attributes.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum RelatedModel
20 | {
21 | ///
22 | /// Enum RelatedProducts for value: related-products
23 | ///
24 | [JsonPropertyName("related-products")]
25 | RelatedProducts = 1,
26 | }
27 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Recommend/SortRemainingBy.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Recommend;
13 |
14 | ///
15 | /// Order of facet values that aren't explicitly positioned with the `order` setting. - `count`. Order remaining facet values by decreasing count. The count is the number of matching records containing this facet value. - `alpha`. Sort facet values alphabetically. - `hidden`. Don't show facet values that aren't explicitly positioned.
16 | ///
17 | /// Order of facet values that aren't explicitly positioned with the `order` setting. - `count`. Order remaining facet values by decreasing count. The count is the number of matching records containing this facet value. - `alpha`. Sort facet values alphabetically. - `hidden`. Don't show facet values that aren't explicitly positioned.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum SortRemainingBy
20 | {
21 | ///
22 | /// Enum Count for value: count
23 | ///
24 | [JsonPropertyName("count")]
25 | Count = 1,
26 |
27 | ///
28 | /// Enum Alpha for value: alpha
29 | ///
30 | [JsonPropertyName("alpha")]
31 | Alpha = 2,
32 |
33 | ///
34 | /// Enum Hidden for value: hidden
35 | ///
36 | [JsonPropertyName("hidden")]
37 | Hidden = 3,
38 | }
39 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Recommend/TaskStatus.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Recommend;
13 |
14 | ///
15 | /// Task status, `published` if the task is completed, `notPublished` otherwise.
16 | ///
17 | /// Task status, `published` if the task is completed, `notPublished` otherwise.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum TaskStatus
20 | {
21 | ///
22 | /// Enum Published for value: published
23 | ///
24 | [JsonPropertyName("published")]
25 | Published = 1,
26 |
27 | ///
28 | /// Enum NotPublished for value: notPublished
29 | ///
30 | [JsonPropertyName("notPublished")]
31 | NotPublished = 2,
32 | }
33 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Recommend/TrendingFacetsModel.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Recommend;
13 |
14 | ///
15 | /// Trending facet values model. This model recommends trending facet values for the specified facet attribute.
16 | ///
17 | /// Trending facet values model. This model recommends trending facet values for the specified facet attribute.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum TrendingFacetsModel
20 | {
21 | ///
22 | /// Enum TrendingFacets for value: trending-facets
23 | ///
24 | [JsonPropertyName("trending-facets")]
25 | TrendingFacets = 1,
26 | }
27 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Recommend/TrendingItemsModel.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Recommend;
13 |
14 | ///
15 | /// Trending items model. Trending items are determined from the number of conversion events collected on them.
16 | ///
17 | /// Trending items model. Trending items are determined from the number of conversion events collected on them.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum TrendingItemsModel
20 | {
21 | ///
22 | /// Enum TrendingItems for value: trending-items
23 | ///
24 | [JsonPropertyName("trending-items")]
25 | TrendingItems = 1,
26 | }
27 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Recommend/TypoToleranceEnum.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Recommend;
13 |
14 | ///
15 | /// - `min`. Return matches with the lowest number of typos. For example, if you have matches without typos, only include those. But if there are no matches without typos (with 1 typo), include matches with 1 typo (2 typos). - `strict`. Return matches with the two lowest numbers of typos. With `strict`, the Typo ranking criterion is applied first in the `ranking` setting.
16 | ///
17 | /// - `min`. Return matches with the lowest number of typos. For example, if you have matches without typos, only include those. But if there are no matches without typos (with 1 typo), include matches with 1 typo (2 typos). - `strict`. Return matches with the two lowest numbers of typos. With `strict`, the Typo ranking criterion is applied first in the `ranking` setting.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum TypoToleranceEnum
20 | {
21 | ///
22 | /// Enum Min for value: min
23 | ///
24 | [JsonPropertyName("min")]
25 | Min = 1,
26 |
27 | ///
28 | /// Enum Strict for value: strict
29 | ///
30 | [JsonPropertyName("strict")]
31 | Strict = 2,
32 |
33 | ///
34 | /// Enum True for value: true
35 | ///
36 | [JsonPropertyName("true")]
37 | True = 3,
38 |
39 | ///
40 | /// Enum False for value: false
41 | ///
42 | [JsonPropertyName("false")]
43 | False = 4,
44 | }
45 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Search/Action.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Search;
13 |
14 | ///
15 | /// Type of indexing operation.
16 | ///
17 | /// Type of indexing operation.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum Action
20 | {
21 | ///
22 | /// Enum AddObject for value: addObject
23 | ///
24 | [JsonPropertyName("addObject")]
25 | AddObject = 1,
26 |
27 | ///
28 | /// Enum UpdateObject for value: updateObject
29 | ///
30 | [JsonPropertyName("updateObject")]
31 | UpdateObject = 2,
32 |
33 | ///
34 | /// Enum PartialUpdateObject for value: partialUpdateObject
35 | ///
36 | [JsonPropertyName("partialUpdateObject")]
37 | PartialUpdateObject = 3,
38 |
39 | ///
40 | /// Enum PartialUpdateObjectNoCreate for value: partialUpdateObjectNoCreate
41 | ///
42 | [JsonPropertyName("partialUpdateObjectNoCreate")]
43 | PartialUpdateObjectNoCreate = 4,
44 |
45 | ///
46 | /// Enum DeleteObject for value: deleteObject
47 | ///
48 | [JsonPropertyName("deleteObject")]
49 | DeleteObject = 5,
50 |
51 | ///
52 | /// Enum Delete for value: delete
53 | ///
54 | [JsonPropertyName("delete")]
55 | Delete = 6,
56 |
57 | ///
58 | /// Enum Clear for value: clear
59 | ///
60 | [JsonPropertyName("clear")]
61 | Clear = 7,
62 | }
63 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Search/AdvancedSyntaxFeatures.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Search;
13 |
14 | ///
15 | /// Defines advancedSyntaxFeatures
16 | ///
17 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
18 | public enum AdvancedSyntaxFeatures
19 | {
20 | ///
21 | /// Enum ExactPhrase for value: exactPhrase
22 | ///
23 | [JsonPropertyName("exactPhrase")]
24 | ExactPhrase = 1,
25 |
26 | ///
27 | /// Enum ExcludeWords for value: excludeWords
28 | ///
29 | [JsonPropertyName("excludeWords")]
30 | ExcludeWords = 2,
31 | }
32 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Search/AlternativesAsExact.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Search;
13 |
14 | ///
15 | /// Defines alternativesAsExact
16 | ///
17 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
18 | public enum AlternativesAsExact
19 | {
20 | ///
21 | /// Enum IgnorePlurals for value: ignorePlurals
22 | ///
23 | [JsonPropertyName("ignorePlurals")]
24 | IgnorePlurals = 1,
25 |
26 | ///
27 | /// Enum SingleWordSynonym for value: singleWordSynonym
28 | ///
29 | [JsonPropertyName("singleWordSynonym")]
30 | SingleWordSynonym = 2,
31 |
32 | ///
33 | /// Enum MultiWordsSynonym for value: multiWordsSynonym
34 | ///
35 | [JsonPropertyName("multiWordsSynonym")]
36 | MultiWordsSynonym = 3,
37 |
38 | ///
39 | /// Enum IgnoreConjugations for value: ignoreConjugations
40 | ///
41 | [JsonPropertyName("ignoreConjugations")]
42 | IgnoreConjugations = 4,
43 | }
44 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Search/Anchoring.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Search;
13 |
14 | ///
15 | /// Which part of the search query the pattern should match: - `startsWith`. The pattern must match the beginning of the query. - `endsWith`. The pattern must match the end of the query. - `is`. The pattern must match the query exactly. - `contains`. The pattern must match anywhere in the query. Empty queries are only allowed as patterns with `anchoring: is`.
16 | ///
17 | /// Which part of the search query the pattern should match: - `startsWith`. The pattern must match the beginning of the query. - `endsWith`. The pattern must match the end of the query. - `is`. The pattern must match the query exactly. - `contains`. The pattern must match anywhere in the query. Empty queries are only allowed as patterns with `anchoring: is`.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum Anchoring
20 | {
21 | ///
22 | /// Enum Is for value: is
23 | ///
24 | [JsonPropertyName("is")]
25 | Is = 1,
26 |
27 | ///
28 | /// Enum StartsWith for value: startsWith
29 | ///
30 | [JsonPropertyName("startsWith")]
31 | StartsWith = 2,
32 |
33 | ///
34 | /// Enum EndsWith for value: endsWith
35 | ///
36 | [JsonPropertyName("endsWith")]
37 | EndsWith = 3,
38 |
39 | ///
40 | /// Enum Contains for value: contains
41 | ///
42 | [JsonPropertyName("contains")]
43 | Contains = 4,
44 | }
45 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Search/ApiKeyOperation.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Search;
13 |
14 | ///
15 | /// Defines apiKeyOperation
16 | ///
17 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
18 | public enum ApiKeyOperation
19 | {
20 | ///
21 | /// Enum Add for value: add
22 | ///
23 | [JsonPropertyName("add")]
24 | Add = 1,
25 |
26 | ///
27 | /// Enum Delete for value: delete
28 | ///
29 | [JsonPropertyName("delete")]
30 | Delete = 2,
31 |
32 | ///
33 | /// Enum Update for value: update
34 | ///
35 | [JsonPropertyName("update")]
36 | Update = 3,
37 | }
38 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Search/AroundRadiusAll.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Search;
13 |
14 | ///
15 | /// Return all records with a valid `_geoloc` attribute. Don't filter by distance.
16 | ///
17 | /// Return all records with a valid `_geoloc` attribute. Don't filter by distance.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum AroundRadiusAll
20 | {
21 | ///
22 | /// Enum All for value: all
23 | ///
24 | [JsonPropertyName("all")]
25 | All = 1,
26 | }
27 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Search/BannerImageUrl.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Search;
13 |
14 | ///
15 | /// URL for an image to show inside a banner.
16 | ///
17 | public partial class BannerImageUrl
18 | {
19 | ///
20 | /// Initializes a new instance of the BannerImageUrl class.
21 | ///
22 | public BannerImageUrl() { }
23 |
24 | ///
25 | /// Gets or Sets Url
26 | ///
27 | [JsonPropertyName("url")]
28 | public string Url { get; set; }
29 |
30 | ///
31 | /// Returns the string presentation of the object
32 | ///
33 | /// String presentation of the object
34 | public override string ToString()
35 | {
36 | StringBuilder sb = new StringBuilder();
37 | sb.Append("class BannerImageUrl {\n");
38 | sb.Append(" Url: ").Append(Url).Append("\n");
39 | sb.Append("}\n");
40 | return sb.ToString();
41 | }
42 |
43 | ///
44 | /// Returns the JSON string presentation of the object
45 | ///
46 | /// JSON string presentation of the object
47 | public virtual string ToJson()
48 | {
49 | return JsonSerializer.Serialize(this, JsonConfig.Options);
50 | }
51 |
52 | ///
53 | /// Returns true if objects are equal
54 | ///
55 | /// Object to be compared
56 | /// Boolean
57 | public override bool Equals(object obj)
58 | {
59 | if (obj is not BannerImageUrl input)
60 | {
61 | return false;
62 | }
63 |
64 | return (Url == input.Url || (Url != null && Url.Equals(input.Url)));
65 | }
66 |
67 | ///
68 | /// Gets the hash code
69 | ///
70 | /// Hash code
71 | public override int GetHashCode()
72 | {
73 | unchecked // Overflow is fine, just wrap
74 | {
75 | int hashCode = 41;
76 | if (Url != null)
77 | {
78 | hashCode = (hashCode * 59) + Url.GetHashCode();
79 | }
80 | return hashCode;
81 | }
82 | }
83 | }
84 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Search/BannerLink.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Search;
13 |
14 | ///
15 | /// Link for a banner defined in the Merchandising Studio.
16 | ///
17 | public partial class BannerLink
18 | {
19 | ///
20 | /// Initializes a new instance of the BannerLink class.
21 | ///
22 | public BannerLink() { }
23 |
24 | ///
25 | /// Gets or Sets Url
26 | ///
27 | [JsonPropertyName("url")]
28 | public string Url { get; set; }
29 |
30 | ///
31 | /// Returns the string presentation of the object
32 | ///
33 | /// String presentation of the object
34 | public override string ToString()
35 | {
36 | StringBuilder sb = new StringBuilder();
37 | sb.Append("class BannerLink {\n");
38 | sb.Append(" Url: ").Append(Url).Append("\n");
39 | sb.Append("}\n");
40 | return sb.ToString();
41 | }
42 |
43 | ///
44 | /// Returns the JSON string presentation of the object
45 | ///
46 | /// JSON string presentation of the object
47 | public virtual string ToJson()
48 | {
49 | return JsonSerializer.Serialize(this, JsonConfig.Options);
50 | }
51 |
52 | ///
53 | /// Returns true if objects are equal
54 | ///
55 | /// Object to be compared
56 | /// Boolean
57 | public override bool Equals(object obj)
58 | {
59 | if (obj is not BannerLink input)
60 | {
61 | return false;
62 | }
63 |
64 | return (Url == input.Url || (Url != null && Url.Equals(input.Url)));
65 | }
66 |
67 | ///
68 | /// Gets the hash code
69 | ///
70 | /// Hash code
71 | public override int GetHashCode()
72 | {
73 | unchecked // Overflow is fine, just wrap
74 | {
75 | int hashCode = 41;
76 | if (Url != null)
77 | {
78 | hashCode = (hashCode * 59) + Url.GetHashCode();
79 | }
80 | return hashCode;
81 | }
82 | }
83 | }
84 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Search/BooleanString.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Search;
13 |
14 | ///
15 | /// Defines booleanString
16 | ///
17 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
18 | public enum BooleanString
19 | {
20 | ///
21 | /// Enum True for value: true
22 | ///
23 | [JsonPropertyName("true")]
24 | True = 1,
25 |
26 | ///
27 | /// Enum False for value: false
28 | ///
29 | [JsonPropertyName("false")]
30 | False = 2,
31 | }
32 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Search/BuiltInOperationType.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Search;
13 |
14 | ///
15 | /// How to change the attribute.
16 | ///
17 | /// How to change the attribute.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum BuiltInOperationType
20 | {
21 | ///
22 | /// Enum Increment for value: Increment
23 | ///
24 | [JsonPropertyName("Increment")]
25 | Increment = 1,
26 |
27 | ///
28 | /// Enum Decrement for value: Decrement
29 | ///
30 | [JsonPropertyName("Decrement")]
31 | Decrement = 2,
32 |
33 | ///
34 | /// Enum Add for value: Add
35 | ///
36 | [JsonPropertyName("Add")]
37 | Add = 3,
38 |
39 | ///
40 | /// Enum Remove for value: Remove
41 | ///
42 | [JsonPropertyName("Remove")]
43 | Remove = 4,
44 |
45 | ///
46 | /// Enum AddUnique for value: AddUnique
47 | ///
48 | [JsonPropertyName("AddUnique")]
49 | AddUnique = 5,
50 |
51 | ///
52 | /// Enum IncrementFrom for value: IncrementFrom
53 | ///
54 | [JsonPropertyName("IncrementFrom")]
55 | IncrementFrom = 6,
56 |
57 | ///
58 | /// Enum IncrementSet for value: IncrementSet
59 | ///
60 | [JsonPropertyName("IncrementSet")]
61 | IncrementSet = 7,
62 | }
63 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Search/DictionaryAction.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Search;
13 |
14 | ///
15 | /// Actions to perform.
16 | ///
17 | /// Actions to perform.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum DictionaryAction
20 | {
21 | ///
22 | /// Enum AddEntry for value: addEntry
23 | ///
24 | [JsonPropertyName("addEntry")]
25 | AddEntry = 1,
26 |
27 | ///
28 | /// Enum DeleteEntry for value: deleteEntry
29 | ///
30 | [JsonPropertyName("deleteEntry")]
31 | DeleteEntry = 2,
32 | }
33 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Search/DictionaryEntryState.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Search;
13 |
14 | ///
15 | /// Whether a dictionary entry is active.
16 | ///
17 | /// Whether a dictionary entry is active.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum DictionaryEntryState
20 | {
21 | ///
22 | /// Enum Enabled for value: enabled
23 | ///
24 | [JsonPropertyName("enabled")]
25 | Enabled = 1,
26 |
27 | ///
28 | /// Enum Disabled for value: disabled
29 | ///
30 | [JsonPropertyName("disabled")]
31 | Disabled = 2,
32 | }
33 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Search/DictionaryEntryType.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Search;
13 |
14 | ///
15 | /// Whether a dictionary entry is provided by Algolia (standard), or has been added by you (custom).
16 | ///
17 | /// Whether a dictionary entry is provided by Algolia (standard), or has been added by you (custom).
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum DictionaryEntryType
20 | {
21 | ///
22 | /// Enum Custom for value: custom
23 | ///
24 | [JsonPropertyName("custom")]
25 | Custom = 1,
26 |
27 | ///
28 | /// Enum Standard for value: standard
29 | ///
30 | [JsonPropertyName("standard")]
31 | Standard = 2,
32 | }
33 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Search/DictionaryType.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Search;
13 |
14 | ///
15 | /// Defines dictionaryType
16 | ///
17 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
18 | public enum DictionaryType
19 | {
20 | ///
21 | /// Enum Plurals for value: plurals
22 | ///
23 | [JsonPropertyName("plurals")]
24 | Plurals = 1,
25 |
26 | ///
27 | /// Enum Stopwords for value: stopwords
28 | ///
29 | [JsonPropertyName("stopwords")]
30 | Stopwords = 2,
31 |
32 | ///
33 | /// Enum Compounds for value: compounds
34 | ///
35 | [JsonPropertyName("compounds")]
36 | Compounds = 3,
37 | }
38 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Search/EditType.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Search;
13 |
14 | ///
15 | /// Type of edit.
16 | ///
17 | /// Type of edit.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum EditType
20 | {
21 | ///
22 | /// Enum Remove for value: remove
23 | ///
24 | [JsonPropertyName("remove")]
25 | Remove = 1,
26 |
27 | ///
28 | /// Enum Replace for value: replace
29 | ///
30 | [JsonPropertyName("replace")]
31 | Replace = 2,
32 | }
33 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Search/EventStatus.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Search;
13 |
14 | ///
15 | /// Defines EventStatus
16 | ///
17 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
18 | public enum EventStatus
19 | {
20 | ///
21 | /// Enum Created for value: created
22 | ///
23 | [JsonPropertyName("created")]
24 | Created = 1,
25 |
26 | ///
27 | /// Enum Started for value: started
28 | ///
29 | [JsonPropertyName("started")]
30 | Started = 2,
31 |
32 | ///
33 | /// Enum Retried for value: retried
34 | ///
35 | [JsonPropertyName("retried")]
36 | Retried = 3,
37 |
38 | ///
39 | /// Enum Failed for value: failed
40 | ///
41 | [JsonPropertyName("failed")]
42 | Failed = 4,
43 |
44 | ///
45 | /// Enum Succeeded for value: succeeded
46 | ///
47 | [JsonPropertyName("succeeded")]
48 | Succeeded = 5,
49 |
50 | ///
51 | /// Enum Critical for value: critical
52 | ///
53 | [JsonPropertyName("critical")]
54 | Critical = 6,
55 | }
56 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Search/EventType.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Search;
13 |
14 | ///
15 | /// Defines EventType
16 | ///
17 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
18 | public enum EventType
19 | {
20 | ///
21 | /// Enum Fetch for value: fetch
22 | ///
23 | [JsonPropertyName("fetch")]
24 | Fetch = 1,
25 |
26 | ///
27 | /// Enum Record for value: record
28 | ///
29 | [JsonPropertyName("record")]
30 | Record = 2,
31 |
32 | ///
33 | /// Enum Log for value: log
34 | ///
35 | [JsonPropertyName("log")]
36 | Log = 3,
37 |
38 | ///
39 | /// Enum Transform for value: transform
40 | ///
41 | [JsonPropertyName("transform")]
42 | Transform = 4,
43 | }
44 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Search/LogType.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Search;
13 |
14 | ///
15 | /// Defines logType
16 | ///
17 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
18 | public enum LogType
19 | {
20 | ///
21 | /// Enum All for value: all
22 | ///
23 | [JsonPropertyName("all")]
24 | All = 1,
25 |
26 | ///
27 | /// Enum Query for value: query
28 | ///
29 | [JsonPropertyName("query")]
30 | Query = 2,
31 |
32 | ///
33 | /// Enum Build for value: build
34 | ///
35 | [JsonPropertyName("build")]
36 | Build = 3,
37 |
38 | ///
39 | /// Enum Error for value: error
40 | ///
41 | [JsonPropertyName("error")]
42 | Error = 4,
43 | }
44 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Search/MatchLevel.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Search;
13 |
14 | ///
15 | /// Whether the whole query string matches or only a part.
16 | ///
17 | /// Whether the whole query string matches or only a part.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum MatchLevel
20 | {
21 | ///
22 | /// Enum None for value: none
23 | ///
24 | [JsonPropertyName("none")]
25 | None = 1,
26 |
27 | ///
28 | /// Enum Partial for value: partial
29 | ///
30 | [JsonPropertyName("partial")]
31 | Partial = 2,
32 |
33 | ///
34 | /// Enum Full for value: full
35 | ///
36 | [JsonPropertyName("full")]
37 | Full = 3,
38 | }
39 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Search/Mode.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Search;
13 |
14 | ///
15 | /// Search mode the index will use to query for results. This setting only applies to indices, for which Algolia enabled NeuralSearch for you.
16 | ///
17 | /// Search mode the index will use to query for results. This setting only applies to indices, for which Algolia enabled NeuralSearch for you.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum Mode
20 | {
21 | ///
22 | /// Enum NeuralSearch for value: neuralSearch
23 | ///
24 | [JsonPropertyName("neuralSearch")]
25 | NeuralSearch = 1,
26 |
27 | ///
28 | /// Enum KeywordSearch for value: keywordSearch
29 | ///
30 | [JsonPropertyName("keywordSearch")]
31 | KeywordSearch = 2,
32 | }
33 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Search/OperationType.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Search;
13 |
14 | ///
15 | /// Operation to perform on the index.
16 | ///
17 | /// Operation to perform on the index.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum OperationType
20 | {
21 | ///
22 | /// Enum Move for value: move
23 | ///
24 | [JsonPropertyName("move")]
25 | Move = 1,
26 |
27 | ///
28 | /// Enum Copy for value: copy
29 | ///
30 | [JsonPropertyName("copy")]
31 | Copy = 2,
32 | }
33 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Search/QueryType.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Search;
13 |
14 | ///
15 | /// Determines if and how query words are interpreted as prefixes. By default, only the last query word is treated as a prefix (`prefixLast`). To turn off prefix search, use `prefixNone`. Avoid `prefixAll`, which treats all query words as prefixes. This might lead to counterintuitive results and makes your search slower. For more information, see [Prefix searching](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/override-search-engine-defaults/in-depth/prefix-searching/).
16 | ///
17 | /// Determines if and how query words are interpreted as prefixes. By default, only the last query word is treated as a prefix (`prefixLast`). To turn off prefix search, use `prefixNone`. Avoid `prefixAll`, which treats all query words as prefixes. This might lead to counterintuitive results and makes your search slower. For more information, see [Prefix searching](https://www.algolia.com/doc/guides/managing-results/optimize-search-results/override-search-engine-defaults/in-depth/prefix-searching/).
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum QueryType
20 | {
21 | ///
22 | /// Enum PrefixLast for value: prefixLast
23 | ///
24 | [JsonPropertyName("prefixLast")]
25 | PrefixLast = 1,
26 |
27 | ///
28 | /// Enum PrefixAll for value: prefixAll
29 | ///
30 | [JsonPropertyName("prefixAll")]
31 | PrefixAll = 2,
32 |
33 | ///
34 | /// Enum PrefixNone for value: prefixNone
35 | ///
36 | [JsonPropertyName("prefixNone")]
37 | PrefixNone = 3,
38 | }
39 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Search/RedirectURL.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Search;
13 |
14 | ///
15 | /// The redirect rule container.
16 | ///
17 | public partial class RedirectURL
18 | {
19 | ///
20 | /// Initializes a new instance of the RedirectURL class.
21 | ///
22 | public RedirectURL() { }
23 |
24 | ///
25 | /// Gets or Sets Url
26 | ///
27 | [JsonPropertyName("url")]
28 | public string Url { get; set; }
29 |
30 | ///
31 | /// Returns the string presentation of the object
32 | ///
33 | /// String presentation of the object
34 | public override string ToString()
35 | {
36 | StringBuilder sb = new StringBuilder();
37 | sb.Append("class RedirectURL {\n");
38 | sb.Append(" Url: ").Append(Url).Append("\n");
39 | sb.Append("}\n");
40 | return sb.ToString();
41 | }
42 |
43 | ///
44 | /// Returns the JSON string presentation of the object
45 | ///
46 | /// JSON string presentation of the object
47 | public virtual string ToJson()
48 | {
49 | return JsonSerializer.Serialize(this, JsonConfig.Options);
50 | }
51 |
52 | ///
53 | /// Returns true if objects are equal
54 | ///
55 | /// Object to be compared
56 | /// Boolean
57 | public override bool Equals(object obj)
58 | {
59 | if (obj is not RedirectURL input)
60 | {
61 | return false;
62 | }
63 |
64 | return (Url == input.Url || (Url != null && Url.Equals(input.Url)));
65 | }
66 |
67 | ///
68 | /// Gets the hash code
69 | ///
70 | /// Hash code
71 | public override int GetHashCode()
72 | {
73 | unchecked // Overflow is fine, just wrap
74 | {
75 | int hashCode = 41;
76 | if (Url != null)
77 | {
78 | hashCode = (hashCode * 59) + Url.GetHashCode();
79 | }
80 | return hashCode;
81 | }
82 | }
83 | }
84 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Search/ScopeType.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Search;
13 |
14 | ///
15 | /// Defines scopeType
16 | ///
17 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
18 | public enum ScopeType
19 | {
20 | ///
21 | /// Enum Settings for value: settings
22 | ///
23 | [JsonPropertyName("settings")]
24 | Settings = 1,
25 |
26 | ///
27 | /// Enum Synonyms for value: synonyms
28 | ///
29 | [JsonPropertyName("synonyms")]
30 | Synonyms = 2,
31 |
32 | ///
33 | /// Enum Rules for value: rules
34 | ///
35 | [JsonPropertyName("rules")]
36 | Rules = 3,
37 | }
38 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Search/SearchStrategy.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Search;
13 |
14 | ///
15 | /// Strategy for multiple search queries: - `none`. Run all queries. - `stopIfEnoughMatches`. Run the queries one by one, stopping as soon as a query matches at least the `hitsPerPage` number of results.
16 | ///
17 | /// Strategy for multiple search queries: - `none`. Run all queries. - `stopIfEnoughMatches`. Run the queries one by one, stopping as soon as a query matches at least the `hitsPerPage` number of results.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum SearchStrategy
20 | {
21 | ///
22 | /// Enum None for value: none
23 | ///
24 | [JsonPropertyName("none")]
25 | None = 1,
26 |
27 | ///
28 | /// Enum StopIfEnoughMatches for value: stopIfEnoughMatches
29 | ///
30 | [JsonPropertyName("stopIfEnoughMatches")]
31 | StopIfEnoughMatches = 2,
32 | }
33 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Search/SearchTypeDefault.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Search;
13 |
14 | ///
15 | /// - `default`: perform a search query - `facet` [searches for facet values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values).
16 | ///
17 | /// - `default`: perform a search query - `facet` [searches for facet values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values).
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum SearchTypeDefault
20 | {
21 | ///
22 | /// Enum Default for value: default
23 | ///
24 | [JsonPropertyName("default")]
25 | Default = 1,
26 | }
27 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Search/SearchTypeFacet.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Search;
13 |
14 | ///
15 | /// - `default`: perform a search query - `facet` [searches for facet values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values).
16 | ///
17 | /// - `default`: perform a search query - `facet` [searches for facet values](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#search-for-facet-values).
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum SearchTypeFacet
20 | {
21 | ///
22 | /// Enum Facet for value: facet
23 | ///
24 | [JsonPropertyName("facet")]
25 | Facet = 1,
26 | }
27 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Search/SortRemainingBy.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Search;
13 |
14 | ///
15 | /// Order of facet values that aren't explicitly positioned with the `order` setting. - `count`. Order remaining facet values by decreasing count. The count is the number of matching records containing this facet value. - `alpha`. Sort facet values alphabetically. - `hidden`. Don't show facet values that aren't explicitly positioned.
16 | ///
17 | /// Order of facet values that aren't explicitly positioned with the `order` setting. - `count`. Order remaining facet values by decreasing count. The count is the number of matching records containing this facet value. - `alpha`. Sort facet values alphabetically. - `hidden`. Don't show facet values that aren't explicitly positioned.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum SortRemainingBy
20 | {
21 | ///
22 | /// Enum Count for value: count
23 | ///
24 | [JsonPropertyName("count")]
25 | Count = 1,
26 |
27 | ///
28 | /// Enum Alpha for value: alpha
29 | ///
30 | [JsonPropertyName("alpha")]
31 | Alpha = 2,
32 |
33 | ///
34 | /// Enum Hidden for value: hidden
35 | ///
36 | [JsonPropertyName("hidden")]
37 | Hidden = 3,
38 | }
39 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Search/SynonymType.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Search;
13 |
14 | ///
15 | /// Synonym type.
16 | ///
17 | /// Synonym type.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum SynonymType
20 | {
21 | ///
22 | /// Enum Synonym for value: synonym
23 | ///
24 | [JsonPropertyName("synonym")]
25 | Synonym = 1,
26 |
27 | ///
28 | /// Enum Onewaysynonym for value: onewaysynonym
29 | ///
30 | [JsonPropertyName("onewaysynonym")]
31 | Onewaysynonym = 2,
32 |
33 | ///
34 | /// Enum Altcorrection1 for value: altcorrection1
35 | ///
36 | [JsonPropertyName("altcorrection1")]
37 | Altcorrection1 = 3,
38 |
39 | ///
40 | /// Enum Altcorrection2 for value: altcorrection2
41 | ///
42 | [JsonPropertyName("altcorrection2")]
43 | Altcorrection2 = 4,
44 |
45 | ///
46 | /// Enum Placeholder for value: placeholder
47 | ///
48 | [JsonPropertyName("placeholder")]
49 | Placeholder = 5,
50 |
51 | ///
52 | /// Enum OneWaySynonym for value: oneWaySynonym
53 | ///
54 | [JsonPropertyName("oneWaySynonym")]
55 | OneWaySynonym = 6,
56 |
57 | ///
58 | /// Enum AltCorrection1 for value: altCorrection1
59 | ///
60 | [JsonPropertyName("altCorrection1")]
61 | AltCorrection1 = 7,
62 |
63 | ///
64 | /// Enum AltCorrection2 for value: altCorrection2
65 | ///
66 | [JsonPropertyName("altCorrection2")]
67 | AltCorrection2 = 8,
68 | }
69 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Search/TaskStatus.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Search;
13 |
14 | ///
15 | /// Task status, `published` if the task is completed, `notPublished` otherwise.
16 | ///
17 | /// Task status, `published` if the task is completed, `notPublished` otherwise.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum TaskStatus
20 | {
21 | ///
22 | /// Enum Published for value: published
23 | ///
24 | [JsonPropertyName("published")]
25 | Published = 1,
26 |
27 | ///
28 | /// Enum NotPublished for value: notPublished
29 | ///
30 | [JsonPropertyName("notPublished")]
31 | NotPublished = 2,
32 | }
33 |
--------------------------------------------------------------------------------
/algoliasearch/Models/Search/TypoToleranceEnum.cs:
--------------------------------------------------------------------------------
1 | //
2 | // 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.
3 | //
4 | using System;
5 | using System.Collections.Generic;
6 | using System.Linq;
7 | using System.Text;
8 | using System.Text.Json;
9 | using System.Text.Json.Serialization;
10 | using Algolia.Search.Serializer;
11 |
12 | namespace Algolia.Search.Models.Search;
13 |
14 | ///
15 | /// - `min`. Return matches with the lowest number of typos. For example, if you have matches without typos, only include those. But if there are no matches without typos (with 1 typo), include matches with 1 typo (2 typos). - `strict`. Return matches with the two lowest numbers of typos. With `strict`, the Typo ranking criterion is applied first in the `ranking` setting.
16 | ///
17 | /// - `min`. Return matches with the lowest number of typos. For example, if you have matches without typos, only include those. But if there are no matches without typos (with 1 typo), include matches with 1 typo (2 typos). - `strict`. Return matches with the two lowest numbers of typos. With `strict`, the Typo ranking criterion is applied first in the `ranking` setting.
18 | [JsonConverter(typeof(Serializer.JsonStringEnumConverter))]
19 | public enum TypoToleranceEnum
20 | {
21 | ///
22 | /// Enum Min for value: min
23 | ///
24 | [JsonPropertyName("min")]
25 | Min = 1,
26 |
27 | ///
28 | /// Enum Strict for value: strict
29 | ///
30 | [JsonPropertyName("strict")]
31 | Strict = 2,
32 |
33 | ///
34 | /// Enum True for value: true
35 | ///
36 | [JsonPropertyName("true")]
37 | True = 3,
38 |
39 | ///
40 | /// Enum False for value: false
41 | ///
42 | [JsonPropertyName("false")]
43 | False = 4,
44 | }
45 |
--------------------------------------------------------------------------------
/algoliasearch/Serializer/DefaultSerializer.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.IO;
3 | using System.Text.Json;
4 | using System.Threading.Tasks;
5 | using Algolia.Search.Exceptions;
6 | using Algolia.Search.Models.Common;
7 | using Microsoft.Extensions.Logging;
8 |
9 | namespace Algolia.Search.Serializer;
10 |
11 | internal class DefaultJsonSerializer(ILoggerFactory logger) : ISerializer
12 | {
13 | private readonly ILogger _logger =
14 | logger.CreateLogger();
15 |
16 | ///
17 | /// Serialize the object into a JSON string.
18 | ///
19 | /// Object to be serialized.
20 | /// A JSON string.
21 | public string Serialize(object data)
22 | {
23 | try
24 | {
25 | if (data is not AbstractSchema schema)
26 | {
27 | return JsonSerializer.Serialize(data, JsonConfig.Options);
28 | }
29 |
30 | // the object to be serialized is a oneOf/anyOf schema
31 | return schema.ToJson();
32 | }
33 | catch (Exception ex)
34 | {
35 | if (_logger.IsEnabled(LogLevel.Error))
36 | {
37 | _logger.LogError(ex, "Error while serializing object of type {Type}", data.GetType());
38 | }
39 |
40 | throw new AlgoliaException($"Error while serializing object of type {data.GetType()}", ex);
41 | }
42 | }
43 |
44 | public async Task Deserialize(Stream response)
45 | {
46 | var result = (T)await Deserialize(response, typeof(T)).ConfigureAwait(false);
47 | return result;
48 | }
49 |
50 | ///
51 | /// Deserialize the JSON string into a proper object.
52 | ///
53 | /// The HTTP response.
54 | /// Object type.
55 | /// Object representation of the JSON string.
56 | private async Task