//
// Copyright (c) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
//
using System.Collections.Generic;
using Microsoft.SqlTools.Hosting.Protocol.Contracts;
using Microsoft.SqlTools.ServiceLayer.DacFx.Contracts;
using Microsoft.SqlTools.ServiceLayer.Utility;
namespace Microsoft.SqlTools.ServiceLayer.SchemaCompare.Contracts
{
public class SchemaCompareObjectId
{
///
/// Name to create object identifier
///
public string[] NameParts;
///
/// sql object type
///
public string SqlObjectType;
}
///
/// Parameters for a schema compare open scmp file request.
///
public class SchemaCompareOpenScmpParams
{
///
/// filepath of scmp
///
public string FilePath { get; set; }
}
///
/// Parameters returned from a schema compare open scmp request.
///
public class SchemaCompareOpenScmpResult : ResultStatus
{
///
/// Gets or sets the current source endpoint info
///
public SchemaCompareEndpointInfo SourceEndpointInfo { get; set; }
///
/// Gets or sets the current target endpoint info
///
public SchemaCompareEndpointInfo TargetEndpointInfo { get; set; }
///
/// Gets or sets the original target name. This is the initial target name, not necessarily the same as TargetEndpointInfo if they were swapped
/// The original target name is used to determine whether to use ExcludedSourceElements or ExcludedTargetElements if source and target were swapped
///
public string OriginalTargetName { get; set; }
///
/// Gets or sets the original target connection string. This is the initial target connection string, not necessarily the same as TargetEndpointInfo if they were swapped
/// The target connection string is necessary if the source and target are a dacpac and db with the same name
///
public string OriginalTargetConnectionString { get; set; }
///
/// Gets or sets the deployment options
///
public DeploymentOptions DeploymentOptions { get; set; }
///
/// Gets or sets the excluded source elements. This is based on the initial source, not necessarily the same as SourceEndpointInfo if they were swapped
///
public List ExcludedSourceElements { get; set; }
///
/// Gets or sets the excluded target elements. This is based on the initial target, not necessarily the same as TargetEndpointInfo if they were swapped
///
public List ExcludedTargetElements { get; set; }
}
///
/// Defines the Schema Compare open scmp request type
///
class SchemaCompareOpenScmpRequest
{
public static readonly RequestType Type =
RequestType.Create("schemaCompare/openScmp");
}
}