(core) fix invite links and add tests with APP_HOME_URL set

Summary:
Invite links broke when some base domain plumbing changed.
This fix updates them to be aware of the base domain,
and tests the Notifier class with APP_HOME_URL set to
make sure the environment variable has the expected effect.

Test Plan: added test, updated tests

Reviewers: dsagal

Reviewed By: dsagal

Differential Revision: https://phab.getgrist.com/D2630
pull/6/head
Paul Fitzpatrick 4 years ago
parent 2d023377ce
commit 8dbcbba6b5

@ -40,7 +40,7 @@ import {addPluginEndpoints, limitToPlugins} from 'app/server/lib/PluginEndpoint'
import {PluginManager} from 'app/server/lib/PluginManager'; import {PluginManager} from 'app/server/lib/PluginManager';
import {adaptServerUrl, addOrgToPathIfNeeded, addPermit, getScope, optStringParam, RequestWithGristInfo, stringParam, import {adaptServerUrl, addOrgToPathIfNeeded, addPermit, getScope, optStringParam, RequestWithGristInfo, stringParam,
TEST_HTTPS_OFFSET, trustOrigin} from 'app/server/lib/requestUtils'; TEST_HTTPS_OFFSET, trustOrigin} from 'app/server/lib/requestUtils';
import {ISendAppPageOptions, makeSendAppPage} from 'app/server/lib/sendAppPage'; import {ISendAppPageOptions, makeSendAppPage, makeGristConfig} from 'app/server/lib/sendAppPage';
import {getDatabaseUrl} from 'app/server/lib/serverUtils'; import {getDatabaseUrl} from 'app/server/lib/serverUtils';
import {Sessions} from 'app/server/lib/Sessions'; import {Sessions} from 'app/server/lib/Sessions';
import * as shutdown from 'app/server/lib/shutdown'; import * as shutdown from 'app/server/lib/shutdown';
@ -1031,7 +1031,8 @@ export class FlexServer implements GristServer {
// and all that is needed is a refactor to pass that info along. But there is also the // and all that is needed is a refactor to pass that info along. But there is also the
// case of notification(s) from stripe. May need to associate a preferred base domain // case of notification(s) from stripe. May need to associate a preferred base domain
// with org/user and persist that? // with org/user and persist that?
this.notifier = this.create.Notifier(this.dbManager, this.getDefaultHomeUrl()); const gristConfig = makeGristConfig(this.getDefaultHomeUrl(), {}, this._defaultBaseDomain);
this.notifier = this.create.Notifier(this.dbManager, gristConfig);
} }
public addUsage() { public addUsage() {

@ -1,3 +1,4 @@
import { GristLoadConfig } from 'app/common/gristUrls';
import { HomeDBManager } from 'app/gen-server/lib/HomeDBManager'; import { HomeDBManager } from 'app/gen-server/lib/HomeDBManager';
import { ActiveDoc } from 'app/server/lib/ActiveDoc'; import { ActiveDoc } from 'app/server/lib/ActiveDoc';
import { ScopedSession } from 'app/server/lib/BrowserSession'; import { ScopedSession } from 'app/server/lib/BrowserSession';
@ -18,7 +19,7 @@ export interface ICreate {
LoginSession(comm: Comm, sid: string, domain: string, scopeSession: ScopedSession, LoginSession(comm: Comm, sid: string, domain: string, scopeSession: ScopedSession,
instanceManager: IInstanceManager|null): ILoginSession; instanceManager: IInstanceManager|null): ILoginSession;
Billing(dbManager: HomeDBManager): IBilling; Billing(dbManager: HomeDBManager): IBilling;
Notifier(dbManager: HomeDBManager, homeUrl: string): INotifier; Notifier(dbManager: HomeDBManager, gristConfig: GristLoadConfig): INotifier;
Shell(): IShell|undefined; Shell(): IShell|undefined;
ExternalStorage(bucket: string, prefix: string): ExternalStorage|undefined; ExternalStorage(bucket: string, prefix: string): ExternalStorage|undefined;
ActiveDoc(docManager: DocManager, docName: string): ActiveDoc; ActiveDoc(docManager: DocManager, docName: string): ActiveDoc;

@ -19,7 +19,7 @@ export const create: ICreate = {
addWebhooks(app: any) { /* do nothing */ } addWebhooks(app: any) { /* do nothing */ }
}; };
}, },
Notifier(dbManager: HomeDBManager, homeUrl: string) { Notifier() {
return { return {
get testPending() { return false; } get testPending() { return false; }
}; };

Loading…
Cancel
Save