From 73c99910b11536395eea8ec8ffbdc665b163d53c Mon Sep 17 00:00:00 2001 From: mike12345567 Date: Tue, 7 Feb 2023 15:32:59 +0000 Subject: [PATCH] initial commit of API design session outcomes. --- .../types/src/api/web/global/auditLogs.ts | 36 +++++++++++++++++++ packages/types/src/api/web/global/index.ts | 1 + packages/types/src/api/web/index.ts | 1 + packages/types/src/api/web/pagination.ts | 24 +++++++++++++ .../types/src/documents/global/auditLogs.ts | 11 ++++++ packages/types/src/sdk/events/event.ts | 4 +++ 6 files changed, 77 insertions(+) create mode 100644 packages/types/src/api/web/global/auditLogs.ts create mode 100644 packages/types/src/api/web/pagination.ts create mode 100644 packages/types/src/documents/global/auditLogs.ts diff --git a/packages/types/src/api/web/global/auditLogs.ts b/packages/types/src/api/web/global/auditLogs.ts new file mode 100644 index 0000000000..7281d0ca36 --- /dev/null +++ b/packages/types/src/api/web/global/auditLogs.ts @@ -0,0 +1,36 @@ +import { Event, AuditedEventFriendlyName } from "../../../sdk" +import { PaginationResponse, PaginationRequest } from "../" + +export interface DownloadAuditLogsRequest { + userId?: string[] + appId?: string[] + event?: Event[] + startDate?: string + endDate?: string + metadataSearch?: string +} + +export interface SearchAuditLogsRequest + extends PaginationRequest, + DownloadAuditLogsRequest {} + +export interface SearchAuditLogsResponse extends PaginationResponse { + data: { + app: { + _id: string + name: string + } + user: { + _id: string + name: string + } + event: Event + timestamp: string + name: string + metadata: any + }[] +} + +export interface DefinitionsAuditLogsResponse { + events: typeof AuditedEventFriendlyName +} diff --git a/packages/types/src/api/web/global/index.ts b/packages/types/src/api/web/global/index.ts index 415ed55ab1..f9eec2a779 100644 --- a/packages/types/src/api/web/global/index.ts +++ b/packages/types/src/api/web/global/index.ts @@ -1,2 +1,3 @@ export * from "./environmentVariables" +export * from "./auditLogs" export * from "./events" diff --git a/packages/types/src/api/web/index.ts b/packages/types/src/api/web/index.ts index 9688a89c7b..3d209f22bb 100644 --- a/packages/types/src/api/web/index.ts +++ b/packages/types/src/api/web/index.ts @@ -4,3 +4,4 @@ export * from "./errors" export * from "./schedule" export * from "./app" export * from "./global" +export * from "./pagination" diff --git a/packages/types/src/api/web/pagination.ts b/packages/types/src/api/web/pagination.ts new file mode 100644 index 0000000000..ca640d58db --- /dev/null +++ b/packages/types/src/api/web/pagination.ts @@ -0,0 +1,24 @@ +export enum SortOrder { + ASCENDING = "ascending", + DESCENDING = "descending", +} + +export enum SortType { + STRING = "string", + number = "number", +} + +export interface PaginationRequest { + limit?: number + bookmark?: string + sort?: { + order: SortOrder + column: string + type: SortType + } +} + +export interface PaginationResponse { + bookmark: string + hasNextPage: boolean +} diff --git a/packages/types/src/documents/global/auditLogs.ts b/packages/types/src/documents/global/auditLogs.ts new file mode 100644 index 0000000000..bc07bc88d4 --- /dev/null +++ b/packages/types/src/documents/global/auditLogs.ts @@ -0,0 +1,11 @@ +import { Document } from "../document" +import { Event } from "../../sdk" + +export interface AuditLogDocument extends Document { + appId: string + event: Event + userId: string + timestamp: string + metadata: any + name: string +} diff --git a/packages/types/src/sdk/events/event.ts b/packages/types/src/sdk/events/event.ts index f509682add..614dd18ded 100644 --- a/packages/types/src/sdk/events/event.ts +++ b/packages/types/src/sdk/events/event.ts @@ -182,6 +182,10 @@ export enum Event { ENVIRONMENT_VARIABLE_UPGRADE_PANEL_OPENED = "environment_variable:upgrade_panel_opened", } +export const AuditedEventFriendlyName = { + [Event.USER_CREATED]: "user created", +} + // properties added at the final stage of the event pipeline export interface BaseEvent { version?: string