mirror of
https://github.com/gristlabs/grist-core.git
synced 2024-10-27 20:44:07 +00:00
9628253fd8
Summary: There is a new column in users table called ref (user reference). It holds user's unique reference number that can be used for features that require some kind of ownership logic (like comments). Test Plan: Updated tests Reviewers: georgegevoian, paulfitz Reviewed By: georgegevoian, paulfitz Differential Revision: https://phab.getgrist.com/D3641
31 lines
1.2 KiB
TypeScript
31 lines
1.2 KiB
TypeScript
// User profile info for the user. When using Cognito, it is fetched during login.
|
|
export interface UserProfile {
|
|
email: string;
|
|
name: string;
|
|
picture?: string|null; // when present, a url to a public image of unspecified dimensions.
|
|
anonymous?: boolean; // when present, asserts whether user is anonymous (not authorized).
|
|
connectId?: string|null, // used by GristConnect to identify user in external provider.
|
|
loginMethod?: 'Google'|'Email + Password'|'External';
|
|
}
|
|
|
|
// User profile including user id and user ref. All information in it should
|
|
// have been validated against database.
|
|
export interface FullUser extends UserProfile {
|
|
id: number;
|
|
ref?: string|null; // Not filled for anonymous users.
|
|
allowGoogleLogin?: boolean; // when present, specifies whether logging in via Google is possible.
|
|
}
|
|
|
|
export interface LoginSessionAPI {
|
|
/**
|
|
* Logs out by clearing all data in the session store besides the session cookie itself.
|
|
* Broadcasts the logged out state to all clients.
|
|
*/
|
|
logout(): Promise<void>;
|
|
|
|
/**
|
|
* Replaces the user profile object in the session and broadcasts the new profile to all clients.
|
|
*/
|
|
updateProfile(profile: UserProfile): Promise<void>;
|
|
}
|