mirror of
				https://github.com/jakeswenson/BitBetter.git
				synced 2025-10-31 04:43:25 +00: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