//
// 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 Microsoft.SqlTools.Credentials.Contracts;
namespace Microsoft.SqlTools.Credentials
{
///
/// An support securely saving and retrieving passwords
///
public interface ICredentialStore
{
///
/// Saves a Password linked to a given Credential
///
///
/// A to be saved.
/// and are required
///
/// True if successful, false otherwise
bool Save(Credential credential);
///
/// Gets a Password and sets it into a object
///
/// The name of the credential to find the password for. This is required
/// Out value
/// true if password was found, false otherwise
bool TryGetPassword(string credentialId, out string password);
///
/// Deletes a password linked to a given credential
///
/// The name of the credential to find the password for. This is required
/// True if password existed and was deleted, false otherwise
bool DeletePassword(string credentialId);
}
}