2020-07-21 13:20:51 +00:00
|
|
|
import { HomeDBManager } from 'app/gen-server/lib/HomeDBManager';
|
|
|
|
import { ActiveDoc } from 'app/server/lib/ActiveDoc';
|
|
|
|
import { ScopedSession } from 'app/server/lib/BrowserSession';
|
|
|
|
import * as Comm from 'app/server/lib/Comm';
|
|
|
|
import { DocManager } from 'app/server/lib/DocManager';
|
|
|
|
import { ExternalStorage } from 'app/server/lib/ExternalStorage';
|
|
|
|
import { GristServer } from 'app/server/lib/GristServer';
|
|
|
|
import { IBilling } from 'app/server/lib/IBilling';
|
|
|
|
import { IDocStorageManager } from 'app/server/lib/IDocStorageManager';
|
|
|
|
import { IInstanceManager } from 'app/server/lib/IInstanceManager';
|
|
|
|
import { ILoginSession } from 'app/server/lib/ILoginSession';
|
|
|
|
import { INotifier } from 'app/server/lib/INotifier';
|
|
|
|
import { ISandbox, ISandboxCreationOptions } from 'app/server/lib/ISandbox';
|
|
|
|
import { IShell } from 'app/server/lib/IShell';
|
|
|
|
import { PluginManager } from 'app/server/lib/PluginManager';
|
|
|
|
|
|
|
|
export interface ICreate {
|
|
|
|
LoginSession(comm: Comm, sid: string, domain: string, scopeSession: ScopedSession,
|
|
|
|
instanceManager: IInstanceManager|null): ILoginSession;
|
|
|
|
Billing(dbManager: HomeDBManager): IBilling;
|
2021-03-18 22:40:02 +00:00
|
|
|
Notifier(dbManager: HomeDBManager, gristConfig: GristServer): INotifier;
|
2020-07-21 13:20:51 +00:00
|
|
|
Shell(): IShell|undefined;
|
2020-10-30 16:53:23 +00:00
|
|
|
|
|
|
|
// Create a space to store files externally, for storing either:
|
|
|
|
// - documents. This store should be versioned, and can be eventually consistent.
|
|
|
|
// - meta. This store need not be versioned, and can be eventually consistent.
|
|
|
|
// For test purposes an extra prefix may be supplied. Stores with different prefixes
|
|
|
|
// should not interfere with each other.
|
|
|
|
ExternalStorage(purpose: 'doc' | 'meta', testExtraPrefix: string): ExternalStorage|undefined;
|
|
|
|
|
2021-03-18 22:40:02 +00:00
|
|
|
ActiveDoc(docManager: DocManager, docName: string, options: ICreateActiveDocOptions): ActiveDoc;
|
2020-07-21 13:20:51 +00:00
|
|
|
DocManager(storageManager: IDocStorageManager, pluginManager: PluginManager,
|
|
|
|
homeDbManager: HomeDBManager|null, gristServer: GristServer): DocManager;
|
|
|
|
NSandbox(options: ISandboxCreationOptions): ISandbox;
|
|
|
|
|
|
|
|
sessionSecret(): string;
|
2020-10-30 16:53:23 +00:00
|
|
|
// Get configuration information to show at start-up.
|
|
|
|
configurationOptions(): {[key: string]: any};
|
2020-07-21 13:20:51 +00:00
|
|
|
}
|
2021-03-18 22:40:02 +00:00
|
|
|
|
|
|
|
export interface ICreateActiveDocOptions {
|
|
|
|
safeMode?: boolean;
|
|
|
|
docUrl?: string;
|
|
|
|
}
|