mirror of
https://github.com/ckaczor/sqltoolsservice.git
synced 2026-01-19 17:23:55 -05:00
Adding service operations for external languages (#918)
* Added service operations for external languages
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
//
|
||||
// Copyright (c) Microsoft. All rights reserved.
|
||||
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
//
|
||||
|
||||
using Microsoft.SqlTools.Hosting.Protocol.Contracts;
|
||||
|
||||
namespace Microsoft.SqlTools.ServiceLayer.LanguageExtensibility.Contracts
|
||||
{
|
||||
public class ExternalLanguageDeleteRequestParams
|
||||
{
|
||||
/// <summary>
|
||||
/// Connection uri
|
||||
/// </summary>
|
||||
public string OwnerUri { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Language name
|
||||
/// </summary>
|
||||
public string LanguageName { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Response class for external language status
|
||||
/// </summary>
|
||||
public class ExternalLanguageDeleteResponseParams
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Request class for external language status
|
||||
/// </summary>
|
||||
public class ExternalLanguageDeleteRequest
|
||||
{
|
||||
public static readonly
|
||||
RequestType<ExternalLanguageDeleteRequestParams, ExternalLanguageDeleteResponseParams> Type =
|
||||
RequestType<ExternalLanguageDeleteRequestParams, ExternalLanguageDeleteResponseParams>.Create("languageExtension/delete");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
//
|
||||
// Copyright (c) Microsoft. All rights reserved.
|
||||
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
//
|
||||
|
||||
using Microsoft.SqlTools.Hosting.Protocol.Contracts;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Microsoft.SqlTools.ServiceLayer.LanguageExtensibility.Contracts
|
||||
{
|
||||
public class ExternalLanguageListRequestParams
|
||||
{
|
||||
/// <summary>
|
||||
/// Connection uri
|
||||
/// </summary>
|
||||
public string OwnerUri { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Response class for external language list
|
||||
/// </summary>
|
||||
public class ExternalLanguageListResponseParams
|
||||
{
|
||||
/// <summary>
|
||||
/// Language status
|
||||
/// </summary>
|
||||
public List<ExternalLanguage> Languages { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Request class for external language list
|
||||
/// </summary>
|
||||
public class ExternalLanguageListRequest
|
||||
{
|
||||
public static readonly
|
||||
RequestType<ExternalLanguageListRequestParams, ExternalLanguageListResponseParams> Type =
|
||||
RequestType<ExternalLanguageListRequestParams, ExternalLanguageListResponseParams>.Create("languageExtension/list");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,83 @@
|
||||
//
|
||||
// Copyright (c) Microsoft. All rights reserved.
|
||||
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
//
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
|
||||
namespace Microsoft.SqlTools.ServiceLayer.LanguageExtensibility.Contracts
|
||||
{
|
||||
|
||||
public enum ExternalLanguagePlatform
|
||||
{
|
||||
None,
|
||||
Windows,
|
||||
Linux
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Language metadata
|
||||
/// </summary>
|
||||
public class ExternalLanguage
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// Language Name
|
||||
/// </summary>
|
||||
public string Name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Language Owner
|
||||
/// </summary>
|
||||
public string Owner { get; set; }
|
||||
|
||||
public List<ExternalLanguageContent> Contents { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Created Date
|
||||
/// </summary>
|
||||
public string CreatedDate { get; set; }
|
||||
|
||||
}
|
||||
|
||||
public class ExternalLanguageContent
|
||||
{
|
||||
public bool IsLocalFile { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Path to extension file
|
||||
/// </summary>
|
||||
public string PathToExtension { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Extension file name
|
||||
/// </summary>
|
||||
public string ExtensionFileName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Platform name
|
||||
/// </summary>
|
||||
public ExternalLanguagePlatform PlatformId
|
||||
{
|
||||
get
|
||||
{
|
||||
return string.IsNullOrWhiteSpace(Platform) ? ExternalLanguagePlatform.None : (ExternalLanguagePlatform)Enum.Parse(typeof(ExternalLanguagePlatform), Platform, true);
|
||||
}
|
||||
}
|
||||
|
||||
public string Platform { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Extension parameters
|
||||
/// </summary>
|
||||
public string Parameters { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Environment variables
|
||||
/// </summary>
|
||||
public string EnvironmentVariables { get; set; }
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
//
|
||||
// Copyright (c) Microsoft. All rights reserved.
|
||||
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
//
|
||||
|
||||
using Microsoft.SqlTools.Hosting.Protocol.Contracts;
|
||||
|
||||
namespace Microsoft.SqlTools.ServiceLayer.LanguageExtensibility.Contracts
|
||||
{
|
||||
public class ExternalLanguageStatusRequestParams
|
||||
{
|
||||
/// <summary>
|
||||
/// Connection uri
|
||||
/// </summary>
|
||||
public string OwnerUri { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Language name
|
||||
/// </summary>
|
||||
public string LanguageName { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Response class for external language status
|
||||
/// </summary>
|
||||
public class ExternalLanguageStatusResponseParams
|
||||
{
|
||||
/// <summary>
|
||||
/// Language status
|
||||
/// </summary>
|
||||
public bool Status { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Request class for external language status
|
||||
/// </summary>
|
||||
public class ExternalLanguageStatusRequest
|
||||
{
|
||||
public static readonly
|
||||
RequestType<ExternalLanguageStatusRequestParams, ExternalLanguageStatusResponseParams> Type =
|
||||
RequestType<ExternalLanguageStatusRequestParams, ExternalLanguageStatusResponseParams>.Create("languageExtension/status");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
//
|
||||
// Copyright (c) Microsoft. All rights reserved.
|
||||
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
//
|
||||
|
||||
using Microsoft.SqlTools.Hosting.Protocol.Contracts;
|
||||
|
||||
namespace Microsoft.SqlTools.ServiceLayer.LanguageExtensibility.Contracts
|
||||
{
|
||||
public class ExternalLanguageUpdateRequestParams
|
||||
{
|
||||
/// <summary>
|
||||
/// Connection uri
|
||||
/// </summary>
|
||||
public string OwnerUri { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Language name
|
||||
/// </summary>
|
||||
public ExternalLanguage Language { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Response class for external language update
|
||||
/// </summary>
|
||||
public class ExternalLanguageUpdateResponseParams
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Request class for external language status
|
||||
/// </summary>
|
||||
public class ExternalLanguageUpdateRequest
|
||||
{
|
||||
public static readonly
|
||||
RequestType<ExternalLanguageUpdateRequestParams, ExternalLanguageUpdateResponseParams> Type =
|
||||
RequestType<ExternalLanguageUpdateRequestParams, ExternalLanguageUpdateResponseParams>.Create("languageExtension/update");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user