Skip to content

Commit

Permalink
feat: Add connect_webview events
Browse files Browse the repository at this point in the history
  • Loading branch information
seambot authored Aug 10, 2024
1 parent 2269735 commit 963741b
Show file tree
Hide file tree
Showing 5 changed files with 64 additions and 5 deletions.
45 changes: 45 additions & 0 deletions src/lib/seam/connect/models/events/connect-webviews.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
import { z } from 'zod'

import { common_event } from './common.js'

const connect_webview_event = common_event.extend({
connect_webview_id: z.string().uuid().describe(`
---
title: Connect Webview ID
---
ID of the connect webview.
`),
})

const connected_account_id = z.string().uuid().describe(`
---
title: Connected Account ID
---
ID of the connected account.
`)

export const connect_webview_login_succeeded_event = connect_webview_event
.extend({
event_type: z.literal('connect_webview.login_succeeded'),
connected_account_id,
})
.describe('A connect webview had a successful login.')

export type ConnectWebviewLoginSucceededEvent = z.infer<
typeof connect_webview_login_succeeded_event
>

export const connect_webview_login_failed_event = connect_webview_event
.extend({
event_type: z.literal('connect_webview.login_failed'),
})
.describe('A connect webview had a failed login.')

export type ConnectWebviewLoginFailedEvent = z.infer<
typeof connect_webview_login_failed_event
>

export const connect_webview_events = [
connect_webview_login_succeeded_event,
connect_webview_login_failed_event,
] as const
14 changes: 9 additions & 5 deletions src/lib/seam/connect/models/events/connected-accounts.ts
Original file line number Diff line number Diff line change
Expand Up @@ -41,14 +41,18 @@ export const connected_account_created_event = connected_account_event
export type ConnectedAccountCreatedEvent = z.infer<
typeof connected_account_created_event
>

export const connected_account_successful_login_event = connected_account_event
.extend({
/** @deprecated */
export const connected_account_successful_login_event =
connected_account_event.extend({
event_type: z.literal('connected_account.successful_login'),
connect_webview_id,
})
.describe('A connected account had a successful connect webview login.')
}).describe(`
---
deprecated: Use \`connect_webview.login_succeeded\`.
---
A connected account had a successful connect webview login.`)

/** @deprecated Rely on ConnectWebviewLoginSucceededEvent instead */
export type ConnectedAccountSuccessfulLoginEvent = z.infer<
typeof connected_account_successful_login_event
>
Expand Down
2 changes: 2 additions & 0 deletions src/lib/seam/connect/models/events/seam-event.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import { z } from 'zod'
import { access_code_events } from './access-codes.js'
import { acs_events } from './acs/index.js'
import { client_session_events } from './client-sessions.js'
import { connect_webview_events } from './connect-webviews.js'
import { connected_account_events } from './connected-accounts.js'
import { device_events } from './devices.js'
import { enrollment_automation_events } from './enrollment-automations.js'
Expand All @@ -13,6 +14,7 @@ export const seam_event = z.discriminatedUnion('event_type', [
...acs_events,
...client_session_events,
...connected_account_events,
...connect_webview_events,
...device_events,
...enrollment_automation_events,
...phone_events,
Expand Down
4 changes: 4 additions & 0 deletions src/lib/seam/connect/openapi.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9778,6 +9778,8 @@ export default {
'connected_account.disconnected',
'connected_account.completed_first_sync',
'connected_account.completed_first_sync_after_reconnection',
'connect_webview.login_succeeded',
'connect_webview.login_failed',
'noise_sensor.noise_threshold_triggered',
'access_code.backup_access_code_pulled',
'acs_system.connected',
Expand Down Expand Up @@ -9843,6 +9845,8 @@ export default {
'connected_account.disconnected',
'connected_account.completed_first_sync',
'connected_account.completed_first_sync_after_reconnection',
'connect_webview.login_succeeded',
'connect_webview.login_failed',
'noise_sensor.noise_threshold_triggered',
'access_code.backup_access_code_pulled',
'acs_system.connected',
Expand Down
4 changes: 4 additions & 0 deletions src/lib/seam/connect/route-types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7374,6 +7374,8 @@ export interface Routes {
| 'connected_account.disconnected'
| 'connected_account.completed_first_sync'
| 'connected_account.completed_first_sync_after_reconnection'
| 'connect_webview.login_succeeded'
| 'connect_webview.login_failed'
| 'noise_sensor.noise_threshold_triggered'
| 'access_code.backup_access_code_pulled'
| 'acs_system.connected'
Expand Down Expand Up @@ -7437,6 +7439,8 @@ export interface Routes {
| 'connected_account.disconnected'
| 'connected_account.completed_first_sync'
| 'connected_account.completed_first_sync_after_reconnection'
| 'connect_webview.login_succeeded'
| 'connect_webview.login_failed'
| 'noise_sensor.noise_threshold_triggered'
| 'access_code.backup_access_code_pulled'
| 'acs_system.connected'
Expand Down

0 comments on commit 963741b

Please sign in to comment.