Example #1
0
 /// <summary>
 /// Converts the <see cref="sourceValue" /> parameter to the <see cref="destinationType" /> parameter using <see cref="formatProvider"
 /// /> and <see cref="ignoreCase" />
 /// </summary>
 /// <param name="sourceValue">the <see cref="System.Object"/> to convert from</param>
 /// <param name="destinationType">the <see cref="System.Type" /> to convert to</param>
 /// <param name="formatProvider">not used by this TypeConverter.</param>
 /// <param name="ignoreCase">when set to <c>true</c>, will ignore the case when converting.</param>
 /// <returns>
 /// an instance of <see cref="SecretPermissions" />, or <c>null</c> if there is no suitable conversion.
 /// </returns>
 public override object ConvertFrom(object sourceValue, global::System.Type destinationType, global::System.IFormatProvider formatProvider, bool ignoreCase) => SecretPermissions.CreateFrom(sourceValue);
Example #2
0
        private static void DisplaySecret(Secret secret)
        {
            Console.WriteLine("--------------------------------------");
            Console.Write("Secret Name: ");
            Console.WriteLine(secret.Name);
            Console.WriteLine("--------------------------------------");

            var indent = "   ";

            Console.Write(indent);
            Console.Write("Secret Id: ");
            Console.WriteLine(secret.Id);

            Console.Write(indent);
            Console.Write("Folder Id: ");
            Console.WriteLine(secret.FolderId < 1 ? "(root)" : secret.FolderId.ToString());

            foreach (var item in secret.Items)
            {
                Console.Write(indent);
                Console.Write((item.FieldDisplayName ?? item.FieldName) + ": ");
                Console.WriteLine(item.Value);
            }

            var            subIndent = indent + "   ";
            SecretSettings settings  = secret.SecretSettings;

            if (settings != null)
            {
                Console.Write(indent);
                Console.WriteLine("-Settings-");
                WriteSetting(subIndent, "AutoChange Enabled", settings.AutoChangeEnabled);
                WriteSetting(subIndent, "Requires Comment", settings.RequiresComment);
                WriteSetting(subIndent, "Requires Approval for Access", settings.RequiresApprovalForAccess);
                if (settings.RequiresApprovalForAccess.GetValueOrDefault())
                {
                    var approverInString = String.Join(",", settings.Approvers.Select(a => a.Name));
                    WriteSetting(subIndent, "Approvers", approverInString);
                }
                WriteSetting(subIndent, "CheckOut Enabled", settings.CheckOutEnabled);
                WriteSetting(subIndent, "CheckOut Change Password Enabled", settings.CheckOutChangePasswordEnabled);
                WriteSetting(subIndent, "Privilege Account", settings.PrivilegedSecretId);
                WriteSetting(subIndent, "Associated Account", settings.AssociatedSecretIds == null ? "" : string.Join(", ", settings.AssociatedSecretIds));
            }
            SecretPermissions secretPermissions = secret.SecretPermissions;

            if (secretPermissions != null)
            {
                Console.Write(indent);
                Console.WriteLine("-Secret Permissions-");
                WriteSetting(subIndent, "InheritPermissions Enabled", secretPermissions.InheritPermissionsEnabled);
                foreach (var permission in secretPermissions.Permissions)
                {
                    Console.Write(subIndent);
                    Console.Write(permission.UserOrGroup.Name + ": ");
                    if (permission.View)
                    {
                        Console.Write("V");
                    }
                    if (permission.Edit)
                    {
                        Console.Write("E");
                    }
                    if (permission.Owner)
                    {
                        Console.Write("O");
                    }
                    Console.WriteLine("");
                }
            }
            Console.WriteLine("--------------------------------------");
        }