@incubrain/client
Version:
A type-safe GraphQL client for Hasura, optimized for Node.js and Nuxt environments with full TypeScript support.
141 lines (140 loc) • 4.17 kB
TypeScript
import type { ClientConfig } from "./client/types";
import { BaseClient } from "./client/base.client";
import * as sdk from "./generated/sdk";
interface Content {
core: sdk.ContentsClient;
news: sdk.NewsClient;
research: sdk.ResearchClient;
categories: sdk.ContentCategoriesClient;
tags: sdk.ContentTagsClient;
sources: sdk.ContentSourcesClient;
statuses: sdk.ContentStatusesClient;
feeds: {
main: sdk.FeedsClient;
categories: sdk.FeedCategoriesClient;
sources: sdk.FeedSourcesClient;
};
newsLetters: sdk.NewslettersClient;
summaries: sdk.NewsSummariesClient;
embeddings: {
research: sdk.ResearchEmbeddingsClient;
reviews: sdk.EmbeddingReviewsClient;
};
}
interface Companies {
core: sdk.CompaniesClient;
employees: sdk.CompanyEmployeesClient;
contacts: sdk.CompanyContactsClient;
extras: sdk.CompanyExtrasClient;
metrics: sdk.CompanyMetricsClient;
}
interface Engagement {
bookmarks: {
items: sdk.BookmarksClient;
folders: sdk.BookmarkFoldersClient;
};
comments: sdk.CommentsClient;
follows: sdk.FollowsClient;
votes: sdk.VotesClient;
feedback: sdk.FeedbacksClient;
referrals: sdk.ReferralsClient;
}
interface Users {
profiles: sdk.UserProfilesClient;
metrics: sdk.UserMetricsClient;
searches: sdk.SearchesClient;
}
interface Location {
countries: sdk.CountriesClient;
cities: sdk.CitiesClient;
addresses: sdk.AddressesClient;
}
interface Security {
roles: {
permissions: sdk.RolePermissionsClient;
hierarchy: sdk.RoleHierarchyClient;
materialized: sdk.RolePermissionsMaterializedClient;
};
planPermissions: sdk.PlanPermissionsClient;
blockedIps: sdk.BlockedIpsClient;
blacklists: {
urls: sdk.BlacklistedUrlsClient;
domains: sdk.BlacklistedDomainsClient;
};
referrerBlocks: sdk.ReferrerBlocksClient;
}
interface Advertising {
ads: sdk.AdsClient;
packages: sdk.AdPackagesClient;
variants: sdk.AdVariantsClient;
metrics: sdk.AdDailyMetricsClient;
}
interface Billing {
payments: sdk.CustomerPaymentsClient;
refunds: sdk.CustomerRefundsClient;
subscriptions: {
main: sdk.CustomerSubscriptionsClient;
plans: sdk.CustomerSubscriptionPlansClient;
};
webhooks: sdk.CustomerProcessedWebhooksClient;
providers: sdk.PaymentProvidersClient;
}
interface System {
workflows: sdk.WorkflowsClient;
performance: {
queries: sdk.TableQueryPerformanceClient;
maintenance: sdk.TableMaintenanceLogClient;
sequences: sdk.TableSequenceUsageClient;
statistics: sdk.TableStatisticsClient;
};
features: {
requests: sdk.FeatureRequestsClient;
votes: sdk.FeatureVotesClient;
};
errors: sdk.ErrorLogsClient;
circuitBreaker: sdk.CircuitBreakerStatesClient;
migrations: {
strapi: sdk.StrapiMigrationsClient;
internal: sdk.StrapiMigrationsInternalClient;
};
}
interface Analytics {
spiderMetrics: sdk.SpiderMetricsClient;
metricDefinitions: sdk.MetricDefinitionsClient;
scoringWeights: sdk.ScoringWeightsClient;
sourceVisits: sdk.ContentSourceVisitsClient;
}
interface Business {
domains: sdk.BusinessDomainsClient;
categorizedUrls: sdk.CategorizedUrlsClient;
}
export interface ApiClient {
content: Content;
companies: Companies;
engagement: Engagement;
users: Users;
location: Location;
security: Security;
advertising: Advertising;
billing: Billing;
system: System;
analytics: Analytics;
business: Business;
}
export declare class ApiClient extends BaseClient implements ApiClient {
protected config: ClientConfig;
content: Content;
companies: Companies;
engagement: Engagement;
users: Users;
location: Location;
security: Security;
advertising: Advertising;
billing: Billing;
system: System;
analytics: Analytics;
business: Business;
constructor(config: ClientConfig);
}
export declare function createClient(config: ClientConfig): ApiClient;
export default createClient;