@walde.ai/walde-sdk 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +47 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -0
- package/dist/sdk/contracts/frontend-content/v1/content-format-v1.d.ts +8 -0
- package/dist/sdk/contracts/frontend-content/v1/content-format-v1.d.ts.map +1 -0
- package/dist/sdk/contracts/frontend-content/v1/content-format-v1.js +2 -0
- package/dist/sdk/contracts/frontend-content/v1/content-format-v1.js.map +1 -0
- package/dist/sdk/contracts/frontend-content/v1/content-part-v1.d.ts +8 -0
- package/dist/sdk/contracts/frontend-content/v1/content-part-v1.d.ts.map +1 -0
- package/dist/sdk/contracts/frontend-content/v1/content-part-v1.js +2 -0
- package/dist/sdk/contracts/frontend-content/v1/content-part-v1.js.map +1 -0
- package/dist/sdk/contracts/frontend-content/v1/frontend-content-v1.d.ts +13 -0
- package/dist/sdk/contracts/frontend-content/v1/frontend-content-v1.d.ts.map +1 -0
- package/dist/sdk/contracts/frontend-content/v1/frontend-content-v1.js +2 -0
- package/dist/sdk/contracts/frontend-content/v1/frontend-content-v1.js.map +1 -0
- package/dist/sdk/contracts/manifest/v1/manifest-content-v1.d.ts +12 -0
- package/dist/sdk/contracts/manifest/v1/manifest-content-v1.d.ts.map +1 -0
- package/dist/sdk/contracts/manifest/v1/manifest-content-v1.js +2 -0
- package/dist/sdk/contracts/manifest/v1/manifest-content-v1.js.map +1 -0
- package/dist/sdk/contracts/manifest/v1/manifest-v1.d.ts +9 -0
- package/dist/sdk/contracts/manifest/v1/manifest-v1.d.ts.map +1 -0
- package/dist/sdk/contracts/manifest/v1/manifest-v1.js +2 -0
- package/dist/sdk/contracts/manifest/v1/manifest-v1.js.map +1 -0
- package/dist/sdk/domain/entities/content-format.d.ts +9 -0
- package/dist/sdk/domain/entities/content-format.d.ts.map +1 -0
- package/dist/sdk/domain/entities/content-format.js +12 -0
- package/dist/sdk/domain/entities/content-format.js.map +1 -0
- package/dist/sdk/domain/entities/content-part.d.ts +26 -0
- package/dist/sdk/domain/entities/content-part.d.ts.map +1 -0
- package/dist/sdk/domain/entities/content-part.js +36 -0
- package/dist/sdk/domain/entities/content-part.js.map +1 -0
- package/dist/sdk/domain/entities/content-state.d.ts +8 -0
- package/dist/sdk/domain/entities/content-state.d.ts.map +1 -0
- package/dist/sdk/domain/entities/content-state.js +9 -0
- package/dist/sdk/domain/entities/content-state.js.map +1 -0
- package/dist/sdk/domain/entities/content-version.d.ts +27 -0
- package/dist/sdk/domain/entities/content-version.d.ts.map +1 -0
- package/dist/sdk/domain/entities/content-version.js +37 -0
- package/dist/sdk/domain/entities/content-version.js.map +1 -0
- package/dist/sdk/domain/entities/content.d.ts +21 -0
- package/dist/sdk/domain/entities/content.d.ts.map +1 -0
- package/dist/sdk/domain/entities/content.js +26 -0
- package/dist/sdk/domain/entities/content.js.map +1 -0
- package/dist/sdk/domain/entities/credentials.d.ts +14 -0
- package/dist/sdk/domain/entities/credentials.d.ts.map +1 -0
- package/dist/sdk/domain/entities/credentials.js +20 -0
- package/dist/sdk/domain/entities/credentials.js.map +1 -0
- package/dist/sdk/domain/entities/dns-entry.d.ts +10 -0
- package/dist/sdk/domain/entities/dns-entry.d.ts.map +1 -0
- package/dist/sdk/domain/entities/dns-entry.js +14 -0
- package/dist/sdk/domain/entities/dns-entry.js.map +1 -0
- package/dist/sdk/domain/entities/file.d.ts +14 -0
- package/dist/sdk/domain/entities/file.d.ts.map +1 -0
- package/dist/sdk/domain/entities/file.js +17 -0
- package/dist/sdk/domain/entities/file.js.map +1 -0
- package/dist/sdk/domain/entities/format-part.d.ts +16 -0
- package/dist/sdk/domain/entities/format-part.d.ts.map +1 -0
- package/dist/sdk/domain/entities/format-part.js +2 -0
- package/dist/sdk/domain/entities/format-part.js.map +1 -0
- package/dist/sdk/domain/entities/format.d.ts +14 -0
- package/dist/sdk/domain/entities/format.d.ts.map +1 -0
- package/dist/sdk/domain/entities/format.js +23 -0
- package/dist/sdk/domain/entities/format.js.map +1 -0
- package/dist/sdk/domain/entities/frontend-content.d.ts +13 -0
- package/dist/sdk/domain/entities/frontend-content.d.ts.map +1 -0
- package/dist/sdk/domain/entities/frontend-content.js +16 -0
- package/dist/sdk/domain/entities/frontend-content.js.map +1 -0
- package/dist/sdk/domain/entities/key-value-part.d.ts +20 -0
- package/dist/sdk/domain/entities/key-value-part.d.ts.map +1 -0
- package/dist/sdk/domain/entities/key-value-part.js +31 -0
- package/dist/sdk/domain/entities/key-value-part.js.map +1 -0
- package/dist/sdk/domain/entities/manifest-content.d.ts +12 -0
- package/dist/sdk/domain/entities/manifest-content.d.ts.map +1 -0
- package/dist/sdk/domain/entities/manifest-content.js +18 -0
- package/dist/sdk/domain/entities/manifest-content.js.map +1 -0
- package/dist/sdk/domain/entities/manifest.d.ts +9 -0
- package/dist/sdk/domain/entities/manifest.d.ts.map +1 -0
- package/dist/sdk/domain/entities/manifest.js +10 -0
- package/dist/sdk/domain/entities/manifest.js.map +1 -0
- package/dist/sdk/domain/entities/markdown-part.d.ts +14 -0
- package/dist/sdk/domain/entities/markdown-part.d.ts.map +1 -0
- package/dist/sdk/domain/entities/markdown-part.js +15 -0
- package/dist/sdk/domain/entities/markdown-part.js.map +1 -0
- package/dist/sdk/domain/entities/site.d.ts +16 -0
- package/dist/sdk/domain/entities/site.d.ts.map +1 -0
- package/dist/sdk/domain/entities/site.js +21 -0
- package/dist/sdk/domain/entities/site.js.map +1 -0
- package/dist/sdk/domain/entities/string-part.d.ts +14 -0
- package/dist/sdk/domain/entities/string-part.d.ts.map +1 -0
- package/dist/sdk/domain/entities/string-part.js +15 -0
- package/dist/sdk/domain/entities/string-part.js.map +1 -0
- package/dist/sdk/domain/entities/ui-upload-credentials.d.ts +22 -0
- package/dist/sdk/domain/entities/ui-upload-credentials.d.ts.map +1 -0
- package/dist/sdk/domain/entities/ui-upload-credentials.js +38 -0
- package/dist/sdk/domain/entities/ui-upload-credentials.js.map +1 -0
- package/dist/sdk/domain/entities/walde-admin-config.d.ts +51 -0
- package/dist/sdk/domain/entities/walde-admin-config.d.ts.map +1 -0
- package/dist/sdk/domain/entities/walde-admin-config.js +69 -0
- package/dist/sdk/domain/entities/walde-admin-config.js.map +1 -0
- package/dist/sdk/domain/entities/workspace-config.d.ts +20 -0
- package/dist/sdk/domain/entities/workspace-config.d.ts.map +1 -0
- package/dist/sdk/domain/entities/workspace-config.js +17 -0
- package/dist/sdk/domain/entities/workspace-config.js.map +1 -0
- package/dist/sdk/domain/errors/index.d.ts +11 -0
- package/dist/sdk/domain/errors/index.d.ts.map +1 -0
- package/dist/sdk/domain/errors/index.js +11 -0
- package/dist/sdk/domain/errors/index.js.map +1 -0
- package/dist/sdk/domain/errors/walde-authentication-error.d.ts +21 -0
- package/dist/sdk/domain/errors/walde-authentication-error.d.ts.map +1 -0
- package/dist/sdk/domain/errors/walde-authentication-error.js +23 -0
- package/dist/sdk/domain/errors/walde-authentication-error.js.map +1 -0
- package/dist/sdk/domain/errors/walde-configuration-error.d.ts +21 -0
- package/dist/sdk/domain/errors/walde-configuration-error.d.ts.map +1 -0
- package/dist/sdk/domain/errors/walde-configuration-error.js +23 -0
- package/dist/sdk/domain/errors/walde-configuration-error.js.map +1 -0
- package/dist/sdk/domain/errors/walde-error.d.ts +9 -0
- package/dist/sdk/domain/errors/walde-error.d.ts.map +1 -0
- package/dist/sdk/domain/errors/walde-error.js +12 -0
- package/dist/sdk/domain/errors/walde-error.js.map +1 -0
- package/dist/sdk/domain/errors/walde-local-error.d.ts +22 -0
- package/dist/sdk/domain/errors/walde-local-error.d.ts.map +1 -0
- package/dist/sdk/domain/errors/walde-local-error.js +24 -0
- package/dist/sdk/domain/errors/walde-local-error.js.map +1 -0
- package/dist/sdk/domain/errors/walde-network-error.d.ts +21 -0
- package/dist/sdk/domain/errors/walde-network-error.d.ts.map +1 -0
- package/dist/sdk/domain/errors/walde-network-error.js +23 -0
- package/dist/sdk/domain/errors/walde-network-error.js.map +1 -0
- package/dist/sdk/domain/errors/walde-system-error.d.ts +10 -0
- package/dist/sdk/domain/errors/walde-system-error.d.ts.map +1 -0
- package/dist/sdk/domain/errors/walde-system-error.js +13 -0
- package/dist/sdk/domain/errors/walde-system-error.js.map +1 -0
- package/dist/sdk/domain/errors/walde-unexpected-error.d.ts +21 -0
- package/dist/sdk/domain/errors/walde-unexpected-error.d.ts.map +1 -0
- package/dist/sdk/domain/errors/walde-unexpected-error.js +23 -0
- package/dist/sdk/domain/errors/walde-unexpected-error.js.map +1 -0
- package/dist/sdk/domain/errors/walde-usage-error.d.ts +21 -0
- package/dist/sdk/domain/errors/walde-usage-error.d.ts.map +1 -0
- package/dist/sdk/domain/errors/walde-usage-error.js +23 -0
- package/dist/sdk/domain/errors/walde-usage-error.js.map +1 -0
- package/dist/sdk/domain/errors/walde-user-error.d.ts +9 -0
- package/dist/sdk/domain/errors/walde-user-error.d.ts.map +1 -0
- package/dist/sdk/domain/errors/walde-user-error.js +11 -0
- package/dist/sdk/domain/errors/walde-user-error.js.map +1 -0
- package/dist/sdk/domain/errors/walde-validation-error.d.ts +20 -0
- package/dist/sdk/domain/errors/walde-validation-error.d.ts.map +1 -0
- package/dist/sdk/domain/errors/walde-validation-error.js +22 -0
- package/dist/sdk/domain/errors/walde-validation-error.js.map +1 -0
- package/dist/sdk/domain/interactors/api-call.d.ts +19 -0
- package/dist/sdk/domain/interactors/api-call.d.ts.map +1 -0
- package/dist/sdk/domain/interactors/api-call.js +31 -0
- package/dist/sdk/domain/interactors/api-call.js.map +1 -0
- package/dist/sdk/domain/interactors/associate-site-certificates.d.ts +11 -0
- package/dist/sdk/domain/interactors/associate-site-certificates.d.ts.map +1 -0
- package/dist/sdk/domain/interactors/associate-site-certificates.js +20 -0
- package/dist/sdk/domain/interactors/associate-site-certificates.js.map +1 -0
- package/dist/sdk/domain/interactors/content/list-contents.d.ts +16 -0
- package/dist/sdk/domain/interactors/content/list-contents.d.ts.map +1 -0
- package/dist/sdk/domain/interactors/content/list-contents.js +18 -0
- package/dist/sdk/domain/interactors/content/list-contents.js.map +1 -0
- package/dist/sdk/domain/interactors/content/parse-content-file.d.ts +19 -0
- package/dist/sdk/domain/interactors/content/parse-content-file.d.ts.map +1 -0
- package/dist/sdk/domain/interactors/content/parse-content-file.js +68 -0
- package/dist/sdk/domain/interactors/content/parse-content-file.js.map +1 -0
- package/dist/sdk/domain/interactors/content/push-content.d.ts +21 -0
- package/dist/sdk/domain/interactors/content/push-content.d.ts.map +1 -0
- package/dist/sdk/domain/interactors/content/push-content.js +31 -0
- package/dist/sdk/domain/interactors/content/push-content.js.map +1 -0
- package/dist/sdk/domain/interactors/create-site.d.ts +9 -0
- package/dist/sdk/domain/interactors/create-site.d.ts.map +1 -0
- package/dist/sdk/domain/interactors/create-site.js +19 -0
- package/dist/sdk/domain/interactors/create-site.js.map +1 -0
- package/dist/sdk/domain/interactors/get-credentials.d.ts +14 -0
- package/dist/sdk/domain/interactors/get-credentials.d.ts.map +1 -0
- package/dist/sdk/domain/interactors/get-credentials.js +16 -0
- package/dist/sdk/domain/interactors/get-credentials.js.map +1 -0
- package/dist/sdk/domain/interactors/get-token.d.ts +13 -0
- package/dist/sdk/domain/interactors/get-token.d.ts.map +1 -0
- package/dist/sdk/domain/interactors/get-token.js +21 -0
- package/dist/sdk/domain/interactors/get-token.js.map +1 -0
- package/dist/sdk/domain/interactors/list-sites.d.ts +9 -0
- package/dist/sdk/domain/interactors/list-sites.d.ts.map +1 -0
- package/dist/sdk/domain/interactors/list-sites.js +17 -0
- package/dist/sdk/domain/interactors/list-sites.js.map +1 -0
- package/dist/sdk/domain/interactors/refresh-credentials.d.ts +16 -0
- package/dist/sdk/domain/interactors/refresh-credentials.d.ts.map +1 -0
- package/dist/sdk/domain/interactors/refresh-credentials.js +25 -0
- package/dist/sdk/domain/interactors/refresh-credentials.js.map +1 -0
- package/dist/sdk/domain/interactors/ui/upload-ui-from-folder.d.ts +24 -0
- package/dist/sdk/domain/interactors/ui/upload-ui-from-folder.d.ts.map +1 -0
- package/dist/sdk/domain/interactors/ui/upload-ui-from-folder.js +58 -0
- package/dist/sdk/domain/interactors/ui/upload-ui-from-folder.js.map +1 -0
- package/dist/sdk/domain/interactors/update-site.d.ts +9 -0
- package/dist/sdk/domain/interactors/update-site.d.ts.map +1 -0
- package/dist/sdk/domain/interactors/update-site.js +19 -0
- package/dist/sdk/domain/interactors/update-site.js.map +1 -0
- package/dist/sdk/domain/interactors/workspace/init-workspace.d.ts +19 -0
- package/dist/sdk/domain/interactors/workspace/init-workspace.d.ts.map +1 -0
- package/dist/sdk/domain/interactors/workspace/init-workspace.js +26 -0
- package/dist/sdk/domain/interactors/workspace/init-workspace.js.map +1 -0
- package/dist/sdk/domain/ports/backend/backend-client.d.ts +7 -0
- package/dist/sdk/domain/ports/backend/backend-client.d.ts.map +1 -0
- package/dist/sdk/domain/ports/backend/backend-client.js +2 -0
- package/dist/sdk/domain/ports/backend/backend-client.js.map +1 -0
- package/dist/sdk/domain/ports/in/content-file-reader.d.ts +15 -0
- package/dist/sdk/domain/ports/in/content-file-reader.d.ts.map +1 -0
- package/dist/sdk/domain/ports/in/content-file-reader.js +2 -0
- package/dist/sdk/domain/ports/in/content-file-reader.js.map +1 -0
- package/dist/sdk/domain/ports/in/token-provider.d.ts +10 -0
- package/dist/sdk/domain/ports/in/token-provider.d.ts.map +1 -0
- package/dist/sdk/domain/ports/in/token-provider.js +2 -0
- package/dist/sdk/domain/ports/in/token-provider.js.map +1 -0
- package/dist/sdk/domain/ports/out/backend-communication.d.ts +22 -0
- package/dist/sdk/domain/ports/out/backend-communication.d.ts.map +1 -0
- package/dist/sdk/domain/ports/out/backend-communication.js +2 -0
- package/dist/sdk/domain/ports/out/backend-communication.js.map +1 -0
- package/dist/sdk/domain/ports/out/content-file-writer.d.ts +12 -0
- package/dist/sdk/domain/ports/out/content-file-writer.d.ts.map +1 -0
- package/dist/sdk/domain/ports/out/content-file-writer.js +2 -0
- package/dist/sdk/domain/ports/out/content-file-writer.js.map +1 -0
- package/dist/sdk/domain/ports/out/content-repo.d.ts +27 -0
- package/dist/sdk/domain/ports/out/content-repo.d.ts.map +1 -0
- package/dist/sdk/domain/ports/out/content-repo.js +2 -0
- package/dist/sdk/domain/ports/out/content-repo.js.map +1 -0
- package/dist/sdk/domain/ports/out/credentials-provider.d.ts +15 -0
- package/dist/sdk/domain/ports/out/credentials-provider.d.ts.map +1 -0
- package/dist/sdk/domain/ports/out/credentials-provider.js +2 -0
- package/dist/sdk/domain/ports/out/credentials-provider.js.map +1 -0
- package/dist/sdk/domain/ports/out/file-system-reader.d.ts +13 -0
- package/dist/sdk/domain/ports/out/file-system-reader.d.ts.map +1 -0
- package/dist/sdk/domain/ports/out/file-system-reader.js +2 -0
- package/dist/sdk/domain/ports/out/file-system-reader.js.map +1 -0
- package/dist/sdk/domain/ports/out/remote-files-repo.d.ts +20 -0
- package/dist/sdk/domain/ports/out/remote-files-repo.d.ts.map +1 -0
- package/dist/sdk/domain/ports/out/remote-files-repo.js +2 -0
- package/dist/sdk/domain/ports/out/remote-files-repo.js.map +1 -0
- package/dist/sdk/domain/ports/out/site-repository.d.ts +35 -0
- package/dist/sdk/domain/ports/out/site-repository.d.ts.map +1 -0
- package/dist/sdk/domain/ports/out/site-repository.js +2 -0
- package/dist/sdk/domain/ports/out/site-repository.js.map +1 -0
- package/dist/sdk/domain/ports/out/token-refresh-provider.d.ts +11 -0
- package/dist/sdk/domain/ports/out/token-refresh-provider.d.ts.map +1 -0
- package/dist/sdk/domain/ports/out/token-refresh-provider.js +2 -0
- package/dist/sdk/domain/ports/out/token-refresh-provider.js.map +1 -0
- package/dist/sdk/domain/ports/out/ui-upload-credentials-repo.d.ts +11 -0
- package/dist/sdk/domain/ports/out/ui-upload-credentials-repo.d.ts.map +1 -0
- package/dist/sdk/domain/ports/out/ui-upload-credentials-repo.js +2 -0
- package/dist/sdk/domain/ports/out/ui-upload-credentials-repo.js.map +1 -0
- package/dist/sdk/domain/ports/out/upload-progress-callback.d.ts +26 -0
- package/dist/sdk/domain/ports/out/upload-progress-callback.d.ts.map +1 -0
- package/dist/sdk/domain/ports/out/upload-progress-callback.js +2 -0
- package/dist/sdk/domain/ports/out/upload-progress-callback.js.map +1 -0
- package/dist/sdk/domain/ports/out/workspace-config-repo.d.ts +25 -0
- package/dist/sdk/domain/ports/out/workspace-config-repo.d.ts.map +1 -0
- package/dist/sdk/domain/ports/out/workspace-config-repo.js +2 -0
- package/dist/sdk/domain/ports/out/workspace-config-repo.js.map +1 -0
- package/dist/sdk/index.d.ts +35 -0
- package/dist/sdk/index.d.ts.map +1 -0
- package/dist/sdk/index.js +35 -0
- package/dist/sdk/index.js.map +1 -0
- package/dist/sdk/infra/adapters/api-client.d.ts +58 -0
- package/dist/sdk/infra/adapters/api-client.d.ts.map +1 -0
- package/dist/sdk/infra/adapters/api-client.js +73 -0
- package/dist/sdk/infra/adapters/api-client.js.map +1 -0
- package/dist/sdk/infra/adapters/base-http-client.d.ts +25 -0
- package/dist/sdk/infra/adapters/base-http-client.d.ts.map +1 -0
- package/dist/sdk/infra/adapters/base-http-client.js +110 -0
- package/dist/sdk/infra/adapters/base-http-client.js.map +1 -0
- package/dist/sdk/infra/adapters/cognito-token-refresh-provider.d.ts +16 -0
- package/dist/sdk/infra/adapters/cognito-token-refresh-provider.d.ts.map +1 -0
- package/dist/sdk/infra/adapters/cognito-token-refresh-provider.js +46 -0
- package/dist/sdk/infra/adapters/cognito-token-refresh-provider.js.map +1 -0
- package/dist/sdk/infra/adapters/default-http-client.d.ts +38 -0
- package/dist/sdk/infra/adapters/default-http-client.d.ts.map +1 -0
- package/dist/sdk/infra/adapters/default-http-client.js +133 -0
- package/dist/sdk/infra/adapters/default-http-client.js.map +1 -0
- package/dist/sdk/infra/adapters/default-token-provider.d.ts +14 -0
- package/dist/sdk/infra/adapters/default-token-provider.d.ts.map +1 -0
- package/dist/sdk/infra/adapters/default-token-provider.js +23 -0
- package/dist/sdk/infra/adapters/default-token-provider.js.map +1 -0
- package/dist/sdk/infra/adapters/filesystem/file-content-reader.d.ts +16 -0
- package/dist/sdk/infra/adapters/filesystem/file-content-reader.d.ts.map +1 -0
- package/dist/sdk/infra/adapters/filesystem/file-content-reader.js +27 -0
- package/dist/sdk/infra/adapters/filesystem/file-content-reader.js.map +1 -0
- package/dist/sdk/infra/adapters/filesystem/file-content-writer.d.ts +13 -0
- package/dist/sdk/infra/adapters/filesystem/file-content-writer.d.ts.map +1 -0
- package/dist/sdk/infra/adapters/filesystem/file-content-writer.js +36 -0
- package/dist/sdk/infra/adapters/filesystem/file-content-writer.js.map +1 -0
- package/dist/sdk/infra/adapters/filesystem/file-system-local-files-reader.d.ts +21 -0
- package/dist/sdk/infra/adapters/filesystem/file-system-local-files-reader.d.ts.map +1 -0
- package/dist/sdk/infra/adapters/filesystem/file-system-local-files-reader.js +52 -0
- package/dist/sdk/infra/adapters/filesystem/file-system-local-files-reader.js.map +1 -0
- package/dist/sdk/infra/adapters/frontend-http-client.d.ts +12 -0
- package/dist/sdk/infra/adapters/frontend-http-client.d.ts.map +1 -0
- package/dist/sdk/infra/adapters/frontend-http-client.js +18 -0
- package/dist/sdk/infra/adapters/frontend-http-client.js.map +1 -0
- package/dist/sdk/infra/adapters/http/http-content-repo.d.ts +33 -0
- package/dist/sdk/infra/adapters/http/http-content-repo.d.ts.map +1 -0
- package/dist/sdk/infra/adapters/http/http-content-repo.js +85 -0
- package/dist/sdk/infra/adapters/http/http-content-repo.js.map +1 -0
- package/dist/sdk/infra/adapters/repositories/aws-s3-files-repo.d.ts +22 -0
- package/dist/sdk/infra/adapters/repositories/aws-s3-files-repo.d.ts.map +1 -0
- package/dist/sdk/infra/adapters/repositories/aws-s3-files-repo.js +73 -0
- package/dist/sdk/infra/adapters/repositories/aws-s3-files-repo.js.map +1 -0
- package/dist/sdk/infra/adapters/repositories/credentials-file-repo.d.ts +18 -0
- package/dist/sdk/infra/adapters/repositories/credentials-file-repo.d.ts.map +1 -0
- package/dist/sdk/infra/adapters/repositories/credentials-file-repo.js +41 -0
- package/dist/sdk/infra/adapters/repositories/credentials-file-repo.js.map +1 -0
- package/dist/sdk/infra/adapters/repositories/default-walde-admin-config.d.ts +11 -0
- package/dist/sdk/infra/adapters/repositories/default-walde-admin-config.d.ts.map +1 -0
- package/dist/sdk/infra/adapters/repositories/default-walde-admin-config.js +20 -0
- package/dist/sdk/infra/adapters/repositories/default-walde-admin-config.js.map +1 -0
- package/dist/sdk/infra/adapters/repositories/file-walde-admin-config.d.ts +11 -0
- package/dist/sdk/infra/adapters/repositories/file-walde-admin-config.d.ts.map +1 -0
- package/dist/sdk/infra/adapters/repositories/file-walde-admin-config.js +38 -0
- package/dist/sdk/infra/adapters/repositories/file-walde-admin-config.js.map +1 -0
- package/dist/sdk/infra/adapters/repositories/file-workspace-config-repo.d.ts +26 -0
- package/dist/sdk/infra/adapters/repositories/file-workspace-config-repo.d.ts.map +1 -0
- package/dist/sdk/infra/adapters/repositories/file-workspace-config-repo.js +86 -0
- package/dist/sdk/infra/adapters/repositories/file-workspace-config-repo.js.map +1 -0
- package/dist/sdk/infra/adapters/repositories/http-site-repo.d.ts +15 -0
- package/dist/sdk/infra/adapters/repositories/http-site-repo.d.ts.map +1 -0
- package/dist/sdk/infra/adapters/repositories/http-site-repo.js +51 -0
- package/dist/sdk/infra/adapters/repositories/http-site-repo.js.map +1 -0
- package/dist/sdk/infra/adapters/repositories/static-walde-admin-config.d.ts +9 -0
- package/dist/sdk/infra/adapters/repositories/static-walde-admin-config.d.ts.map +1 -0
- package/dist/sdk/infra/adapters/repositories/static-walde-admin-config.js +13 -0
- package/dist/sdk/infra/adapters/repositories/static-walde-admin-config.js.map +1 -0
- package/dist/sdk/infra/adapters/repositories/writer-api-aws-ui-upload-credentials-repo.d.ts +15 -0
- package/dist/sdk/infra/adapters/repositories/writer-api-aws-ui-upload-credentials-repo.d.ts.map +1 -0
- package/dist/sdk/infra/adapters/repositories/writer-api-aws-ui-upload-credentials-repo.js +25 -0
- package/dist/sdk/infra/adapters/repositories/writer-api-aws-ui-upload-credentials-repo.js.map +1 -0
- package/dist/sdk/infra/backend/walde-client.d.ts +13 -0
- package/dist/sdk/infra/backend/walde-client.d.ts.map +1 -0
- package/dist/sdk/infra/backend/walde-client.js +29 -0
- package/dist/sdk/infra/backend/walde-client.js.map +1 -0
- package/dist/sdk/infra/factories/s3-files-repo-factory.d.ts +9 -0
- package/dist/sdk/infra/factories/s3-files-repo-factory.d.ts.map +1 -0
- package/dist/sdk/infra/factories/s3-files-repo-factory.js +10 -0
- package/dist/sdk/infra/factories/s3-files-repo-factory.js.map +1 -0
- package/dist/sdk/infra/factories/walde-admin-config-factory.d.ts +24 -0
- package/dist/sdk/infra/factories/walde-admin-config-factory.d.ts.map +1 -0
- package/dist/sdk/infra/factories/walde-admin-config-factory.js +99 -0
- package/dist/sdk/infra/factories/walde-admin-config-factory.js.map +1 -0
- package/dist/sdk/infra/factories/walde-admin-factory.d.ts +17 -0
- package/dist/sdk/infra/factories/walde-admin-factory.d.ts.map +1 -0
- package/dist/sdk/infra/factories/walde-admin-factory.js +42 -0
- package/dist/sdk/infra/factories/walde-admin-factory.js.map +1 -0
- package/dist/sdk/infra/factories/walde-factory.d.ts +13 -0
- package/dist/sdk/infra/factories/walde-factory.d.ts.map +1 -0
- package/dist/sdk/infra/factories/walde-factory.js +19 -0
- package/dist/sdk/infra/factories/walde-factory.js.map +1 -0
- package/dist/sdk/infra/futures/api-future.d.ts +15 -0
- package/dist/sdk/infra/futures/api-future.d.ts.map +1 -0
- package/dist/sdk/infra/futures/api-future.js +28 -0
- package/dist/sdk/infra/futures/api-future.js.map +1 -0
- package/dist/sdk/infra/futures/content-future.d.ts +26 -0
- package/dist/sdk/infra/futures/content-future.d.ts.map +1 -0
- package/dist/sdk/infra/futures/content-future.js +63 -0
- package/dist/sdk/infra/futures/content-future.js.map +1 -0
- package/dist/sdk/infra/futures/content-item-future.d.ts +25 -0
- package/dist/sdk/infra/futures/content-item-future.d.ts.map +1 -0
- package/dist/sdk/infra/futures/content-item-future.js +47 -0
- package/dist/sdk/infra/futures/content-item-future.js.map +1 -0
- package/dist/sdk/infra/futures/content-iterator.d.ts +44 -0
- package/dist/sdk/infra/futures/content-iterator.d.ts.map +1 -0
- package/dist/sdk/infra/futures/content-iterator.js +123 -0
- package/dist/sdk/infra/futures/content-iterator.js.map +1 -0
- package/dist/sdk/infra/futures/content-list-future.d.ts +16 -0
- package/dist/sdk/infra/futures/content-list-future.d.ts.map +1 -0
- package/dist/sdk/infra/futures/content-list-future.js +19 -0
- package/dist/sdk/infra/futures/content-list-future.js.map +1 -0
- package/dist/sdk/infra/futures/contents-future.d.ts +23 -0
- package/dist/sdk/infra/futures/contents-future.d.ts.map +1 -0
- package/dist/sdk/infra/futures/contents-future.js +33 -0
- package/dist/sdk/infra/futures/contents-future.js.map +1 -0
- package/dist/sdk/infra/futures/credentials-future.d.ts +14 -0
- package/dist/sdk/infra/futures/credentials-future.d.ts.map +1 -0
- package/dist/sdk/infra/futures/credentials-future.js +67 -0
- package/dist/sdk/infra/futures/credentials-future.js.map +1 -0
- package/dist/sdk/infra/futures/frontend-contents-future.d.ts +37 -0
- package/dist/sdk/infra/futures/frontend-contents-future.d.ts.map +1 -0
- package/dist/sdk/infra/futures/frontend-contents-future.js +62 -0
- package/dist/sdk/infra/futures/frontend-contents-future.js.map +1 -0
- package/dist/sdk/infra/futures/manifest-future.d.ts +18 -0
- package/dist/sdk/infra/futures/manifest-future.d.ts.map +1 -0
- package/dist/sdk/infra/futures/manifest-future.js +28 -0
- package/dist/sdk/infra/futures/manifest-future.js.map +1 -0
- package/dist/sdk/infra/futures/site-future.d.ts +41 -0
- package/dist/sdk/infra/futures/site-future.d.ts.map +1 -0
- package/dist/sdk/infra/futures/site-future.js +113 -0
- package/dist/sdk/infra/futures/site-future.js.map +1 -0
- package/dist/sdk/infra/futures/sites-future.d.ts +19 -0
- package/dist/sdk/infra/futures/sites-future.d.ts.map +1 -0
- package/dist/sdk/infra/futures/sites-future.js +35 -0
- package/dist/sdk/infra/futures/sites-future.js.map +1 -0
- package/dist/sdk/infra/futures/ui-future.d.ts +25 -0
- package/dist/sdk/infra/futures/ui-future.d.ts.map +1 -0
- package/dist/sdk/infra/futures/ui-future.js +35 -0
- package/dist/sdk/infra/futures/ui-future.js.map +1 -0
- package/dist/sdk/infra/futures/walde-admin-future.d.ts +41 -0
- package/dist/sdk/infra/futures/walde-admin-future.d.ts.map +1 -0
- package/dist/sdk/infra/futures/walde-admin-future.js +50 -0
- package/dist/sdk/infra/futures/walde-admin-future.js.map +1 -0
- package/dist/sdk/infra/futures/walde-future.d.ts +40 -0
- package/dist/sdk/infra/futures/walde-future.d.ts.map +1 -0
- package/dist/sdk/infra/futures/walde-future.js +66 -0
- package/dist/sdk/infra/futures/walde-future.js.map +1 -0
- package/dist/sdk/infra/futures/workspace-future.d.ts +38 -0
- package/dist/sdk/infra/futures/workspace-future.d.ts.map +1 -0
- package/dist/sdk/infra/futures/workspace-future.js +45 -0
- package/dist/sdk/infra/futures/workspace-future.js.map +1 -0
- package/dist/sdk/infra/mappers/dto/frontend-content-dto-mapper.d.ts +20 -0
- package/dist/sdk/infra/mappers/dto/frontend-content-dto-mapper.d.ts.map +1 -0
- package/dist/sdk/infra/mappers/dto/frontend-content-dto-mapper.js +54 -0
- package/dist/sdk/infra/mappers/dto/frontend-content-dto-mapper.js.map +1 -0
- package/dist/sdk/infra/mappers/dto/manifest-dto-mapper.d.ts +24 -0
- package/dist/sdk/infra/mappers/dto/manifest-dto-mapper.d.ts.map +1 -0
- package/dist/sdk/infra/mappers/dto/manifest-dto-mapper.js +49 -0
- package/dist/sdk/infra/mappers/dto/manifest-dto-mapper.js.map +1 -0
- package/dist/sdk/make-walde-admin.d.ts +15 -0
- package/dist/sdk/make-walde-admin.d.ts.map +1 -0
- package/dist/sdk/make-walde-admin.js +8 -0
- package/dist/sdk/make-walde-admin.js.map +1 -0
- package/dist/sdk/make-walde.d.ts +12 -0
- package/dist/sdk/make-walde.d.ts.map +1 -0
- package/dist/sdk/make-walde.js +8 -0
- package/dist/sdk/make-walde.js.map +1 -0
- package/dist/std/domain/entities/future.d.ts +28 -0
- package/dist/std/domain/entities/future.d.ts.map +1 -0
- package/dist/std/domain/entities/future.js +21 -0
- package/dist/std/domain/entities/future.js.map +1 -0
- package/dist/std/domain/entities/option.d.ts +53 -0
- package/dist/std/domain/entities/option.d.ts.map +1 -0
- package/dist/std/domain/entities/option.js +58 -0
- package/dist/std/domain/entities/option.js.map +1 -0
- package/dist/std/domain/entities/result.d.ts +87 -0
- package/dist/std/domain/entities/result.d.ts.map +1 -0
- package/dist/std/domain/entities/result.js +104 -0
- package/dist/std/domain/entities/result.js.map +1 -0
- package/dist/std/index.d.ts +6 -0
- package/dist/std/index.d.ts.map +1 -0
- package/dist/std/index.js +4 -0
- package/dist/std/index.js.map +1 -0
- package/package.json +33 -0
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { Future, ok, err } from '@/std';
|
|
2
|
+
import { Content } from '@/sdk/domain/entities/content';
|
|
3
|
+
import { PushContent } from '@/sdk/domain/interactors/content/push-content';
|
|
4
|
+
import { FileContentReader } from '@/sdk/infra/adapters/filesystem/file-content-reader';
|
|
5
|
+
import { FileContentWriter } from '@/sdk/infra/adapters/filesystem/file-content-writer';
|
|
6
|
+
import { WaldeValidationError } from '@/sdk/domain/errors';
|
|
7
|
+
/**
|
|
8
|
+
* Future for content operations
|
|
9
|
+
*/
|
|
10
|
+
export class ContentFuture extends Future {
|
|
11
|
+
params;
|
|
12
|
+
constructor(params) {
|
|
13
|
+
super({ parent: params });
|
|
14
|
+
this.params = params;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Set content properties
|
|
18
|
+
*/
|
|
19
|
+
set(data) {
|
|
20
|
+
return new ContentFuture({
|
|
21
|
+
...this.params,
|
|
22
|
+
contentData: { ...this.params.contentData, ...data }
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Resolve the content operation
|
|
27
|
+
*/
|
|
28
|
+
async resolve() {
|
|
29
|
+
try {
|
|
30
|
+
const config = this.params.parent.getConfig();
|
|
31
|
+
if (this.params.filePath) {
|
|
32
|
+
// Push from file - create file adapters
|
|
33
|
+
const contentFileReader = new FileContentReader();
|
|
34
|
+
const contentFileWriter = new FileContentWriter();
|
|
35
|
+
const pushContent = new PushContent(config.contentRepo, contentFileReader, contentFileWriter);
|
|
36
|
+
const result = await pushContent.execute(this.params.siteId, this.params.filePath);
|
|
37
|
+
return ok(result);
|
|
38
|
+
}
|
|
39
|
+
else if (this.params.contentData) {
|
|
40
|
+
// Push content data
|
|
41
|
+
if (!this.params.contentData.name) {
|
|
42
|
+
return err(new WaldeValidationError('Content name is required'));
|
|
43
|
+
}
|
|
44
|
+
if (!this.params.contentData.key) {
|
|
45
|
+
return err(new WaldeValidationError('Content key is required'));
|
|
46
|
+
}
|
|
47
|
+
if (!this.params.contentData.state) {
|
|
48
|
+
return err(new WaldeValidationError('Content state is required'));
|
|
49
|
+
}
|
|
50
|
+
const content = new Content(this.params.contentId, this.params.siteId, this.params.contentData.name, this.params.contentData.key, this.params.contentData.state);
|
|
51
|
+
const result = await config.contentRepo.pushContent(content, {});
|
|
52
|
+
return ok(result);
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
throw new WaldeValidationError('No content data or file path provided');
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
catch (error) {
|
|
59
|
+
return err(error);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=content-future.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content-future.js","sourceRoot":"","sources":["../../../../src/sdk/infra/futures/content-future.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Future } from '@/std/domain/entities/future';
|
|
2
|
+
import { Result } from '@/std/domain/entities/result';
|
|
3
|
+
import { FrontendContent } from '@/sdk/domain/entities/frontend-content';
|
|
4
|
+
import { ManifestContent } from '@/sdk/domain/entities/manifest-content';
|
|
5
|
+
import { FrontendHttpClient } from '@/sdk/infra/adapters/frontend-http-client';
|
|
6
|
+
import { FrontendContentDtoMapper } from '@/sdk/infra/mappers/dto/frontend-content-dto-mapper';
|
|
7
|
+
/**
|
|
8
|
+
* Future for individual content item operations with locale support
|
|
9
|
+
*/
|
|
10
|
+
export declare class ContentItemFuture extends Future<FrontendContent, never> {
|
|
11
|
+
private readonly contentMetadata;
|
|
12
|
+
private readonly httpClient;
|
|
13
|
+
private readonly contentMapper;
|
|
14
|
+
private selectedLocale?;
|
|
15
|
+
constructor(contentMetadata: ManifestContent, httpClient: FrontendHttpClient, contentMapper: FrontendContentDtoMapper);
|
|
16
|
+
/**
|
|
17
|
+
* Specify locale for content retrieval
|
|
18
|
+
*/
|
|
19
|
+
locale(locale: string): ContentItemFuture;
|
|
20
|
+
/**
|
|
21
|
+
* Resolve the content by fetching from the API
|
|
22
|
+
*/
|
|
23
|
+
resolve(): Promise<Result<FrontendContent, any>>;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=content-item-future.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content-item-future.d.ts","sourceRoot":"","sources":["../../../../src/sdk/infra/futures/content-item-future.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAE,MAAM,EAAW,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAC/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,qDAAqD,CAAC;AAG/F;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,MAAM,CAAC,eAAe,EAAE,KAAK,CAAC;IAIjE,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,aAAa;IALhC,OAAO,CAAC,cAAc,CAAC,CAAS;gBAGb,eAAe,EAAE,eAAe,EAChC,UAAU,EAAE,kBAAkB,EAC9B,aAAa,EAAE,wBAAwB;IAK1D;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,iBAAiB;IAgBzC;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;CAgBvD"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { Future } from '@/std/domain/entities/future';
|
|
2
|
+
import { ok, err } from '@/std/domain/entities/result';
|
|
3
|
+
import { WaldeValidationError } from '@/sdk/domain/errors';
|
|
4
|
+
/**
|
|
5
|
+
* Future for individual content item operations with locale support
|
|
6
|
+
*/
|
|
7
|
+
export class ContentItemFuture extends Future {
|
|
8
|
+
contentMetadata;
|
|
9
|
+
httpClient;
|
|
10
|
+
contentMapper;
|
|
11
|
+
selectedLocale;
|
|
12
|
+
constructor(contentMetadata, httpClient, contentMapper) {
|
|
13
|
+
super({ parent: undefined });
|
|
14
|
+
this.contentMetadata = contentMetadata;
|
|
15
|
+
this.httpClient = httpClient;
|
|
16
|
+
this.contentMapper = contentMapper;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Specify locale for content retrieval
|
|
20
|
+
*/
|
|
21
|
+
locale(locale) {
|
|
22
|
+
if (!this.contentMetadata.locales.includes(locale)) {
|
|
23
|
+
throw new WaldeValidationError(`Locale '${locale}' not available for content '${this.contentMetadata.name}'. Available locales: ${this.contentMetadata.locales.join(', ')}`);
|
|
24
|
+
}
|
|
25
|
+
const newFuture = new ContentItemFuture(this.contentMetadata, this.httpClient, this.contentMapper);
|
|
26
|
+
newFuture.selectedLocale = locale;
|
|
27
|
+
return newFuture;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Resolve the content by fetching from the API
|
|
31
|
+
*/
|
|
32
|
+
async resolve() {
|
|
33
|
+
try {
|
|
34
|
+
if (!this.selectedLocale) {
|
|
35
|
+
throw new WaldeValidationError(`Locale must be specified for content '${this.contentMetadata.name}'. Available locales: ${this.contentMetadata.locales.join(', ')}`);
|
|
36
|
+
}
|
|
37
|
+
const endpoint = `/contents/${this.contentMetadata.id}/${this.selectedLocale}.json`;
|
|
38
|
+
const contentData = await this.httpClient.get(endpoint);
|
|
39
|
+
const content = this.contentMapper.toDomain(contentData);
|
|
40
|
+
return ok(content);
|
|
41
|
+
}
|
|
42
|
+
catch (error) {
|
|
43
|
+
return err(error);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=content-item-future.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content-item-future.js","sourceRoot":"","sources":["../../../../src/sdk/infra/futures/content-item-future.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAU,EAAE,EAAE,GAAG,EAAE,MAAM,8BAA8B,CAAC;AAK/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D;;GAEG;AACH,MAAM,OAAO,iBAAkB,SAAQ,MAA8B;IAIhD;IACA;IACA;IALX,cAAc,CAAU;IAEhC,YACmB,eAAgC,EAChC,UAA8B,EAC9B,aAAuC;QAExD,KAAK,CAAC,EAAE,MAAM,EAAE,SAAkB,EAAE,CAAC,CAAC;QAJrB,oBAAe,GAAf,eAAe,CAAiB;QAChC,eAAU,GAAV,UAAU,CAAoB;QAC9B,kBAAa,GAAb,aAAa,CAA0B;IAG1D,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,MAAc;QACnB,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACnD,MAAM,IAAI,oBAAoB,CAC5B,WAAW,MAAM,gCAAgC,IAAI,CAAC,eAAe,CAAC,IAAI,yBAAyB,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC7I,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,iBAAiB,CACrC,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,aAAa,CACnB,CAAC;QACF,SAAS,CAAC,cAAc,GAAG,MAAM,CAAC;QAClC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACX,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACzB,MAAM,IAAI,oBAAoB,CAC5B,yCAAyC,IAAI,CAAC,eAAe,CAAC,IAAI,yBAAyB,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACrI,CAAC;YACJ,CAAC;YAED,MAAM,QAAQ,GAAG,aAAa,IAAI,CAAC,eAAe,CAAC,EAAE,IAAI,IAAI,CAAC,cAAc,OAAO,CAAC;YACpF,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAM,QAAQ,CAAC,CAAC;YAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YACzD,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Future } from '@/std';
|
|
2
|
+
import type { Result, Option } from '@/std';
|
|
3
|
+
import { Content } from '@/sdk/domain/entities/content';
|
|
4
|
+
export interface ContentIteratorParams {
|
|
5
|
+
parent: any;
|
|
6
|
+
siteId: string;
|
|
7
|
+
folderPath: string;
|
|
8
|
+
onProgress: (current: number, total: number, filePath: string, success: boolean, error?: Error) => void;
|
|
9
|
+
}
|
|
10
|
+
export interface ContentResult {
|
|
11
|
+
filePath: string;
|
|
12
|
+
content: Content;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Iterator for batch content uploads
|
|
16
|
+
*/
|
|
17
|
+
export declare class ContentIterator extends Future<ContentResult[], ContentIteratorParams> {
|
|
18
|
+
private params;
|
|
19
|
+
private files;
|
|
20
|
+
private currentIndex;
|
|
21
|
+
private initialized;
|
|
22
|
+
constructor(params: ContentIteratorParams);
|
|
23
|
+
/**
|
|
24
|
+
* Initialize file list if not already done
|
|
25
|
+
*/
|
|
26
|
+
private initialize;
|
|
27
|
+
/**
|
|
28
|
+
* Scan folder for markdown files
|
|
29
|
+
*/
|
|
30
|
+
private scanFolder;
|
|
31
|
+
/**
|
|
32
|
+
* Process next file
|
|
33
|
+
*/
|
|
34
|
+
next(): Future<Option<ContentResult>, ContentIteratorParams>;
|
|
35
|
+
/**
|
|
36
|
+
* Process specified number of files
|
|
37
|
+
*/
|
|
38
|
+
iter(count: number): ContentIterator;
|
|
39
|
+
/**
|
|
40
|
+
* Process all remaining files
|
|
41
|
+
*/
|
|
42
|
+
resolve(): Promise<Result<ContentResult[], Error>>;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=content-iterator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content-iterator.d.ts","sourceRoot":"","sources":["../../../../src/sdk/infra/futures/content-iterator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAuB,MAAM,OAAO,CAAC;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAKxD,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,GAAG,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;CACzG;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,MAAM,CAAC,aAAa,EAAE,EAAE,qBAAqB,CAAC;IAKrE,OAAO,CAAC,MAAM;IAJ1B,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,WAAW,CAAS;gBAER,MAAM,EAAE,qBAAqB;IAIjD;;OAEG;YACW,UAAU;IAOxB;;OAEG;YACW,UAAU;IAqBxB;;OAEG;IACH,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,qBAAqB,CAAC;IAiC5D;;OAEG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe;IAapC;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,KAAK,CAAC,CAAC;CAkCzD"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { readdir, stat } from 'fs/promises';
|
|
2
|
+
import { join, extname } from 'path';
|
|
3
|
+
import { Future, ok, err, some, none } from '@/std';
|
|
4
|
+
import { PushContent } from '@/sdk/domain/interactors/content/push-content';
|
|
5
|
+
import { FileContentReader } from '@/sdk/infra/adapters/filesystem/file-content-reader';
|
|
6
|
+
import { FileContentWriter } from '@/sdk/infra/adapters/filesystem/file-content-writer';
|
|
7
|
+
/**
|
|
8
|
+
* Iterator for batch content uploads
|
|
9
|
+
*/
|
|
10
|
+
export class ContentIterator extends Future {
|
|
11
|
+
params;
|
|
12
|
+
files = [];
|
|
13
|
+
currentIndex = 0;
|
|
14
|
+
initialized = false;
|
|
15
|
+
constructor(params) {
|
|
16
|
+
super({ parent: params });
|
|
17
|
+
this.params = params;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Initialize file list if not already done
|
|
21
|
+
*/
|
|
22
|
+
async initialize() {
|
|
23
|
+
if (this.initialized)
|
|
24
|
+
return;
|
|
25
|
+
this.files = await this.scanFolder(this.params.folderPath);
|
|
26
|
+
this.initialized = true;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Scan folder for markdown files
|
|
30
|
+
*/
|
|
31
|
+
async scanFolder(folderPath) {
|
|
32
|
+
const files = [];
|
|
33
|
+
try {
|
|
34
|
+
const entries = await readdir(folderPath);
|
|
35
|
+
for (const entry of entries) {
|
|
36
|
+
const fullPath = join(folderPath, entry);
|
|
37
|
+
const stats = await stat(fullPath);
|
|
38
|
+
if (stats.isFile() && extname(entry) === '.md') {
|
|
39
|
+
files.push(fullPath);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
catch (error) {
|
|
44
|
+
// Folder doesn't exist or can't be read
|
|
45
|
+
}
|
|
46
|
+
return files;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Process next file
|
|
50
|
+
*/
|
|
51
|
+
next() {
|
|
52
|
+
return new (class extends Future {
|
|
53
|
+
iterator;
|
|
54
|
+
constructor(iterator) {
|
|
55
|
+
super(iterator.params);
|
|
56
|
+
this.iterator = iterator;
|
|
57
|
+
}
|
|
58
|
+
async resolve() {
|
|
59
|
+
try {
|
|
60
|
+
await this.iterator.initialize();
|
|
61
|
+
if (this.iterator.currentIndex >= this.iterator.files.length) {
|
|
62
|
+
return ok(none());
|
|
63
|
+
}
|
|
64
|
+
const filePath = this.iterator.files[this.iterator.currentIndex++];
|
|
65
|
+
const config = this.iterator.params.parent.getConfig();
|
|
66
|
+
const contentFileReader = new FileContentReader();
|
|
67
|
+
const contentFileWriter = new FileContentWriter();
|
|
68
|
+
const pushContent = new PushContent(config.contentRepo, contentFileReader, contentFileWriter);
|
|
69
|
+
const content = await pushContent.execute(this.iterator.params.siteId, filePath);
|
|
70
|
+
return ok(some({ filePath, content }));
|
|
71
|
+
}
|
|
72
|
+
catch (error) {
|
|
73
|
+
return err(error);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
})(this);
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Process specified number of files
|
|
80
|
+
*/
|
|
81
|
+
iter(count) {
|
|
82
|
+
const newIterator = new ContentIterator(this.params);
|
|
83
|
+
newIterator.files = this.files;
|
|
84
|
+
newIterator.currentIndex = this.currentIndex;
|
|
85
|
+
newIterator.initialized = this.initialized;
|
|
86
|
+
// Update internal state to process 'count' files
|
|
87
|
+
newIterator.currentIndex = Math.min(this.currentIndex + count, this.files.length);
|
|
88
|
+
this.currentIndex = newIterator.currentIndex;
|
|
89
|
+
return newIterator;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Process all remaining files
|
|
93
|
+
*/
|
|
94
|
+
async resolve() {
|
|
95
|
+
try {
|
|
96
|
+
await this.initialize();
|
|
97
|
+
const results = [];
|
|
98
|
+
const config = this.params.parent.getConfig();
|
|
99
|
+
const contentFileReader = new FileContentReader();
|
|
100
|
+
const contentFileWriter = new FileContentWriter();
|
|
101
|
+
const pushContent = new PushContent(config.contentRepo, contentFileReader, contentFileWriter);
|
|
102
|
+
let current = 0;
|
|
103
|
+
while (this.currentIndex < this.files.length) {
|
|
104
|
+
const filePath = this.files[this.currentIndex++];
|
|
105
|
+
current++;
|
|
106
|
+
try {
|
|
107
|
+
const content = await pushContent.execute(this.params.siteId, filePath);
|
|
108
|
+
results.push({ filePath, content });
|
|
109
|
+
this.params.onProgress(current, this.files.length, filePath, true);
|
|
110
|
+
}
|
|
111
|
+
catch (error) {
|
|
112
|
+
this.params.onProgress(current, this.files.length, filePath, false, error);
|
|
113
|
+
// Continue processing other files even if one fails
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
return ok(results);
|
|
117
|
+
}
|
|
118
|
+
catch (error) {
|
|
119
|
+
return err(error);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=content-iterator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content-iterator.js","sourceRoot":"","sources":["../../../../src/sdk/infra/futures/content-iterator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Future } from '@/std/domain/entities/future';
|
|
2
|
+
import { Result } from '@/std/domain/entities/result';
|
|
3
|
+
import { ManifestContent } from '@/sdk/domain/entities/manifest-content';
|
|
4
|
+
import { Manifest } from '@/sdk/domain/entities/manifest';
|
|
5
|
+
/**
|
|
6
|
+
* Future for content list operations from manifest
|
|
7
|
+
*/
|
|
8
|
+
export declare class ContentListFuture extends Future<ManifestContent[], never> {
|
|
9
|
+
private readonly manifest;
|
|
10
|
+
constructor(manifest: Manifest);
|
|
11
|
+
/**
|
|
12
|
+
* Resolve the list of content metadata from manifest
|
|
13
|
+
*/
|
|
14
|
+
resolve(): Promise<Result<ManifestContent[], any>>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=content-list-future.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content-list-future.d.ts","sourceRoot":"","sources":["../../../../src/sdk/infra/futures/content-list-future.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAE,MAAM,EAAM,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAE1D;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,MAAM,CAAC,eAAe,EAAE,EAAE,KAAK,CAAC;IACzD,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,QAAQ;IAI/C;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,EAAE,GAAG,CAAC,CAAC;CAGzD"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Future } from '@/std/domain/entities/future';
|
|
2
|
+
import { ok } from '@/std/domain/entities/result';
|
|
3
|
+
/**
|
|
4
|
+
* Future for content list operations from manifest
|
|
5
|
+
*/
|
|
6
|
+
export class ContentListFuture extends Future {
|
|
7
|
+
manifest;
|
|
8
|
+
constructor(manifest) {
|
|
9
|
+
super({ parent: undefined });
|
|
10
|
+
this.manifest = manifest;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Resolve the list of content metadata from manifest
|
|
14
|
+
*/
|
|
15
|
+
async resolve() {
|
|
16
|
+
return ok(this.manifest.contents);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=content-list-future.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content-list-future.js","sourceRoot":"","sources":["../../../../src/sdk/infra/futures/content-list-future.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAU,EAAE,EAAE,MAAM,8BAA8B,CAAC;AAI1D;;GAEG;AACH,MAAM,OAAO,iBAAkB,SAAQ,MAAgC;IACxC;IAA7B,YAA6B,QAAkB;QAC7C,KAAK,CAAC,EAAE,MAAM,EAAE,SAAkB,EAAE,CAAC,CAAC;QADX,aAAQ,GAAR,QAAQ,CAAU;IAE/C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACX,OAAO,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;CACF"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Future } from '@/std';
|
|
2
|
+
import type { Result } from '@/std';
|
|
3
|
+
import { Content } from '@/sdk/domain/entities/content';
|
|
4
|
+
export interface ContentsParams {
|
|
5
|
+
parent: any;
|
|
6
|
+
siteId: string;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Future for contents list operations
|
|
10
|
+
*/
|
|
11
|
+
export declare class ContentsFuture extends Future<Content[], ContentsParams> {
|
|
12
|
+
private params;
|
|
13
|
+
constructor(params: ContentsParams);
|
|
14
|
+
/**
|
|
15
|
+
* List all contents
|
|
16
|
+
*/
|
|
17
|
+
list(): ContentsFuture;
|
|
18
|
+
/**
|
|
19
|
+
* Resolve the contents list operation
|
|
20
|
+
*/
|
|
21
|
+
resolve(): Promise<Result<Content[], Error>>;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=contents-future.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contents-future.d.ts","sourceRoot":"","sources":["../../../../src/sdk/infra/futures/contents-future.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAW,MAAM,OAAO,CAAC;AACxC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAGxD,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,GAAG,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,MAAM,CAAC,OAAO,EAAE,EAAE,cAAc,CAAC;IACvD,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,cAAc;IAI1C;;OAEG;IACH,IAAI,IAAI,cAAc;IAItB;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC;CAUnD"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Future, ok, err } from '@/std';
|
|
2
|
+
import { ListContents } from '@/sdk/domain/interactors/content/list-contents';
|
|
3
|
+
/**
|
|
4
|
+
* Future for contents list operations
|
|
5
|
+
*/
|
|
6
|
+
export class ContentsFuture extends Future {
|
|
7
|
+
params;
|
|
8
|
+
constructor(params) {
|
|
9
|
+
super({ parent: params });
|
|
10
|
+
this.params = params;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* List all contents
|
|
14
|
+
*/
|
|
15
|
+
list() {
|
|
16
|
+
return this;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Resolve the contents list operation
|
|
20
|
+
*/
|
|
21
|
+
async resolve() {
|
|
22
|
+
try {
|
|
23
|
+
const config = this.params.parent.getConfig();
|
|
24
|
+
const listContents = new ListContents(config.contentRepo);
|
|
25
|
+
const result = await listContents.execute(this.params.siteId);
|
|
26
|
+
return ok(result);
|
|
27
|
+
}
|
|
28
|
+
catch (error) {
|
|
29
|
+
return err(error);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=contents-future.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contents-future.js","sourceRoot":"","sources":["../../../../src/sdk/infra/futures/contents-future.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAGxC,OAAO,EAAE,YAAY,EAAE,MAAM,gDAAgD,CAAC;AAO9E;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,MAAiC;IAC/C;IAApB,YAAoB,MAAsB;QACxC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QADR,WAAM,GAAN,MAAM,CAAgB;IAE1C,CAAC;IAED;;OAEG;IACH,IAAI;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACX,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAC9C,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC1D,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC9D,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,GAAG,CAAC,KAAc,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Future, Result } from '@/std';
|
|
2
|
+
import { WaldeAdmin } from './walde-admin-future';
|
|
3
|
+
import { Credentials } from '@/sdk/domain/entities/credentials';
|
|
4
|
+
export declare class CredentialsFuture extends Future<Credentials, WaldeAdmin> {
|
|
5
|
+
private operation;
|
|
6
|
+
constructor({ parent }: {
|
|
7
|
+
parent: WaldeAdmin;
|
|
8
|
+
});
|
|
9
|
+
get(): CredentialsFuture;
|
|
10
|
+
refresh(): CredentialsFuture;
|
|
11
|
+
getToken(): Future<string, WaldeAdmin>;
|
|
12
|
+
resolve(): Promise<Result<Credentials, any>>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=credentials-future.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credentials-future.d.ts","sourceRoot":"","sources":["../../../../src/sdk/infra/futures/credentials-future.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAW,MAAM,OAAO,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAOhE,qBAAa,iBAAkB,SAAQ,MAAM,CAAC,WAAW,EAAE,UAAU,CAAC;IACpE,OAAO,CAAC,SAAS,CAA+C;gBAEpD,EAAE,MAAM,EAAE,EAAE;QAAE,MAAM,EAAE,UAAU,CAAA;KAAE;IAI9C,GAAG,IAAI,iBAAiB;IAMxB,OAAO,IAAI,iBAAiB;IAM5B,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC;IAIhC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;CA8BnD"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { Future, ok, err } from '@/std';
|
|
2
|
+
import { GetCredentials } from '@/sdk/domain/interactors/get-credentials';
|
|
3
|
+
import { RefreshCredentials } from '@/sdk/domain/interactors/refresh-credentials';
|
|
4
|
+
import { GetToken } from '@/sdk/domain/interactors/get-token';
|
|
5
|
+
import { CognitoTokenRefreshProvider } from '@/sdk/infra/adapters/cognito-token-refresh-provider';
|
|
6
|
+
import { WaldeConfigurationError, WaldeUsageError } from '@/sdk/domain/errors';
|
|
7
|
+
export class CredentialsFuture extends Future {
|
|
8
|
+
operation = null;
|
|
9
|
+
constructor({ parent }) {
|
|
10
|
+
super({ parent });
|
|
11
|
+
}
|
|
12
|
+
get() {
|
|
13
|
+
const future = new CredentialsFuture({ parent: this.parent });
|
|
14
|
+
future.operation = 'get';
|
|
15
|
+
return future;
|
|
16
|
+
}
|
|
17
|
+
refresh() {
|
|
18
|
+
const future = new CredentialsFuture({ parent: this.parent });
|
|
19
|
+
future.operation = 'refresh';
|
|
20
|
+
return future;
|
|
21
|
+
}
|
|
22
|
+
getToken() {
|
|
23
|
+
return new TokenFuture({ parent: this.parent });
|
|
24
|
+
}
|
|
25
|
+
async resolve() {
|
|
26
|
+
try {
|
|
27
|
+
const config = this.parent.getConfig();
|
|
28
|
+
if (this.operation === 'get') {
|
|
29
|
+
const interactor = new GetCredentials(config.credentialsProvider);
|
|
30
|
+
const credentials = await interactor.execute();
|
|
31
|
+
return ok(credentials);
|
|
32
|
+
}
|
|
33
|
+
else if (this.operation === 'refresh') {
|
|
34
|
+
if (!config.config.clientId) {
|
|
35
|
+
throw new WaldeConfigurationError('Cognito client ID not configured');
|
|
36
|
+
}
|
|
37
|
+
const tokenRefreshProvider = new CognitoTokenRefreshProvider(config.config.clientId, config.config.region);
|
|
38
|
+
const interactor = new RefreshCredentials(config.credentialsProvider, tokenRefreshProvider);
|
|
39
|
+
const credentials = await interactor.execute();
|
|
40
|
+
return ok(credentials);
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
throw new WaldeUsageError('No operation specified');
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
return err(error.message);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
class TokenFuture extends Future {
|
|
52
|
+
constructor({ parent }) {
|
|
53
|
+
super({ parent });
|
|
54
|
+
}
|
|
55
|
+
async resolve() {
|
|
56
|
+
try {
|
|
57
|
+
const config = this.parent.getConfig();
|
|
58
|
+
const interactor = new GetToken(config.credentialsProvider);
|
|
59
|
+
const token = await interactor.execute();
|
|
60
|
+
return ok(token);
|
|
61
|
+
}
|
|
62
|
+
catch (error) {
|
|
63
|
+
return err(error.message);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=credentials-future.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credentials-future.js","sourceRoot":"","sources":["../../../../src/sdk/infra/futures/credentials-future.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Future } from '@/std/domain/entities/future';
|
|
2
|
+
import { Result } from '@/std/domain/entities/result';
|
|
3
|
+
import { Manifest } from '@/sdk/domain/entities/manifest';
|
|
4
|
+
import { FrontendHttpClient } from '@/sdk/infra/adapters/frontend-http-client';
|
|
5
|
+
import { FrontendContentDtoMapper } from '@/sdk/infra/mappers/dto/frontend-content-dto-mapper';
|
|
6
|
+
import { ContentListFuture } from './content-list-future';
|
|
7
|
+
import { ContentItemFuture } from './content-item-future';
|
|
8
|
+
/**
|
|
9
|
+
* Future for frontend content operations with manifest-based validation
|
|
10
|
+
*/
|
|
11
|
+
export declare class FrontendContentsFuture extends Future<FrontendContentsFuture, never> {
|
|
12
|
+
private readonly manifest;
|
|
13
|
+
private readonly httpClient;
|
|
14
|
+
private readonly contentMapper;
|
|
15
|
+
constructor(manifest: Manifest, httpClient: FrontendHttpClient, contentMapper: FrontendContentDtoMapper);
|
|
16
|
+
/**
|
|
17
|
+
* Resolve returns self for method chaining
|
|
18
|
+
*/
|
|
19
|
+
resolve(): Promise<Result<FrontendContentsFuture, any>>;
|
|
20
|
+
/**
|
|
21
|
+
* Get list of contents from manifest
|
|
22
|
+
*/
|
|
23
|
+
list(): ContentListFuture;
|
|
24
|
+
/**
|
|
25
|
+
* Get content by ID with validation against manifest
|
|
26
|
+
*/
|
|
27
|
+
id(id: string): ContentItemFuture;
|
|
28
|
+
/**
|
|
29
|
+
* Get content by name with validation against manifest
|
|
30
|
+
*/
|
|
31
|
+
name(name: string): ContentItemFuture;
|
|
32
|
+
/**
|
|
33
|
+
* Get content by key with validation against manifest
|
|
34
|
+
*/
|
|
35
|
+
key(key: string): ContentItemFuture;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=frontend-contents-future.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frontend-contents-future.d.ts","sourceRoot":"","sources":["../../../../src/sdk/infra/futures/frontend-contents-future.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAE,MAAM,EAAM,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAC/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,qDAAqD,CAAC;AAC/F,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAG1D;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,MAAM,CAAC,sBAAsB,EAAE,KAAK,CAAC;IAE7E,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAFb,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,kBAAkB,EAC9B,aAAa,EAAE,wBAAwB;IAK1D;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC;IAI7D;;OAEG;IACH,IAAI,IAAI,iBAAiB;IAIzB;;OAEG;IACH,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,iBAAiB;IASjC;;OAEG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB;IASrC;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB;CAQpC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { Future } from '@/std/domain/entities/future';
|
|
2
|
+
import { ok } from '@/std/domain/entities/result';
|
|
3
|
+
import { ContentListFuture } from './content-list-future';
|
|
4
|
+
import { ContentItemFuture } from './content-item-future';
|
|
5
|
+
import { WaldeValidationError } from '@/sdk/domain/errors';
|
|
6
|
+
/**
|
|
7
|
+
* Future for frontend content operations with manifest-based validation
|
|
8
|
+
*/
|
|
9
|
+
export class FrontendContentsFuture extends Future {
|
|
10
|
+
manifest;
|
|
11
|
+
httpClient;
|
|
12
|
+
contentMapper;
|
|
13
|
+
constructor(manifest, httpClient, contentMapper) {
|
|
14
|
+
super({ parent: undefined });
|
|
15
|
+
this.manifest = manifest;
|
|
16
|
+
this.httpClient = httpClient;
|
|
17
|
+
this.contentMapper = contentMapper;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Resolve returns self for method chaining
|
|
21
|
+
*/
|
|
22
|
+
async resolve() {
|
|
23
|
+
return ok(this);
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Get list of contents from manifest
|
|
27
|
+
*/
|
|
28
|
+
list() {
|
|
29
|
+
return new ContentListFuture(this.manifest);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Get content by ID with validation against manifest
|
|
33
|
+
*/
|
|
34
|
+
id(id) {
|
|
35
|
+
const contentMetadata = this.manifest.contents.find(content => content.id === id);
|
|
36
|
+
if (!contentMetadata) {
|
|
37
|
+
throw new WaldeValidationError(`Content with ID '${id}' not found in manifest`);
|
|
38
|
+
}
|
|
39
|
+
return new ContentItemFuture(contentMetadata, this.httpClient, this.contentMapper);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Get content by name with validation against manifest
|
|
43
|
+
*/
|
|
44
|
+
name(name) {
|
|
45
|
+
const contentMetadata = this.manifest.contents.find(content => content.name === name);
|
|
46
|
+
if (!contentMetadata) {
|
|
47
|
+
throw new WaldeValidationError(`Content with name '${name}' not found in manifest`);
|
|
48
|
+
}
|
|
49
|
+
return new ContentItemFuture(contentMetadata, this.httpClient, this.contentMapper);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Get content by key with validation against manifest
|
|
53
|
+
*/
|
|
54
|
+
key(key) {
|
|
55
|
+
const contentMetadata = this.manifest.contents.find(content => content.key === key);
|
|
56
|
+
if (!contentMetadata) {
|
|
57
|
+
throw new WaldeValidationError(`Content with key '${key}' not found in manifest`);
|
|
58
|
+
}
|
|
59
|
+
return new ContentItemFuture(contentMetadata, this.httpClient, this.contentMapper);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=frontend-contents-future.js.map
|