import {z} from 'zod' export type ActivityLogTarget = 'Portal' | 'Portal MCP' | 'AI Activate MCP' | 'AI Activate Scoped Volumes' | 'Edge' | 'File IQ' | 'Stack'; export type ActivityLogAction = 'Auth Code Requested' | 'Auth Code Reset' | 'Account Information Updated' | 'Serial Number Decommission' | 'Email Updated' | 'SSO Config Updated' | 'Web Access SSO Config Updated' | 'S3 Edge Config Updated' | 'S3 Edge Enabled' | 'S3 Edge Disabled' | 'Analytics Connector Updated' | 'Analytics Connector Key Generated' | 'User Created' | 'Role Created' | 'Role Deleted' | 'Role Updated' | 'Edge FIQ Service Config Updated' | 'File IQ Config Updated' | 'Service Key Created' | 'Service Key Deleted' | 'Service Key Role Added' | 'Service Key Role Removed' | 'GFA API Key Deleted' | 'GFA API Key Created' | 'Cloud Credential Deleted' | 'User Key Created' | 'User Key Deleted' | 'Authorized Login' | 'Authorized Logout' | 'Access Refresh' | 'Session Expired' | 'Software Download Configuration Updated' | 'Stack Configuration Updated' | 'Stack NDS Configuration Updated' | 'Stack Volume Added' | 'Stack Volume Updated' | 'Stack Volume Removal Requested' | 'Stack Volume Removed' | 'Stack NDS SAS Token Generated' | 'Snapshot Started' | 'Snapshot Cancelled' | 'Volume Rename Requested' | 'AI Activate Inventory Created' | 'AI Activate Index Created' | 'AI Activate Index Config Updated' | 'AI Activate Remote Support Updated' | 'AI Activate MCP Config Updated' | 'AI Activate Support' | 'AI Activate MCP Authentication' | 'AI Activate MCP Refresh' | 'AI Activate Volume Removal Requested' | 'AI Activate Volume Removal Cancelled' | 'Cloud Credential Created' | 'Cloud Credential Updated' | 'Cloud Credential Create Failed' | 'Cloud Credential Update Failed' | 'Cloud Credential Delete Failed' | 'Cloud Credential Error Acknowledged' | 'Portal Remote Access Enabled' | 'Portal Remote Access Disabled' | 'Appliance Remote Support Enabled' | 'Appliance Remote Support Disabled' | 'Appliance Diagnostics Sent' | 'Appliance Description Updated' | 'Enterprise Search Inventory Created' | 'Enterprise Search Inventory Updated' | 'Enterprise Search Repository Created' | 'Enterprise Search Repository Updated' | 'Enterprise Search Repository Removal Requested' | 'Enterprise Search Repository Removal Cancelled' | 'Legacy'; export type ActivityLogSortBy = 'timestamp' | 'action' | 'target' | 'target_description' | 'initiated_by'; export type SortDirection = 'ascending' | 'descending'; export type GetApiActivityLogsRecordsArgs = {start_date?: (string | null) | undefined, end_date?: (string | null) | undefined, user_id?: (string | null) | undefined, target?: (ActivityLogTarget | null) | undefined, action?: (ActivityLogAction | null) | undefined, transaction_id?: (string | null) | undefined, search?: (string | null) | undefined, limit?: number | undefined, iterator_id?: (string | null) | undefined, page?: (number | null) | undefined, sort_by?: ActivityLogSortBy | undefined, sort_direction?: SortDirection | undefined}; export type GetApiActivityLogsRecordsOptions = {baseUrl?: string | undefined, HTTPBearer?: string | undefined, fetch?: typeof fetch | undefined}; export const paginatedCollectionMetadataDto = z.object({iterator_id: z.string().nullable(), page: z.number().int().optional(), page_size: z.number().int().nullable().optional(), total_pages: z.number().int().nullable().optional(), total_items: z.number().int()}); export const activityLogTarget = z.enum(["Portal", "Portal MCP", "AI Activate MCP", "AI Activate Scoped Volumes", "Edge", "File IQ", "Stack"]); export const activityLogTargetDto = z.object({id: z.string().nullable().optional(), type: activityLogTarget, description: z.string().nullable().optional()}); export const activityLogAction = z.enum(["Auth Code Requested", "Auth Code Reset", "Account Information Updated", "Serial Number Decommission", "Email Updated", "SSO Config Updated", "Web Access SSO Config Updated", "S3 Edge Config Updated", "S3 Edge Enabled", "S3 Edge Disabled", "Analytics Connector Updated", "Analytics Connector Key Generated", "User Created", "Role Created", "Role Deleted", "Role Updated", "Edge FIQ Service Config Updated", "File IQ Config Updated", "Service Key Created", "Service Key Deleted", "Service Key Role Added", "Service Key Role Removed", "GFA API Key Deleted", "GFA API Key Created", "Cloud Credential Deleted", "User Key Created", "User Key Deleted", "Authorized Login", "Authorized Logout", "Access Refresh", "Session Expired", "Software Download Configuration Updated", "Stack Configuration Updated", "Stack NDS Configuration Updated", "Stack Volume Added", "Stack Volume Updated", "Stack Volume Removal Requested", "Stack Volume Removed", "Stack NDS SAS Token Generated", "Snapshot Started", "Snapshot Cancelled", "Volume Rename Requested", "AI Activate Inventory Created", "AI Activate Index Created", "AI Activate Index Config Updated", "AI Activate Remote Support Updated", "AI Activate MCP Config Updated", "AI Activate Support", "AI Activate MCP Authentication", "AI Activate MCP Refresh", "AI Activate Volume Removal Requested", "AI Activate Volume Removal Cancelled", "Cloud Credential Created", "Cloud Credential Updated", "Cloud Credential Create Failed", "Cloud Credential Update Failed", "Cloud Credential Delete Failed", "Cloud Credential Error Acknowledged", "Portal Remote Access Enabled", "Portal Remote Access Disabled", "Appliance Remote Support Enabled", "Appliance Remote Support Disabled", "Appliance Diagnostics Sent", "Appliance Description Updated", "Enterprise Search Inventory Created", "Enterprise Search Inventory Updated", "Enterprise Search Repository Created", "Enterprise Search Repository Updated", "Enterprise Search Repository Removal Requested", "Enterprise Search Repository Removal Cancelled", "Legacy"]); export const activityLogsUserDto = z.object({id: z.string(), name: z.string().nullable().optional()}); export const keyType = z.enum(["service", "user"]); export const activityLogsKeyDto = z.object({id: z.string(), type: keyType, name: z.string().nullable().optional()}); export const softwareDownloadsConfigurationDto = z.object({linked_amazon_account_ids: z.array(z.string()).optional()}); export const softwareDownloadConfigurationUpdate = z.object({action: z.literal("Software Download Configuration Updated"), old: softwareDownloadsConfigurationDto, new: softwareDownloadsConfigurationDto}); export const authCode = z.object({action: z.enum(["Auth Code Requested", "Auth Code Reset", "Serial Number Decommission"])}); export const accountInformationDto = z.object({email: z.string(), first_name: z.string(), last_name: z.string(), company: z.string(), phone: z.string(), created: z.string(), id: z.string()}); export const accountInformationUpdate = z.object({action: z.literal("Account Information Updated"), old: accountInformationDto, new: accountInformationDto}); export const edgeTarget = z.object({action: z.enum(["S3 Edge Enabled", "S3 Edge Disabled"])}); export const edgeFiqServiceDto = z.object({enabled: z.boolean(), connected_file_iq_serial: z.string().nullable().optional()}); export const edgeFiqServiceConfigUpdate = z.object({action: z.literal("Edge FIQ Service Config Updated"), old: edgeFiqServiceDto, new: edgeFiqServiceDto}); export const emailUpdate = z.object({action: z.literal("Email Updated"), old: z.string(), new: z.string()}); export const sSOConfigDto = z.object({provider: z.string(), name: z.string().max(40), client_id: z.string().max(191), secret: z.string(), key: z.string().max(191)}); export const sSOConfigUpdate = z.object({action: z.literal("SSO Config Updated"), old: sSOConfigDto.nullable().optional(), new: sSOConfigDto.nullable().optional()}); export const webAccessSSOConfigDto = z.object({provider: z.string(), client_id: z.string().max(191), secret: z.string(), key: z.string().max(191), login_button_label: z.string().max(100).nullable().optional()}); export const webAccessSSOConfigUpdate = z.object({action: z.literal("Web Access SSO Config Updated"), old: webAccessSSOConfigDto.nullable().optional(), new: webAccessSSOConfigDto.nullable().optional()}); export const bucket = z.object({name: z.string(), path: z.string(), volume: z.string(), roles: z.record(z.string(), z.array(z.string())).nullable().optional()}); export const bucketSDDL = z.object({name: z.string(), path: z.string(), volume: z.string(), roles: z.record(z.string(), z.array(z.string())).nullable().optional(), file_sddl: z.string(), dir_sddl: z.string()}); export const key = z.object({name: z.string(), access: z.string(), secret: z.string()}); export const s3EdgeConfigDto = z.object({buckets: z.array(z.union([bucket, bucketSDDL])), keys: z.array(key)}); export const s3EdgeConfigUpdate = z.object({action: z.literal("S3 Edge Config Updated"), old: s3EdgeConfigDto.nullable().optional(), new: s3EdgeConfigDto.nullable().optional()}); export const nacRunHistoryDto = z.object({error_count: z.number().int().optional(), run_id: z.string(), unifx_version: z.string(), start_timestamp: z.string(), destination_type: z.string(), failed_file_count: z.number().int().optional(), elapsed_time: z.number().int(), source_type: z.string(), exported_files: z.number().int(), average_throughput: z.number().int(), end_time: z.number().int(), volume_name: z.string(), percent_complete: z.number().int(), exported_dirs: z.number().int(), volume_guid: z.string(), exported_bytes: z.number().int()}); export const analyticsConnectorDto = z.object({key: z.string(), nac_link: z.string(), launchable: z.boolean(), unlicensed: z.boolean(), nac_run_history: z.array(nacRunHistoryDto).nullable(), can_generate: z.boolean(), can_view: z.boolean(), unifx_aws_ids: z.string()}); export const analyticsConnectorUpdate = z.object({action: z.literal("Analytics Connector Updated"), old: analyticsConnectorDto.nullable().optional(), new: analyticsConnectorDto.nullable().optional()}); export const userDto = z.object({id: z.string(), username: z.string(), account_owner: z.boolean().optional(), created: z.string(), last_login: z.string()}); export const userCreated = z.object({action: z.literal("User Created"), item: userDto}); export const activityLogsRoleDto = z.object({id: z.string(), created: z.string(), last_updated: z.string(), name: z.string(), sso_group_names: z.array(z.string()).optional(), editable: z.boolean().optional(), deletable: z.boolean().optional(), permissions: z.array(z.string()).optional()}); export const portalApiDtoActivityLogsEventDetailsRole = z.object({action: z.enum(["Role Created", "Role Deleted"]), item: activityLogsRoleDto}); export const roleUpdated = z.object({action: z.literal("Role Updated"), old: activityLogsRoleDto.nullable().optional(), new: activityLogsRoleDto.nullable().optional(), item: activityLogsRoleDto.nullable().optional()}); export const fiqEdgeDto = z.object({serial_number: z.string(), id: z.string(), build: z.string(), description: z.string(), fiq_service_enabled: z.boolean()}); export const fiqConnections = z.object({edges: z.array(fiqEdgeDto)}); export const fiqApplianceDto = z.object({serial_number: z.string(), id: z.string(), description: z.string(), build: z.string(), enabled: z.boolean(), connections: fiqConnections}); export const fiqConfigUpdate = z.object({action: z.literal("File IQ Config Updated"), old: fiqApplianceDto.nullable().optional(), new: fiqApplianceDto.nullable().optional()}); export const createdOrDeleted = z.object({action: z.enum(["Service Key Created", "Service Key Deleted", "User Key Created", "User Key Deleted", "GFA API Key Created", "GFA API Key Deleted"]), id: z.string()}); export const serviceKeyRole = z.object({action: z.enum(["Service Key Role Added", "Service Key Role Removed"]), id: z.string(), role_id: z.string(), role_name: z.string()}); export const nocStackCloudProvider = z.enum(["aws", "azure"]); export const nocUaasLogLevel = z.enum(["DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"]); export const uaasStackDetailDto = z.object({id: z.string(), serial_number: z.string(), name: z.string(), build: z.string().nullable().optional(), uaas_build: z.string().nullable().optional(), cloud_provider: nocStackCloudProvider, region: z.string(), created_date: z.string(), last_used_date: z.string().nullable().optional(), uaas_api_url: z.string().min(1).max(2083).nullable().optional(), blob_endpoint_url: z.string().min(1).max(2083).nullable().optional(), s3_obj_lambda_buckets: z.record(z.string(), z.string()).nullable().optional(), log_level: nocUaasLogLevel.nullable().optional(), log_retention: z.number().int().nullable().optional(), remote_support_enabled: z.boolean().nullable().optional(), volume_refresh_interval: z.number().int().nullable().optional()}); export const stackConfigUpdate = z.object({action: z.literal("Stack Configuration Updated"), old: uaasStackDetailDto.nullable().optional(), new: uaasStackDetailDto.nullable().optional()}); export const uaasS3ConfigDto = z.object({aws_enabled: z.boolean().nullable().optional(), aws_volumes: z.array(z.string()).nullable().optional()}); export const uaasS3ConfigRevealedDto = z.object({aws_enabled: z.boolean().nullable().optional(), aws_volumes: z.array(z.string()).nullable().optional(), keys: z.array(z.record(z.string(), z.string())).nullable().optional()}); export const uaasBlobAccessKeyBaseDto = z.object({access_key: z.string(), generated: z.string().nullable().optional()}); export const uaasStackNdsSimplifiedDto = z.object({azure_enabled: z.boolean().nullable().optional(), s3: z.union([uaasS3ConfigDto, uaasS3ConfigRevealedDto]).nullable().optional(), azure_keys: z.array(uaasBlobAccessKeyBaseDto).nullable().optional(), excluded_paths: z.record(z.string(), z.string()).nullable().optional(), included_paths: z.record(z.string(), z.string()).nullable().optional(), azure_volumes: z.array(z.string()).nullable().optional()}); export const uaasBlobAccessKeyDto = z.object({access_key: z.string(), generated: z.string().nullable().optional(), id: z.string(), connection_string: z.string()}); export const uaasBlobAccessKeyRevealedDto = z.object({access_key: z.string(), generated: z.string().nullable().optional(), id: z.string(), connection_string: z.string()}); export const uaasStackNdsConfigDto = z.object({enabled: z.boolean().nullable().optional(), azure_keys: z.array(z.union([uaasBlobAccessKeyDto, uaasBlobAccessKeyRevealedDto])).nullable().optional()}); export const stackNDSConfigUpdate = z.object({action: z.literal("Stack NDS Configuration Updated"), old: z.union([uaasStackNdsSimplifiedDto, uaasStackNdsConfigDto]).nullable().optional(), new: z.union([uaasStackNdsSimplifiedDto, uaasStackNdsConfigDto]).nullable().optional()}); export const uaasVolumeNdsDto = z.object({nds: z.boolean().nullable().optional(), nds_excluded_paths: z.string().nullable().optional(), nds_included_paths: z.string().nullable().optional()}); export const stackVolumeAdded = z.object({action: z.literal("Stack Volume Added"), volume_id: z.string(), new: uaasVolumeNdsDto.nullable().optional()}); export const stackVolumeUpdated = z.object({action: z.literal("Stack Volume Updated"), volume_id: z.string(), old: uaasVolumeNdsDto.nullable().optional(), new: uaasVolumeNdsDto.nullable().optional()}); export const stackVolumeRemoved = z.object({action: z.literal("Stack Volume Removed"), volume_id: z.string(), old: uaasVolumeNdsDto.nullable().optional()}); export const stackVolumeRemovalRequested = z.object({action: z.literal("Stack Volume Removal Requested"), volume_id: z.string(), old: uaasVolumeNdsDto.nullable().optional()}); export const authMethod = z.enum(["noc_token", "service_key", "user_key", "mcp"]); export const authentication = z.object({action: z.enum(["Authorized Login", "Authorized Logout", "Access Refresh", "Session Expired"]), auth_method: authMethod.nullable().optional(), impersonator_email: z.string().nullable().optional()}); export const snapshotEvent = z.object({action: z.enum(["Snapshot Started", "Snapshot Cancelled"]), volume_id: z.string(), volume_name: z.string().nullable().optional(), edge_id: z.string(), task_id: z.string().nullable().optional()}); export const volumeRenameEvent = z.object({action: z.literal("Volume Rename Requested"), volume_id: z.string(), volume_name: z.string(), old_name: z.string(), new_name: z.string(), edge_id: z.string(), task_id: z.string().nullable().optional()}); export const aiActivateInventoryCreated = z.object({action: z.literal("AI Activate Inventory Created"), provider: z.string(), volume_id: z.string(), volume_name: z.string(), region: z.string()}); export const aiActivateIndexCreated = z.object({action: z.literal("AI Activate Index Created"), volume_id: z.string(), volume_name: z.string().optional()}); export const aiActivateIndexStatus = z.enum(["in_progress", "complete", "failed", "queued_for_deletion"]); export const aiActivateIndexDetailsDto = z.object({volume_guid: z.string(), volume_name: z.string(), provider: z.string(), volume_region: z.string().nullable().optional(), status: aiActivateIndexStatus, file_count: z.number().int().gte(0).nullable().optional(), volume_size: z.string().nullable().optional(), removal_deadline_at: z.string().nullable().optional(), include_paths: z.array(z.string()).optional(), exclude_paths: z.array(z.string()).optional(), mcp_enabled: z.boolean().nullable().optional()}); export const aiActivateIndexConfigUpdated = z.object({action: z.literal("AI Activate Index Config Updated"), volume_id: z.string(), volume_name: z.string().optional(), new: aiActivateIndexDetailsDto}); export const aiActivateRemoteSupportDto = z.object({remote_support: z.boolean()}); export const aiActivateRemoteSupportUpdate = z.object({action: z.literal("AI Activate Remote Support Updated"), old: aiActivateRemoteSupportDto.nullable().optional(), new: aiActivateRemoteSupportDto.nullable().optional()}); export const aiActivateMcpVolumeConfigDto = z.object({mcp_enabled: z.boolean(), allowed_file_extensions: z.array(z.string()).optional(), period: z.number().int().gte(1).nullable().optional(), ignore_sids: z.array(z.string()).optional(), include_paths: z.array(z.string()).optional(), exclude_paths: z.array(z.string()).optional(), volume_name: z.string().nullable().optional(), file_count: z.number().int().nullable().optional()}); export const aiActivateMcpConfigUpdated = z.object({action: z.literal("AI Activate MCP Config Updated"), volume_id: z.string(), volume_name: z.string().optional(), old: aiActivateMcpVolumeConfigDto.nullable().optional(), new: aiActivateMcpVolumeConfigDto.nullable().optional()}); export const aiActivateSupport = z.object({action: z.literal("AI Activate Support"), volume_ids: z.array(z.union([z.string(), z.string()])), impersonator_email: z.string().nullable().optional()}); export const aiActivateMcpAuthentication = z.object({action: z.enum(["AI Activate MCP Authentication", "AI Activate MCP Refresh"]), source_ip: z.union([z.string(), z.string()]).nullable().optional(), mcp_auth_user_uuid: z.string().nullable().optional(), mcp_auth_client_id: z.string().nullable().optional(), mcp_master_email: z.string().nullable().optional(), mcp_actor_auth_email: z.string().nullable().optional()}); export const aiActivateVolumeRemoval = z.object({action: z.enum(["AI Activate Volume Removal Requested", "AI Activate Volume Removal Cancelled"]), volume_id: z.string(), volume_name: z.string().nullable().optional(), removal_deadline_at: z.string().nullable().optional()}); export const cloudCredentialCreated = z.object({action: z.literal("Cloud Credential Created"), name: z.string(), cred_type: z.string(), edge_name: z.string()}); export const cloudCredentialUpdated = z.object({action: z.literal("Cloud Credential Updated"), name: z.string(), cred_type: z.string(), edge_name: z.string(), changed_fields: z.array(z.string()).optional()}); export const cloudCredentialDeleted = z.object({action: z.literal("Cloud Credential Deleted"), name: z.string(), edge_name: z.string()}); export const cloudCredentialCreateFailed = z.object({action: z.literal("Cloud Credential Create Failed"), name: z.string(), edge_name: z.string(), error: z.string()}); export const cloudCredentialUpdateFailed = z.object({action: z.literal("Cloud Credential Update Failed"), name: z.string(), edge_name: z.string(), error: z.string()}); export const cloudCredentialDeleteFailed = z.object({action: z.literal("Cloud Credential Delete Failed"), name: z.string(), edge_name: z.string(), error: z.string()}); export const cloudCredentialErrorAcknowledged = z.object({action: z.literal("Cloud Credential Error Acknowledged"), name: z.string(), edge_name: z.string()}); export const portalSupportConfigurationResponseDto = z.object({enabled: z.boolean(), expires_at: z.string().nullable().optional(), duration_hours: z.number().int().nullable().optional()}); export const portalRemoteAccessEnabled = z.object({action: z.literal("Portal Remote Access Enabled"), old: portalSupportConfigurationResponseDto.nullable().optional(), new: portalSupportConfigurationResponseDto.nullable().optional()}); export const portalRemoteAccessDisabled = z.object({action: z.literal("Portal Remote Access Disabled"), old: portalSupportConfigurationResponseDto.nullable().optional()}); export const applianceRemoteSupportEnabled = z.object({action: z.literal("Appliance Remote Support Enabled"), duration_hours: z.number().int().nullable().optional(), expires_at: z.string().nullable().optional()}); export const applianceRemoteSupportDisabled = z.object({action: z.literal("Appliance Remote Support Disabled")}); export const applianceDiagnosticsSent = z.object({action: z.literal("Appliance Diagnostics Sent"), appliance_ids: z.array(z.string()).optional(), appliance_names: z.array(z.string()).optional(), task_ids: z.array(z.string()).optional()}); export const edgeDescriptionUpdated = z.object({action: z.literal("Appliance Description Updated"), description: z.string()}); export const enterpriseSearchInventoryCreated = z.object({action: z.literal("Enterprise Search Inventory Created"), edge_id: z.string(), edge_name: z.string()}); export const enterpriseSearchInventoryUpdated = z.object({action: z.literal("Enterprise Search Inventory Updated"), edge_id: z.string(), edge_name: z.string(), changes: z.record(z.string(), z.unknown()).nullable().optional()}); export const enterpriseSearchRepositoryCreated = z.object({action: z.literal("Enterprise Search Repository Created"), edge_id: z.string(), edge_name: z.string()}); export const enterpriseSearchRepositoryUpdated = z.object({action: z.literal("Enterprise Search Repository Updated"), edge_id: z.string(), edge_name: z.string(), changes: z.record(z.string(), z.unknown()).nullable().optional()}); export const enterpriseSearchRepositoryRemovalRequested = z.object({action: z.literal("Enterprise Search Repository Removal Requested"), edge_id: z.string(), edge_name: z.string(), soft_delete_datetime: z.string().nullable().optional()}); export const enterpriseSearchRepositoryRemovalCancelled = z.object({action: z.literal("Enterprise Search Repository Removal Cancelled"), edge_id: z.string(), edge_name: z.string()}); export const activityLogDto = z.object({id: z.string(), transaction_id: z.string().nullable().optional(), source: z.string().nullable().optional(), target: activityLogTargetDto.nullable().optional(), action: activityLogAction.nullable().optional(), summary: z.string().nullable().optional(), timestamp: z.string(), user: activityLogsUserDto.nullable().optional(), key: activityLogsKeyDto.nullable().optional(), roles: z.array(z.string()).optional(), source_ip: z.union([z.string(), z.string()]).nullable().optional(), details: z.union([softwareDownloadConfigurationUpdate, authCode, accountInformationUpdate, edgeTarget, edgeFiqServiceConfigUpdate, emailUpdate, sSOConfigUpdate, webAccessSSOConfigUpdate, s3EdgeConfigUpdate, analyticsConnectorUpdate, userCreated, portalApiDtoActivityLogsEventDetailsRole, roleUpdated, fiqConfigUpdate, createdOrDeleted, serviceKeyRole, stackConfigUpdate, stackNDSConfigUpdate, stackVolumeAdded, stackVolumeUpdated, stackVolumeRemoved, stackVolumeRemovalRequested, authentication, snapshotEvent, volumeRenameEvent, aiActivateInventoryCreated, aiActivateIndexCreated, aiActivateIndexConfigUpdated, aiActivateRemoteSupportUpdate, aiActivateMcpConfigUpdated, aiActivateSupport, aiActivateMcpAuthentication, aiActivateVolumeRemoval, cloudCredentialCreated, cloudCredentialUpdated, cloudCredentialDeleted, cloudCredentialCreateFailed, cloudCredentialUpdateFailed, cloudCredentialDeleteFailed, cloudCredentialErrorAcknowledged, portalRemoteAccessEnabled, portalRemoteAccessDisabled, applianceRemoteSupportEnabled, applianceRemoteSupportDisabled, applianceDiagnosticsSent, edgeDescriptionUpdated, enterpriseSearchInventoryCreated, enterpriseSearchInventoryUpdated, enterpriseSearchRepositoryCreated, enterpriseSearchRepositoryUpdated, enterpriseSearchRepositoryRemovalRequested, enterpriseSearchRepositoryRemovalCancelled]).nullable()}); export const activityLogResultDto = z.object({metadata: paginatedCollectionMetadataDto, items: z.array(activityLogDto).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 }; /** * Get Activity Logs * * GET /activity-logs/records */ export const getApiActivityLogsRecords = async (args: GetApiActivityLogsRecordsArgs, options?: GetApiActivityLogsRecordsOptions) => { const {baseUrl = "https://am1.portal.api.nasuni.com", fetch: fetchFn = fetch, HTTPBearer} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('accept', "application/json") if (args.start_date != null) query.append("start_date", String(args.start_date)) if (args.end_date != null) query.append("end_date", String(args.end_date)) if (args.user_id != null) query.append("user_id", String(args.user_id)) if (args.target != null) query.append("target", String(args.target)) if (args.action != null) query.append("action", String(args.action)) if (args.transaction_id != null) query.append("transaction_id", String(args.transaction_id)) if (args.search != null) query.append("search", String(args.search)) if (args.limit != null) query.append("limit", String(args.limit)) if (args.iterator_id != null) query.append("iterator_id", String(args.iterator_id)) if (args.page != null) query.append("page", String(args.page)) if (args.sort_by != null) query.append("sort_by", String(args.sort_by)) if (args.sort_direction != null) query.append("sort_direction", String(args.sort_direction)) if (HTTPBearer !== undefined) headers.set('authorization', `Bearer ${HTTPBearer}`) const url = `${baseUrl.replace(/\/+$/, '')}/activity-logs/records${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "GET", headers}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return validateResponse(activityLogResultDto, await res.json()) };