feat(transport): apply site/instance import with name-map + FK rewire (M8 D1, T18)
This commit is contained in:
@@ -28,10 +28,22 @@ public interface IBundleImporter
|
||||
/// <param name="resolutions">Per-artifact conflict resolutions from the preview step.</param>
|
||||
/// <param name="user">Username of the operator performing the import, stamped in audit rows.</param>
|
||||
/// <param name="ct">Cancellation token.</param>
|
||||
/// <param name="nameMap">
|
||||
/// The operator-supplied resolution of every source-environment site and connection
|
||||
/// name the bundle references (M8 D1). Each entry is either
|
||||
/// <see cref="MappingAction.MapToExisting"/> (bind to an existing target site/connection)
|
||||
/// or <see cref="MappingAction.CreateNew"/> (create one from the bundle payload). A
|
||||
/// site or connection that the bundle references but that has no explicit entry here is
|
||||
/// auto-matched against the target by identity (existing → MapToExisting, otherwise
|
||||
/// CreateNew). Trailing optional parameter — null is normalised to
|
||||
/// <see cref="BundleNameMap.Empty"/> so callers that carry no site/instance payload
|
||||
/// (e.g. central-config-only bundles) keep working unchanged.
|
||||
/// </param>
|
||||
/// <returns>A task that resolves to the result of the committed import transaction.</returns>
|
||||
Task<ImportResult> ApplyAsync(
|
||||
Guid sessionId,
|
||||
IReadOnlyList<ImportResolution> resolutions,
|
||||
string user,
|
||||
CancellationToken ct = default);
|
||||
CancellationToken ct = default,
|
||||
BundleNameMap? nameMap = null);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user