@seamless-auth/types 0.9.0 → 0.11.0
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/CHANGELOG.md +36 -0
- package/dist/schemas/admin/schema.d.ts +4 -0
- package/dist/schemas/admin/schema.d.ts.map +1 -1
- package/dist/schemas/authEvent/schema.d.ts +6 -0
- package/dist/schemas/authEvent/schema.d.ts.map +1 -1
- package/dist/schemas/authEvent/schema.js +20 -0
- package/dist/schemas/authEvent/schema.js.map +1 -1
- package/dist/schemas/metrics/schema.d.ts +4 -0
- package/dist/schemas/metrics/schema.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/schemas/authEvent/schema.ts +20 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,41 @@
|
|
|
1
1
|
# @seamless-auth/types
|
|
2
2
|
|
|
3
|
+
## 0.11.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 9a836dd: Correlate audit events to the session they happened in.
|
|
8
|
+
|
|
9
|
+
`AuthEventSchema` gains `session_id`, and `AuthEventQuerySchema` gains a
|
|
10
|
+
`sessionId` filter.
|
|
11
|
+
|
|
12
|
+
Given a suspicious session there was no way to pull its event history, and given
|
|
13
|
+
an event no way to find the session it came from, even though sessions already
|
|
14
|
+
have a stable id and it already travels in the access token.
|
|
15
|
+
|
|
16
|
+
Additive and backward compatible. The field is nullable and optional, so events
|
|
17
|
+
predating the column still parse, and it stays null for anything that happened
|
|
18
|
+
before a session existed: login challenges, OTP sends, magic link requests.
|
|
19
|
+
|
|
20
|
+
## 0.10.0
|
|
21
|
+
|
|
22
|
+
### Minor Changes
|
|
23
|
+
|
|
24
|
+
- 05e3897: Record who performed an audited action, not only who it happened to.
|
|
25
|
+
|
|
26
|
+
`AuthEventSchema` gains `actor_user_id`, and `AuthEventQuerySchema` gains an
|
|
27
|
+
`actorUserId` filter.
|
|
28
|
+
|
|
29
|
+
An administrator acting on someone else's account is recorded with the target in
|
|
30
|
+
`user_id` and the administrator in `actor_user_id`. Without it an administrative
|
|
31
|
+
event reads as though the user did it to themselves, which makes reviewing
|
|
32
|
+
administrative action after the fact impossible.
|
|
33
|
+
|
|
34
|
+
Additive and backward compatible. The field is nullable and optional, so events
|
|
35
|
+
written before the column existed still parse, as do events from a server that
|
|
36
|
+
does not populate it. `actorUserId` on the query schema is optional and unset
|
|
37
|
+
when absent.
|
|
38
|
+
|
|
3
39
|
## 0.9.0
|
|
4
40
|
|
|
5
41
|
### Minor Changes
|
|
@@ -110,6 +110,8 @@ export declare const AdminUserDetailResponseSchema: z.ZodObject<{
|
|
|
110
110
|
events: z.ZodArray<z.ZodObject<{
|
|
111
111
|
id: z.ZodString;
|
|
112
112
|
user_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
113
|
+
actor_user_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
114
|
+
session_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
113
115
|
type: z.ZodString;
|
|
114
116
|
ip_address: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
115
117
|
user_agent: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
@@ -123,6 +125,8 @@ export declare const AdminUserAnomaliesResponseSchema: z.ZodObject<{
|
|
|
123
125
|
suspiciousEvents: z.ZodArray<z.ZodObject<{
|
|
124
126
|
id: z.ZodString;
|
|
125
127
|
user_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
128
|
+
actor_user_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
129
|
+
session_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
126
130
|
type: z.ZodString;
|
|
127
131
|
ip_address: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
128
132
|
user_agent: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/schemas/admin/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,iBAAiB;;iBAE5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,4BAA4B;;;EAA4C,CAAC;AAEtF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,sBAAsB;;;;;;;kBAe/B,CAAC;AAEL,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE;;;;;;;GAOG;AACH,eAAO,MAAM,+BAA+B;;;;;;;;;;;;kBAOjC,CAAC;AAEZ,MAAM,MAAM,gCAAgC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAE/F,eAAO,MAAM,uCAAuC;;;;;iBAKlD,CAAC;AAEH,MAAM,MAAM,iCAAiC,GAAG,CAAC,CAAC,KAAK,CACrD,OAAO,uCAAuC,CAC/C,CAAC;AAEF,eAAO,MAAM,6BAA6B
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/schemas/admin/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,iBAAiB;;iBAE5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,4BAA4B;;;EAA4C,CAAC;AAEtF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,sBAAsB;;;;;;;kBAe/B,CAAC;AAEL,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE;;;;;;;GAOG;AACH,eAAO,MAAM,+BAA+B;;;;;;;;;;;;kBAOjC,CAAC;AAEZ,MAAM,MAAM,gCAAgC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAE/F,eAAO,MAAM,uCAAuC;;;;;iBAKlD,CAAC;AAEH,MAAM,MAAM,iCAAiC,GAAG,CAAC,CAAC,KAAK,CACrD,OAAO,uCAAuC,CAC/C,CAAC;AAEF,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAKxC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;iBAI3C,CAAC;AAEH,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC"}
|
|
@@ -80,6 +80,8 @@ export type AuthEventType = z.infer<typeof AuthEventTypeEnum>;
|
|
|
80
80
|
export declare const AuthEventSchema: z.ZodObject<{
|
|
81
81
|
id: z.ZodString;
|
|
82
82
|
user_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
83
|
+
actor_user_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
84
|
+
session_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
83
85
|
type: z.ZodString;
|
|
84
86
|
ip_address: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
85
87
|
user_agent: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
@@ -92,6 +94,8 @@ export declare const AuthEventQuerySchema: z.ZodObject<{
|
|
|
92
94
|
limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
|
|
93
95
|
offset: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
|
|
94
96
|
userId: z.ZodOptional<z.ZodString>;
|
|
97
|
+
actorUserId: z.ZodOptional<z.ZodString>;
|
|
98
|
+
sessionId: z.ZodOptional<z.ZodString>;
|
|
95
99
|
type: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
96
100
|
admin_device_replacement_recovery: "admin_device_replacement_recovery";
|
|
97
101
|
admin_session_revoked: "admin_session_revoked";
|
|
@@ -251,6 +255,8 @@ export declare const AuthEventsResponseSchema: z.ZodObject<{
|
|
|
251
255
|
events: z.ZodArray<z.ZodObject<{
|
|
252
256
|
id: z.ZodString;
|
|
253
257
|
user_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
258
|
+
actor_user_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
259
|
+
session_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
254
260
|
type: z.ZodString;
|
|
255
261
|
ip_address: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
256
262
|
user_agent: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/schemas/authEvent/schema.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAGpB,eAAO,MAAM,gBAAgB,gqDA2EnB,CAAC;AAEX,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA2B,CAAC;AAE1D,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAI9D,eAAO,MAAM,eAAe
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/schemas/authEvent/schema.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAGpB,eAAO,MAAM,gBAAgB,gqDA2EnB,CAAC;AAEX,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA2B,CAAC;AAE1D,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAI9D,eAAO,MAAM,eAAe;;;;;;;;;;;iBAyB1B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAe/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;iBAGnC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC"}
|
|
@@ -82,6 +82,22 @@ export const AuthEventTypeEnum = z.enum(AUTH_EVENT_TYPES);
|
|
|
82
82
|
export const AuthEventSchema = z.object({
|
|
83
83
|
id: z.string(),
|
|
84
84
|
user_id: z.string().nullable().optional(),
|
|
85
|
+
/**
|
|
86
|
+
* Who performed the action, when that is not the subject of it.
|
|
87
|
+
*
|
|
88
|
+
* An administrator acting on someone else's account is recorded with the
|
|
89
|
+
* target in `user_id` and the administrator here. Null for the ordinary case
|
|
90
|
+
* where a user acted on their own account, and for events written before the
|
|
91
|
+
* column existed.
|
|
92
|
+
*/
|
|
93
|
+
actor_user_id: z.string().nullable().optional(),
|
|
94
|
+
/**
|
|
95
|
+
* The session the action was taken from.
|
|
96
|
+
*
|
|
97
|
+
* Null for anything that happened before a session existed, which is most of
|
|
98
|
+
* the pre-auth surface: login challenges, OTP sends, magic link requests.
|
|
99
|
+
*/
|
|
100
|
+
session_id: z.string().nullable().optional(),
|
|
85
101
|
type: z.string(),
|
|
86
102
|
ip_address: z.string().nullable().optional(),
|
|
87
103
|
user_agent: z.string().nullable().optional(),
|
|
@@ -93,6 +109,10 @@ export const AuthEventQuerySchema = z.object({
|
|
|
93
109
|
limit: z.coerce.number().min(1).max(100).default(10),
|
|
94
110
|
offset: z.coerce.number().min(0).default(0),
|
|
95
111
|
userId: z.string().optional(),
|
|
112
|
+
/** Filters to what one administrator did, rather than what happened to one user. */
|
|
113
|
+
actorUserId: z.string().optional(),
|
|
114
|
+
/** Filters to everything that happened in one session. */
|
|
115
|
+
sessionId: z.string().optional(),
|
|
96
116
|
type: z
|
|
97
117
|
.union([AuthEventTypeEnum, z.string(), z.array(z.union([AuthEventTypeEnum, z.string()]))])
|
|
98
118
|
.optional(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/schemas/authEvent/schema.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/schemas/authEvent/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,6 +53,8 @@ export type LoginStatsResponse = z.infer<typeof LoginStatsResponseSchema>;
|
|
|
53
53
|
export declare const PartialAuthEventSchema: z.ZodObject<{
|
|
54
54
|
id: z.ZodOptional<z.ZodString>;
|
|
55
55
|
user_id: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
56
|
+
actor_user_id: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
57
|
+
session_id: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
56
58
|
type: z.ZodOptional<z.ZodString>;
|
|
57
59
|
ip_address: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
58
60
|
user_agent: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
@@ -65,6 +67,8 @@ export declare const SecurityAnomaliesResponseSchema: z.ZodObject<{
|
|
|
65
67
|
suspiciousEvents: z.ZodArray<z.ZodObject<{
|
|
66
68
|
id: z.ZodOptional<z.ZodString>;
|
|
67
69
|
user_id: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
70
|
+
actor_user_id: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
71
|
+
session_id: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
68
72
|
type: z.ZodOptional<z.ZodString>;
|
|
69
73
|
ip_address: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
70
74
|
user_agent: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/schemas/metrics/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,qBAAqB;;;EAA0B,CAAC;AAE7D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,kBAAkB;;;;;;;;iBAuC3B,CAAC;AAEL,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,eAAO,MAAM,0BAA0B;;;iBAGrC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,8BAA8B;;;;;iBAEzC,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAEtF,eAAO,MAAM,8BAA8B;;;;iBAIzC,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAEtF,eAAO,MAAM,iCAAiC;;;;;;iBAE5C,CAAC;AAEH,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iCAAiC,CAAC,CAAC;AAE5F,eAAO,MAAM,wBAAwB;;;;iBAInC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E;;;GAGG;AACH,eAAO,MAAM,sBAAsB
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/schemas/metrics/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,qBAAqB;;;EAA0B,CAAC;AAE7D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,kBAAkB;;;;;;;;iBAuC3B,CAAC;AAEL,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,eAAO,MAAM,0BAA0B;;;iBAGrC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,8BAA8B;;;;;iBAEzC,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAEtF,eAAO,MAAM,8BAA8B;;;;iBAIzC,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAEtF,eAAO,MAAM,iCAAiC;;;;;;iBAE5C,CAAC;AAEH,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iCAAiC,CAAC,CAAC;AAE5F,eAAO,MAAM,wBAAwB;;;;iBAInC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E;;;GAGG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;iBAA4B,CAAC;AAEhE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;iBAG1C,CAAC;AAEH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAExF,eAAO,MAAM,8BAA8B;;;;;;;;;;iBAUzC,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -87,6 +87,22 @@ export type AuthEventType = z.infer<typeof AuthEventTypeEnum>;
|
|
|
87
87
|
export const AuthEventSchema = z.object({
|
|
88
88
|
id: z.string(),
|
|
89
89
|
user_id: z.string().nullable().optional(),
|
|
90
|
+
/**
|
|
91
|
+
* Who performed the action, when that is not the subject of it.
|
|
92
|
+
*
|
|
93
|
+
* An administrator acting on someone else's account is recorded with the
|
|
94
|
+
* target in `user_id` and the administrator here. Null for the ordinary case
|
|
95
|
+
* where a user acted on their own account, and for events written before the
|
|
96
|
+
* column existed.
|
|
97
|
+
*/
|
|
98
|
+
actor_user_id: z.string().nullable().optional(),
|
|
99
|
+
/**
|
|
100
|
+
* The session the action was taken from.
|
|
101
|
+
*
|
|
102
|
+
* Null for anything that happened before a session existed, which is most of
|
|
103
|
+
* the pre-auth surface: login challenges, OTP sends, magic link requests.
|
|
104
|
+
*/
|
|
105
|
+
session_id: z.string().nullable().optional(),
|
|
90
106
|
type: z.string(),
|
|
91
107
|
ip_address: z.string().nullable().optional(),
|
|
92
108
|
user_agent: z.string().nullable().optional(),
|
|
@@ -102,6 +118,10 @@ export const AuthEventQuerySchema = z.object({
|
|
|
102
118
|
offset: z.coerce.number().min(0).default(0),
|
|
103
119
|
|
|
104
120
|
userId: z.string().optional(),
|
|
121
|
+
/** Filters to what one administrator did, rather than what happened to one user. */
|
|
122
|
+
actorUserId: z.string().optional(),
|
|
123
|
+
/** Filters to everything that happened in one session. */
|
|
124
|
+
sessionId: z.string().optional(),
|
|
105
125
|
type: z
|
|
106
126
|
.union([AuthEventTypeEnum, z.string(), z.array(z.union([AuthEventTypeEnum, z.string()]))])
|
|
107
127
|
.optional(),
|