import {z} from 'zod' export type Pageable = {page?: number | undefined, size?: number | undefined, sort?: Array | undefined}; export type ExecutiveEventFilter = {codes?: (Array<'SESSION_DELETED' | 'IDENTITY_DELETED' | 'SESSION_FACE_ADDED' | 'IDENTITY_FACE_ADDED' | 'SESSION_MANUALLY_APPROVED' | 'SESSION_MANUALLY_REJECTED' | 'SESSION_VIEWED' | 'SESSIONS_VIEWED' | 'SESSION_PDF_DOWNLOADED' | 'LOGIN_ATTEMPT' | 'LOGOUT' | 'USER_CREATED' | 'USER_DELETED' | 'USER_UPDATED' | 'CONFIGURATION_CREATE' | 'CONFIGURATION_CLONED' | 'CONFIGURATION_RESET' | 'CONFIGURATION_UPDATE' | 'FLOW_CREATE' | 'FLOW_UPDATE' | 'FLOW_DELETE' | 'FLOW_CLONE' | 'IDENTITIES_REPORT_GENERATED' | 'SESSIONS_REPORT_GENERATED' | 'AUTHENTICATIONS_REPORT_GENERATED' | 'WATCH_LISTS_REPORT_GENERATED' | 'USERS_REPORT_GENERATED' | 'DOUBLE_CHECK_RECORD_FETCHED' | 'DOUBLE_CHECK_RECORD_UPDATED' | 'DOUBLE_CHECK_FINISHED' | 'SESSION_ANTIFRAUD_RESOLVED' | 'WATCH_LISTS_ENTRY_CREATED' | 'GOVERNMENT_VERIFICATION_PROVIDERS_UPDATED' | 'GOVERNMENT_VERIFICATION_PROVIDERS_CREATED' | 'GOVERNMENT_VERIFICATION_PROVIDERS_DELETED' | 'WATCHLIST_PROVIDER_SETTINGS_CREATED' | 'WATCHLIST_PROVIDER_SETTINGS_UPDATED' | 'WATCHLIST_PROVIDER_SETTINGS_DELETED' | 'PERSONAL_IDENTIFICATION_NUMBER_PROVIDERS_UPDATED' | 'PERSONAL_IDENTIFICATION_NUMBER_PROVIDERS_DELETED' | 'PERSONAL_IDENTIFICATION_NUMBER_PROVIDERS_CREATED' | 'EKYB_PROVIDERS_UPDATED' | 'EKYB_PROVIDERS_CREATED' | 'EKYB_PROVIDERS_DELETED' | 'EKYC_PROVIDERS_CREATED' | 'EKYC_PROVIDERS_UPDATED' | 'EKYC_PROVIDERS_DELETED' | 'QES_PROVIDERS_UPDATED' | 'QES_PROVIDERS_DELETED' | 'QES_PROVIDERS_CREATED' | 'GENERAL_PROVISIONING_SETTINGS_UPDATED' | 'MODULES_PROVISIONING_SETTINGS_UPDATED' | 'WORKFLOW_CREATED' | 'WORKFLOW_IMPORTED' | 'WORKFLOW_EDITED' | 'WORKFLOW_UPDATED' | 'WORKFLOW_DELETED' | 'WORKFLOW_ACTIVATED' | 'WORKFLOW_PAUSED' | 'CONSENT_CREATED' | 'CONSENT_UPDATED' | 'CONSENT_DELETED' | 'FRAUD_REPORTED' | 'FRAUD_REPORT_REVOKED' | 'WEBHOOK_CREATED' | 'WEBHOOK_UPDATE' | 'WEBHOOK_DELETE' | 'WEBHOOK_AUTH_CONFIG_CREATE' | 'WEBHOOK_AUTH_CONFIG_UPDATE' | 'DATA_DELETION_UPDATE' | 'WATCHLIST_ENTRY_DELETED' | 'WATCHLIST_ENTRY_UPDATED' | 'WATCHLIST_LIST_VIEWED' | 'AUTHENTICATION_LIST_VIEWED' | 'IDENTITY_VIEWED' | 'SESSION_LIST_VIEWED' | 'IDENTITY_LIST_VIEWED' | 'AUDIT_LOG_REPORT_GENERATED' | 'SINGLE_SESSION_REPORT_GENERATED' | 'DATA_DELETION_DISABLE' | 'FACE_ADDED_TO_DATABASE' | 'SELFIE_ADDED_TO_IDENTITY_TEMPLATE' | 'FRAUD_RING_RENAMED' | 'FRAUD_RING_NOTE_ADDED'>) | undefined, before?: string | undefined, after?: string | undefined, executiveIds?: Array | undefined, entityTypes?: (Array<'SESSION' | 'IDENTITY' | 'EXECUTIVE' | 'FLOW' | 'CONFIGURATION' | 'WORKFLOW' | 'WATCHLIST' | 'PROVISIONING' | 'CONSENT' | 'DATA' | 'WEBHOOK' | 'AUDIT_LOG' | 'AUTHENTICATION' | 'USER' | 'FRAUD_RING'>) | undefined, entityIds?: Array | undefined, applications?: Array<'USER_SERVICE'> | undefined, email?: string | undefined, ipAddress?: string | undefined, userAgent?: string | undefined}; export type CreateApiOmniExecutiveEventsFindArgs = {avoidCounting?: boolean | undefined, pageable: Pageable, 'api-version': string, body: ExecutiveEventFilter}; export type CreateApiOmniExecutiveEventsFindOptions = {baseUrl?: string | undefined, ApiKeyAuth?: string | undefined, IncodeHardwareIdAuth?: string | undefined, fetch?: typeof fetch | undefined}; export const executiveEventDto = z.object({id: z.string().optional(), code: z.enum(["SESSION_DELETED", "IDENTITY_DELETED", "SESSION_FACE_ADDED", "IDENTITY_FACE_ADDED", "SESSION_MANUALLY_APPROVED", "SESSION_MANUALLY_REJECTED", "SESSION_VIEWED", "SESSIONS_VIEWED", "SESSION_PDF_DOWNLOADED", "LOGIN_ATTEMPT", "LOGOUT", "USER_CREATED", "USER_DELETED", "USER_UPDATED", "CONFIGURATION_CREATE", "CONFIGURATION_CLONED", "CONFIGURATION_RESET", "CONFIGURATION_UPDATE", "FLOW_CREATE", "FLOW_UPDATE", "FLOW_DELETE", "FLOW_CLONE", "IDENTITIES_REPORT_GENERATED", "SESSIONS_REPORT_GENERATED", "AUTHENTICATIONS_REPORT_GENERATED", "WATCH_LISTS_REPORT_GENERATED", "USERS_REPORT_GENERATED", "DOUBLE_CHECK_RECORD_FETCHED", "DOUBLE_CHECK_RECORD_UPDATED", "DOUBLE_CHECK_FINISHED", "SESSION_ANTIFRAUD_RESOLVED", "WATCH_LISTS_ENTRY_CREATED", "GOVERNMENT_VERIFICATION_PROVIDERS_UPDATED", "GOVERNMENT_VERIFICATION_PROVIDERS_CREATED", "GOVERNMENT_VERIFICATION_PROVIDERS_DELETED", "WATCHLIST_PROVIDER_SETTINGS_CREATED", "WATCHLIST_PROVIDER_SETTINGS_UPDATED", "WATCHLIST_PROVIDER_SETTINGS_DELETED", "PERSONAL_IDENTIFICATION_NUMBER_PROVIDERS_UPDATED", "PERSONAL_IDENTIFICATION_NUMBER_PROVIDERS_DELETED", "PERSONAL_IDENTIFICATION_NUMBER_PROVIDERS_CREATED", "EKYB_PROVIDERS_UPDATED", "EKYB_PROVIDERS_CREATED", "EKYB_PROVIDERS_DELETED", "EKYC_PROVIDERS_CREATED", "EKYC_PROVIDERS_UPDATED", "EKYC_PROVIDERS_DELETED", "QES_PROVIDERS_UPDATED", "QES_PROVIDERS_DELETED", "QES_PROVIDERS_CREATED", "GENERAL_PROVISIONING_SETTINGS_UPDATED", "MODULES_PROVISIONING_SETTINGS_UPDATED", "WORKFLOW_CREATED", "WORKFLOW_IMPORTED", "WORKFLOW_EDITED", "WORKFLOW_UPDATED", "WORKFLOW_DELETED", "WORKFLOW_ACTIVATED", "WORKFLOW_PAUSED", "CONSENT_CREATED", "CONSENT_UPDATED", "CONSENT_DELETED", "FRAUD_REPORTED", "FRAUD_REPORT_REVOKED", "WEBHOOK_CREATED", "WEBHOOK_UPDATE", "WEBHOOK_DELETE", "WEBHOOK_AUTH_CONFIG_CREATE", "WEBHOOK_AUTH_CONFIG_UPDATE", "DATA_DELETION_UPDATE", "WATCHLIST_ENTRY_DELETED", "WATCHLIST_ENTRY_UPDATED", "WATCHLIST_LIST_VIEWED", "AUTHENTICATION_LIST_VIEWED", "IDENTITY_VIEWED", "SESSION_LIST_VIEWED", "IDENTITY_LIST_VIEWED", "AUDIT_LOG_REPORT_GENERATED", "SINGLE_SESSION_REPORT_GENERATED", "DATA_DELETION_DISABLE", "FACE_ADDED_TO_DATABASE", "SELFIE_ADDED_TO_IDENTITY_TEMPLATE", "FRAUD_RING_RENAMED", "FRAUD_RING_NOTE_ADDED"]).optional(), timestamp: z.string().optional(), executiveId: z.string().optional(), managedEntityType: z.enum(["SESSION", "IDENTITY", "EXECUTIVE", "FLOW", "CONFIGURATION", "WORKFLOW", "WATCHLIST", "PROVISIONING", "CONSENT", "DATA", "WEBHOOK", "AUDIT_LOG", "AUTHENTICATION", "USER", "FRAUD_RING"]).optional(), managedEntityId: z.string().optional(), payload: z.record(z.string(), z.object({})).optional(), apiKey: z.string().optional(), role: z.enum(["OPEN", "STATISTICS", "LIMITED", "INCODE_IDENTITY", "INCODE_ID_USER", "ACCESS", "AUTHENTICATOR", "REFRESH", "REGISTER", "INCODE_ID_CLIENT", "EXECUTIVE", "ADMIN", "SCIM_ADMIN", "MULTI_ORG_ADMIN", "INTEGRATOR", "INCODE_EXECUTIVE", "INCODE_ADMIN", "WIDGET_CLIENT", "INTERNAL_SERVICE", "AUTHORIZATION_SERVER", "KEYCLOAK_SESSION", "HIPAA_ADMIN", "HIPAA_VIEWER", "WORKFORCE_ADMIN", "WORKFORCE_HELPDESK_STAFF", "WORKFORCE_RECRUITER", "SERVER", "IDENTITY_SERVICE", "TRUST_GRAPH_DATA_LOADER"]).optional(), application: z.literal("USER_SERVICE").optional(), ipAddress: z.string().optional(), userAgent: z.string().optional(), email: z.string().optional()}); export const page = z.object({size: z.number().int().optional(), totalElements: z.number().int().optional(), totalPages: z.number().int().optional(), currentPageNumber: z.number().int().optional()}); export const executiveEventResponse = z.object({content: z.array(executiveEventDto).optional(), page: page.optional(), total: z.number().int().optional(), more: z.boolean().optional()}); export const validateResponse = async ( schema: { readonly '~standard': { readonly validate: (value: unknown) => ({ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }) | Promise<{ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }> } }, value: unknown ): Promise => { const result = await schema['~standard'].validate(value) if (result.issues !== undefined) { const detail = result.issues .map(({ message, path }) => path?.length ? `${path.map((segment) => String(typeof segment === 'object' ? segment.key : segment)).join('.')}: ${message}` : message ) .join('; ') throw new Error(`Response does not match the schema: ${detail}`, { cause: { issues: result.issues } }) } return result.value }; /** * Fetch audit logs * * POST /omni/executive-events/find */ export const createApiOmniExecutiveEventsFind = async (args: CreateApiOmniExecutiveEventsFindArgs, options?: CreateApiOmniExecutiveEventsFindOptions) => { const {baseUrl = "https://demo-api.incodesmile.com", fetch: fetchFn = fetch, ApiKeyAuth, IncodeHardwareIdAuth} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('content-type', "application/json") headers.set('accept', "application/json") if (args.avoidCounting != null) query.append("avoidCounting", String(args.avoidCounting)) if (args.pageable != null) query.append("pageable", JSON.stringify(args.pageable)) if (args['api-version'] != null) headers.set("api-version", String(args['api-version'])) if (ApiKeyAuth !== undefined) headers.set("x-api-key", ApiKeyAuth) if (IncodeHardwareIdAuth !== undefined) headers.set("X-Incode-Hardware-Id", IncodeHardwareIdAuth) const url = `${baseUrl.replace(/\/+$/, '')}/omni/executive-events/find${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "POST", headers, body: JSON.stringify(args.body)}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return validateResponse(executiveEventResponse, await res.json()) };