gristlabs_grist-core/app/gen-server/lib/homedb/Interfaces.ts
George Gevoian 8b1d1c5d25 (core) Add more audit logging data/events
Summary:
Adds a few additional audit events and enhances audit logging
to capture more data (request origin, active org, user type).

Test Plan: Server and manual tests.

Reviewers: jarek

Reviewed By: jarek

Subscribers: jarek

Differential Revision: https://phab.getgrist.com/D4348
2024-09-23 12:57:35 -04:00

46 lines
1.3 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 PreviousAndCurrent<T> {
previous: T;
current: T;
}
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 = <T>(
transaction: EntityManager|undefined,
op: ((manager: EntityManager) => Promise<T>)
) => Promise<T>;