{"version":3,"sources":["../../src/admin-portal-audit-log-streaming.client.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport {\n  AdminPortalAuditLogStreamingError,\n  AdminPortalAuditLogStreamingLoading,\n  AdminPortalAuditLogStreaming as AdminPortalAuditLogStreamingPresentational,\n  AdminPortalAuditLogStreamingButton,\n} from \"./lib/admin-portal-audit-log-streaming.js\";\nimport type { AdminPortalAuditLogStreamingStatusProps } from \"./lib/admin-portal-audit-log-streaming.js\";\nimport { ApiProvider, AuthToken, useApiReady } from \"./api/api-provider.js\";\nimport {\n  useGenerateAdminPortalLink,\n  useGetAuditLogStream,\n  type AuditLogStreamJSON,\n} from \"./api/endpoint.js\";\nimport { useWorkOsApiUrl } from \"./lib/widgets-context.js\";\nimport { ErrorBoundary } from \"./lib/error-boundary.js\";\nimport { WidgetRootDomProps } from \"./lib/utils.js\";\n\ninterface AdminPortalAuditLogStreamingProps extends WidgetRootDomProps {\n  authToken: AuthToken;\n}\n\nconst AdminPortalAuditLogStreaming: React.FC<\n  AdminPortalAuditLogStreamingProps\n> = ({ authToken, ...domProps }) => {\n  const baseUrl = useWorkOsApiUrl();\n  return (\n    <ErrorBoundary\n      fallbackRender={({ error }) => (\n        <AdminPortalAuditLogStreamingError error={error} {...domProps} />\n      )}\n    >\n      <ApiProvider\n        widgetType=\"admin-portal-audit-log-streaming\"\n        authToken={authToken}\n        baseUrl={baseUrl}\n      >\n        <AdminPortalAuditLogStreamingImpl {...domProps} />\n      </ApiProvider>\n    </ErrorBoundary>\n  );\n};\n\nconst AdminPortalAuditLogStreamingImpl = (props: WidgetRootDomProps) => {\n  const isApiReady = useApiReady();\n\n  const { mutate: generateAdminPortalLink, ...mutation } =\n    useGenerateAdminPortalLink({\n      mutation: {\n        onSuccess: (data) => {\n          window.open(data.link, \"_blank\", \"noopener,noreferrer\");\n        },\n      },\n    });\n\n  const adminPortalLink = mutation.data?.link ?? null;\n\n  const query = useGetAuditLogStream({\n    query: {\n      enabled: isApiReady,\n    },\n  });\n\n  const initConfig = () => {\n    generateAdminPortalLink({\n      params: {\n        intent: \"log_streams\",\n      },\n    });\n  };\n\n  if (query.isLoading) {\n    return <AdminPortalAuditLogStreamingLoading {...props} />;\n  }\n\n  if (query.isError) {\n    return <AdminPortalAuditLogStreamingError error={query.error} {...props} />;\n  }\n\n  if (query.data) {\n    const stream = query.data;\n\n    // Check if stream is configured (has id property)\n    // API returns empty object {} when no stream is configured\n    if (!Object.hasOwn(stream, \"id\")) {\n      return (\n        <AdminPortalAuditLogStreamingPresentational\n          {...props}\n          connectionStatus=\"NotConfigured\"\n          adminPortalOpenButton={\n            <AdminPortalAuditLogStreamingButton\n              isPending={mutation.isPending}\n              href={adminPortalLink}\n              initConfig={initConfig}\n            />\n          }\n        />\n      );\n    }\n\n    // Type assertion: we've confirmed stream has id, so it's AuditLogStreamJSON\n    const configuredStream = stream as AuditLogStreamJSON;\n\n    // Map API state to widget status\n    const statusProps: AdminPortalAuditLogStreamingStatusProps = (() => {\n      switch (configuredStream.state) {\n        case \"Inactive\":\n          return {\n            connectionStatus: \"Inactive\",\n            destinationType: configuredStream.type,\n          };\n        case \"Active\":\n          return {\n            connectionStatus: \"Active\",\n            destinationType: configuredStream.type,\n            lastSyncedEventId: configuredStream.lastSyncedEventId,\n          };\n        case \"Error\":\n          return {\n            connectionStatus: \"Error\",\n            destinationType: configuredStream.type,\n            lastSyncedEventId: configuredStream.lastSyncedEventId,\n          };\n        case \"Invalid\":\n          return {\n            connectionStatus: \"Error\",\n            destinationType: configuredStream.type,\n            lastSyncedEventId: configuredStream.lastSyncedEventId,\n          };\n        default:\n          // Fallback\n          return {\n            connectionStatus: \"Inactive\",\n            destinationType: configuredStream.type,\n          };\n      }\n    })();\n\n    return (\n      <ErrorBoundary\n        fallbackRender={({ error }) => (\n          <AdminPortalAuditLogStreamingError error={error} {...props} />\n        )}\n      >\n        <AdminPortalAuditLogStreamingPresentational\n          {...props}\n          {...statusProps}\n          adminPortalOpenButton={\n            <AdminPortalAuditLogStreamingButton\n              isPending={mutation.isPending}\n              href={adminPortalLink}\n              initConfig={initConfig}\n            />\n          }\n        />\n      </ErrorBoundary>\n    );\n  }\n\n  return <AdminPortalAuditLogStreamingLoading {...props} />;\n};\n\nexport { AdminPortalAuditLogStreaming };\nexport type { AdminPortalAuditLogStreamingProps };\nexport {\n  AdminPortalAuditLogStreamingLoading,\n  AdminPortalAuditLogStreamingError,\n} from \"./lib/admin-portal-audit-log-streaming.js\";\nexport {\n  AdminPortalAuditLogStreaming as AdminPortalAuditLogStreamingPresentational,\n  AdminPortalAuditLogStreamingButton,\n  type AdminPortalAuditLogStreamingStatusProps,\n} from \"./lib/admin-portal-audit-log-streaming.js\";\n"],"mappings":"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","names":["import_admin_portal_audit_log_streaming","AdminPortalAuditLogStreamingPresentational"]}