mirror of
https://github.com/gristlabs/grist-core.git
synced 2026-03-02 04:09:24 +00:00
(core) updates from grist-core
This commit is contained in:
@@ -1,6 +1,5 @@
|
||||
import {parsePermissions, permissionSetToText, splitSchemaEditPermissionSet} from 'app/common/ACLPermissions';
|
||||
import {AclRuleProblem} from 'app/common/ActiveDocAPI';
|
||||
import {ILogger} from 'app/common/BaseAPI';
|
||||
import {DocData} from 'app/common/DocData';
|
||||
import {AclMatchFunc, ParsedAclFormula, RulePart, RuleSet, UserAttributeRule} from 'app/common/GranularAccessClause';
|
||||
import {getSetMapValue, isNonNullish} from 'app/common/gutil';
|
||||
@@ -8,6 +7,8 @@ import {MetaRowRecord} from 'app/common/TableData';
|
||||
import {decodeObject} from 'app/plugin/objtypes';
|
||||
import sortBy = require('lodash/sortBy');
|
||||
|
||||
export type ILogger = Pick<Console, 'log'|'debug'|'info'|'warn'|'error'>;
|
||||
|
||||
const defaultMatchFunc: AclMatchFunc = () => true;
|
||||
|
||||
export const SPECIAL_RULES_TABLE_ID = '*SPECIAL';
|
||||
|
||||
@@ -2,13 +2,10 @@ import {ApiError, ApiErrorDetails} from 'app/common/ApiError';
|
||||
import axios, {AxiosRequestConfig, AxiosResponse} from 'axios';
|
||||
import {tbind} from './tbind';
|
||||
|
||||
export type ILogger = Pick<Console, 'log'|'debug'|'info'|'warn'|'error'>;
|
||||
|
||||
export interface IOptions {
|
||||
headers?: Record<string, string>;
|
||||
fetch?: typeof fetch;
|
||||
newFormData?: () => FormData; // constructor for FormData depends on platform.
|
||||
logger?: ILogger;
|
||||
extraParameters?: Map<string, string>; // if set, add query parameters to requests.
|
||||
}
|
||||
|
||||
@@ -54,13 +51,11 @@ export class BaseAPI {
|
||||
protected fetch: typeof fetch;
|
||||
protected newFormData: () => FormData;
|
||||
private _headers: Record<string, string>;
|
||||
private _logger: ILogger;
|
||||
private _extraParameters?: Map<string, string>;
|
||||
|
||||
constructor(options: IOptions = {}) {
|
||||
this.fetch = options.fetch || tbind(window.fetch, window);
|
||||
this.newFormData = options.newFormData || (() => new FormData());
|
||||
this._logger = options.logger || console;
|
||||
this._headers = {
|
||||
'Content-Type': 'application/json',
|
||||
'X-Requested-With': 'XMLHttpRequest',
|
||||
@@ -116,7 +111,6 @@ export class BaseAPI {
|
||||
}
|
||||
}
|
||||
const resp = await this.fetch(input, init);
|
||||
this._logger.log("Fetched", input);
|
||||
if (resp.status !== 200) {
|
||||
const body = await resp.json().catch(() => ({}));
|
||||
throwApiError(input, resp, body);
|
||||
|
||||
Reference in New Issue
Block a user