@atlasauth/cli 0.24.0 → 0.25.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/package.json +4 -4
- package/dist/args.d.ts +0 -601
- package/dist/args.js +0 -289
- package/dist/args.js.map +0 -1
- package/dist/cli.d.ts +0 -2
- package/dist/cli.js +0 -19
- package/dist/cli.js.map +0 -1
- package/dist/commands/actions-gallery.d.ts +0 -8
- package/dist/commands/actions-gallery.js +0 -197
- package/dist/commands/actions-gallery.js.map +0 -1
- package/dist/commands/actions.d.ts +0 -13
- package/dist/commands/actions.js +0 -135
- package/dist/commands/actions.js.map +0 -1
- package/dist/commands/admin.d.ts +0 -49
- package/dist/commands/admin.js +0 -353
- package/dist/commands/admin.js.map +0 -1
- package/dist/commands/api-keys.d.ts +0 -4
- package/dist/commands/api-keys.js +0 -96
- package/dist/commands/api-keys.js.map +0 -1
- package/dist/commands/auth.d.ts +0 -25
- package/dist/commands/auth.js +0 -102
- package/dist/commands/auth.js.map +0 -1
- package/dist/commands/config.d.ts +0 -104
- package/dist/commands/config.js +0 -1506
- package/dist/commands/config.js.map +0 -1
- package/dist/commands/csp.d.ts +0 -32
- package/dist/commands/csp.js +0 -180
- package/dist/commands/csp.js.map +0 -1
- package/dist/commands/dev.d.ts +0 -8
- package/dist/commands/dev.js +0 -84
- package/dist/commands/dev.js.map +0 -1
- package/dist/commands/fga.d.ts +0 -10
- package/dist/commands/fga.js +0 -146
- package/dist/commands/fga.js.map +0 -1
- package/dist/commands/golive.d.ts +0 -40
- package/dist/commands/golive.js +0 -285
- package/dist/commands/golive.js.map +0 -1
- package/dist/commands/id-accounts.d.ts +0 -13
- package/dist/commands/id-accounts.js +0 -195
- package/dist/commands/id-accounts.js.map +0 -1
- package/dist/commands/import-better-auth.d.ts +0 -3
- package/dist/commands/import-better-auth.js +0 -164
- package/dist/commands/import-better-auth.js.map +0 -1
- package/dist/commands/import.d.ts +0 -3
- package/dist/commands/import.js +0 -123
- package/dist/commands/import.js.map +0 -1
- package/dist/commands/info.d.ts +0 -75
- package/dist/commands/info.js +0 -362
- package/dist/commands/info.js.map +0 -1
- package/dist/commands/init.d.ts +0 -3
- package/dist/commands/init.js +0 -438
- package/dist/commands/init.js.map +0 -1
- package/dist/commands/integrations.d.ts +0 -8
- package/dist/commands/integrations.js +0 -112
- package/dist/commands/integrations.js.map +0 -1
- package/dist/commands/listen.d.ts +0 -17
- package/dist/commands/listen.js +0 -223
- package/dist/commands/listen.js.map +0 -1
- package/dist/commands/mcp.d.ts +0 -38
- package/dist/commands/mcp.js +0 -111
- package/dist/commands/mcp.js.map +0 -1
- package/dist/commands/migrate.d.ts +0 -16
- package/dist/commands/migrate.js +0 -114
- package/dist/commands/migrate.js.map +0 -1
- package/dist/commands/move-origin.d.ts +0 -11
- package/dist/commands/move-origin.js +0 -95
- package/dist/commands/move-origin.js.map +0 -1
- package/dist/commands/operator.d.ts +0 -18
- package/dist/commands/operator.js +0 -238
- package/dist/commands/operator.js.map +0 -1
- package/dist/commands/orgs.d.ts +0 -4
- package/dist/commands/orgs.js +0 -72
- package/dist/commands/orgs.js.map +0 -1
- package/dist/commands/pages.d.ts +0 -14
- package/dist/commands/pages.js +0 -113
- package/dist/commands/pages.js.map +0 -1
- package/dist/commands/partner-platforms.d.ts +0 -10
- package/dist/commands/partner-platforms.js +0 -157
- package/dist/commands/partner-platforms.js.map +0 -1
- package/dist/commands/project-commands.d.ts +0 -38
- package/dist/commands/project-commands.js +0 -361
- package/dist/commands/project-commands.js.map +0 -1
- package/dist/commands/referrals.d.ts +0 -69
- package/dist/commands/referrals.js +0 -1056
- package/dist/commands/referrals.js.map +0 -1
- package/dist/commands/resources.d.ts +0 -44
- package/dist/commands/resources.js +0 -234
- package/dist/commands/resources.js.map +0 -1
- package/dist/commands/sessions.d.ts +0 -4
- package/dist/commands/sessions.js +0 -28
- package/dist/commands/sessions.js.map +0 -1
- package/dist/commands/shared.d.ts +0 -38
- package/dist/commands/shared.js +0 -69
- package/dist/commands/shared.js.map +0 -1
- package/dist/commands/status.d.ts +0 -3
- package/dist/commands/status.js +0 -77
- package/dist/commands/status.js.map +0 -1
- package/dist/commands/users.d.ts +0 -4
- package/dist/commands/users.js +0 -100
- package/dist/commands/users.js.map +0 -1
- package/dist/commands/webhooks.d.ts +0 -34
- package/dist/commands/webhooks.js +0 -301
- package/dist/commands/webhooks.js.map +0 -1
- package/dist/config-http.d.ts +0 -29
- package/dist/config-http.js +0 -64
- package/dist/config-http.js.map +0 -1
- package/dist/config.d.ts +0 -64
- package/dist/config.js +0 -69
- package/dist/config.js.map +0 -1
- package/dist/context.d.ts +0 -72
- package/dist/context.js +0 -27
- package/dist/context.js.map +0 -1
- package/dist/define-config.d.ts +0 -9
- package/dist/define-config.js +0 -8
- package/dist/define-config.js.map +0 -1
- package/dist/errors.d.ts +0 -15
- package/dist/errors.js +0 -25
- package/dist/errors.js.map +0 -1
- package/dist/help.d.ts +0 -8
- package/dist/help.js +0 -868
- package/dist/help.js.map +0 -1
- package/dist/import/csv.d.ts +0 -6
- package/dist/import/csv.js +0 -63
- package/dist/import/csv.js.map +0 -1
- package/dist/import/vendors.d.ts +0 -57
- package/dist/import/vendors.js +0 -568
- package/dist/import/vendors.js.map +0 -1
- package/dist/index.d.ts +0 -33
- package/dist/index.js +0 -81
- package/dist/index.js.map +0 -1
- package/dist/io.d.ts +0 -21
- package/dist/io.js +0 -28
- package/dist/io.js.map +0 -1
- package/dist/migrate/appwrite/plugin.d.ts +0 -2
- package/dist/migrate/appwrite/plugin.js +0 -103
- package/dist/migrate/appwrite/plugin.js.map +0 -1
- package/dist/migrate/auth0/plugin.d.ts +0 -2
- package/dist/migrate/auth0/plugin.js +0 -126
- package/dist/migrate/auth0/plugin.js.map +0 -1
- package/dist/migrate/authentik/plugin.d.ts +0 -2
- package/dist/migrate/authentik/plugin.js +0 -135
- package/dist/migrate/authentik/plugin.js.map +0 -1
- package/dist/migrate/azure-ad-b2c/plugin.d.ts +0 -8
- package/dist/migrate/azure-ad-b2c/plugin.js +0 -165
- package/dist/migrate/azure-ad-b2c/plugin.js.map +0 -1
- package/dist/migrate/better-auth/integration.d.ts +0 -59
- package/dist/migrate/better-auth/integration.js +0 -81
- package/dist/migrate/better-auth/integration.js.map +0 -1
- package/dist/migrate/better-auth/orchestrator.d.ts +0 -43
- package/dist/migrate/better-auth/orchestrator.js +0 -525
- package/dist/migrate/better-auth/orchestrator.js.map +0 -1
- package/dist/migrate/better-auth/output.d.ts +0 -20
- package/dist/migrate/better-auth/output.js +0 -146
- package/dist/migrate/better-auth/output.js.map +0 -1
- package/dist/migrate/better-auth/translate.d.ts +0 -77
- package/dist/migrate/better-auth/translate.js +0 -1989
- package/dist/migrate/better-auth/translate.js.map +0 -1
- package/dist/migrate/clerk/plugin.d.ts +0 -2
- package/dist/migrate/clerk/plugin.js +0 -76
- package/dist/migrate/clerk/plugin.js.map +0 -1
- package/dist/migrate/cognito/plugin.d.ts +0 -5
- package/dist/migrate/cognito/plugin.js +0 -170
- package/dist/migrate/cognito/plugin.js.map +0 -1
- package/dist/migrate/corbado/plugin.d.ts +0 -2
- package/dist/migrate/corbado/plugin.js +0 -63
- package/dist/migrate/corbado/plugin.js.map +0 -1
- package/dist/migrate/descope/plugin.d.ts +0 -2
- package/dist/migrate/descope/plugin.js +0 -83
- package/dist/migrate/descope/plugin.js.map +0 -1
- package/dist/migrate/entra-external-id/plugin.d.ts +0 -8
- package/dist/migrate/entra-external-id/plugin.js +0 -12
- package/dist/migrate/entra-external-id/plugin.js.map +0 -1
- package/dist/migrate/export/appwrite-config.d.ts +0 -28
- package/dist/migrate/export/appwrite-config.js +0 -170
- package/dist/migrate/export/appwrite-config.js.map +0 -1
- package/dist/migrate/export/appwrite.d.ts +0 -51
- package/dist/migrate/export/appwrite.js +0 -288
- package/dist/migrate/export/appwrite.js.map +0 -1
- package/dist/migrate/export/auth0-config.d.ts +0 -29
- package/dist/migrate/export/auth0-config.js +0 -249
- package/dist/migrate/export/auth0-config.js.map +0 -1
- package/dist/migrate/export/auth0.d.ts +0 -62
- package/dist/migrate/export/auth0.js +0 -575
- package/dist/migrate/export/auth0.js.map +0 -1
- package/dist/migrate/export/authentik-config.d.ts +0 -45
- package/dist/migrate/export/authentik-config.js +0 -357
- package/dist/migrate/export/authentik-config.js.map +0 -1
- package/dist/migrate/export/authentik.d.ts +0 -110
- package/dist/migrate/export/authentik.js +0 -838
- package/dist/migrate/export/authentik.js.map +0 -1
- package/dist/migrate/export/azure-config.d.ts +0 -58
- package/dist/migrate/export/azure-config.js +0 -344
- package/dist/migrate/export/azure-config.js.map +0 -1
- package/dist/migrate/export/azure.d.ts +0 -85
- package/dist/migrate/export/azure.js +0 -373
- package/dist/migrate/export/azure.js.map +0 -1
- package/dist/migrate/export/clerk-config.d.ts +0 -26
- package/dist/migrate/export/clerk-config.js +0 -227
- package/dist/migrate/export/clerk-config.js.map +0 -1
- package/dist/migrate/export/clerk.d.ts +0 -46
- package/dist/migrate/export/clerk.js +0 -486
- package/dist/migrate/export/clerk.js.map +0 -1
- package/dist/migrate/export/cognito-config.d.ts +0 -25
- package/dist/migrate/export/cognito-config.js +0 -273
- package/dist/migrate/export/cognito-config.js.map +0 -1
- package/dist/migrate/export/cognito.d.ts +0 -103
- package/dist/migrate/export/cognito.js +0 -441
- package/dist/migrate/export/cognito.js.map +0 -1
- package/dist/migrate/export/corbado-config.d.ts +0 -20
- package/dist/migrate/export/corbado-config.js +0 -63
- package/dist/migrate/export/corbado-config.js.map +0 -1
- package/dist/migrate/export/corbado.d.ts +0 -37
- package/dist/migrate/export/corbado.js +0 -132
- package/dist/migrate/export/corbado.js.map +0 -1
- package/dist/migrate/export/descope.d.ts +0 -35
- package/dist/migrate/export/descope.js +0 -208
- package/dist/migrate/export/descope.js.map +0 -1
- package/dist/migrate/export/fake-vendor.test-helper.d.ts +0 -27
- package/dist/migrate/export/fake-vendor.test-helper.js +0 -41
- package/dist/migrate/export/fake-vendor.test-helper.js.map +0 -1
- package/dist/migrate/export/firebase-config.d.ts +0 -24
- package/dist/migrate/export/firebase-config.js +0 -215
- package/dist/migrate/export/firebase-config.js.map +0 -1
- package/dist/migrate/export/firebase.d.ts +0 -102
- package/dist/migrate/export/firebase.js +0 -464
- package/dist/migrate/export/firebase.js.map +0 -1
- package/dist/migrate/export/frameworks/app-users.d.ts +0 -42
- package/dist/migrate/export/frameworks/app-users.js +0 -161
- package/dist/migrate/export/frameworks/app-users.js.map +0 -1
- package/dist/migrate/export/frameworks/authjs.d.ts +0 -41
- package/dist/migrate/export/frameworks/authjs.js +0 -146
- package/dist/migrate/export/frameworks/authjs.js.map +0 -1
- package/dist/migrate/export/frameworks/devise.d.ts +0 -39
- package/dist/migrate/export/frameworks/devise.js +0 -218
- package/dist/migrate/export/frameworks/devise.js.map +0 -1
- package/dist/migrate/export/frameworks/django.d.ts +0 -45
- package/dist/migrate/export/frameworks/django.js +0 -315
- package/dist/migrate/export/frameworks/django.js.map +0 -1
- package/dist/migrate/export/frameworks/lucia.d.ts +0 -42
- package/dist/migrate/export/frameworks/lucia.js +0 -263
- package/dist/migrate/export/frameworks/lucia.js.map +0 -1
- package/dist/migrate/export/frameworks/tables.d.ts +0 -90
- package/dist/migrate/export/frameworks/tables.js +0 -325
- package/dist/migrate/export/frameworks/tables.js.map +0 -1
- package/dist/migrate/export/frameworks/webauthn.d.ts +0 -25
- package/dist/migrate/export/frameworks/webauthn.js +0 -130
- package/dist/migrate/export/frameworks/webauthn.js.map +0 -1
- package/dist/migrate/export/frontegg-config.d.ts +0 -29
- package/dist/migrate/export/frontegg-config.js +0 -238
- package/dist/migrate/export/frontegg-config.js.map +0 -1
- package/dist/migrate/export/frontegg.d.ts +0 -67
- package/dist/migrate/export/frontegg.js +0 -410
- package/dist/migrate/export/frontegg.js.map +0 -1
- package/dist/migrate/export/fusionauth-config.d.ts +0 -26
- package/dist/migrate/export/fusionauth-config.js +0 -226
- package/dist/migrate/export/fusionauth-config.js.map +0 -1
- package/dist/migrate/export/fusionauth.d.ts +0 -99
- package/dist/migrate/export/fusionauth.js +0 -642
- package/dist/migrate/export/fusionauth.js.map +0 -1
- package/dist/migrate/export/hanko-config.d.ts +0 -27
- package/dist/migrate/export/hanko-config.js +0 -265
- package/dist/migrate/export/hanko-config.js.map +0 -1
- package/dist/migrate/export/hanko.d.ts +0 -52
- package/dist/migrate/export/hanko.js +0 -605
- package/dist/migrate/export/hanko.js.map +0 -1
- package/dist/migrate/export/keycloak-config.d.ts +0 -19
- package/dist/migrate/export/keycloak-config.js +0 -219
- package/dist/migrate/export/keycloak-config.js.map +0 -1
- package/dist/migrate/export/keycloak.d.ts +0 -155
- package/dist/migrate/export/keycloak.js +0 -878
- package/dist/migrate/export/keycloak.js.map +0 -1
- package/dist/migrate/export/kinde-descope-config.d.ts +0 -38
- package/dist/migrate/export/kinde-descope-config.js +0 -172
- package/dist/migrate/export/kinde-descope-config.js.map +0 -1
- package/dist/migrate/export/kinde.d.ts +0 -57
- package/dist/migrate/export/kinde.js +0 -333
- package/dist/migrate/export/kinde.js.map +0 -1
- package/dist/migrate/export/ldap.d.ts +0 -53
- package/dist/migrate/export/ldap.js +0 -277
- package/dist/migrate/export/ldap.js.map +0 -1
- package/dist/migrate/export/logto-config.d.ts +0 -27
- package/dist/migrate/export/logto-config.js +0 -264
- package/dist/migrate/export/logto-config.js.map +0 -1
- package/dist/migrate/export/logto.d.ts +0 -150
- package/dist/migrate/export/logto.js +0 -809
- package/dist/migrate/export/logto.js.map +0 -1
- package/dist/migrate/export/magic-config.d.ts +0 -14
- package/dist/migrate/export/magic-config.js +0 -28
- package/dist/migrate/export/magic-config.js.map +0 -1
- package/dist/migrate/export/magic.d.ts +0 -31
- package/dist/migrate/export/magic.js +0 -93
- package/dist/migrate/export/magic.js.map +0 -1
- package/dist/migrate/export/mini-yaml.d.ts +0 -19
- package/dist/migrate/export/mini-yaml.js +0 -581
- package/dist/migrate/export/mini-yaml.js.map +0 -1
- package/dist/migrate/export/nhost-config.d.ts +0 -26
- package/dist/migrate/export/nhost-config.js +0 -360
- package/dist/migrate/export/nhost-config.js.map +0 -1
- package/dist/migrate/export/nhost.d.ts +0 -64
- package/dist/migrate/export/nhost.js +0 -304
- package/dist/migrate/export/nhost.js.map +0 -1
- package/dist/migrate/export/okta-config.d.ts +0 -30
- package/dist/migrate/export/okta-config.js +0 -205
- package/dist/migrate/export/okta-config.js.map +0 -1
- package/dist/migrate/export/okta.d.ts +0 -43
- package/dist/migrate/export/okta.js +0 -337
- package/dist/migrate/export/okta.js.map +0 -1
- package/dist/migrate/export/onelogin.d.ts +0 -22
- package/dist/migrate/export/onelogin.js +0 -123
- package/dist/migrate/export/onelogin.js.map +0 -1
- package/dist/migrate/export/ory-config.d.ts +0 -58
- package/dist/migrate/export/ory-config.js +0 -451
- package/dist/migrate/export/ory-config.js.map +0 -1
- package/dist/migrate/export/ory.d.ts +0 -81
- package/dist/migrate/export/ory.js +0 -555
- package/dist/migrate/export/ory.js.map +0 -1
- package/dist/migrate/export/password-detect.d.ts +0 -29
- package/dist/migrate/export/password-detect.js +0 -81
- package/dist/migrate/export/password-detect.js.map +0 -1
- package/dist/migrate/export/pingone.d.ts +0 -36
- package/dist/migrate/export/pingone.js +0 -218
- package/dist/migrate/export/pingone.js.map +0 -1
- package/dist/migrate/export/plugin-kit.d.ts +0 -25
- package/dist/migrate/export/plugin-kit.js +0 -82
- package/dist/migrate/export/plugin-kit.js.map +0 -1
- package/dist/migrate/export/pocketbase-config.d.ts +0 -28
- package/dist/migrate/export/pocketbase-config.js +0 -180
- package/dist/migrate/export/pocketbase-config.js.map +0 -1
- package/dist/migrate/export/pocketbase.d.ts +0 -52
- package/dist/migrate/export/pocketbase.js +0 -243
- package/dist/migrate/export/pocketbase.js.map +0 -1
- package/dist/migrate/export/project-files.d.ts +0 -15
- package/dist/migrate/export/project-files.js +0 -43
- package/dist/migrate/export/project-files.js.map +0 -1
- package/dist/migrate/export/propelauth-config.d.ts +0 -18
- package/dist/migrate/export/propelauth-config.js +0 -58
- package/dist/migrate/export/propelauth-config.js.map +0 -1
- package/dist/migrate/export/propelauth-harness.test-helper.d.ts +0 -62
- package/dist/migrate/export/propelauth-harness.test-helper.js +0 -109
- package/dist/migrate/export/propelauth-harness.test-helper.js.map +0 -1
- package/dist/migrate/export/propelauth.d.ts +0 -48
- package/dist/migrate/export/propelauth.js +0 -255
- package/dist/migrate/export/propelauth.js.map +0 -1
- package/dist/migrate/export/record-set.d.ts +0 -44
- package/dist/migrate/export/record-set.js +0 -98
- package/dist/migrate/export/record-set.js.map +0 -1
- package/dist/migrate/export/source-lines.d.ts +0 -17
- package/dist/migrate/export/source-lines.js +0 -43
- package/dist/migrate/export/source-lines.js.map +0 -1
- package/dist/migrate/export/sso-metadata.d.ts +0 -47
- package/dist/migrate/export/sso-metadata.js +0 -180
- package/dist/migrate/export/sso-metadata.js.map +0 -1
- package/dist/migrate/export/stytch-config.d.ts +0 -22
- package/dist/migrate/export/stytch-config.js +0 -102
- package/dist/migrate/export/stytch-config.js.map +0 -1
- package/dist/migrate/export/stytch.d.ts +0 -68
- package/dist/migrate/export/stytch.js +0 -510
- package/dist/migrate/export/stytch.js.map +0 -1
- package/dist/migrate/export/supabase-config.d.ts +0 -48
- package/dist/migrate/export/supabase-config.js +0 -408
- package/dist/migrate/export/supabase-config.js.map +0 -1
- package/dist/migrate/export/supabase.d.ts +0 -86
- package/dist/migrate/export/supabase.js +0 -524
- package/dist/migrate/export/supabase.js.map +0 -1
- package/dist/migrate/export/supertokens-config.d.ts +0 -20
- package/dist/migrate/export/supertokens-config.js +0 -150
- package/dist/migrate/export/supertokens-config.js.map +0 -1
- package/dist/migrate/export/supertokens.d.ts +0 -125
- package/dist/migrate/export/supertokens.js +0 -464
- package/dist/migrate/export/supertokens.js.map +0 -1
- package/dist/migrate/export/table.d.ts +0 -35
- package/dist/migrate/export/table.js +0 -248
- package/dist/migrate/export/table.js.map +0 -1
- package/dist/migrate/export/translate-kit.d.ts +0 -46
- package/dist/migrate/export/translate-kit.js +0 -148
- package/dist/migrate/export/translate-kit.js.map +0 -1
- package/dist/migrate/export/userfront-config.d.ts +0 -15
- package/dist/migrate/export/userfront-config.js +0 -49
- package/dist/migrate/export/userfront-config.js.map +0 -1
- package/dist/migrate/export/userfront.d.ts +0 -38
- package/dist/migrate/export/userfront.js +0 -189
- package/dist/migrate/export/userfront.js.map +0 -1
- package/dist/migrate/export/vendor-http.d.ts +0 -46
- package/dist/migrate/export/vendor-http.js +0 -138
- package/dist/migrate/export/vendor-http.js.map +0 -1
- package/dist/migrate/export/workos-config.d.ts +0 -23
- package/dist/migrate/export/workos-config.js +0 -125
- package/dist/migrate/export/workos-config.js.map +0 -1
- package/dist/migrate/export/workos.d.ts +0 -46
- package/dist/migrate/export/workos.js +0 -272
- package/dist/migrate/export/workos.js.map +0 -1
- package/dist/migrate/export/zip.d.ts +0 -8
- package/dist/migrate/export/zip.js +0 -66
- package/dist/migrate/export/zip.js.map +0 -1
- package/dist/migrate/export/zitadel-config.d.ts +0 -37
- package/dist/migrate/export/zitadel-config.js +0 -279
- package/dist/migrate/export/zitadel-config.js.map +0 -1
- package/dist/migrate/export/zitadel.d.ts +0 -82
- package/dist/migrate/export/zitadel.js +0 -447
- package/dist/migrate/export/zitadel.js.map +0 -1
- package/dist/migrate/firebase/plugin.d.ts +0 -2
- package/dist/migrate/firebase/plugin.js +0 -152
- package/dist/migrate/firebase/plugin.js.map +0 -1
- package/dist/migrate/framework/builtins.d.ts +0 -2
- package/dist/migrate/framework/builtins.js +0 -52
- package/dist/migrate/framework/builtins.js.map +0 -1
- package/dist/migrate/framework/commands.d.ts +0 -20
- package/dist/migrate/framework/commands.js +0 -58
- package/dist/migrate/framework/commands.js.map +0 -1
- package/dist/migrate/framework/custom.d.ts +0 -12
- package/dist/migrate/framework/custom.js +0 -96
- package/dist/migrate/framework/custom.js.map +0 -1
- package/dist/migrate/framework/orchestrator.d.ts +0 -113
- package/dist/migrate/framework/orchestrator.js +0 -532
- package/dist/migrate/framework/orchestrator.js.map +0 -1
- package/dist/migrate/framework/plugin.d.ts +0 -167
- package/dist/migrate/framework/plugin.js +0 -3
- package/dist/migrate/framework/plugin.js.map +0 -1
- package/dist/migrate/framework/registry.d.ts +0 -11
- package/dist/migrate/framework/registry.js +0 -44
- package/dist/migrate/framework/registry.js.map +0 -1
- package/dist/migrate/framework/report.d.ts +0 -17
- package/dist/migrate/framework/report.js +0 -103
- package/dist/migrate/framework/report.js.map +0 -1
- package/dist/migrate/frameworks/plugins.d.ts +0 -29
- package/dist/migrate/frameworks/plugins.js +0 -402
- package/dist/migrate/frameworks/plugins.js.map +0 -1
- package/dist/migrate/frameworks/report.d.ts +0 -92
- package/dist/migrate/frameworks/report.js +0 -207
- package/dist/migrate/frameworks/report.js.map +0 -1
- package/dist/migrate/frameworks/translate-js.d.ts +0 -5
- package/dist/migrate/frameworks/translate-js.js +0 -503
- package/dist/migrate/frameworks/translate-js.js.map +0 -1
- package/dist/migrate/frameworks/translate-rails-django.d.ts +0 -3
- package/dist/migrate/frameworks/translate-rails-django.js +0 -1391
- package/dist/migrate/frameworks/translate-rails-django.js.map +0 -1
- package/dist/migrate/frontegg/plugin.d.ts +0 -2
- package/dist/migrate/frontegg/plugin.js +0 -78
- package/dist/migrate/frontegg/plugin.js.map +0 -1
- package/dist/migrate/fusionauth/plugin.d.ts +0 -2
- package/dist/migrate/fusionauth/plugin.js +0 -109
- package/dist/migrate/fusionauth/plugin.js.map +0 -1
- package/dist/migrate/hanko/plugin.d.ts +0 -2
- package/dist/migrate/hanko/plugin.js +0 -100
- package/dist/migrate/hanko/plugin.js.map +0 -1
- package/dist/migrate/keycloak/plugin.d.ts +0 -2
- package/dist/migrate/keycloak/plugin.js +0 -148
- package/dist/migrate/keycloak/plugin.js.map +0 -1
- package/dist/migrate/kinde/plugin.d.ts +0 -2
- package/dist/migrate/kinde/plugin.js +0 -105
- package/dist/migrate/kinde/plugin.js.map +0 -1
- package/dist/migrate/ldap/plugin.d.ts +0 -2
- package/dist/migrate/ldap/plugin.js +0 -73
- package/dist/migrate/ldap/plugin.js.map +0 -1
- package/dist/migrate/logto/plugin.d.ts +0 -2
- package/dist/migrate/logto/plugin.js +0 -131
- package/dist/migrate/logto/plugin.js.map +0 -1
- package/dist/migrate/magic/plugin.d.ts +0 -2
- package/dist/migrate/magic/plugin.js +0 -56
- package/dist/migrate/magic/plugin.js.map +0 -1
- package/dist/migrate/nhost/plugin.d.ts +0 -2
- package/dist/migrate/nhost/plugin.js +0 -115
- package/dist/migrate/nhost/plugin.js.map +0 -1
- package/dist/migrate/oidc/plugin.d.ts +0 -2
- package/dist/migrate/oidc/plugin.js +0 -73
- package/dist/migrate/oidc/plugin.js.map +0 -1
- package/dist/migrate/okta/plugin.d.ts +0 -2
- package/dist/migrate/okta/plugin.js +0 -105
- package/dist/migrate/okta/plugin.js.map +0 -1
- package/dist/migrate/onelogin/plugin.d.ts +0 -2
- package/dist/migrate/onelogin/plugin.js +0 -61
- package/dist/migrate/onelogin/plugin.js.map +0 -1
- package/dist/migrate/ory/plugin.d.ts +0 -2
- package/dist/migrate/ory/plugin.js +0 -186
- package/dist/migrate/ory/plugin.js.map +0 -1
- package/dist/migrate/ping-identity/plugin.d.ts +0 -2
- package/dist/migrate/ping-identity/plugin.js +0 -100
- package/dist/migrate/ping-identity/plugin.js.map +0 -1
- package/dist/migrate/pocketbase/plugin.d.ts +0 -2
- package/dist/migrate/pocketbase/plugin.js +0 -99
- package/dist/migrate/pocketbase/plugin.js.map +0 -1
- package/dist/migrate/propelauth/plugin.d.ts +0 -2
- package/dist/migrate/propelauth/plugin.js +0 -65
- package/dist/migrate/propelauth/plugin.js.map +0 -1
- package/dist/migrate/saml/plugin.d.ts +0 -2
- package/dist/migrate/saml/plugin.js +0 -79
- package/dist/migrate/saml/plugin.js.map +0 -1
- package/dist/migrate/stytch/plugin.d.ts +0 -2
- package/dist/migrate/stytch/plugin.js +0 -97
- package/dist/migrate/stytch/plugin.js.map +0 -1
- package/dist/migrate/supabase/plugin.d.ts +0 -2
- package/dist/migrate/supabase/plugin.js +0 -149
- package/dist/migrate/supabase/plugin.js.map +0 -1
- package/dist/migrate/supertokens/plugin.d.ts +0 -2
- package/dist/migrate/supertokens/plugin.js +0 -114
- package/dist/migrate/supertokens/plugin.js.map +0 -1
- package/dist/migrate/user-table/plugin.d.ts +0 -2
- package/dist/migrate/user-table/plugin.js +0 -62
- package/dist/migrate/user-table/plugin.js.map +0 -1
- package/dist/migrate/userfront/plugin.d.ts +0 -2
- package/dist/migrate/userfront/plugin.js +0 -60
- package/dist/migrate/userfront/plugin.js.map +0 -1
- package/dist/migrate/workos/plugin.d.ts +0 -2
- package/dist/migrate/workos/plugin.js +0 -81
- package/dist/migrate/workos/plugin.js.map +0 -1
- package/dist/migrate/zitadel/plugin.d.ts +0 -2
- package/dist/migrate/zitadel/plugin.js +0 -114
- package/dist/migrate/zitadel/plugin.js.map +0 -1
- package/dist/output.d.ts +0 -41
- package/dist/output.js +0 -72
- package/dist/output.js.map +0 -1
- package/dist/project.d.ts +0 -64
- package/dist/project.js +0 -86
- package/dist/project.js.map +0 -1
- package/dist/prompt.d.ts +0 -15
- package/dist/prompt.js +0 -46
- package/dist/prompt.js.map +0 -1
- package/dist/run.d.ts +0 -12
- package/dist/run.js +0 -157
- package/dist/run.js.map +0 -1
- package/dist/secrets.d.ts +0 -41
- package/dist/secrets.js +0 -142
- package/dist/secrets.js.map +0 -1
- package/dist/serialize.d.ts +0 -30
- package/dist/serialize.js +0 -131
- package/dist/serialize.js.map +0 -1
- package/dist/version.d.ts +0 -7
- package/dist/version.js +0 -21
- package/dist/version.js.map +0 -1
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.fetchPropelauthConfig = fetchPropelauthConfig;
|
|
4
|
-
exports.translatePropelauthConfig = translatePropelauthConfig;
|
|
5
|
-
const record_set_1 = require("./record-set");
|
|
6
|
-
const translate_kit_1 = require("./translate-kit");
|
|
7
|
-
const propelauth_1 = require("./propelauth");
|
|
8
|
-
const vendor_http_1 = require("./vendor-http");
|
|
9
|
-
async function optional(fn, fallback) {
|
|
10
|
-
try {
|
|
11
|
-
return await fn();
|
|
12
|
-
}
|
|
13
|
-
catch (err) {
|
|
14
|
-
if (err instanceof vendor_http_1.VendorApiError && [400, 403, 404, 405].includes(err.status))
|
|
15
|
-
return fallback;
|
|
16
|
-
throw err;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
async function fetchPropelauthConfig(http, authUrl) {
|
|
20
|
-
const mappings = await optional(async () => (await http.get('/api/backend/v1/custom_role_mappings')).body, null);
|
|
21
|
-
const list = Array.isArray(mappings) ? mappings : Array.isArray(mappings?.custom_role_mappings) ? mappings.custom_role_mappings : [];
|
|
22
|
-
const roleMappings = list.map((m) => (typeof m === 'string' ? m : (0, record_set_1.str)(m?.custom_role_mapping_name) ?? (0, record_set_1.str)(m?.name))).filter((n) => !!n);
|
|
23
|
-
let orgs = 0;
|
|
24
|
-
let samlOrgs = 0;
|
|
25
|
-
for (let page = 0; page < 1000; page++) {
|
|
26
|
-
const body = await optional(async () => (await http.get(`/api/backend/v1/org/query?page_size=100&page_number=${page}`)).body, null);
|
|
27
|
-
const rows = (0, record_set_1.objs)(body?.orgs);
|
|
28
|
-
orgs += rows.length;
|
|
29
|
-
samlOrgs += rows.filter((o) => o.is_saml_configured === true).length;
|
|
30
|
-
if (body?.has_more_results !== true || rows.length === 0)
|
|
31
|
-
break;
|
|
32
|
-
}
|
|
33
|
-
return { authUrl: (0, propelauth_1.normalizeAuthUrl)(authUrl), roleMappings, orgs, samlOrgs };
|
|
34
|
-
}
|
|
35
|
-
function translatePropelauthConfig(snap) {
|
|
36
|
-
const b = new translate_kit_1.ConfigBuilder();
|
|
37
|
-
b.add('mapped', 'organizations', 'organizations and members', `${snap.orgs} organization(s) with their members, roles, permissions and pending invitations move with the data export.`, 'organizations');
|
|
38
|
-
for (const name of snap.roleMappings) {
|
|
39
|
-
b.add('manual', 'roles', `custom role mapping ${name}`, 'PropelAuth role mappings choose which role set an organization uses; Atlas roles are instance-wide, so recreate the set once and assign it in Atlas.', 'roles');
|
|
40
|
-
}
|
|
41
|
-
if (snap.samlOrgs > 0) {
|
|
42
|
-
b.add('manual', 'enterprise', `SAML (${snap.samlOrgs} organization(s))`, 'PropelAuth never returns a connection\'s IdP settings: create each SAML connection again in Atlas with the IdP\'s metadata.', 'sso_connections');
|
|
43
|
-
}
|
|
44
|
-
for (const [setting, where] of [
|
|
45
|
-
['login methods (password, passwordless, social)', 'Dashboard → Login Methods'],
|
|
46
|
-
['password and MFA requirements', 'Dashboard → Login Methods / Security'],
|
|
47
|
-
['session and token lifetimes', 'Dashboard → Settings → Sessions'],
|
|
48
|
-
['social provider credentials', 'Dashboard → Login Methods → Social (re-enter each client id and secret as an Atlas oauth provider)'],
|
|
49
|
-
['allowed redirect URLs and domains', 'Dashboard → Frontend Integration'],
|
|
50
|
-
['branding, hosted pages and emails', 'Dashboard → Branding / Emails (use the Atlas theme and email templates)'],
|
|
51
|
-
['user properties and metadata schema', 'Dashboard → User Properties (carried as user metadata in the export)'],
|
|
52
|
-
]) {
|
|
53
|
-
b.add('manual', 'settings not in the API', setting, `PropelAuth does not expose this by API; copy it from the dashboard (${where}).`);
|
|
54
|
-
}
|
|
55
|
-
b.add('differs', 'sessions', 'access tokens', 'PropelAuth signs RS256 tokens verified with a project verifier key (there is no JWKS). The propelauth bridge preset needs that key to keep sessions through the switch; new sign-ins use Atlas tokens.', 'migration bridge');
|
|
56
|
-
return b.result(`PropelAuth project ${snap.authUrl}`, { bridge: { preset: 'propelauth', vars: { auth_url: snap.authUrl } } });
|
|
57
|
-
}
|
|
58
|
-
//# sourceMappingURL=propelauth-config.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"propelauth-config.js","sourceRoot":"","sources":["../../../src/migrate/export/propelauth-config.ts"],"names":[],"mappings":";;AA8BA,sDAcC;AAED,8DAsBC;AAnED,6CAAmD;AACnD,mDAAgD;AAChD,6CAAgD;AAChD,+CAAgE;AAiBhE,KAAK,UAAU,QAAQ,CAAI,EAAoB,EAAE,QAAW;IAC1D,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,EAAE,CAAC;IACpB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,4BAAc,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,OAAO,QAAQ,CAAC;QAChG,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,qBAAqB,CAAC,IAAgB,EAAE,OAAe;IAC3E,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,CAAU,sCAAsC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAe,CAAC,CAAC;IACrI,MAAM,IAAI,GAAc,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAE,QAAuB,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAG,QAAgB,CAAC,oBAAkC,CAAC,CAAC,CAAC,EAAE,CAAC;IACxL,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAA,gBAAG,EAAE,CAAgB,EAAE,wBAAwB,CAAC,IAAI,IAAA,gBAAG,EAAE,CAAgB,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrL,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,CAAM,uDAAuD,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,IAAkB,CAAC,CAAC;QACvJ,MAAM,IAAI,GAAG,IAAA,iBAAI,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC9B,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC;QACpB,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC;QACrE,IAAI,IAAI,EAAE,gBAAgB,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM;IAClE,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,IAAA,6BAAgB,EAAC,OAAO,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AAC9E,CAAC;AAED,SAAgB,yBAAyB,CAAC,IAA8B;IACtE,MAAM,CAAC,GAAG,IAAI,6BAAa,EAAE,CAAC;IAC9B,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,eAAe,EAAE,2BAA2B,EAAE,GAAG,IAAI,CAAC,IAAI,4GAA4G,EAAE,eAAe,CAAC,CAAC;IACzM,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACrC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,uBAAuB,IAAI,EAAE,EAAE,sJAAsJ,EAAE,OAAO,CAAC,CAAC;IAC3N,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;QACtB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,IAAI,CAAC,QAAQ,mBAAmB,EAAE,6HAA6H,EAAE,iBAAiB,CAAC,CAAC;IAC7N,CAAC;IACD,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI;QAC7B,CAAC,gDAAgD,EAAE,2BAA2B,CAAC;QAC/E,CAAC,+BAA+B,EAAE,sCAAsC,CAAC;QACzE,CAAC,6BAA6B,EAAE,iCAAiC,CAAC;QAClE,CAAC,6BAA6B,EAAE,oGAAoG,CAAC;QACrI,CAAC,mCAAmC,EAAE,kCAAkC,CAAC;QACzE,CAAC,mCAAmC,EAAE,yEAAyE,CAAC;QAChH,CAAC,qCAAqC,EAAE,sEAAsE,CAAC;KACvG,EAAE,CAAC;QACX,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,yBAAyB,EAAE,OAAO,EAAE,uEAAuE,KAAK,IAAI,CAAC,CAAC;IACxI,CAAC;IACD,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,wMAAwM,EAAE,kBAAkB,CAAC,CAAC;IAC5Q,OAAO,CAAC,CAAC,MAAM,CAAC,sBAAsB,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;AAChI,CAAC"}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import type { MigrationBundleWriter, RecordIssue } from '@atlasauth/migrate';
|
|
2
|
-
import type { ExportCursor, PluginContext } from '../framework/plugin';
|
|
3
|
-
/**
|
|
4
|
-
* Test harness for the PropelAuth and Userfront tracks: a fake vendor API
|
|
5
|
-
* (routes are `METHOD path?query` as the exporter sends it; unrouted calls
|
|
6
|
-
* answer 404, so an exporter that calls something unexpected degrades the way
|
|
7
|
-
* it would against a vendor that lacks the endpoint), a hand-built
|
|
8
|
-
* PluginContext and a bundle writer that records every call.
|
|
9
|
-
*/
|
|
10
|
-
export type Route = unknown | {
|
|
11
|
-
status: number;
|
|
12
|
-
body?: unknown;
|
|
13
|
-
} | ((req: {
|
|
14
|
-
url: URL;
|
|
15
|
-
body: unknown;
|
|
16
|
-
headers: Headers;
|
|
17
|
-
}) => unknown);
|
|
18
|
-
export interface FakeVendor {
|
|
19
|
-
fetchImpl: typeof fetch;
|
|
20
|
-
calls: Array<{
|
|
21
|
-
method: string;
|
|
22
|
-
url: string;
|
|
23
|
-
headers: Headers;
|
|
24
|
-
body: unknown;
|
|
25
|
-
}>;
|
|
26
|
-
}
|
|
27
|
-
export declare function fakeVendor(origin: string, routes: Record<string, Route>): FakeVendor;
|
|
28
|
-
export declare const noSleep: () => Promise<undefined>;
|
|
29
|
-
export interface Harness {
|
|
30
|
-
p: PluginContext;
|
|
31
|
-
said: string[];
|
|
32
|
-
}
|
|
33
|
-
export declare function context(opts?: {
|
|
34
|
-
values?: Record<string, unknown>;
|
|
35
|
-
env?: Record<string, string>;
|
|
36
|
-
files?: Record<string, string>;
|
|
37
|
-
fetch?: typeof fetch;
|
|
38
|
-
}): Harness;
|
|
39
|
-
export declare class FakeWriter {
|
|
40
|
-
described: unknown[];
|
|
41
|
-
warnings: string[];
|
|
42
|
-
omits: Array<[string, string, number]>;
|
|
43
|
-
adds: Array<{
|
|
44
|
-
model: string;
|
|
45
|
-
data: Record<string, unknown>;
|
|
46
|
-
}>;
|
|
47
|
-
issues: Record<string, RecordIssue[]>;
|
|
48
|
-
describe(fields: unknown): void;
|
|
49
|
-
warn(message: string): void;
|
|
50
|
-
omit(model: string, reason: string, count?: number): void;
|
|
51
|
-
add(model: string, data: unknown): Promise<RecordIssue[]>;
|
|
52
|
-
get writer(): MigrationBundleWriter;
|
|
53
|
-
ids(model: string): unknown[];
|
|
54
|
-
models(): string[];
|
|
55
|
-
}
|
|
56
|
-
export declare function resumeFrom(cursor?: ExportCursor | null): {
|
|
57
|
-
checkpoints: import("../../serialize").Json[];
|
|
58
|
-
resume: {
|
|
59
|
-
cursor: import("../../serialize").Json;
|
|
60
|
-
checkpoint: (c: ExportCursor) => undefined;
|
|
61
|
-
};
|
|
62
|
-
};
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.FakeWriter = exports.noSleep = void 0;
|
|
4
|
-
exports.fakeVendor = fakeVendor;
|
|
5
|
-
exports.context = context;
|
|
6
|
-
exports.resumeFrom = resumeFrom;
|
|
7
|
-
const errors_1 = require("../../errors");
|
|
8
|
-
const isStatus = (v) => typeof v === 'object' && v !== null && 'status' in v && typeof v.status === 'number' && Object.keys(v).every((k) => ['status', 'body'].includes(k));
|
|
9
|
-
function fakeVendor(origin, routes) {
|
|
10
|
-
const calls = [];
|
|
11
|
-
const fetchImpl = (async (input, init = {}) => {
|
|
12
|
-
const url = new URL(String(input));
|
|
13
|
-
const method = (init.method ?? 'GET').toUpperCase();
|
|
14
|
-
const headers = new Headers(init.headers);
|
|
15
|
-
let body = init.body;
|
|
16
|
-
if (typeof body === 'string') {
|
|
17
|
-
try {
|
|
18
|
-
body = JSON.parse(body);
|
|
19
|
-
}
|
|
20
|
-
catch {
|
|
21
|
-
// plain text: kept as the string
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
calls.push({ method, url: url.toString(), headers, body });
|
|
25
|
-
const key = url.origin === origin ? `${method} ${url.pathname}${url.search}` : `${method} ${url.toString()}`;
|
|
26
|
-
let route = routes[key];
|
|
27
|
-
if (route === undefined)
|
|
28
|
-
route = routes[`${method} ${url.pathname}`];
|
|
29
|
-
if (route === undefined)
|
|
30
|
-
return new Response(JSON.stringify({ message: `no route for ${key}` }), { status: 404 });
|
|
31
|
-
const value = typeof route === 'function' ? route({ url, body, headers }) : route;
|
|
32
|
-
const resolved = isStatus(value) ? value : { status: 200, body: value };
|
|
33
|
-
return new Response(resolved.body === undefined ? '' : JSON.stringify(resolved.body), { status: resolved.status, headers: { 'content-type': 'application/json' } });
|
|
34
|
-
});
|
|
35
|
-
return { fetchImpl, calls };
|
|
36
|
-
}
|
|
37
|
-
const noSleep = async () => undefined;
|
|
38
|
-
exports.noSleep = noSleep;
|
|
39
|
-
function context(opts = {}) {
|
|
40
|
-
const values = opts.values ?? {};
|
|
41
|
-
const env = opts.env ?? {};
|
|
42
|
-
const files = opts.files ?? {};
|
|
43
|
-
const said = [];
|
|
44
|
-
const p = {
|
|
45
|
-
ctx: {
|
|
46
|
-
env,
|
|
47
|
-
readFile: (path) => {
|
|
48
|
-
const text = files[path];
|
|
49
|
-
if (text === undefined)
|
|
50
|
-
throw new Error(`ENOENT: no such file, open '${path}'`);
|
|
51
|
-
return text;
|
|
52
|
-
},
|
|
53
|
-
},
|
|
54
|
-
args: { positionals: [], values },
|
|
55
|
-
project: '/project',
|
|
56
|
-
credential(spec) {
|
|
57
|
-
const name = spec.flag.replace(/^--/, '');
|
|
58
|
-
const raw = values[name];
|
|
59
|
-
const value = (typeof raw === 'string' && raw.trim() ? raw.trim() : undefined) ?? env[spec.env]?.trim();
|
|
60
|
-
if (value)
|
|
61
|
-
return value;
|
|
62
|
-
if (spec.required)
|
|
63
|
-
throw new errors_1.CliError(`${spec.label} is needed. Pass --set ${name}=<value> or set ${spec.env}.`);
|
|
64
|
-
return undefined;
|
|
65
|
-
},
|
|
66
|
-
fetch: opts.fetch ??
|
|
67
|
-
(async () => {
|
|
68
|
-
throw new Error('no vendor API in this test');
|
|
69
|
-
}),
|
|
70
|
-
say: (line) => void said.push(line),
|
|
71
|
-
dryRun: false,
|
|
72
|
-
};
|
|
73
|
-
return { p, said };
|
|
74
|
-
}
|
|
75
|
-
class FakeWriter {
|
|
76
|
-
described = [];
|
|
77
|
-
warnings = [];
|
|
78
|
-
omits = [];
|
|
79
|
-
adds = [];
|
|
80
|
-
issues = {};
|
|
81
|
-
describe(fields) {
|
|
82
|
-
this.described.push(fields);
|
|
83
|
-
}
|
|
84
|
-
warn(message) {
|
|
85
|
-
this.warnings.push(message);
|
|
86
|
-
}
|
|
87
|
-
omit(model, reason, count = 1) {
|
|
88
|
-
this.omits.push([model, reason, count]);
|
|
89
|
-
}
|
|
90
|
-
async add(model, data) {
|
|
91
|
-
this.adds.push({ model, data: data });
|
|
92
|
-
return this.issues[model] ?? [];
|
|
93
|
-
}
|
|
94
|
-
get writer() {
|
|
95
|
-
return this;
|
|
96
|
-
}
|
|
97
|
-
ids(model) {
|
|
98
|
-
return this.adds.filter((a) => a.model === model).map((a) => a.data.id);
|
|
99
|
-
}
|
|
100
|
-
models() {
|
|
101
|
-
return this.adds.map((a) => a.model);
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
exports.FakeWriter = FakeWriter;
|
|
105
|
-
function resumeFrom(cursor = null) {
|
|
106
|
-
const checkpoints = [];
|
|
107
|
-
return { checkpoints, resume: { cursor, checkpoint: (c) => void checkpoints.push(c) } };
|
|
108
|
-
}
|
|
109
|
-
//# sourceMappingURL=propelauth-harness.test-helper.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"propelauth-harness.test-helper.js","sourceRoot":"","sources":["../../../src/migrate/export/propelauth-harness.test-helper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import type { UserRecord } from '@atlasauth/migrate';
|
|
2
|
-
import { RecordSet, type Obj } from './record-set';
|
|
3
|
-
import { VendorHttp } from './vendor-http';
|
|
4
|
-
/**
|
|
5
|
-
* `atlas migrate export propelauth` — a PropelAuth project onto the canonical
|
|
6
|
-
* bundle models, read with a backend API key on this machine.
|
|
7
|
-
*
|
|
8
|
-
* - users (email + confirmed flag, username, names, picture, locked /
|
|
9
|
-
* disabled, metadata) with every organization they belong to and the role
|
|
10
|
-
* they hold there;
|
|
11
|
-
* - organizations (slug, self-join domains, member cap), the roles seen on
|
|
12
|
-
* members (with the permissions they carry) and pending invitations;
|
|
13
|
-
* - password hashes: PropelAuth has no password-verify API and does not
|
|
14
|
-
* return hashes. Support can export them; pass that file with
|
|
15
|
-
* --propelauth-hashes-file (self-describing hashes are recognised on their
|
|
16
|
-
* own). Without it members set a password again (reset link) — or sign in
|
|
17
|
-
* with the method they already use.
|
|
18
|
-
*
|
|
19
|
-
* Not exportable: TOTP secrets (only the factor type is readable), social
|
|
20
|
-
* account ids (users relink by verified email), end-user API key secrets
|
|
21
|
-
* (reissue), SAML IdP settings (write-only: set the connection up again).
|
|
22
|
-
* Sessions are RS256 tokens verified with the project's verifier key: see the
|
|
23
|
-
* `propelauth` bridge preset.
|
|
24
|
-
*/
|
|
25
|
-
export interface PropelauthExportOptions {
|
|
26
|
-
/** The project's auth URL (https://123456.propelauthtest.com or a custom domain). */
|
|
27
|
-
authUrl: string;
|
|
28
|
-
apiKey: string;
|
|
29
|
-
/** Backend API host (default https://propelauth-api.com). */
|
|
30
|
-
apiBase?: string;
|
|
31
|
-
/** The password-hash export from PropelAuth support (CSV or NDJSON). */
|
|
32
|
-
hashesText?: string;
|
|
33
|
-
fetchImpl?: typeof fetch;
|
|
34
|
-
sleep?: (ms: number) => Promise<void>;
|
|
35
|
-
onProgress?: (message: string) => void;
|
|
36
|
-
}
|
|
37
|
-
/** `https://x.propelauthtest.com/` → `https://x.propelauthtest.com`; anything but a plain https origin is refused. */
|
|
38
|
-
export declare function normalizeAuthUrl(raw: string): string;
|
|
39
|
-
export declare function propelauthHttp(o: {
|
|
40
|
-
authUrl: string;
|
|
41
|
-
apiKey: string;
|
|
42
|
-
apiBase?: string;
|
|
43
|
-
fetchImpl?: typeof fetch;
|
|
44
|
-
sleep?: (ms: number) => Promise<void>;
|
|
45
|
-
}): VendorHttp;
|
|
46
|
-
export declare function exportPropelauth(opts: PropelauthExportOptions): Promise<RecordSet>;
|
|
47
|
-
/** One PropelAuth user (user query result) → a user record. */
|
|
48
|
-
export declare function mapPropelauthUser(u: Obj): UserRecord | null;
|
|
@@ -1,255 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.normalizeAuthUrl = normalizeAuthUrl;
|
|
4
|
-
exports.propelauthHttp = propelauthHttp;
|
|
5
|
-
exports.exportPropelauth = exportPropelauth;
|
|
6
|
-
exports.mapPropelauthUser = mapPropelauthUser;
|
|
7
|
-
const csv_1 = require("../../import/csv");
|
|
8
|
-
const record_set_1 = require("./record-set");
|
|
9
|
-
const translate_kit_1 = require("./translate-kit");
|
|
10
|
-
const vendor_http_1 = require("./vendor-http");
|
|
11
|
-
const API = 'https://propelauth-api.com';
|
|
12
|
-
const PAGE = 100;
|
|
13
|
-
const MAX_PAGES = 100_000;
|
|
14
|
-
const BUILT_IN_ROLES = new Set(['admin', 'member']);
|
|
15
|
-
/** `https://x.propelauthtest.com/` → `https://x.propelauthtest.com`; anything but a plain https origin is refused. */
|
|
16
|
-
function normalizeAuthUrl(raw) {
|
|
17
|
-
const url = raw.trim().replace(/\/+$/, '');
|
|
18
|
-
const withScheme = /^https:\/\//.test(url) ? url : /^[a-z0-9.-]+$/i.test(url) ? `https://${url}` : url;
|
|
19
|
-
if (!/^https:\/\/[a-z0-9.-]+(:\d+)?$/i.test(withScheme))
|
|
20
|
-
throw new Error(`Not a PropelAuth auth URL: ${raw}`);
|
|
21
|
-
return withScheme;
|
|
22
|
-
}
|
|
23
|
-
function propelauthHttp(o) {
|
|
24
|
-
return new vendor_http_1.VendorHttp({
|
|
25
|
-
vendor: 'PropelAuth',
|
|
26
|
-
baseUrl: (o.apiBase ?? API).replace(/\/+$/, ''),
|
|
27
|
-
headers: { authorization: `Bearer ${o.apiKey}`, 'x-propelauth-url': normalizeAuthUrl(o.authUrl).replace(/^https:\/\//, '') },
|
|
28
|
-
fetchImpl: o.fetchImpl,
|
|
29
|
-
sleep: o.sleep,
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
async function exportPropelauth(opts) {
|
|
33
|
-
const set = new record_set_1.RecordSet();
|
|
34
|
-
const authUrl = normalizeAuthUrl(opts.authUrl);
|
|
35
|
-
if (!opts.apiKey)
|
|
36
|
-
throw new Error('PropelAuth export needs a backend API key (PROPELAUTH_API_KEY).');
|
|
37
|
-
const progress = opts.onProgress ?? (() => undefined);
|
|
38
|
-
const http = propelauthHttp({ authUrl, apiKey: opts.apiKey, apiBase: opts.apiBase, fetchImpl: opts.fetchImpl, sleep: opts.sleep });
|
|
39
|
-
progress('organizations');
|
|
40
|
-
const orgs = await listOrgs(http);
|
|
41
|
-
const orgIds = new Set();
|
|
42
|
-
let saml = 0;
|
|
43
|
-
for (const o of orgs) {
|
|
44
|
-
const id = (0, record_set_1.str)(o.org_id);
|
|
45
|
-
const name = (0, record_set_1.str)(o.name) ?? (0, record_set_1.str)(o.org_name) ?? id;
|
|
46
|
-
if (!id || !name)
|
|
47
|
-
continue;
|
|
48
|
-
orgIds.add(id);
|
|
49
|
-
const detail = await optional(async () => (await http.get(`/api/backend/v1/org/${encodeURIComponent(id)}`)).body);
|
|
50
|
-
const domains = detail && detail.domain_autojoin === true ? [(0, record_set_1.str)(detail.domain), ...(0, record_set_1.strs)(detail.extra_domains)].filter((d) => !!d) : [];
|
|
51
|
-
set.add('organization', (0, record_set_1.compact)({
|
|
52
|
-
id,
|
|
53
|
-
name,
|
|
54
|
-
slug: (0, record_set_1.str)(detail?.url_safe_org_slug) ?? (0, record_set_1.str)(o.url_safe_org_slug) ?? (0, record_set_1.str)(o.url_safe_org_name),
|
|
55
|
-
domains: [...new Set(domains.map((d) => d.toLowerCase()))],
|
|
56
|
-
max_members: typeof o.max_users === 'number' && o.max_users > 0 ? o.max_users : undefined,
|
|
57
|
-
public_metadata: (0, record_set_1.bag)(o.metadata),
|
|
58
|
-
created_at: toMs(o.created_at),
|
|
59
|
-
}), id);
|
|
60
|
-
if (o.is_saml_configured === true)
|
|
61
|
-
saml++;
|
|
62
|
-
}
|
|
63
|
-
if (saml > 0) {
|
|
64
|
-
set.omit('sso_connection', 'PropelAuth never returns a SAML connection\'s IdP settings (write-only): set the connection up again in Atlas, with the same IdP', saml);
|
|
65
|
-
}
|
|
66
|
-
progress('users');
|
|
67
|
-
const hashes = opts.hashesText ? indexHashes(opts.hashesText) : null;
|
|
68
|
-
const userIds = new Set();
|
|
69
|
-
const rolePerms = new Map();
|
|
70
|
-
let withHash = 0;
|
|
71
|
-
let noPassword = 0;
|
|
72
|
-
let multiRole = false;
|
|
73
|
-
const users = await listAll(http, '/api/backend/v1/user/query?include_orgs=true&order_by=CREATED_AT_ASC', 'users');
|
|
74
|
-
for (const u of users) {
|
|
75
|
-
const user = mapPropelauthUser(u);
|
|
76
|
-
if (!user) {
|
|
77
|
-
set.omit('user', 'no email or username');
|
|
78
|
-
continue;
|
|
79
|
-
}
|
|
80
|
-
const email = user.emails?.[0]?.email;
|
|
81
|
-
const h = hashes ? (hashes.get(user.id) ?? (email ? hashes.get(email) : undefined) ?? hashes.get((0, record_set_1.str)(u.legacy_user_id) ?? '\0')) : undefined;
|
|
82
|
-
if (h) {
|
|
83
|
-
user.password = { algorithm: 'auto', hash: h };
|
|
84
|
-
withHash++;
|
|
85
|
-
}
|
|
86
|
-
if (u.has_password === false)
|
|
87
|
-
noPassword++;
|
|
88
|
-
set.add('user', user, user.id);
|
|
89
|
-
userIds.add(user.id);
|
|
90
|
-
if (u.mfa_enabled === true)
|
|
91
|
-
set.omit('mfa_factor', 'PropelAuth does not export TOTP secrets; members enrol again in Atlas');
|
|
92
|
-
const info = (0, record_set_1.isObj)(u.org_id_to_org_info) ? u.org_id_to_org_info : {};
|
|
93
|
-
for (const [orgId, raw] of Object.entries(info)) {
|
|
94
|
-
if (!(0, record_set_1.isObj)(raw))
|
|
95
|
-
continue;
|
|
96
|
-
if (!orgIds.has(orgId)) {
|
|
97
|
-
// Listed on a member but missing from the organization listing: keep the membership.
|
|
98
|
-
orgIds.add(orgId);
|
|
99
|
-
set.add('organization', (0, record_set_1.compact)({ id: orgId, name: (0, record_set_1.str)(raw.org_name) ?? orgId, slug: (0, record_set_1.str)(raw.url_safe_org_name) }), orgId);
|
|
100
|
-
}
|
|
101
|
-
const role = (0, translate_kit_1.keyOf)((0, record_set_1.str)(raw.user_role) ?? 'member');
|
|
102
|
-
if ((0, record_set_1.strs)(raw.additional_roles).length > 0)
|
|
103
|
-
multiRole = true;
|
|
104
|
-
else if (!rolePerms.has(role))
|
|
105
|
-
rolePerms.set(role, new Set((0, record_set_1.strs)(raw.user_permissions)));
|
|
106
|
-
else
|
|
107
|
-
for (const p of (0, record_set_1.strs)(raw.user_permissions))
|
|
108
|
-
rolePerms.get(role).add(p);
|
|
109
|
-
set.add('membership', { organization_id: orgId, user_id: user.id, role }, `${orgId}:${user.id}`);
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
if (multiRole)
|
|
113
|
-
set.warn('Some members hold additional roles in an organization; Atlas seats each member with one role (their main role).');
|
|
114
|
-
if (noPassword > 0) {
|
|
115
|
-
set.omit('identity', "PropelAuth does not export social accounts' provider user ids: they relink by verified email on first social sign-in", noPassword);
|
|
116
|
-
}
|
|
117
|
-
if (!hashes && set.count('user') > 0) {
|
|
118
|
-
set.warn('No password hashes: PropelAuth has no password-verify API, so only a hash export from PropelAuth support can carry passwords. Pass it with --propelauth-hashes-file, or members set a password again on first sign-in.');
|
|
119
|
-
}
|
|
120
|
-
else if (hashes && withHash === 0) {
|
|
121
|
-
set.warn('The hash file matched no user (by user id, email or legacy user id): check its columns.');
|
|
122
|
-
}
|
|
123
|
-
progress('invitations');
|
|
124
|
-
const invitedRoles = new Set();
|
|
125
|
-
for (const orgId of orgIds) {
|
|
126
|
-
const invites = await optional(() => listAll(http, `/api/backend/v1/pending_org_invites?org_id=${encodeURIComponent(orgId)}`, 'invites'));
|
|
127
|
-
for (const inv of invites ?? []) {
|
|
128
|
-
const email = (0, record_set_1.str)(inv.invitee_email)?.toLowerCase();
|
|
129
|
-
if (!email)
|
|
130
|
-
continue;
|
|
131
|
-
const role = (0, translate_kit_1.keyOf)((0, record_set_1.str)(inv.role_in_org) ?? 'member');
|
|
132
|
-
invitedRoles.add(role);
|
|
133
|
-
const inviter = (0, record_set_1.str)(inv.inviter_user_id);
|
|
134
|
-
set.add('invitation', (0, record_set_1.compact)({
|
|
135
|
-
id: `${orgId}:${email}`,
|
|
136
|
-
organization_id: orgId,
|
|
137
|
-
email,
|
|
138
|
-
role,
|
|
139
|
-
status: 'pending',
|
|
140
|
-
inviter_user_id: inviter && userIds.has(inviter) ? inviter : undefined,
|
|
141
|
-
expires_at: toMs(inv.expires_at),
|
|
142
|
-
created_at: toMs(inv.created_at),
|
|
143
|
-
}), `${orgId}:${email}`);
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
const roleKeys = new Set([...rolePerms.keys(), ...invitedRoles]);
|
|
147
|
-
for (const key of roleKeys) {
|
|
148
|
-
if (BUILT_IN_ROLES.has(key))
|
|
149
|
-
continue;
|
|
150
|
-
set.add('role', (0, record_set_1.compact)({ key, name: key, scope: 'organization', permissions: [...(rolePerms.get(key) ?? [])] }), key);
|
|
151
|
-
}
|
|
152
|
-
progress('api keys');
|
|
153
|
-
const keys = (await optional(() => listAll(http, '/api/backend/v1/end_user_api_keys', 'api_keys'))) ?? [];
|
|
154
|
-
if (keys.length)
|
|
155
|
-
set.omit('api_key', 'PropelAuth never reveals end-user API key secrets: reissue them as Atlas API keys', keys.length);
|
|
156
|
-
set.manifest = { origin: authUrl, settings: { auth_url: authUrl } };
|
|
157
|
-
return set;
|
|
158
|
-
}
|
|
159
|
-
/** One PropelAuth user (user query result) → a user record. */
|
|
160
|
-
function mapPropelauthUser(u) {
|
|
161
|
-
const id = (0, record_set_1.str)(u.user_id);
|
|
162
|
-
if (!id)
|
|
163
|
-
return null;
|
|
164
|
-
const email = (0, record_set_1.str)(u.email)?.toLowerCase();
|
|
165
|
-
const username = (0, record_set_1.str)(u.username);
|
|
166
|
-
const legacy = (0, record_set_1.str)(u.legacy_user_id);
|
|
167
|
-
const user = (0, record_set_1.compact)({
|
|
168
|
-
id,
|
|
169
|
-
emails: email ? [{ email, verified: u.email_confirmed === true, primary: true }] : [],
|
|
170
|
-
username,
|
|
171
|
-
first_name: (0, record_set_1.str)(u.first_name),
|
|
172
|
-
last_name: (0, record_set_1.str)(u.last_name),
|
|
173
|
-
image_url: (0, record_set_1.str)(u.picture_url),
|
|
174
|
-
banned: u.enabled === false ? true : undefined,
|
|
175
|
-
locked: u.locked === true ? true : undefined,
|
|
176
|
-
private_metadata: (0, record_set_1.bag)({ ...((0, record_set_1.isObj)(u.metadata) ? u.metadata : {}), ...(legacy ? { propelauth_legacy_user_id: legacy } : {}) }),
|
|
177
|
-
created_at: toMs(u.created_at),
|
|
178
|
-
last_sign_in_at: toMs(u.last_active_at),
|
|
179
|
-
});
|
|
180
|
-
return user.emails?.length || user.username ? user : null;
|
|
181
|
-
}
|
|
182
|
-
/** PropelAuth timestamps are Unix seconds. */
|
|
183
|
-
function toMs(v) {
|
|
184
|
-
return typeof v === 'number' && Number.isFinite(v) && v > 0 ? (v < 1e11 ? v * 1000 : v) : undefined;
|
|
185
|
-
}
|
|
186
|
-
/**
|
|
187
|
-
* The support export, by user id, email and legacy user id (emails lowercased).
|
|
188
|
-
* Its layout is not published: CSV with a hash column and an id / email
|
|
189
|
-
* column, or NDJSON objects with the same names.
|
|
190
|
-
*/
|
|
191
|
-
function indexHashes(text) {
|
|
192
|
-
const t = text.trim();
|
|
193
|
-
const rows = t.startsWith('{') ? t.split(/\r?\n/).filter((l) => l.trim()).map((l) => JSON.parse(l)) : (0, csv_1.parseCsv)(t);
|
|
194
|
-
const out = new Map();
|
|
195
|
-
for (const r of rows) {
|
|
196
|
-
const keys = Object.keys(r);
|
|
197
|
-
const hashKey = keys.find((k) => /hash/i.test(k) && !/algo/i.test(k));
|
|
198
|
-
const hash = hashKey ? (0, record_set_1.str)(r[hashKey]) : undefined;
|
|
199
|
-
if (!hash)
|
|
200
|
-
continue;
|
|
201
|
-
for (const k of keys) {
|
|
202
|
-
const v = (0, record_set_1.str)(r[k]);
|
|
203
|
-
if (!v)
|
|
204
|
-
continue;
|
|
205
|
-
if (/^(user_?id|legacy_?user_?id)$/i.test(k))
|
|
206
|
-
out.set(v, hash);
|
|
207
|
-
else if (/^e-?mail$/i.test(k))
|
|
208
|
-
out.set(v.toLowerCase(), hash);
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
return out;
|
|
212
|
-
}
|
|
213
|
-
async function listAll(http, path, key) {
|
|
214
|
-
const out = [];
|
|
215
|
-
for (let n = 0; n < MAX_PAGES; n++) {
|
|
216
|
-
const sep = path.includes('?') ? '&' : '?';
|
|
217
|
-
const { body } = await http.get(`${path}${sep}page_size=${PAGE}&page_number=${n}`);
|
|
218
|
-
const rows = (0, record_set_1.objs)(body?.[key]);
|
|
219
|
-
out.push(...rows);
|
|
220
|
-
if (body?.has_more_results !== true || rows.length === 0)
|
|
221
|
-
break;
|
|
222
|
-
}
|
|
223
|
-
return out;
|
|
224
|
-
}
|
|
225
|
-
/** Organizations: a GET with query parameters, or (older projects) a POST with a JSON body. */
|
|
226
|
-
async function listOrgs(http) {
|
|
227
|
-
try {
|
|
228
|
-
return await listAll(http, '/api/backend/v1/org/query?order_by=CREATED_AT_ASC', 'orgs');
|
|
229
|
-
}
|
|
230
|
-
catch (err) {
|
|
231
|
-
if (!(err instanceof vendor_http_1.VendorApiError) || ![404, 405].includes(err.status))
|
|
232
|
-
throw err;
|
|
233
|
-
}
|
|
234
|
-
const out = [];
|
|
235
|
-
for (let n = 0; n < MAX_PAGES; n++) {
|
|
236
|
-
const { body } = await http.post('/api/backend/v1/org/query', { page_size: PAGE, page_number: n, order_by: 'CREATED_AT_ASC' });
|
|
237
|
-
const rows = (0, record_set_1.objs)(body?.orgs);
|
|
238
|
-
out.push(...rows);
|
|
239
|
-
if (body?.has_more_results !== true || rows.length === 0)
|
|
240
|
-
break;
|
|
241
|
-
}
|
|
242
|
-
return out;
|
|
243
|
-
}
|
|
244
|
-
/** A call that may be missing or not permitted for this project: `null` then. */
|
|
245
|
-
async function optional(fn) {
|
|
246
|
-
try {
|
|
247
|
-
return await fn();
|
|
248
|
-
}
|
|
249
|
-
catch (err) {
|
|
250
|
-
if (err instanceof vendor_http_1.VendorApiError && [400, 403, 404, 405].includes(err.status))
|
|
251
|
-
return null;
|
|
252
|
-
throw err;
|
|
253
|
-
}
|
|
254
|
-
}
|
|
255
|
-
//# sourceMappingURL=propelauth.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"propelauth.js","sourceRoot":"","sources":["../../../src/migrate/export/propelauth.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { type CanonicalModel, type CanonicalRecordData, type MigrationManifest } from '@atlasauth/migrate';
|
|
2
|
-
/**
|
|
3
|
-
* What a vendor exporter gathered, grouped by canonical model. A vendor API
|
|
4
|
-
* hands data back in ITS order (users carry their identities, organizations
|
|
5
|
-
* their members); the bundle needs canonical order, so exporters collect here
|
|
6
|
-
* and the writer replays {@link RecordSet.ordered}.
|
|
7
|
-
*/
|
|
8
|
-
export declare class RecordSet {
|
|
9
|
-
private readonly rows;
|
|
10
|
-
private readonly seen;
|
|
11
|
-
readonly warnings: string[];
|
|
12
|
-
readonly omitted: Record<string, {
|
|
13
|
-
count: number;
|
|
14
|
-
reason: string;
|
|
15
|
-
}>;
|
|
16
|
-
/** Manifest fields the exporter learned (origin, providers, settings, rpId). */
|
|
17
|
-
manifest: Partial<Pick<MigrationManifest, 'origin' | 'sourceVersion' | 'rpId' | 'providers' | 'settings'>>;
|
|
18
|
-
/**
|
|
19
|
-
* Add a row. With `key`, a second row with the same key is dropped (a member
|
|
20
|
-
* reached through two listings, a role seen on two organizations).
|
|
21
|
-
*/
|
|
22
|
-
add<M extends CanonicalModel>(model: M, data: CanonicalRecordData[M], key?: string): void;
|
|
23
|
-
warn(message: string): void;
|
|
24
|
-
omit(model: string, reason: string, count?: number): void;
|
|
25
|
-
count(model: CanonicalModel): number;
|
|
26
|
-
list<M extends CanonicalModel>(model: M): Array<CanonicalRecordData[M]>;
|
|
27
|
-
/** Every row, in the order the bundle writer requires. */
|
|
28
|
-
ordered(): Generator<{
|
|
29
|
-
model: CanonicalModel;
|
|
30
|
-
data: unknown;
|
|
31
|
-
}>;
|
|
32
|
-
counts(): Record<string, number>;
|
|
33
|
-
}
|
|
34
|
-
export type Obj = Record<string, unknown>;
|
|
35
|
-
export declare const isObj: (v: unknown) => v is Obj;
|
|
36
|
-
export declare const str: (v: unknown) => string | undefined;
|
|
37
|
-
export declare const objs: (v: unknown) => Obj[];
|
|
38
|
-
export declare const strs: (v: unknown) => string[];
|
|
39
|
-
/** A metadata bag, only when it has keys. */
|
|
40
|
-
export declare const bag: (v: unknown) => Obj | undefined;
|
|
41
|
-
/** E.164 or nothing: vendors store numbers with spaces/dashes; anything else is dropped. */
|
|
42
|
-
export declare function e164(raw: unknown): string | undefined;
|
|
43
|
-
/** Drop undefined fields so a record carries only what the vendor had. */
|
|
44
|
-
export declare function compact<T extends object>(o: T): T;
|