mirror of
https://github.com/gristlabs/grist-core.git
synced 2024-10-27 20:44:07 +00:00
64 lines
1.6 KiB
TypeScript
64 lines
1.6 KiB
TypeScript
|
import {BasketClientAPI} from 'app/common/BasketClientAPI';
|
||
|
import {DocListAPI} from 'app/common/DocListAPI';
|
||
|
import {LoginSessionAPI} from 'app/common/LoginSessionAPI';
|
||
|
import {EmailResult, Invite} from 'app/common/sharing';
|
||
|
import {UserConfig} from 'app/common/UserConfig';
|
||
|
|
||
|
export interface GristServerAPI extends
|
||
|
DocListAPI,
|
||
|
LoginSessionAPI,
|
||
|
BasketClientAPI,
|
||
|
UserAPI,
|
||
|
SharingAPI,
|
||
|
MiscAPI {}
|
||
|
|
||
|
|
||
|
interface UserAPI {
|
||
|
/**
|
||
|
* Gets the Grist configuration from the server.
|
||
|
*/
|
||
|
getConfig(): Promise<UserConfig>;
|
||
|
|
||
|
/**
|
||
|
* Updates the user configuration and saves it to the server.
|
||
|
* @param {Object} config - Configuration object to save.
|
||
|
* @returns {Promise:Object} Configuration object as persisted by the server. You can use it to
|
||
|
* validate the configuration.
|
||
|
*/
|
||
|
updateConfig(config: UserConfig): Promise<UserConfig>;
|
||
|
|
||
|
/**
|
||
|
* Re-load plugins.
|
||
|
*/
|
||
|
reloadPlugins(): Promise<void>;
|
||
|
}
|
||
|
|
||
|
interface SharingAPI {
|
||
|
/**
|
||
|
* Looks up a user account by email, return an object with basic user profile information.
|
||
|
*/
|
||
|
lookupEmail(email: string): Promise<EmailResult|null>;
|
||
|
|
||
|
/**
|
||
|
* Fetches and saves invites from the hub which are not already present locally.
|
||
|
* Returns the new invites from the hub only.
|
||
|
*/
|
||
|
getNewInvites(): Promise<Invite[]>;
|
||
|
|
||
|
/**
|
||
|
* Fetches local invites and marks them all as read.
|
||
|
*/
|
||
|
getLocalInvites(): Promise<Invite[]>;
|
||
|
|
||
|
/**
|
||
|
* Marks the stored local invite belonging to the calling instance as ignored.
|
||
|
* Called when the user declines an invite.
|
||
|
*/
|
||
|
ignoreLocalInvite(docId: string): Promise<void>;
|
||
|
|
||
|
}
|
||
|
|
||
|
interface MiscAPI {
|
||
|
showItemInFolder(docName: string): Promise<void>;
|
||
|
}
|