mirror of
https://github.com/jakeswenson/BitBetter.git
synced 2023-10-10 13:36:57 +02:00
MaxStorageGb customization (#88)
* MaxStorageGb customization * Defaulting to short.MaxValue if user entry is blank * Update text prompt
This commit is contained in:
parent
46934b0ddd
commit
7ddf01fdf6
@ -36,6 +36,7 @@ namespace bitwardenSelfLicensor
|
|||||||
app.Command("interactive", config =>
|
app.Command("interactive", config =>
|
||||||
{
|
{
|
||||||
string buff="", licensetype="", name="", email="", businessname="";
|
string buff="", licensetype="", name="", email="", businessname="";
|
||||||
|
short storage = 0;
|
||||||
|
|
||||||
bool valid_guid = false, valid_installid = false;
|
bool valid_guid = false, valid_installid = false;
|
||||||
Guid guid = new Guid(), installid = new Guid();
|
Guid guid = new Guid(), installid = new Guid();
|
||||||
@ -114,13 +115,27 @@ namespace bitwardenSelfLicensor
|
|||||||
if ( checkEmail(buff) ) email = buff;
|
if ( checkEmail(buff) ) email = buff;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
while (storage == 0)
|
||||||
|
{
|
||||||
|
WriteLineOver("Extra storage space for the user " + name + ". (max.: " + short.MaxValue + "). Defaults to maximum value. [storage]");
|
||||||
|
buff = Console.ReadLine();
|
||||||
|
if (string.IsNullOrWhiteSpace(buff))
|
||||||
|
{
|
||||||
|
storage = short.MaxValue;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (checkStorage(buff)) storage = short.Parse(buff);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (licensetype == "user")
|
if (licensetype == "user")
|
||||||
{
|
{
|
||||||
WriteLineOver("Confirm creation of \"user\" license for username: \"" + name + "\", email: \"" + email + "\", User-GUID: \"" + guid + "\"? Y/n");
|
WriteLineOver("Confirm creation of \"user\" license for username: \"" + name + "\", email: \"" + email + "\", Storage: \"" + storage + " GB\", User-GUID: \"" + guid + "\"? Y/n");
|
||||||
buff = Console.ReadLine();
|
buff = Console.ReadLine();
|
||||||
if ( buff == "" || buff == "y" || buff == "Y" )
|
if ( buff == "" || buff == "y" || buff == "Y" )
|
||||||
{
|
{
|
||||||
GenerateUserLicense(new X509Certificate2(cert.Value(), "test"), coreDll.Value(), name, email, guid, null);
|
GenerateUserLicense(new X509Certificate2(cert.Value(), "test"), coreDll.Value(), name, email, storage, guid, null);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -130,11 +145,11 @@ namespace bitwardenSelfLicensor
|
|||||||
}
|
}
|
||||||
else if (licensetype == "org")
|
else if (licensetype == "org")
|
||||||
{
|
{
|
||||||
WriteLineOver("Confirm creation of \"organization\" license for business name: \"" + businessname + "\", username: \"" + name + "\", email: \"" + email + "\", Install-ID: \"" + installid + "\"? Y/n");
|
WriteLineOver("Confirm creation of \"organization\" license for business name: \"" + businessname + "\", username: \"" + name + "\", email: \"" + email + "\", Storage: \"" + storage + " GB\", Install-ID: \"" + installid + "\"? Y/n");
|
||||||
buff = Console.ReadLine();
|
buff = Console.ReadLine();
|
||||||
if ( buff == "" || buff == "y" || buff == "Y" )
|
if ( buff == "" || buff == "y" || buff == "Y" )
|
||||||
{
|
{
|
||||||
GenerateOrgLicense(new X509Certificate2(cert.Value(), "test"), coreDll.Value(), name, email, installid, businessname, null);
|
GenerateOrgLicense(new X509Certificate2(cert.Value(), "test"), coreDll.Value(), name, email, storage, installid, businessname, null);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -152,6 +167,7 @@ namespace bitwardenSelfLicensor
|
|||||||
var name = config.Argument("Name", "your name");
|
var name = config.Argument("Name", "your name");
|
||||||
var email = config.Argument("Email", "your email");
|
var email = config.Argument("Email", "your email");
|
||||||
var userIdArg = config.Argument("User ID", "your user id");
|
var userIdArg = config.Argument("User ID", "your user id");
|
||||||
|
var storage = config.Argument("Storage", "Extra storage space in GB. Maximum is " + short.MaxValue + " (optional)");
|
||||||
var key = config.Argument("Key", "your key id (optional)");
|
var key = config.Argument("Key", "your key id (optional)");
|
||||||
var help = config.HelpOption("--help | -h | -?");
|
var help = config.HelpOption("--help | -h | -?");
|
||||||
|
|
||||||
@ -178,7 +194,6 @@ namespace bitwardenSelfLicensor
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (string.IsNullOrWhiteSpace(userIdArg.Value) || !Guid.TryParse(userIdArg.Value, out Guid userId))
|
if (string.IsNullOrWhiteSpace(userIdArg.Value) || !Guid.TryParse(userIdArg.Value, out Guid userId))
|
||||||
{
|
{
|
||||||
config.Error.WriteLine($"User ID not provided");
|
config.Error.WriteLine($"User ID not provided");
|
||||||
@ -186,7 +201,16 @@ namespace bitwardenSelfLicensor
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
GenerateUserLicense(new X509Certificate2(cert.Value(), "test"), coreDll.Value(), name.Value, email.Value, userId, key.Value);
|
if (double.Parse(storage.Value) > short.MaxValue ||
|
||||||
|
double.Parse(storage.Value) < 0 ||
|
||||||
|
string.IsNullOrWhiteSpace(storage.Value))
|
||||||
|
{
|
||||||
|
config.Error.WriteLine("The storage value provided is outside the accepted range of [0-" + short.MaxValue + "]");
|
||||||
|
config.ShowHelp("org");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
GenerateUserLicense(new X509Certificate2(cert.Value(), "test"), coreDll.Value(), name.Value, email.Value, short.Parse(storage.Value), userId, key.Value);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
});
|
});
|
||||||
@ -196,6 +220,7 @@ namespace bitwardenSelfLicensor
|
|||||||
var name = config.Argument("Name", "your name");
|
var name = config.Argument("Name", "your name");
|
||||||
var email = config.Argument("Email", "your email");
|
var email = config.Argument("Email", "your email");
|
||||||
var installId = config.Argument("InstallId", "your installation id (GUID)");
|
var installId = config.Argument("InstallId", "your installation id (GUID)");
|
||||||
|
var storage = config.Argument("Storage", "Extra storage space in GB. Maximum is " + short.MaxValue + " (optional)");
|
||||||
var businessName = config.Argument("BusinessName", "name For the organization (optional)");
|
var businessName = config.Argument("BusinessName", "name For the organization (optional)");
|
||||||
var key = config.Argument("Key", "your key id (optional)");
|
var key = config.Argument("Key", "your key id (optional)");
|
||||||
var help = config.HelpOption("--help | -h | -?");
|
var help = config.HelpOption("--help | -h | -?");
|
||||||
@ -233,7 +258,16 @@ namespace bitwardenSelfLicensor
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
GenerateOrgLicense(new X509Certificate2(cert.Value(), "test"), coreDll.Value(), name.Value, email.Value, installationId, businessName.Value, key.Value);
|
if (double.Parse(storage.Value) > short.MaxValue ||
|
||||||
|
double.Parse(storage.Value) < 0 ||
|
||||||
|
string.IsNullOrWhiteSpace(storage.Value))
|
||||||
|
{
|
||||||
|
config.Error.WriteLine("The storage value provided is outside the accepted range of [0-" + short.MaxValue + "]");
|
||||||
|
config.ShowHelp("org");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
GenerateOrgLicense(new X509Certificate2(cert.Value(), "test"), coreDll.Value(), name.Value, email.Value, short.Parse(storage.Value), installationId, businessName.Value, key.Value);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
});
|
});
|
||||||
@ -288,6 +322,22 @@ namespace bitwardenSelfLicensor
|
|||||||
return true; // TODO: Actually validate
|
return true; // TODO: Actually validate
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// checkStorage Checks that the storage is in a valid range
|
||||||
|
static bool checkStorage(string s)
|
||||||
|
{
|
||||||
|
if (string.IsNullOrWhiteSpace(s))
|
||||||
|
{
|
||||||
|
WriteLineOver("The storage provided doesn't appear to be valid.\n");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (double.Parse(s) > short.MaxValue || double.Parse(s) < 0)
|
||||||
|
{
|
||||||
|
WriteLineOver("The storage value provided is outside the accepted range of [0-" + short.MaxValue + "].\n");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
// WriteLineOver Writes a new line to console over last line.
|
// WriteLineOver Writes a new line to console over last line.
|
||||||
static void WriteLineOver(string s)
|
static void WriteLineOver(string s)
|
||||||
{
|
{
|
||||||
@ -301,8 +351,7 @@ namespace bitwardenSelfLicensor
|
|||||||
Console.WriteLine(s);
|
Console.WriteLine(s);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void GenerateUserLicense(X509Certificate2 cert, string corePath,
|
static void GenerateUserLicense(X509Certificate2 cert, string corePath, string userName, string email, short storage, Guid userId, string key)
|
||||||
string userName, string email, Guid userId, string key)
|
|
||||||
{
|
{
|
||||||
var core = AssemblyLoadContext.Default.LoadFromAssemblyPath(corePath);
|
var core = AssemblyLoadContext.Default.LoadFromAssemblyPath(corePath);
|
||||||
|
|
||||||
@ -319,7 +368,7 @@ namespace bitwardenSelfLicensor
|
|||||||
set("Id", userId);
|
set("Id", userId);
|
||||||
set("Name", userName);
|
set("Name", userName);
|
||||||
set("Email", email);
|
set("Email", email);
|
||||||
set("MaxStorageGb", short.MaxValue);
|
set("MaxStorageGb", storage);
|
||||||
set("Premium", true);
|
set("Premium", true);
|
||||||
set("Version", 1);
|
set("Version", 1);
|
||||||
set("Issued", DateTime.UtcNow);
|
set("Issued", DateTime.UtcNow);
|
||||||
@ -333,8 +382,7 @@ namespace bitwardenSelfLicensor
|
|||||||
Console.WriteLine(JsonConvert.SerializeObject(license, Formatting.Indented));
|
Console.WriteLine(JsonConvert.SerializeObject(license, Formatting.Indented));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void GenerateOrgLicense(X509Certificate2 cert, string corePath,
|
static void GenerateOrgLicense(X509Certificate2 cert, string corePath, string userName, string email, short storage, Guid instalId, string businessName, string key)
|
||||||
string userName, string email, Guid instalId, string businessName, string key)
|
|
||||||
{
|
{
|
||||||
var core = AssemblyLoadContext.Default.LoadFromAssemblyPath(corePath);
|
var core = AssemblyLoadContext.Default.LoadFromAssemblyPath(corePath);
|
||||||
|
|
||||||
@ -365,7 +413,7 @@ namespace bitwardenSelfLicensor
|
|||||||
set("UseDirectory", true);
|
set("UseDirectory", true);
|
||||||
set("UseTotp", true);
|
set("UseTotp", true);
|
||||||
set("Use2fa", true);
|
set("Use2fa", true);
|
||||||
set("MaxStorageGb", short.MaxValue);
|
set("MaxStorageGb", storage);
|
||||||
set("SelfHost", true);
|
set("SelfHost", true);
|
||||||
set("UsersGetPremium", true);
|
set("UsersGetPremium", true);
|
||||||
set("Version", 6);
|
set("Version", 6);
|
||||||
|
Loading…
Reference in New Issue
Block a user