mirror of
https://github.com/ckaczor/sqltoolsservice.git
synced 2026-01-22 09:35:38 -05:00
* Make nullable warnings a per file opt-in * Remove unneeded compiler directives * Remove compiler directive for User Data
55 lines
1.5 KiB
C#
55 lines
1.5 KiB
C#
//
|
|
// Copyright (c) Microsoft. All rights reserved.
|
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
//
|
|
|
|
#nullable disable
|
|
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using Microsoft.SqlServer.Management.Smo;
|
|
using Microsoft.SqlTools.ServiceLayer.ObjectExplorer.Nodes;
|
|
|
|
namespace Microsoft.SqlTools.ServiceLayer.ObjectExplorer.SmoModel
|
|
{
|
|
/// <summary>
|
|
/// Status for logins
|
|
/// </summary>
|
|
internal partial class UsersChildFactory : SmoChildFactoryBase
|
|
{
|
|
public override string GetNodeStatus(object smoObject, SmoQueryContext smoContext)
|
|
{
|
|
return UserCustomeNodeHelper.GetStatus(smoObject);
|
|
}
|
|
|
|
private readonly Lazy<List<NodeSmoProperty>> smoPropertiesLazy = new Lazy<List<NodeSmoProperty>>(() => new List<NodeSmoProperty>
|
|
{
|
|
new NodeSmoProperty
|
|
{
|
|
Name = "HasDBAccess",
|
|
ValidFor = ValidForFlag.All
|
|
}
|
|
});
|
|
|
|
public override IEnumerable<NodeSmoProperty> SmoProperties => smoPropertiesLazy.Value;
|
|
}
|
|
|
|
internal static class UserCustomeNodeHelper
|
|
{
|
|
internal static string GetStatus(object context)
|
|
{
|
|
User user = context as User;
|
|
if (user != null)
|
|
{
|
|
if (!user.HasDBAccess)
|
|
{
|
|
return "Disabled";
|
|
}
|
|
}
|
|
|
|
return string.Empty;
|
|
}
|
|
}
|
|
}
|
|
|