@getstrata/core 0.5.56 → 0.5.58
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/{domain/abilities.d.ts → core/auth/abilityCatalog.d.ts} +9 -1
- package/dist/core/auth/accessControl.d.ts +1 -1
- package/dist/core/auth/membershipContext.d.ts +6 -4
- package/dist/core/auth/membershipService.d.ts +5 -6
- package/dist/core/contracts/authUserDirectory.d.ts +11 -0
- package/dist/core/contracts/membership.d.ts +20 -0
- package/dist/core/http/clientIp.d.ts +3 -0
- package/dist/core/jobs/dispatchWebhookJob.d.ts +2 -0
- package/dist/core/tenant/tenancyConfig.d.ts +5 -0
- package/dist/core/tenant/tenantMiddleware.d.ts +1 -1
- package/dist/entries/auth/membershipMiddleware.js +21 -161
- package/dist/entries/auth/membershipScope.js +20 -160
- package/dist/entries/auth/membershipService.js +21 -161
- package/dist/entries/auth/scimAuthMiddleware.js +22 -4
- package/dist/entries/auth/sessionGuard.js +12 -258
- package/dist/entries/http/clientIp.js +19 -0
- package/dist/entries/http/csrfMiddleware.js +2 -1
- package/dist/entries/http/csrfToken.js +2 -1
- package/dist/entries/http/loginThrottleMiddleware.js +18 -1
- package/dist/entries/http/memoryThrottleMiddleware.js +16 -1
- package/dist/entries/http/response.js +28 -297
- package/dist/entries/http/scimThrottleMiddleware.js +40 -1
- package/dist/entries/http/throttleMiddleware.js +18 -1
- package/dist/entries/http/webErrorResponse.js +28 -297
- package/dist/entries/jobs/dispatchWebhookJob.js +111 -5
- package/dist/entries/logging/requestLoggingMiddleware.js +16 -1
- package/dist/entries/security/scimTenantTokens.js +1 -4
- package/dist/entries/tenant/tenancyConfig.js +12 -0
- package/dist/entries/tenant/tenantDatabaseScope.js +11 -0
- package/dist/entries/view.js +26 -295
- package/dist/framework/public-api.d.ts +4 -1
- package/dist/index.js +2186 -2243
- package/package.json +12 -2
- package/dist/config/database.d.ts +0 -10
- package/dist/db/connection/createConnection.d.ts +0 -6
- package/dist/db/connection/index.d.ts +0 -11
- package/dist/domain/auth.d.ts +0 -4
- package/dist/domain/scim.d.ts +0 -9
- package/dist/modules/organization/memberRepository.d.ts +0 -14
- package/dist/modules/organization/memberTypes.d.ts +0 -9
- package/dist/modules/user/apiTokenRepository.d.ts +0 -8
- package/dist/modules/user/apiTokenTable.d.ts +0 -3
- package/dist/modules/user/authService.d.ts +0 -23
- package/dist/modules/user/notificationRepository.d.ts +0 -6
- package/dist/modules/user/notificationService.d.ts +0 -25
- package/dist/modules/user/notificationTable.d.ts +0 -3
- package/dist/modules/user/notificationTypes.d.ts +0 -12
- package/dist/modules/user/oauthIdentityRepository.d.ts +0 -9
- package/dist/modules/user/provider.d.ts +0 -11
- package/dist/modules/user/repository.d.ts +0 -13
- package/dist/modules/user/table.d.ts +0 -3
- package/dist/modules/user/tokenService.d.ts +0 -29
- package/dist/modules/user/types.d.ts +0 -46
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@getstrata/core",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.58",
|
|
4
4
|
"description": "Strata — Laravel-inspired Bun framework public API",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -330,6 +330,11 @@
|
|
|
330
330
|
"import": "./dist/entries/http/bodySizeLimitMiddleware.js",
|
|
331
331
|
"default": "./dist/entries/http/bodySizeLimitMiddleware.js"
|
|
332
332
|
},
|
|
333
|
+
"./http/clientIp": {
|
|
334
|
+
"types": "./dist/core/http/clientIp.d.ts",
|
|
335
|
+
"import": "./dist/entries/http/clientIp.js",
|
|
336
|
+
"default": "./dist/entries/http/clientIp.js"
|
|
337
|
+
},
|
|
333
338
|
"./http/cookies": {
|
|
334
339
|
"types": "./dist/core/http/cookies.d.ts",
|
|
335
340
|
"import": "./dist/entries/http/cookies.js",
|
|
@@ -705,6 +710,11 @@
|
|
|
705
710
|
"import": "./dist/entries/storage/storage.js",
|
|
706
711
|
"default": "./dist/entries/storage/storage.js"
|
|
707
712
|
},
|
|
713
|
+
"./tenant/tenancyConfig": {
|
|
714
|
+
"types": "./dist/core/tenant/tenancyConfig.d.ts",
|
|
715
|
+
"import": "./dist/entries/tenant/tenancyConfig.js",
|
|
716
|
+
"default": "./dist/entries/tenant/tenancyConfig.js"
|
|
717
|
+
},
|
|
708
718
|
"./tenant/tenantContext": {
|
|
709
719
|
"types": "./dist/core/tenant/tenantContext.d.ts",
|
|
710
720
|
"import": "./dist/entries/tenant/tenantContext.js",
|
|
@@ -762,7 +772,7 @@
|
|
|
762
772
|
"build:bundle": "bun build index.ts --outdir dist --target bun --external bun --external eta",
|
|
763
773
|
"build:types": "tsc -p tsconfig.types.json",
|
|
764
774
|
"prepublishOnly": "bun run build && bun ../../scripts/prepare-core-package-publish.ts",
|
|
765
|
-
"build:subpaths": "bun build entries/auth/accessControl.ts entries/auth/abilityChecker.ts entries/auth/membershipMiddleware.ts entries/auth/membershipScope.ts entries/auth/membershipService.ts entries/auth/oauth/oidcProvider.ts entries/auth/oauth/providers.ts entries/auth/oauth/samlProvider.ts entries/auth/oauth/types.ts entries/auth/password.ts entries/auth/policy.ts entries/auth/scimAuthMiddleware.ts entries/auth/sessionCookie.ts entries/auth/sessionGuard.ts entries/auth/tokenHash.ts entries/audit/exportAuditLogs.ts entries/audit/siemFormatter.ts entries/admin/formatValue.ts entries/admin/registry.ts entries/admin/types.ts entries/cache/tags.ts entries/cache/createCacheStore.ts entries/cache/repository.ts entries/cache/simpleCache.ts entries/cache/simpleCacheStore.ts entries/config/envSchema.ts entries/contracts/serviceTokens.ts entries/contracts/container.ts entries/contracts/di.ts entries/crypto/fieldEncryption.ts entries/crypto/mfaSecret.ts entries/database/errors.ts entries/database/factory.ts entries/database/migrations.ts entries/database/migrations/types.ts entries/database/model.ts entries/database/query.ts entries/database/relationships.ts entries/database/repositoryQuery.ts entries/database/seeders.ts entries/database/seeders/types.ts entries/database/schema.ts entries/database/table.ts entries/database/types.ts entries/database/whereBuilder.ts entries/facades.ts entries/http/authMiddleware.ts entries/http/authorizeMiddleware.ts entries/http/bodySizeLimitMiddleware.ts entries/http/cookies.ts entries/http/contentNegotiation.ts entries/http/conditionalResponse.ts entries/http/corsMiddleware.ts entries/http/csrfMiddleware.ts entries/http/csrfProtection.ts entries/http/csrfToken.ts entries/http/etag.ts entries/http/flashSession.ts entries/http/flashMiddleware.ts entries/http/formRequest.ts entries/http/metricsMiddleware.ts entries/http/loginThrottleMiddleware.ts entries/http/memoryThrottleMiddleware.ts entries/http/pagination.ts entries/http/parseFormBody.ts entries/http/parseMultipartUpload.ts entries/http/requireAbilityMiddleware.ts entries/http/requireAuthMiddleware.ts entries/http/requireGlobalAdminMiddleware.ts entries/http/requireWebAuthMiddleware.ts entries/http/resources.ts entries/http/response.ts entries/http/route.ts entries/http/routeMiddleware.ts entries/http/routeModelBinding.ts entries/http/scimThrottleMiddleware.ts entries/http/securityHeadersMiddleware.ts entries/http/securedRouteModelBinding.ts entries/http/webErrorResponse.ts entries/http/webFormRequest.ts entries/http/throttleMiddleware.ts entries/http/validation.ts entries/jobs/dispatchWebhookJob.ts entries/jobs/invalidateCacheTagsJob.ts entries/lifecycle/gracefulShutdown.ts entries/logging/logger.ts entries/logging/requestLoggingMiddleware.ts entries/mail/mailer.ts entries/mail/markdownMail.ts entries/mail/markdownMailable.ts entries/media/imageTransform.ts entries/metrics/prometheus.ts entries/openapi/generator.ts entries/openapi/registeredRoute.ts entries/openapi/validate.ts entries/pagination.ts entries/queue.ts entries/queue/createAppQueue.ts entries/queue/failedJobRepository.ts entries/queue/failedJobService.ts entries/queue/jobRunner.ts entries/queue/queueMetrics.ts entries/queue/publicQueue.ts entries/queue/redisQueue.ts entries/queue/types.ts entries/runtime/asyncContextStore.ts entries/scheduler/schedule.ts entries/scheduler/osCron.ts entries/security/oauthState.ts entries/security/publicReads.ts entries/security/safeFetch.ts entries/security/safeUrl.ts entries/security/scimTenantTokens.ts entries/security/stripeWebhook.ts entries/security/timingSafeCompare.ts entries/security/tokenExpiry.ts entries/security/totp.ts entries/storage/storage.ts entries/tenant/tenantDatabaseScope.ts entries/tenant/databaseTenantContext.ts entries/terminal/runShell.ts entries/tracing/tracingMiddleware.ts entries/validation/rules.ts entries/view.ts --outdir dist --root . --target bun --external bun --external eta --external @getstrata/core --external @getstrata/core/auth/accessControl --external @getstrata/core/auth/abilityChecker --external @getstrata/core/auth/authContext --external @getstrata/core/auth/guard --external @getstrata/core/auth/membershipContext --external @getstrata/core/auth/membershipMiddleware --external @getstrata/core/auth/membershipScope --external @getstrata/core/auth/membershipService --external @getstrata/core/auth/oauth/oidcProvider --external @getstrata/core/auth/oauth/providers --external @getstrata/core/auth/oauth/samlProvider --external @getstrata/core/auth/oauth/types --external @getstrata/core/auth/password --external @getstrata/core/auth/policy --external @getstrata/core/auth/scimAuthMiddleware --external @getstrata/core/auth/sessionCookie --external @getstrata/core/auth/sessionGuard --external @getstrata/core/auth/tokenHash --external @getstrata/core/audit/exportAuditLogs --external @getstrata/core/audit/siemFormatter --external @getstrata/core/admin/formatValue --external @getstrata/core/admin/registry --external @getstrata/core/admin/types --external @getstrata/core/cache/tags --external @getstrata/core/cache/createCacheStore --external @getstrata/core/cache/repository --external @getstrata/core/cache/simpleCache --external @getstrata/core/cache/simpleCacheStore --external @getstrata/core/config/envSchema --external @getstrata/core/contracts/serviceTokens --external @getstrata/core/contracts/container --external @getstrata/core/contracts/di --external @getstrata/core/crypto/fieldEncryption --external @getstrata/core/crypto/mfaSecret --external @getstrata/core/database --external @getstrata/core/database/baseRepository --external @getstrata/core/database/bindConnection --external @getstrata/core/database/boundConnection --external @getstrata/core/database/connection --external @getstrata/core/database/defaultConnection --external @getstrata/core/database/errors --external @getstrata/core/database/factory --external @getstrata/core/database/migrations --external @getstrata/core/database/migrations/types --external @getstrata/core/database/model --external @getstrata/core/database/query --external @getstrata/core/database/relationships --external @getstrata/core/database/repositoryConnection --external @getstrata/core/database/repositoryQuery --external @getstrata/core/database/seeders --external @getstrata/core/database/seeders/types --external @getstrata/core/database/schema --external @getstrata/core/database/table --external @getstrata/core/database/transaction --external @getstrata/core/database/types --external @getstrata/core/database/whereBuilder --external @getstrata/core/errors/http --external @getstrata/core/events --external @getstrata/core/facades --external @getstrata/core/http --external @getstrata/core/http/authMiddleware --external @getstrata/core/http/authorizeMiddleware --external @getstrata/core/http/bodySizeLimitMiddleware --external @getstrata/core/http/cookies --external @getstrata/core/http/contentNegotiation --external @getstrata/core/http/conditionalResponse --external @getstrata/core/http/corsMiddleware --external @getstrata/core/http/csrfMiddleware --external @getstrata/core/http/csrfProtection --external @getstrata/core/http/csrfToken --external @getstrata/core/http/etag --external @getstrata/core/http/flashSession --external @getstrata/core/http/flashMiddleware --external @getstrata/core/http/formRequest --external @getstrata/core/http/middleware --external @getstrata/core/http/metricsMiddleware --external @getstrata/core/http/loginThrottleMiddleware --external @getstrata/core/http/memoryThrottleMiddleware --external @getstrata/core/http/pagination --external @getstrata/core/http/parseFormBody --external @getstrata/core/http/parseMultipartUpload --external @getstrata/core/http/requireAbilityMiddleware --external @getstrata/core/http/requireAuthMiddleware --external @getstrata/core/http/requireGlobalAdminMiddleware --external @getstrata/core/http/requireWebAuthMiddleware --external @getstrata/core/http/resources --external @getstrata/core/http/response --external @getstrata/core/http/route --external @getstrata/core/http/routeMiddleware --external @getstrata/core/http/routeModelBinding --external @getstrata/core/http/scimThrottleMiddleware --external @getstrata/core/http/securityHeadersMiddleware --external @getstrata/core/http/securedRouteModelBinding --external @getstrata/core/http/requestMetaContext --external @getstrata/core/http/webErrorResponse --external @getstrata/core/http/webFormRequest --external @getstrata/core/http/throttleMiddleware --external @getstrata/core/http/validation --external @getstrata/core/jobs/dispatchWebhookJob --external @getstrata/core/jobs/invalidateCacheTagsJob --external @getstrata/core/lifecycle/gracefulShutdown --external @getstrata/core/logging/logger --external @getstrata/core/logging/requestLoggingMiddleware --external @getstrata/core/mail/mailer --external @getstrata/core/mail/markdownMail --external @getstrata/core/mail/markdownMailable --external @getstrata/core/media/imageTransform --external @getstrata/core/metrics/prometheus --external @getstrata/core/notifications --external @getstrata/core/openapi/generator --external @getstrata/core/openapi/registeredRoute --external @getstrata/core/openapi/validate --external @getstrata/core/pagination --external @getstrata/core/queue --external @getstrata/core/queue/createAppQueue --external @getstrata/core/queue/failedJobRepository --external @getstrata/core/queue/failedJobService --external @getstrata/core/queue/jobRegistry --external @getstrata/core/queue/jobRunner --external @getstrata/core/queue/queueMetrics --external @getstrata/core/queue/publicQueue --external @getstrata/core/queue/redisQueue --external @getstrata/core/queue/types --external @getstrata/core/runtime/applicationRegistry --external @getstrata/core/runtime/asyncContextStore --external @getstrata/core/scheduler/schedule --external @getstrata/core/scheduler/osCron --external @getstrata/core/security/oauthState --external @getstrata/core/security/publicReads --external @getstrata/core/security/safeFetch --external @getstrata/core/security/safeUrl --external @getstrata/core/security/scimTenantTokens --external @getstrata/core/security/securityEvents --external @getstrata/core/security/stripeWebhook --external @getstrata/core/security/timingSafeCompare --external @getstrata/core/security/tokenExpiry --external @getstrata/core/security/totp --external @getstrata/core/storage/storage --external @getstrata/core/tenant/tenantContext --external @getstrata/core/tenant/tenantDatabaseScope --external @getstrata/core/tenant/databaseTenantContext --external @getstrata/core/tenant/tenantMiddleware --external @getstrata/core/terminal/runShell --external @getstrata/core/tracing/traceContext --external @getstrata/core/tracing/tracingMiddleware --external @getstrata/core/validation/rules --external @getstrata/core/view",
|
|
775
|
+
"build:subpaths": "bun build entries/auth/accessControl.ts entries/auth/abilityChecker.ts entries/auth/membershipMiddleware.ts entries/auth/membershipScope.ts entries/auth/membershipService.ts entries/auth/oauth/oidcProvider.ts entries/auth/oauth/providers.ts entries/auth/oauth/samlProvider.ts entries/auth/oauth/types.ts entries/auth/password.ts entries/auth/policy.ts entries/auth/scimAuthMiddleware.ts entries/auth/sessionCookie.ts entries/auth/sessionGuard.ts entries/auth/tokenHash.ts entries/audit/exportAuditLogs.ts entries/audit/siemFormatter.ts entries/admin/formatValue.ts entries/admin/registry.ts entries/admin/types.ts entries/cache/tags.ts entries/cache/createCacheStore.ts entries/cache/repository.ts entries/cache/simpleCache.ts entries/cache/simpleCacheStore.ts entries/config/envSchema.ts entries/contracts/serviceTokens.ts entries/contracts/container.ts entries/contracts/di.ts entries/crypto/fieldEncryption.ts entries/crypto/mfaSecret.ts entries/database/errors.ts entries/database/factory.ts entries/database/migrations.ts entries/database/migrations/types.ts entries/database/model.ts entries/database/query.ts entries/database/relationships.ts entries/database/repositoryQuery.ts entries/database/seeders.ts entries/database/seeders/types.ts entries/database/schema.ts entries/database/table.ts entries/database/types.ts entries/database/whereBuilder.ts entries/facades.ts entries/http/authMiddleware.ts entries/http/authorizeMiddleware.ts entries/http/bodySizeLimitMiddleware.ts entries/http/clientIp.ts entries/http/cookies.ts entries/http/contentNegotiation.ts entries/http/conditionalResponse.ts entries/http/corsMiddleware.ts entries/http/csrfMiddleware.ts entries/http/csrfProtection.ts entries/http/csrfToken.ts entries/http/etag.ts entries/http/flashSession.ts entries/http/flashMiddleware.ts entries/http/formRequest.ts entries/http/metricsMiddleware.ts entries/http/loginThrottleMiddleware.ts entries/http/memoryThrottleMiddleware.ts entries/http/pagination.ts entries/http/parseFormBody.ts entries/http/parseMultipartUpload.ts entries/http/requireAbilityMiddleware.ts entries/http/requireAuthMiddleware.ts entries/http/requireGlobalAdminMiddleware.ts entries/http/requireWebAuthMiddleware.ts entries/http/resources.ts entries/http/response.ts entries/http/route.ts entries/http/routeMiddleware.ts entries/http/routeModelBinding.ts entries/http/scimThrottleMiddleware.ts entries/http/securityHeadersMiddleware.ts entries/http/securedRouteModelBinding.ts entries/http/webErrorResponse.ts entries/http/webFormRequest.ts entries/http/throttleMiddleware.ts entries/http/validation.ts entries/jobs/dispatchWebhookJob.ts entries/jobs/invalidateCacheTagsJob.ts entries/lifecycle/gracefulShutdown.ts entries/logging/logger.ts entries/logging/requestLoggingMiddleware.ts entries/mail/mailer.ts entries/mail/markdownMail.ts entries/mail/markdownMailable.ts entries/media/imageTransform.ts entries/metrics/prometheus.ts entries/openapi/generator.ts entries/openapi/registeredRoute.ts entries/openapi/validate.ts entries/pagination.ts entries/queue.ts entries/queue/createAppQueue.ts entries/queue/failedJobRepository.ts entries/queue/failedJobService.ts entries/queue/jobRunner.ts entries/queue/queueMetrics.ts entries/queue/publicQueue.ts entries/queue/redisQueue.ts entries/queue/types.ts entries/runtime/asyncContextStore.ts entries/scheduler/schedule.ts entries/scheduler/osCron.ts entries/security/oauthState.ts entries/security/publicReads.ts entries/security/safeFetch.ts entries/security/safeUrl.ts entries/security/scimTenantTokens.ts entries/security/stripeWebhook.ts entries/security/timingSafeCompare.ts entries/security/tokenExpiry.ts entries/security/totp.ts entries/storage/storage.ts entries/tenant/tenancyConfig.ts entries/tenant/tenantDatabaseScope.ts entries/tenant/databaseTenantContext.ts entries/terminal/runShell.ts entries/tracing/tracingMiddleware.ts entries/validation/rules.ts entries/view.ts --outdir dist --root . --target bun --external bun --external eta --external @getstrata/core --external @getstrata/core/auth/accessControl --external @getstrata/core/auth/abilityChecker --external @getstrata/core/auth/authContext --external @getstrata/core/auth/guard --external @getstrata/core/auth/membershipContext --external @getstrata/core/auth/membershipMiddleware --external @getstrata/core/auth/membershipScope --external @getstrata/core/auth/membershipService --external @getstrata/core/auth/oauth/oidcProvider --external @getstrata/core/auth/oauth/providers --external @getstrata/core/auth/oauth/samlProvider --external @getstrata/core/auth/oauth/types --external @getstrata/core/auth/password --external @getstrata/core/auth/policy --external @getstrata/core/auth/scimAuthMiddleware --external @getstrata/core/auth/sessionCookie --external @getstrata/core/auth/sessionGuard --external @getstrata/core/auth/tokenHash --external @getstrata/core/audit/exportAuditLogs --external @getstrata/core/audit/siemFormatter --external @getstrata/core/admin/formatValue --external @getstrata/core/admin/registry --external @getstrata/core/admin/types --external @getstrata/core/cache/tags --external @getstrata/core/cache/createCacheStore --external @getstrata/core/cache/repository --external @getstrata/core/cache/simpleCache --external @getstrata/core/cache/simpleCacheStore --external @getstrata/core/config/envSchema --external @getstrata/core/contracts/serviceTokens --external @getstrata/core/contracts/container --external @getstrata/core/contracts/di --external @getstrata/core/crypto/fieldEncryption --external @getstrata/core/crypto/mfaSecret --external @getstrata/core/database --external @getstrata/core/database/baseRepository --external @getstrata/core/database/bindConnection --external @getstrata/core/database/boundConnection --external @getstrata/core/database/connection --external @getstrata/core/database/defaultConnection --external @getstrata/core/database/errors --external @getstrata/core/database/factory --external @getstrata/core/database/migrations --external @getstrata/core/database/migrations/types --external @getstrata/core/database/model --external @getstrata/core/database/query --external @getstrata/core/database/relationships --external @getstrata/core/database/repositoryConnection --external @getstrata/core/database/repositoryQuery --external @getstrata/core/database/seeders --external @getstrata/core/database/seeders/types --external @getstrata/core/database/schema --external @getstrata/core/database/table --external @getstrata/core/database/transaction --external @getstrata/core/database/types --external @getstrata/core/database/whereBuilder --external @getstrata/core/errors/http --external @getstrata/core/events --external @getstrata/core/facades --external @getstrata/core/http --external @getstrata/core/http/authMiddleware --external @getstrata/core/http/authorizeMiddleware --external @getstrata/core/http/bodySizeLimitMiddleware --external @getstrata/core/http/clientIp --external @getstrata/core/http/cookies --external @getstrata/core/http/contentNegotiation --external @getstrata/core/http/conditionalResponse --external @getstrata/core/http/corsMiddleware --external @getstrata/core/http/csrfMiddleware --external @getstrata/core/http/csrfProtection --external @getstrata/core/http/csrfToken --external @getstrata/core/http/etag --external @getstrata/core/http/flashSession --external @getstrata/core/http/flashMiddleware --external @getstrata/core/http/formRequest --external @getstrata/core/http/middleware --external @getstrata/core/http/metricsMiddleware --external @getstrata/core/http/loginThrottleMiddleware --external @getstrata/core/http/memoryThrottleMiddleware --external @getstrata/core/http/pagination --external @getstrata/core/http/parseFormBody --external @getstrata/core/http/parseMultipartUpload --external @getstrata/core/http/requireAbilityMiddleware --external @getstrata/core/http/requireAuthMiddleware --external @getstrata/core/http/requireGlobalAdminMiddleware --external @getstrata/core/http/requireWebAuthMiddleware --external @getstrata/core/http/resources --external @getstrata/core/http/response --external @getstrata/core/http/route --external @getstrata/core/http/routeMiddleware --external @getstrata/core/http/routeModelBinding --external @getstrata/core/http/scimThrottleMiddleware --external @getstrata/core/http/securityHeadersMiddleware --external @getstrata/core/http/securedRouteModelBinding --external @getstrata/core/http/requestMetaContext --external @getstrata/core/http/webErrorResponse --external @getstrata/core/http/webFormRequest --external @getstrata/core/http/throttleMiddleware --external @getstrata/core/http/validation --external @getstrata/core/jobs/dispatchWebhookJob --external @getstrata/core/jobs/invalidateCacheTagsJob --external @getstrata/core/lifecycle/gracefulShutdown --external @getstrata/core/logging/logger --external @getstrata/core/logging/requestLoggingMiddleware --external @getstrata/core/mail/mailer --external @getstrata/core/mail/markdownMail --external @getstrata/core/mail/markdownMailable --external @getstrata/core/media/imageTransform --external @getstrata/core/metrics/prometheus --external @getstrata/core/notifications --external @getstrata/core/openapi/generator --external @getstrata/core/openapi/registeredRoute --external @getstrata/core/openapi/validate --external @getstrata/core/pagination --external @getstrata/core/queue --external @getstrata/core/queue/createAppQueue --external @getstrata/core/queue/failedJobRepository --external @getstrata/core/queue/failedJobService --external @getstrata/core/queue/jobRegistry --external @getstrata/core/queue/jobRunner --external @getstrata/core/queue/queueMetrics --external @getstrata/core/queue/publicQueue --external @getstrata/core/queue/redisQueue --external @getstrata/core/queue/types --external @getstrata/core/runtime/applicationRegistry --external @getstrata/core/runtime/asyncContextStore --external @getstrata/core/scheduler/schedule --external @getstrata/core/scheduler/osCron --external @getstrata/core/security/oauthState --external @getstrata/core/security/publicReads --external @getstrata/core/security/safeFetch --external @getstrata/core/security/safeUrl --external @getstrata/core/security/scimTenantTokens --external @getstrata/core/security/securityEvents --external @getstrata/core/security/stripeWebhook --external @getstrata/core/security/timingSafeCompare --external @getstrata/core/security/tokenExpiry --external @getstrata/core/security/totp --external @getstrata/core/storage/storage --external @getstrata/core/tenant/tenancyConfig --external @getstrata/core/tenant/tenantContext --external @getstrata/core/tenant/tenantDatabaseScope --external @getstrata/core/tenant/databaseTenantContext --external @getstrata/core/tenant/tenantMiddleware --external @getstrata/core/terminal/runShell --external @getstrata/core/tracing/traceContext --external @getstrata/core/tracing/tracingMiddleware --external @getstrata/core/validation/rules --external @getstrata/core/view",
|
|
766
776
|
"build:shims": "bun ../../scripts/write-core-shared-shims.ts"
|
|
767
777
|
},
|
|
768
778
|
"publishConfig": {
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
interface DatabaseConfig {
|
|
2
|
-
url: string;
|
|
3
|
-
poolMax: number;
|
|
4
|
-
idleTimeoutSeconds: number;
|
|
5
|
-
maxLifetimeSeconds: number;
|
|
6
|
-
connectionTimeoutSeconds: number;
|
|
7
|
-
}
|
|
8
|
-
declare const databaseConfig: DatabaseConfig;
|
|
9
|
-
export type { DatabaseConfig };
|
|
10
|
-
export { databaseConfig };
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { SQL } from "bun";
|
|
2
|
-
import type { DatabaseConfig } from "../../config/database";
|
|
3
|
-
type DatabaseConnection = InstanceType<typeof SQL>;
|
|
4
|
-
declare function createDatabaseConnection(config: DatabaseConfig): DatabaseConnection;
|
|
5
|
-
export type { DatabaseConnection };
|
|
6
|
-
export { createDatabaseConnection };
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { DatabaseConnection } from "./createConnection";
|
|
2
|
-
declare function getDatabase(): DatabaseConnection;
|
|
3
|
-
declare function pingDatabase(connection?: DatabaseConnection): Promise<boolean>;
|
|
4
|
-
declare function ensureDatabaseConnection(): Promise<DatabaseConnection>;
|
|
5
|
-
declare function closeDatabase(): Promise<void>;
|
|
6
|
-
declare function replaceDatabaseConnectionForTests(connection?: DatabaseConnection): Promise<void>;
|
|
7
|
-
declare function resetDatabaseConnectionForTests(connection: DatabaseConnection): void;
|
|
8
|
-
declare const db: Bun.SQL;
|
|
9
|
-
export default db;
|
|
10
|
-
export type { DatabaseConnection };
|
|
11
|
-
export { closeDatabase, ensureDatabaseConnection, getDatabase, pingDatabase, replaceDatabaseConnectionForTests, resetDatabaseConnectionForTests, };
|
package/dist/domain/auth.d.ts
DELETED
package/dist/domain/scim.d.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export declare const TEST_SCIM_BEARER_TOKEN = "workhub-scim-test-token";
|
|
2
|
-
export declare const DEFAULT_SCIM_BEARER_TOKEN = "workhub-scim-test-token";
|
|
3
|
-
export declare const SCIM_SCHEMAS: {
|
|
4
|
-
readonly user: "urn:ietf:params:scim:schemas:core:2.0:User";
|
|
5
|
-
readonly group: "urn:ietf:params:scim:schemas:core:2.0:Group";
|
|
6
|
-
readonly listResponse: "urn:ietf:params:scim:api:messages:2.0:ListResponse";
|
|
7
|
-
readonly patchOp: "urn:ietf:params:scim:api:messages:2.0:PatchOp";
|
|
8
|
-
readonly serviceProviderConfig: "urn:ietf:params:scim:schemas:core:2.0:ServiceProviderConfig";
|
|
9
|
-
};
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type { OrganizationMemberRecord, OrganizationMemberRole } from "./memberTypes";
|
|
2
|
-
declare class OrganizationMemberRepository {
|
|
3
|
-
constructor();
|
|
4
|
-
findMembership(userId: number, organizationId: number): Promise<OrganizationMemberRecord | null>;
|
|
5
|
-
listForUser(userId: number): Promise<OrganizationMemberRecord[]>;
|
|
6
|
-
listForOrganization(organizationId: number): Promise<OrganizationMemberRecord[]>;
|
|
7
|
-
addMember(input: {
|
|
8
|
-
organizationId: number;
|
|
9
|
-
userId: number;
|
|
10
|
-
role?: OrganizationMemberRole;
|
|
11
|
-
}): Promise<OrganizationMemberRecord>;
|
|
12
|
-
removeMember(organizationId: number, userId: number): Promise<boolean>;
|
|
13
|
-
}
|
|
14
|
-
export default OrganizationMemberRepository;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
type OrganizationMemberRole = "owner" | "admin" | "member";
|
|
2
|
-
type OrganizationMemberRecord = {
|
|
3
|
-
id: number;
|
|
4
|
-
organization_id: number;
|
|
5
|
-
user_id: number;
|
|
6
|
-
role: OrganizationMemberRole;
|
|
7
|
-
created_at: Date;
|
|
8
|
-
};
|
|
9
|
-
export type { OrganizationMemberRecord, OrganizationMemberRole };
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { BaseRepository } from "@getstrata/core/database/baseRepository";
|
|
2
|
-
import type { ApiTokenRecord } from "./types";
|
|
3
|
-
declare class ApiTokenRepository extends BaseRepository<ApiTokenRecord, "id"> {
|
|
4
|
-
constructor();
|
|
5
|
-
findByTokenHash(tokenHash: string): Promise<ApiTokenRecord | null>;
|
|
6
|
-
touchLastUsedAt(id: number): Promise<void>;
|
|
7
|
-
}
|
|
8
|
-
export default ApiTokenRepository;
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import type { OAuthProvider } from "@getstrata/core/auth/oauth/types";
|
|
2
|
-
import type OAuthIdentityRepository from "./oauthIdentityRepository";
|
|
3
|
-
import type UserRepository from "./repository";
|
|
4
|
-
import type TokenService from "./tokenService";
|
|
5
|
-
import type { CreatedApiToken } from "./types";
|
|
6
|
-
interface LoginOptions {
|
|
7
|
-
mfaCode?: string;
|
|
8
|
-
}
|
|
9
|
-
declare class AuthService {
|
|
10
|
-
private readonly users;
|
|
11
|
-
private readonly tokens;
|
|
12
|
-
private readonly oauthIdentities;
|
|
13
|
-
private readonly oauthProviders;
|
|
14
|
-
constructor(users: UserRepository, tokens: TokenService, oauthIdentities: OAuthIdentityRepository);
|
|
15
|
-
registerOAuthProvider(provider: OAuthProvider): void;
|
|
16
|
-
getOAuthProvider(name: string): OAuthProvider | undefined;
|
|
17
|
-
loginWithPassword(email: string, password: string, options?: LoginOptions): Promise<CreatedApiToken>;
|
|
18
|
-
loginWithOAuth(providerName: string, code: string): Promise<CreatedApiToken>;
|
|
19
|
-
buildOAuthAuthorizationUrl(providerName: string, state: string): string;
|
|
20
|
-
private findOrCreateOAuthUser;
|
|
21
|
-
}
|
|
22
|
-
export default AuthService;
|
|
23
|
-
export type { LoginOptions };
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { BaseRepository } from "@getstrata/core/database/baseRepository";
|
|
2
|
-
import type { NotificationRecord } from "./notificationTypes";
|
|
3
|
-
declare class NotificationRepository extends BaseRepository<NotificationRecord, "id"> {
|
|
4
|
-
constructor();
|
|
5
|
-
}
|
|
6
|
-
export default NotificationRepository;
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import type { PaginatedResult } from "@getstrata/core/pagination";
|
|
2
|
-
import type NotificationRepository from "./notificationRepository";
|
|
3
|
-
import type { NotificationRecord } from "./notificationTypes";
|
|
4
|
-
interface CreateNotificationInput {
|
|
5
|
-
userId: number;
|
|
6
|
-
tenantId: number;
|
|
7
|
-
type: string;
|
|
8
|
-
title: string;
|
|
9
|
-
body: string;
|
|
10
|
-
data?: Record<string, unknown>;
|
|
11
|
-
}
|
|
12
|
-
declare class NotificationService {
|
|
13
|
-
private readonly repository;
|
|
14
|
-
constructor(repository: NotificationRepository);
|
|
15
|
-
listForUser(userId: number, options: {
|
|
16
|
-
page: number;
|
|
17
|
-
perPage: number;
|
|
18
|
-
unreadOnly?: boolean;
|
|
19
|
-
}): Promise<PaginatedResult<NotificationRecord>>;
|
|
20
|
-
markRead(userId: number, notificationId: number): Promise<NotificationRecord>;
|
|
21
|
-
markAllRead(userId: number): Promise<number>;
|
|
22
|
-
create(input: CreateNotificationInput): Promise<NotificationRecord>;
|
|
23
|
-
}
|
|
24
|
-
export default NotificationService;
|
|
25
|
-
export type { CreateNotificationInput };
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { BaseRepository } from "@getstrata/core/database/baseRepository";
|
|
2
|
-
import type { OAuthIdentityRecord } from "./types";
|
|
3
|
-
declare const oauthIdentityTable: import("@getstrata/core/database/table").TableDefinition<OAuthIdentityRecord, "id">;
|
|
4
|
-
declare class OAuthIdentityRepository extends BaseRepository<OAuthIdentityRecord, "id"> {
|
|
5
|
-
constructor();
|
|
6
|
-
findByProviderUser(provider: string, providerUserId: string): Promise<OAuthIdentityRecord | null>;
|
|
7
|
-
}
|
|
8
|
-
export default OAuthIdentityRepository;
|
|
9
|
-
export { oauthIdentityTable };
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { ServiceProvider } from "@getstrata/core/contracts/di";
|
|
2
|
-
declare const userRepositoryToken = "user.repository";
|
|
3
|
-
declare const apiTokenRepositoryToken = "user.apiTokenRepository";
|
|
4
|
-
declare const tokenServiceToken = "core.tokenService";
|
|
5
|
-
declare const authServiceToken = "user.authService";
|
|
6
|
-
declare const oauthIdentityRepositoryToken = "user.oauthIdentityRepository";
|
|
7
|
-
declare const notificationRepositoryToken = "user.notificationRepository";
|
|
8
|
-
declare const notificationServiceToken = "user.notificationService";
|
|
9
|
-
declare const userProvider: ServiceProvider;
|
|
10
|
-
export default userProvider;
|
|
11
|
-
export { apiTokenRepositoryToken, authServiceToken, notificationRepositoryToken, notificationServiceToken, oauthIdentityRepositoryToken, tokenServiceToken, userRepositoryToken, };
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { BaseRepository } from "@getstrata/core/database/baseRepository";
|
|
2
|
-
import type { UserRecord } from "./types";
|
|
3
|
-
declare class UserRepository extends BaseRepository<UserRecord, "id"> {
|
|
4
|
-
constructor();
|
|
5
|
-
private decode;
|
|
6
|
-
findById(id: number): Promise<UserRecord | null>;
|
|
7
|
-
findAll(options?: Parameters<BaseRepository<UserRecord, "id">["findAll"]>[0]): Promise<UserRecord[]>;
|
|
8
|
-
create(values: Partial<UserRecord>): Promise<UserRecord>;
|
|
9
|
-
updateByIdOrThrow(id: number, values: Partial<UserRecord>, errorFactory?: (missingId: number) => Error): Promise<UserRecord>;
|
|
10
|
-
findByEmail(email: string): Promise<UserRecord | null>;
|
|
11
|
-
countForTenant(tenantId?: number): Promise<number>;
|
|
12
|
-
}
|
|
13
|
-
export default UserRepository;
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import type { AuthUser } from "@getstrata/core/auth/authContext";
|
|
2
|
-
import type ApiTokenRepository from "./apiTokenRepository";
|
|
3
|
-
import type UserRepository from "./repository";
|
|
4
|
-
import type { ApiTokenRecord, ApiTokenResource, CreatedApiToken, UserRecord } from "./types";
|
|
5
|
-
interface CreateTokenInput {
|
|
6
|
-
name: string;
|
|
7
|
-
abilities?: string[];
|
|
8
|
-
expiresAt?: Date | null;
|
|
9
|
-
expiresInDays?: number;
|
|
10
|
-
}
|
|
11
|
-
declare function toApiTokenResource(record: ApiTokenRecord): ApiTokenResource;
|
|
12
|
-
declare function generatePlainTextToken(): string;
|
|
13
|
-
declare function resolveExpiresAt(input: CreateTokenInput): Date | null;
|
|
14
|
-
declare function normalizeAbilities(value: unknown): string[];
|
|
15
|
-
declare class TokenService {
|
|
16
|
-
private readonly users;
|
|
17
|
-
private readonly tokens;
|
|
18
|
-
constructor(users: UserRepository, tokens: ApiTokenRepository);
|
|
19
|
-
resolveUserFromToken(token: string): Promise<AuthUser | null>;
|
|
20
|
-
createToken(userId: number, input: CreateTokenInput): Promise<CreatedApiToken>;
|
|
21
|
-
listTokensForUser(userId: number): Promise<ApiTokenResource[]>;
|
|
22
|
-
revokeToken(userId: number, tokenId: number): Promise<void>;
|
|
23
|
-
tokenCan(user: AuthUser | null, ability: string): boolean;
|
|
24
|
-
requireAbility(user: AuthUser | null, ability: string): void;
|
|
25
|
-
findByIdOrThrow(id: number): Promise<UserRecord>;
|
|
26
|
-
deleteUserAccount(userId: number): Promise<void>;
|
|
27
|
-
}
|
|
28
|
-
export default TokenService;
|
|
29
|
-
export { generatePlainTextToken, normalizeAbilities, resolveExpiresAt, toApiTokenResource };
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import type { UserRole } from "../../domain/auth";
|
|
2
|
-
interface UserRecord {
|
|
3
|
-
id: number;
|
|
4
|
-
name: string;
|
|
5
|
-
email: string;
|
|
6
|
-
email_lookup?: string | null;
|
|
7
|
-
role: UserRole;
|
|
8
|
-
tenant_id: number;
|
|
9
|
-
password_hash?: string | null;
|
|
10
|
-
email_verified_at?: Date | null;
|
|
11
|
-
mfa_secret?: string | null;
|
|
12
|
-
mfa_enabled?: boolean;
|
|
13
|
-
created_at: Date;
|
|
14
|
-
updated_at: Date;
|
|
15
|
-
}
|
|
16
|
-
interface OAuthIdentityRecord {
|
|
17
|
-
id: number;
|
|
18
|
-
user_id: number;
|
|
19
|
-
provider: string;
|
|
20
|
-
provider_user_id: string;
|
|
21
|
-
email: string | null;
|
|
22
|
-
created_at: Date;
|
|
23
|
-
}
|
|
24
|
-
interface ApiTokenRecord {
|
|
25
|
-
id: number;
|
|
26
|
-
user_id: number;
|
|
27
|
-
name: string;
|
|
28
|
-
token_hash: string;
|
|
29
|
-
abilities: string[];
|
|
30
|
-
last_used_at: Date | null;
|
|
31
|
-
expires_at: Date | null;
|
|
32
|
-
created_at: Date;
|
|
33
|
-
}
|
|
34
|
-
interface ApiTokenResource {
|
|
35
|
-
id: number;
|
|
36
|
-
name: string;
|
|
37
|
-
abilities: string[];
|
|
38
|
-
last_used_at: string | null;
|
|
39
|
-
expires_at: string | null;
|
|
40
|
-
created_at: string;
|
|
41
|
-
}
|
|
42
|
-
interface CreatedApiToken {
|
|
43
|
-
token: ApiTokenResource;
|
|
44
|
-
plainTextToken: string;
|
|
45
|
-
}
|
|
46
|
-
export type { ApiTokenRecord, ApiTokenResource, CreatedApiToken, OAuthIdentityRecord, UserRecord };
|