gristlabs_grist-core/app/server/lib
George Gevoian ecff88bd32 (core) Add installation/site configuration endpoints
Summary:
A new set of endpoints for managing installation and site configuration have been added:
 - GET `/api/install/configs/:key` - get the value of the configuration item with the specified key
 - PUT `/api/install/configs/:key` - set the value of the configuration item with the specified key
     - body: the JSON value of the configuration item
 - DELETE `/api/install/configs/:key` - delete the configuration item with the specified key
 - GET `/api/orgs/:oid/configs/:key` - get the value of the configuration item with the specified key
 - PUT `/api/orgs/:oid/configs/:key` - set the value of the configuration item with the specified key
     - body: the JSON value of the configuration item
 - DELETE `/api/orgs/:oid/configs/:key` - delete the configuration item with the specified key

Configuration consists of key/value pairs, where keys are strings (e.g. `"audit_logs_streaming_destinations"`) and values are JSON, including literals like numbers and strings. Only installation admins and site owners are permitted to modify installation and site configuration, respectively.

The endpoints are planned to be used in an upcoming feature for enabling audit log streaming for an installation and/or site. Future functionality may use the endpoints as well, which may require extending the current capabilities (e.g. adding support for storing secrets, additional metadata fields, etc.).

Test Plan: Server tests

Reviewers: paulfitz, jarek

Reviewed By: paulfitz, jarek

Subscribers: jarek

