mirror of
https://github.com/gristlabs/grist-core.git
synced 2026-03-02 04:09:24 +00:00
(core) make user role available in ActiveDoc methods
Summary: This makes the user's role (owner/editor/viewer) available in ActiveDoc methods. No use of that information is made yet, other than to log it. The bulk of the diff is getting a handle on the various ways the methods can be called, and systematizing it a bit more. In passing, access control is added to broadcasts of document changes, so users who no longer have access to a document do not receive changes if they still have the document open. Test Plan: existing tests pass; test for broadcast access control added Reviewers: dsagal Reviewed By: dsagal Differential Revision: https://phab.getgrist.com/D2599
This commit is contained in:
@@ -10,6 +10,7 @@ import {GristDocAPI} from "app/plugin/GristAPI";
|
||||
import {Storage} from 'app/plugin/StorageAPI';
|
||||
import {ActiveDoc} from 'app/server/lib/ActiveDoc';
|
||||
import {DocPluginData} from 'app/server/lib/DocPluginData';
|
||||
import {makeExceptionalDocSession} from 'app/server/lib/DocSession';
|
||||
import {FileParserElement} from 'app/server/lib/FileParserElement';
|
||||
import {GristServer} from 'app/server/lib/GristServer';
|
||||
import * as log from 'app/server/lib/log';
|
||||
@@ -38,11 +39,12 @@ class GristDocAPIImpl implements GristDocAPI {
|
||||
}
|
||||
|
||||
public async fetchTable(tableId: string): Promise<TableColValues> {
|
||||
return fromTableDataAction(await this._activeDoc.fetchTable(null, tableId));
|
||||
return fromTableDataAction(await this._activeDoc.fetchTable(
|
||||
makeExceptionalDocSession('plugin'), tableId));
|
||||
}
|
||||
|
||||
public applyUserActions(actions: any[][]): Promise<ApplyUAResult> {
|
||||
return this._activeDoc.applyUserActions({client: null}, actions);
|
||||
return this._activeDoc.applyUserActions(makeExceptionalDocSession('plugin'), actions);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user