@trokky/trokky 2.0.3
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/dist/adapters/filesystem/filesystem-adapter.d.ts +80 -0
- package/dist/adapters/filesystem/filesystem-adapter.d.ts.map +1 -0
- package/dist/adapters/filesystem/filesystem-adapter.js +1370 -0
- package/dist/adapters/filesystem/filesystem-adapter.js.map +1 -0
- package/dist/adapters/filesystem/index.d.ts +29 -0
- package/dist/adapters/filesystem/index.d.ts.map +1 -0
- package/dist/adapters/filesystem/index.js +31 -0
- package/dist/adapters/filesystem/index.js.map +1 -0
- package/dist/adapters/filesystem/types.d.ts +111 -0
- package/dist/adapters/filesystem/types.d.ts.map +1 -0
- package/dist/adapters/filesystem/types.js +2 -0
- package/dist/adapters/filesystem/types.js.map +1 -0
- package/dist/adapters/filesystem-data/filesystem-data-adapter.d.ts +111 -0
- package/dist/adapters/filesystem-data/filesystem-data-adapter.d.ts.map +1 -0
- package/dist/adapters/filesystem-data/filesystem-data-adapter.js +1363 -0
- package/dist/adapters/filesystem-data/filesystem-data-adapter.js.map +1 -0
- package/dist/adapters/filesystem-data/index.d.ts +3 -0
- package/dist/adapters/filesystem-data/index.d.ts.map +1 -0
- package/dist/adapters/filesystem-data/index.js +13 -0
- package/dist/adapters/filesystem-data/index.js.map +1 -0
- package/dist/adapters/filesystem-data/types.d.ts +147 -0
- package/dist/adapters/filesystem-data/types.d.ts.map +1 -0
- package/dist/adapters/filesystem-data/types.js +2 -0
- package/dist/adapters/filesystem-data/types.js.map +1 -0
- package/dist/adapters/filesystem-media/filesystem-media-adapter.d.ts +32 -0
- package/dist/adapters/filesystem-media/filesystem-media-adapter.d.ts.map +1 -0
- package/dist/adapters/filesystem-media/filesystem-media-adapter.js +639 -0
- package/dist/adapters/filesystem-media/filesystem-media-adapter.js.map +1 -0
- package/dist/adapters/filesystem-media/index.d.ts +3 -0
- package/dist/adapters/filesystem-media/index.d.ts.map +1 -0
- package/dist/adapters/filesystem-media/index.js +13 -0
- package/dist/adapters/filesystem-media/index.js.map +1 -0
- package/dist/adapters/filesystem-media/types.d.ts +76 -0
- package/dist/adapters/filesystem-media/types.d.ts.map +1 -0
- package/dist/adapters/filesystem-media/types.js +2 -0
- package/dist/adapters/filesystem-media/types.js.map +1 -0
- package/dist/adapters/postgres-data/index.d.ts +3 -0
- package/dist/adapters/postgres-data/index.d.ts.map +1 -0
- package/dist/adapters/postgres-data/index.js +13 -0
- package/dist/adapters/postgres-data/index.js.map +1 -0
- package/dist/adapters/postgres-data/postgres-data-adapter.d.ts +154 -0
- package/dist/adapters/postgres-data/postgres-data-adapter.d.ts.map +1 -0
- package/dist/adapters/postgres-data/postgres-data-adapter.js +1432 -0
- package/dist/adapters/postgres-data/postgres-data-adapter.js.map +1 -0
- package/dist/adapters/postgres-data/types.d.ts +139 -0
- package/dist/adapters/postgres-data/types.d.ts.map +1 -0
- package/dist/adapters/postgres-data/types.js +2 -0
- package/dist/adapters/postgres-data/types.js.map +1 -0
- package/dist/core/adapters/registry.d.ts +79 -0
- package/dist/core/adapters/registry.d.ts.map +1 -0
- package/dist/core/adapters/registry.js +149 -0
- package/dist/core/adapters/registry.js.map +1 -0
- package/dist/core/core/engine.d.ts +551 -0
- package/dist/core/core/engine.d.ts.map +1 -0
- package/dist/core/core/engine.js +1074 -0
- package/dist/core/core/engine.js.map +1 -0
- package/dist/core/crypto/adapter.d.ts +63 -0
- package/dist/core/crypto/adapter.d.ts.map +1 -0
- package/dist/core/crypto/adapter.js +63 -0
- package/dist/core/crypto/adapter.js.map +1 -0
- package/dist/core/crypto/fallback-adapter.d.ts +23 -0
- package/dist/core/crypto/fallback-adapter.d.ts.map +1 -0
- package/dist/core/crypto/fallback-adapter.js +195 -0
- package/dist/core/crypto/fallback-adapter.js.map +1 -0
- package/dist/core/crypto/node-adapter.d.ts +20 -0
- package/dist/core/crypto/node-adapter.d.ts.map +1 -0
- package/dist/core/crypto/node-adapter.js +85 -0
- package/dist/core/crypto/node-adapter.js.map +1 -0
- package/dist/core/crypto/password-hash.d.ts +73 -0
- package/dist/core/crypto/password-hash.d.ts.map +1 -0
- package/dist/core/crypto/password-hash.js +244 -0
- package/dist/core/crypto/password-hash.js.map +1 -0
- package/dist/core/crypto/webcrypto-adapter.d.ts +24 -0
- package/dist/core/crypto/webcrypto-adapter.d.ts.map +1 -0
- package/dist/core/crypto/webcrypto-adapter.js +158 -0
- package/dist/core/crypto/webcrypto-adapter.js.map +1 -0
- package/dist/core/errors/index.d.ts +30 -0
- package/dist/core/errors/index.d.ts.map +1 -0
- package/dist/core/errors/index.js +61 -0
- package/dist/core/errors/index.js.map +1 -0
- package/dist/core/events/event-bus.d.ts +121 -0
- package/dist/core/events/event-bus.d.ts.map +1 -0
- package/dist/core/events/event-bus.js +631 -0
- package/dist/core/events/event-bus.js.map +1 -0
- package/dist/core/events/index.d.ts +17 -0
- package/dist/core/events/index.d.ts.map +1 -0
- package/dist/core/events/index.js +22 -0
- package/dist/core/events/index.js.map +1 -0
- package/dist/core/events/memory-storage.d.ts +57 -0
- package/dist/core/events/memory-storage.d.ts.map +1 -0
- package/dist/core/events/memory-storage.js +175 -0
- package/dist/core/events/memory-storage.js.map +1 -0
- package/dist/core/events/types.d.ts +434 -0
- package/dist/core/events/types.d.ts.map +1 -0
- package/dist/core/events/types.js +9 -0
- package/dist/core/events/types.js.map +1 -0
- package/dist/core/events/utils.d.ts +134 -0
- package/dist/core/events/utils.d.ts.map +1 -0
- package/dist/core/events/utils.js +333 -0
- package/dist/core/events/utils.js.map +1 -0
- package/dist/core/fields/conditional.d.ts +115 -0
- package/dist/core/fields/conditional.d.ts.map +1 -0
- package/dist/core/fields/conditional.js +296 -0
- package/dist/core/fields/conditional.js.map +1 -0
- package/dist/core/fields/field-type.d.ts +218 -0
- package/dist/core/fields/field-type.d.ts.map +1 -0
- package/dist/core/fields/field-type.js +17 -0
- package/dist/core/fields/field-type.js.map +1 -0
- package/dist/core/fields/helpers.d.ts +86 -0
- package/dist/core/fields/helpers.d.ts.map +1 -0
- package/dist/core/fields/helpers.js +260 -0
- package/dist/core/fields/helpers.js.map +1 -0
- package/dist/core/fields/index.d.ts +5 -0
- package/dist/core/fields/index.d.ts.map +1 -0
- package/dist/core/fields/index.js +6 -0
- package/dist/core/fields/index.js.map +1 -0
- package/dist/core/fields/registry.d.ts +78 -0
- package/dist/core/fields/registry.d.ts.map +1 -0
- package/dist/core/fields/registry.js +185 -0
- package/dist/core/fields/registry.js.map +1 -0
- package/dist/core/index.d.ts +39 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +57 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/media/image-processor.d.ts +24 -0
- package/dist/core/media/image-processor.d.ts.map +1 -0
- package/dist/core/media/image-processor.js +69 -0
- package/dist/core/media/image-processor.js.map +1 -0
- package/dist/core/media/processors/cloudflare-images.d.ts +83 -0
- package/dist/core/media/processors/cloudflare-images.d.ts.map +1 -0
- package/dist/core/media/processors/cloudflare-images.js +241 -0
- package/dist/core/media/processors/cloudflare-images.js.map +1 -0
- package/dist/core/media/processors/cloudflare-transform-store.d.ts +127 -0
- package/dist/core/media/processors/cloudflare-transform-store.d.ts.map +1 -0
- package/dist/core/media/processors/cloudflare-transform-store.js +237 -0
- package/dist/core/media/processors/cloudflare-transform-store.js.map +1 -0
- package/dist/core/media/processors/cloudflare-transformations.d.ts +81 -0
- package/dist/core/media/processors/cloudflare-transformations.d.ts.map +1 -0
- package/dist/core/media/processors/cloudflare-transformations.js +144 -0
- package/dist/core/media/processors/cloudflare-transformations.js.map +1 -0
- package/dist/core/media/processors/index.d.ts +9 -0
- package/dist/core/media/processors/index.d.ts.map +1 -0
- package/dist/core/media/processors/index.js +13 -0
- package/dist/core/media/processors/index.js.map +1 -0
- package/dist/core/media/processors/noop.d.ts +22 -0
- package/dist/core/media/processors/noop.d.ts.map +1 -0
- package/dist/core/media/processors/noop.js +38 -0
- package/dist/core/media/processors/noop.js.map +1 -0
- package/dist/core/media/processors/sharp.d.ts +30 -0
- package/dist/core/media/processors/sharp.d.ts.map +1 -0
- package/dist/core/media/processors/sharp.js +126 -0
- package/dist/core/media/processors/sharp.js.map +1 -0
- package/dist/core/media/processors/types.d.ts +67 -0
- package/dist/core/media/processors/types.d.ts.map +1 -0
- package/dist/core/media/processors/types.js +42 -0
- package/dist/core/media/processors/types.js.map +1 -0
- package/dist/core/media/processors/workers-images.d.ts +112 -0
- package/dist/core/media/processors/workers-images.d.ts.map +1 -0
- package/dist/core/media/processors/workers-images.js +257 -0
- package/dist/core/media/processors/workers-images.js.map +1 -0
- package/dist/core/schema/registry.d.ts +41 -0
- package/dist/core/schema/registry.d.ts.map +1 -0
- package/dist/core/schema/registry.js +248 -0
- package/dist/core/schema/registry.js.map +1 -0
- package/dist/core/schema/singleton.d.ts +107 -0
- package/dist/core/schema/singleton.d.ts.map +1 -0
- package/dist/core/schema/singleton.js +180 -0
- package/dist/core/schema/singleton.js.map +1 -0
- package/dist/core/security/auth.d.ts +120 -0
- package/dist/core/security/auth.d.ts.map +1 -0
- package/dist/core/security/auth.js +274 -0
- package/dist/core/security/auth.js.map +1 -0
- package/dist/core/security/captcha/index.d.ts +21 -0
- package/dist/core/security/captcha/index.d.ts.map +1 -0
- package/dist/core/security/captcha/index.js +34 -0
- package/dist/core/security/captcha/index.js.map +1 -0
- package/dist/core/security/captcha/recaptcha.d.ts +41 -0
- package/dist/core/security/captcha/recaptcha.d.ts.map +1 -0
- package/dist/core/security/captcha/recaptcha.js +89 -0
- package/dist/core/security/captcha/recaptcha.js.map +1 -0
- package/dist/core/security/captcha/turnstile.d.ts +41 -0
- package/dist/core/security/captcha/turnstile.d.ts.map +1 -0
- package/dist/core/security/captcha/turnstile.js +90 -0
- package/dist/core/security/captcha/turnstile.js.map +1 -0
- package/dist/core/security/captcha/types.d.ts +66 -0
- package/dist/core/security/captcha/types.d.ts.map +1 -0
- package/dist/core/security/captcha/types.js +7 -0
- package/dist/core/security/captcha/types.js.map +1 -0
- package/dist/core/security/mfa/email-otp.d.ts +91 -0
- package/dist/core/security/mfa/email-otp.d.ts.map +1 -0
- package/dist/core/security/mfa/email-otp.js +264 -0
- package/dist/core/security/mfa/email-otp.js.map +1 -0
- package/dist/core/security/mfa/index.d.ts +8 -0
- package/dist/core/security/mfa/index.d.ts.map +1 -0
- package/dist/core/security/mfa/index.js +8 -0
- package/dist/core/security/mfa/index.js.map +1 -0
- package/dist/core/security/mfa/totp.d.ts +87 -0
- package/dist/core/security/mfa/totp.d.ts.map +1 -0
- package/dist/core/security/mfa/totp.js +293 -0
- package/dist/core/security/mfa/totp.js.map +1 -0
- package/dist/core/security/middleware.d.ts +102 -0
- package/dist/core/security/middleware.d.ts.map +1 -0
- package/dist/core/security/middleware.js +261 -0
- package/dist/core/security/middleware.js.map +1 -0
- package/dist/core/security/oauth/google.d.ts +76 -0
- package/dist/core/security/oauth/google.d.ts.map +1 -0
- package/dist/core/security/oauth/google.js +154 -0
- package/dist/core/security/oauth/google.js.map +1 -0
- package/dist/core/security/oauth/index.d.ts +8 -0
- package/dist/core/security/oauth/index.d.ts.map +1 -0
- package/dist/core/security/oauth/index.js +7 -0
- package/dist/core/security/oauth/index.js.map +1 -0
- package/dist/core/security/oauth2/authorization-server.d.ts +195 -0
- package/dist/core/security/oauth2/authorization-server.d.ts.map +1 -0
- package/dist/core/security/oauth2/authorization-server.js +569 -0
- package/dist/core/security/oauth2/authorization-server.js.map +1 -0
- package/dist/core/security/oauth2/index.d.ts +9 -0
- package/dist/core/security/oauth2/index.d.ts.map +1 -0
- package/dist/core/security/oauth2/index.js +9 -0
- package/dist/core/security/oauth2/index.js.map +1 -0
- package/dist/core/security/rate-limiter.d.ts +15 -0
- package/dist/core/security/rate-limiter.d.ts.map +1 -0
- package/dist/core/security/rate-limiter.js +48 -0
- package/dist/core/security/rate-limiter.js.map +1 -0
- package/dist/core/security/validation.d.ts +20 -0
- package/dist/core/security/validation.d.ts.map +1 -0
- package/dist/core/security/validation.js +273 -0
- package/dist/core/security/validation.js.map +1 -0
- package/dist/core/services/auth-service.d.ts +128 -0
- package/dist/core/services/auth-service.d.ts.map +1 -0
- package/dist/core/services/auth-service.js +530 -0
- package/dist/core/services/auth-service.js.map +1 -0
- package/dist/core/services/captcha-service.d.ts +44 -0
- package/dist/core/services/captcha-service.d.ts.map +1 -0
- package/dist/core/services/captcha-service.js +82 -0
- package/dist/core/services/captcha-service.js.map +1 -0
- package/dist/core/services/document-service.d.ts +59 -0
- package/dist/core/services/document-service.d.ts.map +1 -0
- package/dist/core/services/document-service.js +269 -0
- package/dist/core/services/document-service.js.map +1 -0
- package/dist/core/services/media-service.d.ts +40 -0
- package/dist/core/services/media-service.d.ts.map +1 -0
- package/dist/core/services/media-service.js +396 -0
- package/dist/core/services/media-service.js.map +1 -0
- package/dist/core/services/mfa-service.d.ts +123 -0
- package/dist/core/services/mfa-service.d.ts.map +1 -0
- package/dist/core/services/mfa-service.js +606 -0
- package/dist/core/services/mfa-service.js.map +1 -0
- package/dist/core/services/oauth-service.d.ts +58 -0
- package/dist/core/services/oauth-service.d.ts.map +1 -0
- package/dist/core/services/oauth-service.js +253 -0
- package/dist/core/services/oauth-service.js.map +1 -0
- package/dist/core/services/oauth2-server-service.d.ts +61 -0
- package/dist/core/services/oauth2-server-service.d.ts.map +1 -0
- package/dist/core/services/oauth2-server-service.js +259 -0
- package/dist/core/services/oauth2-server-service.js.map +1 -0
- package/dist/core/services/passkey-service.d.ts +59 -0
- package/dist/core/services/passkey-service.d.ts.map +1 -0
- package/dist/core/services/passkey-service.js +238 -0
- package/dist/core/services/passkey-service.js.map +1 -0
- package/dist/core/services/token-service.d.ts +31 -0
- package/dist/core/services/token-service.d.ts.map +1 -0
- package/dist/core/services/token-service.js +132 -0
- package/dist/core/services/token-service.js.map +1 -0
- package/dist/core/services/trusted-device-service.d.ts +39 -0
- package/dist/core/services/trusted-device-service.d.ts.map +1 -0
- package/dist/core/services/trusted-device-service.js +123 -0
- package/dist/core/services/trusted-device-service.js.map +1 -0
- package/dist/core/services/user-service.d.ts +38 -0
- package/dist/core/services/user-service.d.ts.map +1 -0
- package/dist/core/services/user-service.js +265 -0
- package/dist/core/services/user-service.js.map +1 -0
- package/dist/core/studio/integration.d.ts +54 -0
- package/dist/core/studio/integration.d.ts.map +1 -0
- package/dist/core/studio/integration.js +326 -0
- package/dist/core/studio/integration.js.map +1 -0
- package/dist/core/types/index.d.ts +282 -0
- package/dist/core/types/index.d.ts.map +1 -0
- package/dist/core/types/index.js +83 -0
- package/dist/core/types/index.js.map +1 -0
- package/dist/core/types/mail.d.ts +90 -0
- package/dist/core/types/mail.d.ts.map +1 -0
- package/dist/core/types/mail.js +7 -0
- package/dist/core/types/mail.js.map +1 -0
- package/dist/core/types/oauth2.d.ts +9 -0
- package/dist/core/types/oauth2.d.ts.map +1 -0
- package/dist/core/types/oauth2.js +7 -0
- package/dist/core/types/oauth2.js.map +1 -0
- package/dist/core/types/storage-adapters.d.ts +611 -0
- package/dist/core/types/storage-adapters.d.ts.map +1 -0
- package/dist/core/types/storage-adapters.js +14 -0
- package/dist/core/types/storage-adapters.js.map +1 -0
- package/dist/core/types/user.d.ts +10 -0
- package/dist/core/types/user.d.ts.map +1 -0
- package/dist/core/types/user.js +45 -0
- package/dist/core/types/user.js.map +1 -0
- package/dist/core/utils/id-generator.d.ts +16 -0
- package/dist/core/utils/id-generator.d.ts.map +1 -0
- package/dist/core/utils/id-generator.js +61 -0
- package/dist/core/utils/id-generator.js.map +1 -0
- package/dist/core/utils/logger.d.ts +100 -0
- package/dist/core/utils/logger.d.ts.map +1 -0
- package/dist/core/utils/logger.js +212 -0
- package/dist/core/utils/logger.js.map +1 -0
- package/dist/core/utils/reference-expander.d.ts +57 -0
- package/dist/core/utils/reference-expander.d.ts.map +1 -0
- package/dist/core/utils/reference-expander.js +192 -0
- package/dist/core/utils/reference-expander.js.map +1 -0
- package/dist/core/utils/universal-crypto.d.ts +46 -0
- package/dist/core/utils/universal-crypto.d.ts.map +1 -0
- package/dist/core/utils/universal-crypto.js +171 -0
- package/dist/core/utils/universal-crypto.js.map +1 -0
- package/dist/core/validation/validator.d.ts +11 -0
- package/dist/core/validation/validator.d.ts.map +1 -0
- package/dist/core/validation/validator.js +164 -0
- package/dist/core/validation/validator.js.map +1 -0
- package/dist/i18n/config.d.ts +4077 -0
- package/dist/i18n/config.d.ts.map +1 -0
- package/dist/i18n/config.js +116 -0
- package/dist/i18n/config.js.map +1 -0
- package/dist/i18n/hooks.d.ts +86 -0
- package/dist/i18n/hooks.d.ts.map +1 -0
- package/dist/i18n/hooks.js +122 -0
- package/dist/i18n/hooks.js.map +1 -0
- package/dist/i18n/index.d.ts +39 -0
- package/dist/i18n/index.d.ts.map +1 -0
- package/dist/i18n/index.js +40 -0
- package/dist/i18n/index.js.map +1 -0
- package/dist/i18n/locales/en/auth.json +108 -0
- package/dist/i18n/locales/en/common.json +100 -0
- package/dist/i18n/locales/en/errors.json +55 -0
- package/dist/i18n/locales/en/fields.json +456 -0
- package/dist/i18n/locales/en/studio.json +1329 -0
- package/dist/i18n/locales/fr/auth.json +108 -0
- package/dist/i18n/locales/fr/common.json +100 -0
- package/dist/i18n/locales/fr/errors.json +55 -0
- package/dist/i18n/locales/fr/fields.json +456 -0
- package/dist/i18n/locales/fr/studio.json +1274 -0
- package/dist/i18n/provider.d.ts +45 -0
- package/dist/i18n/provider.d.ts.map +1 -0
- package/dist/i18n/provider.js +49 -0
- package/dist/i18n/provider.js.map +1 -0
- package/dist/i18n/types.d.ts +8 -0
- package/dist/i18n/types.d.ts.map +1 -0
- package/dist/i18n/types.js +7 -0
- package/dist/i18n/types.js.map +1 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +16 -0
- package/dist/index.js.map +1 -0
- package/dist/integrations/express/adapter.d.ts +33 -0
- package/dist/integrations/express/adapter.d.ts.map +1 -0
- package/dist/integrations/express/adapter.js +203 -0
- package/dist/integrations/express/adapter.js.map +1 -0
- package/dist/integrations/express/config.d.ts +599 -0
- package/dist/integrations/express/config.d.ts.map +1 -0
- package/dist/integrations/express/config.js +166 -0
- package/dist/integrations/express/config.js.map +1 -0
- package/dist/integrations/express/index.d.ts +10 -0
- package/dist/integrations/express/index.d.ts.map +1 -0
- package/dist/integrations/express/index.js +9 -0
- package/dist/integrations/express/index.js.map +1 -0
- package/dist/integrations/express/integration.d.ts +111 -0
- package/dist/integrations/express/integration.d.ts.map +1 -0
- package/dist/integrations/express/integration.js +730 -0
- package/dist/integrations/express/integration.js.map +1 -0
- package/dist/integrations/express/media-rewrite-middleware.d.ts +78 -0
- package/dist/integrations/express/media-rewrite-middleware.d.ts.map +1 -0
- package/dist/integrations/express/media-rewrite-middleware.js +211 -0
- package/dist/integrations/express/media-rewrite-middleware.js.map +1 -0
- package/dist/integrations/express/media-url-generator.d.ts +52 -0
- package/dist/integrations/express/media-url-generator.d.ts.map +1 -0
- package/dist/integrations/express/media-url-generator.js +107 -0
- package/dist/integrations/express/media-url-generator.js.map +1 -0
- package/dist/integrations/express/middleware.d.ts +25 -0
- package/dist/integrations/express/middleware.d.ts.map +1 -0
- package/dist/integrations/express/middleware.js +130 -0
- package/dist/integrations/express/middleware.js.map +1 -0
- package/dist/integrations/express/server.d.ts +99 -0
- package/dist/integrations/express/server.d.ts.map +1 -0
- package/dist/integrations/express/server.js +597 -0
- package/dist/integrations/express/server.js.map +1 -0
- package/dist/integrations/express/types.d.ts +106 -0
- package/dist/integrations/express/types.d.ts.map +1 -0
- package/dist/integrations/express/types.js +2 -0
- package/dist/integrations/express/types.js.map +1 -0
- package/dist/mail/adapters/console.d.ts +30 -0
- package/dist/mail/adapters/console.d.ts.map +1 -0
- package/dist/mail/adapters/console.js +169 -0
- package/dist/mail/adapters/console.js.map +1 -0
- package/dist/mail/adapters/resend.d.ts +18 -0
- package/dist/mail/adapters/resend.d.ts.map +1 -0
- package/dist/mail/adapters/resend.js +148 -0
- package/dist/mail/adapters/resend.js.map +1 -0
- package/dist/mail/adapters/smtp.d.ts +22 -0
- package/dist/mail/adapters/smtp.d.ts.map +1 -0
- package/dist/mail/adapters/smtp.js +180 -0
- package/dist/mail/adapters/smtp.js.map +1 -0
- package/dist/mail/index.d.ts +15 -0
- package/dist/mail/index.d.ts.map +1 -0
- package/dist/mail/index.js +13 -0
- package/dist/mail/index.js.map +1 -0
- package/dist/mail/mail-service.d.ts +180 -0
- package/dist/mail/mail-service.d.ts.map +1 -0
- package/dist/mail/mail-service.js +370 -0
- package/dist/mail/mail-service.js.map +1 -0
- package/dist/mail/notification-service.d.ts +82 -0
- package/dist/mail/notification-service.d.ts.map +1 -0
- package/dist/mail/notification-service.js +262 -0
- package/dist/mail/notification-service.js.map +1 -0
- package/dist/mail/templates/built-in-templates.d.ts +47 -0
- package/dist/mail/templates/built-in-templates.d.ts.map +1 -0
- package/dist/mail/templates/built-in-templates.js +416 -0
- package/dist/mail/templates/built-in-templates.js.map +1 -0
- package/dist/mail/templates/custom-template-renderer.d.ts +115 -0
- package/dist/mail/templates/custom-template-renderer.d.ts.map +1 -0
- package/dist/mail/templates/custom-template-renderer.js +225 -0
- package/dist/mail/templates/custom-template-renderer.js.map +1 -0
- package/dist/mail/types.d.ts +7 -0
- package/dist/mail/types.d.ts.map +1 -0
- package/dist/mail/types.js +7 -0
- package/dist/mail/types.js.map +1 -0
- package/dist/routes/auth/captcha.d.ts +33 -0
- package/dist/routes/auth/captcha.d.ts.map +1 -0
- package/dist/routes/auth/captcha.js +102 -0
- package/dist/routes/auth/captcha.js.map +1 -0
- package/dist/routes/auth/change-password.d.ts +17 -0
- package/dist/routes/auth/change-password.d.ts.map +1 -0
- package/dist/routes/auth/change-password.js +121 -0
- package/dist/routes/auth/change-password.js.map +1 -0
- package/dist/routes/auth/index.d.ts +13 -0
- package/dist/routes/auth/index.d.ts.map +1 -0
- package/dist/routes/auth/index.js +35 -0
- package/dist/routes/auth/index.js.map +1 -0
- package/dist/routes/auth/mfa.d.ts +121 -0
- package/dist/routes/auth/mfa.d.ts.map +1 -0
- package/dist/routes/auth/mfa.js +1143 -0
- package/dist/routes/auth/mfa.js.map +1 -0
- package/dist/routes/auth/oauth.d.ts +37 -0
- package/dist/routes/auth/oauth.d.ts.map +1 -0
- package/dist/routes/auth/oauth.js +420 -0
- package/dist/routes/auth/oauth.js.map +1 -0
- package/dist/routes/auth/oauth2-server.d.ts +70 -0
- package/dist/routes/auth/oauth2-server.d.ts.map +1 -0
- package/dist/routes/auth/oauth2-server.js +775 -0
- package/dist/routes/auth/oauth2-server.js.map +1 -0
- package/dist/routes/auth/passkey.d.ts +65 -0
- package/dist/routes/auth/passkey.d.ts.map +1 -0
- package/dist/routes/auth/passkey.js +910 -0
- package/dist/routes/auth/passkey.js.map +1 -0
- package/dist/routes/auth/password-reset.d.ts +23 -0
- package/dist/routes/auth/password-reset.d.ts.map +1 -0
- package/dist/routes/auth/password-reset.js +336 -0
- package/dist/routes/auth/password-reset.js.map +1 -0
- package/dist/routes/handlers/audit.d.ts +21 -0
- package/dist/routes/handlers/audit.d.ts.map +1 -0
- package/dist/routes/handlers/audit.js +124 -0
- package/dist/routes/handlers/audit.js.map +1 -0
- package/dist/routes/handlers/auth.d.ts +150 -0
- package/dist/routes/handlers/auth.d.ts.map +1 -0
- package/dist/routes/handlers/auth.js +512 -0
- package/dist/routes/handlers/auth.js.map +1 -0
- package/dist/routes/handlers/base.d.ts +34 -0
- package/dist/routes/handlers/base.d.ts.map +1 -0
- package/dist/routes/handlers/base.js +366 -0
- package/dist/routes/handlers/base.js.map +1 -0
- package/dist/routes/handlers/config.d.ts +31 -0
- package/dist/routes/handlers/config.d.ts.map +1 -0
- package/dist/routes/handlers/config.js +483 -0
- package/dist/routes/handlers/config.js.map +1 -0
- package/dist/routes/handlers/documents.d.ts +50 -0
- package/dist/routes/handlers/documents.d.ts.map +1 -0
- package/dist/routes/handlers/documents.js +708 -0
- package/dist/routes/handlers/documents.js.map +1 -0
- package/dist/routes/handlers/index.d.ts +12 -0
- package/dist/routes/handlers/index.d.ts.map +1 -0
- package/dist/routes/handlers/index.js +11 -0
- package/dist/routes/handlers/index.js.map +1 -0
- package/dist/routes/handlers/media.d.ts +24 -0
- package/dist/routes/handlers/media.d.ts.map +1 -0
- package/dist/routes/handlers/media.js +432 -0
- package/dist/routes/handlers/media.js.map +1 -0
- package/dist/routes/handlers/search.d.ts +10 -0
- package/dist/routes/handlers/search.d.ts.map +1 -0
- package/dist/routes/handlers/search.js +153 -0
- package/dist/routes/handlers/search.js.map +1 -0
- package/dist/routes/handlers/tokens.d.ts +14 -0
- package/dist/routes/handlers/tokens.d.ts.map +1 -0
- package/dist/routes/handlers/tokens.js +109 -0
- package/dist/routes/handlers/tokens.js.map +1 -0
- package/dist/routes/handlers/types.d.ts +13 -0
- package/dist/routes/handlers/types.d.ts.map +1 -0
- package/dist/routes/handlers/types.js +5 -0
- package/dist/routes/handlers/types.js.map +1 -0
- package/dist/routes/handlers/users.d.ts +16 -0
- package/dist/routes/handlers/users.d.ts.map +1 -0
- package/dist/routes/handlers/users.js +198 -0
- package/dist/routes/handlers/users.js.map +1 -0
- package/dist/routes/handlers/webhooks.d.ts +37 -0
- package/dist/routes/handlers/webhooks.d.ts.map +1 -0
- package/dist/routes/handlers/webhooks.js +343 -0
- package/dist/routes/handlers/webhooks.js.map +1 -0
- package/dist/routes/index.d.ts +5 -0
- package/dist/routes/index.d.ts.map +1 -0
- package/dist/routes/index.js +5 -0
- package/dist/routes/index.js.map +1 -0
- package/dist/routes/routes.d.ts +29 -0
- package/dist/routes/routes.d.ts.map +1 -0
- package/dist/routes/routes.js +531 -0
- package/dist/routes/routes.js.map +1 -0
- package/dist/routes/slug-processor.d.ts +32 -0
- package/dist/routes/slug-processor.d.ts.map +1 -0
- package/dist/routes/slug-processor.js +328 -0
- package/dist/routes/slug-processor.js.map +1 -0
- package/dist/routes/types.d.ts +31 -0
- package/dist/routes/types.d.ts.map +1 -0
- package/dist/routes/types.js +7 -0
- package/dist/routes/types.js.map +1 -0
- package/dist/routes/users/index.d.ts +7 -0
- package/dist/routes/users/index.d.ts.map +1 -0
- package/dist/routes/users/index.js +7 -0
- package/dist/routes/users/index.js.map +1 -0
- package/dist/structure/builder/StructureBuilder.d.ts +209 -0
- package/dist/structure/builder/StructureBuilder.d.ts.map +1 -0
- package/dist/structure/builder/StructureBuilder.js +425 -0
- package/dist/structure/builder/StructureBuilder.js.map +1 -0
- package/dist/structure/builder/index.d.ts +8 -0
- package/dist/structure/builder/index.d.ts.map +1 -0
- package/dist/structure/builder/index.js +6 -0
- package/dist/structure/builder/index.js.map +1 -0
- package/dist/structure/builder/navigation-tree-builder.d.ts +33 -0
- package/dist/structure/builder/navigation-tree-builder.d.ts.map +1 -0
- package/dist/structure/builder/navigation-tree-builder.js +284 -0
- package/dist/structure/builder/navigation-tree-builder.js.map +1 -0
- package/dist/structure/errors/index.d.ts +72 -0
- package/dist/structure/errors/index.d.ts.map +1 -0
- package/dist/structure/errors/index.js +136 -0
- package/dist/structure/errors/index.js.map +1 -0
- package/dist/structure/index.d.ts +14 -0
- package/dist/structure/index.d.ts.map +1 -0
- package/dist/structure/index.js +16 -0
- package/dist/structure/index.js.map +1 -0
- package/dist/structure/types/filters.d.ts +167 -0
- package/dist/structure/types/filters.d.ts.map +1 -0
- package/dist/structure/types/filters.js +38 -0
- package/dist/structure/types/filters.js.map +1 -0
- package/dist/structure/types/index.d.ts +11 -0
- package/dist/structure/types/index.d.ts.map +1 -0
- package/dist/structure/types/index.js +7 -0
- package/dist/structure/types/index.js.map +1 -0
- package/dist/structure/types/permissions.d.ts +159 -0
- package/dist/structure/types/permissions.d.ts.map +1 -0
- package/dist/structure/types/permissions.js +49 -0
- package/dist/structure/types/permissions.js.map +1 -0
- package/dist/structure/types/structure.d.ts +342 -0
- package/dist/structure/types/structure.d.ts.map +1 -0
- package/dist/structure/types/structure.js +6 -0
- package/dist/structure/types/structure.js.map +1 -0
- package/dist/structure/types/views.d.ts +278 -0
- package/dist/structure/types/views.d.ts.map +1 -0
- package/dist/structure/types/views.js +6 -0
- package/dist/structure/types/views.js.map +1 -0
- package/dist/structure/utils/hash.d.ts +61 -0
- package/dist/structure/utils/hash.d.ts.map +1 -0
- package/dist/structure/utils/hash.js +118 -0
- package/dist/structure/utils/hash.js.map +1 -0
- package/dist/structure/utils/index.d.ts +10 -0
- package/dist/structure/utils/index.d.ts.map +1 -0
- package/dist/structure/utils/index.js +7 -0
- package/dist/structure/utils/index.js.map +1 -0
- package/dist/structure/utils/permission-checker.d.ts +57 -0
- package/dist/structure/utils/permission-checker.d.ts.map +1 -0
- package/dist/structure/utils/permission-checker.js +286 -0
- package/dist/structure/utils/permission-checker.js.map +1 -0
- package/dist/structure/utils/query-builder.d.ts +82 -0
- package/dist/structure/utils/query-builder.d.ts.map +1 -0
- package/dist/structure/utils/query-builder.js +489 -0
- package/dist/structure/utils/query-builder.js.map +1 -0
- package/dist/structure/utils/structure-merger.d.ts +91 -0
- package/dist/structure/utils/structure-merger.d.ts.map +1 -0
- package/dist/structure/utils/structure-merger.js +445 -0
- package/dist/structure/utils/structure-merger.js.map +1 -0
- package/dist/structure/validation/schemas.d.ts +3107 -0
- package/dist/structure/validation/schemas.d.ts.map +1 -0
- package/dist/structure/validation/schemas.js +436 -0
- package/dist/structure/validation/schemas.js.map +1 -0
- package/dist/types/api-requests.d.ts +334 -0
- package/dist/types/api-requests.d.ts.map +1 -0
- package/dist/types/api-requests.js +8 -0
- package/dist/types/api-requests.js.map +1 -0
- package/dist/types/auth.d.ts +394 -0
- package/dist/types/auth.d.ts.map +1 -0
- package/dist/types/auth.js +8 -0
- package/dist/types/auth.js.map +1 -0
- package/dist/types/document.d.ts +49 -0
- package/dist/types/document.d.ts.map +1 -0
- package/dist/types/document.js +6 -0
- package/dist/types/document.js.map +1 -0
- package/dist/types/field-system.d.ts +197 -0
- package/dist/types/field-system.d.ts.map +1 -0
- package/dist/types/field-system.js +8 -0
- package/dist/types/field-system.js.map +1 -0
- package/dist/types/fields.d.ts +17 -0
- package/dist/types/fields.d.ts.map +1 -0
- package/dist/types/fields.js +21 -0
- package/dist/types/fields.js.map +1 -0
- package/dist/types/http.d.ts +162 -0
- package/dist/types/http.d.ts.map +1 -0
- package/dist/types/http.js +8 -0
- package/dist/types/http.js.map +1 -0
- package/dist/types/i18n.d.ts +56 -0
- package/dist/types/i18n.d.ts.map +1 -0
- package/dist/types/i18n.js +25 -0
- package/dist/types/i18n.js.map +1 -0
- package/dist/types/index.d.ts +22 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +10 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/mail.d.ts +224 -0
- package/dist/types/mail.d.ts.map +1 -0
- package/dist/types/mail.js +8 -0
- package/dist/types/mail.js.map +1 -0
- package/dist/types/media.d.ts +56 -0
- package/dist/types/media.d.ts.map +1 -0
- package/dist/types/media.js +6 -0
- package/dist/types/media.js.map +1 -0
- package/dist/types/oauth2.d.ts +287 -0
- package/dist/types/oauth2.d.ts.map +1 -0
- package/dist/types/oauth2.js +43 -0
- package/dist/types/oauth2.js.map +1 -0
- package/dist/types/passkey.d.ts +217 -0
- package/dist/types/passkey.d.ts.map +1 -0
- package/dist/types/passkey.js +8 -0
- package/dist/types/passkey.js.map +1 -0
- package/dist/types/slug.d.ts +99 -0
- package/dist/types/slug.d.ts.map +1 -0
- package/dist/types/slug.js +8 -0
- package/dist/types/slug.js.map +1 -0
- package/package.json +183 -0
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Query and Filter Types
|
|
3
|
+
* MongoDB-style query operators for content filtering
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* MongoDB-style query filter with advanced operators
|
|
7
|
+
*/
|
|
8
|
+
export type QueryFilter = Record<string, any> & {
|
|
9
|
+
$and?: QueryFilter[];
|
|
10
|
+
$or?: QueryFilter[];
|
|
11
|
+
$not?: QueryFilter;
|
|
12
|
+
$nor?: QueryFilter[];
|
|
13
|
+
[field: string]: any | {
|
|
14
|
+
$eq?: any;
|
|
15
|
+
} | {
|
|
16
|
+
$ne?: any;
|
|
17
|
+
} | {
|
|
18
|
+
$gt?: any;
|
|
19
|
+
} | {
|
|
20
|
+
$gte?: any;
|
|
21
|
+
} | {
|
|
22
|
+
$lt?: any;
|
|
23
|
+
} | {
|
|
24
|
+
$lte?: any;
|
|
25
|
+
} | {
|
|
26
|
+
$in?: any[];
|
|
27
|
+
} | {
|
|
28
|
+
$nin?: any[];
|
|
29
|
+
} | {
|
|
30
|
+
$exists?: boolean;
|
|
31
|
+
} | {
|
|
32
|
+
$regex?: string;
|
|
33
|
+
} | {
|
|
34
|
+
$contains?: any;
|
|
35
|
+
} | {
|
|
36
|
+
$startsWith?: string;
|
|
37
|
+
} | {
|
|
38
|
+
$endsWith?: string;
|
|
39
|
+
} | {
|
|
40
|
+
$size?: number;
|
|
41
|
+
} | {
|
|
42
|
+
$all?: any[];
|
|
43
|
+
} | {
|
|
44
|
+
$elemMatch?: QueryFilter;
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* Sort/ordering configuration
|
|
49
|
+
*/
|
|
50
|
+
export interface OrderClause {
|
|
51
|
+
/** Field to sort by */
|
|
52
|
+
field: string;
|
|
53
|
+
/** Sort direction */
|
|
54
|
+
direction: 'asc' | 'desc';
|
|
55
|
+
/** Sort priority (for multi-field sorts) */
|
|
56
|
+
priority?: number;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Query context for advanced filtering
|
|
60
|
+
*/
|
|
61
|
+
export interface QueryContext {
|
|
62
|
+
/** Current user */
|
|
63
|
+
user?: any;
|
|
64
|
+
/** Additional context data */
|
|
65
|
+
context?: Record<string, any>;
|
|
66
|
+
/** Request timestamp */
|
|
67
|
+
timestamp?: Date;
|
|
68
|
+
/** Additional filters to apply */
|
|
69
|
+
filters?: QueryFilter;
|
|
70
|
+
/** Additional ordering to apply */
|
|
71
|
+
ordering?: OrderClause[];
|
|
72
|
+
/** Pagination settings */
|
|
73
|
+
pagination?: {
|
|
74
|
+
limit?: number;
|
|
75
|
+
offset?: number;
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Resolved query result
|
|
80
|
+
*/
|
|
81
|
+
export interface ResolvedQuery {
|
|
82
|
+
/** Schema type */
|
|
83
|
+
schemaType: string;
|
|
84
|
+
/** Query options for client */
|
|
85
|
+
options: {
|
|
86
|
+
filter?: QueryFilter;
|
|
87
|
+
sort?: Record<string, 1 | -1>;
|
|
88
|
+
limit?: number;
|
|
89
|
+
offset?: number;
|
|
90
|
+
select?: string[];
|
|
91
|
+
};
|
|
92
|
+
/** Whether query was optimized */
|
|
93
|
+
optimized?: boolean;
|
|
94
|
+
/** Cache configuration */
|
|
95
|
+
cache?: {
|
|
96
|
+
enabled: boolean;
|
|
97
|
+
ttl: number;
|
|
98
|
+
key: string;
|
|
99
|
+
};
|
|
100
|
+
/** Query metadata */
|
|
101
|
+
metadata?: {
|
|
102
|
+
complexity: QueryComplexity;
|
|
103
|
+
optimized: boolean;
|
|
104
|
+
cached: boolean;
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Query builder options
|
|
109
|
+
*/
|
|
110
|
+
export interface QueryBuilderOptions {
|
|
111
|
+
/** Enable query optimization */
|
|
112
|
+
optimize?: boolean;
|
|
113
|
+
/** Enable query caching */
|
|
114
|
+
cache?: boolean;
|
|
115
|
+
/** Default cache TTL */
|
|
116
|
+
cacheTTL?: number;
|
|
117
|
+
/** Maximum query complexity */
|
|
118
|
+
maxComplexity?: number;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Query operators enum for validation
|
|
122
|
+
*/
|
|
123
|
+
export declare const QueryOperators: {
|
|
124
|
+
readonly $eq: "equal";
|
|
125
|
+
readonly $ne: "not equal";
|
|
126
|
+
readonly $gt: "greater than";
|
|
127
|
+
readonly $gte: "greater than or equal";
|
|
128
|
+
readonly $lt: "less than";
|
|
129
|
+
readonly $lte: "less than or equal";
|
|
130
|
+
readonly $in: "in array";
|
|
131
|
+
readonly $nin: "not in array";
|
|
132
|
+
readonly $and: "logical AND";
|
|
133
|
+
readonly $or: "logical OR";
|
|
134
|
+
readonly $not: "logical NOT";
|
|
135
|
+
readonly $nor: "logical NOR";
|
|
136
|
+
readonly $exists: "field exists";
|
|
137
|
+
readonly $type: "field type";
|
|
138
|
+
readonly $regex: "regular expression";
|
|
139
|
+
readonly $text: "text search";
|
|
140
|
+
readonly $all: "array contains all";
|
|
141
|
+
readonly $elemMatch: "array element matches";
|
|
142
|
+
readonly $size: "array size";
|
|
143
|
+
readonly $contains: "contains substring";
|
|
144
|
+
readonly $startsWith: "starts with";
|
|
145
|
+
readonly $endsWith: "ends with";
|
|
146
|
+
};
|
|
147
|
+
/**
|
|
148
|
+
* Query complexity calculator
|
|
149
|
+
*/
|
|
150
|
+
export interface QueryComplexity {
|
|
151
|
+
/** Total complexity score */
|
|
152
|
+
score: number;
|
|
153
|
+
/** Complexity breakdown */
|
|
154
|
+
breakdown: {
|
|
155
|
+
operators: number;
|
|
156
|
+
nesting: number;
|
|
157
|
+
fields: number;
|
|
158
|
+
arrayOps: number;
|
|
159
|
+
};
|
|
160
|
+
/** Performance recommendations */
|
|
161
|
+
recommendations: string[];
|
|
162
|
+
/** Operator usage counts */
|
|
163
|
+
operatorCounts: Record<string, number>;
|
|
164
|
+
/** Estimated query cost */
|
|
165
|
+
estimatedCost: 'low' | 'medium' | 'high' | 'very-high';
|
|
166
|
+
}
|
|
167
|
+
//# sourceMappingURL=filters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../../../src/structure/types/filters.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Query and Filter Types
|
|
3
|
+
* MongoDB-style query operators for content filtering
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Query operators enum for validation
|
|
7
|
+
*/
|
|
8
|
+
export const QueryOperators = {
|
|
9
|
+
// Comparison
|
|
10
|
+
$eq: 'equal',
|
|
11
|
+
$ne: 'not equal',
|
|
12
|
+
$gt: 'greater than',
|
|
13
|
+
$gte: 'greater than or equal',
|
|
14
|
+
$lt: 'less than',
|
|
15
|
+
$lte: 'less than or equal',
|
|
16
|
+
$in: 'in array',
|
|
17
|
+
$nin: 'not in array',
|
|
18
|
+
// Logical
|
|
19
|
+
$and: 'logical AND',
|
|
20
|
+
$or: 'logical OR',
|
|
21
|
+
$not: 'logical NOT',
|
|
22
|
+
$nor: 'logical NOR',
|
|
23
|
+
// Element
|
|
24
|
+
$exists: 'field exists',
|
|
25
|
+
$type: 'field type',
|
|
26
|
+
// Evaluation
|
|
27
|
+
$regex: 'regular expression',
|
|
28
|
+
$text: 'text search',
|
|
29
|
+
// Array
|
|
30
|
+
$all: 'array contains all',
|
|
31
|
+
$elemMatch: 'array element matches',
|
|
32
|
+
$size: 'array size',
|
|
33
|
+
// String
|
|
34
|
+
$contains: 'contains substring',
|
|
35
|
+
$startsWith: 'starts with',
|
|
36
|
+
$endsWith: 'ends with'
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=filters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filters.js","sourceRoot":"","sources":["../../../src/structure/types/filters.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA4HH;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,aAAa;IACb,GAAG,EAAE,OAAO;IACZ,GAAG,EAAE,WAAW;IAChB,GAAG,EAAE,cAAc;IACnB,IAAI,EAAE,uBAAuB;IAC7B,GAAG,EAAE,WAAW;IAChB,IAAI,EAAE,oBAAoB;IAC1B,GAAG,EAAE,UAAU;IACf,IAAI,EAAE,cAAc;IAEpB,UAAU;IACV,IAAI,EAAE,aAAa;IACnB,GAAG,EAAE,YAAY;IACjB,IAAI,EAAE,aAAa;IACnB,IAAI,EAAE,aAAa;IAEnB,UAAU;IACV,OAAO,EAAE,cAAc;IACvB,KAAK,EAAE,YAAY;IAEnB,aAAa;IACb,MAAM,EAAE,oBAAoB;IAC5B,KAAK,EAAE,aAAa;IAEpB,QAAQ;IACR,IAAI,EAAE,oBAAoB;IAC1B,UAAU,EAAE,uBAAuB;IACnC,KAAK,EAAE,YAAY;IAEnB,SAAS;IACT,SAAS,EAAE,oBAAoB;IAC/B,WAAW,EAAE,aAAa;IAC1B,SAAS,EAAE,WAAW;CACd,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type Exports
|
|
3
|
+
* All structure system types
|
|
4
|
+
*/
|
|
5
|
+
export type { TrokkyStructure, StructureItem, BaseStructureItem, DocumentListItem, SingletonItem, GroupItem, DividerItem, CustomViewItem, BadgeConfig, BulkActionConfig, FilterConfig, ThemeConfig, PluginConfig, FormLayoutConfig, FormSectionConfig, CustomFieldConfig, ValidationConfig, ValidationRule } from './structure.js';
|
|
6
|
+
export type { QueryFilter, OrderClause, QueryContext, ResolvedQuery, QueryBuilderOptions, QueryComplexity } from './filters.js';
|
|
7
|
+
export { QueryOperators } from './filters.js';
|
|
8
|
+
export type { ViewConfig, ListViewConfig, GridViewConfig, CalendarViewConfig, KanbanViewConfig, MapViewConfig, ColumnConfig, ActionConfig, KanbanColumnConfig, ViewPlugin, BulkActionPlugin } from './views.js';
|
|
9
|
+
export type { PermissionConfig, PermissionRule, PermissionCondition, PermissionFunction, PermissionContext, PermissionResult, PermissionSummary, PermissionValidatorConfig, PermissionInheritance } from './permissions.js';
|
|
10
|
+
export { PermissionPatterns } from './permissions.js';
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/structure/types/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,YAAY,EACV,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,SAAS,EACT,WAAW,EACX,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACf,MAAM,gBAAgB,CAAA;AAGvB,YAAY,EACV,WAAW,EACX,WAAW,EACX,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,eAAe,EAChB,MAAM,cAAc,CAAA;AAErB,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAG7C,YAAY,EACV,UAAU,EACV,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,UAAU,EACV,gBAAgB,EACjB,MAAM,YAAY,CAAA;AAGnB,YAAY,EACV,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,yBAAyB,EACzB,qBAAqB,EACtB,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/structure/types/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAkCH,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AA8B7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA"}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Permission Types
|
|
3
|
+
* Role-based access control for structure items
|
|
4
|
+
*/
|
|
5
|
+
import type { User } from '../../core/index.js';
|
|
6
|
+
/**
|
|
7
|
+
* Permission configuration for structure items
|
|
8
|
+
*/
|
|
9
|
+
export interface PermissionConfig {
|
|
10
|
+
/** Who can read/view */
|
|
11
|
+
read?: PermissionRule;
|
|
12
|
+
/** Who can create new documents */
|
|
13
|
+
create?: PermissionRule;
|
|
14
|
+
/** Who can update existing documents */
|
|
15
|
+
update?: PermissionRule;
|
|
16
|
+
/** Who can delete documents */
|
|
17
|
+
delete?: PermissionRule;
|
|
18
|
+
/** Custom permission checks */
|
|
19
|
+
custom?: Record<string, PermissionRule>;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Permission rule types
|
|
23
|
+
*/
|
|
24
|
+
export type PermissionRule = boolean | string | string[] | PermissionFunction | PermissionCondition;
|
|
25
|
+
/**
|
|
26
|
+
* Conditional permission configuration
|
|
27
|
+
*/
|
|
28
|
+
export interface PermissionCondition {
|
|
29
|
+
/** Condition to check */
|
|
30
|
+
condition: string | ((user: User, context: any) => boolean);
|
|
31
|
+
/** Roles allowed when condition is true */
|
|
32
|
+
allow?: string | string[];
|
|
33
|
+
/** Roles denied when condition is true */
|
|
34
|
+
deny?: string | string[];
|
|
35
|
+
/** Fallback permission when condition is false */
|
|
36
|
+
fallback?: PermissionRule;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Custom permission function
|
|
40
|
+
*/
|
|
41
|
+
export type PermissionFunction = (user: User, context: PermissionContext) => boolean | Promise<boolean>;
|
|
42
|
+
/**
|
|
43
|
+
* Permission context for evaluating permissions
|
|
44
|
+
*/
|
|
45
|
+
export interface PermissionContext {
|
|
46
|
+
/** Action being performed */
|
|
47
|
+
action: 'read' | 'create' | 'update' | 'delete' | string;
|
|
48
|
+
/** Resource being accessed */
|
|
49
|
+
resource?: any;
|
|
50
|
+
/** Structure item */
|
|
51
|
+
item?: any;
|
|
52
|
+
/** Additional context data */
|
|
53
|
+
data?: Record<string, any>;
|
|
54
|
+
/** Request metadata */
|
|
55
|
+
request?: {
|
|
56
|
+
ip?: string;
|
|
57
|
+
userAgent?: string;
|
|
58
|
+
timestamp: Date;
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Permission check result
|
|
63
|
+
*/
|
|
64
|
+
export interface PermissionResult {
|
|
65
|
+
/** Permission granted */
|
|
66
|
+
allowed: boolean;
|
|
67
|
+
/** Reason for decision */
|
|
68
|
+
reason?: string;
|
|
69
|
+
/** Applied rule */
|
|
70
|
+
rule?: PermissionRule;
|
|
71
|
+
/** Error if permission check failed */
|
|
72
|
+
error?: string;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Permission summary for navigation items
|
|
76
|
+
*/
|
|
77
|
+
export interface PermissionSummary {
|
|
78
|
+
/** Can read */
|
|
79
|
+
canRead: boolean;
|
|
80
|
+
/** Can create */
|
|
81
|
+
canCreate: boolean;
|
|
82
|
+
/** Can update */
|
|
83
|
+
canUpdate: boolean;
|
|
84
|
+
/** Can delete */
|
|
85
|
+
canDelete: boolean;
|
|
86
|
+
/** Custom permissions */
|
|
87
|
+
custom?: Record<string, boolean>;
|
|
88
|
+
/** Effective role */
|
|
89
|
+
effectiveRole?: string;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Built-in permission patterns
|
|
93
|
+
*/
|
|
94
|
+
export declare const PermissionPatterns: {
|
|
95
|
+
/** Public read access */
|
|
96
|
+
readonly PUBLIC_READ: {
|
|
97
|
+
readonly read: true;
|
|
98
|
+
readonly create: false;
|
|
99
|
+
readonly update: false;
|
|
100
|
+
readonly delete: false;
|
|
101
|
+
};
|
|
102
|
+
/** Authenticated users only */
|
|
103
|
+
readonly AUTHENTICATED_ONLY: {
|
|
104
|
+
readonly read: readonly ["user", "editor", "admin"];
|
|
105
|
+
readonly create: readonly ["user", "editor", "admin"];
|
|
106
|
+
readonly update: readonly ["user", "editor", "admin"];
|
|
107
|
+
readonly delete: readonly ["admin"];
|
|
108
|
+
};
|
|
109
|
+
/** Editors and admins */
|
|
110
|
+
readonly EDITOR_ACCESS: {
|
|
111
|
+
readonly read: readonly ["editor", "admin"];
|
|
112
|
+
readonly create: readonly ["editor", "admin"];
|
|
113
|
+
readonly update: readonly ["editor", "admin"];
|
|
114
|
+
readonly delete: readonly ["admin"];
|
|
115
|
+
};
|
|
116
|
+
/** Admin only */
|
|
117
|
+
readonly ADMIN_ONLY: {
|
|
118
|
+
readonly read: readonly ["admin"];
|
|
119
|
+
readonly create: readonly ["admin"];
|
|
120
|
+
readonly update: readonly ["admin"];
|
|
121
|
+
readonly delete: readonly ["admin"];
|
|
122
|
+
};
|
|
123
|
+
/** Owner or admin */
|
|
124
|
+
readonly OWNER_OR_ADMIN: {
|
|
125
|
+
readonly read: true;
|
|
126
|
+
readonly create: readonly ["user", "editor", "admin"];
|
|
127
|
+
readonly update: (user: User, context: PermissionContext) => boolean;
|
|
128
|
+
readonly delete: (user: User, context: PermissionContext) => boolean;
|
|
129
|
+
};
|
|
130
|
+
};
|
|
131
|
+
/**
|
|
132
|
+
* Permission validator configuration
|
|
133
|
+
*/
|
|
134
|
+
export interface PermissionValidatorConfig {
|
|
135
|
+
/** Available roles in the system */
|
|
136
|
+
availableRoles: string[];
|
|
137
|
+
/** Default permissions for new items */
|
|
138
|
+
defaultPermissions: PermissionConfig;
|
|
139
|
+
/** Whether to inherit parent permissions */
|
|
140
|
+
inheritParentPermissions: boolean;
|
|
141
|
+
/** Maximum permission complexity */
|
|
142
|
+
maxComplexity?: number;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Permission inheritance configuration
|
|
146
|
+
*/
|
|
147
|
+
export interface PermissionInheritance {
|
|
148
|
+
/** Inherit from parent item */
|
|
149
|
+
fromParent?: boolean;
|
|
150
|
+
/** Inherit from schema type */
|
|
151
|
+
fromSchema?: boolean;
|
|
152
|
+
/** Inherit from global configuration */
|
|
153
|
+
fromGlobal?: boolean;
|
|
154
|
+
/** Override inherited permissions */
|
|
155
|
+
override?: Partial<PermissionConfig>;
|
|
156
|
+
/** Merge strategy */
|
|
157
|
+
mergeStrategy?: 'replace' | 'union' | 'intersection';
|
|
158
|
+
}
|
|
159
|
+
//# sourceMappingURL=permissions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../../src/structure/types/permissions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Permission Types
|
|
3
|
+
* Role-based access control for structure items
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Built-in permission patterns
|
|
7
|
+
*/
|
|
8
|
+
export const PermissionPatterns = {
|
|
9
|
+
/** Public read access */
|
|
10
|
+
PUBLIC_READ: {
|
|
11
|
+
read: true,
|
|
12
|
+
create: false,
|
|
13
|
+
update: false,
|
|
14
|
+
delete: false
|
|
15
|
+
},
|
|
16
|
+
/** Authenticated users only */
|
|
17
|
+
AUTHENTICATED_ONLY: {
|
|
18
|
+
read: ['user', 'editor', 'admin'],
|
|
19
|
+
create: ['user', 'editor', 'admin'],
|
|
20
|
+
update: ['user', 'editor', 'admin'],
|
|
21
|
+
delete: ['admin']
|
|
22
|
+
},
|
|
23
|
+
/** Editors and admins */
|
|
24
|
+
EDITOR_ACCESS: {
|
|
25
|
+
read: ['editor', 'admin'],
|
|
26
|
+
create: ['editor', 'admin'],
|
|
27
|
+
update: ['editor', 'admin'],
|
|
28
|
+
delete: ['admin']
|
|
29
|
+
},
|
|
30
|
+
/** Admin only */
|
|
31
|
+
ADMIN_ONLY: {
|
|
32
|
+
read: ['admin'],
|
|
33
|
+
create: ['admin'],
|
|
34
|
+
update: ['admin'],
|
|
35
|
+
delete: ['admin']
|
|
36
|
+
},
|
|
37
|
+
/** Owner or admin */
|
|
38
|
+
OWNER_OR_ADMIN: {
|
|
39
|
+
read: true,
|
|
40
|
+
create: ['user', 'editor', 'admin'],
|
|
41
|
+
update: (user, context) => {
|
|
42
|
+
return context.resource?.author === user.id || user.role === 'admin';
|
|
43
|
+
},
|
|
44
|
+
delete: (user, context) => {
|
|
45
|
+
return context.resource?.author === user.id || user.role === 'admin';
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
//# sourceMappingURL=permissions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../../src/structure/types/permissions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAwHH;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,yBAAyB;IACzB,WAAW,EAAE;QACX,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,KAAK;KACd;IAED,+BAA+B;IAC/B,kBAAkB,EAAE;QAClB,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC;QACjC,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC;QACnC,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC;QACnC,MAAM,EAAE,CAAC,OAAO,CAAC;KAClB;IAED,yBAAyB;IACzB,aAAa,EAAE;QACb,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;QACzB,MAAM,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;QAC3B,MAAM,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;QAC3B,MAAM,EAAE,CAAC,OAAO,CAAC;KAClB;IAED,iBAAiB;IACjB,UAAU,EAAE;QACV,IAAI,EAAE,CAAC,OAAO,CAAC;QACf,MAAM,EAAE,CAAC,OAAO,CAAC;QACjB,MAAM,EAAE,CAAC,OAAO,CAAC;QACjB,MAAM,EAAE,CAAC,OAAO,CAAC;KAClB;IAED,qBAAqB;IACrB,cAAc,EAAE;QACd,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC;QACnC,MAAM,EAAE,CAAC,IAAU,EAAE,OAA0B,EAAE,EAAE;YACjD,OAAO,OAAO,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,CAAA;QACtE,CAAC;QACD,MAAM,EAAE,CAAC,IAAU,EAAE,OAA0B,EAAE,EAAE;YACjD,OAAO,OAAO,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,CAAA;QACtE,CAAC;KACF;CACO,CAAA"}
|