mirror of
https://github.com/gristlabs/grist-core.git
synced 2024-10-27 20:44:07 +00:00
41 lines
1.2 KiB
TypeScript
41 lines
1.2 KiB
TypeScript
|
import { UserProfile } from "app/common/LoginSessionAPI";
|
||
|
import { UserOptions } from "app/common/UserAPI";
|
||
|
import * as roles from 'app/common/roles';
|
||
|
import { Document } from "app/gen-server/entity/Document";
|
||
|
import { Group } from "app/gen-server/entity/Group";
|
||
|
import { Organization } from "app/gen-server/entity/Organization";
|
||
|
import { Workspace } from "app/gen-server/entity/Workspace";
|
||
|
|
||
|
import { EntityManager } from "typeorm";
|
||
|
|
||
|
export interface QueryResult<T> {
|
||
|
status: number;
|
||
|
data?: T;
|
||
|
errMessage?: string;
|
||
|
}
|
||
|
|
||
|
export interface GetUserOptions {
|
||
|
manager?: EntityManager;
|
||
|
profile?: UserProfile;
|
||
|
userOptions?: UserOptions;
|
||
|
}
|
||
|
|
||
|
export interface UserProfileChange {
|
||
|
name?: string;
|
||
|
isFirstTimeUser?: boolean;
|
||
|
}
|
||
|
|
||
|
// A specification of the users available during a request. This can be a single
|
||
|
// user, identified by a user id, or a collection of profiles (typically drawn from
|
||
|
// the session).
|
||
|
export type AvailableUsers = number | UserProfile[];
|
||
|
|
||
|
export type NonGuestGroup = Group & { name: roles.NonGuestRole };
|
||
|
|
||
|
export type Resource = Organization|Workspace|Document;
|
||
|
|
||
|
export type RunInTransaction = (
|
||
|
transaction: EntityManager|undefined,
|
||
|
op: ((manager: EntityManager) => Promise<any>)
|
||
|
) => Promise<any>;
|