realm-object-server
Version:
95 lines (94 loc) • 3.07 kB
TypeScript
import { Server } from "../Server";
import * as stats from "../stats";
import { ConfigurableServiceBase, ConfigurableServiceConfig } from "./ConfigurableServiceBase";
export interface GraphQLServiceConfig extends ConfigurableServiceConfig {
schemaCacheSettings?: SchemaCacheSettings | "NoCache";
disableAuthentication?: boolean;
disableExplorer?: boolean;
realmCacheMaxAge?: number;
forceExplorerSSL?: boolean;
includeCountInResponses?: boolean;
presentIntsAsFloatsInSchema?: boolean;
collectionModelSuffix?: string;
inputModelSuffix?: string;
namedSubscriptionModelName?: string;
base64ModelName?: string;
allRealmTypesModelName?: string;
dateModelName?: string;
updatePolicyModelName?: string;
}
export interface SchemaCacheSettings {
max?: number;
maxAge?: number;
}
export declare class GraphQLService extends ConfigurableServiceBase<GraphQLServiceConfig> {
private schemaCache;
private disableAuthentication;
private realmCacheTTL;
private disableExplorer;
private schemaHandlers;
private forceExplorerSSL;
private includeCountInResponses;
private presentIntsAsFloatsInSchema;
private collectionModelSuffix;
private inputModelSuffix;
private namedSubscriptionModelName;
private base64Type;
private dateType;
private allRealmTypesName;
private updatePolicyModelName;
private subscriptionServer;
private handler;
private graphiql;
private pubsub;
private querySubscriptions;
private adminRealm;
stats: stats.StatsSink;
private metrics;
private linkingObjectsResolver;
constructor(config?: GraphQLServiceConfig);
protected setConfigCore(config: GraphQLServiceConfig): void;
protected startCore(server: Server): Promise<void>;
protected stopCore(): Promise<void>;
private subscriptionHandler;
private getExplore;
private postExplore;
private get;
private post;
private deleteSchema;
private getPath;
private authenticateRequest;
private authenticate;
private validateAccess;
private closeRealm;
private validateRead;
private validateWrite;
private getSchema;
private setupGetAllObjects;
private setupAddObject;
private setupUpdateObject;
private setupDiffUpdateObject;
private setupCreateObject;
private setupCreateObjects;
private setupSubscribeToQuery;
private setupGetObjectByPK;
private setupDeleteObject;
private setupDeleteObjects;
private setupCreatePartialSubscription;
private subscriptionObjectNameRegex;
private setupListPartialSubscriptions;
private setupDeletePartialSubscription;
private createObjects;
private getPropertySchema;
private getTypeString;
private getPrimitiveTypeString;
private isPrimitiveType;
private getCollectionType;
private getCollectionResponse;
private resolveLinkingObjectsTypeArgument;
private camelcase;
private pluralize;
private isReserved;
private openRealm;
private getSchemaHandler;
}