@adaptive-ds/project-registry 0.2.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/LICENSE +22 -0
- package/README.md +40 -0
- package/dist/access/Actor.d.ts +7 -0
- package/dist/access/Actor.d.ts.map +1 -0
- package/dist/access/Actor.js +2 -0
- package/dist/access/Actor.js.map +1 -0
- package/dist/access/ProjectAccess.d.ts +8 -0
- package/dist/access/ProjectAccess.d.ts.map +1 -0
- package/dist/access/ProjectAccess.js +2 -0
- package/dist/access/ProjectAccess.js.map +1 -0
- package/dist/access/ProjectAccessCreateOptions.d.ts +27 -0
- package/dist/access/ProjectAccessCreateOptions.d.ts.map +1 -0
- package/dist/access/ProjectAccessCreateOptions.js +2 -0
- package/dist/access/ProjectAccessCreateOptions.js.map +1 -0
- package/dist/access/Role.d.ts +2 -0
- package/dist/access/Role.d.ts.map +1 -0
- package/dist/access/Role.js +2 -0
- package/dist/access/Role.js.map +1 -0
- package/dist/access/SuperadminOperation.d.ts +2 -0
- package/dist/access/SuperadminOperation.d.ts.map +1 -0
- package/dist/access/SuperadminOperation.js +2 -0
- package/dist/access/SuperadminOperation.js.map +1 -0
- package/dist/access/projectAccessCreate.d.ts +4 -0
- package/dist/access/projectAccessCreate.d.ts.map +1 -0
- package/dist/access/projectAccessCreate.js +180 -0
- package/dist/access/projectAccessCreate.js.map +1 -0
- package/dist/access/projectAuthorize.d.ts +5 -0
- package/dist/access/projectAuthorize.d.ts.map +1 -0
- package/dist/access/projectAuthorize.js +34 -0
- package/dist/access/projectAuthorize.js.map +1 -0
- package/dist/access/roleResolve.d.ts +4 -0
- package/dist/access/roleResolve.d.ts.map +1 -0
- package/dist/access/roleResolve.js +21 -0
- package/dist/access/roleResolve.js.map +1 -0
- package/dist/access/serviceAuthorize.d.ts +5 -0
- package/dist/access/serviceAuthorize.d.ts.map +1 -0
- package/dist/access/serviceAuthorize.js +10 -0
- package/dist/access/serviceAuthorize.js.map +1 -0
- package/dist/access/superadminAuthorize.d.ts +5 -0
- package/dist/access/superadminAuthorize.d.ts.map +1 -0
- package/dist/access/superadminAuthorize.js +24 -0
- package/dist/access/superadminAuthorize.js.map +1 -0
- package/dist/access/visibleUserList.d.ts +6 -0
- package/dist/access/visibleUserList.d.ts.map +1 -0
- package/dist/access/visibleUserList.js +51 -0
- package/dist/access/visibleUserList.js.map +1 -0
- package/dist/access-log/ProjectAccessLogRecord.d.ts +8 -0
- package/dist/access-log/ProjectAccessLogRecord.d.ts.map +1 -0
- package/dist/access-log/ProjectAccessLogRecord.js +2 -0
- package/dist/access-log/ProjectAccessLogRecord.js.map +1 -0
- package/dist/access-log/ProjectAccessLogSource.d.ts +22 -0
- package/dist/access-log/ProjectAccessLogSource.d.ts.map +1 -0
- package/dist/access-log/ProjectAccessLogSource.js +2 -0
- package/dist/access-log/ProjectAccessLogSource.js.map +1 -0
- package/dist/access-log/projectAccessLogCaddyRetention.d.ts +5 -0
- package/dist/access-log/projectAccessLogCaddyRetention.d.ts.map +1 -0
- package/dist/access-log/projectAccessLogCaddyRetention.js +5 -0
- package/dist/access-log/projectAccessLogCaddyRetention.js.map +1 -0
- package/dist/access-log/projectAccessLogCursor.d.ts +22 -0
- package/dist/access-log/projectAccessLogCursor.d.ts.map +1 -0
- package/dist/access-log/projectAccessLogCursor.js +148 -0
- package/dist/access-log/projectAccessLogCursor.js.map +1 -0
- package/dist/access-log/projectAccessLogId.d.ts +3 -0
- package/dist/access-log/projectAccessLogId.d.ts.map +1 -0
- package/dist/access-log/projectAccessLogId.js +6 -0
- package/dist/access-log/projectAccessLogId.js.map +1 -0
- package/dist/access-log/projectAccessLogListUseCase.d.ts +14 -0
- package/dist/access-log/projectAccessLogListUseCase.d.ts.map +1 -0
- package/dist/access-log/projectAccessLogListUseCase.js +74 -0
- package/dist/access-log/projectAccessLogListUseCase.js.map +1 -0
- package/dist/access-log/projectAccessLogOpenat2.d.ts +12 -0
- package/dist/access-log/projectAccessLogOpenat2.d.ts.map +1 -0
- package/dist/access-log/projectAccessLogOpenat2.js +123 -0
- package/dist/access-log/projectAccessLogOpenat2.js.map +1 -0
- package/dist/access-log/projectAccessLogParser.d.ts +4 -0
- package/dist/access-log/projectAccessLogParser.d.ts.map +1 -0
- package/dist/access-log/projectAccessLogParser.js +88 -0
- package/dist/access-log/projectAccessLogParser.js.map +1 -0
- package/dist/access-log/projectAccessLogPath.d.ts +4 -0
- package/dist/access-log/projectAccessLogPath.d.ts.map +1 -0
- package/dist/access-log/projectAccessLogPath.js +11 -0
- package/dist/access-log/projectAccessLogPath.js.map +1 -0
- package/dist/access-log/projectAccessLogRetentionMaximumActiveProjectIds.d.ts +2 -0
- package/dist/access-log/projectAccessLogRetentionMaximumActiveProjectIds.d.ts.map +1 -0
- package/dist/access-log/projectAccessLogRetentionMaximumActiveProjectIds.js +2 -0
- package/dist/access-log/projectAccessLogRetentionMaximumActiveProjectIds.js.map +1 -0
- package/dist/access-log/projectAccessLogRetentionReconcile.d.ts +19 -0
- package/dist/access-log/projectAccessLogRetentionReconcile.d.ts.map +1 -0
- package/dist/access-log/projectAccessLogRetentionReconcile.js +1365 -0
- package/dist/access-log/projectAccessLogRetentionReconcile.js.map +1 -0
- package/dist/access-log/projectAccessLogRootSchema.d.ts +3 -0
- package/dist/access-log/projectAccessLogRootSchema.d.ts.map +1 -0
- package/dist/access-log/projectAccessLogRootSchema.js +4 -0
- package/dist/access-log/projectAccessLogRootSchema.js.map +1 -0
- package/dist/access-log/projectAccessLogRootValidate.d.ts +3 -0
- package/dist/access-log/projectAccessLogRootValidate.d.ts.map +1 -0
- package/dist/access-log/projectAccessLogRootValidate.js +18 -0
- package/dist/access-log/projectAccessLogRootValidate.js.map +1 -0
- package/dist/access-log/projectAccessLogSourceFileCreate.d.ts +22 -0
- package/dist/access-log/projectAccessLogSourceFileCreate.d.ts.map +1 -0
- package/dist/access-log/projectAccessLogSourceFileCreate.js +871 -0
- package/dist/access-log/projectAccessLogSourceFileCreate.js.map +1 -0
- package/dist/api/projectRegistryApiHandlerCreate.d.ts +18 -0
- package/dist/api/projectRegistryApiHandlerCreate.d.ts.map +1 -0
- package/dist/api/projectRegistryApiHandlerCreate.js +738 -0
- package/dist/api/projectRegistryApiHandlerCreate.js.map +1 -0
- package/dist/caddy/CaddyAdminLoadOptions.d.ts +10 -0
- package/dist/caddy/CaddyAdminLoadOptions.d.ts.map +1 -0
- package/dist/caddy/CaddyAdminLoadOptions.js +2 -0
- package/dist/caddy/CaddyAdminLoadOptions.js.map +1 -0
- package/dist/caddy/CaddyApplication.d.ts +12 -0
- package/dist/caddy/CaddyApplication.d.ts.map +1 -0
- package/dist/caddy/CaddyApplication.js +2 -0
- package/dist/caddy/CaddyApplication.js.map +1 -0
- package/dist/caddy/CaddyApplicationOptions.d.ts +24 -0
- package/dist/caddy/CaddyApplicationOptions.d.ts.map +1 -0
- package/dist/caddy/CaddyApplicationOptions.js +2 -0
- package/dist/caddy/CaddyApplicationOptions.js.map +1 -0
- package/dist/caddy/CaddyApplicationQueue.d.ts +4 -0
- package/dist/caddy/CaddyApplicationQueue.d.ts.map +1 -0
- package/dist/caddy/CaddyApplicationQueue.js +2 -0
- package/dist/caddy/CaddyApplicationQueue.js.map +1 -0
- package/dist/caddy/CaddyApplicationResult.d.ts +8 -0
- package/dist/caddy/CaddyApplicationResult.d.ts.map +1 -0
- package/dist/caddy/CaddyApplicationResult.js +2 -0
- package/dist/caddy/CaddyApplicationResult.js.map +1 -0
- package/dist/caddy/CaddyApplicationStatus.d.ts +11 -0
- package/dist/caddy/CaddyApplicationStatus.d.ts.map +1 -0
- package/dist/caddy/CaddyApplicationStatus.js +2 -0
- package/dist/caddy/CaddyApplicationStatus.js.map +1 -0
- package/dist/caddy/CaddyClock.d.ts +2 -0
- package/dist/caddy/CaddyClock.d.ts.map +1 -0
- package/dist/caddy/CaddyClock.js +2 -0
- package/dist/caddy/CaddyClock.js.map +1 -0
- package/dist/caddy/CaddyConfig.d.ts +38 -0
- package/dist/caddy/CaddyConfig.d.ts.map +1 -0
- package/dist/caddy/CaddyConfig.js +2 -0
- package/dist/caddy/CaddyConfig.js.map +1 -0
- package/dist/caddy/CaddyConfigInspectUseCaseOptions.d.ts +6 -0
- package/dist/caddy/CaddyConfigInspectUseCaseOptions.d.ts.map +1 -0
- package/dist/caddy/CaddyConfigInspectUseCaseOptions.js +2 -0
- package/dist/caddy/CaddyConfigInspectUseCaseOptions.js.map +1 -0
- package/dist/caddy/CaddyConfigInspection.d.ts +10 -0
- package/dist/caddy/CaddyConfigInspection.d.ts.map +1 -0
- package/dist/caddy/CaddyConfigInspection.js +2 -0
- package/dist/caddy/CaddyConfigInspection.js.map +1 -0
- package/dist/caddy/CaddyConfigSummaryEntry.d.ts +9 -0
- package/dist/caddy/CaddyConfigSummaryEntry.d.ts.map +1 -0
- package/dist/caddy/CaddyConfigSummaryEntry.js +2 -0
- package/dist/caddy/CaddyConfigSummaryEntry.js.map +1 -0
- package/dist/caddy/CaddyConfigValidateOptions.d.ts +10 -0
- package/dist/caddy/CaddyConfigValidateOptions.d.ts.map +1 -0
- package/dist/caddy/CaddyConfigValidateOptions.js +2 -0
- package/dist/caddy/CaddyConfigValidateOptions.js.map +1 -0
- package/dist/caddy/CaddyDocsUrlsUseCaseOptions.d.ts +8 -0
- package/dist/caddy/CaddyDocsUrlsUseCaseOptions.d.ts.map +1 -0
- package/dist/caddy/CaddyDocsUrlsUseCaseOptions.js +2 -0
- package/dist/caddy/CaddyDocsUrlsUseCaseOptions.js.map +1 -0
- package/dist/caddy/CaddyFetch.d.ts +2 -0
- package/dist/caddy/CaddyFetch.d.ts.map +1 -0
- package/dist/caddy/CaddyFetch.js +2 -0
- package/dist/caddy/CaddyFetch.js.map +1 -0
- package/dist/caddy/CaddyInspectionOptions.d.ts +10 -0
- package/dist/caddy/CaddyInspectionOptions.d.ts.map +1 -0
- package/dist/caddy/CaddyInspectionOptions.js +2 -0
- package/dist/caddy/CaddyInspectionOptions.js.map +1 -0
- package/dist/caddy/CaddyProcessRunOptions.d.ts +5 -0
- package/dist/caddy/CaddyProcessRunOptions.d.ts.map +1 -0
- package/dist/caddy/CaddyProcessRunOptions.js +2 -0
- package/dist/caddy/CaddyProcessRunOptions.js.map +1 -0
- package/dist/caddy/CaddyProcessRunner.d.ts +8 -0
- package/dist/caddy/CaddyProcessRunner.d.ts.map +1 -0
- package/dist/caddy/CaddyProcessRunner.js +2 -0
- package/dist/caddy/CaddyProcessRunner.js.map +1 -0
- package/dist/caddy/CaddyProjectListAccess.d.ts +7 -0
- package/dist/caddy/CaddyProjectListAccess.d.ts.map +1 -0
- package/dist/caddy/CaddyProjectListAccess.js +2 -0
- package/dist/caddy/CaddyProjectListAccess.js.map +1 -0
- package/dist/caddy/CaddyTimer.d.ts +8 -0
- package/dist/caddy/CaddyTimer.d.ts.map +1 -0
- package/dist/caddy/CaddyTimer.js +2 -0
- package/dist/caddy/CaddyTimer.js.map +1 -0
- package/dist/caddy/caddyAdminLoad.d.ts +6 -0
- package/dist/caddy/caddyAdminLoad.d.ts.map +1 -0
- package/dist/caddy/caddyAdminLoad.js +222 -0
- package/dist/caddy/caddyAdminLoad.js.map +1 -0
- package/dist/caddy/caddyAdminReload.d.ts +3 -0
- package/dist/caddy/caddyAdminReload.d.ts.map +1 -0
- package/dist/caddy/caddyAdminReload.js +5 -0
- package/dist/caddy/caddyAdminReload.js.map +1 -0
- package/dist/caddy/caddyApplicationCreate.d.ts +6 -0
- package/dist/caddy/caddyApplicationCreate.d.ts.map +1 -0
- package/dist/caddy/caddyApplicationCreate.js +776 -0
- package/dist/caddy/caddyApplicationCreate.js.map +1 -0
- package/dist/caddy/caddyApplicationQueueCreate.d.ts +3 -0
- package/dist/caddy/caddyApplicationQueueCreate.d.ts.map +1 -0
- package/dist/caddy/caddyApplicationQueueCreate.js +11 -0
- package/dist/caddy/caddyApplicationQueueCreate.js.map +1 -0
- package/dist/caddy/caddyConfigGenerate.d.ts +4 -0
- package/dist/caddy/caddyConfigGenerate.d.ts.map +1 -0
- package/dist/caddy/caddyConfigGenerate.js +390 -0
- package/dist/caddy/caddyConfigGenerate.js.map +1 -0
- package/dist/caddy/caddyConfigInspect.d.ts +4 -0
- package/dist/caddy/caddyConfigInspect.d.ts.map +1 -0
- package/dist/caddy/caddyConfigInspect.js +61 -0
- package/dist/caddy/caddyConfigInspect.js.map +1 -0
- package/dist/caddy/caddyConfigInspectUseCase.d.ts +5 -0
- package/dist/caddy/caddyConfigInspectUseCase.d.ts.map +1 -0
- package/dist/caddy/caddyConfigInspectUseCase.js +19 -0
- package/dist/caddy/caddyConfigInspectUseCase.js.map +1 -0
- package/dist/caddy/caddyConfigOptionsFromEnv.d.ts +4 -0
- package/dist/caddy/caddyConfigOptionsFromEnv.d.ts.map +1 -0
- package/dist/caddy/caddyConfigOptionsFromEnv.js +44 -0
- package/dist/caddy/caddyConfigOptionsFromEnv.js.map +1 -0
- package/dist/caddy/caddyConfigOptionsSchema.d.ts +47 -0
- package/dist/caddy/caddyConfigOptionsSchema.d.ts.map +1 -0
- package/dist/caddy/caddyConfigOptionsSchema.js +24 -0
- package/dist/caddy/caddyConfigOptionsSchema.js.map +1 -0
- package/dist/caddy/caddyConfigSelect.d.ts +5 -0
- package/dist/caddy/caddyConfigSelect.d.ts.map +1 -0
- package/dist/caddy/caddyConfigSelect.js +128 -0
- package/dist/caddy/caddyConfigSelect.js.map +1 -0
- package/dist/caddy/caddyConfigSerialize.d.ts +3 -0
- package/dist/caddy/caddyConfigSerialize.d.ts.map +1 -0
- package/dist/caddy/caddyConfigSerialize.js +121 -0
- package/dist/caddy/caddyConfigSerialize.js.map +1 -0
- package/dist/caddy/caddyConfigSummary.d.ts +4 -0
- package/dist/caddy/caddyConfigSummary.d.ts.map +1 -0
- package/dist/caddy/caddyConfigSummary.js +47 -0
- package/dist/caddy/caddyConfigSummary.js.map +1 -0
- package/dist/caddy/caddyConfigValidate.d.ts +6 -0
- package/dist/caddy/caddyConfigValidate.d.ts.map +1 -0
- package/dist/caddy/caddyConfigValidate.js +214 -0
- package/dist/caddy/caddyConfigValidate.js.map +1 -0
- package/dist/caddy/caddyDocsTemplate.d.ts +2 -0
- package/dist/caddy/caddyDocsTemplate.d.ts.map +1 -0
- package/dist/caddy/caddyDocsTemplate.js +6 -0
- package/dist/caddy/caddyDocsTemplate.js.map +1 -0
- package/dist/caddy/caddyProcessRun.d.ts +13 -0
- package/dist/caddy/caddyProcessRun.d.ts.map +1 -0
- package/dist/caddy/caddyProcessRun.js +128 -0
- package/dist/caddy/caddyProcessRun.js.map +1 -0
- package/dist/caddy/caddyProcessRunnerAsUser.d.ts +3 -0
- package/dist/caddy/caddyProcessRunnerAsUser.d.ts.map +1 -0
- package/dist/caddy/caddyProcessRunnerAsUser.js +5 -0
- package/dist/caddy/caddyProcessRunnerAsUser.js.map +1 -0
- package/dist/caddy/caddyVisibleProjects.d.ts +5 -0
- package/dist/caddy/caddyVisibleProjects.d.ts.map +1 -0
- package/dist/caddy/caddyVisibleProjects.js +54 -0
- package/dist/caddy/caddyVisibleProjects.js.map +1 -0
- package/dist/caddy/projectDocsUrls.d.ts +6 -0
- package/dist/caddy/projectDocsUrls.d.ts.map +1 -0
- package/dist/caddy/projectDocsUrls.js +47 -0
- package/dist/caddy/projectDocsUrls.js.map +1 -0
- package/dist/caddy/projectDocsUrlsUseCase.d.ts +5 -0
- package/dist/caddy/projectDocsUrlsUseCase.d.ts.map +1 -0
- package/dist/caddy/projectDocsUrlsUseCase.js +38 -0
- package/dist/caddy/projectDocsUrlsUseCase.js.map +1 -0
- package/dist/cli/ProjectRegistryCliCaddyOptions.d.ts +14 -0
- package/dist/cli/ProjectRegistryCliCaddyOptions.d.ts.map +1 -0
- package/dist/cli/ProjectRegistryCliCaddyOptions.js +2 -0
- package/dist/cli/ProjectRegistryCliCaddyOptions.js.map +1 -0
- package/dist/cli/ProjectRegistryCliFetch.d.ts +4 -0
- package/dist/cli/ProjectRegistryCliFetch.d.ts.map +1 -0
- package/dist/cli/ProjectRegistryCliFetch.js +2 -0
- package/dist/cli/ProjectRegistryCliFetch.js.map +1 -0
- package/dist/cli/ProjectRegistryCliInvocation.d.ts +59 -0
- package/dist/cli/ProjectRegistryCliInvocation.d.ts.map +1 -0
- package/dist/cli/ProjectRegistryCliInvocation.js +2 -0
- package/dist/cli/ProjectRegistryCliInvocation.js.map +1 -0
- package/dist/cli/projectNameFromPath.d.ts +8 -0
- package/dist/cli/projectNameFromPath.d.ts.map +1 -0
- package/dist/cli/projectNameFromPath.js +29 -0
- package/dist/cli/projectNameFromPath.js.map +1 -0
- package/dist/cli/projectRegistryCliArgumentsParse.d.ts +4 -0
- package/dist/cli/projectRegistryCliArgumentsParse.d.ts.map +1 -0
- package/dist/cli/projectRegistryCliArgumentsParse.js +386 -0
- package/dist/cli/projectRegistryCliArgumentsParse.js.map +1 -0
- package/dist/cli/projectRegistryCliHelp.d.ts +2 -0
- package/dist/cli/projectRegistryCliHelp.d.ts.map +1 -0
- package/dist/cli/projectRegistryCliHelp.js +38 -0
- package/dist/cli/projectRegistryCliHelp.js.map +1 -0
- package/dist/cli/projectRegistryCliOutputFormat.d.ts +4 -0
- package/dist/cli/projectRegistryCliOutputFormat.d.ts.map +1 -0
- package/dist/cli/projectRegistryCliOutputFormat.js +208 -0
- package/dist/cli/projectRegistryCliOutputFormat.js.map +1 -0
- package/dist/cli/projectRegistryCliRequest.d.ts +9 -0
- package/dist/cli/projectRegistryCliRequest.d.ts.map +1 -0
- package/dist/cli/projectRegistryCliRequest.js +75 -0
- package/dist/cli/projectRegistryCliRequest.js.map +1 -0
- package/dist/cli/projectRegistryCliRun.d.ts +10 -0
- package/dist/cli/projectRegistryCliRun.d.ts.map +1 -0
- package/dist/cli/projectRegistryCliRun.js +200 -0
- package/dist/cli/projectRegistryCliRun.js.map +1 -0
- package/dist/cli/projectRegistryCliSocketResolve.d.ts +3 -0
- package/dist/cli/projectRegistryCliSocketResolve.d.ts.map +1 -0
- package/dist/cli/projectRegistryCliSocketResolve.js +21 -0
- package/dist/cli/projectRegistryCliSocketResolve.js.map +1 -0
- package/dist/cli/projectRegistryCliVersion.d.ts +2 -0
- package/dist/cli/projectRegistryCliVersion.d.ts.map +1 -0
- package/dist/cli/projectRegistryCliVersion.js +2 -0
- package/dist/cli/projectRegistryCliVersion.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +4 -0
- package/dist/cli.js.map +1 -0
- package/dist/daemon.d.ts +3 -0
- package/dist/daemon.d.ts.map +1 -0
- package/dist/daemon.js +40 -0
- package/dist/daemon.js.map +1 -0
- package/dist/identity/IdentityDirectory.d.ts +8 -0
- package/dist/identity/IdentityDirectory.d.ts.map +1 -0
- package/dist/identity/IdentityDirectory.js +2 -0
- package/dist/identity/IdentityDirectory.js.map +1 -0
- package/dist/identity/IdentityDirectoryUser.d.ts +5 -0
- package/dist/identity/IdentityDirectoryUser.d.ts.map +1 -0
- package/dist/identity/IdentityDirectoryUser.js +2 -0
- package/dist/identity/IdentityDirectoryUser.js.map +1 -0
- package/dist/identity/MappedUser.d.ts +7 -0
- package/dist/identity/MappedUser.d.ts.map +1 -0
- package/dist/identity/MappedUser.js +2 -0
- package/dist/identity/MappedUser.js.map +1 -0
- package/dist/identity/PosixUserDirectory.d.ts +5 -0
- package/dist/identity/PosixUserDirectory.d.ts.map +1 -0
- package/dist/identity/PosixUserDirectory.js +2 -0
- package/dist/identity/PosixUserDirectory.js.map +1 -0
- package/dist/identity/VisibleUser.d.ts +7 -0
- package/dist/identity/VisibleUser.d.ts.map +1 -0
- package/dist/identity/VisibleUser.js +2 -0
- package/dist/identity/VisibleUser.js.map +1 -0
- package/dist/identity/VisibleUserDirectoryListOptions.d.ts +12 -0
- package/dist/identity/VisibleUserDirectoryListOptions.d.ts.map +1 -0
- package/dist/identity/VisibleUserDirectoryListOptions.js +2 -0
- package/dist/identity/VisibleUserDirectoryListOptions.js.map +1 -0
- package/dist/identity/posixUserDirectoryCreate.d.ts +4 -0
- package/dist/identity/posixUserDirectoryCreate.d.ts.map +1 -0
- package/dist/identity/posixUserDirectoryCreate.js +47 -0
- package/dist/identity/posixUserDirectoryCreate.js.map +1 -0
- package/dist/identity/preferredUsernameMap.d.ts +7 -0
- package/dist/identity/preferredUsernameMap.d.ts.map +1 -0
- package/dist/identity/preferredUsernameMap.js +19 -0
- package/dist/identity/preferredUsernameMap.js.map +1 -0
- package/dist/identity/userRoleResolve.d.ts +8 -0
- package/dist/identity/userRoleResolve.d.ts.map +1 -0
- package/dist/identity/userRoleResolve.js +31 -0
- package/dist/identity/userRoleResolve.js.map +1 -0
- package/dist/identity/visibleUserDirectoryList.d.ts +6 -0
- package/dist/identity/visibleUserDirectoryList.d.ts.map +1 -0
- package/dist/identity/visibleUserDirectoryList.js +70 -0
- package/dist/identity/visibleUserDirectoryList.js.map +1 -0
- package/dist/index.d.ts +192 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +90 -0
- package/dist/index.js.map +1 -0
- package/dist/project/Project.d.ts +2 -0
- package/dist/project/Project.d.ts.map +1 -0
- package/dist/project/Project.js +2 -0
- package/dist/project/Project.js.map +1 -0
- package/dist/project/ProjectMutationOptions.d.ts +5 -0
- package/dist/project/ProjectMutationOptions.d.ts.map +1 -0
- package/dist/project/ProjectMutationOptions.js +2 -0
- package/dist/project/ProjectMutationOptions.js.map +1 -0
- package/dist/project/ProjectUseCaseOptions.d.ts +9 -0
- package/dist/project/ProjectUseCaseOptions.d.ts.map +1 -0
- package/dist/project/ProjectUseCaseOptions.js +2 -0
- package/dist/project/ProjectUseCaseOptions.js.map +1 -0
- package/dist/project/projectCollisions.d.ts +10 -0
- package/dist/project/projectCollisions.d.ts.map +1 -0
- package/dist/project/projectCollisions.js +67 -0
- package/dist/project/projectCollisions.js.map +1 -0
- package/dist/project/projectCreate.d.ts +6 -0
- package/dist/project/projectCreate.d.ts.map +1 -0
- package/dist/project/projectCreate.js +40 -0
- package/dist/project/projectCreate.js.map +1 -0
- package/dist/project/projectDelete.d.ts +7 -0
- package/dist/project/projectDelete.d.ts.map +1 -0
- package/dist/project/projectDelete.js +24 -0
- package/dist/project/projectDelete.js.map +1 -0
- package/dist/project/projectDomainNormalize.d.ts +2 -0
- package/dist/project/projectDomainNormalize.d.ts.map +1 -0
- package/dist/project/projectDomainNormalize.js +4 -0
- package/dist/project/projectDomainNormalize.js.map +1 -0
- package/dist/project/projectEdit.d.ts +7 -0
- package/dist/project/projectEdit.d.ts.map +1 -0
- package/dist/project/projectEdit.js +85 -0
- package/dist/project/projectEdit.js.map +1 -0
- package/dist/project/projectGet.d.ts +5 -0
- package/dist/project/projectGet.d.ts.map +1 -0
- package/dist/project/projectGet.js +12 -0
- package/dist/project/projectGet.js.map +1 -0
- package/dist/project/projectGetUseCase.d.ts +6 -0
- package/dist/project/projectGetUseCase.d.ts.map +1 -0
- package/dist/project/projectGetUseCase.js +19 -0
- package/dist/project/projectGetUseCase.js.map +1 -0
- package/dist/project/projectHeaderUpSchema.d.ts +3 -0
- package/dist/project/projectHeaderUpSchema.d.ts.map +1 -0
- package/dist/project/projectHeaderUpSchema.js +28 -0
- package/dist/project/projectHeaderUpSchema.js.map +1 -0
- package/dist/project/projectHistory.d.ts +6 -0
- package/dist/project/projectHistory.d.ts.map +1 -0
- package/dist/project/projectHistory.js +11 -0
- package/dist/project/projectHistory.js.map +1 -0
- package/dist/project/projectInputSchema.d.ts +36 -0
- package/dist/project/projectInputSchema.d.ts.map +1 -0
- package/dist/project/projectInputSchema.js +42 -0
- package/dist/project/projectInputSchema.js.map +1 -0
- package/dist/project/projectKey.d.ts +4 -0
- package/dist/project/projectKey.d.ts.map +1 -0
- package/dist/project/projectKey.js +4 -0
- package/dist/project/projectKey.js.map +1 -0
- package/dist/project/projectKeyEqual.d.ts +3 -0
- package/dist/project/projectKeyEqual.d.ts.map +1 -0
- package/dist/project/projectKeyEqual.js +4 -0
- package/dist/project/projectKeyEqual.js.map +1 -0
- package/dist/project/projectList.d.ts +4 -0
- package/dist/project/projectList.d.ts.map +1 -0
- package/dist/project/projectList.js +6 -0
- package/dist/project/projectList.js.map +1 -0
- package/dist/project/projectListUseCase.d.ts +12 -0
- package/dist/project/projectListUseCase.d.ts.map +1 -0
- package/dist/project/projectListUseCase.js +78 -0
- package/dist/project/projectListUseCase.js.map +1 -0
- package/dist/project/projectMutationExpectedRevision.d.ts +4 -0
- package/dist/project/projectMutationExpectedRevision.d.ts.map +1 -0
- package/dist/project/projectMutationExpectedRevision.js +21 -0
- package/dist/project/projectMutationExpectedRevision.js.map +1 -0
- package/dist/project/projectNormalize.d.ts +12 -0
- package/dist/project/projectNormalize.d.ts.map +1 -0
- package/dist/project/projectNormalize.js +174 -0
- package/dist/project/projectNormalize.js.map +1 -0
- package/dist/project/projectOwnerAuthorize.d.ts +5 -0
- package/dist/project/projectOwnerAuthorize.d.ts.map +1 -0
- package/dist/project/projectOwnerAuthorize.js +12 -0
- package/dist/project/projectOwnerAuthorize.js.map +1 -0
- package/dist/project/projectPortCollision.d.ts +4 -0
- package/dist/project/projectPortCollision.d.ts.map +1 -0
- package/dist/project/projectPortCollision.js +12 -0
- package/dist/project/projectPortCollision.js.map +1 -0
- package/dist/project/projectPortNext.d.ts +9 -0
- package/dist/project/projectPortNext.d.ts.map +1 -0
- package/dist/project/projectPortNext.js +32 -0
- package/dist/project/projectPortNext.js.map +1 -0
- package/dist/project/projectRevisionValidate.d.ts +4 -0
- package/dist/project/projectRevisionValidate.d.ts.map +1 -0
- package/dist/project/projectRevisionValidate.js +9 -0
- package/dist/project/projectRevisionValidate.js.map +1 -0
- package/dist/project/projectSchema.d.ts +36 -0
- package/dist/project/projectSchema.d.ts.map +1 -0
- package/dist/project/projectSchema.js +43 -0
- package/dist/project/projectSchema.js.map +1 -0
- package/dist/project/projectSort.d.ts +3 -0
- package/dist/project/projectSort.d.ts.map +1 -0
- package/dist/project/projectSort.js +24 -0
- package/dist/project/projectSort.js.map +1 -0
- package/dist/project/projectValidate.d.ts +10 -0
- package/dist/project/projectValidate.d.ts.map +1 -0
- package/dist/project/projectValidate.js +26 -0
- package/dist/project/projectValidate.js.map +1 -0
- package/dist/project-store/ProjectRepository.d.ts +20 -0
- package/dist/project-store/ProjectRepository.d.ts.map +1 -0
- package/dist/project-store/ProjectRepository.js +2 -0
- package/dist/project-store/ProjectRepository.js.map +1 -0
- package/dist/project-store/ProjectRepositoryEntry.d.ts +7 -0
- package/dist/project-store/ProjectRepositoryEntry.d.ts.map +1 -0
- package/dist/project-store/ProjectRepositoryEntry.js +2 -0
- package/dist/project-store/ProjectRepositoryEntry.js.map +1 -0
- package/dist/project-store/ProjectRepositoryMutation.d.ts +18 -0
- package/dist/project-store/ProjectRepositoryMutation.d.ts.map +1 -0
- package/dist/project-store/ProjectRepositoryMutation.js +2 -0
- package/dist/project-store/ProjectRepositoryMutation.js.map +1 -0
- package/dist/project-store/ProjectRepositoryMutationOptions.d.ts +6 -0
- package/dist/project-store/ProjectRepositoryMutationOptions.d.ts.map +1 -0
- package/dist/project-store/ProjectRepositoryMutationOptions.js +2 -0
- package/dist/project-store/ProjectRepositoryMutationOptions.js.map +1 -0
- package/dist/project-store/ProjectRepositoryOptions.d.ts +8 -0
- package/dist/project-store/ProjectRepositoryOptions.d.ts.map +1 -0
- package/dist/project-store/ProjectRepositoryOptions.js +7 -0
- package/dist/project-store/ProjectRepositoryOptions.js.map +1 -0
- package/dist/project-store/ProjectRepositoryReadiness.d.ts +8 -0
- package/dist/project-store/ProjectRepositoryReadiness.d.ts.map +1 -0
- package/dist/project-store/ProjectRepositoryReadiness.js +2 -0
- package/dist/project-store/ProjectRepositoryReadiness.js.map +1 -0
- package/dist/project-store/ProjectRepositoryRevision.d.ts +2 -0
- package/dist/project-store/ProjectRepositoryRevision.d.ts.map +1 -0
- package/dist/project-store/ProjectRepositoryRevision.js +2 -0
- package/dist/project-store/ProjectRepositoryRevision.js.map +1 -0
- package/dist/project-store/ProjectRepositorySnapshot.d.ts +7 -0
- package/dist/project-store/ProjectRepositorySnapshot.d.ts.map +1 -0
- package/dist/project-store/ProjectRepositorySnapshot.js +2 -0
- package/dist/project-store/ProjectRepositorySnapshot.js.map +1 -0
- package/dist/project-store/projectRepositoryOpen.d.ts +4 -0
- package/dist/project-store/projectRepositoryOpen.d.ts.map +1 -0
- package/dist/project-store/projectRepositoryOpen.js +813 -0
- package/dist/project-store/projectRepositoryOpen.js.map +1 -0
- package/dist/project-store/projectRepositoryOwnerPath.d.ts +3 -0
- package/dist/project-store/projectRepositoryOwnerPath.d.ts.map +1 -0
- package/dist/project-store/projectRepositoryOwnerPath.js +25 -0
- package/dist/project-store/projectRepositoryOwnerPath.js.map +1 -0
- package/dist/project-store/projectRepositoryPath.d.ts +4 -0
- package/dist/project-store/projectRepositoryPath.d.ts.map +1 -0
- package/dist/project-store/projectRepositoryPath.js +21 -0
- package/dist/project-store/projectRepositoryPath.js.map +1 -0
- package/dist/runtime/ProjectRegistryDaemon.d.ts +19 -0
- package/dist/runtime/ProjectRegistryDaemon.d.ts.map +1 -0
- package/dist/runtime/ProjectRegistryDaemon.js +2 -0
- package/dist/runtime/ProjectRegistryDaemon.js.map +1 -0
- package/dist/runtime/ProjectRegistryDaemonBrowserAuth.d.ts +14 -0
- package/dist/runtime/ProjectRegistryDaemonBrowserAuth.d.ts.map +1 -0
- package/dist/runtime/ProjectRegistryDaemonBrowserAuth.js +2 -0
- package/dist/runtime/ProjectRegistryDaemonBrowserAuth.js.map +1 -0
- package/dist/runtime/ProjectRegistryDaemonConfig.d.ts +38 -0
- package/dist/runtime/ProjectRegistryDaemonConfig.d.ts.map +1 -0
- package/dist/runtime/ProjectRegistryDaemonConfig.js +2 -0
- package/dist/runtime/ProjectRegistryDaemonConfig.js.map +1 -0
- package/dist/runtime/ProjectRegistryDaemonFileStat.d.ts +7 -0
- package/dist/runtime/ProjectRegistryDaemonFileStat.d.ts.map +1 -0
- package/dist/runtime/ProjectRegistryDaemonFileStat.js +2 -0
- package/dist/runtime/ProjectRegistryDaemonFileStat.js.map +1 -0
- package/dist/runtime/ProjectRegistryDaemonFilesystem.d.ts +13 -0
- package/dist/runtime/ProjectRegistryDaemonFilesystem.d.ts.map +1 -0
- package/dist/runtime/ProjectRegistryDaemonFilesystem.js +2 -0
- package/dist/runtime/ProjectRegistryDaemonFilesystem.js.map +1 -0
- package/dist/runtime/ProjectRegistryDaemonHealth.d.ts +6 -0
- package/dist/runtime/ProjectRegistryDaemonHealth.d.ts.map +1 -0
- package/dist/runtime/ProjectRegistryDaemonHealth.js +2 -0
- package/dist/runtime/ProjectRegistryDaemonHealth.js.map +1 -0
- package/dist/runtime/ProjectRegistryDaemonMappedUser.d.ts +6 -0
- package/dist/runtime/ProjectRegistryDaemonMappedUser.d.ts.map +1 -0
- package/dist/runtime/ProjectRegistryDaemonMappedUser.js +2 -0
- package/dist/runtime/ProjectRegistryDaemonMappedUser.js.map +1 -0
- package/dist/runtime/ProjectRegistryDaemonMappedUsersResolve.d.ts +4 -0
- package/dist/runtime/ProjectRegistryDaemonMappedUsersResolve.d.ts.map +1 -0
- package/dist/runtime/ProjectRegistryDaemonMappedUsersResolve.js +2 -0
- package/dist/runtime/ProjectRegistryDaemonMappedUsersResolve.js.map +1 -0
- package/dist/runtime/ProjectRegistryDaemonOptions.d.ts +39 -0
- package/dist/runtime/ProjectRegistryDaemonOptions.d.ts.map +1 -0
- package/dist/runtime/ProjectRegistryDaemonOptions.js +2 -0
- package/dist/runtime/ProjectRegistryDaemonOptions.js.map +1 -0
- package/dist/runtime/ProjectRegistryDaemonPosix.d.ts +7 -0
- package/dist/runtime/ProjectRegistryDaemonPosix.d.ts.map +1 -0
- package/dist/runtime/ProjectRegistryDaemonPosix.js +2 -0
- package/dist/runtime/ProjectRegistryDaemonPosix.js.map +1 -0
- package/dist/runtime/ProjectRegistryDaemonReadiness.d.ts +11 -0
- package/dist/runtime/ProjectRegistryDaemonReadiness.d.ts.map +1 -0
- package/dist/runtime/ProjectRegistryDaemonReadiness.js +2 -0
- package/dist/runtime/ProjectRegistryDaemonReadiness.js.map +1 -0
- package/dist/runtime/ProjectRegistryDaemonRequestContext.d.ts +10 -0
- package/dist/runtime/ProjectRegistryDaemonRequestContext.d.ts.map +1 -0
- package/dist/runtime/ProjectRegistryDaemonRequestContext.js +2 -0
- package/dist/runtime/ProjectRegistryDaemonRequestContext.js.map +1 -0
- package/dist/runtime/ProjectRegistryDaemonRequestHandler.d.ts +3 -0
- package/dist/runtime/ProjectRegistryDaemonRequestHandler.d.ts.map +1 -0
- package/dist/runtime/ProjectRegistryDaemonRequestHandler.js +2 -0
- package/dist/runtime/ProjectRegistryDaemonRequestHandler.js.map +1 -0
- package/dist/runtime/ProjectRegistryDaemonServer.d.ts +6 -0
- package/dist/runtime/ProjectRegistryDaemonServer.d.ts.map +1 -0
- package/dist/runtime/ProjectRegistryDaemonServer.js +2 -0
- package/dist/runtime/ProjectRegistryDaemonServer.js.map +1 -0
- package/dist/runtime/ProjectRegistryDaemonServerFactory.d.ts +4 -0
- package/dist/runtime/ProjectRegistryDaemonServerFactory.d.ts.map +1 -0
- package/dist/runtime/ProjectRegistryDaemonServerFactory.js +2 -0
- package/dist/runtime/ProjectRegistryDaemonServerFactory.js.map +1 -0
- package/dist/runtime/ProjectRegistryDaemonServerOptions.d.ts +7 -0
- package/dist/runtime/ProjectRegistryDaemonServerOptions.d.ts.map +1 -0
- package/dist/runtime/ProjectRegistryDaemonServerOptions.js +2 -0
- package/dist/runtime/ProjectRegistryDaemonServerOptions.js.map +1 -0
- package/dist/runtime/ProjectRegistryDaemonSignals.d.ts +4 -0
- package/dist/runtime/ProjectRegistryDaemonSignals.d.ts.map +1 -0
- package/dist/runtime/ProjectRegistryDaemonSignals.js +2 -0
- package/dist/runtime/ProjectRegistryDaemonSignals.js.map +1 -0
- package/dist/runtime/ProjectRegistryDaemonSocketAccessResolve.d.ts +4 -0
- package/dist/runtime/ProjectRegistryDaemonSocketAccessResolve.d.ts.map +1 -0
- package/dist/runtime/ProjectRegistryDaemonSocketAccessResolve.js +2 -0
- package/dist/runtime/ProjectRegistryDaemonSocketAccessResolve.js.map +1 -0
- package/dist/runtime/ProjectRegistryDaemonSocketRefresh.d.ts +7 -0
- package/dist/runtime/ProjectRegistryDaemonSocketRefresh.d.ts.map +1 -0
- package/dist/runtime/ProjectRegistryDaemonSocketRefresh.js +2 -0
- package/dist/runtime/ProjectRegistryDaemonSocketRefresh.js.map +1 -0
- package/dist/runtime/ProjectRegistryDaemonState.d.ts +2 -0
- package/dist/runtime/ProjectRegistryDaemonState.d.ts.map +1 -0
- package/dist/runtime/ProjectRegistryDaemonState.js +2 -0
- package/dist/runtime/ProjectRegistryDaemonState.js.map +1 -0
- package/dist/runtime/clockNowResolve.d.ts +3 -0
- package/dist/runtime/clockNowResolve.d.ts.map +1 -0
- package/dist/runtime/clockNowResolve.js +18 -0
- package/dist/runtime/clockNowResolve.js.map +1 -0
- package/dist/runtime/projectRegistryDaemonConfigFromEnv.d.ts +4 -0
- package/dist/runtime/projectRegistryDaemonConfigFromEnv.d.ts.map +1 -0
- package/dist/runtime/projectRegistryDaemonConfigFromEnv.js +158 -0
- package/dist/runtime/projectRegistryDaemonConfigFromEnv.js.map +1 -0
- package/dist/runtime/projectRegistryDaemonConfigSchema.d.ts +57 -0
- package/dist/runtime/projectRegistryDaemonConfigSchema.d.ts.map +1 -0
- package/dist/runtime/projectRegistryDaemonConfigSchema.js +79 -0
- package/dist/runtime/projectRegistryDaemonConfigSchema.js.map +1 -0
- package/dist/runtime/projectRegistryDaemonConfigValidate.d.ts +4 -0
- package/dist/runtime/projectRegistryDaemonConfigValidate.d.ts.map +1 -0
- package/dist/runtime/projectRegistryDaemonConfigValidate.js +59 -0
- package/dist/runtime/projectRegistryDaemonConfigValidate.js.map +1 -0
- package/dist/runtime/projectRegistryDaemonCreate.d.ts +5 -0
- package/dist/runtime/projectRegistryDaemonCreate.d.ts.map +1 -0
- package/dist/runtime/projectRegistryDaemonCreate.js +1251 -0
- package/dist/runtime/projectRegistryDaemonCreate.js.map +1 -0
- package/dist/runtime/projectRegistryDaemonFilesystemDefault.d.ts +3 -0
- package/dist/runtime/projectRegistryDaemonFilesystemDefault.d.ts.map +1 -0
- package/dist/runtime/projectRegistryDaemonFilesystemDefault.js +62 -0
- package/dist/runtime/projectRegistryDaemonFilesystemDefault.js.map +1 -0
- package/dist/runtime/projectRegistryDaemonOpen.d.ts +5 -0
- package/dist/runtime/projectRegistryDaemonOpen.d.ts.map +1 -0
- package/dist/runtime/projectRegistryDaemonOpen.js +132 -0
- package/dist/runtime/projectRegistryDaemonOpen.js.map +1 -0
- package/dist/runtime/projectRegistryDaemonPosixDefault.d.ts +3 -0
- package/dist/runtime/projectRegistryDaemonPosixDefault.d.ts.map +1 -0
- package/dist/runtime/projectRegistryDaemonPosixDefault.js +30 -0
- package/dist/runtime/projectRegistryDaemonPosixDefault.js.map +1 -0
- package/dist/runtime/projectRegistryDaemonServerDefault.d.ts +3 -0
- package/dist/runtime/projectRegistryDaemonServerDefault.d.ts.map +1 -0
- package/dist/runtime/projectRegistryDaemonServerDefault.js +20 -0
- package/dist/runtime/projectRegistryDaemonServerDefault.js.map +1 -0
- package/dist/runtime/projectRegistryDaemonSignalsDefault.d.ts +3 -0
- package/dist/runtime/projectRegistryDaemonSignalsDefault.d.ts.map +1 -0
- package/dist/runtime/projectRegistryDaemonSignalsDefault.js +9 -0
- package/dist/runtime/projectRegistryDaemonSignalsDefault.js.map +1 -0
- package/dist/runtime/promiseBoundedRace.d.ts +6 -0
- package/dist/runtime/promiseBoundedRace.d.ts.map +1 -0
- package/dist/runtime/promiseBoundedRace.js +52 -0
- package/dist/runtime/promiseBoundedRace.js.map +1 -0
- package/dist/runtime/randomBytesResultResolve.d.ts +3 -0
- package/dist/runtime/randomBytesResultResolve.d.ts.map +1 -0
- package/dist/runtime/randomBytesResultResolve.js +25 -0
- package/dist/runtime/randomBytesResultResolve.js.map +1 -0
- package/dist/runtime/timeExpiryResolve.d.ts +3 -0
- package/dist/runtime/timeExpiryResolve.d.ts.map +1 -0
- package/dist/runtime/timeExpiryResolve.js +15 -0
- package/dist/runtime/timeExpiryResolve.js.map +1 -0
- package/dist/runtime/timeMillisecondsValidate.d.ts +2 -0
- package/dist/runtime/timeMillisecondsValidate.d.ts.map +1 -0
- package/dist/runtime/timeMillisecondsValidate.js +4 -0
- package/dist/runtime/timeMillisecondsValidate.js.map +1 -0
- package/dist/runtime/timeSecondsValidate.d.ts +2 -0
- package/dist/runtime/timeSecondsValidate.d.ts.map +1 -0
- package/dist/runtime/timeSecondsValidate.js +5 -0
- package/dist/runtime/timeSecondsValidate.js.map +1 -0
- package/dist/session/Clock.d.ts +2 -0
- package/dist/session/Clock.d.ts.map +1 -0
- package/dist/session/Clock.js +2 -0
- package/dist/session/Clock.js.map +1 -0
- package/dist/session/CsrfTokenStore.d.ts +7 -0
- package/dist/session/CsrfTokenStore.d.ts.map +1 -0
- package/dist/session/CsrfTokenStore.js +2 -0
- package/dist/session/CsrfTokenStore.js.map +1 -0
- package/dist/session/CsrfTokenStoreOptions.d.ts +9 -0
- package/dist/session/CsrfTokenStoreOptions.d.ts.map +1 -0
- package/dist/session/CsrfTokenStoreOptions.js +2 -0
- package/dist/session/CsrfTokenStoreOptions.js.map +1 -0
- package/dist/session/RandomBytes.d.ts +3 -0
- package/dist/session/RandomBytes.d.ts.map +1 -0
- package/dist/session/RandomBytes.js +2 -0
- package/dist/session/RandomBytes.js.map +1 -0
- package/dist/session/SessionActorResolveOptions.d.ts +15 -0
- package/dist/session/SessionActorResolveOptions.d.ts.map +1 -0
- package/dist/session/SessionActorResolveOptions.js +2 -0
- package/dist/session/SessionActorResolveOptions.js.map +1 -0
- package/dist/session/SessionCookieOptions.d.ts +5 -0
- package/dist/session/SessionCookieOptions.d.ts.map +1 -0
- package/dist/session/SessionCookieOptions.js +2 -0
- package/dist/session/SessionCookieOptions.js.map +1 -0
- package/dist/session/SessionCreateInput.d.ts +6 -0
- package/dist/session/SessionCreateInput.d.ts.map +1 -0
- package/dist/session/SessionCreateInput.js +2 -0
- package/dist/session/SessionCreateInput.js.map +1 -0
- package/dist/session/SessionLogoutOptions.d.ts +12 -0
- package/dist/session/SessionLogoutOptions.d.ts.map +1 -0
- package/dist/session/SessionLogoutOptions.js +2 -0
- package/dist/session/SessionLogoutOptions.js.map +1 -0
- package/dist/session/SessionRecord.d.ts +9 -0
- package/dist/session/SessionRecord.d.ts.map +1 -0
- package/dist/session/SessionRecord.js +2 -0
- package/dist/session/SessionRecord.js.map +1 -0
- package/dist/session/SessionStore.d.ts +11 -0
- package/dist/session/SessionStore.d.ts.map +1 -0
- package/dist/session/SessionStore.js +2 -0
- package/dist/session/SessionStore.js.map +1 -0
- package/dist/session/SessionStoreOptions.d.ts +11 -0
- package/dist/session/SessionStoreOptions.d.ts.map +1 -0
- package/dist/session/SessionStoreOptions.js +2 -0
- package/dist/session/SessionStoreOptions.js.map +1 -0
- package/dist/session/TokenReferenceStore.d.ts +10 -0
- package/dist/session/TokenReferenceStore.d.ts.map +1 -0
- package/dist/session/TokenReferenceStore.js +2 -0
- package/dist/session/TokenReferenceStore.js.map +1 -0
- package/dist/session/TokenReferenceStoreOptions.d.ts +8 -0
- package/dist/session/TokenReferenceStoreOptions.d.ts.map +1 -0
- package/dist/session/TokenReferenceStoreOptions.js +2 -0
- package/dist/session/TokenReferenceStoreOptions.js.map +1 -0
- package/dist/session/TokenReferenceTokens.d.ts +6 -0
- package/dist/session/TokenReferenceTokens.d.ts.map +1 -0
- package/dist/session/TokenReferenceTokens.js +2 -0
- package/dist/session/TokenReferenceTokens.js.map +1 -0
- package/dist/session/csrfTokenIssue.d.ts +4 -0
- package/dist/session/csrfTokenIssue.d.ts.map +1 -0
- package/dist/session/csrfTokenIssue.js +4 -0
- package/dist/session/csrfTokenIssue.js.map +1 -0
- package/dist/session/csrfTokenStoreCreate.d.ts +4 -0
- package/dist/session/csrfTokenStoreCreate.d.ts.map +1 -0
- package/dist/session/csrfTokenStoreCreate.js +179 -0
- package/dist/session/csrfTokenStoreCreate.js.map +1 -0
- package/dist/session/csrfTokenValidate.d.ts +4 -0
- package/dist/session/csrfTokenValidate.d.ts.map +1 -0
- package/dist/session/csrfTokenValidate.js +16 -0
- package/dist/session/csrfTokenValidate.js.map +1 -0
- package/dist/session/randomBytesGenerate.d.ts +3 -0
- package/dist/session/randomBytesGenerate.d.ts.map +1 -0
- package/dist/session/randomBytesGenerate.js +16 -0
- package/dist/session/randomBytesGenerate.js.map +1 -0
- package/dist/session/sessionActorResolve.d.ts +5 -0
- package/dist/session/sessionActorResolve.d.ts.map +1 -0
- package/dist/session/sessionActorResolve.js +98 -0
- package/dist/session/sessionActorResolve.js.map +1 -0
- package/dist/session/sessionCookieClear.d.ts +4 -0
- package/dist/session/sessionCookieClear.d.ts.map +1 -0
- package/dist/session/sessionCookieClear.js +20 -0
- package/dist/session/sessionCookieClear.js.map +1 -0
- package/dist/session/sessionCookieParse.d.ts +4 -0
- package/dist/session/sessionCookieParse.d.ts.map +1 -0
- package/dist/session/sessionCookieParse.js +42 -0
- package/dist/session/sessionCookieParse.js.map +1 -0
- package/dist/session/sessionCookieSerialize.d.ts +4 -0
- package/dist/session/sessionCookieSerialize.d.ts.map +1 -0
- package/dist/session/sessionCookieSerialize.js +28 -0
- package/dist/session/sessionCookieSerialize.js.map +1 -0
- package/dist/session/sessionLogout.d.ts +8 -0
- package/dist/session/sessionLogout.d.ts.map +1 -0
- package/dist/session/sessionLogout.js +74 -0
- package/dist/session/sessionLogout.js.map +1 -0
- package/dist/session/sessionRecordValidate.d.ts +4 -0
- package/dist/session/sessionRecordValidate.d.ts.map +1 -0
- package/dist/session/sessionRecordValidate.js +44 -0
- package/dist/session/sessionRecordValidate.js.map +1 -0
- package/dist/session/sessionRequestResolve.d.ts +9 -0
- package/dist/session/sessionRequestResolve.d.ts.map +1 -0
- package/dist/session/sessionRequestResolve.js +23 -0
- package/dist/session/sessionRequestResolve.js.map +1 -0
- package/dist/session/sessionStoreCreate.d.ts +4 -0
- package/dist/session/sessionStoreCreate.d.ts.map +1 -0
- package/dist/session/sessionStoreCreate.js +220 -0
- package/dist/session/sessionStoreCreate.js.map +1 -0
- package/dist/session/tokenReferenceIdValidate.d.ts +3 -0
- package/dist/session/tokenReferenceIdValidate.d.ts.map +1 -0
- package/dist/session/tokenReferenceIdValidate.js +10 -0
- package/dist/session/tokenReferenceIdValidate.js.map +1 -0
- package/dist/session/tokenReferenceStoreCreate.d.ts +4 -0
- package/dist/session/tokenReferenceStoreCreate.d.ts.map +1 -0
- package/dist/session/tokenReferenceStoreCreate.js +96 -0
- package/dist/session/tokenReferenceStoreCreate.js.map +1 -0
- package/dist/session/tokenReferenceTokensValidate.d.ts +4 -0
- package/dist/session/tokenReferenceTokensValidate.d.ts.map +1 -0
- package/dist/session/tokenReferenceTokensValidate.js +26 -0
- package/dist/session/tokenReferenceTokensValidate.js.map +1 -0
- package/dist/ui/assets/index-C5h9COjm.css +1 -0
- package/dist/ui/assets/index-CwUhaCYM.js +1 -0
- package/dist/ui/index.html +13 -0
- package/dist/web-server/MutationSecurityOptions.d.ts +11 -0
- package/dist/web-server/MutationSecurityOptions.d.ts.map +1 -0
- package/dist/web-server/MutationSecurityOptions.js +2 -0
- package/dist/web-server/MutationSecurityOptions.js.map +1 -0
- package/dist/web-server/mutationOriginValidate.d.ts +3 -0
- package/dist/web-server/mutationOriginValidate.d.ts.map +1 -0
- package/dist/web-server/mutationOriginValidate.js +30 -0
- package/dist/web-server/mutationOriginValidate.js.map +1 -0
- package/dist/web-server/mutationSecurityValidate.d.ts +4 -0
- package/dist/web-server/mutationSecurityValidate.d.ts.map +1 -0
- package/dist/web-server/mutationSecurityValidate.js +27 -0
- package/dist/web-server/mutationSecurityValidate.js.map +1 -0
- package/dist/zitadel/LoginTransaction.d.ts +9 -0
- package/dist/zitadel/LoginTransaction.d.ts.map +1 -0
- package/dist/zitadel/LoginTransaction.js +2 -0
- package/dist/zitadel/LoginTransaction.js.map +1 -0
- package/dist/zitadel/LoginTransactionStore.d.ts +7 -0
- package/dist/zitadel/LoginTransactionStore.d.ts.map +1 -0
- package/dist/zitadel/LoginTransactionStore.js +2 -0
- package/dist/zitadel/LoginTransactionStore.js.map +1 -0
- package/dist/zitadel/LoginTransactionStoreOptions.d.ts +6 -0
- package/dist/zitadel/LoginTransactionStoreOptions.d.ts.map +1 -0
- package/dist/zitadel/LoginTransactionStoreOptions.js +2 -0
- package/dist/zitadel/LoginTransactionStoreOptions.js.map +1 -0
- package/dist/zitadel/ZitadelCallbackOptions.d.ts +28 -0
- package/dist/zitadel/ZitadelCallbackOptions.d.ts.map +1 -0
- package/dist/zitadel/ZitadelCallbackOptions.js +2 -0
- package/dist/zitadel/ZitadelCallbackOptions.js.map +1 -0
- package/dist/zitadel/ZitadelCallbackResult.d.ts +8 -0
- package/dist/zitadel/ZitadelCallbackResult.d.ts.map +1 -0
- package/dist/zitadel/ZitadelCallbackResult.js +2 -0
- package/dist/zitadel/ZitadelCallbackResult.js.map +1 -0
- package/dist/zitadel/ZitadelDiscoveryDocument.d.ts +7 -0
- package/dist/zitadel/ZitadelDiscoveryDocument.d.ts.map +1 -0
- package/dist/zitadel/ZitadelDiscoveryDocument.js +2 -0
- package/dist/zitadel/ZitadelDiscoveryDocument.js.map +1 -0
- package/dist/zitadel/ZitadelHttp.d.ts +2 -0
- package/dist/zitadel/ZitadelHttp.d.ts.map +1 -0
- package/dist/zitadel/ZitadelHttp.js +2 -0
- package/dist/zitadel/ZitadelHttp.js.map +1 -0
- package/dist/zitadel/ZitadelHttpOptions.d.ts +6 -0
- package/dist/zitadel/ZitadelHttpOptions.d.ts.map +1 -0
- package/dist/zitadel/ZitadelHttpOptions.js +2 -0
- package/dist/zitadel/ZitadelHttpOptions.js.map +1 -0
- package/dist/zitadel/ZitadelIdentityClaims.d.ts +6 -0
- package/dist/zitadel/ZitadelIdentityClaims.d.ts.map +1 -0
- package/dist/zitadel/ZitadelIdentityClaims.js +2 -0
- package/dist/zitadel/ZitadelIdentityClaims.js.map +1 -0
- package/dist/zitadel/ZitadelIdentityDirectoryOptions.d.ts +11 -0
- package/dist/zitadel/ZitadelIdentityDirectoryOptions.d.ts.map +1 -0
- package/dist/zitadel/ZitadelIdentityDirectoryOptions.js +2 -0
- package/dist/zitadel/ZitadelIdentityDirectoryOptions.js.map +1 -0
- package/dist/zitadel/ZitadelJwk.d.ts +12 -0
- package/dist/zitadel/ZitadelJwk.d.ts.map +1 -0
- package/dist/zitadel/ZitadelJwk.js +2 -0
- package/dist/zitadel/ZitadelJwk.js.map +1 -0
- package/dist/zitadel/ZitadelJwks.d.ts +5 -0
- package/dist/zitadel/ZitadelJwks.d.ts.map +1 -0
- package/dist/zitadel/ZitadelJwks.js +2 -0
- package/dist/zitadel/ZitadelJwks.js.map +1 -0
- package/dist/zitadel/ZitadelLoginStartOptions.d.ts +17 -0
- package/dist/zitadel/ZitadelLoginStartOptions.d.ts.map +1 -0
- package/dist/zitadel/ZitadelLoginStartOptions.js +2 -0
- package/dist/zitadel/ZitadelLoginStartOptions.js.map +1 -0
- package/dist/zitadel/ZitadelLoginStartResult.d.ts +6 -0
- package/dist/zitadel/ZitadelLoginStartResult.d.ts.map +1 -0
- package/dist/zitadel/ZitadelLoginStartResult.js +2 -0
- package/dist/zitadel/ZitadelLoginStartResult.js.map +1 -0
- package/dist/zitadel/ZitadelOidcConfig.d.ts +10 -0
- package/dist/zitadel/ZitadelOidcConfig.d.ts.map +1 -0
- package/dist/zitadel/ZitadelOidcConfig.js +2 -0
- package/dist/zitadel/ZitadelOidcConfig.js.map +1 -0
- package/dist/zitadel/ZitadelPreAuthCookieOptions.d.ts +4 -0
- package/dist/zitadel/ZitadelPreAuthCookieOptions.d.ts.map +1 -0
- package/dist/zitadel/ZitadelPreAuthCookieOptions.js +2 -0
- package/dist/zitadel/ZitadelPreAuthCookieOptions.js.map +1 -0
- package/dist/zitadel/ZitadelTokenExchangeOptions.d.ts +17 -0
- package/dist/zitadel/ZitadelTokenExchangeOptions.d.ts.map +1 -0
- package/dist/zitadel/ZitadelTokenExchangeOptions.js +2 -0
- package/dist/zitadel/ZitadelTokenExchangeOptions.js.map +1 -0
- package/dist/zitadel/ZitadelTokens.d.ts +7 -0
- package/dist/zitadel/ZitadelTokens.d.ts.map +1 -0
- package/dist/zitadel/ZitadelTokens.js +2 -0
- package/dist/zitadel/ZitadelTokens.js.map +1 -0
- package/dist/zitadel/zitadelCallbackHandle.d.ts +5 -0
- package/dist/zitadel/zitadelCallbackHandle.d.ts.map +1 -0
- package/dist/zitadel/zitadelCallbackHandle.js +255 -0
- package/dist/zitadel/zitadelCallbackHandle.js.map +1 -0
- package/dist/zitadel/zitadelConfigValidate.d.ts +4 -0
- package/dist/zitadel/zitadelConfigValidate.d.ts.map +1 -0
- package/dist/zitadel/zitadelConfigValidate.js +88 -0
- package/dist/zitadel/zitadelConfigValidate.js.map +1 -0
- package/dist/zitadel/zitadelDiscoveryFetch.d.ts +7 -0
- package/dist/zitadel/zitadelDiscoveryFetch.d.ts.map +1 -0
- package/dist/zitadel/zitadelDiscoveryFetch.js +55 -0
- package/dist/zitadel/zitadelDiscoveryFetch.js.map +1 -0
- package/dist/zitadel/zitadelDiscoveryValidate.d.ts +4 -0
- package/dist/zitadel/zitadelDiscoveryValidate.d.ts.map +1 -0
- package/dist/zitadel/zitadelDiscoveryValidate.js +43 -0
- package/dist/zitadel/zitadelDiscoveryValidate.js.map +1 -0
- package/dist/zitadel/zitadelHttpJsonFetch.d.ts +8 -0
- package/dist/zitadel/zitadelHttpJsonFetch.d.ts.map +1 -0
- package/dist/zitadel/zitadelHttpJsonFetch.js +118 -0
- package/dist/zitadel/zitadelHttpJsonFetch.js.map +1 -0
- package/dist/zitadel/zitadelIdTokenValidate.d.ts +7 -0
- package/dist/zitadel/zitadelIdTokenValidate.d.ts.map +1 -0
- package/dist/zitadel/zitadelIdTokenValidate.js +170 -0
- package/dist/zitadel/zitadelIdTokenValidate.js.map +1 -0
- package/dist/zitadel/zitadelIdentityDirectoryCreate.d.ts +5 -0
- package/dist/zitadel/zitadelIdentityDirectoryCreate.d.ts.map +1 -0
- package/dist/zitadel/zitadelIdentityDirectoryCreate.js +268 -0
- package/dist/zitadel/zitadelIdentityDirectoryCreate.js.map +1 -0
- package/dist/zitadel/zitadelJwksFetch.d.ts +6 -0
- package/dist/zitadel/zitadelJwksFetch.d.ts.map +1 -0
- package/dist/zitadel/zitadelJwksFetch.js +36 -0
- package/dist/zitadel/zitadelJwksFetch.js.map +1 -0
- package/dist/zitadel/zitadelJwksValidate.d.ts +4 -0
- package/dist/zitadel/zitadelJwksValidate.d.ts.map +1 -0
- package/dist/zitadel/zitadelJwksValidate.js +69 -0
- package/dist/zitadel/zitadelJwksValidate.js.map +1 -0
- package/dist/zitadel/zitadelLoginStart.d.ts +5 -0
- package/dist/zitadel/zitadelLoginStart.d.ts.map +1 -0
- package/dist/zitadel/zitadelLoginStart.js +102 -0
- package/dist/zitadel/zitadelLoginStart.js.map +1 -0
- package/dist/zitadel/zitadelLoginTransactionStoreCreate.d.ts +4 -0
- package/dist/zitadel/zitadelLoginTransactionStoreCreate.d.ts.map +1 -0
- package/dist/zitadel/zitadelLoginTransactionStoreCreate.js +82 -0
- package/dist/zitadel/zitadelLoginTransactionStoreCreate.js.map +1 -0
- package/dist/zitadel/zitadelPreAuthCookieClear.d.ts +3 -0
- package/dist/zitadel/zitadelPreAuthCookieClear.d.ts.map +1 -0
- package/dist/zitadel/zitadelPreAuthCookieClear.js +6 -0
- package/dist/zitadel/zitadelPreAuthCookieClear.js.map +1 -0
- package/dist/zitadel/zitadelPreAuthCookieHash.d.ts +3 -0
- package/dist/zitadel/zitadelPreAuthCookieHash.d.ts.map +1 -0
- package/dist/zitadel/zitadelPreAuthCookieHash.js +20 -0
- package/dist/zitadel/zitadelPreAuthCookieHash.js.map +1 -0
- package/dist/zitadel/zitadelPreAuthCookieParse.d.ts +3 -0
- package/dist/zitadel/zitadelPreAuthCookieParse.d.ts.map +1 -0
- package/dist/zitadel/zitadelPreAuthCookieParse.js +33 -0
- package/dist/zitadel/zitadelPreAuthCookieParse.js.map +1 -0
- package/dist/zitadel/zitadelPreAuthCookieSerialize.d.ts +4 -0
- package/dist/zitadel/zitadelPreAuthCookieSerialize.d.ts.map +1 -0
- package/dist/zitadel/zitadelPreAuthCookieSerialize.js +20 -0
- package/dist/zitadel/zitadelPreAuthCookieSerialize.js.map +1 -0
- package/dist/zitadel/zitadelTokenExchange.d.ts +5 -0
- package/dist/zitadel/zitadelTokenExchange.d.ts.map +1 -0
- package/dist/zitadel/zitadelTokenExchange.js +92 -0
- package/dist/zitadel/zitadelTokenExchange.js.map +1 -0
- package/package.json +137 -0
|
@@ -0,0 +1,738 @@
|
|
|
1
|
+
import { createResult, createResultError } from "#result";
|
|
2
|
+
import { projectAccessLogListUseCase } from "../access-log/projectAccessLogListUseCase.js";
|
|
3
|
+
import { projectAccessLogSourceFileCreate } from "../access-log/projectAccessLogSourceFileCreate.js";
|
|
4
|
+
import { caddyConfigInspectUseCase } from "../caddy/caddyConfigInspectUseCase.js";
|
|
5
|
+
import { projectDocsUrlsUseCase } from "../caddy/projectDocsUrlsUseCase.js";
|
|
6
|
+
import { projectCreate } from "../project/projectCreate.js";
|
|
7
|
+
import { projectDelete } from "../project/projectDelete.js";
|
|
8
|
+
import { projectEdit } from "../project/projectEdit.js";
|
|
9
|
+
import { projectGetUseCase } from "../project/projectGetUseCase.js";
|
|
10
|
+
import { projectHistory } from "../project/projectHistory.js";
|
|
11
|
+
import { projectListUseCase } from "../project/projectListUseCase.js";
|
|
12
|
+
const responseHeaders = { "cache-control": "no-store", "content-type": "application/json" };
|
|
13
|
+
const ownerPattern = /^[A-Za-z_][A-Za-z0-9_.-]*\$?$/;
|
|
14
|
+
const projectNamePattern = /^[a-z0-9][a-z0-9-]*$/;
|
|
15
|
+
function requestAccessCreate(username) {
|
|
16
|
+
return {
|
|
17
|
+
actorResolve: async () => createResult({ subject: null, username, role: "own" }),
|
|
18
|
+
ownerRoleResolve: async () => createResult("own"),
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
function jsonResponse(data, status = 200) {
|
|
22
|
+
return new Response(JSON.stringify(data), { status, headers: responseHeaders });
|
|
23
|
+
}
|
|
24
|
+
function successResponse(data) {
|
|
25
|
+
return jsonResponse({ success: true, data });
|
|
26
|
+
}
|
|
27
|
+
function errorResponse(failure, legacy, headers) {
|
|
28
|
+
if (legacy) {
|
|
29
|
+
return new Response(JSON.stringify({ success: false, op: failure.op, errorMessage: failure.message, code: failure.code }), { status: failure.status, headers: { ...responseHeaders, ...headers } });
|
|
30
|
+
}
|
|
31
|
+
const { retryable = false, ...failureData } = failure;
|
|
32
|
+
const error = { ...failureData, retryable, details: {} };
|
|
33
|
+
return new Response(JSON.stringify({ success: false, error }), {
|
|
34
|
+
status: failure.status,
|
|
35
|
+
headers: { ...responseHeaders, ...headers },
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
function legacyDocsErrorResponse(result, status) {
|
|
39
|
+
return jsonResponse({ success: false, op: result.op, errorMessage: result.errorMessage }, status);
|
|
40
|
+
}
|
|
41
|
+
function segmentDecode(value, pattern) {
|
|
42
|
+
try {
|
|
43
|
+
const decoded = decodeURIComponent(value);
|
|
44
|
+
if (decoded.includes("/") || decoded.includes("\\") || !pattern.test(decoded))
|
|
45
|
+
return undefined;
|
|
46
|
+
return decoded;
|
|
47
|
+
}
|
|
48
|
+
catch {
|
|
49
|
+
return undefined;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
function routeParse(path) {
|
|
53
|
+
if (path === "/projects")
|
|
54
|
+
return { kind: "projects", legacy: true };
|
|
55
|
+
if (path === "/config")
|
|
56
|
+
return { kind: "config", legacy: true };
|
|
57
|
+
if (path === "/history")
|
|
58
|
+
return { kind: "history", legacy: true };
|
|
59
|
+
if (path === "/api/v1/caddy/config")
|
|
60
|
+
return { kind: "config", legacy: false };
|
|
61
|
+
if (path === "/api/v1/caddy/status")
|
|
62
|
+
return { kind: "status", legacy: false };
|
|
63
|
+
if (path === "/api/v1/caddy/regenerate")
|
|
64
|
+
return { kind: "regenerate", legacy: false };
|
|
65
|
+
if (path === "/regenerate")
|
|
66
|
+
return { kind: "regenerate", legacy: true };
|
|
67
|
+
const versionedHistory = path.match(/^\/api\/v1\/users\/([^/]+)\/projects\/([^/]+)\/history$/);
|
|
68
|
+
if (versionedHistory !== null) {
|
|
69
|
+
const owner = segmentDecode(versionedHistory[1], ownerPattern);
|
|
70
|
+
const name = segmentDecode(versionedHistory[2], projectNamePattern);
|
|
71
|
+
if (owner === undefined || name === undefined)
|
|
72
|
+
return undefined;
|
|
73
|
+
return { kind: "history", legacy: false, owner, name };
|
|
74
|
+
}
|
|
75
|
+
const versionedDocs = path.match(/^\/api\/v1\/users\/([^/]+)\/projects\/([^/]+)\/docs$/);
|
|
76
|
+
if (versionedDocs !== null) {
|
|
77
|
+
const owner = segmentDecode(versionedDocs[1], ownerPattern);
|
|
78
|
+
const name = segmentDecode(versionedDocs[2], projectNamePattern);
|
|
79
|
+
if (owner === undefined || name === undefined)
|
|
80
|
+
return undefined;
|
|
81
|
+
return { kind: "docs", legacy: false, owner, name };
|
|
82
|
+
}
|
|
83
|
+
const versionedProject = path.match(/^\/api\/v1\/users\/([^/]+)\/projects\/([^/]+)$/);
|
|
84
|
+
if (versionedProject !== null) {
|
|
85
|
+
const owner = segmentDecode(versionedProject[1], ownerPattern);
|
|
86
|
+
const name = segmentDecode(versionedProject[2], projectNamePattern);
|
|
87
|
+
if (owner === undefined || name === undefined)
|
|
88
|
+
return undefined;
|
|
89
|
+
return { kind: "project", legacy: false, owner, name };
|
|
90
|
+
}
|
|
91
|
+
const versionedAccessLogs = path.match(/^\/api\/v1\/users\/([^/]+)\/projects\/([^/]+)\/access-logs$/);
|
|
92
|
+
if (versionedAccessLogs !== null) {
|
|
93
|
+
const owner = segmentDecode(versionedAccessLogs[1], ownerPattern);
|
|
94
|
+
const name = segmentDecode(versionedAccessLogs[2], projectNamePattern);
|
|
95
|
+
if (owner === undefined || name === undefined)
|
|
96
|
+
return undefined;
|
|
97
|
+
return { kind: "access-logs", legacy: false, owner, name };
|
|
98
|
+
}
|
|
99
|
+
const selfAccessLogs = path.match(/^\/api\/v1\/projects\/([^/]+)\/access-logs$/);
|
|
100
|
+
if (selfAccessLogs !== null) {
|
|
101
|
+
const name = segmentDecode(selfAccessLogs[1], projectNamePattern);
|
|
102
|
+
if (name === undefined)
|
|
103
|
+
return undefined;
|
|
104
|
+
return { kind: "self-access-logs", legacy: false, name };
|
|
105
|
+
}
|
|
106
|
+
const versionedProjects = path.match(/^\/api\/v1\/users\/([^/]+)\/projects$/);
|
|
107
|
+
if (versionedProjects !== null) {
|
|
108
|
+
const owner = segmentDecode(versionedProjects[1], ownerPattern);
|
|
109
|
+
if (owner === undefined)
|
|
110
|
+
return undefined;
|
|
111
|
+
return { kind: "projects", legacy: false, owner };
|
|
112
|
+
}
|
|
113
|
+
const legacyDocs = path.match(/^\/projects\/([^/]+)\/docs$/);
|
|
114
|
+
if (legacyDocs !== null) {
|
|
115
|
+
const name = segmentDecode(legacyDocs[1], projectNamePattern);
|
|
116
|
+
if (name === undefined)
|
|
117
|
+
return undefined;
|
|
118
|
+
return { kind: "docs", legacy: true, name };
|
|
119
|
+
}
|
|
120
|
+
const legacyProjectByPort = path.match(/^\/projects\/by-port\/(\d+)$/);
|
|
121
|
+
if (legacyProjectByPort !== null)
|
|
122
|
+
return { kind: "project-by-port", legacy: true, port: Number(legacyProjectByPort[1]) };
|
|
123
|
+
const legacyProject = path.match(/^\/projects\/([^/]+)$/);
|
|
124
|
+
if (legacyProject !== null) {
|
|
125
|
+
const name = segmentDecode(legacyProject[1], projectNamePattern);
|
|
126
|
+
if (name === undefined)
|
|
127
|
+
return undefined;
|
|
128
|
+
return { kind: "project", legacy: true, name };
|
|
129
|
+
}
|
|
130
|
+
return undefined;
|
|
131
|
+
}
|
|
132
|
+
async function socketAccessBind(username, resolve) {
|
|
133
|
+
const op = "projectRegistryApiSocketAccessResolve";
|
|
134
|
+
let accessR;
|
|
135
|
+
try {
|
|
136
|
+
accessR = await resolve(username);
|
|
137
|
+
}
|
|
138
|
+
catch {
|
|
139
|
+
return createResultError(op, "socket actor role is unavailable");
|
|
140
|
+
}
|
|
141
|
+
if (!accessR.success)
|
|
142
|
+
return accessR;
|
|
143
|
+
let actorR;
|
|
144
|
+
try {
|
|
145
|
+
actorR = await accessR.data.actorResolve();
|
|
146
|
+
}
|
|
147
|
+
catch {
|
|
148
|
+
return createResultError(op, "socket actor role is unavailable");
|
|
149
|
+
}
|
|
150
|
+
if (!actorR.success)
|
|
151
|
+
return actorR;
|
|
152
|
+
if (actorR.data.username !== username)
|
|
153
|
+
return createResultError(op, "socket actor mapping is unavailable");
|
|
154
|
+
const actor = actorR.data;
|
|
155
|
+
return createResult({
|
|
156
|
+
actorResolve: async () => createResult(actor),
|
|
157
|
+
ownerRoleResolve: (owner) => accessR.data.ownerRoleResolve(owner),
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
function routeRequiresProjectAccess(route) {
|
|
161
|
+
return (route.kind === "projects" ||
|
|
162
|
+
route.kind === "docs" ||
|
|
163
|
+
route.kind === "project" ||
|
|
164
|
+
route.kind === "project-by-port" ||
|
|
165
|
+
route.kind === "access-logs" ||
|
|
166
|
+
route.kind === "self-access-logs" ||
|
|
167
|
+
route.kind === "history" ||
|
|
168
|
+
route.kind === "config");
|
|
169
|
+
}
|
|
170
|
+
function resultErrorResponse(result, legacy, feature) {
|
|
171
|
+
const message = result.errorMessage;
|
|
172
|
+
if (/not found|no server block matching/i.test(message)) {
|
|
173
|
+
return errorResponse({ code: `${feature}.not-found`, message, op: result.op, status: 404 }, legacy);
|
|
174
|
+
}
|
|
175
|
+
if (/not authorized|current role is unavailable|requires superadmin/i.test(message)) {
|
|
176
|
+
return errorResponse({ code: `${feature}.forbidden`, message: "Access is forbidden.", op: result.op, status: 403 }, legacy);
|
|
177
|
+
}
|
|
178
|
+
if (/already exists|collision|conflict|revision mismatch|revision changed|worktree is dirty/i.test(message)) {
|
|
179
|
+
return errorResponse({ code: `${feature}.conflict`, message, op: result.op, status: 409 }, legacy);
|
|
180
|
+
}
|
|
181
|
+
if (/invalid|required|positive integer|must be|immutable|expectedRevision|no free port|port range/i.test(message)) {
|
|
182
|
+
return errorResponse({ code: "request.invalid", message, op: result.op, status: 400 }, legacy);
|
|
183
|
+
}
|
|
184
|
+
return errorResponse({ code: "platform.internal", message: "The request could not be completed.", op: result.op, status: 500 }, legacy);
|
|
185
|
+
}
|
|
186
|
+
function accessLogErrorResponse(result) {
|
|
187
|
+
const code = "code" in result && typeof result.code === "string" ? result.code : undefined;
|
|
188
|
+
if (code === "access-log.not-found") {
|
|
189
|
+
return errorResponse({
|
|
190
|
+
code,
|
|
191
|
+
message: "Project access logs are unavailable.",
|
|
192
|
+
op: result.op,
|
|
193
|
+
status: 404,
|
|
194
|
+
}, false);
|
|
195
|
+
}
|
|
196
|
+
if (code === "access-log.invalid-input" || code === "access-log.invalid-cursor") {
|
|
197
|
+
return errorResponse({ code, message: result.errorMessage, op: result.op, status: 400 }, false);
|
|
198
|
+
}
|
|
199
|
+
if (code === "access-log.cursor-expired") {
|
|
200
|
+
return errorResponse({ code, message: result.errorMessage, op: result.op, status: 410 }, false);
|
|
201
|
+
}
|
|
202
|
+
if (code === "access-log.unavailable" || code === undefined || code.startsWith("access-log.")) {
|
|
203
|
+
return errorResponse({
|
|
204
|
+
code: code ?? "access-log.unavailable",
|
|
205
|
+
message: "Project access logging is unavailable.",
|
|
206
|
+
op: result.op,
|
|
207
|
+
status: 503,
|
|
208
|
+
retryable: true,
|
|
209
|
+
}, false);
|
|
210
|
+
}
|
|
211
|
+
return errorResponse({
|
|
212
|
+
code: "platform.internal",
|
|
213
|
+
message: "The request could not be completed.",
|
|
214
|
+
op: result.op,
|
|
215
|
+
status: 500,
|
|
216
|
+
}, false);
|
|
217
|
+
}
|
|
218
|
+
function routeMethods(route) {
|
|
219
|
+
if (route.kind === "projects")
|
|
220
|
+
return route.legacy ? ["GET"] : ["GET", "POST"];
|
|
221
|
+
if (route.kind === "docs")
|
|
222
|
+
return ["GET"];
|
|
223
|
+
if (route.kind === "project")
|
|
224
|
+
return route.legacy ? ["GET", "PUT", "PATCH", "DELETE"] : ["GET", "PATCH", "DELETE"];
|
|
225
|
+
if (route.kind === "project-by-port")
|
|
226
|
+
return ["DELETE"];
|
|
227
|
+
if (route.kind === "regenerate")
|
|
228
|
+
return ["POST"];
|
|
229
|
+
return ["GET"];
|
|
230
|
+
}
|
|
231
|
+
function accessLogInputParse(url) {
|
|
232
|
+
const op = "projectRegistryApiAccessLogsInput";
|
|
233
|
+
const keys = [...url.searchParams.keys()];
|
|
234
|
+
if (keys.some((key) => key !== "limit" && key !== "before")) {
|
|
235
|
+
return { ...createResultError(op, "Access-log query parameters are invalid.") };
|
|
236
|
+
}
|
|
237
|
+
const limits = url.searchParams.getAll("limit");
|
|
238
|
+
if (limits.length > 1 || (limits.length === 1 && !/^[1-9]\d*$/.test(limits[0]))) {
|
|
239
|
+
return { ...createResultError(op, "Access-log limit must be a positive bounded integer.") };
|
|
240
|
+
}
|
|
241
|
+
if (limits.length === 1) {
|
|
242
|
+
const limit = Number(limits[0]);
|
|
243
|
+
if (!Number.isSafeInteger(limit) || limit > 1_000) {
|
|
244
|
+
return { ...createResultError(op, "Access-log limit must be a positive bounded integer.") };
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
const cursors = url.searchParams.getAll("before");
|
|
248
|
+
if (cursors.length > 1 || (cursors.length === 1 && (cursors[0] === "" || cursors[0].length > 4_096))) {
|
|
249
|
+
return { ...createResultError(op, "Access-log cursor is invalid.") };
|
|
250
|
+
}
|
|
251
|
+
return createResult({
|
|
252
|
+
...(limits.length === 0 ? {} : { limit: Number(limits[0]) }),
|
|
253
|
+
...(cursors.length === 0 ? {} : { before: cursors[0] }),
|
|
254
|
+
});
|
|
255
|
+
}
|
|
256
|
+
async function requestBodyJson(request, legacy) {
|
|
257
|
+
try {
|
|
258
|
+
return await request.json();
|
|
259
|
+
}
|
|
260
|
+
catch {
|
|
261
|
+
return errorResponse({
|
|
262
|
+
code: "request.invalid",
|
|
263
|
+
message: "The request body must be valid JSON.",
|
|
264
|
+
op: "projectRegistryApiBodyParse",
|
|
265
|
+
status: 400,
|
|
266
|
+
}, legacy);
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
function recordValue(input) {
|
|
270
|
+
if (typeof input !== "object" || input === null || Array.isArray(input))
|
|
271
|
+
return undefined;
|
|
272
|
+
return input;
|
|
273
|
+
}
|
|
274
|
+
function expectedRevision(input) {
|
|
275
|
+
return { expectedRevision: recordValue(input)?.expectedRevision };
|
|
276
|
+
}
|
|
277
|
+
const legacyCaddyKeys = [
|
|
278
|
+
"port",
|
|
279
|
+
"domains",
|
|
280
|
+
"path",
|
|
281
|
+
"access",
|
|
282
|
+
"kind",
|
|
283
|
+
"docs",
|
|
284
|
+
"browse",
|
|
285
|
+
"headerUp",
|
|
286
|
+
"disabled",
|
|
287
|
+
"routed",
|
|
288
|
+
"oidcPaths",
|
|
289
|
+
"docsPath",
|
|
290
|
+
"browseTemplate",
|
|
291
|
+
"staticAllow",
|
|
292
|
+
"denyDotfiles",
|
|
293
|
+
"spa",
|
|
294
|
+
"flushInterval",
|
|
295
|
+
];
|
|
296
|
+
function legacyCaddyPatch(input) {
|
|
297
|
+
const record = recordValue(input);
|
|
298
|
+
if (record === undefined)
|
|
299
|
+
return undefined;
|
|
300
|
+
const caddy = Object.create(null);
|
|
301
|
+
for (const key of legacyCaddyKeys) {
|
|
302
|
+
if (Object.hasOwn(record, key))
|
|
303
|
+
caddy[key] = record[key];
|
|
304
|
+
}
|
|
305
|
+
return caddy;
|
|
306
|
+
}
|
|
307
|
+
function legacyPutPatch(input) {
|
|
308
|
+
const record = recordValue(input);
|
|
309
|
+
if (record === undefined || !Object.hasOwn(record, "port") || !Object.hasOwn(record, "domains"))
|
|
310
|
+
return undefined;
|
|
311
|
+
const provided = legacyCaddyPatch(record);
|
|
312
|
+
if (provided === undefined)
|
|
313
|
+
return undefined;
|
|
314
|
+
return {
|
|
315
|
+
caddy: {
|
|
316
|
+
path: "",
|
|
317
|
+
access: "external",
|
|
318
|
+
kind: "proxy",
|
|
319
|
+
docs: true,
|
|
320
|
+
browse: false,
|
|
321
|
+
headerUp: {},
|
|
322
|
+
disabled: false,
|
|
323
|
+
denyDotfiles: false,
|
|
324
|
+
spa: false,
|
|
325
|
+
...provided,
|
|
326
|
+
},
|
|
327
|
+
};
|
|
328
|
+
}
|
|
329
|
+
async function currentRevision(repository) {
|
|
330
|
+
const snapshotR = await repository.read();
|
|
331
|
+
if (!snapshotR.success)
|
|
332
|
+
return snapshotR;
|
|
333
|
+
return { expectedRevision: snapshotR.data.revision };
|
|
334
|
+
}
|
|
335
|
+
async function caddyProjectChange(application, mutation) {
|
|
336
|
+
if (!mutation.changed)
|
|
337
|
+
return undefined;
|
|
338
|
+
return application.projectChange();
|
|
339
|
+
}
|
|
340
|
+
function historyLimitParse(url) {
|
|
341
|
+
const values = url.searchParams.getAll("limit");
|
|
342
|
+
if (values.length === 0)
|
|
343
|
+
return undefined;
|
|
344
|
+
if (values.length !== 1 || !/^[1-9]\d*$/.test(values[0]))
|
|
345
|
+
return null;
|
|
346
|
+
const limit = Number(values[0]);
|
|
347
|
+
return Number.isSafeInteger(limit) ? limit : null;
|
|
348
|
+
}
|
|
349
|
+
function legacyProjectMap(project) {
|
|
350
|
+
const caddy = project.caddy;
|
|
351
|
+
return {
|
|
352
|
+
name: project.name,
|
|
353
|
+
user: project.owner,
|
|
354
|
+
port: caddy?.port,
|
|
355
|
+
domains: caddy?.domains ?? [],
|
|
356
|
+
path: caddy?.path ?? "",
|
|
357
|
+
access: caddy?.access ?? "external",
|
|
358
|
+
kind: caddy?.kind ?? "proxy",
|
|
359
|
+
docs: caddy?.docs ?? false,
|
|
360
|
+
browse: caddy?.browse ?? false,
|
|
361
|
+
headerUp: caddy?.headerUp ?? {},
|
|
362
|
+
shared: false,
|
|
363
|
+
template: false,
|
|
364
|
+
disabled: caddy?.disabled ?? true,
|
|
365
|
+
routed: caddy?.routed,
|
|
366
|
+
oidcPaths: caddy?.oidcPaths,
|
|
367
|
+
docsPath: caddy?.docsPath,
|
|
368
|
+
browseTemplate: caddy?.browseTemplate,
|
|
369
|
+
staticAllow: caddy?.staticAllow,
|
|
370
|
+
denyDotfiles: caddy?.denyDotfiles,
|
|
371
|
+
spa: caddy?.spa,
|
|
372
|
+
flushInterval: caddy?.flushInterval,
|
|
373
|
+
};
|
|
374
|
+
}
|
|
375
|
+
function legacySummaryMap(entry) {
|
|
376
|
+
const { owner, ...summary } = entry;
|
|
377
|
+
return { ...summary, user: owner };
|
|
378
|
+
}
|
|
379
|
+
export function projectRegistryApiHandlerCreate(options) {
|
|
380
|
+
const configuredAccessLogSourceR = options.projectAccessLogSource === undefined && options.configOptions?.caddyAccessLogRoot !== undefined
|
|
381
|
+
? projectAccessLogSourceFileCreate({ root: options.configOptions.caddyAccessLogRoot, maxRecords: 1_000 })
|
|
382
|
+
: undefined;
|
|
383
|
+
const projectAccessLogSource = options.projectAccessLogSource ??
|
|
384
|
+
(configuredAccessLogSourceR?.success === true ? configuredAccessLogSourceR.data : undefined);
|
|
385
|
+
const handle = async (request, context) => {
|
|
386
|
+
let url;
|
|
387
|
+
try {
|
|
388
|
+
url = new URL(request.url);
|
|
389
|
+
}
|
|
390
|
+
catch {
|
|
391
|
+
return errorResponse({
|
|
392
|
+
code: "request.invalid",
|
|
393
|
+
message: "The request URL is invalid.",
|
|
394
|
+
op: "projectRegistryApiHandle",
|
|
395
|
+
status: 400,
|
|
396
|
+
}, false);
|
|
397
|
+
}
|
|
398
|
+
const route = routeParse(url.pathname);
|
|
399
|
+
if (route === undefined) {
|
|
400
|
+
const legacy = !url.pathname.startsWith("/api/v1/");
|
|
401
|
+
return errorResponse({ code: "api.not-found", message: "The route was not found.", op: "projectRegistryApiHandle", status: 404 }, legacy);
|
|
402
|
+
}
|
|
403
|
+
if (route.kind === "self-access-logs" && context.transport !== "unix") {
|
|
404
|
+
return errorResponse({ code: "api.not-found", message: "The route was not found.", op: "projectRegistryApiHandle", status: 404 }, false);
|
|
405
|
+
}
|
|
406
|
+
if ((context.transport === "http" && context.access === undefined) ||
|
|
407
|
+
(context.transport === "unix" && (context.username === undefined || context.username === ""))) {
|
|
408
|
+
return errorResponse({
|
|
409
|
+
code: "api.unauthenticated",
|
|
410
|
+
message: "Authentication is required.",
|
|
411
|
+
op: "projectRegistryApiAuthenticate",
|
|
412
|
+
status: 401,
|
|
413
|
+
}, route.legacy);
|
|
414
|
+
}
|
|
415
|
+
const methods = routeMethods(route);
|
|
416
|
+
if (!methods.includes(request.method)) {
|
|
417
|
+
return errorResponse({
|
|
418
|
+
code: "api.method-not-allowed",
|
|
419
|
+
message: `Supported methods: ${methods.join(", ")}.`,
|
|
420
|
+
op: "projectRegistryApiHandle",
|
|
421
|
+
status: 405,
|
|
422
|
+
}, route.legacy, { allow: methods.join(", ") });
|
|
423
|
+
}
|
|
424
|
+
const username = context.username ?? "";
|
|
425
|
+
let access = context.transport === "http" ? context.access : undefined;
|
|
426
|
+
if (context.transport === "unix" && routeRequiresProjectAccess(route)) {
|
|
427
|
+
if (options.socketAccessResolve === undefined) {
|
|
428
|
+
return errorResponse({
|
|
429
|
+
code: "api.unauthenticated",
|
|
430
|
+
message: "Authentication is required.",
|
|
431
|
+
op: "projectRegistryApiSocketAccessResolve",
|
|
432
|
+
status: 401,
|
|
433
|
+
}, route.legacy);
|
|
434
|
+
}
|
|
435
|
+
const accessR = await socketAccessBind(username, options.socketAccessResolve);
|
|
436
|
+
if (!accessR.success) {
|
|
437
|
+
return errorResponse({
|
|
438
|
+
code: "api.unauthenticated",
|
|
439
|
+
message: "Authentication is required.",
|
|
440
|
+
op: accessR.op,
|
|
441
|
+
status: 401,
|
|
442
|
+
}, route.legacy);
|
|
443
|
+
}
|
|
444
|
+
access = accessR.data;
|
|
445
|
+
}
|
|
446
|
+
if (routeRequiresProjectAccess(route) && access === undefined) {
|
|
447
|
+
return errorResponse({
|
|
448
|
+
code: "api.unauthenticated",
|
|
449
|
+
message: "Authentication is required.",
|
|
450
|
+
op: "projectRegistryApiAuthenticate",
|
|
451
|
+
status: 401,
|
|
452
|
+
}, route.legacy);
|
|
453
|
+
}
|
|
454
|
+
const resolvedAccess = access ?? requestAccessCreate(username);
|
|
455
|
+
const owner = "owner" in route && route.owner !== undefined ? route.owner : username;
|
|
456
|
+
const useCaseOptions = { repository: options.repository, access: resolvedAccess, portRange: options.portRange };
|
|
457
|
+
if (route.kind === "regenerate") {
|
|
458
|
+
const regeneratedR = await options.caddyApplication.regenerate();
|
|
459
|
+
if (!regeneratedR.success)
|
|
460
|
+
return resultErrorResponse(regeneratedR, route.legacy, "caddy");
|
|
461
|
+
return successResponse(regeneratedR.data);
|
|
462
|
+
}
|
|
463
|
+
if (route.kind === "docs") {
|
|
464
|
+
const projectsR = await projectListUseCase(useCaseOptions, { owner });
|
|
465
|
+
if (!projectsR.success)
|
|
466
|
+
return resultErrorResponse(projectsR, route.legacy, "projects");
|
|
467
|
+
const docsR = await projectDocsUrlsUseCase({
|
|
468
|
+
actor: { subject: null, username, role: "own" },
|
|
469
|
+
projectList: async () => createResult(projectsR.data.projects),
|
|
470
|
+
owner,
|
|
471
|
+
projectName: route.name,
|
|
472
|
+
relativePath: url.searchParams.get("path") ?? "",
|
|
473
|
+
scheme: url.searchParams.get("scheme") === "http" ? "http" : "https",
|
|
474
|
+
});
|
|
475
|
+
if (docsR.success)
|
|
476
|
+
return successResponse(docsR.data);
|
|
477
|
+
if (!docsR.errorMessage.startsWith("documentation")) {
|
|
478
|
+
return resultErrorResponse(docsR, route.legacy, "projects");
|
|
479
|
+
}
|
|
480
|
+
const status = docsR.errorMessage === "documentation project is unavailable"
|
|
481
|
+
? 404
|
|
482
|
+
: docsR.errorMessage.startsWith("documentation")
|
|
483
|
+
? 400
|
|
484
|
+
: 500;
|
|
485
|
+
if (route.legacy)
|
|
486
|
+
return legacyDocsErrorResponse(docsR, status);
|
|
487
|
+
if (status === 404) {
|
|
488
|
+
return errorResponse({ code: "projects.not-found", message: docsR.errorMessage, op: docsR.op, status }, false);
|
|
489
|
+
}
|
|
490
|
+
if (status === 400) {
|
|
491
|
+
return errorResponse({ code: "request.invalid", message: docsR.errorMessage, op: docsR.op, status }, false);
|
|
492
|
+
}
|
|
493
|
+
return errorResponse({
|
|
494
|
+
code: "platform.internal",
|
|
495
|
+
message: "The request could not be completed.",
|
|
496
|
+
op: docsR.op,
|
|
497
|
+
status: 500,
|
|
498
|
+
}, false);
|
|
499
|
+
}
|
|
500
|
+
if (route.kind === "access-logs" || route.kind === "self-access-logs") {
|
|
501
|
+
const inputR = accessLogInputParse(url);
|
|
502
|
+
if (!inputR.success) {
|
|
503
|
+
return errorResponse({ code: "access-log.invalid-input", message: inputR.errorMessage, op: inputR.op, status: 400 }, false);
|
|
504
|
+
}
|
|
505
|
+
const logsR = await projectAccessLogListUseCase({ repository: options.repository, access: resolvedAccess, source: projectAccessLogSource }, { owner, name: route.name }, inputR.data);
|
|
506
|
+
if (!logsR.success)
|
|
507
|
+
return accessLogErrorResponse(logsR);
|
|
508
|
+
return successResponse(logsR.data);
|
|
509
|
+
}
|
|
510
|
+
if (request.method !== "GET" && route.kind === "projects") {
|
|
511
|
+
const body = await requestBodyJson(request, false);
|
|
512
|
+
if (body instanceof Response)
|
|
513
|
+
return body;
|
|
514
|
+
const bodyRecord = recordValue(body);
|
|
515
|
+
if (bodyRecord !== undefined && typeof bodyRecord.owner === "string" && bodyRecord.owner.trim() !== owner) {
|
|
516
|
+
return errorResponse({
|
|
517
|
+
code: "projects.forbidden",
|
|
518
|
+
message: "Access is forbidden.",
|
|
519
|
+
op: "projectRegistryApiCreate",
|
|
520
|
+
status: 403,
|
|
521
|
+
}, false);
|
|
522
|
+
}
|
|
523
|
+
const input = bodyRecord === undefined ? body : { ...bodyRecord, owner };
|
|
524
|
+
const mutationR = await projectCreate(useCaseOptions, input, expectedRevision(body));
|
|
525
|
+
if (!mutationR.success)
|
|
526
|
+
return resultErrorResponse(mutationR, false, "projects");
|
|
527
|
+
const applicationR = await caddyProjectChange(options.caddyApplication, mutationR.data);
|
|
528
|
+
if (applicationR !== undefined && "success" in applicationR && !applicationR.success) {
|
|
529
|
+
return resultErrorResponse(applicationR, false, "caddy");
|
|
530
|
+
}
|
|
531
|
+
return jsonResponse({ success: true, data: mutationR.data }, 201);
|
|
532
|
+
}
|
|
533
|
+
if (request.method !== "GET" && route.kind === "project") {
|
|
534
|
+
const key = { owner, name: route.name };
|
|
535
|
+
let mutationR;
|
|
536
|
+
if (request.method === "DELETE") {
|
|
537
|
+
let mutationOptions;
|
|
538
|
+
if (route.legacy) {
|
|
539
|
+
const revisionR = await currentRevision(options.repository);
|
|
540
|
+
if ("success" in revisionR)
|
|
541
|
+
return resultErrorResponse(revisionR, true, "projects");
|
|
542
|
+
mutationOptions = revisionR;
|
|
543
|
+
}
|
|
544
|
+
else {
|
|
545
|
+
const body = await requestBodyJson(request, false);
|
|
546
|
+
if (body instanceof Response)
|
|
547
|
+
return body;
|
|
548
|
+
mutationOptions = expectedRevision(body);
|
|
549
|
+
}
|
|
550
|
+
mutationR = await projectDelete(useCaseOptions, key, mutationOptions);
|
|
551
|
+
}
|
|
552
|
+
else {
|
|
553
|
+
const body = await requestBodyJson(request, route.legacy);
|
|
554
|
+
if (body instanceof Response)
|
|
555
|
+
return body;
|
|
556
|
+
let input = body;
|
|
557
|
+
let mutationOptions;
|
|
558
|
+
if (route.legacy) {
|
|
559
|
+
const caddy = request.method === "PUT" ? legacyPutPatch(body) : legacyCaddyPatch(body);
|
|
560
|
+
if (caddy === undefined) {
|
|
561
|
+
return errorResponse({
|
|
562
|
+
code: "request.invalid",
|
|
563
|
+
message: request.method === "PUT"
|
|
564
|
+
? "Port and domains are required on full replace."
|
|
565
|
+
: "The request body is invalid.",
|
|
566
|
+
op: "projectRegistryApiLegacyEdit",
|
|
567
|
+
status: 400,
|
|
568
|
+
}, true);
|
|
569
|
+
}
|
|
570
|
+
input = request.method === "PUT" ? caddy : { caddy };
|
|
571
|
+
const revisionR = await currentRevision(options.repository);
|
|
572
|
+
if ("success" in revisionR)
|
|
573
|
+
return resultErrorResponse(revisionR, true, "projects");
|
|
574
|
+
mutationOptions = revisionR;
|
|
575
|
+
}
|
|
576
|
+
else {
|
|
577
|
+
const bodyRecord = recordValue(body);
|
|
578
|
+
if (bodyRecord !== undefined && typeof bodyRecord.owner === "string" && bodyRecord.owner.trim() !== owner) {
|
|
579
|
+
return errorResponse({
|
|
580
|
+
code: "projects.forbidden",
|
|
581
|
+
message: "Access is forbidden.",
|
|
582
|
+
op: "projectRegistryApiEdit",
|
|
583
|
+
status: 403,
|
|
584
|
+
}, false);
|
|
585
|
+
}
|
|
586
|
+
mutationOptions = expectedRevision(body);
|
|
587
|
+
}
|
|
588
|
+
mutationR = await projectEdit(useCaseOptions, key, input, mutationOptions);
|
|
589
|
+
}
|
|
590
|
+
if (!mutationR.success)
|
|
591
|
+
return resultErrorResponse(mutationR, route.legacy, "projects");
|
|
592
|
+
const applicationR = await caddyProjectChange(options.caddyApplication, mutationR.data);
|
|
593
|
+
if (applicationR !== undefined && "success" in applicationR && !applicationR.success) {
|
|
594
|
+
return resultErrorResponse(applicationR, route.legacy, "caddy");
|
|
595
|
+
}
|
|
596
|
+
if (!route.legacy)
|
|
597
|
+
return successResponse(mutationR.data);
|
|
598
|
+
if (request.method === "DELETE")
|
|
599
|
+
return successResponse({ deleted: route.name });
|
|
600
|
+
const projectR = await projectGetUseCase(useCaseOptions, key);
|
|
601
|
+
if (!projectR.success)
|
|
602
|
+
return resultErrorResponse(projectR, true, "projects");
|
|
603
|
+
return successResponse(legacyProjectMap(projectR.data.project));
|
|
604
|
+
}
|
|
605
|
+
if (route.kind === "project-by-port") {
|
|
606
|
+
const projectsR = await projectListUseCase(useCaseOptions, { owner });
|
|
607
|
+
if (!projectsR.success)
|
|
608
|
+
return resultErrorResponse(projectsR, true, "projects");
|
|
609
|
+
const project = projectsR.data.projects.find((entry) => entry.caddy?.port === route.port);
|
|
610
|
+
if (project === undefined) {
|
|
611
|
+
return errorResponse({
|
|
612
|
+
code: "projects.not-found",
|
|
613
|
+
message: `no project with port ${route.port}`,
|
|
614
|
+
op: "projectDeleteByPort",
|
|
615
|
+
status: 404,
|
|
616
|
+
}, true);
|
|
617
|
+
}
|
|
618
|
+
const mutationR = await projectDelete(useCaseOptions, { owner, name: project.name }, { expectedRevision: projectsR.data.revision });
|
|
619
|
+
if (!mutationR.success)
|
|
620
|
+
return resultErrorResponse(mutationR, true, "projects");
|
|
621
|
+
const applicationR = await caddyProjectChange(options.caddyApplication, mutationR.data);
|
|
622
|
+
if (applicationR !== undefined && "success" in applicationR && !applicationR.success) {
|
|
623
|
+
return resultErrorResponse(applicationR, true, "caddy");
|
|
624
|
+
}
|
|
625
|
+
return successResponse({ deleted: project.name });
|
|
626
|
+
}
|
|
627
|
+
if (route.kind === "projects") {
|
|
628
|
+
const projectsR = await projectListUseCase(useCaseOptions, { owner });
|
|
629
|
+
if (!projectsR.success)
|
|
630
|
+
return resultErrorResponse(projectsR, route.legacy, "projects");
|
|
631
|
+
if (!route.legacy)
|
|
632
|
+
return successResponse(projectsR.data);
|
|
633
|
+
const projects = url.searchParams.get("templates") === "1" ? [] : projectsR.data.projects;
|
|
634
|
+
return successResponse(projects.map(legacyProjectMap));
|
|
635
|
+
}
|
|
636
|
+
if (route.kind === "project") {
|
|
637
|
+
const projectR = await projectGetUseCase(useCaseOptions, { owner, name: route.name });
|
|
638
|
+
if (!projectR.success)
|
|
639
|
+
return resultErrorResponse(projectR, route.legacy, "projects");
|
|
640
|
+
return successResponse(route.legacy ? legacyProjectMap(projectR.data.project) : projectR.data);
|
|
641
|
+
}
|
|
642
|
+
if (route.kind === "history") {
|
|
643
|
+
const limit = historyLimitParse(url);
|
|
644
|
+
if (limit === null) {
|
|
645
|
+
return errorResponse({
|
|
646
|
+
code: "request.invalid",
|
|
647
|
+
message: "History limit must be a positive integer.",
|
|
648
|
+
op: "projectRegistryApiHistory",
|
|
649
|
+
status: 400,
|
|
650
|
+
}, route.legacy);
|
|
651
|
+
}
|
|
652
|
+
const queryNames = url.searchParams.getAll("name");
|
|
653
|
+
if (route.legacy && queryNames.length > 1) {
|
|
654
|
+
return errorResponse({
|
|
655
|
+
code: "request.invalid",
|
|
656
|
+
message: "Project name is invalid.",
|
|
657
|
+
op: "projectRegistryApiHistory",
|
|
658
|
+
status: 400,
|
|
659
|
+
}, true);
|
|
660
|
+
}
|
|
661
|
+
const rawName = route.name ?? queryNames[0];
|
|
662
|
+
const name = rawName === undefined ? undefined : segmentDecode(rawName, projectNamePattern);
|
|
663
|
+
if (rawName !== undefined && name === undefined) {
|
|
664
|
+
return errorResponse({
|
|
665
|
+
code: "request.invalid",
|
|
666
|
+
message: "Project name is invalid.",
|
|
667
|
+
op: "projectRegistryApiHistory",
|
|
668
|
+
status: 400,
|
|
669
|
+
}, route.legacy);
|
|
670
|
+
}
|
|
671
|
+
if (name !== undefined) {
|
|
672
|
+
const historyR = await projectHistory(useCaseOptions, { owner, name }, limit);
|
|
673
|
+
if (!historyR.success)
|
|
674
|
+
return resultErrorResponse(historyR, route.legacy, "projects");
|
|
675
|
+
return successResponse(historyR.data);
|
|
676
|
+
}
|
|
677
|
+
const historyR = await options.repository.ownerHistory(owner, limit);
|
|
678
|
+
if (!historyR.success)
|
|
679
|
+
return resultErrorResponse(historyR, route.legacy, "projects");
|
|
680
|
+
return successResponse(historyR.data);
|
|
681
|
+
}
|
|
682
|
+
if (route.kind === "config") {
|
|
683
|
+
const selector = url.searchParams.get("select") ?? undefined;
|
|
684
|
+
const actor = { subject: null, username, role: "own" };
|
|
685
|
+
const inspectionR = await caddyConfigInspectUseCase({
|
|
686
|
+
actor,
|
|
687
|
+
configOptions: options.configOptions,
|
|
688
|
+
selector,
|
|
689
|
+
projectList: async () => {
|
|
690
|
+
const projectsR = await projectListUseCase(useCaseOptions, { owner: username });
|
|
691
|
+
if (!projectsR.success)
|
|
692
|
+
return projectsR;
|
|
693
|
+
return createResult(projectsR.data.projects);
|
|
694
|
+
},
|
|
695
|
+
});
|
|
696
|
+
if (!inspectionR.success)
|
|
697
|
+
return resultErrorResponse(inspectionR, route.legacy, "caddy");
|
|
698
|
+
if (!route.legacy)
|
|
699
|
+
return successResponse(inspectionR.data);
|
|
700
|
+
const data = url.searchParams.get("summary") === "1"
|
|
701
|
+
? inspectionR.data.summary.map((entry) => legacySummaryMap(entry))
|
|
702
|
+
: selector === undefined
|
|
703
|
+
? inspectionR.data.config
|
|
704
|
+
: inspectionR.data.routes;
|
|
705
|
+
if (url.searchParams.get("pretty") === "1" && url.searchParams.get("summary") !== "1") {
|
|
706
|
+
return new Response(JSON.stringify(data, null, 2), { status: 200, headers: responseHeaders });
|
|
707
|
+
}
|
|
708
|
+
return successResponse(data);
|
|
709
|
+
}
|
|
710
|
+
try {
|
|
711
|
+
return successResponse(options.caddyApplication.status());
|
|
712
|
+
}
|
|
713
|
+
catch {
|
|
714
|
+
return errorResponse({
|
|
715
|
+
code: "platform.internal",
|
|
716
|
+
message: "Caddy status is unavailable.",
|
|
717
|
+
op: "projectRegistryApiCaddyStatus",
|
|
718
|
+
status: 500,
|
|
719
|
+
}, false);
|
|
720
|
+
}
|
|
721
|
+
};
|
|
722
|
+
return (request, context) => Promise.resolve(handle(request, context)).catch(() => {
|
|
723
|
+
let legacy = false;
|
|
724
|
+
try {
|
|
725
|
+
legacy = !new URL(request.url).pathname.startsWith("/api/v1/");
|
|
726
|
+
}
|
|
727
|
+
catch {
|
|
728
|
+
// Invalid URLs use the versioned error envelope.
|
|
729
|
+
}
|
|
730
|
+
return errorResponse({
|
|
731
|
+
code: "platform.internal",
|
|
732
|
+
message: "The request could not be completed.",
|
|
733
|
+
op: "projectRegistryApiHandle",
|
|
734
|
+
status: 500,
|
|
735
|
+
}, legacy);
|
|
736
|
+
});
|
|
737
|
+
}
|
|
738
|
+
//# sourceMappingURL=projectRegistryApiHandlerCreate.js.map
|