mirror of
https://github.com/gristlabs/grist-core.git
synced 2024-10-27 20:44:07 +00:00
Summary: This adds appsumo /token and /notification endpoints, with some tests. The stub implementation is sufficient for AppSumo activation to succeed (when exposed via port forwarding for testing). It needs fleshing out: * Implement upgrade/downgrade/refund and stripe subscription. * Implement custom landing page and flow. Test Plan: added tests Reviewers: dsagal, georgegevoian Reviewed By: dsagal Subscribers: alexmojaki Differential Revision: https://phab.getgrist.com/D2864
45 lines
2.2 KiB
TypeScript
45 lines
2.2 KiB
TypeScript
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, gristConfig: GristServer): IBilling;
|
|
Notifier(dbManager: HomeDBManager, gristConfig: GristServer): INotifier;
|
|
Shell(): IShell|undefined;
|
|
|
|
// 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;
|
|
|
|
ActiveDoc(docManager: DocManager, docName: string, options: ICreateActiveDocOptions): ActiveDoc;
|
|
DocManager(storageManager: IDocStorageManager, pluginManager: PluginManager,
|
|
homeDbManager: HomeDBManager|null, gristServer: GristServer): DocManager;
|
|
NSandbox(options: ISandboxCreationOptions): ISandbox;
|
|
|
|
sessionSecret(): string;
|
|
// Get configuration information to show at start-up.
|
|
configurationOptions(): {[key: string]: any};
|
|
}
|
|
|
|
export interface ICreateActiveDocOptions {
|
|
safeMode?: boolean;
|
|
docUrl?: string;
|
|
}
|