@stackframe/stack-shared 2.8.8 → 2.8.11
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 +14 -0
- package/dist/config/format.d.cts +39 -0
- package/dist/config/format.d.ts +14 -13
- package/dist/config/format.js +147 -206
- package/dist/config/format.js.map +1 -0
- package/dist/config/schema.d.cts +729 -0
- package/dist/config/schema.d.ts +59 -51
- package/dist/config/schema.js +232 -172
- package/dist/config/schema.js.map +1 -0
- package/dist/crud.d.cts +102 -0
- package/dist/crud.d.ts +15 -13
- package/dist/crud.js +83 -128
- package/dist/crud.js.map +1 -0
- package/dist/esm/config/format.js +135 -0
- package/dist/esm/config/format.js.map +1 -0
- package/dist/esm/config/schema.js +201 -0
- package/dist/esm/config/schema.js.map +1 -0
- package/dist/esm/crud.js +60 -0
- package/dist/esm/crud.js.map +1 -0
- package/dist/esm/global.d.js +1 -0
- package/dist/esm/global.d.js.map +1 -0
- package/dist/esm/helpers/password.js +17 -0
- package/dist/esm/helpers/password.js.map +1 -0
- package/dist/esm/helpers/production-mode.js +50 -0
- package/dist/esm/helpers/production-mode.js.map +1 -0
- package/dist/esm/hooks/use-async-callback.js +38 -0
- package/dist/esm/hooks/use-async-callback.js.map +1 -0
- package/dist/esm/hooks/use-async-external-store.js +23 -0
- package/dist/esm/hooks/use-async-external-store.js.map +1 -0
- package/dist/esm/hooks/use-hash.js +17 -0
- package/dist/esm/hooks/use-hash.js.map +1 -0
- package/dist/esm/hooks/use-strict-memo.js +61 -0
- package/dist/esm/hooks/use-strict-memo.js.map +1 -0
- package/dist/esm/index.js +22 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/interface/adminInterface.js +244 -0
- package/dist/esm/interface/adminInterface.js.map +1 -0
- package/dist/esm/interface/clientInterface.js +2041 -0
- package/dist/esm/interface/clientInterface.js.map +1 -0
- package/dist/esm/interface/crud/contact-channels.js +77 -0
- package/dist/esm/interface/crud/contact-channels.js.map +1 -0
- package/dist/esm/interface/crud/current-user.js +65 -0
- package/dist/esm/interface/crud/current-user.js.map +1 -0
- package/dist/esm/interface/crud/email-templates.js +52 -0
- package/dist/esm/interface/crud/email-templates.js.map +1 -0
- package/dist/esm/interface/crud/emails.js +20 -0
- package/dist/esm/interface/crud/emails.js.map +1 -0
- package/dist/esm/interface/crud/internal-api-keys.js +69 -0
- package/dist/esm/interface/crud/internal-api-keys.js.map +1 -0
- package/dist/esm/interface/crud/oauth.js +24 -0
- package/dist/esm/interface/crud/oauth.js.map +1 -0
- package/dist/esm/interface/crud/project-api-keys.js +93 -0
- package/dist/esm/interface/crud/project-api-keys.js.map +1 -0
- package/dist/esm/interface/crud/project-permissions.js +113 -0
- package/dist/esm/interface/crud/project-permissions.js.map +1 -0
- package/dist/esm/interface/crud/projects.js +180 -0
- package/dist/esm/interface/crud/projects.js.map +1 -0
- package/dist/esm/interface/crud/sessions.js +62 -0
- package/dist/esm/interface/crud/sessions.js.map +1 -0
- package/dist/esm/interface/crud/svix-token.js +22 -0
- package/dist/esm/interface/crud/svix-token.js.map +1 -0
- package/dist/esm/interface/crud/team-invitation-details.js +23 -0
- package/dist/esm/interface/crud/team-invitation-details.js.map +1 -0
- package/dist/esm/interface/crud/team-invitation.js +36 -0
- package/dist/esm/interface/crud/team-invitation.js.map +1 -0
- package/dist/esm/interface/crud/team-member-profiles.js +62 -0
- package/dist/esm/interface/crud/team-member-profiles.js.map +1 -0
- package/dist/esm/interface/crud/team-memberships.js +60 -0
- package/dist/esm/interface/crud/team-memberships.js.map +1 -0
- package/dist/esm/interface/crud/team-permissions.js +114 -0
- package/dist/esm/interface/crud/team-permissions.js.map +1 -0
- package/dist/esm/interface/crud/teams.js +143 -0
- package/dist/esm/interface/crud/teams.js.map +1 -0
- package/dist/esm/interface/crud/users.js +139 -0
- package/dist/esm/interface/crud/users.js.map +1 -0
- package/dist/esm/interface/serverInterface.js +485 -0
- package/dist/esm/interface/serverInterface.js.map +1 -0
- package/dist/esm/interface/webhooks.js +21 -0
- package/dist/esm/interface/webhooks.js.map +1 -0
- package/dist/esm/known-errors.js +1238 -0
- package/dist/esm/known-errors.js.map +1 -0
- package/dist/esm/schema-fields.js +484 -0
- package/dist/esm/schema-fields.js.map +1 -0
- package/dist/esm/sessions.js +168 -0
- package/dist/esm/sessions.js.map +1 -0
- package/dist/esm/utils/api-keys.js +79 -0
- package/dist/esm/utils/api-keys.js.map +1 -0
- package/dist/esm/utils/arrays.js +78 -0
- package/dist/esm/utils/arrays.js.map +1 -0
- package/dist/esm/utils/base64.js +18 -0
- package/dist/esm/utils/base64.js.map +1 -0
- package/dist/esm/utils/booleans.js +12 -0
- package/dist/esm/utils/booleans.js.map +1 -0
- package/dist/esm/utils/browser-compat.js +21 -0
- package/dist/esm/utils/browser-compat.js.map +1 -0
- package/dist/esm/utils/bytes.js +160 -0
- package/dist/esm/utils/bytes.js.map +1 -0
- package/dist/esm/utils/caches.js +167 -0
- package/dist/esm/utils/caches.js.map +1 -0
- package/dist/esm/utils/compile-time.js +11 -0
- package/dist/esm/utils/compile-time.js.map +1 -0
- package/dist/esm/utils/crypto.js +25 -0
- package/dist/esm/utils/crypto.js.map +1 -0
- package/dist/esm/utils/dates.js +64 -0
- package/dist/esm/utils/dates.js.map +1 -0
- package/dist/esm/utils/dom.js +11 -0
- package/dist/esm/utils/dom.js.map +1 -0
- package/dist/esm/utils/env.js +58 -0
- package/dist/esm/utils/env.js.map +1 -0
- package/dist/esm/utils/errors.js +174 -0
- package/dist/esm/utils/errors.js.map +1 -0
- package/dist/esm/utils/fs.js +37 -0
- package/dist/esm/utils/fs.js.map +1 -0
- package/dist/esm/utils/functions.js +12 -0
- package/dist/esm/utils/functions.js.map +1 -0
- package/dist/esm/utils/geo.js +15 -0
- package/dist/esm/utils/geo.js.map +1 -0
- package/dist/esm/utils/globals.js +18 -0
- package/dist/esm/utils/globals.js.map +1 -0
- package/dist/esm/utils/hashes.js +55 -0
- package/dist/esm/utils/hashes.js.map +1 -0
- package/dist/esm/utils/html.js +13 -0
- package/dist/esm/utils/html.js.map +1 -0
- package/dist/esm/utils/http.js +60 -0
- package/dist/esm/utils/http.js.map +1 -0
- package/dist/esm/utils/ips.js +15 -0
- package/dist/esm/utils/ips.js.map +1 -0
- package/dist/esm/utils/json.js +31 -0
- package/dist/esm/utils/json.js.map +1 -0
- package/dist/esm/utils/jwt.js +87 -0
- package/dist/esm/utils/jwt.js.map +1 -0
- package/dist/esm/utils/locks.js +57 -0
- package/dist/esm/utils/locks.js.map +1 -0
- package/dist/esm/utils/maps.js +181 -0
- package/dist/esm/utils/maps.js.map +1 -0
- package/dist/esm/utils/math.js +8 -0
- package/dist/esm/utils/math.js.map +1 -0
- package/dist/esm/utils/node-http.js +42 -0
- package/dist/esm/utils/node-http.js.map +1 -0
- package/dist/esm/utils/numbers.js +32 -0
- package/dist/esm/utils/numbers.js.map +1 -0
- package/dist/esm/utils/oauth.js +10 -0
- package/dist/esm/utils/oauth.js.map +1 -0
- package/dist/esm/utils/objects.js +177 -0
- package/dist/esm/utils/objects.js.map +1 -0
- package/dist/esm/utils/passkey.js +1 -0
- package/dist/esm/utils/passkey.js.map +1 -0
- package/dist/esm/utils/promises.js +233 -0
- package/dist/esm/utils/promises.js.map +1 -0
- package/dist/esm/utils/proxies.js +128 -0
- package/dist/esm/utils/proxies.js.map +1 -0
- package/dist/esm/utils/react.js +78 -0
- package/dist/esm/utils/react.js.map +1 -0
- package/dist/esm/utils/results.js +141 -0
- package/dist/esm/utils/results.js.map +1 -0
- package/dist/esm/utils/sentry.js +20 -0
- package/dist/esm/utils/sentry.js.map +1 -0
- package/dist/esm/utils/stores.js +195 -0
- package/dist/esm/utils/stores.js.map +1 -0
- package/dist/esm/utils/strings.js +295 -0
- package/dist/esm/utils/strings.js.map +1 -0
- package/dist/esm/utils/strings.nicify.test.js +222 -0
- package/dist/esm/utils/strings.nicify.test.js.map +1 -0
- package/dist/esm/utils/types.js +1 -0
- package/dist/esm/utils/types.js.map +1 -0
- package/dist/esm/utils/unicode.js +11 -0
- package/dist/esm/utils/unicode.js.map +1 -0
- package/dist/esm/utils/urls.js +53 -0
- package/dist/esm/utils/urls.js.map +1 -0
- package/dist/esm/utils/uuids.js +16 -0
- package/dist/esm/utils/uuids.js.map +1 -0
- package/dist/global.d.d.cts +1 -0
- package/dist/global.d.d.ts +1 -0
- package/dist/global.d.js +2 -0
- package/dist/global.d.js.map +1 -0
- package/dist/helpers/password.d.cts +11 -0
- package/dist/helpers/password.d.ts +11 -2
- package/dist/helpers/password.js +41 -11
- package/dist/helpers/password.js.map +1 -0
- package/dist/helpers/production-mode.d.cts +12 -0
- package/dist/helpers/production-mode.d.ts +9 -3
- package/dist/helpers/production-mode.js +72 -45
- package/dist/helpers/production-mode.js.map +1 -0
- package/dist/hooks/use-async-callback.d.cts +6 -0
- package/dist/hooks/use-async-callback.d.ts +6 -3
- package/dist/hooks/use-async-callback.js +72 -30
- package/dist/hooks/use-async-callback.js.map +1 -0
- package/dist/hooks/use-async-external-store.d.cts +7 -0
- package/dist/hooks/use-async-external-store.d.ts +5 -2
- package/dist/hooks/use-async-external-store.js +47 -19
- package/dist/hooks/use-async-external-store.js.map +1 -0
- package/dist/hooks/use-hash.d.cts +3 -0
- package/dist/hooks/use-hash.d.ts +3 -1
- package/dist/hooks/use-hash.js +41 -8
- package/dist/hooks/use-hash.js.map +1 -0
- package/dist/hooks/use-strict-memo.d.cts +8 -0
- package/dist/hooks/use-strict-memo.d.ts +3 -1
- package/dist/hooks/use-strict-memo.js +78 -131
- package/dist/hooks/use-strict-memo.js.map +1 -0
- package/dist/index.d.cts +30 -0
- package/dist/index.d.ts +30 -4
- package/dist/index.js +42 -4
- package/dist/index.js.map +1 -0
- package/dist/interface/adminInterface.d.cts +94 -0
- package/dist/interface/adminInterface.d.ts +38 -15
- package/dist/interface/adminInterface.js +269 -174
- package/dist/interface/adminInterface.js.map +1 -0
- package/dist/interface/clientInterface.d.cts +260 -0
- package/dist/interface/clientInterface.d.ts +25 -18
- package/dist/interface/clientInterface.js +2054 -995
- package/dist/interface/clientInterface.js.map +1 -0
- package/dist/interface/crud/contact-channels.d.cts +180 -0
- package/dist/interface/crud/contact-channels.d.ts +30 -25
- package/dist/interface/crud/contact-channels.js +101 -59
- package/dist/interface/crud/contact-channels.js.map +1 -0
- package/dist/interface/crud/current-user.d.cts +205 -0
- package/dist/interface/crud/current-user.d.ts +17 -12
- package/dist/interface/crud/current-user.js +86 -56
- package/dist/interface/crud/current-user.js.map +1 -0
- package/dist/interface/crud/email-templates.d.cts +84 -0
- package/dist/interface/crud/email-templates.d.ts +24 -19
- package/dist/interface/crud/email-templates.js +77 -37
- package/dist/interface/crud/email-templates.js.map +1 -0
- package/dist/interface/crud/emails.d.cts +69 -0
- package/dist/interface/crud/emails.d.ts +12 -7
- package/dist/interface/crud/emails.js +54 -12
- package/dist/interface/crud/emails.js.map +1 -0
- package/dist/interface/crud/internal-api-keys.d.cts +139 -0
- package/dist/interface/crud/internal-api-keys.d.ts +22 -17
- package/dist/interface/crud/internal-api-keys.js +92 -54
- package/dist/interface/crud/internal-api-keys.js.map +1 -0
- package/dist/interface/crud/oauth.d.cts +34 -0
- package/dist/interface/crud/oauth.d.ts +16 -11
- package/dist/interface/crud/oauth.js +48 -14
- package/dist/interface/crud/oauth.js.map +1 -0
- package/dist/interface/crud/project-api-keys.d.cts +196 -0
- package/dist/interface/crud/project-api-keys.d.ts +20 -12
- package/dist/interface/crud/project-api-keys.js +121 -74
- package/dist/interface/crud/project-api-keys.js.map +1 -0
- package/dist/interface/crud/project-permissions.d.cts +160 -0
- package/dist/interface/crud/project-permissions.d.ts +38 -33
- package/dist/interface/crud/project-permissions.js +148 -90
- package/dist/interface/crud/project-permissions.js.map +1 -0
- package/dist/interface/crud/projects.d.cts +627 -0
- package/dist/interface/crud/projects.d.ts +43 -51
- package/dist/interface/crud/projects.js +210 -156
- package/dist/interface/crud/projects.js.map +1 -0
- package/dist/interface/crud/sessions.d.cts +149 -0
- package/dist/interface/crud/sessions.d.ts +21 -16
- package/dist/interface/crud/sessions.js +86 -50
- package/dist/interface/crud/sessions.js.map +1 -0
- package/dist/interface/crud/svix-token.d.cts +26 -0
- package/dist/interface/crud/svix-token.d.ts +14 -9
- package/dist/interface/crud/svix-token.js +46 -12
- package/dist/interface/crud/svix-token.js.map +1 -0
- package/dist/interface/crud/team-invitation-details.d.cts +30 -0
- package/dist/interface/crud/team-invitation-details.d.ts +12 -7
- package/dist/interface/crud/team-invitation-details.js +57 -15
- package/dist/interface/crud/team-invitation-details.js.map +1 -0
- package/dist/interface/crud/team-invitation.d.cts +49 -0
- package/dist/interface/crud/team-invitation.d.ts +13 -8
- package/dist/interface/crud/team-invitation.js +69 -27
- package/dist/interface/crud/team-invitation.js.map +1 -0
- package/dist/interface/crud/team-member-profiles.d.cts +229 -0
- package/dist/interface/crud/team-member-profiles.d.ts +20 -15
- package/dist/interface/crud/team-member-profiles.js +95 -49
- package/dist/interface/crud/team-member-profiles.js.map +1 -0
- package/dist/interface/crud/team-memberships.d.cts +74 -0
- package/dist/interface/crud/team-memberships.d.ts +22 -17
- package/dist/interface/crud/team-memberships.js +85 -45
- package/dist/interface/crud/team-memberships.js.map +1 -0
- package/dist/interface/crud/team-permissions.d.cts +168 -0
- package/dist/interface/crud/team-permissions.d.ts +38 -33
- package/dist/interface/crud/team-permissions.js +149 -91
- package/dist/interface/crud/team-permissions.js.map +1 -0
- package/dist/interface/crud/teams.d.cts +298 -0
- package/dist/interface/crud/teams.d.ts +45 -40
- package/dist/interface/crud/teams.js +177 -119
- package/dist/interface/crud/teams.js.map +1 -0
- package/dist/interface/crud/users.d.cts +469 -0
- package/dist/interface/crud/users.d.ts +31 -26
- package/dist/interface/crud/users.js +172 -118
- package/dist/interface/crud/users.js.map +1 -0
- package/dist/interface/serverInterface.d.cts +128 -0
- package/dist/interface/serverInterface.d.ts +29 -17
- package/dist/interface/serverInterface.js +506 -339
- package/dist/interface/serverInterface.js.map +1 -0
- package/dist/interface/webhooks.d.cts +292 -0
- package/dist/interface/webhooks.d.ts +6 -3
- package/dist/interface/webhooks.js +45 -15
- package/dist/interface/webhooks.js.map +1 -0
- package/dist/known-errors.d.cts +447 -0
- package/dist/known-errors.d.ts +15 -9
- package/dist/known-errors.js +1104 -562
- package/dist/known-errors.js.map +1 -0
- package/dist/schema-fields.d.cts +163 -0
- package/dist/schema-fields.d.ts +116 -114
- package/dist/schema-fields.js +593 -427
- package/dist/schema-fields.js.map +1 -0
- package/dist/sessions.d.cts +109 -0
- package/dist/sessions.d.ts +6 -3
- package/dist/sessions.js +201 -172
- package/dist/sessions.js.map +1 -0
- package/dist/utils/api-keys.d.cts +24 -0
- package/dist/utils/api-keys.d.ts +5 -4
- package/dist/utils/api-keys.js +106 -66
- package/dist/utils/api-keys.js.map +1 -0
- package/dist/utils/arrays.d.cts +18 -0
- package/dist/utils/arrays.d.ts +15 -13
- package/dist/utils/arrays.js +101 -168
- package/dist/utils/arrays.js.map +1 -0
- package/dist/utils/base64.d.cts +4 -0
- package/dist/utils/base64.d.ts +4 -2
- package/dist/utils/base64.js +41 -20
- package/dist/utils/base64.js.map +1 -0
- package/dist/utils/booleans.d.cts +6 -0
- package/dist/utils/booleans.d.ts +6 -4
- package/dist/utils/booleans.js +35 -27
- package/dist/utils/booleans.js.map +1 -0
- package/dist/utils/browser-compat.d.cts +8 -0
- package/dist/utils/browser-compat.d.ts +3 -1
- package/dist/utils/browser-compat.js +45 -16
- package/dist/utils/browser-compat.js.map +1 -0
- package/dist/utils/bytes.d.cts +15 -0
- package/dist/utils/bytes.d.ts +15 -13
- package/dist/utils/bytes.js +182 -270
- package/dist/utils/bytes.js.map +1 -0
- package/dist/utils/caches.d.cts +98 -0
- package/dist/utils/caches.d.ts +17 -14
- package/dist/utils/caches.js +188 -193
- package/dist/utils/caches.js.map +1 -0
- package/dist/utils/compile-time.d.cts +8 -0
- package/dist/utils/compile-time.d.ts +3 -1
- package/dist/utils/compile-time.js +35 -10
- package/dist/utils/compile-time.js.map +1 -0
- package/dist/utils/crypto.d.cts +8 -0
- package/dist/utils/crypto.d.ts +4 -2
- package/dist/utils/crypto.js +49 -21
- package/dist/utils/crypto.js.map +1 -0
- package/dist/utils/dates.d.cts +15 -0
- package/dist/utils/dates.d.ts +6 -4
- package/dist/utils/dates.js +83 -105
- package/dist/utils/dates.js.map +1 -0
- package/dist/utils/dom.d.cts +3 -0
- package/dist/utils/dom.d.ts +3 -1
- package/dist/utils/dom.js +35 -7
- package/dist/utils/dom.js.map +1 -0
- package/dist/utils/env.d.cts +9 -0
- package/dist/utils/env.d.ts +6 -4
- package/dist/utils/env.js +70 -43
- package/dist/utils/env.js.map +1 -0
- package/dist/utils/errors.d.cts +223 -0
- package/dist/utils/errors.d.ts +14 -11
- package/dist/utils/errors.js +148 -126
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/fs.d.cts +7 -0
- package/dist/utils/fs.d.ts +5 -3
- package/dist/utils/fs.js +70 -27
- package/dist/utils/fs.js.map +1 -0
- package/dist/utils/functions.d.cts +4 -0
- package/dist/utils/functions.d.ts +4 -2
- package/dist/utils/functions.js +35 -18
- package/dist/utils/functions.js.map +1 -0
- package/dist/utils/geo.d.cts +22 -0
- package/dist/utils/geo.d.ts +6 -3
- package/dist/utils/geo.js +39 -9
- package/dist/utils/geo.js.map +1 -0
- package/dist/utils/globals.d.cts +5 -0
- package/dist/utils/globals.d.ts +4 -2
- package/dist/utils/globals.js +41 -14
- package/dist/utils/globals.js.map +1 -0
- package/dist/utils/hashes.d.cts +7 -0
- package/dist/utils/hashes.d.ts +7 -5
- package/dist/utils/hashes.js +87 -41
- package/dist/utils/hashes.js.map +1 -0
- package/dist/utils/html.d.cts +4 -0
- package/dist/utils/html.d.ts +4 -2
- package/dist/utils/html.js +36 -37
- package/dist/utils/html.js.map +1 -0
- package/dist/utils/http.d.cts +43 -0
- package/dist/utils/http.d.ts +6 -4
- package/dist/utils/http.js +83 -83
- package/dist/utils/http.js.map +1 -0
- package/dist/utils/ips.d.cts +6 -0
- package/dist/utils/ips.d.ts +6 -4
- package/dist/utils/ips.js +48 -35
- package/dist/utils/ips.js.map +1 -0
- package/dist/utils/json.d.cts +13 -0
- package/dist/utils/json.d.ts +9 -6
- package/dist/utils/json.js +54 -157
- package/dist/utils/json.js.map +1 -0
- package/dist/utils/jwt.d.cts +44 -0
- package/dist/utils/jwt.d.ts +14 -11
- package/dist/utils/jwt.js +119 -84
- package/dist/utils/jwt.js.map +1 -0
- package/dist/utils/locks.d.cts +15 -0
- package/dist/utils/locks.d.ts +3 -2
- package/dist/utils/locks.js +76 -56
- package/dist/utils/locks.js.map +1 -0
- package/dist/utils/maps.d.cts +59 -0
- package/dist/utils/maps.d.ts +6 -4
- package/dist/utils/maps.js +207 -343
- package/dist/utils/maps.js.map +1 -0
- package/dist/utils/math.d.cts +6 -0
- package/dist/utils/math.d.ts +3 -1
- package/dist/utils/math.js +31 -16
- package/dist/utils/math.js.map +1 -0
- package/dist/utils/node-http.d.cts +15 -0
- package/dist/utils/node-http.d.ts +5 -5
- package/dist/utils/node-http.js +65 -36
- package/dist/utils/node-http.js.map +1 -0
- package/dist/utils/numbers.d.cts +5 -0
- package/dist/utils/numbers.d.ts +5 -3
- package/dist/utils/numbers.js +53 -66
- package/dist/utils/numbers.js.map +1 -0
- package/dist/utils/oauth.d.cts +8 -0
- package/dist/utils/oauth.d.ts +8 -6
- package/dist/utils/oauth.js +37 -4
- package/dist/utils/oauth.js.map +1 -0
- package/dist/utils/objects.d.cts +69 -0
- package/dist/utils/objects.d.ts +37 -32
- package/dist/utils/objects.js +224 -374
- package/dist/utils/objects.js.map +1 -0
- package/dist/utils/passkey.d.cts +1 -0
- package/dist/utils/passkey.d.ts +1 -1
- package/dist/utils/passkey.js +19 -1
- package/dist/utils/passkey.js.map +1 -0
- package/dist/utils/promises.d.cts +74 -0
- package/dist/utils/promises.d.ts +20 -18
- package/dist/utils/promises.js +252 -393
- package/dist/utils/promises.js.map +1 -0
- package/dist/utils/proxies.d.cts +4 -0
- package/dist/utils/proxies.d.ts +4 -2
- package/dist/utils/proxies.js +150 -161
- package/dist/utils/proxies.js.map +1 -0
- package/dist/utils/react.d.cts +25 -0
- package/dist/utils/react.d.ts +9 -6
- package/dist/utils/react.js +88 -134
- package/dist/utils/react.js.map +1 -0
- package/dist/utils/results.d.cts +78 -0
- package/dist/utils/results.d.ts +10 -9
- package/dist/utils/results.js +143 -324
- package/dist/utils/results.js.map +1 -0
- package/dist/utils/sentry.d.cts +5 -0
- package/dist/utils/sentry.d.ts +5 -2
- package/dist/utils/sentry.js +44 -14
- package/dist/utils/sentry.js.map +1 -0
- package/dist/utils/stores.d.cts +102 -0
- package/dist/utils/stores.d.ts +12 -9
- package/dist/utils/stores.js +219 -189
- package/dist/utils/stores.js.map +1 -0
- package/dist/utils/strings.d.cts +72 -0
- package/dist/utils/strings.d.ts +22 -20
- package/dist/utils/strings.js +300 -580
- package/dist/utils/strings.js.map +1 -0
- package/dist/utils/strings.nicify.test.d.cts +2 -0
- package/dist/utils/strings.nicify.test.d.ts +2 -1
- package/dist/utils/strings.nicify.test.js +168 -158
- package/dist/utils/strings.nicify.test.js.map +1 -0
- package/dist/utils/types.d.cts +23 -0
- package/dist/utils/types.d.ts +8 -6
- package/dist/utils/types.js +19 -1
- package/dist/utils/types.js.map +1 -0
- package/dist/utils/unicode.d.cts +3 -0
- package/dist/utils/unicode.d.ts +3 -1
- package/dist/utils/unicode.js +34 -21
- package/dist/utils/unicode.js.map +1 -0
- package/dist/utils/urls.d.cts +20 -0
- package/dist/utils/urls.d.ts +10 -8
- package/dist/utils/urls.js +76 -165
- package/dist/utils/urls.js.map +1 -0
- package/dist/utils/uuids.d.cts +4 -0
- package/dist/utils/uuids.d.ts +4 -2
- package/dist/utils/uuids.js +39 -35
- package/dist/utils/uuids.js.map +1 -0
- package/package.json +5 -5
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
// src/interface/crud/email-templates.ts
|
|
2
|
+
import { createCrud } from "../../crud";
|
|
3
|
+
import { jsonSchema, yupBoolean, yupMixed, yupObject, yupString } from "../../schema-fields";
|
|
4
|
+
var emailTemplateTypes = ["email_verification", "password_reset", "magic_link", "team_invitation"];
|
|
5
|
+
var emailTemplateAdminReadSchema = yupObject({
|
|
6
|
+
type: yupString().oneOf(emailTemplateTypes).defined(),
|
|
7
|
+
subject: yupString().defined(),
|
|
8
|
+
content: jsonSchema.defined(),
|
|
9
|
+
is_default: yupBoolean().defined()
|
|
10
|
+
}).defined();
|
|
11
|
+
var emailTemplateCrudAdminUpdateSchema = yupObject({
|
|
12
|
+
content: jsonSchema.nonNullable().optional(),
|
|
13
|
+
subject: yupString().optional()
|
|
14
|
+
}).defined();
|
|
15
|
+
var emailTemplateCrudAdminDeleteSchema = yupMixed();
|
|
16
|
+
var emailTemplateCrudAdminCreateSchema = yupObject({
|
|
17
|
+
type: yupString().oneOf(emailTemplateTypes).defined(),
|
|
18
|
+
content: jsonSchema.defined(),
|
|
19
|
+
subject: yupString().defined()
|
|
20
|
+
}).defined();
|
|
21
|
+
var emailTemplateCrud = createCrud({
|
|
22
|
+
adminReadSchema: emailTemplateAdminReadSchema,
|
|
23
|
+
adminUpdateSchema: emailTemplateCrudAdminUpdateSchema,
|
|
24
|
+
adminCreateSchema: emailTemplateCrudAdminCreateSchema,
|
|
25
|
+
adminDeleteSchema: emailTemplateCrudAdminDeleteSchema,
|
|
26
|
+
docs: {
|
|
27
|
+
adminRead: {
|
|
28
|
+
hidden: true
|
|
29
|
+
},
|
|
30
|
+
adminCreate: {
|
|
31
|
+
hidden: true
|
|
32
|
+
},
|
|
33
|
+
adminUpdate: {
|
|
34
|
+
hidden: true
|
|
35
|
+
},
|
|
36
|
+
adminDelete: {
|
|
37
|
+
hidden: true
|
|
38
|
+
},
|
|
39
|
+
adminList: {
|
|
40
|
+
hidden: true
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
export {
|
|
45
|
+
emailTemplateAdminReadSchema,
|
|
46
|
+
emailTemplateCrud,
|
|
47
|
+
emailTemplateCrudAdminCreateSchema,
|
|
48
|
+
emailTemplateCrudAdminDeleteSchema,
|
|
49
|
+
emailTemplateCrudAdminUpdateSchema,
|
|
50
|
+
emailTemplateTypes
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=email-templates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/interface/crud/email-templates.ts"],"sourcesContent":["import { CrudTypeOf, createCrud } from \"../../crud\";\nimport { jsonSchema, yupBoolean, yupMixed, yupObject, yupString } from \"../../schema-fields\";\n\nexport type EmailTemplateType = typeof emailTemplateTypes[number];\nexport const emailTemplateTypes = ['email_verification', 'password_reset', 'magic_link', 'team_invitation'] as const;\n\nexport const emailTemplateAdminReadSchema = yupObject({\n type: yupString().oneOf(emailTemplateTypes).defined(),\n subject: yupString().defined(),\n content: jsonSchema.defined(),\n is_default: yupBoolean().defined(),\n}).defined();\n\nexport const emailTemplateCrudAdminUpdateSchema = yupObject({\n content: jsonSchema.nonNullable().optional(),\n subject: yupString().optional(),\n}).defined();\n\nexport const emailTemplateCrudAdminDeleteSchema = yupMixed();\n\nexport const emailTemplateCrudAdminCreateSchema = yupObject({\n type: yupString().oneOf(emailTemplateTypes).defined(),\n content: jsonSchema.defined(),\n subject: yupString().defined(),\n}).defined();\n\nexport const emailTemplateCrud = createCrud({\n adminReadSchema: emailTemplateAdminReadSchema,\n adminUpdateSchema: emailTemplateCrudAdminUpdateSchema,\n adminCreateSchema: emailTemplateCrudAdminCreateSchema,\n adminDeleteSchema: emailTemplateCrudAdminDeleteSchema,\n docs: {\n adminRead: {\n hidden: true,\n },\n adminCreate: {\n hidden: true,\n },\n adminUpdate: {\n hidden: true,\n },\n adminDelete: {\n hidden: true,\n },\n adminList: {\n hidden: true,\n }\n }\n});\nexport type EmailTemplateCrud = CrudTypeOf<typeof emailTemplateCrud>;\n"],"mappings":";AAAA,SAAqB,kBAAkB;AACvC,SAAS,YAAY,YAAY,UAAU,WAAW,iBAAiB;AAGhE,IAAM,qBAAqB,CAAC,sBAAsB,kBAAkB,cAAc,iBAAiB;AAEnG,IAAM,+BAA+B,UAAU;AAAA,EACpD,MAAM,UAAU,EAAE,MAAM,kBAAkB,EAAE,QAAQ;AAAA,EACpD,SAAS,UAAU,EAAE,QAAQ;AAAA,EAC7B,SAAS,WAAW,QAAQ;AAAA,EAC5B,YAAY,WAAW,EAAE,QAAQ;AACnC,CAAC,EAAE,QAAQ;AAEJ,IAAM,qCAAqC,UAAU;AAAA,EAC1D,SAAS,WAAW,YAAY,EAAE,SAAS;AAAA,EAC3C,SAAS,UAAU,EAAE,SAAS;AAChC,CAAC,EAAE,QAAQ;AAEJ,IAAM,qCAAqC,SAAS;AAEpD,IAAM,qCAAqC,UAAU;AAAA,EAC1D,MAAM,UAAU,EAAE,MAAM,kBAAkB,EAAE,QAAQ;AAAA,EACpD,SAAS,WAAW,QAAQ;AAAA,EAC5B,SAAS,UAAU,EAAE,QAAQ;AAC/B,CAAC,EAAE,QAAQ;AAEJ,IAAM,oBAAoB,WAAW;AAAA,EAC1C,iBAAiB;AAAA,EACjB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,MAAM;AAAA,IACJ,WAAW;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,aAAa;AAAA,MACX,QAAQ;AAAA,IACV;AAAA,IACA,aAAa;AAAA,MACX,QAAQ;AAAA,IACV;AAAA,IACA,aAAa;AAAA,MACX,QAAQ;AAAA,IACV;AAAA,IACA,WAAW;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,EACF;AACF,CAAC;","names":[]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
// src/interface/crud/emails.ts
|
|
2
|
+
import { createCrud } from "../../crud";
|
|
3
|
+
import * as fieldSchema from "../../schema-fields";
|
|
4
|
+
import { emailConfigWithoutPasswordSchema } from "./projects";
|
|
5
|
+
var sentEmailReadSchema = fieldSchema.yupObject({
|
|
6
|
+
id: fieldSchema.yupString().defined(),
|
|
7
|
+
subject: fieldSchema.yupString().defined(),
|
|
8
|
+
sent_at_millis: fieldSchema.yupNumber().defined(),
|
|
9
|
+
to: fieldSchema.yupArray(fieldSchema.yupString().defined()),
|
|
10
|
+
sender_config: emailConfigWithoutPasswordSchema.defined(),
|
|
11
|
+
error: fieldSchema.yupMixed().nullable().optional()
|
|
12
|
+
}).defined();
|
|
13
|
+
var internalEmailsCrud = createCrud({
|
|
14
|
+
adminReadSchema: sentEmailReadSchema
|
|
15
|
+
});
|
|
16
|
+
export {
|
|
17
|
+
internalEmailsCrud,
|
|
18
|
+
sentEmailReadSchema
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=emails.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/interface/crud/emails.ts"],"sourcesContent":["import { createCrud, CrudTypeOf } from \"../../crud\";\nimport * as fieldSchema from \"../../schema-fields\";\nimport { emailConfigWithoutPasswordSchema } from \"./projects\";\n\n\nexport const sentEmailReadSchema = fieldSchema.yupObject({\n id: fieldSchema.yupString().defined(),\n subject: fieldSchema.yupString().defined(),\n sent_at_millis: fieldSchema.yupNumber().defined(),\n to: fieldSchema.yupArray(fieldSchema.yupString().defined()),\n sender_config: emailConfigWithoutPasswordSchema.defined(),\n error: fieldSchema.yupMixed().nullable().optional(),\n}).defined();\n\nexport const internalEmailsCrud = createCrud({\n adminReadSchema: sentEmailReadSchema,\n});\n\nexport type InternalEmailsCrud = CrudTypeOf<typeof internalEmailsCrud>;\n"],"mappings":";AAAA,SAAS,kBAA8B;AACvC,YAAY,iBAAiB;AAC7B,SAAS,wCAAwC;AAG1C,IAAM,sBAAkC,sBAAU;AAAA,EACvD,IAAgB,sBAAU,EAAE,QAAQ;AAAA,EACpC,SAAqB,sBAAU,EAAE,QAAQ;AAAA,EACzC,gBAA4B,sBAAU,EAAE,QAAQ;AAAA,EAChD,IAAgB,qBAAqB,sBAAU,EAAE,QAAQ,CAAC;AAAA,EAC1D,eAAe,iCAAiC,QAAQ;AAAA,EACxD,OAAmB,qBAAS,EAAE,SAAS,EAAE,SAAS;AACpD,CAAC,EAAE,QAAQ;AAEJ,IAAM,qBAAqB,WAAW;AAAA,EAC3C,iBAAiB;AACnB,CAAC;","names":[]}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
// src/interface/crud/internal-api-keys.ts
|
|
2
|
+
import { createCrud } from "../../crud";
|
|
3
|
+
import { yupBoolean, yupMixed, yupNumber, yupObject, yupString } from "../../schema-fields";
|
|
4
|
+
var baseInternalApiKeysReadSchema = yupObject({
|
|
5
|
+
id: yupString().defined(),
|
|
6
|
+
description: yupString().defined(),
|
|
7
|
+
expires_at_millis: yupNumber().defined(),
|
|
8
|
+
manually_revoked_at_millis: yupNumber().optional(),
|
|
9
|
+
created_at_millis: yupNumber().defined()
|
|
10
|
+
});
|
|
11
|
+
var internalApiKeysCreateInputSchema = yupObject({
|
|
12
|
+
description: yupString().defined(),
|
|
13
|
+
expires_at_millis: yupNumber().defined(),
|
|
14
|
+
has_publishable_client_key: yupBoolean().defined(),
|
|
15
|
+
has_secret_server_key: yupBoolean().defined(),
|
|
16
|
+
has_super_secret_admin_key: yupBoolean().defined()
|
|
17
|
+
});
|
|
18
|
+
var internalApiKeysCreateOutputSchema = baseInternalApiKeysReadSchema.concat(yupObject({
|
|
19
|
+
publishable_client_key: yupString().optional(),
|
|
20
|
+
secret_server_key: yupString().optional(),
|
|
21
|
+
super_secret_admin_key: yupString().optional()
|
|
22
|
+
}).defined());
|
|
23
|
+
var internalApiKeysCrudAdminObfuscatedReadSchema = baseInternalApiKeysReadSchema.concat(yupObject({
|
|
24
|
+
publishable_client_key: yupObject({
|
|
25
|
+
last_four: yupString().defined()
|
|
26
|
+
}).optional(),
|
|
27
|
+
secret_server_key: yupObject({
|
|
28
|
+
last_four: yupString().defined()
|
|
29
|
+
}).optional(),
|
|
30
|
+
super_secret_admin_key: yupObject({
|
|
31
|
+
last_four: yupString().defined()
|
|
32
|
+
}).optional()
|
|
33
|
+
}));
|
|
34
|
+
var internalApiKeysCrudAdminUpdateSchema = yupObject({
|
|
35
|
+
description: yupString().optional(),
|
|
36
|
+
revoked: yupBoolean().oneOf([true]).optional()
|
|
37
|
+
}).defined();
|
|
38
|
+
var internalApiKeysCrudAdminDeleteSchema = yupMixed();
|
|
39
|
+
var internalApiKeysCrud = createCrud({
|
|
40
|
+
adminReadSchema: internalApiKeysCrudAdminObfuscatedReadSchema,
|
|
41
|
+
adminUpdateSchema: internalApiKeysCrudAdminUpdateSchema,
|
|
42
|
+
adminDeleteSchema: internalApiKeysCrudAdminDeleteSchema,
|
|
43
|
+
docs: {
|
|
44
|
+
adminList: {
|
|
45
|
+
hidden: true
|
|
46
|
+
},
|
|
47
|
+
adminRead: {
|
|
48
|
+
hidden: true
|
|
49
|
+
},
|
|
50
|
+
adminCreate: {
|
|
51
|
+
hidden: true
|
|
52
|
+
},
|
|
53
|
+
adminUpdate: {
|
|
54
|
+
hidden: true
|
|
55
|
+
},
|
|
56
|
+
adminDelete: {
|
|
57
|
+
hidden: true
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
export {
|
|
62
|
+
internalApiKeysCreateInputSchema,
|
|
63
|
+
internalApiKeysCreateOutputSchema,
|
|
64
|
+
internalApiKeysCrud,
|
|
65
|
+
internalApiKeysCrudAdminDeleteSchema,
|
|
66
|
+
internalApiKeysCrudAdminObfuscatedReadSchema,
|
|
67
|
+
internalApiKeysCrudAdminUpdateSchema
|
|
68
|
+
};
|
|
69
|
+
//# sourceMappingURL=internal-api-keys.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/interface/crud/internal-api-keys.ts"],"sourcesContent":["import { CrudTypeOf, createCrud } from \"../../crud\";\nimport { yupBoolean, yupMixed, yupNumber, yupObject, yupString } from \"../../schema-fields\";\n\nconst baseInternalApiKeysReadSchema = yupObject({\n id: yupString().defined(),\n description: yupString().defined(),\n expires_at_millis: yupNumber().defined(),\n manually_revoked_at_millis: yupNumber().optional(),\n created_at_millis: yupNumber().defined(),\n});\n\n// Used for the result of the create endpoint\nexport const internalApiKeysCreateInputSchema = yupObject({\n description: yupString().defined(),\n expires_at_millis: yupNumber().defined(),\n has_publishable_client_key: yupBoolean().defined(),\n has_secret_server_key: yupBoolean().defined(),\n has_super_secret_admin_key: yupBoolean().defined(),\n});\n\nexport const internalApiKeysCreateOutputSchema = baseInternalApiKeysReadSchema.concat(yupObject({\n publishable_client_key: yupString().optional(),\n secret_server_key: yupString().optional(),\n super_secret_admin_key: yupString().optional(),\n}).defined());\n\n// Used for list, read and update endpoints after the initial creation\nexport const internalApiKeysCrudAdminObfuscatedReadSchema = baseInternalApiKeysReadSchema.concat(yupObject({\n publishable_client_key: yupObject({\n last_four: yupString().defined(),\n }).optional(),\n secret_server_key: yupObject({\n last_four: yupString().defined(),\n }).optional(),\n super_secret_admin_key: yupObject({\n last_four: yupString().defined(),\n }).optional(),\n}));\n\nexport const internalApiKeysCrudAdminUpdateSchema = yupObject({\n description: yupString().optional(),\n revoked: yupBoolean().oneOf([true]).optional(),\n}).defined();\n\nexport const internalApiKeysCrudAdminDeleteSchema = yupMixed();\n\nexport const internalApiKeysCrud = createCrud({\n adminReadSchema: internalApiKeysCrudAdminObfuscatedReadSchema,\n adminUpdateSchema: internalApiKeysCrudAdminUpdateSchema,\n adminDeleteSchema: internalApiKeysCrudAdminDeleteSchema,\n docs: {\n adminList: {\n hidden: true,\n },\n adminRead: {\n hidden: true,\n },\n adminCreate: {\n hidden: true,\n },\n adminUpdate: {\n hidden: true,\n },\n adminDelete: {\n hidden: true,\n },\n },\n});\nexport type InternalApiKeysCrud = CrudTypeOf<typeof internalApiKeysCrud>;\n"],"mappings":";AAAA,SAAqB,kBAAkB;AACvC,SAAS,YAAY,UAAU,WAAW,WAAW,iBAAiB;AAEtE,IAAM,gCAAgC,UAAU;AAAA,EAC9C,IAAI,UAAU,EAAE,QAAQ;AAAA,EACxB,aAAa,UAAU,EAAE,QAAQ;AAAA,EACjC,mBAAmB,UAAU,EAAE,QAAQ;AAAA,EACvC,4BAA4B,UAAU,EAAE,SAAS;AAAA,EACjD,mBAAmB,UAAU,EAAE,QAAQ;AACzC,CAAC;AAGM,IAAM,mCAAmC,UAAU;AAAA,EACxD,aAAa,UAAU,EAAE,QAAQ;AAAA,EACjC,mBAAmB,UAAU,EAAE,QAAQ;AAAA,EACvC,4BAA4B,WAAW,EAAE,QAAQ;AAAA,EACjD,uBAAuB,WAAW,EAAE,QAAQ;AAAA,EAC5C,4BAA4B,WAAW,EAAE,QAAQ;AACnD,CAAC;AAEM,IAAM,oCAAoC,8BAA8B,OAAO,UAAU;AAAA,EAC9F,wBAAwB,UAAU,EAAE,SAAS;AAAA,EAC7C,mBAAmB,UAAU,EAAE,SAAS;AAAA,EACxC,wBAAwB,UAAU,EAAE,SAAS;AAC/C,CAAC,EAAE,QAAQ,CAAC;AAGL,IAAM,+CAA+C,8BAA8B,OAAO,UAAU;AAAA,EACzG,wBAAwB,UAAU;AAAA,IAChC,WAAW,UAAU,EAAE,QAAQ;AAAA,EACjC,CAAC,EAAE,SAAS;AAAA,EACZ,mBAAmB,UAAU;AAAA,IAC3B,WAAW,UAAU,EAAE,QAAQ;AAAA,EACjC,CAAC,EAAE,SAAS;AAAA,EACZ,wBAAwB,UAAU;AAAA,IAChC,WAAW,UAAU,EAAE,QAAQ;AAAA,EACjC,CAAC,EAAE,SAAS;AACd,CAAC,CAAC;AAEK,IAAM,uCAAuC,UAAU;AAAA,EAC5D,aAAa,UAAU,EAAE,SAAS;AAAA,EAClC,SAAS,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS;AAC/C,CAAC,EAAE,QAAQ;AAEJ,IAAM,uCAAuC,SAAS;AAEtD,IAAM,sBAAsB,WAAW;AAAA,EAC5C,iBAAiB;AAAA,EACjB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,MAAM;AAAA,IACJ,WAAW;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,WAAW;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IACA,aAAa;AAAA,MACX,QAAQ;AAAA,IACV;AAAA,IACA,aAAa;AAAA,MACX,QAAQ;AAAA,IACV;AAAA,IACA,aAAa;AAAA,MACX,QAAQ;AAAA,IACV;AAAA,EACF;AACF,CAAC;","names":[]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
// src/interface/crud/oauth.ts
|
|
2
|
+
import { createCrud } from "../../crud";
|
|
3
|
+
import { yupObject, yupString } from "../../schema-fields";
|
|
4
|
+
var connectedAccountAccessTokenReadSchema = yupObject({
|
|
5
|
+
access_token: yupString().defined()
|
|
6
|
+
}).defined();
|
|
7
|
+
var connectedAccountAccessTokenCreateSchema = yupObject({
|
|
8
|
+
scope: yupString().optional()
|
|
9
|
+
}).defined();
|
|
10
|
+
var connectedAccountAccessTokenCrud = createCrud({
|
|
11
|
+
clientReadSchema: connectedAccountAccessTokenReadSchema,
|
|
12
|
+
clientCreateSchema: connectedAccountAccessTokenCreateSchema,
|
|
13
|
+
docs: {
|
|
14
|
+
clientCreate: {
|
|
15
|
+
hidden: true
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
export {
|
|
20
|
+
connectedAccountAccessTokenCreateSchema,
|
|
21
|
+
connectedAccountAccessTokenCrud,
|
|
22
|
+
connectedAccountAccessTokenReadSchema
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=oauth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/interface/crud/oauth.ts"],"sourcesContent":["import { CrudTypeOf, createCrud } from \"../../crud\";\nimport { yupObject, yupString } from \"../../schema-fields\";\n\nexport const connectedAccountAccessTokenReadSchema = yupObject({\n access_token: yupString().defined(),\n}).defined();\n\nexport const connectedAccountAccessTokenCreateSchema = yupObject({\n scope: yupString().optional(),\n}).defined();\n\nexport const connectedAccountAccessTokenCrud = createCrud({\n clientReadSchema: connectedAccountAccessTokenReadSchema,\n clientCreateSchema: connectedAccountAccessTokenCreateSchema,\n docs: {\n clientCreate: {\n hidden: true,\n }\n },\n});\nexport type ConnectedAccountAccessTokenCrud = CrudTypeOf<typeof connectedAccountAccessTokenCrud>;\n"],"mappings":";AAAA,SAAqB,kBAAkB;AACvC,SAAS,WAAW,iBAAiB;AAE9B,IAAM,wCAAwC,UAAU;AAAA,EAC7D,cAAc,UAAU,EAAE,QAAQ;AACpC,CAAC,EAAE,QAAQ;AAEJ,IAAM,0CAA0C,UAAU;AAAA,EAC/D,OAAO,UAAU,EAAE,SAAS;AAC9B,CAAC,EAAE,QAAQ;AAEJ,IAAM,kCAAkC,WAAW;AAAA,EACxD,kBAAkB;AAAA,EAClB,oBAAoB;AAAA,EACpB,MAAM;AAAA,IACJ,cAAc;AAAA,MACZ,QAAQ;AAAA,IACV;AAAA,EACF;AACF,CAAC;","names":[]}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
// src/interface/crud/project-api-keys.ts
|
|
2
|
+
import { createCrud } from "../../crud";
|
|
3
|
+
import { userIdOrMeSchema, yupBoolean, yupNumber, yupObject, yupString } from "../../schema-fields";
|
|
4
|
+
import { typedFromEntries } from "../../utils/objects";
|
|
5
|
+
function createApiKeyCrud(type, idFieldName, idSchema) {
|
|
6
|
+
const projectApiKeysReadSchema = yupObject({
|
|
7
|
+
id: yupString().defined(),
|
|
8
|
+
description: yupString().defined(),
|
|
9
|
+
expires_at_millis: yupNumber().optional(),
|
|
10
|
+
manually_revoked_at_millis: yupNumber().optional(),
|
|
11
|
+
created_at_millis: yupNumber().defined(),
|
|
12
|
+
is_public: yupBoolean().defined(),
|
|
13
|
+
value: yupObject({
|
|
14
|
+
last_four: yupString().defined()
|
|
15
|
+
}).defined(),
|
|
16
|
+
type: yupString().oneOf([type]).defined(),
|
|
17
|
+
...typedFromEntries([[idFieldName, idSchema]])
|
|
18
|
+
});
|
|
19
|
+
const projectApiKeysUpdateSchema = yupObject({
|
|
20
|
+
description: yupString().optional(),
|
|
21
|
+
revoked: yupBoolean().oneOf([true]).optional()
|
|
22
|
+
}).defined();
|
|
23
|
+
const projectApiKeysCrud = createCrud({
|
|
24
|
+
clientReadSchema: projectApiKeysReadSchema,
|
|
25
|
+
clientUpdateSchema: projectApiKeysUpdateSchema,
|
|
26
|
+
docs: {
|
|
27
|
+
clientCreate: {
|
|
28
|
+
description: "Create a new API key",
|
|
29
|
+
displayName: "Create API Key",
|
|
30
|
+
summary: "Create API key"
|
|
31
|
+
},
|
|
32
|
+
clientList: {
|
|
33
|
+
description: "List all API keys for the project",
|
|
34
|
+
displayName: "List API Keys",
|
|
35
|
+
summary: "List API keys"
|
|
36
|
+
},
|
|
37
|
+
clientRead: {
|
|
38
|
+
description: "Get details of a specific API key",
|
|
39
|
+
displayName: "Get API Key",
|
|
40
|
+
summary: "Get API key details"
|
|
41
|
+
},
|
|
42
|
+
clientUpdate: {
|
|
43
|
+
description: "Update an API key",
|
|
44
|
+
displayName: "Update API Key",
|
|
45
|
+
summary: "Update API key"
|
|
46
|
+
},
|
|
47
|
+
serverDelete: {
|
|
48
|
+
description: "Delete an API key",
|
|
49
|
+
displayName: "Delete API Key",
|
|
50
|
+
summary: "Delete API key"
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
const projectApiKeysCreateInputSchema = yupObject({
|
|
55
|
+
description: yupString().defined(),
|
|
56
|
+
expires_at_millis: yupNumber().nullable().defined(),
|
|
57
|
+
is_public: yupBoolean().optional(),
|
|
58
|
+
/*
|
|
59
|
+
prefix: yupString().optional().nonEmpty().test("prefix", "Prefix must contain only alphanumeric characters and underscores", (value) => {
|
|
60
|
+
if (!value) return true;
|
|
61
|
+
return /^[a-zA-Z0-9_]+$/.test(value);
|
|
62
|
+
}),
|
|
63
|
+
*/
|
|
64
|
+
...typedFromEntries([[idFieldName, idSchema]])
|
|
65
|
+
});
|
|
66
|
+
const projectApiKeysCreateOutputSchema = projectApiKeysReadSchema.omit(["value"]).concat(yupObject({
|
|
67
|
+
value: yupString().defined()
|
|
68
|
+
}));
|
|
69
|
+
return {
|
|
70
|
+
crud: projectApiKeysCrud,
|
|
71
|
+
createInputSchema: projectApiKeysCreateInputSchema,
|
|
72
|
+
createOutputSchema: projectApiKeysCreateOutputSchema
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
var {
|
|
76
|
+
crud: userApiKeysCrud,
|
|
77
|
+
createInputSchema: userApiKeysCreateInputSchema,
|
|
78
|
+
createOutputSchema: userApiKeysCreateOutputSchema
|
|
79
|
+
} = createApiKeyCrud("user", "user_id", userIdOrMeSchema.defined());
|
|
80
|
+
var {
|
|
81
|
+
crud: teamApiKeysCrud,
|
|
82
|
+
createInputSchema: teamApiKeysCreateInputSchema,
|
|
83
|
+
createOutputSchema: teamApiKeysCreateOutputSchema
|
|
84
|
+
} = createApiKeyCrud("team", "team_id", yupString().defined());
|
|
85
|
+
export {
|
|
86
|
+
teamApiKeysCreateInputSchema,
|
|
87
|
+
teamApiKeysCreateOutputSchema,
|
|
88
|
+
teamApiKeysCrud,
|
|
89
|
+
userApiKeysCreateInputSchema,
|
|
90
|
+
userApiKeysCreateOutputSchema,
|
|
91
|
+
userApiKeysCrud
|
|
92
|
+
};
|
|
93
|
+
//# sourceMappingURL=project-api-keys.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/interface/crud/project-api-keys.ts"],"sourcesContent":["import * as yup from \"yup\";\nimport { CrudTypeOf, createCrud } from \"../../crud\";\nimport { userIdOrMeSchema, yupBoolean, yupNumber, yupObject, yupString } from \"../../schema-fields\";\nimport { typedFromEntries } from \"../../utils/objects\";\n\nfunction createApiKeyCrud<T extends string, IdFieldName extends string, IdSchema extends yup.Schema<any>>(type: T, idFieldName: IdFieldName, idSchema: IdSchema) {\n const projectApiKeysReadSchema = yupObject({\n id: yupString().defined(),\n description: yupString().defined(),\n expires_at_millis: yupNumber().optional(),\n manually_revoked_at_millis: yupNumber().optional(),\n created_at_millis: yupNumber().defined(),\n is_public: yupBoolean().defined(),\n value: yupObject({\n last_four: yupString().defined(),\n }).defined(),\n type: yupString().oneOf([type]).defined(),\n ...typedFromEntries([[idFieldName, idSchema]]),\n });\n\n const projectApiKeysUpdateSchema = yupObject({\n description: yupString().optional(),\n revoked: yupBoolean().oneOf([true]).optional(),\n }).defined();\n\n const projectApiKeysCrud = createCrud({\n clientReadSchema: projectApiKeysReadSchema,\n clientUpdateSchema: projectApiKeysUpdateSchema,\n docs: {\n clientCreate: {\n description: \"Create a new API key\",\n displayName: \"Create API Key\",\n summary: \"Create API key\",\n },\n clientList: {\n description: \"List all API keys for the project\",\n displayName: \"List API Keys\",\n summary: \"List API keys\",\n },\n clientRead: {\n description: \"Get details of a specific API key\",\n displayName: \"Get API Key\",\n summary: \"Get API key details\",\n },\n clientUpdate: {\n description: \"Update an API key\",\n displayName: \"Update API Key\",\n summary: \"Update API key\",\n },\n serverDelete: {\n description: \"Delete an API key\",\n displayName: \"Delete API Key\",\n summary: \"Delete API key\",\n },\n },\n });\n\n // Used for the result of the create endpoint\n const projectApiKeysCreateInputSchema = yupObject({\n description: yupString().defined(),\n expires_at_millis: yupNumber().nullable().defined(),\n is_public: yupBoolean().optional(),\n /*\n prefix: yupString().optional().nonEmpty().test(\"prefix\", \"Prefix must contain only alphanumeric characters and underscores\", (value) => {\n if (!value) return true;\n return /^[a-zA-Z0-9_]+$/.test(value);\n }),\n */\n ...typedFromEntries([[idFieldName, idSchema]]),\n });\n const projectApiKeysCreateOutputSchema = projectApiKeysReadSchema.omit([\"value\"]).concat(yupObject({\n value: yupString().defined(),\n }));\n\n return {\n crud: projectApiKeysCrud,\n createInputSchema: projectApiKeysCreateInputSchema,\n createOutputSchema: projectApiKeysCreateOutputSchema,\n };\n}\n\n\nexport const {\n crud: userApiKeysCrud,\n createInputSchema: userApiKeysCreateInputSchema,\n createOutputSchema: userApiKeysCreateOutputSchema,\n} = createApiKeyCrud(\"user\", \"user_id\", userIdOrMeSchema.defined());\nexport type UserApiKeysCrud = CrudTypeOf<typeof userApiKeysCrud>;\n\nexport const {\n crud: teamApiKeysCrud,\n createInputSchema: teamApiKeysCreateInputSchema,\n createOutputSchema: teamApiKeysCreateOutputSchema,\n} = createApiKeyCrud(\"team\", \"team_id\", yupString().defined());\nexport type TeamApiKeysCrud = CrudTypeOf<typeof teamApiKeysCrud>;\n"],"mappings":";AACA,SAAqB,kBAAkB;AACvC,SAAS,kBAAkB,YAAY,WAAW,WAAW,iBAAiB;AAC9E,SAAS,wBAAwB;AAEjC,SAAS,iBAAiG,MAAS,aAA0B,UAAoB;AAC/J,QAAM,2BAA2B,UAAU;AAAA,IACzC,IAAI,UAAU,EAAE,QAAQ;AAAA,IACxB,aAAa,UAAU,EAAE,QAAQ;AAAA,IACjC,mBAAmB,UAAU,EAAE,SAAS;AAAA,IACxC,4BAA4B,UAAU,EAAE,SAAS;AAAA,IACjD,mBAAmB,UAAU,EAAE,QAAQ;AAAA,IACvC,WAAW,WAAW,EAAE,QAAQ;AAAA,IAChC,OAAO,UAAU;AAAA,MACf,WAAW,UAAU,EAAE,QAAQ;AAAA,IACjC,CAAC,EAAE,QAAQ;AAAA,IACX,MAAM,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ;AAAA,IACxC,GAAG,iBAAiB,CAAC,CAAC,aAAa,QAAQ,CAAC,CAAC;AAAA,EAC/C,CAAC;AAED,QAAM,6BAA6B,UAAU;AAAA,IAC3C,aAAa,UAAU,EAAE,SAAS;AAAA,IAClC,SAAS,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS;AAAA,EAC/C,CAAC,EAAE,QAAQ;AAEX,QAAM,qBAAqB,WAAW;AAAA,IACpC,kBAAkB;AAAA,IAClB,oBAAoB;AAAA,IACpB,MAAM;AAAA,MACJ,cAAc;AAAA,QACZ,aAAa;AAAA,QACb,aAAa;AAAA,QACb,SAAS;AAAA,MACX;AAAA,MACA,YAAY;AAAA,QACV,aAAa;AAAA,QACb,aAAa;AAAA,QACb,SAAS;AAAA,MACX;AAAA,MACA,YAAY;AAAA,QACV,aAAa;AAAA,QACb,aAAa;AAAA,QACb,SAAS;AAAA,MACX;AAAA,MACA,cAAc;AAAA,QACZ,aAAa;AAAA,QACb,aAAa;AAAA,QACb,SAAS;AAAA,MACX;AAAA,MACA,cAAc;AAAA,QACZ,aAAa;AAAA,QACb,aAAa;AAAA,QACb,SAAS;AAAA,MACX;AAAA,IACF;AAAA,EACF,CAAC;AAGD,QAAM,kCAAkC,UAAU;AAAA,IAChD,aAAa,UAAU,EAAE,QAAQ;AAAA,IACjC,mBAAmB,UAAU,EAAE,SAAS,EAAE,QAAQ;AAAA,IAClD,WAAW,WAAW,EAAE,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOjC,GAAG,iBAAiB,CAAC,CAAC,aAAa,QAAQ,CAAC,CAAC;AAAA,EAC/C,CAAC;AACD,QAAM,mCAAmC,yBAAyB,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,UAAU;AAAA,IACjG,OAAO,UAAU,EAAE,QAAQ;AAAA,EAC7B,CAAC,CAAC;AAEF,SAAO;AAAA,IACL,MAAM;AAAA,IACN,mBAAmB;AAAA,IACnB,oBAAoB;AAAA,EACtB;AACF;AAGO,IAAM;AAAA,EACX,MAAM;AAAA,EACN,mBAAmB;AAAA,EACnB,oBAAoB;AACtB,IAAI,iBAAiB,QAAQ,WAAW,iBAAiB,QAAQ,CAAC;AAG3D,IAAM;AAAA,EACX,MAAM;AAAA,EACN,mBAAmB;AAAA,EACnB,oBAAoB;AACtB,IAAI,iBAAiB,QAAQ,WAAW,UAAU,EAAE,QAAQ,CAAC;","names":[]}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
// src/interface/crud/project-permissions.ts
|
|
2
|
+
import { createCrud } from "../../crud";
|
|
3
|
+
import * as schemaFields from "../../schema-fields";
|
|
4
|
+
import { yupMixed, yupObject } from "../../schema-fields";
|
|
5
|
+
var projectPermissionsCrudClientReadSchema = yupObject({
|
|
6
|
+
id: schemaFields.permissionDefinitionIdSchema.defined(),
|
|
7
|
+
user_id: schemaFields.userIdSchema.defined()
|
|
8
|
+
}).defined();
|
|
9
|
+
var projectPermissionsCrudServerCreateSchema = yupObject({}).defined();
|
|
10
|
+
var projectPermissionsCrudServerDeleteSchema = yupMixed();
|
|
11
|
+
var projectPermissionsCrud = createCrud({
|
|
12
|
+
clientReadSchema: projectPermissionsCrudClientReadSchema,
|
|
13
|
+
serverCreateSchema: projectPermissionsCrudServerCreateSchema,
|
|
14
|
+
serverDeleteSchema: projectPermissionsCrudServerDeleteSchema,
|
|
15
|
+
docs: {
|
|
16
|
+
clientList: {
|
|
17
|
+
summary: "List project permissions",
|
|
18
|
+
description: "List global permissions of the current user. `user_id=me` must be set for client requests. `(user_id, permission_id)` together uniquely identify a permission.",
|
|
19
|
+
tags: ["Permissions"]
|
|
20
|
+
},
|
|
21
|
+
serverList: {
|
|
22
|
+
summary: "List project permissions",
|
|
23
|
+
description: "Query and filter the permission with `user_id` and `permission_id`. `(user_id, permission_id)` together uniquely identify a permission.",
|
|
24
|
+
tags: ["Permissions"]
|
|
25
|
+
},
|
|
26
|
+
serverCreate: {
|
|
27
|
+
summary: "Grant a global permission to a user",
|
|
28
|
+
description: "Grant a global permission to a user (the permission must be created first on the Stack dashboard)",
|
|
29
|
+
tags: ["Permissions"]
|
|
30
|
+
},
|
|
31
|
+
serverDelete: {
|
|
32
|
+
summary: "Revoke a global permission from a user",
|
|
33
|
+
description: "Revoke a global permission from a user",
|
|
34
|
+
tags: ["Permissions"]
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
var projectPermissionCreatedWebhookEvent = {
|
|
39
|
+
type: "project_permission.created",
|
|
40
|
+
schema: projectPermissionsCrud.server.readSchema,
|
|
41
|
+
metadata: {
|
|
42
|
+
summary: "Project Permission Created",
|
|
43
|
+
description: "This event is triggered when a project permission is created.",
|
|
44
|
+
tags: ["Users"]
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
var projectPermissionDeletedWebhookEvent = {
|
|
48
|
+
type: "project_permission.deleted",
|
|
49
|
+
schema: projectPermissionsCrud.server.readSchema,
|
|
50
|
+
metadata: {
|
|
51
|
+
summary: "Project Permission Deleted",
|
|
52
|
+
description: "This event is triggered when a project permission is deleted.",
|
|
53
|
+
tags: ["Users"]
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
var projectPermissionDefinitionsCrudAdminReadSchema = yupObject({
|
|
57
|
+
id: schemaFields.permissionDefinitionIdSchema.defined(),
|
|
58
|
+
description: schemaFields.teamPermissionDescriptionSchema.optional(),
|
|
59
|
+
contained_permission_ids: schemaFields.containedPermissionIdsSchema.defined()
|
|
60
|
+
}).defined();
|
|
61
|
+
var projectPermissionDefinitionsCrudAdminCreateSchema = yupObject({
|
|
62
|
+
id: schemaFields.customPermissionDefinitionIdSchema.defined(),
|
|
63
|
+
description: schemaFields.teamPermissionDescriptionSchema.optional(),
|
|
64
|
+
contained_permission_ids: schemaFields.containedPermissionIdsSchema.optional()
|
|
65
|
+
}).defined();
|
|
66
|
+
var projectPermissionDefinitionsCrudAdminUpdateSchema = yupObject({
|
|
67
|
+
id: schemaFields.customPermissionDefinitionIdSchema.optional(),
|
|
68
|
+
description: schemaFields.teamPermissionDescriptionSchema.optional(),
|
|
69
|
+
contained_permission_ids: schemaFields.containedPermissionIdsSchema.optional()
|
|
70
|
+
}).defined();
|
|
71
|
+
var projectPermissionDefinitionsCrudAdminDeleteSchema = yupMixed();
|
|
72
|
+
var projectPermissionDefinitionsCrud = createCrud({
|
|
73
|
+
adminReadSchema: projectPermissionDefinitionsCrudAdminReadSchema,
|
|
74
|
+
adminCreateSchema: projectPermissionDefinitionsCrudAdminCreateSchema,
|
|
75
|
+
adminUpdateSchema: projectPermissionDefinitionsCrudAdminUpdateSchema,
|
|
76
|
+
adminDeleteSchema: projectPermissionDefinitionsCrudAdminDeleteSchema,
|
|
77
|
+
docs: {
|
|
78
|
+
adminList: {
|
|
79
|
+
summary: "List project permission definitions",
|
|
80
|
+
description: "Query and filter project permission definitions (the equivalent of listing permissions on the Stack dashboard)",
|
|
81
|
+
tags: ["Permissions"]
|
|
82
|
+
},
|
|
83
|
+
adminCreate: {
|
|
84
|
+
summary: "Create a new project permission definition",
|
|
85
|
+
description: "Create a new project permission definition (the equivalent of creating a new permission on the Stack dashboard)",
|
|
86
|
+
tags: ["Permissions"]
|
|
87
|
+
},
|
|
88
|
+
adminUpdate: {
|
|
89
|
+
summary: "Update a project permission definition",
|
|
90
|
+
description: "Update a project permission definition (the equivalent of updating a permission on the Stack dashboard)",
|
|
91
|
+
tags: ["Permissions"]
|
|
92
|
+
},
|
|
93
|
+
adminDelete: {
|
|
94
|
+
summary: "Delete a project permission definition",
|
|
95
|
+
description: "Delete a project permission definition (the equivalent of deleting a permission on the Stack dashboard)",
|
|
96
|
+
tags: ["Permissions"]
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
export {
|
|
101
|
+
projectPermissionCreatedWebhookEvent,
|
|
102
|
+
projectPermissionDefinitionsCrud,
|
|
103
|
+
projectPermissionDefinitionsCrudAdminCreateSchema,
|
|
104
|
+
projectPermissionDefinitionsCrudAdminDeleteSchema,
|
|
105
|
+
projectPermissionDefinitionsCrudAdminReadSchema,
|
|
106
|
+
projectPermissionDefinitionsCrudAdminUpdateSchema,
|
|
107
|
+
projectPermissionDeletedWebhookEvent,
|
|
108
|
+
projectPermissionsCrud,
|
|
109
|
+
projectPermissionsCrudClientReadSchema,
|
|
110
|
+
projectPermissionsCrudServerCreateSchema,
|
|
111
|
+
projectPermissionsCrudServerDeleteSchema
|
|
112
|
+
};
|
|
113
|
+
//# sourceMappingURL=project-permissions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/interface/crud/project-permissions.ts"],"sourcesContent":["import { CrudTypeOf, createCrud } from \"../../crud\";\nimport * as schemaFields from \"../../schema-fields\";\nimport { yupMixed, yupObject } from \"../../schema-fields\";\nimport { WebhookEvent } from \"../webhooks\";\n\n// =============== Project permissions =================\n\nexport const projectPermissionsCrudClientReadSchema = yupObject({\n id: schemaFields.permissionDefinitionIdSchema.defined(),\n user_id: schemaFields.userIdSchema.defined(),\n}).defined();\n\nexport const projectPermissionsCrudServerCreateSchema = yupObject({\n}).defined();\n\nexport const projectPermissionsCrudServerDeleteSchema = yupMixed();\n\nexport const projectPermissionsCrud = createCrud({\n clientReadSchema: projectPermissionsCrudClientReadSchema,\n serverCreateSchema: projectPermissionsCrudServerCreateSchema,\n serverDeleteSchema: projectPermissionsCrudServerDeleteSchema,\n docs: {\n clientList: {\n summary: \"List project permissions\",\n description: \"List global permissions of the current user. `user_id=me` must be set for client requests. `(user_id, permission_id)` together uniquely identify a permission.\",\n tags: [\"Permissions\"],\n },\n serverList: {\n summary: \"List project permissions\",\n description: \"Query and filter the permission with `user_id` and `permission_id`. `(user_id, permission_id)` together uniquely identify a permission.\",\n tags: [\"Permissions\"],\n },\n serverCreate: {\n summary: \"Grant a global permission to a user\",\n description: \"Grant a global permission to a user (the permission must be created first on the Stack dashboard)\",\n tags: [\"Permissions\"],\n },\n serverDelete: {\n summary: \"Revoke a global permission from a user\",\n description: \"Revoke a global permission from a user\",\n tags: [\"Permissions\"],\n },\n },\n});\nexport type ProjectPermissionsCrud = CrudTypeOf<typeof projectPermissionsCrud>;\n\nexport const projectPermissionCreatedWebhookEvent = {\n type: \"project_permission.created\",\n schema: projectPermissionsCrud.server.readSchema,\n metadata: {\n summary: \"Project Permission Created\",\n description: \"This event is triggered when a project permission is created.\",\n tags: [\"Users\"],\n },\n} satisfies WebhookEvent<typeof projectPermissionsCrud.server.readSchema>;\n\nexport const projectPermissionDeletedWebhookEvent = {\n type: \"project_permission.deleted\",\n schema: projectPermissionsCrud.server.readSchema,\n metadata: {\n summary: \"Project Permission Deleted\",\n description: \"This event is triggered when a project permission is deleted.\",\n tags: [\"Users\"],\n },\n} satisfies WebhookEvent<typeof projectPermissionsCrud.server.readSchema>;\n\n// =============== Project permission definitions =================\n\nexport const projectPermissionDefinitionsCrudAdminReadSchema = yupObject({\n id: schemaFields.permissionDefinitionIdSchema.defined(),\n description: schemaFields.teamPermissionDescriptionSchema.optional(),\n contained_permission_ids: schemaFields.containedPermissionIdsSchema.defined(),\n}).defined();\n\nexport const projectPermissionDefinitionsCrudAdminCreateSchema = yupObject({\n id: schemaFields.customPermissionDefinitionIdSchema.defined(),\n description: schemaFields.teamPermissionDescriptionSchema.optional(),\n contained_permission_ids: schemaFields.containedPermissionIdsSchema.optional(),\n}).defined();\n\nexport const projectPermissionDefinitionsCrudAdminUpdateSchema = yupObject({\n id: schemaFields.customPermissionDefinitionIdSchema.optional(),\n description: schemaFields.teamPermissionDescriptionSchema.optional(),\n contained_permission_ids: schemaFields.containedPermissionIdsSchema.optional(),\n}).defined();\n\nexport const projectPermissionDefinitionsCrudAdminDeleteSchema = yupMixed();\n\nexport const projectPermissionDefinitionsCrud = createCrud({\n adminReadSchema: projectPermissionDefinitionsCrudAdminReadSchema,\n adminCreateSchema: projectPermissionDefinitionsCrudAdminCreateSchema,\n adminUpdateSchema: projectPermissionDefinitionsCrudAdminUpdateSchema,\n adminDeleteSchema: projectPermissionDefinitionsCrudAdminDeleteSchema,\n docs: {\n adminList: {\n summary: \"List project permission definitions\",\n description: \"Query and filter project permission definitions (the equivalent of listing permissions on the Stack dashboard)\",\n tags: [\"Permissions\"],\n },\n adminCreate: {\n summary: \"Create a new project permission definition\",\n description: \"Create a new project permission definition (the equivalent of creating a new permission on the Stack dashboard)\",\n tags: [\"Permissions\"],\n },\n adminUpdate: {\n summary: \"Update a project permission definition\",\n description: \"Update a project permission definition (the equivalent of updating a permission on the Stack dashboard)\",\n tags: [\"Permissions\"],\n },\n adminDelete: {\n summary: \"Delete a project permission definition\",\n description: \"Delete a project permission definition (the equivalent of deleting a permission on the Stack dashboard)\",\n tags: [\"Permissions\"],\n },\n },\n});\n\nexport type ProjectPermissionDefinitionsCrud = CrudTypeOf<typeof projectPermissionDefinitionsCrud>;\n"],"mappings":";AAAA,SAAqB,kBAAkB;AACvC,YAAY,kBAAkB;AAC9B,SAAS,UAAU,iBAAiB;AAK7B,IAAM,yCAAyC,UAAU;AAAA,EAC9D,IAAiB,0CAA6B,QAAQ;AAAA,EACtD,SAAsB,0BAAa,QAAQ;AAC7C,CAAC,EAAE,QAAQ;AAEJ,IAAM,2CAA2C,UAAU,CAClE,CAAC,EAAE,QAAQ;AAEJ,IAAM,2CAA2C,SAAS;AAE1D,IAAM,yBAAyB,WAAW;AAAA,EAC/C,kBAAkB;AAAA,EAClB,oBAAoB;AAAA,EACpB,oBAAoB;AAAA,EACpB,MAAM;AAAA,IACJ,YAAY;AAAA,MACV,SAAS;AAAA,MACT,aAAa;AAAA,MACb,MAAM,CAAC,aAAa;AAAA,IACtB;AAAA,IACA,YAAY;AAAA,MACV,SAAS;AAAA,MACT,aAAa;AAAA,MACb,MAAM,CAAC,aAAa;AAAA,IACtB;AAAA,IACA,cAAc;AAAA,MACZ,SAAS;AAAA,MACT,aAAa;AAAA,MACb,MAAM,CAAC,aAAa;AAAA,IACtB;AAAA,IACA,cAAc;AAAA,MACZ,SAAS;AAAA,MACT,aAAa;AAAA,MACb,MAAM,CAAC,aAAa;AAAA,IACtB;AAAA,EACF;AACF,CAAC;AAGM,IAAM,uCAAuC;AAAA,EAClD,MAAM;AAAA,EACN,QAAQ,uBAAuB,OAAO;AAAA,EACtC,UAAU;AAAA,IACR,SAAS;AAAA,IACT,aAAa;AAAA,IACb,MAAM,CAAC,OAAO;AAAA,EAChB;AACF;AAEO,IAAM,uCAAuC;AAAA,EAClD,MAAM;AAAA,EACN,QAAQ,uBAAuB,OAAO;AAAA,EACtC,UAAU;AAAA,IACR,SAAS;AAAA,IACT,aAAa;AAAA,IACb,MAAM,CAAC,OAAO;AAAA,EAChB;AACF;AAIO,IAAM,kDAAkD,UAAU;AAAA,EACvE,IAAiB,0CAA6B,QAAQ;AAAA,EACtD,aAA0B,6CAAgC,SAAS;AAAA,EACnE,0BAAuC,0CAA6B,QAAQ;AAC9E,CAAC,EAAE,QAAQ;AAEJ,IAAM,oDAAoD,UAAU;AAAA,EACzE,IAAiB,gDAAmC,QAAQ;AAAA,EAC5D,aAA0B,6CAAgC,SAAS;AAAA,EACnE,0BAAuC,0CAA6B,SAAS;AAC/E,CAAC,EAAE,QAAQ;AAEJ,IAAM,oDAAoD,UAAU;AAAA,EACzE,IAAiB,gDAAmC,SAAS;AAAA,EAC7D,aAA0B,6CAAgC,SAAS;AAAA,EACnE,0BAAuC,0CAA6B,SAAS;AAC/E,CAAC,EAAE,QAAQ;AAEJ,IAAM,oDAAoD,SAAS;AAEnE,IAAM,mCAAmC,WAAW;AAAA,EACzD,iBAAiB;AAAA,EACjB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,MAAM;AAAA,IACJ,WAAW;AAAA,MACT,SAAS;AAAA,MACT,aAAa;AAAA,MACb,MAAM,CAAC,aAAa;AAAA,IACtB;AAAA,IACA,aAAa;AAAA,MACX,SAAS;AAAA,MACT,aAAa;AAAA,MACb,MAAM,CAAC,aAAa;AAAA,IACtB;AAAA,IACA,aAAa;AAAA,MACX,SAAS;AAAA,MACT,aAAa;AAAA,MACb,MAAM,CAAC,aAAa;AAAA,IACtB;AAAA,IACA,aAAa;AAAA,MACX,SAAS;AAAA,MACT,aAAa;AAAA,MACb,MAAM,CAAC,aAAa;AAAA,IACtB;AAAA,EACF;AACF,CAAC;","names":[]}
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
// src/interface/crud/projects.ts
|
|
2
|
+
import { createCrud } from "../../crud";
|
|
3
|
+
import * as schemaFields from "../../schema-fields";
|
|
4
|
+
import { yupArray, yupObject, yupString } from "../../schema-fields";
|
|
5
|
+
var teamPermissionSchema = yupObject({
|
|
6
|
+
id: yupString().defined()
|
|
7
|
+
}).defined();
|
|
8
|
+
var oauthProviderSchema = yupObject({
|
|
9
|
+
id: schemaFields.oauthIdSchema.defined(),
|
|
10
|
+
type: schemaFields.oauthTypeSchema.defined(),
|
|
11
|
+
client_id: schemaFields.yupDefinedAndNonEmptyWhen(
|
|
12
|
+
schemaFields.oauthClientIdSchema,
|
|
13
|
+
{ type: "standard" }
|
|
14
|
+
),
|
|
15
|
+
client_secret: schemaFields.yupDefinedAndNonEmptyWhen(
|
|
16
|
+
schemaFields.oauthClientSecretSchema,
|
|
17
|
+
{ type: "standard" }
|
|
18
|
+
),
|
|
19
|
+
// extra params
|
|
20
|
+
facebook_config_id: schemaFields.oauthFacebookConfigIdSchema.optional(),
|
|
21
|
+
microsoft_tenant_id: schemaFields.oauthMicrosoftTenantIdSchema.optional()
|
|
22
|
+
});
|
|
23
|
+
var enabledOAuthProviderSchema = yupObject({
|
|
24
|
+
id: schemaFields.oauthIdSchema.defined()
|
|
25
|
+
});
|
|
26
|
+
var emailConfigSchema = yupObject({
|
|
27
|
+
type: schemaFields.emailTypeSchema.defined(),
|
|
28
|
+
host: schemaFields.yupDefinedAndNonEmptyWhen(schemaFields.emailHostSchema, {
|
|
29
|
+
type: "standard"
|
|
30
|
+
}),
|
|
31
|
+
port: schemaFields.yupDefinedWhen(schemaFields.emailPortSchema, {
|
|
32
|
+
type: "standard"
|
|
33
|
+
}),
|
|
34
|
+
username: schemaFields.yupDefinedAndNonEmptyWhen(schemaFields.emailUsernameSchema, {
|
|
35
|
+
type: "standard"
|
|
36
|
+
}),
|
|
37
|
+
password: schemaFields.yupDefinedAndNonEmptyWhen(schemaFields.emailPasswordSchema, {
|
|
38
|
+
type: "standard"
|
|
39
|
+
}),
|
|
40
|
+
sender_name: schemaFields.yupDefinedAndNonEmptyWhen(schemaFields.emailSenderNameSchema, {
|
|
41
|
+
type: "standard"
|
|
42
|
+
}),
|
|
43
|
+
sender_email: schemaFields.yupDefinedAndNonEmptyWhen(schemaFields.emailSenderEmailSchema, {
|
|
44
|
+
type: "standard"
|
|
45
|
+
})
|
|
46
|
+
});
|
|
47
|
+
var emailConfigWithoutPasswordSchema = emailConfigSchema.pick(["type", "host", "port", "username", "sender_name", "sender_email"]);
|
|
48
|
+
var domainSchema = yupObject({
|
|
49
|
+
domain: schemaFields.urlSchema.defined().matches(/^https?:\/\//, "URL must start with http:// or https://").meta({ openapiField: { description: "URL. Must start with http:// or https://", exampleValue: "https://example.com" } }),
|
|
50
|
+
handler_path: schemaFields.handlerPathSchema.defined()
|
|
51
|
+
});
|
|
52
|
+
var projectsCrudAdminReadSchema = yupObject({
|
|
53
|
+
id: schemaFields.projectIdSchema.defined(),
|
|
54
|
+
display_name: schemaFields.projectDisplayNameSchema.defined(),
|
|
55
|
+
description: schemaFields.projectDescriptionSchema.nonNullable().defined(),
|
|
56
|
+
created_at_millis: schemaFields.projectCreatedAtMillisSchema.defined(),
|
|
57
|
+
user_count: schemaFields.projectUserCountSchema.defined(),
|
|
58
|
+
is_production_mode: schemaFields.projectIsProductionModeSchema.defined(),
|
|
59
|
+
config: yupObject({
|
|
60
|
+
allow_localhost: schemaFields.projectAllowLocalhostSchema.defined(),
|
|
61
|
+
sign_up_enabled: schemaFields.projectSignUpEnabledSchema.defined(),
|
|
62
|
+
credential_enabled: schemaFields.projectCredentialEnabledSchema.defined(),
|
|
63
|
+
magic_link_enabled: schemaFields.projectMagicLinkEnabledSchema.defined(),
|
|
64
|
+
passkey_enabled: schemaFields.projectPasskeyEnabledSchema.defined(),
|
|
65
|
+
// TODO: remove this
|
|
66
|
+
client_team_creation_enabled: schemaFields.projectClientTeamCreationEnabledSchema.defined(),
|
|
67
|
+
client_user_deletion_enabled: schemaFields.projectClientUserDeletionEnabledSchema.defined(),
|
|
68
|
+
allow_user_api_keys: schemaFields.yupBoolean().defined(),
|
|
69
|
+
allow_team_api_keys: schemaFields.yupBoolean().defined(),
|
|
70
|
+
oauth_providers: yupArray(oauthProviderSchema.defined()).defined(),
|
|
71
|
+
enabled_oauth_providers: yupArray(enabledOAuthProviderSchema.defined()).defined().meta({ openapiField: { hidden: true } }),
|
|
72
|
+
domains: yupArray(domainSchema.defined()).defined(),
|
|
73
|
+
email_config: emailConfigSchema.defined(),
|
|
74
|
+
create_team_on_sign_up: schemaFields.projectCreateTeamOnSignUpSchema.defined(),
|
|
75
|
+
team_creator_default_permissions: yupArray(teamPermissionSchema.defined()).defined(),
|
|
76
|
+
team_member_default_permissions: yupArray(teamPermissionSchema.defined()).defined(),
|
|
77
|
+
user_default_permissions: yupArray(teamPermissionSchema.defined()).defined(),
|
|
78
|
+
oauth_account_merge_strategy: schemaFields.oauthAccountMergeStrategySchema.defined()
|
|
79
|
+
}).defined()
|
|
80
|
+
}).defined();
|
|
81
|
+
var projectsCrudClientReadSchema = yupObject({
|
|
82
|
+
id: schemaFields.projectIdSchema.defined(),
|
|
83
|
+
display_name: schemaFields.projectDisplayNameSchema.defined(),
|
|
84
|
+
config: yupObject({
|
|
85
|
+
sign_up_enabled: schemaFields.projectSignUpEnabledSchema.defined(),
|
|
86
|
+
credential_enabled: schemaFields.projectCredentialEnabledSchema.defined(),
|
|
87
|
+
magic_link_enabled: schemaFields.projectMagicLinkEnabledSchema.defined(),
|
|
88
|
+
passkey_enabled: schemaFields.projectPasskeyEnabledSchema.defined(),
|
|
89
|
+
client_team_creation_enabled: schemaFields.projectClientTeamCreationEnabledSchema.defined(),
|
|
90
|
+
client_user_deletion_enabled: schemaFields.projectClientUserDeletionEnabledSchema.defined(),
|
|
91
|
+
allow_user_api_keys: schemaFields.yupBoolean().defined(),
|
|
92
|
+
allow_team_api_keys: schemaFields.yupBoolean().defined(),
|
|
93
|
+
enabled_oauth_providers: yupArray(enabledOAuthProviderSchema.defined()).defined().meta({ openapiField: { hidden: true } })
|
|
94
|
+
}).defined()
|
|
95
|
+
}).defined();
|
|
96
|
+
var projectsCrudAdminUpdateSchema = yupObject({
|
|
97
|
+
display_name: schemaFields.projectDisplayNameSchema.optional(),
|
|
98
|
+
description: schemaFields.projectDescriptionSchema.optional(),
|
|
99
|
+
is_production_mode: schemaFields.projectIsProductionModeSchema.optional(),
|
|
100
|
+
config: yupObject({
|
|
101
|
+
sign_up_enabled: schemaFields.projectSignUpEnabledSchema.optional(),
|
|
102
|
+
credential_enabled: schemaFields.projectCredentialEnabledSchema.optional(),
|
|
103
|
+
magic_link_enabled: schemaFields.projectMagicLinkEnabledSchema.optional(),
|
|
104
|
+
passkey_enabled: schemaFields.projectPasskeyEnabledSchema.optional(),
|
|
105
|
+
client_team_creation_enabled: schemaFields.projectClientTeamCreationEnabledSchema.optional(),
|
|
106
|
+
client_user_deletion_enabled: schemaFields.projectClientUserDeletionEnabledSchema.optional(),
|
|
107
|
+
allow_localhost: schemaFields.projectAllowLocalhostSchema.optional(),
|
|
108
|
+
allow_user_api_keys: schemaFields.yupBoolean().optional(),
|
|
109
|
+
allow_team_api_keys: schemaFields.yupBoolean().optional(),
|
|
110
|
+
email_config: emailConfigSchema.optional().default(void 0),
|
|
111
|
+
domains: yupArray(domainSchema.defined()).optional().default(void 0),
|
|
112
|
+
oauth_providers: yupArray(oauthProviderSchema.defined()).optional().default(void 0),
|
|
113
|
+
create_team_on_sign_up: schemaFields.projectCreateTeamOnSignUpSchema.optional(),
|
|
114
|
+
team_creator_default_permissions: yupArray(teamPermissionSchema.defined()).optional(),
|
|
115
|
+
team_member_default_permissions: yupArray(teamPermissionSchema.defined()).optional(),
|
|
116
|
+
user_default_permissions: yupArray(teamPermissionSchema.defined()).optional(),
|
|
117
|
+
oauth_account_merge_strategy: schemaFields.oauthAccountMergeStrategySchema.optional()
|
|
118
|
+
}).optional().default(void 0)
|
|
119
|
+
}).defined();
|
|
120
|
+
var projectsCrudAdminCreateSchema = projectsCrudAdminUpdateSchema.concat(yupObject({
|
|
121
|
+
display_name: schemaFields.projectDisplayNameSchema.defined()
|
|
122
|
+
}).defined());
|
|
123
|
+
var projectsCrudAdminDeleteSchema = schemaFields.yupMixed();
|
|
124
|
+
var clientProjectsCrud = createCrud({
|
|
125
|
+
clientReadSchema: projectsCrudClientReadSchema,
|
|
126
|
+
docs: {
|
|
127
|
+
clientRead: {
|
|
128
|
+
summary: "Get the current project",
|
|
129
|
+
description: "Get the current project information including display name, OAuth providers and authentication methods. Useful for display the available login options to the user.",
|
|
130
|
+
tags: ["Projects"]
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
var projectsCrud = createCrud({
|
|
135
|
+
adminReadSchema: projectsCrudAdminReadSchema,
|
|
136
|
+
adminUpdateSchema: projectsCrudAdminUpdateSchema,
|
|
137
|
+
adminDeleteSchema: projectsCrudAdminDeleteSchema,
|
|
138
|
+
docs: {
|
|
139
|
+
adminRead: {
|
|
140
|
+
summary: "Get the current project",
|
|
141
|
+
description: "Get the current project information and configuration including display name, OAuth providers, email configuration, etc.",
|
|
142
|
+
tags: ["Projects"]
|
|
143
|
+
},
|
|
144
|
+
adminUpdate: {
|
|
145
|
+
summary: "Update the current project",
|
|
146
|
+
description: "Update the current project information and configuration including display name, OAuth providers, email configuration, etc.",
|
|
147
|
+
tags: ["Projects"]
|
|
148
|
+
},
|
|
149
|
+
adminDelete: {
|
|
150
|
+
summary: "Delete the current project",
|
|
151
|
+
description: "Delete the current project and all associated data (including users, teams, API keys, project configs, etc.). Be careful, this action is irreversible.",
|
|
152
|
+
tags: ["Projects"]
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
var adminUserProjectsCrud = createCrud({
|
|
157
|
+
clientReadSchema: projectsCrudAdminReadSchema,
|
|
158
|
+
clientCreateSchema: projectsCrudAdminCreateSchema,
|
|
159
|
+
docs: {
|
|
160
|
+
clientList: {
|
|
161
|
+
hidden: true
|
|
162
|
+
},
|
|
163
|
+
clientCreate: {
|
|
164
|
+
hidden: true
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
});
|
|
168
|
+
export {
|
|
169
|
+
adminUserProjectsCrud,
|
|
170
|
+
clientProjectsCrud,
|
|
171
|
+
emailConfigSchema,
|
|
172
|
+
emailConfigWithoutPasswordSchema,
|
|
173
|
+
projectsCrud,
|
|
174
|
+
projectsCrudAdminCreateSchema,
|
|
175
|
+
projectsCrudAdminDeleteSchema,
|
|
176
|
+
projectsCrudAdminReadSchema,
|
|
177
|
+
projectsCrudAdminUpdateSchema,
|
|
178
|
+
projectsCrudClientReadSchema
|
|
179
|
+
};
|
|
180
|
+
//# sourceMappingURL=projects.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/interface/crud/projects.ts"],"sourcesContent":["import { CrudTypeOf, createCrud } from \"../../crud\";\nimport * as schemaFields from \"../../schema-fields\";\nimport { yupArray, yupObject, yupString } from \"../../schema-fields\";\n\nconst teamPermissionSchema = yupObject({\n id: yupString().defined(),\n}).defined();\n\nconst oauthProviderSchema = yupObject({\n id: schemaFields.oauthIdSchema.defined(),\n type: schemaFields.oauthTypeSchema.defined(),\n client_id: schemaFields.yupDefinedAndNonEmptyWhen(\n schemaFields.oauthClientIdSchema,\n { type: 'standard' },\n ),\n client_secret: schemaFields.yupDefinedAndNonEmptyWhen(\n schemaFields.oauthClientSecretSchema,\n { type: 'standard' },\n ),\n\n // extra params\n facebook_config_id: schemaFields.oauthFacebookConfigIdSchema.optional(),\n microsoft_tenant_id: schemaFields.oauthMicrosoftTenantIdSchema.optional(),\n});\n\nconst enabledOAuthProviderSchema = yupObject({\n id: schemaFields.oauthIdSchema.defined(),\n});\n\nexport const emailConfigSchema = yupObject({\n type: schemaFields.emailTypeSchema.defined(),\n host: schemaFields.yupDefinedAndNonEmptyWhen(schemaFields.emailHostSchema, {\n type: 'standard',\n }),\n port: schemaFields.yupDefinedWhen(schemaFields.emailPortSchema, {\n type: 'standard',\n }),\n username: schemaFields.yupDefinedAndNonEmptyWhen(schemaFields.emailUsernameSchema, {\n type: 'standard',\n }),\n password: schemaFields.yupDefinedAndNonEmptyWhen(schemaFields.emailPasswordSchema, {\n type: 'standard',\n }),\n sender_name: schemaFields.yupDefinedAndNonEmptyWhen(schemaFields.emailSenderNameSchema, {\n type: 'standard',\n }),\n sender_email: schemaFields.yupDefinedAndNonEmptyWhen(schemaFields.emailSenderEmailSchema, {\n type: 'standard',\n }),\n});\n\nexport const emailConfigWithoutPasswordSchema = emailConfigSchema.pick(['type', 'host', 'port', 'username', 'sender_name', 'sender_email']);\n\nconst domainSchema = yupObject({\n domain: schemaFields.urlSchema.defined()\n .matches(/^https?:\\/\\//, 'URL must start with http:// or https://')\n .meta({ openapiField: { description: 'URL. Must start with http:// or https://', exampleValue: 'https://example.com' } }),\n handler_path: schemaFields.handlerPathSchema.defined(),\n});\n\nexport const projectsCrudAdminReadSchema = yupObject({\n id: schemaFields.projectIdSchema.defined(),\n display_name: schemaFields.projectDisplayNameSchema.defined(),\n description: schemaFields.projectDescriptionSchema.nonNullable().defined(),\n created_at_millis: schemaFields.projectCreatedAtMillisSchema.defined(),\n user_count: schemaFields.projectUserCountSchema.defined(),\n is_production_mode: schemaFields.projectIsProductionModeSchema.defined(),\n config: yupObject({\n allow_localhost: schemaFields.projectAllowLocalhostSchema.defined(),\n sign_up_enabled: schemaFields.projectSignUpEnabledSchema.defined(),\n credential_enabled: schemaFields.projectCredentialEnabledSchema.defined(),\n magic_link_enabled: schemaFields.projectMagicLinkEnabledSchema.defined(),\n passkey_enabled: schemaFields.projectPasskeyEnabledSchema.defined(),\n // TODO: remove this\n client_team_creation_enabled: schemaFields.projectClientTeamCreationEnabledSchema.defined(),\n client_user_deletion_enabled: schemaFields.projectClientUserDeletionEnabledSchema.defined(),\n allow_user_api_keys: schemaFields.yupBoolean().defined(),\n allow_team_api_keys: schemaFields.yupBoolean().defined(),\n oauth_providers: yupArray(oauthProviderSchema.defined()).defined(),\n enabled_oauth_providers: yupArray(enabledOAuthProviderSchema.defined()).defined().meta({ openapiField: { hidden: true } }),\n domains: yupArray(domainSchema.defined()).defined(),\n email_config: emailConfigSchema.defined(),\n create_team_on_sign_up: schemaFields.projectCreateTeamOnSignUpSchema.defined(),\n team_creator_default_permissions: yupArray(teamPermissionSchema.defined()).defined(),\n team_member_default_permissions: yupArray(teamPermissionSchema.defined()).defined(),\n user_default_permissions: yupArray(teamPermissionSchema.defined()).defined(),\n oauth_account_merge_strategy: schemaFields.oauthAccountMergeStrategySchema.defined(),\n }).defined(),\n}).defined();\n\nexport const projectsCrudClientReadSchema = yupObject({\n id: schemaFields.projectIdSchema.defined(),\n display_name: schemaFields.projectDisplayNameSchema.defined(),\n config: yupObject({\n sign_up_enabled: schemaFields.projectSignUpEnabledSchema.defined(),\n credential_enabled: schemaFields.projectCredentialEnabledSchema.defined(),\n magic_link_enabled: schemaFields.projectMagicLinkEnabledSchema.defined(),\n passkey_enabled: schemaFields.projectPasskeyEnabledSchema.defined(),\n client_team_creation_enabled: schemaFields.projectClientTeamCreationEnabledSchema.defined(),\n client_user_deletion_enabled: schemaFields.projectClientUserDeletionEnabledSchema.defined(),\n allow_user_api_keys: schemaFields.yupBoolean().defined(),\n allow_team_api_keys: schemaFields.yupBoolean().defined(),\n enabled_oauth_providers: yupArray(enabledOAuthProviderSchema.defined()).defined().meta({ openapiField: { hidden: true } }),\n }).defined(),\n}).defined();\n\n\nexport const projectsCrudAdminUpdateSchema = yupObject({\n display_name: schemaFields.projectDisplayNameSchema.optional(),\n description: schemaFields.projectDescriptionSchema.optional(),\n is_production_mode: schemaFields.projectIsProductionModeSchema.optional(),\n config: yupObject({\n sign_up_enabled: schemaFields.projectSignUpEnabledSchema.optional(),\n credential_enabled: schemaFields.projectCredentialEnabledSchema.optional(),\n magic_link_enabled: schemaFields.projectMagicLinkEnabledSchema.optional(),\n passkey_enabled: schemaFields.projectPasskeyEnabledSchema.optional(),\n client_team_creation_enabled: schemaFields.projectClientTeamCreationEnabledSchema.optional(),\n client_user_deletion_enabled: schemaFields.projectClientUserDeletionEnabledSchema.optional(),\n allow_localhost: schemaFields.projectAllowLocalhostSchema.optional(),\n allow_user_api_keys: schemaFields.yupBoolean().optional(),\n allow_team_api_keys: schemaFields.yupBoolean().optional(),\n email_config: emailConfigSchema.optional().default(undefined),\n domains: yupArray(domainSchema.defined()).optional().default(undefined),\n oauth_providers: yupArray(oauthProviderSchema.defined()).optional().default(undefined),\n create_team_on_sign_up: schemaFields.projectCreateTeamOnSignUpSchema.optional(),\n team_creator_default_permissions: yupArray(teamPermissionSchema.defined()).optional(),\n team_member_default_permissions: yupArray(teamPermissionSchema.defined()).optional(),\n user_default_permissions: yupArray(teamPermissionSchema.defined()).optional(),\n oauth_account_merge_strategy: schemaFields.oauthAccountMergeStrategySchema.optional(),\n }).optional().default(undefined),\n}).defined();\n\nexport const projectsCrudAdminCreateSchema = projectsCrudAdminUpdateSchema.concat(yupObject({\n display_name: schemaFields.projectDisplayNameSchema.defined(),\n}).defined());\n\nexport const projectsCrudAdminDeleteSchema = schemaFields.yupMixed();\n\nexport const clientProjectsCrud = createCrud({\n clientReadSchema: projectsCrudClientReadSchema,\n docs: {\n clientRead: {\n summary: 'Get the current project',\n description: 'Get the current project information including display name, OAuth providers and authentication methods. Useful for display the available login options to the user.',\n tags: ['Projects'],\n },\n },\n});\nexport type ClientProjectsCrud = CrudTypeOf<typeof clientProjectsCrud>;\n\nexport const projectsCrud = createCrud({\n adminReadSchema: projectsCrudAdminReadSchema,\n adminUpdateSchema: projectsCrudAdminUpdateSchema,\n adminDeleteSchema: projectsCrudAdminDeleteSchema,\n docs: {\n adminRead: {\n summary: 'Get the current project',\n description: 'Get the current project information and configuration including display name, OAuth providers, email configuration, etc.',\n tags: ['Projects'],\n },\n adminUpdate: {\n summary: 'Update the current project',\n description: 'Update the current project information and configuration including display name, OAuth providers, email configuration, etc.',\n tags: ['Projects'],\n },\n adminDelete: {\n summary: 'Delete the current project',\n description: 'Delete the current project and all associated data (including users, teams, API keys, project configs, etc.). Be careful, this action is irreversible.',\n tags: ['Projects'],\n },\n },\n});\nexport type ProjectsCrud = CrudTypeOf<typeof projectsCrud>;\n\nexport const adminUserProjectsCrud = createCrud({\n clientReadSchema: projectsCrudAdminReadSchema,\n clientCreateSchema: projectsCrudAdminCreateSchema,\n docs: {\n clientList: {\n hidden: true,\n },\n clientCreate: {\n hidden: true,\n },\n },\n});\nexport type AdminUserProjectsCrud = CrudTypeOf<typeof adminUserProjectsCrud>;\n"],"mappings":"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","names":[]}
|