better-auth-studio 1.1.2-beta.15 → 1.1.2-beta.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +38 -25
- package/data/default-geo.json +1 -1
- package/dist/adapters/astro.d.ts +1 -1
- package/dist/adapters/astro.js +13 -13
- package/dist/adapters/elysia.d.ts +2 -2
- package/dist/adapters/elysia.js +13 -13
- package/dist/adapters/express.d.ts +2 -2
- package/dist/adapters/express.js +4 -4
- package/dist/adapters/hono.d.ts +2 -2
- package/dist/adapters/hono.js +12 -12
- package/dist/adapters/nextjs.d.ts +1 -1
- package/dist/adapters/nextjs.js +10 -10
- package/dist/adapters/nuxt.d.ts +1 -1
- package/dist/adapters/nuxt.js +22 -22
- package/dist/adapters/remix.d.ts +1 -1
- package/dist/adapters/remix.js +13 -13
- package/dist/adapters/solid-start.d.ts +1 -1
- package/dist/adapters/solid-start.js +13 -13
- package/dist/adapters/svelte-kit.d.ts +2 -2
- package/dist/adapters/svelte-kit.js +13 -13
- package/dist/adapters/tanstack-start.d.ts +1 -1
- package/dist/adapters/tanstack-start.js +13 -13
- package/dist/add-svelte-kit-env-modules.js +11 -11
- package/dist/auth-adapter.d.ts +1 -1
- package/dist/auth-adapter.js +96 -96
- package/dist/cli/commands/init.js +57 -57
- package/dist/cli.js +75 -75
- package/dist/config.d.ts +5 -5
- package/dist/config.js +37 -37
- package/dist/core/handler.d.ts +1 -1
- package/dist/core/handler.js +115 -115
- package/dist/data.d.ts +2 -2
- package/dist/data.js +60 -60
- package/dist/geo-service.js +78 -78
- package/dist/get-tsconfig-info.js +4 -4
- package/dist/index.d.ts +8 -8
- package/dist/index.js +6 -6
- package/dist/providers/events/helpers.d.ts +2 -2
- package/dist/providers/events/helpers.js +156 -156
- package/dist/public/assets/{main-Cu8ik7af.js → main-tA7wDMDp.js} +1 -1
- package/dist/public/index.html +1 -1
- package/dist/routes/api-router.d.ts +2 -2
- package/dist/routes/api-router.js +3 -3
- package/dist/routes.d.ts +4 -4
- package/dist/routes.d.ts.map +1 -1
- package/dist/routes.js +1272 -1272
- package/dist/routes.js.map +1 -1
- package/dist/studio.d.ts +3 -3
- package/dist/studio.js +64 -64
- package/dist/types/events.d.ts +7 -7
- package/dist/types/events.js +165 -165
- package/dist/types/handler.d.ts +5 -5
- package/dist/utils/auth-callbacks-injector.d.ts +2 -2
- package/dist/utils/auth-callbacks-injector.js +27 -27
- package/dist/utils/auth-callbacks-wrapper.d.ts +3 -3
- package/dist/utils/auth-callbacks-wrapper.js +117 -107
- package/dist/utils/database-detection.d.ts +1 -1
- package/dist/utils/database-detection.js +44 -44
- package/dist/utils/database-hook-injector.d.ts +3 -3
- package/dist/utils/database-hook-injector.js +135 -131
- package/dist/utils/email-otp-hooks-injector.d.ts +28 -12
- package/dist/utils/email-otp-hooks-injector.js +104 -97
- package/dist/utils/event-ingestion.d.ts +5 -5
- package/dist/utils/event-ingestion.d.ts.map +1 -1
- package/dist/utils/event-ingestion.js +14 -16
- package/dist/utils/event-ingestion.js.map +1 -1
- package/dist/utils/hook-injector.d.ts +2 -2
- package/dist/utils/hook-injector.js +199 -199
- package/dist/utils/html-injector.d.ts +3 -3
- package/dist/utils/html-injector.js +37 -37
- package/dist/utils/org-hooks-injector.d.ts +3 -3
- package/dist/utils/org-hooks-injector.js +63 -63
- package/dist/utils/org-hooks-wrapper.d.ts +41 -35
- package/dist/utils/org-hooks-wrapper.js +778 -658
- package/dist/utils/organization-hooks-wrapper.d.ts +23 -17
- package/dist/utils/organization-hooks-wrapper.js +325 -277
- package/dist/utils/package-json.js +11 -11
- package/dist/utils/paths.js +1 -1
- package/dist/utils/server-init.d.ts +1 -1
- package/dist/utils/server-init.js +25 -25
- package/dist/utils/session.js +12 -12
- package/dist/utils.js +24 -24
- package/package.json +47 -55
- package/public/assets/{main-Cu8ik7af.js → main-tA7wDMDp.js} +1 -1
- package/public/index.html +1 -1
- package/scripts/download-geolite2.js +8 -8
- package/scripts/generate-default-db.js +324 -324
- package/scripts/postinstall.js +25 -25
package/dist/types/events.js
CHANGED
|
@@ -1,275 +1,275 @@
|
|
|
1
1
|
export const EVENT_TEMPLATES = {
|
|
2
|
-
|
|
3
|
-
const name = event.metadata?.name || event.metadata?.email ||
|
|
4
|
-
if (event.status ===
|
|
5
|
-
const reason = event.metadata?.reason ||
|
|
2
|
+
"user.joined": (event) => {
|
|
3
|
+
const name = event.metadata?.name || event.metadata?.email || "User";
|
|
4
|
+
if (event.status === "failed") {
|
|
5
|
+
const reason = event.metadata?.reason || "unknown error";
|
|
6
6
|
return `${name} failed to join`;
|
|
7
7
|
}
|
|
8
8
|
return `${name} joined!`;
|
|
9
9
|
},
|
|
10
|
-
|
|
11
|
-
const name = event.metadata?.name || event.metadata?.email ||
|
|
10
|
+
"user.updated": (event) => {
|
|
11
|
+
const name = event.metadata?.name || event.metadata?.email || "User";
|
|
12
12
|
return `${name} updated their profile`;
|
|
13
13
|
},
|
|
14
|
-
|
|
15
|
-
const name = event.metadata?.name || event.metadata?.email ||
|
|
16
|
-
if (event.status ===
|
|
17
|
-
const reason = event.metadata?.reason ||
|
|
14
|
+
"user.logged_in": (event) => {
|
|
15
|
+
const name = event.metadata?.name || event.metadata?.email || "User";
|
|
16
|
+
if (event.status === "failed") {
|
|
17
|
+
const reason = event.metadata?.reason || "invalid credentials";
|
|
18
18
|
return `${name} failed to login`;
|
|
19
19
|
}
|
|
20
20
|
return `${name} logged in`;
|
|
21
21
|
},
|
|
22
|
-
|
|
23
|
-
const name = event.metadata?.name || event.metadata?.email ||
|
|
24
|
-
if (event.status ===
|
|
25
|
-
const reason = event.metadata?.reason ||
|
|
22
|
+
"user.logged_out": (event) => {
|
|
23
|
+
const name = event.metadata?.name || event.metadata?.email || "User";
|
|
24
|
+
if (event.status === "failed") {
|
|
25
|
+
const reason = event.metadata?.reason || "invalid credentials";
|
|
26
26
|
return `${name} failed to logout`;
|
|
27
27
|
}
|
|
28
28
|
return `${name} logged out`;
|
|
29
29
|
},
|
|
30
|
-
|
|
31
|
-
const name = event.metadata?.name || event.metadata?.email ||
|
|
32
|
-
if (event.status ===
|
|
33
|
-
const reason = event.metadata?.reason ||
|
|
30
|
+
"user.password_changed": (event) => {
|
|
31
|
+
const name = event.metadata?.name || event.metadata?.email || "User";
|
|
32
|
+
if (event.status === "failed") {
|
|
33
|
+
const reason = event.metadata?.reason || "invalid credentials";
|
|
34
34
|
return `${name} failed to change password`;
|
|
35
35
|
}
|
|
36
36
|
return `${name} changed password`;
|
|
37
37
|
},
|
|
38
|
-
|
|
39
|
-
const name = event.metadata?.name || event.metadata?.email ||
|
|
40
|
-
if (event.status ===
|
|
41
|
-
const reason = event.metadata?.reason ||
|
|
38
|
+
"user.email_verified": (event) => {
|
|
39
|
+
const name = event.metadata?.name || event.metadata?.email || "User";
|
|
40
|
+
if (event.status === "failed") {
|
|
41
|
+
const reason = event.metadata?.reason || "invalid credentials";
|
|
42
42
|
return `${name} failed to verify email`;
|
|
43
43
|
}
|
|
44
44
|
return `${name} verified email`;
|
|
45
45
|
},
|
|
46
|
-
|
|
47
|
-
const name = event.metadata?.name || event.metadata?.email ||
|
|
48
|
-
if (event.status ===
|
|
49
|
-
const reason = event.metadata?.reason ||
|
|
46
|
+
"user.banned": (event) => {
|
|
47
|
+
const name = event.metadata?.name || event.metadata?.email || "User";
|
|
48
|
+
if (event.status === "failed") {
|
|
49
|
+
const reason = event.metadata?.reason || "invalid credentials";
|
|
50
50
|
return `${name} failed to ban`;
|
|
51
51
|
}
|
|
52
52
|
return `${name} was banned`;
|
|
53
53
|
},
|
|
54
|
-
|
|
55
|
-
const name = event.metadata?.name || event.metadata?.email ||
|
|
56
|
-
if (event.status ===
|
|
57
|
-
const reason = event.metadata?.reason ||
|
|
54
|
+
"user.unbanned": (event) => {
|
|
55
|
+
const name = event.metadata?.name || event.metadata?.email || "User";
|
|
56
|
+
if (event.status === "failed") {
|
|
57
|
+
const reason = event.metadata?.reason || "invalid credentials";
|
|
58
58
|
return `${name} failed to unban`;
|
|
59
59
|
}
|
|
60
60
|
return `${name} was unbanned`;
|
|
61
61
|
},
|
|
62
|
-
|
|
63
|
-
const name = event.metadata?.name || event.metadata?.email ||
|
|
62
|
+
"user.deleted": (event) => {
|
|
63
|
+
const name = event.metadata?.name || event.metadata?.email || "User";
|
|
64
64
|
return `${name} was deleted`;
|
|
65
65
|
},
|
|
66
|
-
|
|
67
|
-
const name = event.metadata?.name || event.metadata?.email ||
|
|
68
|
-
if (event.status ===
|
|
69
|
-
const reason = event.metadata?.reason ||
|
|
66
|
+
"user.delete_verification_requested": (event) => {
|
|
67
|
+
const name = event.metadata?.name || event.metadata?.email || "User";
|
|
68
|
+
if (event.status === "failed") {
|
|
69
|
+
const reason = event.metadata?.reason || "unknown error";
|
|
70
70
|
return `Failed to send delete verification for "${name}"`;
|
|
71
71
|
}
|
|
72
72
|
return `Delete verification requested for ${name}`;
|
|
73
73
|
},
|
|
74
|
-
|
|
75
|
-
const orgName = event.metadata?.organizationName ||
|
|
76
|
-
if (event.status ===
|
|
77
|
-
const reason = event.metadata?.reason ||
|
|
74
|
+
"organization.created": (event) => {
|
|
75
|
+
const orgName = event.metadata?.organizationName || "Organization";
|
|
76
|
+
if (event.status === "failed") {
|
|
77
|
+
const reason = event.metadata?.reason || "invalid credentials";
|
|
78
78
|
return `Failed to create organization "${orgName}"`;
|
|
79
79
|
}
|
|
80
|
-
return `New organization "${orgName}" created by ${event.metadata?.name.split(
|
|
80
|
+
return `New organization "${orgName}" created by ${event.metadata?.name.split(" ")[0]}`;
|
|
81
81
|
},
|
|
82
|
-
|
|
83
|
-
const orgName = event.metadata?.organizationName ||
|
|
84
|
-
if (event.status ===
|
|
85
|
-
const reason = event.metadata?.reason ||
|
|
82
|
+
"organization.deleted": (event) => {
|
|
83
|
+
const orgName = event.metadata?.organizationName || "Organization";
|
|
84
|
+
if (event.status === "failed") {
|
|
85
|
+
const reason = event.metadata?.reason || "invalid credentials";
|
|
86
86
|
return `Failed to delete organization "${orgName}"`;
|
|
87
87
|
}
|
|
88
88
|
return `Organization "${orgName}" deleted`;
|
|
89
89
|
},
|
|
90
|
-
|
|
91
|
-
const orgName = event.metadata?.organizationName ||
|
|
92
|
-
if (event.status ===
|
|
93
|
-
const reason = event.metadata?.reason ||
|
|
90
|
+
"organization.updated": (event) => {
|
|
91
|
+
const orgName = event.metadata?.organizationName || "Organization";
|
|
92
|
+
if (event.status === "failed") {
|
|
93
|
+
const reason = event.metadata?.reason || "invalid credentials";
|
|
94
94
|
return `Failed to update organization "${orgName}"`;
|
|
95
95
|
}
|
|
96
96
|
return `Organization "${orgName}" updated`;
|
|
97
97
|
},
|
|
98
|
-
|
|
99
|
-
const memberName = event.metadata?.addedByName || event.metadata?.addedByEmail ||
|
|
100
|
-
const orgName = event.metadata?.organizationName ||
|
|
101
|
-
if (event.status ===
|
|
102
|
-
const reason = event.metadata?.reason ||
|
|
98
|
+
"member.added": (event) => {
|
|
99
|
+
const memberName = event.metadata?.addedByName || event.metadata?.addedByEmail || "Member";
|
|
100
|
+
const orgName = event.metadata?.organizationName || "organization";
|
|
101
|
+
if (event.status === "failed") {
|
|
102
|
+
const reason = event.metadata?.reason || "invalid credentials";
|
|
103
103
|
return `Failed to add member "${memberName}" to "${orgName}"`;
|
|
104
104
|
}
|
|
105
105
|
return `${memberName} added to ${orgName}`;
|
|
106
106
|
},
|
|
107
|
-
|
|
108
|
-
const memberName = event.metadata?.removedByName || event.metadata?.removedByEmail ||
|
|
109
|
-
const orgName = event.metadata?.organizationName ||
|
|
110
|
-
if (event.status ===
|
|
111
|
-
const reason = event.metadata?.reason ||
|
|
107
|
+
"member.removed": (event) => {
|
|
108
|
+
const memberName = event.metadata?.removedByName || event.metadata?.removedByEmail || "Member";
|
|
109
|
+
const orgName = event.metadata?.organizationName || "organization";
|
|
110
|
+
if (event.status === "failed") {
|
|
111
|
+
const reason = event.metadata?.reason || "invalid credentials";
|
|
112
112
|
return `Failed to remove member "${memberName}" from "${orgName}"`;
|
|
113
113
|
}
|
|
114
114
|
return `${memberName} removed from ${orgName}`;
|
|
115
115
|
},
|
|
116
|
-
|
|
117
|
-
const memberName = event.metadata?.changedByName || event.metadata?.changedByEmail ||
|
|
118
|
-
const oldRole = event.metadata?.oldRole ||
|
|
119
|
-
const newRole = event.metadata?.newRole ||
|
|
120
|
-
if (event.status ===
|
|
121
|
-
const reason = event.metadata?.reason ||
|
|
116
|
+
"member.role_changed": (event) => {
|
|
117
|
+
const memberName = event.metadata?.changedByName || event.metadata?.changedByEmail || "Member";
|
|
118
|
+
const oldRole = event.metadata?.oldRole || "member";
|
|
119
|
+
const newRole = event.metadata?.newRole || "member";
|
|
120
|
+
if (event.status === "failed") {
|
|
121
|
+
const reason = event.metadata?.reason || "invalid credentials";
|
|
122
122
|
return `Failed to change role of "${memberName}" from "${oldRole}" to "${newRole}"`;
|
|
123
123
|
}
|
|
124
124
|
return `${memberName} role changed from ${oldRole} to ${newRole}`;
|
|
125
125
|
},
|
|
126
|
-
|
|
127
|
-
const name = event.metadata?.name || event.metadata?.email ||
|
|
128
|
-
if (event.status ===
|
|
129
|
-
const reason = event.metadata?.reason ||
|
|
126
|
+
"session.created": (event) => {
|
|
127
|
+
const name = event.metadata?.name || event.metadata?.email || "User";
|
|
128
|
+
if (event.status === "failed") {
|
|
129
|
+
const reason = event.metadata?.reason || "invalid credentials";
|
|
130
130
|
return `Failed to create session for "${name}"`;
|
|
131
131
|
}
|
|
132
132
|
return `New session created for ${name}`;
|
|
133
133
|
},
|
|
134
|
-
|
|
135
|
-
const email = event.metadata?.email ||
|
|
134
|
+
"login.failed": (event) => {
|
|
135
|
+
const email = event.metadata?.email || "User";
|
|
136
136
|
return `Failed login attempt for ${email}`;
|
|
137
137
|
},
|
|
138
|
-
|
|
139
|
-
const email = event.metadata?.email ||
|
|
140
|
-
if (event.status ===
|
|
141
|
-
const reason = event.metadata?.reason ||
|
|
138
|
+
"password.reset_requested": (event) => {
|
|
139
|
+
const email = event.metadata?.email || "User";
|
|
140
|
+
if (event.status === "failed") {
|
|
141
|
+
const reason = event.metadata?.reason || "invalid credentials";
|
|
142
142
|
return `Failed to request password reset for "${email}"`;
|
|
143
143
|
}
|
|
144
144
|
return `Password reset requested for ${email}`;
|
|
145
145
|
},
|
|
146
|
-
|
|
147
|
-
const name = event.metadata?.name || event.metadata?.email ||
|
|
148
|
-
if (event.status ===
|
|
149
|
-
const reason = event.metadata?.reason ||
|
|
146
|
+
"password.reset_completed": (event) => {
|
|
147
|
+
const name = event.metadata?.name || event.metadata?.email || "Someone";
|
|
148
|
+
if (event.status === "failed") {
|
|
149
|
+
const reason = event.metadata?.reason || "invalid credentials";
|
|
150
150
|
return `Failed to complete password reset for "${name}"`;
|
|
151
151
|
}
|
|
152
152
|
return `${name} reset their password`;
|
|
153
153
|
},
|
|
154
|
-
|
|
155
|
-
const email = event.metadata?.email ||
|
|
156
|
-
if (event.status ===
|
|
157
|
-
const reason = event.metadata?.reason ||
|
|
154
|
+
"password.reset_requested_otp": (event) => {
|
|
155
|
+
const email = event.metadata?.email || "User";
|
|
156
|
+
if (event.status === "failed") {
|
|
157
|
+
const reason = event.metadata?.reason || "unknown error";
|
|
158
158
|
return `Failed to request password reset OTP for "${email}"`;
|
|
159
159
|
}
|
|
160
160
|
return `Password reset OTP requested for ${email}`;
|
|
161
161
|
},
|
|
162
|
-
|
|
163
|
-
const name = event.metadata?.name || event.metadata?.email ||
|
|
164
|
-
if (event.status ===
|
|
165
|
-
const reason = event.metadata?.reason ||
|
|
162
|
+
"password.reset_completed_otp": (event) => {
|
|
163
|
+
const name = event.metadata?.name || event.metadata?.email || "Someone";
|
|
164
|
+
if (event.status === "failed") {
|
|
165
|
+
const reason = event.metadata?.reason || "invalid credentials";
|
|
166
166
|
return `Failed to complete password reset via email OTP for "${name}"`;
|
|
167
167
|
}
|
|
168
168
|
return `${name} reset their password via email OTP`;
|
|
169
169
|
},
|
|
170
|
-
|
|
171
|
-
const provider = event.metadata?.provider ||
|
|
172
|
-
if (event.status ===
|
|
173
|
-
const reason = event.metadata?.reason ||
|
|
170
|
+
"oauth.linked": (event) => {
|
|
171
|
+
const provider = event.metadata?.provider || "OAuth";
|
|
172
|
+
if (event.status === "failed") {
|
|
173
|
+
const reason = event.metadata?.reason || "invalid credentials";
|
|
174
174
|
return `Failed to link OAuth account "${provider}"`;
|
|
175
175
|
}
|
|
176
176
|
return `OAuth account linked: ${provider}`;
|
|
177
177
|
},
|
|
178
|
-
|
|
179
|
-
const provider = event.metadata?.provider ||
|
|
180
|
-
if (event.status ===
|
|
181
|
-
const reason = event.metadata?.reason ||
|
|
178
|
+
"oauth.unlinked": (event) => {
|
|
179
|
+
const provider = event.metadata?.provider || "OAuth";
|
|
180
|
+
if (event.status === "failed") {
|
|
181
|
+
const reason = event.metadata?.reason || "invalid credentials";
|
|
182
182
|
return `Failed to unlink OAuth account "${provider}"`;
|
|
183
183
|
}
|
|
184
184
|
return `OAuth account unlinked: ${provider}`;
|
|
185
185
|
},
|
|
186
|
-
|
|
187
|
-
const provider = event.metadata?.provider || event.metadata?.providerId ||
|
|
188
|
-
const name = event.metadata?.name || event.metadata?.userEmail ||
|
|
189
|
-
if (event.status ===
|
|
190
|
-
const reason = event.metadata?.reason ||
|
|
186
|
+
"oauth.sign_in": (event) => {
|
|
187
|
+
const provider = event.metadata?.provider || event.metadata?.providerId || "OAuth";
|
|
188
|
+
const name = event.metadata?.name || event.metadata?.userEmail || "User";
|
|
189
|
+
if (event.status === "failed") {
|
|
190
|
+
const reason = event.metadata?.reason || "invalid credentials";
|
|
191
191
|
return `Failed to sign in via ${provider} for "${name}"`;
|
|
192
192
|
}
|
|
193
193
|
return `${name} signed in via ${provider}`;
|
|
194
194
|
},
|
|
195
|
-
|
|
196
|
-
const teamName = event.metadata?.teamName ||
|
|
197
|
-
const orgName = event.metadata?.organizationName ||
|
|
198
|
-
if (event.status ===
|
|
199
|
-
const reason = event.metadata?.reason ||
|
|
195
|
+
"team.created": (event) => {
|
|
196
|
+
const teamName = event.metadata?.teamName || "Team";
|
|
197
|
+
const orgName = event.metadata?.organizationName || "organization";
|
|
198
|
+
if (event.status === "failed") {
|
|
199
|
+
const reason = event.metadata?.reason || "unknown error";
|
|
200
200
|
return `Failed to create team "${teamName}" in "${orgName}"`;
|
|
201
201
|
}
|
|
202
202
|
return `Team "${teamName}" created in ${orgName}`;
|
|
203
203
|
},
|
|
204
|
-
|
|
205
|
-
const teamName = event.metadata?.teamName ||
|
|
206
|
-
const orgName = event.metadata?.organizationName ||
|
|
207
|
-
if (event.status ===
|
|
208
|
-
const reason = event.metadata?.reason ||
|
|
204
|
+
"team.updated": (event) => {
|
|
205
|
+
const teamName = event.metadata?.teamName || "Team";
|
|
206
|
+
const orgName = event.metadata?.organizationName || "organization";
|
|
207
|
+
if (event.status === "failed") {
|
|
208
|
+
const reason = event.metadata?.reason || "unknown error";
|
|
209
209
|
return `Failed to update team "${teamName}" in "${orgName}"`;
|
|
210
210
|
}
|
|
211
211
|
return `Team "${teamName}" updated in ${orgName}`;
|
|
212
212
|
},
|
|
213
|
-
|
|
214
|
-
const teamName = event.metadata?.teamName ||
|
|
215
|
-
const orgName = event.metadata?.organizationName ||
|
|
216
|
-
if (event.status ===
|
|
217
|
-
const reason = event.metadata?.reason ||
|
|
213
|
+
"team.deleted": (event) => {
|
|
214
|
+
const teamName = event.metadata?.teamName || "Team";
|
|
215
|
+
const orgName = event.metadata?.organizationName || "organization";
|
|
216
|
+
if (event.status === "failed") {
|
|
217
|
+
const reason = event.metadata?.reason || "unknown error";
|
|
218
218
|
return `Failed to delete team "${teamName}" from "${orgName}"`;
|
|
219
219
|
}
|
|
220
220
|
return `Team "${teamName}" deleted from ${orgName}`;
|
|
221
221
|
},
|
|
222
|
-
|
|
223
|
-
const memberName = event.metadata?.addedName || event.metadata?.addedEmail ||
|
|
224
|
-
const teamName = event.metadata?.teamName ||
|
|
225
|
-
if (event.status ===
|
|
226
|
-
const reason = event.metadata?.reason ||
|
|
222
|
+
"team.member.added": (event) => {
|
|
223
|
+
const memberName = event.metadata?.addedName || event.metadata?.addedEmail || "Member";
|
|
224
|
+
const teamName = event.metadata?.teamName || "team";
|
|
225
|
+
if (event.status === "failed") {
|
|
226
|
+
const reason = event.metadata?.reason || "unknown error";
|
|
227
227
|
return `Failed to add member "${memberName}" to team "${teamName}"`;
|
|
228
228
|
}
|
|
229
229
|
return `${memberName} added to team "${teamName}"`;
|
|
230
230
|
},
|
|
231
|
-
|
|
232
|
-
const memberName = event.metadata?.removedName || event.metadata?.removedEmail ||
|
|
233
|
-
const teamName = event.metadata?.teamName ||
|
|
234
|
-
if (event.status ===
|
|
235
|
-
const reason = event.metadata?.reason ||
|
|
231
|
+
"team.member.removed": (event) => {
|
|
232
|
+
const memberName = event.metadata?.removedName || event.metadata?.removedEmail || "Member";
|
|
233
|
+
const teamName = event.metadata?.teamName || "team";
|
|
234
|
+
if (event.status === "failed") {
|
|
235
|
+
const reason = event.metadata?.reason || "unknown error";
|
|
236
236
|
return `Failed to remove member "${memberName}" from team "${teamName}"`;
|
|
237
237
|
}
|
|
238
238
|
return `${memberName} removed from team "${teamName}"`;
|
|
239
239
|
},
|
|
240
|
-
|
|
241
|
-
const email = event.metadata?.email ||
|
|
242
|
-
const orgName = event.metadata?.organizationName ||
|
|
243
|
-
const role = event.metadata?.role ||
|
|
244
|
-
if (event.status ===
|
|
245
|
-
const reason = event.metadata?.reason ||
|
|
240
|
+
"invitation.created": (event) => {
|
|
241
|
+
const email = event.metadata?.email || "user";
|
|
242
|
+
const orgName = event.metadata?.organizationName || "organization";
|
|
243
|
+
const role = event.metadata?.role || "member";
|
|
244
|
+
if (event.status === "failed") {
|
|
245
|
+
const reason = event.metadata?.reason || "unknown error";
|
|
246
246
|
return `Failed to create invitation for "${email}" to join "${orgName}"`;
|
|
247
247
|
}
|
|
248
248
|
return `Invitation sent to ${email} to join ${orgName} as ${role}`;
|
|
249
249
|
},
|
|
250
|
-
|
|
251
|
-
const email = event.metadata?.email ||
|
|
252
|
-
const orgName = event.metadata?.organizationName ||
|
|
253
|
-
if (event.status ===
|
|
254
|
-
const reason = event.metadata?.reason ||
|
|
250
|
+
"invitation.accepted": (event) => {
|
|
251
|
+
const email = event.metadata?.email || "user";
|
|
252
|
+
const orgName = event.metadata?.organizationName || "organization";
|
|
253
|
+
if (event.status === "failed") {
|
|
254
|
+
const reason = event.metadata?.reason || "unknown error";
|
|
255
255
|
return `Failed to accept invitation for "${email}" to join "${orgName}"`;
|
|
256
256
|
}
|
|
257
257
|
return `${email} accepted invitation to join ${orgName}`;
|
|
258
258
|
},
|
|
259
|
-
|
|
260
|
-
const email = event.metadata?.email ||
|
|
261
|
-
const orgName = event.metadata?.organizationName ||
|
|
262
|
-
if (event.status ===
|
|
263
|
-
const reason = event.metadata?.reason ||
|
|
259
|
+
"invitation.rejected": (event) => {
|
|
260
|
+
const email = event.metadata?.email || "user";
|
|
261
|
+
const orgName = event.metadata?.organizationName || "organization";
|
|
262
|
+
if (event.status === "failed") {
|
|
263
|
+
const reason = event.metadata?.reason || "unknown error";
|
|
264
264
|
return `Failed to reject invitation for "${email}" to join "${orgName}"`;
|
|
265
265
|
}
|
|
266
266
|
return `${email} rejected invitation to join ${orgName}`;
|
|
267
267
|
},
|
|
268
|
-
|
|
269
|
-
const email = event.metadata?.email ||
|
|
270
|
-
const orgName = event.metadata?.organizationName ||
|
|
271
|
-
if (event.status ===
|
|
272
|
-
const reason = event.metadata?.reason ||
|
|
268
|
+
"invitation.cancelled": (event) => {
|
|
269
|
+
const email = event.metadata?.email || "user";
|
|
270
|
+
const orgName = event.metadata?.organizationName || "organization";
|
|
271
|
+
if (event.status === "failed") {
|
|
272
|
+
const reason = event.metadata?.reason || "unknown error";
|
|
273
273
|
return `Failed to cancel invitation for "${email}" to join "${orgName}"`;
|
|
274
274
|
}
|
|
275
275
|
return `Invitation cancelled for ${email} to join ${orgName}`;
|
|
@@ -277,30 +277,30 @@ export const EVENT_TEMPLATES = {
|
|
|
277
277
|
};
|
|
278
278
|
export function getEventSeverity(event, status) {
|
|
279
279
|
// Use the status parameter if provided, otherwise use event.status
|
|
280
|
-
const eventStatus = status || (typeof event ===
|
|
280
|
+
const eventStatus = status || (typeof event === "object" && "status" in event ? event.status : undefined);
|
|
281
281
|
// If status is 'failed', return 'failed' severity
|
|
282
|
-
if (eventStatus ===
|
|
283
|
-
return
|
|
282
|
+
if (eventStatus === "failed") {
|
|
283
|
+
return "failed";
|
|
284
284
|
}
|
|
285
|
-
const type = typeof event ===
|
|
286
|
-
if (type.includes(
|
|
287
|
-
type.includes(
|
|
288
|
-
type.includes(
|
|
289
|
-
type.includes(
|
|
290
|
-
type.includes(
|
|
291
|
-
type.includes(
|
|
292
|
-
type.includes(
|
|
293
|
-
return
|
|
285
|
+
const type = typeof event === "object" && "type" in event ? event.type : "";
|
|
286
|
+
if (type.includes("joined") ||
|
|
287
|
+
type.includes("created") ||
|
|
288
|
+
type.includes("verified") ||
|
|
289
|
+
type.includes("accepted") ||
|
|
290
|
+
type.includes("added") ||
|
|
291
|
+
type.includes("sign_in") ||
|
|
292
|
+
type.includes("logged_in")) {
|
|
293
|
+
return "success";
|
|
294
294
|
}
|
|
295
|
-
if (type.includes(
|
|
296
|
-
type.includes(
|
|
297
|
-
(type.includes(
|
|
298
|
-
return
|
|
295
|
+
if (type.includes("failed") ||
|
|
296
|
+
type.includes("banned") ||
|
|
297
|
+
(type.includes("deleted") && !type.includes("verification"))) {
|
|
298
|
+
return "failed";
|
|
299
299
|
}
|
|
300
|
-
if (type.includes(
|
|
301
|
-
return
|
|
300
|
+
if (type.includes("warning") || type.includes("reset") || type.includes("verification")) {
|
|
301
|
+
return "warning";
|
|
302
302
|
}
|
|
303
303
|
// rejected, cancelled, removed, updated are informational
|
|
304
|
-
return
|
|
304
|
+
return "info";
|
|
305
305
|
}
|
|
306
306
|
//# sourceMappingURL=events.js.map
|
package/dist/types/handler.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ export type UniversalResponse = {
|
|
|
9
9
|
headers: Record<string, string>;
|
|
10
10
|
body: string | Buffer;
|
|
11
11
|
};
|
|
12
|
-
export type TimeWindowPreset =
|
|
12
|
+
export type TimeWindowPreset = "15m" | "30m" | "1h" | "2h" | "4h" | "6h" | "12h" | "1d" | "2d" | "3d" | "7d" | "14d" | "30d";
|
|
13
13
|
export type TimeWindowConfig = {
|
|
14
14
|
since: TimeWindowPreset;
|
|
15
15
|
custom?: never;
|
|
@@ -23,7 +23,7 @@ export type LiveMarqueeConfig = {
|
|
|
23
23
|
speed?: number;
|
|
24
24
|
pauseOnHover?: boolean;
|
|
25
25
|
limit?: number;
|
|
26
|
-
sort?:
|
|
26
|
+
sort?: "asc" | "desc";
|
|
27
27
|
colors?: EventColors;
|
|
28
28
|
timeWindow?: TimeWindowConfig;
|
|
29
29
|
};
|
|
@@ -36,7 +36,7 @@ export type StudioMetadata = {
|
|
|
36
36
|
website?: string;
|
|
37
37
|
supportEmail?: string;
|
|
38
38
|
};
|
|
39
|
-
theme?:
|
|
39
|
+
theme?: "dark" | "light" | "auto";
|
|
40
40
|
colors?: {
|
|
41
41
|
primary?: string;
|
|
42
42
|
secondary?: string;
|
|
@@ -62,7 +62,7 @@ export type StudioAccessConfig = {
|
|
|
62
62
|
sessionDuration?: number;
|
|
63
63
|
secret?: string;
|
|
64
64
|
};
|
|
65
|
-
import type { AuthEvent, AuthEventType, EventIngestionProvider } from
|
|
65
|
+
import type { AuthEvent, AuthEventType, EventIngestionProvider } from "./events.js";
|
|
66
66
|
export type StudioConfig = {
|
|
67
67
|
auth: any;
|
|
68
68
|
basePath?: string;
|
|
@@ -73,7 +73,7 @@ export type StudioConfig = {
|
|
|
73
73
|
tableName?: string;
|
|
74
74
|
provider?: EventIngestionProvider;
|
|
75
75
|
client?: any;
|
|
76
|
-
clientType?:
|
|
76
|
+
clientType?: "postgres" | "prisma" | "drizzle" | "clickhouse" | "http" | "custom" | "sqlite";
|
|
77
77
|
include?: AuthEventType[];
|
|
78
78
|
exclude?: AuthEventType[];
|
|
79
79
|
batchSize?: number;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { StudioConfig } from
|
|
2
|
-
export declare function wrapAuthCallbacks(auth: any, eventsConfig: StudioConfig[
|
|
1
|
+
import type { StudioConfig } from "../types/handler.js";
|
|
2
|
+
export declare function wrapAuthCallbacks(auth: any, eventsConfig: StudioConfig["events"]): void;
|
|
3
3
|
//# sourceMappingURL=auth-callbacks-injector.d.ts.map
|