ps/Modules/Alkami.Ops.Certificates/SecretServer/Models/Secret.cs
2023-05-30 22:51:22 -07:00

76 lines
2.6 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
namespace Alkami.Ops.Certificates.SecretServer.Models
{
internal class Secret
{
public int ID;
public string Name;
public int SecretTemplateID;
public int FolderID = -1;
public bool Active;
public List<SecretField> Items;
public int? LauncherConnectAsSecretID;
public int? CheckOutMinutesRemaining;
public bool? CheckedOut;
public string CheckOutUserDisplayName;
public int? CheckOutUserID;
public bool IsRestricted;
public bool IsOutOfSync;
public string OutOfSyncReason;
public bool? AutoChangeEnabled;
public bool? AutoChangeNextPassword;
public bool? RequiresApprovalForAccess;
public bool? RequiresComment;
public bool? CheckOutEnabled;
public int? CheckOutIntervalMinutes;
public bool? CheckOutChangePasswordEnabled;
public int? AccessRequestWorkflowMapID;
public bool? ProxyEnabled;
public bool? SessionRecordingEnabled;
public bool? RestrictSshCommands;
public bool? AllowOwnersUnrestrictedSshCommands;
public bool? IsDoubleLock;
public int? DoubleLockId;
public bool? EnableInheritPermissions;
public int? PasswordTypeWebScriptID;
public int? SiteID;
public bool? EnableInheritSecretPolicy;
public int? SecretPolicyID;
public string LastHeartBeatStatus;
public DateTime? LastHeartBeatCheck;
public int? FailedPasswordChangeAttempts;
public DateTime? LastPasswordChangeAttempt;
public string SecretTemplateName;
public string LastAccessed;
/// <summary>
/// Sets string field values that are not files.
/// </summary>
/// <param name="field">The secret field to set.</param>
/// <returns></returns>
public string this[string field]
{
get
{
if (Items != null)
{
return Items.Where(f => !f.IsFile && string.Equals(f.FieldName.Trim(), field, StringComparison.OrdinalIgnoreCase)).First().ItemValue;
}
else
{ return null; }
}
set
{
if (Items == null)
{
Items = new List<SecretField>();
}
Items.Where(f => !f.IsFile && string.Equals(f.FieldName.Trim(), field, StringComparison.OrdinalIgnoreCase)).First().ItemValue = value;
}
}
}
}