2023-12-26 13:41:19 +00:00
|
|
|
import {SendGridConfig, SendGridMail} from 'app/gen-server/lib/NotifierTypes';
|
|
|
|
|
2020-07-21 13:20:51 +00:00
|
|
|
export interface INotifier {
|
|
|
|
// for test purposes, check if any notifications are in progress
|
|
|
|
readonly testPending: boolean;
|
(core) Speed up and upgrade build.
Summary:
- Upgrades to build-related packages:
- Upgrade typescript, related libraries and typings.
- Upgrade webpack, eslint; add tsc-watch, node-dev, eslint_d.
- Build organization changes:
- Build webpack from original typescript, transpiling only; with errors still
reported by a background tsc watching process.
- Typescript-related changes:
- Reduce imports of AWS dependencies (very noticeable speedup)
- Avoid auto-loading global @types
- Client code is now built with isolatedModules flag (for safe transpilation)
- Use allowJs to avoid copying JS files manually.
- Linting changes
- Enhance Arcanist ESLintLinter to run before/after commands, and set up to use eslint_d
- Update eslint config, and include .eslintignore to avoid linting generated files.
- Include a bunch of eslint-prompted and eslint-generated fixes
- Add no-unused-expression rule to eslint, and fix a few warnings about it
- Other items:
- Refactor cssInput to avoid circular dependency
- Remove a bit of unused code, libraries, dependencies
Test Plan: No behavior changes, all existing tests pass. There are 30 tests fewer reported because `test_gpath.py` was removed (it's been unused for years)
Reviewers: paulfitz
Reviewed By: paulfitz
Subscribers: paulfitz
Differential Revision: https://phab.getgrist.com/D3498
2022-06-27 20:09:41 +00:00
|
|
|
|
|
|
|
deleteUser(userId: number): Promise<void>;
|
2023-12-26 13:41:19 +00:00
|
|
|
|
|
|
|
// Intercept outgoing messages for test purposes.
|
|
|
|
// Return undefined if no notification system is available.
|
|
|
|
testSetSendMessageCallback(op: (body: SendGridMail, description: string) => Promise<void>): SendGridConfig|undefined;
|
2020-07-21 13:20:51 +00:00
|
|
|
}
|
2024-04-02 11:22:58 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* A notifier that does nothing. Used when no email notifications are configured.
|
|
|
|
*/
|
|
|
|
export const EmptyNotifier: INotifier = {
|
|
|
|
get testPending() { return false; },
|
|
|
|
async deleteUser() { /* do nothing */ },
|
|
|
|
testSetSendMessageCallback() { return undefined; },
|
|
|
|
} as const;
|