mirror of
https://github.com/gristlabs/grist-core.git
synced 2026-03-02 04:09:24 +00:00
(core) make the support account configurable, and allow listing public sites
Summary: This makes two small tweaks based on a user's questions about sharing sites publicly for a self-managed installation: * The support user `support@getgrist.com` is made configurable with `GRIST_SUPPORT_EMAIL`. This came up because only the support user can share material with the special "everyone" user. This restriction was added to avoid spam. * Regardless of public sharing settings, for our SaaS we had decided not to list public sites to anonymous users. That is somewhat a question of taste, so a `GRIST_LIST_PUBLIC_SITES` flag is added to override this choice. Public sharing isn't in a well polished state, and this diff doesn't advance that, in fact it adds a new wrinkle :-/ Test Plan: existing tests pass; manual testing Reviewers: jarek Reviewed By: jarek Subscribers: jarek Differential Revision: https://phab.getgrist.com/D3663
This commit is contained in:
@@ -14,6 +14,7 @@ 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.
|
||||
isSupport?: boolean; // set if user is a special support user.
|
||||
}
|
||||
|
||||
export interface LoginSessionAPI {
|
||||
|
||||
@@ -55,11 +55,11 @@ export class ShareAnnotator {
|
||||
}
|
||||
const top = features.maxSharesPerDoc;
|
||||
let at = 0;
|
||||
const makeAnnotation = (user: {email: string, isMember?: boolean, access: string|null}) => {
|
||||
const makeAnnotation = (user: {email: string, isMember?: boolean, isSupport?: boolean, access: string|null}) => {
|
||||
const annotation: ShareAnnotation = {
|
||||
isMember: user.isMember,
|
||||
};
|
||||
if (user.email === 'support@getgrist.com') {
|
||||
if (user.isSupport) {
|
||||
return { isSupport: true };
|
||||
}
|
||||
if (!annotation.isMember && user.access) {
|
||||
|
||||
@@ -23,9 +23,6 @@ export const ANONYMOUS_USER_EMAIL = 'anon@getgrist.com';
|
||||
// Nominal email address of a user who, if you share with them, everyone gets access.
|
||||
export const EVERYONE_EMAIL = 'everyone@getgrist.com';
|
||||
|
||||
// A special user allowed to add/remove the EVERYONE_EMAIL to/from a resource.
|
||||
export const SUPPORT_EMAIL = 'support@getgrist.com';
|
||||
|
||||
// A special 'docId' that means to create a new document.
|
||||
export const NEW_DOCUMENT_CODE = 'new';
|
||||
|
||||
|
||||
Reference in New Issue
Block a user