@seamless-auth/types 0.22.0 → 0.23.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 +6 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/schemas/authEvent/schema.d.ts +7 -1
- package/dist/schemas/authEvent/schema.d.ts.map +1 -1
- package/dist/schemas/authEvent/schema.js +2 -0
- package/dist/schemas/authEvent/schema.js.map +1 -1
- package/dist/schemas/organization/schema.d.ts +4 -0
- package/dist/schemas/organization/schema.d.ts.map +1 -1
- package/dist/schemas/organization/schema.js +2 -2
- package/dist/schemas/organization/schema.js.map +1 -1
- package/dist/schemas/userImport/schema.d.ts +152 -0
- package/dist/schemas/userImport/schema.d.ts.map +1 -0
- package/dist/schemas/userImport/schema.js +85 -0
- package/dist/schemas/userImport/schema.js.map +1 -0
- package/package.json +2 -2
- package/src/index.ts +1 -0
- package/src/schemas/authEvent/schema.ts +2 -0
- package/src/schemas/organization/schema.ts +5 -2
- package/src/schemas/userImport/schema.ts +112 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# @seamless-auth/types
|
|
2
2
|
|
|
3
|
+
## 0.23.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 43b2ea5: Add the user import contract: `ImportUsersRequestSchema`, `ImportUsersResponseSchema` and the row, organization, status, rejection and change schemas behind them, with `USER_IMPORT_MAX_ROWS` (200). Export `MembershipRoleSchema` and `MembershipScopeSchema`, and add the `admin_user_imported` and `admin_user_import_completed` audit event types.
|
|
8
|
+
|
|
3
9
|
## 0.22.0
|
|
4
10
|
|
|
5
11
|
### Minor Changes
|
package/dist/index.d.ts
CHANGED
|
@@ -16,4 +16,5 @@ export * from './schemas/organization/schema.js';
|
|
|
16
16
|
export * from './schemas/me/schema.js';
|
|
17
17
|
export * from './schemas/metrics/schema.js';
|
|
18
18
|
export * from './schemas/admin/schema.js';
|
|
19
|
+
export * from './schemas/userImport/schema.js';
|
|
19
20
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAE5B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kCAAkC,CAAC;AACjD,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAE5B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kCAAkC,CAAC;AACjD,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -16,4 +16,5 @@ export * from './schemas/organization/schema.js';
|
|
|
16
16
|
export * from './schemas/me/schema.js';
|
|
17
17
|
export * from './schemas/metrics/schema.js';
|
|
18
18
|
export * from './schemas/admin/schema.js';
|
|
19
|
+
export * from './schemas/userImport/schema.js';
|
|
19
20
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAE5B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kCAAkC,CAAC;AACjD,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAE5B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AACjD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kCAAkC,CAAC;AACjD,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import z from 'zod';
|
|
2
|
-
export declare const AUTH_EVENT_TYPES: readonly ["admin_device_replacement_recovery", "admin_session_revoked", "auth_action_incremented", "bearer_token_failed", "bearer_token_success", "bearer_token_suspicious", "credentials_deleted", "informational", "internal_user_updated_by_owner", "jwks_failed", "jwks_success", "jwks_suspicious", "login_challenge", "login_failed", "login_success", "login_suspicious", "logout_failed", "logout_success", "logout_suspicious", "magic_link_failed", "magic_link_poll_completed_successfully", "magic_link_requested", "magic_link_success", "mfa_otp_failed", "mfa_otp_success", "mfa_otp_suspicious", "notification_sent", "oauth_login_failed", "oauth_login_started", "oauth_login_success", "otp_failed", "otp_success", "otp_suspicious", "recovery_otp_failed", "recovery_otp_success", "recovery_otp_suspicious", "refresh_token_failed", "refresh_token_success", "refresh_token_suspicious", "registration_failed", "registration_success", "registration_suspicious", "request_suspicious", "service_token_failed", "service_token_rotated", "service_token_success", "service_token_suspicious", "step_up_challenge", "step_up_failed", "step_up_success", "step_up_suspicious", "system_config_error", "system_config_read", "system_config_updated", "totp_disabled", "totp_enrollment_started", "totp_enrollment_success", "totp_failed", "totp_success", "totp_suspicious", "user_created", "user_data_failed", "user_data_success", "user_data_suspicious", "user_deleted", "verify_otp_failed", "verify_otp_success", "verify_otp_suspicious", "webauthn_login_failed", "webauthn_login_success", "webauthn_login_suspicious", "webauthn_registration_failed", "webauthn_registration_success", "webauthn_registration_suspicious"];
|
|
2
|
+
export declare const AUTH_EVENT_TYPES: readonly ["admin_device_replacement_recovery", "admin_user_import_completed", "admin_user_imported", "admin_session_revoked", "auth_action_incremented", "bearer_token_failed", "bearer_token_success", "bearer_token_suspicious", "credentials_deleted", "informational", "internal_user_updated_by_owner", "jwks_failed", "jwks_success", "jwks_suspicious", "login_challenge", "login_failed", "login_success", "login_suspicious", "logout_failed", "logout_success", "logout_suspicious", "magic_link_failed", "magic_link_poll_completed_successfully", "magic_link_requested", "magic_link_success", "mfa_otp_failed", "mfa_otp_success", "mfa_otp_suspicious", "notification_sent", "oauth_login_failed", "oauth_login_started", "oauth_login_success", "otp_failed", "otp_success", "otp_suspicious", "recovery_otp_failed", "recovery_otp_success", "recovery_otp_suspicious", "refresh_token_failed", "refresh_token_success", "refresh_token_suspicious", "registration_failed", "registration_success", "registration_suspicious", "request_suspicious", "service_token_failed", "service_token_rotated", "service_token_success", "service_token_suspicious", "step_up_challenge", "step_up_failed", "step_up_success", "step_up_suspicious", "system_config_error", "system_config_read", "system_config_updated", "totp_disabled", "totp_enrollment_started", "totp_enrollment_success", "totp_failed", "totp_success", "totp_suspicious", "user_created", "user_data_failed", "user_data_success", "user_data_suspicious", "user_deleted", "verify_otp_failed", "verify_otp_success", "verify_otp_suspicious", "webauthn_login_failed", "webauthn_login_success", "webauthn_login_suspicious", "webauthn_registration_failed", "webauthn_registration_success", "webauthn_registration_suspicious"];
|
|
3
3
|
export declare const AuthEventTypeEnum: z.ZodEnum<{
|
|
4
4
|
admin_device_replacement_recovery: "admin_device_replacement_recovery";
|
|
5
|
+
admin_user_import_completed: "admin_user_import_completed";
|
|
6
|
+
admin_user_imported: "admin_user_imported";
|
|
5
7
|
admin_session_revoked: "admin_session_revoked";
|
|
6
8
|
auth_action_incremented: "auth_action_incremented";
|
|
7
9
|
bearer_token_failed: "bearer_token_failed";
|
|
@@ -103,6 +105,8 @@ export declare const AuthEventQuerySchema: z.ZodObject<{
|
|
|
103
105
|
sessionId: z.ZodOptional<z.ZodString>;
|
|
104
106
|
type: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
105
107
|
admin_device_replacement_recovery: "admin_device_replacement_recovery";
|
|
108
|
+
admin_user_import_completed: "admin_user_import_completed";
|
|
109
|
+
admin_user_imported: "admin_user_imported";
|
|
106
110
|
admin_session_revoked: "admin_session_revoked";
|
|
107
111
|
auth_action_incremented: "auth_action_incremented";
|
|
108
112
|
bearer_token_failed: "bearer_token_failed";
|
|
@@ -178,6 +182,8 @@ export declare const AuthEventQuerySchema: z.ZodObject<{
|
|
|
178
182
|
webauthn_registration_suspicious: "webauthn_registration_suspicious";
|
|
179
183
|
}>, z.ZodString, z.ZodArray<z.ZodUnion<readonly [z.ZodEnum<{
|
|
180
184
|
admin_device_replacement_recovery: "admin_device_replacement_recovery";
|
|
185
|
+
admin_user_import_completed: "admin_user_import_completed";
|
|
186
|
+
admin_user_imported: "admin_user_imported";
|
|
181
187
|
admin_session_revoked: "admin_session_revoked";
|
|
182
188
|
auth_action_incremented: "auth_action_incremented";
|
|
183
189
|
bearer_token_failed: "bearer_token_failed";
|
|
@@ -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,
|
|
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,stDA6EnB,CAAC;AAEX,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA2B,CAAC;AAE1D,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAI9D,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;iBAsD1B,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"}
|
|
@@ -2,6 +2,8 @@ import z from 'zod';
|
|
|
2
2
|
import { IsoDate } from '../../shared.js';
|
|
3
3
|
export const AUTH_EVENT_TYPES = [
|
|
4
4
|
'admin_device_replacement_recovery',
|
|
5
|
+
'admin_user_import_completed',
|
|
6
|
+
'admin_user_imported',
|
|
5
7
|
'admin_session_revoked',
|
|
6
8
|
'auth_action_incremented',
|
|
7
9
|
'bearer_token_failed',
|
|
@@ -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":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,mCAAmC;IACnC,6BAA6B;IAC7B,qBAAqB;IACrB,uBAAuB;IACvB,yBAAyB;IACzB,qBAAqB;IACrB,sBAAsB;IACtB,yBAAyB;IACzB,qBAAqB;IACrB,eAAe;IACf,gCAAgC;IAChC,aAAa;IACb,cAAc;IACd,iBAAiB;IACjB,iBAAiB;IACjB,cAAc;IACd,eAAe;IACf,kBAAkB;IAClB,eAAe;IACf,gBAAgB;IAChB,mBAAmB;IACnB,mBAAmB;IACnB,wCAAwC;IACxC,sBAAsB;IACtB,oBAAoB;IACpB,gBAAgB;IAChB,iBAAiB;IACjB,oBAAoB;IACpB,mBAAmB;IACnB,oBAAoB;IACpB,qBAAqB;IACrB,qBAAqB;IACrB,YAAY;IACZ,aAAa;IACb,gBAAgB;IAChB,qBAAqB;IACrB,sBAAsB;IACtB,yBAAyB;IACzB,sBAAsB;IACtB,uBAAuB;IACvB,0BAA0B;IAC1B,qBAAqB;IACrB,sBAAsB;IACtB,yBAAyB;IACzB,oBAAoB;IACpB,sBAAsB;IACtB,uBAAuB;IACvB,uBAAuB;IACvB,0BAA0B;IAC1B,mBAAmB;IACnB,gBAAgB;IAChB,iBAAiB;IACjB,oBAAoB;IACpB,qBAAqB;IACrB,oBAAoB;IACpB,uBAAuB;IACvB,eAAe;IACf,yBAAyB;IACzB,yBAAyB;IACzB,aAAa;IACb,cAAc;IACd,iBAAiB;IACjB,cAAc;IACd,kBAAkB;IAClB,mBAAmB;IACnB,sBAAsB;IACtB,cAAc;IACd,mBAAmB;IACnB,oBAAoB;IACpB,uBAAuB;IACvB,uBAAuB;IACvB,wBAAwB;IACxB,2BAA2B;IAC3B,8BAA8B;IAC9B,+BAA+B;IAC/B,kCAAkC;CAC1B,CAAC;AAEX,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AAI1D,6EAA6E;AAC7E,6EAA6E;AAC7E,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACzC;;;;;;;OAOG;IACH,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC/C;;;;;OAKG;IACH,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC5C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC5C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC5C;;;;OAIG;IACH,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC/C;;;;;OAKG;IACH,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC9C;;;OAGG;IACH,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC/C;;;OAGG;IACH,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACxC;;;;OAIG;IACH,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC5C,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IACtD,UAAU,EAAE,OAAO;IACnB,UAAU,EAAE,OAAO;CACpB,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACpD,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAE3C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,oFAAoF;IACpF,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,0DAA0D;IAC1D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,IAAI,EAAE,CAAC;SACJ,KAAK,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;SACzF,QAAQ,EAAE;IAEb,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC1B,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC;IAChC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;CAClB,CAAC,CAAC"}
|
|
@@ -20,6 +20,10 @@ export declare const UpdateOrganizationRequestSchema: z.ZodObject<{
|
|
|
20
20
|
metadata: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
21
21
|
}, z.core.$strip>;
|
|
22
22
|
export type UpdateOrganizationRequest = z.infer<typeof UpdateOrganizationRequestSchema>;
|
|
23
|
+
export declare const MembershipRoleSchema: z.ZodString;
|
|
24
|
+
export declare const MembershipScopeSchema: z.ZodString;
|
|
25
|
+
export type MembershipRole = z.infer<typeof MembershipRoleSchema>;
|
|
26
|
+
export type MembershipScope = z.infer<typeof MembershipScopeSchema>;
|
|
23
27
|
export declare const AddOrganizationMemberRequestSchema: z.ZodObject<{
|
|
24
28
|
userId: z.ZodOptional<z.ZodUUID>;
|
|
25
29
|
email: z.ZodOptional<z.ZodEmail>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/schemas/organization/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,yBAAyB;;iBAEpC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,eAAO,MAAM,6BAA6B;;;iBAExC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF,eAAO,MAAM,+BAA+B;;;;iBAI1C,CAAC;AAEH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAExF,eAAO,MAAM,+BAA+B;;;;iBAI1C,CAAC;AAEH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/schemas/organization/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,yBAAyB;;iBAEpC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,eAAO,MAAM,6BAA6B;;;iBAExC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF,eAAO,MAAM,+BAA+B;;;;iBAI1C,CAAC;AAEH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAExF,eAAO,MAAM,+BAA+B;;;;iBAI1C,CAAC;AAEH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAExF,eAAO,MAAM,oBAAoB,aAAmC,CAAC;AACrE,eAAO,MAAM,qBAAqB,aAAoC,CAAC;AAEvE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,kCAAkC;;;;;iBAS3C,CAAC;AAEL,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kCAAkC,CAAC,CAAC;AAE9F,eAAO,MAAM,qCAAqC;;;iBAGhD,CAAC;AAEH,MAAM,MAAM,+BAA+B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qCAAqC,CAAC,CAAC;AASpG,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;iBASvC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;iBAU7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;iBAE7C,CAAC;AAEH,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kCAAkC,CAAC,CAAC;AAE9F,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAGzC,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAEtF,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAG9C,CAAC;AAEH,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mCAAmC,CAAC,CAAC;AAEhG,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;iBAG5C,CAAC;AAEH,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iCAAiC,CAAC,CAAC;AAE5F,eAAO,MAAM,4CAA4C;;;;;;;;;;;;;;;;iBAEvD,CAAC;AAEH,MAAM,MAAM,sCAAsC,GAAG,CAAC,CAAC,KAAK,CAC1D,OAAO,4CAA4C,CACpD,CAAC;AAEF,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAQ3C,CAAC;AAEH,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC"}
|
|
@@ -17,8 +17,8 @@ export const UpdateOrganizationRequestSchema = z.object({
|
|
|
17
17
|
slug: z.string().trim().min(1).max(100).optional(),
|
|
18
18
|
metadata: MetadataSchema,
|
|
19
19
|
});
|
|
20
|
-
const MembershipRoleSchema = z.string().trim().min(1).max(80);
|
|
21
|
-
const MembershipScopeSchema = z.string().trim().min(1).max(120);
|
|
20
|
+
export const MembershipRoleSchema = z.string().trim().min(1).max(80);
|
|
21
|
+
export const MembershipScopeSchema = z.string().trim().min(1).max(120);
|
|
22
22
|
export const AddOrganizationMemberRequestSchema = z
|
|
23
23
|
.object({
|
|
24
24
|
userId: z.uuid().optional(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/schemas/organization/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,cAAc,EAAE,CAAC,CAAC,IAAI,EAAE;CACzB,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,6BAA6B,GAAG,yBAAyB,CAAC,MAAM,CAAC;IAC5E,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE;CACjB,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC;IACtD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACvC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IAClD,QAAQ,EAAE,cAAc;CACzB,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC;IACtD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IAClD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IAClD,QAAQ,EAAE,cAAc;CACzB,CAAC,CAAC;AAIH,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/schemas/organization/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const USER_IMPORT_MAX_ROWS = 200;
|
|
3
|
+
/** Names the system the users come from, so the same external id can be matched on a re-run. */
|
|
4
|
+
export declare const UserImportSourceSchema: z.ZodString;
|
|
5
|
+
export type UserImportSource = z.infer<typeof UserImportSourceSchema>;
|
|
6
|
+
export declare const UserImportOrganizationSchema: z.ZodObject<{
|
|
7
|
+
organizationId: z.ZodOptional<z.ZodUUID>;
|
|
8
|
+
slug: z.ZodOptional<z.ZodString>;
|
|
9
|
+
roles: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
10
|
+
scopes: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
11
|
+
}, z.core.$strict>;
|
|
12
|
+
export type UserImportOrganization = z.infer<typeof UserImportOrganizationSchema>;
|
|
13
|
+
export declare const UserImportRowSchema: z.ZodObject<{
|
|
14
|
+
externalId: z.ZodOptional<z.ZodString>;
|
|
15
|
+
email: z.ZodEmail;
|
|
16
|
+
phone: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
17
|
+
roles: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
18
|
+
organizations: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
19
|
+
organizationId: z.ZodOptional<z.ZodUUID>;
|
|
20
|
+
slug: z.ZodOptional<z.ZodString>;
|
|
21
|
+
roles: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
22
|
+
scopes: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
23
|
+
}, z.core.$strict>>>;
|
|
24
|
+
}, z.core.$strict>;
|
|
25
|
+
export type UserImportRow = z.infer<typeof UserImportRowSchema>;
|
|
26
|
+
/**
|
|
27
|
+
* A batch of users to bring across from another identity system.
|
|
28
|
+
*
|
|
29
|
+
* Imports never carry credentials: an imported user signs in for the first time by
|
|
30
|
+
* registering with the imported email, which proves control of the address and then
|
|
31
|
+
* enrolls a passkey. Imports only ever add roles and memberships, never remove them,
|
|
32
|
+
* so re-running one after correcting the source data cannot take access away.
|
|
33
|
+
*/
|
|
34
|
+
export declare const ImportUsersRequestSchema: z.ZodObject<{
|
|
35
|
+
source: z.ZodString;
|
|
36
|
+
dryRun: z.ZodDefault<z.ZodBoolean>;
|
|
37
|
+
users: z.ZodArray<z.ZodObject<{
|
|
38
|
+
externalId: z.ZodOptional<z.ZodString>;
|
|
39
|
+
email: z.ZodEmail;
|
|
40
|
+
phone: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
41
|
+
roles: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
42
|
+
organizations: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
43
|
+
organizationId: z.ZodOptional<z.ZodUUID>;
|
|
44
|
+
slug: z.ZodOptional<z.ZodString>;
|
|
45
|
+
roles: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
46
|
+
scopes: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
47
|
+
}, z.core.$strict>>>;
|
|
48
|
+
}, z.core.$strict>>;
|
|
49
|
+
}, z.core.$strict>;
|
|
50
|
+
export type ImportUsersRequest = z.infer<typeof ImportUsersRequestSchema>;
|
|
51
|
+
export declare const UserImportStatusSchema: z.ZodEnum<{
|
|
52
|
+
rejected: "rejected";
|
|
53
|
+
created: "created";
|
|
54
|
+
updated: "updated";
|
|
55
|
+
unchanged: "unchanged";
|
|
56
|
+
}>;
|
|
57
|
+
export type UserImportStatus = z.infer<typeof UserImportStatusSchema>;
|
|
58
|
+
export declare const UserImportRejectionSchema: z.ZodEnum<{
|
|
59
|
+
admin_role_not_allowed: "admin_role_not_allowed";
|
|
60
|
+
role_unavailable: "role_unavailable";
|
|
61
|
+
organization_not_found: "organization_not_found";
|
|
62
|
+
duplicate_in_batch: "duplicate_in_batch";
|
|
63
|
+
email_mismatch: "email_mismatch";
|
|
64
|
+
phone_invalid: "phone_invalid";
|
|
65
|
+
phone_in_use: "phone_in_use";
|
|
66
|
+
external_id_conflict: "external_id_conflict";
|
|
67
|
+
write_failed: "write_failed";
|
|
68
|
+
}>;
|
|
69
|
+
export type UserImportRejection = z.infer<typeof UserImportRejectionSchema>;
|
|
70
|
+
export declare const UserImportChangeSchema: z.ZodEnum<{
|
|
71
|
+
phone: "phone";
|
|
72
|
+
roles: "roles";
|
|
73
|
+
organizations: "organizations";
|
|
74
|
+
created: "created";
|
|
75
|
+
linked: "linked";
|
|
76
|
+
}>;
|
|
77
|
+
export type UserImportChange = z.infer<typeof UserImportChangeSchema>;
|
|
78
|
+
export declare const UserImportResultSchema: z.ZodObject<{
|
|
79
|
+
index: z.ZodNumber;
|
|
80
|
+
email: z.ZodString;
|
|
81
|
+
externalId: z.ZodOptional<z.ZodString>;
|
|
82
|
+
status: z.ZodEnum<{
|
|
83
|
+
rejected: "rejected";
|
|
84
|
+
created: "created";
|
|
85
|
+
updated: "updated";
|
|
86
|
+
unchanged: "unchanged";
|
|
87
|
+
}>;
|
|
88
|
+
userId: z.ZodOptional<z.ZodString>;
|
|
89
|
+
changes: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
90
|
+
phone: "phone";
|
|
91
|
+
roles: "roles";
|
|
92
|
+
organizations: "organizations";
|
|
93
|
+
created: "created";
|
|
94
|
+
linked: "linked";
|
|
95
|
+
}>>>;
|
|
96
|
+
reason: z.ZodOptional<z.ZodEnum<{
|
|
97
|
+
admin_role_not_allowed: "admin_role_not_allowed";
|
|
98
|
+
role_unavailable: "role_unavailable";
|
|
99
|
+
organization_not_found: "organization_not_found";
|
|
100
|
+
duplicate_in_batch: "duplicate_in_batch";
|
|
101
|
+
email_mismatch: "email_mismatch";
|
|
102
|
+
phone_invalid: "phone_invalid";
|
|
103
|
+
phone_in_use: "phone_in_use";
|
|
104
|
+
external_id_conflict: "external_id_conflict";
|
|
105
|
+
write_failed: "write_failed";
|
|
106
|
+
}>>;
|
|
107
|
+
detail: z.ZodOptional<z.ZodString>;
|
|
108
|
+
}, z.core.$strip>;
|
|
109
|
+
export type UserImportResult = z.infer<typeof UserImportResultSchema>;
|
|
110
|
+
export declare const ImportUsersResponseSchema: z.ZodObject<{
|
|
111
|
+
source: z.ZodString;
|
|
112
|
+
dryRun: z.ZodBoolean;
|
|
113
|
+
summary: z.ZodObject<{
|
|
114
|
+
created: z.ZodNumber;
|
|
115
|
+
updated: z.ZodNumber;
|
|
116
|
+
unchanged: z.ZodNumber;
|
|
117
|
+
rejected: z.ZodNumber;
|
|
118
|
+
}, z.core.$strip>;
|
|
119
|
+
results: z.ZodArray<z.ZodObject<{
|
|
120
|
+
index: z.ZodNumber;
|
|
121
|
+
email: z.ZodString;
|
|
122
|
+
externalId: z.ZodOptional<z.ZodString>;
|
|
123
|
+
status: z.ZodEnum<{
|
|
124
|
+
rejected: "rejected";
|
|
125
|
+
created: "created";
|
|
126
|
+
updated: "updated";
|
|
127
|
+
unchanged: "unchanged";
|
|
128
|
+
}>;
|
|
129
|
+
userId: z.ZodOptional<z.ZodString>;
|
|
130
|
+
changes: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
131
|
+
phone: "phone";
|
|
132
|
+
roles: "roles";
|
|
133
|
+
organizations: "organizations";
|
|
134
|
+
created: "created";
|
|
135
|
+
linked: "linked";
|
|
136
|
+
}>>>;
|
|
137
|
+
reason: z.ZodOptional<z.ZodEnum<{
|
|
138
|
+
admin_role_not_allowed: "admin_role_not_allowed";
|
|
139
|
+
role_unavailable: "role_unavailable";
|
|
140
|
+
organization_not_found: "organization_not_found";
|
|
141
|
+
duplicate_in_batch: "duplicate_in_batch";
|
|
142
|
+
email_mismatch: "email_mismatch";
|
|
143
|
+
phone_invalid: "phone_invalid";
|
|
144
|
+
phone_in_use: "phone_in_use";
|
|
145
|
+
external_id_conflict: "external_id_conflict";
|
|
146
|
+
write_failed: "write_failed";
|
|
147
|
+
}>>;
|
|
148
|
+
detail: z.ZodOptional<z.ZodString>;
|
|
149
|
+
}, z.core.$strip>>;
|
|
150
|
+
}, z.core.$strip>;
|
|
151
|
+
export type ImportUsersResponse = z.infer<typeof ImportUsersResponseSchema>;
|
|
152
|
+
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/schemas/userImport/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAExC,gGAAgG;AAChG,eAAO,MAAM,sBAAsB,aAGqD,CAAC;AAEzF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,4BAA4B;;;;;kBAUrC,CAAC;AAEL,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF,eAAO,MAAM,mBAAmB;;;;;;;;;;;kBAQrB,CAAC;AAEZ,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;kBAM1B,CAAC;AAEZ,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,sBAAsB;;;;;EAA0D,CAAC;AAE9F,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,yBAAyB;;;;;;;;;;EAUpC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,eAAO,MAAM,sBAAsB;;;;;;EAMjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBASjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAUpC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { MembershipRoleSchema, MembershipScopeSchema } from '../organization/schema.js';
|
|
3
|
+
import { RoleNameSchema } from '../role/schema.js';
|
|
4
|
+
export const USER_IMPORT_MAX_ROWS = 200;
|
|
5
|
+
/** Names the system the users come from, so the same external id can be matched on a re-run. */
|
|
6
|
+
export const UserImportSourceSchema = z
|
|
7
|
+
.string()
|
|
8
|
+
.trim()
|
|
9
|
+
.regex(/^[a-z0-9][a-z0-9-]{0,63}$/, 'lowercase letters, digits and hyphens, up to 64');
|
|
10
|
+
export const UserImportOrganizationSchema = z
|
|
11
|
+
.object({
|
|
12
|
+
organizationId: z.uuid().optional(),
|
|
13
|
+
slug: z.string().trim().min(1).max(100).optional(),
|
|
14
|
+
roles: z.array(MembershipRoleSchema).max(50).optional(),
|
|
15
|
+
scopes: z.array(MembershipScopeSchema).max(50).optional(),
|
|
16
|
+
})
|
|
17
|
+
.strict()
|
|
18
|
+
.refine((value) => Boolean(value.organizationId) !== Boolean(value.slug), {
|
|
19
|
+
message: 'exactly one of organizationId or slug is required',
|
|
20
|
+
});
|
|
21
|
+
export const UserImportRowSchema = z
|
|
22
|
+
.object({
|
|
23
|
+
externalId: z.string().trim().min(1).max(255).optional(),
|
|
24
|
+
email: z.email(),
|
|
25
|
+
phone: z.string().min(5).nullish(),
|
|
26
|
+
roles: z.array(RoleNameSchema).max(50).optional(),
|
|
27
|
+
organizations: z.array(UserImportOrganizationSchema).max(50).optional(),
|
|
28
|
+
})
|
|
29
|
+
.strict();
|
|
30
|
+
/**
|
|
31
|
+
* A batch of users to bring across from another identity system.
|
|
32
|
+
*
|
|
33
|
+
* Imports never carry credentials: an imported user signs in for the first time by
|
|
34
|
+
* registering with the imported email, which proves control of the address and then
|
|
35
|
+
* enrolls a passkey. Imports only ever add roles and memberships, never remove them,
|
|
36
|
+
* so re-running one after correcting the source data cannot take access away.
|
|
37
|
+
*/
|
|
38
|
+
export const ImportUsersRequestSchema = z
|
|
39
|
+
.object({
|
|
40
|
+
source: UserImportSourceSchema,
|
|
41
|
+
dryRun: z.boolean().default(false),
|
|
42
|
+
users: z.array(UserImportRowSchema).min(1).max(USER_IMPORT_MAX_ROWS),
|
|
43
|
+
})
|
|
44
|
+
.strict();
|
|
45
|
+
export const UserImportStatusSchema = z.enum(['created', 'updated', 'unchanged', 'rejected']);
|
|
46
|
+
export const UserImportRejectionSchema = z.enum([
|
|
47
|
+
'admin_role_not_allowed',
|
|
48
|
+
'role_unavailable',
|
|
49
|
+
'organization_not_found',
|
|
50
|
+
'duplicate_in_batch',
|
|
51
|
+
'email_mismatch',
|
|
52
|
+
'phone_invalid',
|
|
53
|
+
'phone_in_use',
|
|
54
|
+
'external_id_conflict',
|
|
55
|
+
'write_failed',
|
|
56
|
+
]);
|
|
57
|
+
export const UserImportChangeSchema = z.enum([
|
|
58
|
+
'created',
|
|
59
|
+
'linked',
|
|
60
|
+
'phone',
|
|
61
|
+
'roles',
|
|
62
|
+
'organizations',
|
|
63
|
+
]);
|
|
64
|
+
export const UserImportResultSchema = z.object({
|
|
65
|
+
index: z.number().int().nonnegative(),
|
|
66
|
+
email: z.string(),
|
|
67
|
+
externalId: z.string().optional(),
|
|
68
|
+
status: UserImportStatusSchema,
|
|
69
|
+
userId: z.string().optional(),
|
|
70
|
+
changes: z.array(UserImportChangeSchema).optional(),
|
|
71
|
+
reason: UserImportRejectionSchema.optional(),
|
|
72
|
+
detail: z.string().optional(),
|
|
73
|
+
});
|
|
74
|
+
export const ImportUsersResponseSchema = z.object({
|
|
75
|
+
source: z.string(),
|
|
76
|
+
dryRun: z.boolean(),
|
|
77
|
+
summary: z.object({
|
|
78
|
+
created: z.number().int().nonnegative(),
|
|
79
|
+
updated: z.number().int().nonnegative(),
|
|
80
|
+
unchanged: z.number().int().nonnegative(),
|
|
81
|
+
rejected: z.number().int().nonnegative(),
|
|
82
|
+
}),
|
|
83
|
+
results: z.array(UserImportResultSchema),
|
|
84
|
+
});
|
|
85
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/schemas/userImport/schema.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@seamless-auth/types",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.23.0",
|
|
4
4
|
"description": "Shared TypeScript types and Zod schemas for SeamlessAuth.",
|
|
5
5
|
"author": "Fells Code, LLC",
|
|
6
6
|
"license": "AGPL-3.0-only",
|
|
@@ -87,7 +87,7 @@
|
|
|
87
87
|
"eslint-config-prettier": "^10.1.8",
|
|
88
88
|
"husky": "^9.1.7",
|
|
89
89
|
"lint-staged": "^17.2.0",
|
|
90
|
-
"prettier": "3.9.
|
|
90
|
+
"prettier": "3.9.9",
|
|
91
91
|
"typescript": "^5.9.3",
|
|
92
92
|
"vitest": "^4.1.1"
|
|
93
93
|
},
|
package/src/index.ts
CHANGED
|
@@ -30,8 +30,11 @@ export const UpdateOrganizationRequestSchema = z.object({
|
|
|
30
30
|
|
|
31
31
|
export type UpdateOrganizationRequest = z.infer<typeof UpdateOrganizationRequestSchema>;
|
|
32
32
|
|
|
33
|
-
const MembershipRoleSchema = z.string().trim().min(1).max(80);
|
|
34
|
-
const MembershipScopeSchema = z.string().trim().min(1).max(120);
|
|
33
|
+
export const MembershipRoleSchema = z.string().trim().min(1).max(80);
|
|
34
|
+
export const MembershipScopeSchema = z.string().trim().min(1).max(120);
|
|
35
|
+
|
|
36
|
+
export type MembershipRole = z.infer<typeof MembershipRoleSchema>;
|
|
37
|
+
export type MembershipScope = z.infer<typeof MembershipScopeSchema>;
|
|
35
38
|
|
|
36
39
|
export const AddOrganizationMemberRequestSchema = z
|
|
37
40
|
.object({
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { MembershipRoleSchema, MembershipScopeSchema } from '../organization/schema.js';
|
|
3
|
+
import { RoleNameSchema } from '../role/schema.js';
|
|
4
|
+
|
|
5
|
+
export const USER_IMPORT_MAX_ROWS = 200;
|
|
6
|
+
|
|
7
|
+
/** Names the system the users come from, so the same external id can be matched on a re-run. */
|
|
8
|
+
export const UserImportSourceSchema = z
|
|
9
|
+
.string()
|
|
10
|
+
.trim()
|
|
11
|
+
.regex(/^[a-z0-9][a-z0-9-]{0,63}$/, 'lowercase letters, digits and hyphens, up to 64');
|
|
12
|
+
|
|
13
|
+
export type UserImportSource = z.infer<typeof UserImportSourceSchema>;
|
|
14
|
+
|
|
15
|
+
export const UserImportOrganizationSchema = z
|
|
16
|
+
.object({
|
|
17
|
+
organizationId: z.uuid().optional(),
|
|
18
|
+
slug: z.string().trim().min(1).max(100).optional(),
|
|
19
|
+
roles: z.array(MembershipRoleSchema).max(50).optional(),
|
|
20
|
+
scopes: z.array(MembershipScopeSchema).max(50).optional(),
|
|
21
|
+
})
|
|
22
|
+
.strict()
|
|
23
|
+
.refine((value) => Boolean(value.organizationId) !== Boolean(value.slug), {
|
|
24
|
+
message: 'exactly one of organizationId or slug is required',
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
export type UserImportOrganization = z.infer<typeof UserImportOrganizationSchema>;
|
|
28
|
+
|
|
29
|
+
export const UserImportRowSchema = z
|
|
30
|
+
.object({
|
|
31
|
+
externalId: z.string().trim().min(1).max(255).optional(),
|
|
32
|
+
email: z.email(),
|
|
33
|
+
phone: z.string().min(5).nullish(),
|
|
34
|
+
roles: z.array(RoleNameSchema).max(50).optional(),
|
|
35
|
+
organizations: z.array(UserImportOrganizationSchema).max(50).optional(),
|
|
36
|
+
})
|
|
37
|
+
.strict();
|
|
38
|
+
|
|
39
|
+
export type UserImportRow = z.infer<typeof UserImportRowSchema>;
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* A batch of users to bring across from another identity system.
|
|
43
|
+
*
|
|
44
|
+
* Imports never carry credentials: an imported user signs in for the first time by
|
|
45
|
+
* registering with the imported email, which proves control of the address and then
|
|
46
|
+
* enrolls a passkey. Imports only ever add roles and memberships, never remove them,
|
|
47
|
+
* so re-running one after correcting the source data cannot take access away.
|
|
48
|
+
*/
|
|
49
|
+
export const ImportUsersRequestSchema = z
|
|
50
|
+
.object({
|
|
51
|
+
source: UserImportSourceSchema,
|
|
52
|
+
dryRun: z.boolean().default(false),
|
|
53
|
+
users: z.array(UserImportRowSchema).min(1).max(USER_IMPORT_MAX_ROWS),
|
|
54
|
+
})
|
|
55
|
+
.strict();
|
|
56
|
+
|
|
57
|
+
export type ImportUsersRequest = z.infer<typeof ImportUsersRequestSchema>;
|
|
58
|
+
|
|
59
|
+
export const UserImportStatusSchema = z.enum(['created', 'updated', 'unchanged', 'rejected']);
|
|
60
|
+
|
|
61
|
+
export type UserImportStatus = z.infer<typeof UserImportStatusSchema>;
|
|
62
|
+
|
|
63
|
+
export const UserImportRejectionSchema = z.enum([
|
|
64
|
+
'admin_role_not_allowed',
|
|
65
|
+
'role_unavailable',
|
|
66
|
+
'organization_not_found',
|
|
67
|
+
'duplicate_in_batch',
|
|
68
|
+
'email_mismatch',
|
|
69
|
+
'phone_invalid',
|
|
70
|
+
'phone_in_use',
|
|
71
|
+
'external_id_conflict',
|
|
72
|
+
'write_failed',
|
|
73
|
+
]);
|
|
74
|
+
|
|
75
|
+
export type UserImportRejection = z.infer<typeof UserImportRejectionSchema>;
|
|
76
|
+
|
|
77
|
+
export const UserImportChangeSchema = z.enum([
|
|
78
|
+
'created',
|
|
79
|
+
'linked',
|
|
80
|
+
'phone',
|
|
81
|
+
'roles',
|
|
82
|
+
'organizations',
|
|
83
|
+
]);
|
|
84
|
+
|
|
85
|
+
export type UserImportChange = z.infer<typeof UserImportChangeSchema>;
|
|
86
|
+
|
|
87
|
+
export const UserImportResultSchema = z.object({
|
|
88
|
+
index: z.number().int().nonnegative(),
|
|
89
|
+
email: z.string(),
|
|
90
|
+
externalId: z.string().optional(),
|
|
91
|
+
status: UserImportStatusSchema,
|
|
92
|
+
userId: z.string().optional(),
|
|
93
|
+
changes: z.array(UserImportChangeSchema).optional(),
|
|
94
|
+
reason: UserImportRejectionSchema.optional(),
|
|
95
|
+
detail: z.string().optional(),
|
|
96
|
+
});
|
|
97
|
+
|
|
98
|
+
export type UserImportResult = z.infer<typeof UserImportResultSchema>;
|
|
99
|
+
|
|
100
|
+
export const ImportUsersResponseSchema = z.object({
|
|
101
|
+
source: z.string(),
|
|
102
|
+
dryRun: z.boolean(),
|
|
103
|
+
summary: z.object({
|
|
104
|
+
created: z.number().int().nonnegative(),
|
|
105
|
+
updated: z.number().int().nonnegative(),
|
|
106
|
+
unchanged: z.number().int().nonnegative(),
|
|
107
|
+
rejected: z.number().int().nonnegative(),
|
|
108
|
+
}),
|
|
109
|
+
results: z.array(UserImportResultSchema),
|
|
110
|
+
});
|
|
111
|
+
|
|
112
|
+
export type ImportUsersResponse = z.infer<typeof ImportUsersResponseSchema>;
|