fix(api): generate configuration adoption imports from canonical type owners
This commit is contained in:
@@ -182,7 +182,7 @@ pub fn configuration_typescript() -> String {
|
||||
ConfigurationReconciliation::decl(&config),
|
||||
];
|
||||
format!(
|
||||
"// Generated by `cargo run -p server-api --features typescript --example generate_configuration_adoption_types`.\n// Do not edit manually.\n\nimport type {{ ConfigCommitRequest, WorkspaceConfigTreeResponse, ScopedPermission, SubjectPermissions }} from \"./legacy-server-api.ts\";\nimport type {{ PermissionAssignment, PermissionCatalog }} from \"./feature-permissions.generated.ts\";\n\n{}\n",
|
||||
"// Generated by `cargo run -p server-api --features typescript --example generate_configuration_adoption_types`.\n// Do not edit manually.\n\nimport type {{ ConfigCommitRequest, WorkspaceConfigTreeResponse }} from \"./legacy-server-api.ts\";\nimport type {{ ScopedPermission, SubjectPermissions }} from \"./memory-api.ts\";\nimport type {{ PermissionAssignment, PermissionCatalog }} from \"./feature-permissions.generated.ts\";\n\n{}\n",
|
||||
declarations
|
||||
.into_iter()
|
||||
.map(|declaration| format!("export {declaration}"))
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
// Generated by `cargo run -p server-api --features typescript --example generate_configuration_adoption_types`.
|
||||
// Do not edit manually.
|
||||
|
||||
import type { ConfigCommitRequest, WorkspaceConfigTreeResponse, ScopedPermission, SubjectPermissions } from "./legacy-server-api.ts";
|
||||
import type { ConfigCommitRequest, WorkspaceConfigTreeResponse } from "./legacy-server-api.ts";
|
||||
import type { ScopedPermission, SubjectPermissions } from "./memory-api.ts";
|
||||
import type { PermissionAssignment, PermissionCatalog } from "./feature-permissions.generated.ts";
|
||||
|
||||
export type ConfigurationAdoptionRequest = { operation_id: string, expected_head: string | null, expected_catalog_digest: string, expected_legacy_export: string | null, source: ConfigCommitRequest, };
|
||||
|
||||
@@ -11,7 +11,7 @@ import {
|
||||
previewConfigTree,
|
||||
reconcileConfigTree,
|
||||
} from "./api.ts";
|
||||
import type { ConfigurationAdoptionRequest } from "#lib/generated/configuration-adoption.generated.ts";
|
||||
import type { ConfigurationAdoptionReceipt, ConfigurationAdoptionRequest, ConfigurationReconciliation } from "#lib/generated/configuration-adoption.generated.ts";
|
||||
import type { WorkspaceConfigTreeResponse } from "./types.ts";
|
||||
|
||||
const state: WorkspaceConfigTreeResponse = {
|
||||
@@ -36,7 +36,7 @@ const request: ConfigurationAdoptionRequest = {
|
||||
expected_legacy_export: source.expected_legacy_export,
|
||||
source: { base_digest: state.snapshot.digest, changes: [], entrypoints: ["main.dcdl"] },
|
||||
};
|
||||
const receipt = {
|
||||
const receipt: ConfigurationAdoptionReceipt = {
|
||||
workspace_id: "w/one", operation_id: request.operation_id, history_head: "head:adopted",
|
||||
state, source_stored: true, policy_committed: true, runtime_application: "next_current_policy_check",
|
||||
};
|
||||
@@ -117,7 +117,7 @@ Deno.test("not_observed and pending_transfer remain distinct unknown evidence, n
|
||||
{ status: "not_observed" },
|
||||
{ status: "pending_transfer", transfer_identity: "transfer:one", export_digest: "sha256:legacy" },
|
||||
{ status: "adopted", receipt },
|
||||
]) assertEquals(parseConfigurationReconciliation(evidence), evidence);
|
||||
] satisfies ConfigurationReconciliation[]) assertEquals(parseConfigurationReconciliation(evidence), evidence);
|
||||
for (const invalid of [
|
||||
{ status: "failed" }, { status: "not_observed", receipt },
|
||||
{ status: "pending_transfer", transfer_identity: "transfer:one" },
|
||||
|
||||
Reference in New Issue
Block a user