Differential Revision: https://phab.getgrist.com/D4377
2024-10-16 14:55:34 -04:00
..
oidc Support nonce and acr with OIDC + other improvements and tests (#883) 2024-08-08 15:35:37 -04:00
AccessTokens.ts (core) add an access token mechanism to help with attachments in custom widgets 2022-07-19 11:55:18 -04:00
ActionHistory.ts (core) Fix issue with lodash's map interpreting objects with length as array-like 2023-07-01 21:07:39 -04:00
ActionHistoryImpl.ts support other SQLite wrappers, and various hooks needed by grist-static (#516) 2023-05-23 15:17:28 -04:00
ActiveDoc.ts (core) Add remaining audit log events 2024-09-30 13:38:17 -04:00
ActiveDocImport.ts Make changes required for Desktop FS updates (#1099) 2024-09-16 21:01:58 -04:00
AppEndpoint.ts (core) Add remaining audit log events 2024-09-30 13:38:17 -04:00
AppSettings.ts add an endpoint for doing SQL selects (#641) 2023-09-04 09:21:18 -04:00
Assistance.ts Assistant: ensure that ASSISTANT_API_KEY is a real synonym for OPEN_AI_KEY 2024-10-03 09:55:40 -04:00
attachEarlyEndpoints.ts (core) Add installation/site configuration endpoints 2024-10-16 14:55:34 -04:00
AuditLogger.ts (core) Add remaining audit log events 2024-09-30 13:38:17 -04:00
Authorizer.ts (core) Add more audit logging data/events 2024-09-23 12:57:35 -04:00
BootProbes.ts check sandbox viability lazily (#1226) 2024-09-30 15:58:38 -04:00
BrowserSession.ts Support nonce and acr with OIDC + other improvements and tests (#883) 2024-08-08 15:35:37 -04:00
checksumFile.ts (core) move home server into core 2020-07-21 20:39:10 -04:00
Client.ts (core) Add more audit logging data/events 2024-09-23 12:57:35 -04:00
Comm.ts (core) Add more audit logging data/events 2024-09-23 12:57:35 -04:00
config.ts config: end the file with a newline 2024-07-30 13:41:47 -04:00
ConfigBackendAPI.ts config: new API endpoint 2024-07-30 13:41:47 -04:00
configCore.ts (core) config: rename TEST_ENABLE_ACTIVATION to GRIST_FORCE_ENABLE_ENTERPRISE 2024-08-14 14:33:06 -04:00
configCoreFileFormats-ti.ts Extracts config.json into its own module (#1061) 2024-07-08 15:40:45 +01:00
configCoreFileFormats.ts Extracts config.json into its own module (#1061) 2024-07-08 15:40:45 +01:00
configureGristAuditLogger.ts (core) Add more audit logging data/events 2024-09-23 12:57:35 -04:00
configureMinIOExternalStorage.ts Abort when MinIO bucket does not have versioning enabled #545 (#546) 2023-07-10 06:24:55 -04:00
coreCreator.ts (core) Add audit logging machinery 2024-09-12 12:13:41 -04:00
coreLogins.ts Moves core create object and core getLoginSystem to server/lib (#994) 2024-05-23 23:07:46 +01:00
dbUtils.ts (core) Fixing lock issues and reverting back to single connection. 2024-09-11 20:48:52 +02:00
DiscourseConnect.ts (core) Adding GristConnect login system 2022-05-18 20:28:25 +02:00
DocApi.ts (core) Add remaining audit log events 2024-09-30 13:38:17 -04:00
DocClients.ts (core) Exit more cleanly on unhandled errors, and handle errors writing to Clients. 2023-12-01 09:42:00 -05:00
DocManager.ts Fixes an import error when using S3/Minio with no redis (#1224) 2024-10-07 05:42:27 +01:00
DocPluginData.ts (core) move home server into core 2020-07-21 20:39:10 -04:00
DocPluginManager.ts (core) Add TSV and DSV import/export 2024-03-20 10:57:21 -04:00
DocSession.ts (core) Add more audit logging data/events 2024-09-23 12:57:35 -04:00
DocSnapshots.ts Track saved version per hour, day, week, month, year, and number of times a version with parameter (#509) 2023-05-12 11:38:29 -04:00
DocStorage.ts add an endpoint for doing SQL selects (#641) 2023-09-04 09:21:18 -04:00
DocStorageManager.ts Make changes required for Desktop FS updates (#1099) 2024-09-16 21:01:58 -04:00
docUtils.d.ts (core) move home server into core 2020-07-21 20:39:10 -04:00
docUtils.js Correct spelling mistakes 2022-02-19 09:46:49 +00:00
DocWorker.ts Move HomeDBManager to gen-server/lib/homedb (#1076) 2024-07-05 16:02:39 +02:00
DocWorkerMap.ts Shutdown Doc worker when it is not considered as available in Redis #831 (#856) 2024-04-04 10:25:42 -04:00
DocWorkerUtils.ts Introduce APP_HOME_INTERNAL_URL and fix duplicate docs (#915) 2024-05-14 12:58:41 -04:00
ExcelFormatter.ts (core) Currency from grist column is persistent when exporting to excel 2023-05-08 10:39:01 +02:00
ExpandedQuery.ts (core) When getting error details for on-demand formulas, provide an explanation 2024-08-13 12:34:08 -04:00
Export.ts (core) Adding UI for timing API 2024-05-22 14:56:53 +02:00
ExportDSV.ts (core) Add TSV and DSV import/export 2024-03-20 10:57:21 -04:00
ExportTableSchema.ts Add header=colId option for the table-schema API #719 (#749) 2023-11-17 17:45:15 +02:00
ExportXLSX.ts add hooks for tweaking how downloads happen (for grist-static) (#665) 2023-09-09 14:50:32 -04:00
expressWrap.ts (core) Update dependencies 2023-10-11 17:36:58 -04:00
ExternalStorage.ts Make changes required for Desktop FS updates (#1099) 2024-09-16 21:01:58 -04:00
extractOrg.ts Move HomeDBManager to gen-server/lib/homedb (#1076) 2024-07-05 16:02:39 +02:00
FileParserElement.ts (core) move home server into core 2020-07-21 20:39:10 -04:00
filterUtils.ts (core) uncheck FullCopy special when copying/forking a document 2021-04-29 08:56:54 -04:00
FlexServer.ts (core) Add installation/site configuration endpoints 2024-10-16 14:55:34 -04:00
ForwardAuthLogin.ts (core) Revamp ForwardAuthLogin and unify with GRIST_PROXY_AUTH_HEADER 2023-11-07 16:30:49 -05:00
GoogleAuth.ts Add ws id and doc name params to POST /docs (#655) 2023-09-05 14:27:35 -04:00
GoogleExport.ts (core) Add remaining audit log events 2024-09-30 13:38:17 -04:00
GoogleImport.ts (core) Adding DELETE /api/docs/webhooks/queue endpoint to clear the queue 2022-12-01 12:23:19 +01:00
GranularAccess.ts (core) Add more audit logging data/events 2024-09-23 12:57:35 -04:00
GristAuditLogger.ts (core) Add audit logging machinery 2024-09-12 12:13:41 -04:00
GristJobs.ts (core) Fix scrollbar in code view 2024-09-30 12:04:00 -04:00
GristServer.ts check sandbox viability lazily (#1226) 2024-09-30 15:58:38 -04:00
GristServerSocket.ts Support HTTP long polling as an alternative to WebSockets (#859) 2024-03-28 13:22:20 -04:00
gristSessions.ts Improve session ID security (#1059) 2024-06-25 15:43:25 -04:00
gristSettings.ts (core) Update onboarding flow 2024-07-23 11:49:23 -04:00
GristSocketServer.ts (core) Fix unhandledRejection caused by exception from verifyClient. 2024-08-15 17:32:44 -04:00
guessExt.ts (core) Switch excel import parsing from messytables+xlrd to openpyxl, and ignore empty rows 2022-05-12 14:43:21 +02:00
hashingUtils.ts (core) Add Support Grist page and nudge 2023-07-04 17:36:59 -04:00
HashUtil.ts (core) add more detail to /compare endpoint 2020-09-18 16:31:29 -04:00
HostedMetadataManager.ts Fixes an import error when using S3/Minio with no redis (#1224) 2024-10-07 05:42:27 +01:00
HostedStorageManager.ts (core) Rename popup for group by columns 2024-10-09 11:46:26 +02:00
HTTPAuditLogger.ts (core) Add more audit logging data/events 2024-09-23 12:57:35 -04:00
httpEncoding.ts (core) External requests 2022-06-17 21:53:20 +02:00
IBilling.ts (core) Add basic activation page to grist-ee 2022-08-23 10:30:52 -07:00
IChecksumStore.ts (core) revamp snapshot inventory 2020-10-30 13:52:46 -04:00
ICreate.ts (core) Add more audit logging data/events 2024-09-23 12:57:35 -04:00
IDocStorageManager.ts (core) Updating paths after core changed 2024-07-09 12:19:25 +02:00
idUtils.ts (core) Persist forks in home db 2023-02-20 22:46:36 -05:00
IElectionStore.ts (core) move some material to core that slipped through in a rebase 2020-07-23 11:29:05 -04:00
initialDocSql.ts (core) Adding backend for 2-way references 2024-09-11 22:31:36 +02:00
INotifier.ts (core) Adding a flag for the UI to check if emails are enabled 2024-04-03 09:50:17 +02:00
InstallAdmin.ts (core) Allowing installation admins to manage billing. 2024-09-11 23:06:47 +02:00
ISandbox.ts (core) Improve behavior to update current time, to allow inactive docs to shut down, and reduce spurious errors. 2024-08-29 01:22:57 -04:00
IShell.ts (core) dust off electron build a little bit 2022-07-29 11:19:26 -04:00
ITestingHooks-ti.ts Introduce APP_HOME_INTERNAL_URL and fix duplicate docs (#915) 2024-05-14 12:58:41 -04:00
ITestingHooks.ts Introduce APP_HOME_INTERNAL_URL and fix duplicate docs (#915) 2024-05-14 12:58:41 -04:00
log.ts fix log.add under electron (#478) 2023-04-03 13:29:35 -04:00
LogMethods.ts (core) Faster builds all around. 2022-07-04 10:42:40 -04:00
manifest.ts (core) support for bundling custom widgets with the Grist app 2023-10-27 17:00:10 -04:00
MemoryPool.ts (core) Manage memory used for websocket responses to reduce the risk of server crashes. 2023-08-07 11:28:31 -04:00
MinimalLogin.ts A set of tweaks to simplify electron packaging (#421) 2023-02-13 15:52:17 -05:00
MinIOExternalStorage.ts Bump minio to v8.0.0 (#991) 2024-06-03 15:20:10 +00:00
NSandbox.ts (core) Improve behavior to update current time, to allow inactive docs to shut down, and reduce spurious errors. 2024-08-29 01:22:57 -04:00
NullSandbox.ts (core) Improve behavior to update current time, to allow inactive docs to shut down, and reduce spurious errors. 2024-08-29 01:22:57 -04:00
OIDCConfig.ts OIDC: allow configuring the request timeout (#1177) 2024-09-03 17:10:18 -04:00
OnDemandActions.ts (core) Adds a UI panel for managing webhooks 2023-05-08 18:25:27 -04:00
PermissionInfo.ts (core) Support user variable in dropdown conditions 2024-06-04 06:56:55 -07:00
Permit.ts (core) Add new Grist login page 2022-04-01 15:24:19 -07:00
places.ts Extracts config.json into its own module (#1061) 2024-07-08 15:40:45 +01:00
PluginEndpoint.ts include the @gristlabs/grist-widget package, so Calendar is always available (#745) 2023-11-28 09:28:15 -05:00
PluginManager.ts include the @gristlabs/grist-widget package, so Calendar is always available (#745) 2023-11-28 09:28:15 -05:00
ProcessMonitor.ts (core) Add new telemetry events 2023-11-01 10:49:33 -04:00
ProxyAgent.ts (core) Add logging of errors whenever ProxyAgent is used, and a test for it. 2023-05-17 10:21:53 -04:00
reportTimeTaken.ts (core) Faster builds all around. 2022-07-04 10:42:40 -04:00
Requests.ts REQUEST now supports POST (#588) 2023-07-30 15:13:43 -04:00
requestUtils.ts (core) Add installation/site configuration endpoints 2024-10-16 14:55:34 -04:00
RowAccess.ts (core) control the distribution of attachment metadata 2022-12-22 09:10:30 -05:00
SafePythonComponent.ts (core) Run and test imports only in Python 3, upgrade openpyxl, fix weird date handling 2022-09-02 16:27:34 +02:00
SamlConfig.ts (core) Fix delete user button for Google-only accounts 2023-10-18 10:52:58 -04:00
SandboxControl.ts (core) Update dependencies 2023-10-11 17:36:58 -04:00
sandboxUtil.ts (core) Update logging in sandbox code, and log tracebacks as single log messages. 2023-07-18 11:21:25 -04:00
sendAppPage.ts Assistant: ensure that ASSISTANT_API_KEY is a real synonym for OPEN_AI_KEY 2024-10-03 09:55:40 -04:00
ServerColumnGetters.ts (core) Adding UI for timing API 2024-05-22 14:56:53 +02:00
ServerLocale.ts (core) Converting server-side Comm.js to typescript 2022-06-07 15:47:17 -04:00
serverUtils.ts (core) Add more audit logging data/events 2024-09-23 12:57:35 -04:00
Sessions.ts (core) Converting server-side Comm.js to typescript 2022-06-07 15:47:17 -04:00
sessionUtils.ts (core) Add more audit logging data/events 2024-09-23 12:57:35 -04:00
Sharing.ts (core) updates from grist-core 2024-01-08 09:19:50 -05:00
shortDesc.ts (core) move home server into core 2020-07-21 20:39:10 -04:00
shutdown.js Don't require running docker with --init to stop with ^C (#892) 2024-03-18 09:49:42 -04:00
SqliteCommon.ts add an endpoint for doing SQL selects (#641) 2023-09-04 09:21:18 -04:00
SQLiteDB.ts add an endpoint for doing SQL selects (#641) 2023-09-04 09:21:18 -04:00
SqliteNode.ts add an endpoint for doing SQL selects (#641) 2023-09-04 09:21:18 -04:00
TableMetadataLoader.ts (core) Improve API Console and link from Document Settings. 2024-01-29 10:08:19 -05:00
TagChecker.ts (core) move home server into core 2020-07-21 20:39:10 -04:00
Telemetry.ts (core) Add more audit logging data/events 2024-09-23 12:57:35 -04:00
TestingHooks.ts Introduce APP_HOME_INTERNAL_URL and fix duplicate docs (#915) 2024-05-14 12:58:41 -04:00
TestLogin.ts Add tests for UsersManager (#1149) 2024-09-05 16:30:04 -04:00
Throttle.ts (core) Fix bugs with intervals 2022-08-25 12:38:36 -07:00
TimeQuery.ts (core) Adds a UI panel for managing webhooks 2023-05-08 18:25:27 -04:00
Triggers.ts (core) Add remaining audit log events 2024-09-30 13:38:17 -04:00
UnsafeNodeComponent.ts (core) Faster builds all around. 2022-07-04 10:42:40 -04:00
UpdateManager.ts (core) Enabling telemetry on /api/version endpoint 2024-06-27 12:05:15 +02:00
uploads.ts Introduce APP_HOME_INTERNAL_URL and fix duplicate docs (#915) 2024-05-14 12:58:41 -04:00
WidgetRepository.ts Fetch Url Widget Repository behind corporate proxy (#1238) (#1239) 2024-10-03 19:15:20 -04:00
WorkCoordinator.ts support other SQLite wrappers, and various hooks needed by grist-static (#516) 2023-05-23 15:17:28 -04:00
workerExporter.ts Option to export colId as header in CSV / XSLX instead of label (#688) (#692) 2023-10-15 20:17:43 -04:00