gristlabs_grist-core/app/server/lib
Dmitry S de35be6b0a (core) Checks that an ACL formula can be parsed, and prevent saving unparsable ACL rules.
Summary:
- Fix error-handling in bundleActions(), and wait for the full bundle to complete.
  (The omissions here were making it impossibly to react to errors from inside bundleActions())
- Catch problematic rules early enough to undo them, by trying out ruleCollection.update()
  on updated rules before the updates are applied.
- Added checkAclFormula() call to DocComm that checks parsing and compiling
  formula, and reports errors.
- In UI, prevent saving if any aclFormulas are invalid, or while waiting for the to get checked.

- Also fixed some lint errors

Test Plan: Added a test case of error reporting in ACL formulas.

Reviewers: paulfitz

Reviewed By: paulfitz

Differential Revision: https://phab.getgrist.com/D2689
2020-12-15 09:43:37 -05:00
..
ACLFormula.ts (core) Implement new representation of ACL rules. 2020-11-18 08:58:03 -05:00
ActionHistory.ts (core) Store formula values in DB, and include them into .stored/.undo fields of actions. 2020-11-04 16:45:47 -05:00
ActionHistoryImpl.ts (core) When parsing ActionHistory into ActionGroups, avoid keeping many large actions in memory. 2020-09-19 20:45:33 -04:00
ActionSummary.ts (core) tolerate table renames when displaying differences 2020-11-12 10:55:15 -05:00
ActiveDoc.ts (core) Checks that an ACL formula can be parsed, and prevent saving unparsable ACL rules. 2020-12-15 09:43:37 -05:00
ActiveDocImport.ts
AppEndpoint.ts (core) back-end support for tables that are accessible only by owners 2020-09-14 18:05:27 -04:00
Authorizer.ts (core) revamp user attribute handling 2020-12-11 15:15:35 -05:00
BrowserSession.ts (core) revamp user attribute handling 2020-12-11 15:15:35 -05:00
checksumFile.ts
Client.ts
Comm.js (core) revamp user attribute handling 2020-12-11 15:15:35 -05:00
dbUtils.ts
DocApi.ts (core) implement a safe mode for opening documents with rule problems 2020-12-14 13:04:13 -05:00
DocClients.ts (core) implement cleaner row-level access control for outgoing messages 2020-11-30 16:28:33 -05:00
DocManager.ts (core) implement a safe mode for opening documents with rule problems 2020-12-14 13:04:13 -05:00
DocPluginData.ts
DocPluginManager.ts (core) make user role available in ActiveDoc methods 2020-09-02 14:46:15 -04:00
DocSession.ts (core) check row-level permissions on incoming actions 2020-12-07 16:59:28 -05:00
DocSnapshots.ts (core) fix sync to s3 when doc is marked as dirty but proves to be clean 2020-11-10 08:12:31 -05:00
DocStorage.ts (core) Perform migrations of Grist schema using only metadata tables when possible. 2020-11-11 19:21:40 -05:00
DocStorageManager.ts (core) revamp snapshot inventory 2020-10-30 13:52:46 -04:00
docUtils.d.ts
docUtils.js
DocWorker.ts (core) Checks that an ACL formula can be parsed, and prevent saving unparsable ACL rules. 2020-12-15 09:43:37 -05:00
DocWorkerMap.ts (core) support GRIST_WORKER_GROUP to place worker into an exclusive group 2020-11-02 15:46:46 -05:00
ExpandedQuery.ts (core) Store formula values in DB, and include them into .stored/.undo fields of actions. 2020-11-04 16:45:47 -05:00
expressWrap.ts
ExternalStorage.ts (core) fix sync to s3 when doc is marked as dirty but proves to be clean 2020-11-10 08:12:31 -05:00
extractOrg.ts
FileParserElement.ts
FlexServer.ts (core) support GRIST_WORKER_GROUP to place worker into an exclusive group 2020-11-02 15:46:46 -05:00
GranularAccess.ts (core) Checks that an ACL formula can be parsed, and prevent saving unparsable ACL rules. 2020-12-15 09:43:37 -05:00
GristServer.ts
gristSessions.ts (core) support GRIST_WORKER_GROUP to place worker into an exclusive group 2020-11-02 15:46:46 -05:00
guessExt.ts
HashUtil.ts (core) add more detail to /compare endpoint 2020-09-18 16:31:29 -04:00
HostedMetadataManager.ts (core) revamp snapshot inventory 2020-10-30 13:52:46 -04:00
HostedStorageManager.ts (core) fix sync to s3 when doc is marked as dirty but proves to be clean 2020-11-10 08:12:31 -05:00
IBilling.ts
IChecksumStore.ts (core) revamp snapshot inventory 2020-10-30 13:52:46 -04:00
ICreate.ts (core) implement a safe mode for opening documents with rule problems 2020-12-14 13:04:13 -05:00
IDocStorageManager.ts (core) revamp snapshot inventory 2020-10-30 13:52:46 -04:00
idUtils.ts
IElectionStore.ts (core) move some material to core that slipped through in a rebase 2020-07-23 11:29:05 -04:00
IInstanceManager.ts
ILoginSession.ts (core) move client code to core 2020-10-02 13:24:21 -04:00
INotifier.ts
ISandbox.ts
IShell.ts
ITestingHooks-ti.ts
ITestingHooks.ts
log.ts (core) give instructions on using Grist with docker 2020-10-28 13:59:13 -04:00
manifest.ts
NSandbox.ts (core) move data engine code to core 2020-07-29 08:57:25 -04:00
OnDemandActions.ts
Permit.ts (core) move some material to core that slipped through in a rebase 2020-07-23 11:29:05 -04:00
places.ts
PluginEndpoint.ts
PluginManager.ts
requestUtils.ts (core) switch to newer download endpoint in client 2020-10-19 12:44:03 -04:00
RowAccess.ts (core) Implement much of the general AccessRules UI. 2020-12-07 14:48:41 -05:00
SafePythonComponent.ts
sandboxUtil.js
sendAppPage.ts
ServerColumnGetters.ts
serverUtils.ts
Sessions.ts (core) revamp user attribute handling 2020-12-11 15:15:35 -05:00
Sharing.ts (core) Checks that an ACL formula can be parsed, and prevent saving unparsable ACL rules. 2020-12-15 09:43:37 -05:00
shortDesc.ts
shutdown.js
SQLiteDB.ts (core) revamp snapshot inventory 2020-10-30 13:52:46 -04:00
TagChecker.ts
TestingHooks.ts
Throttle.ts
TimeQuery.ts
UnsafeNodeComponent.ts
uploads.ts (core) mitigate csrf by requiring custom header for unsafe methods 2020-10-08 14:19:25 -04:00
WorkCoordinator.ts