UNPKG

@xmobitea/gn-server

Version:

GearN Server by XmobiTea (Pro)

64 lines (63 loc) 2.41 kB
import { ExecuteResult, ICloudScriptService } from "./ICloudScriptService"; import * as mongoDB from "mongodb"; import { GNServerSettingsOptions } from "@xmobitea/gn-typescript-client"; import { GNServer } from "./../../GNServer"; interface DbConnection { url: string; dbName: string; logUrl: string; logDbName: string; options?: { [k: string]: any; }; } export declare class CloudScriptService implements ICloudScriptService { private cloudScriptWorkerDict; private cloudScriptWaitingResponseCallbackDict; private latestVersion; private liveLatestVersion; private cloudScriptFunctionCollection; private cloudScriptFunctionLogCollection; private gnServer; private gnServerSettingsOptions; private dbConnection; private gameId; private executeTimeoutInMs; private cloudScriptFunctions; constructor(); init(gameId: string, gnServerSettingsOptions: GNServerSettingsOptions, dbConnection: DbConnection, gnServer: GNServer, executeTimeoutInMs: number): void; setCloudScriptFunctionCollection(cloudScriptFunctionCollection: mongoDB.Collection<mongoDB.Document>): void; setCloudScriptFunctionLogCollection(cloudScriptFunctionLogCollection: mongoDB.Collection<mongoDB.Document>): void; run(): void; private loadVersion; executeCloudScriptFunction(userId: string, functionName: string, functionParameters: object, version: string, customTags: { [k: string]: any; }): Promise<ExecuteResult>; addCloudScriptFunction(script: string, isLive: boolean, canExecute: boolean): Promise<{ success: boolean; errorMessage?: string; version?: string; }>; private remoteAddCloudScriptFunction; private remoteEditCloudScriptFunction; editCloudScriptFunction(version: string, isLive: boolean, canExecute: boolean): Promise<{ success: boolean; errorMessage?: string; }>; getCloudScriptFunctions(): Array<{ version: string; canExecute: boolean; }>; getCloudScriptFunction(version: string): Promise<{ script: string; canExecute: boolean; isLive: boolean; tsCreate: number; }>; getLatestVersion(): string; getLiveLatestVersion(): string; private loadCloudScriptFunctionWorkerFromCache; private loadCloudScriptFunctionWorker; private loadCloudScriptWorker; } export {};