From 7d20b57caed8ad256c341ef465d2a3cfa1684a0e Mon Sep 17 00:00:00 2001 From: Chris Philips Date: Thu, 30 Sep 2021 15:11:21 -0700 Subject: [PATCH 1/3] feature: create collections direct mongodb://localhost:27017 --- .../Commands/CreateCollectionsDirect.cs | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 EntityDb.MongoDb.Provisioner/Commands/CreateCollectionsDirect.cs diff --git a/EntityDb.MongoDb.Provisioner/Commands/CreateCollectionsDirect.cs b/EntityDb.MongoDb.Provisioner/Commands/CreateCollectionsDirect.cs new file mode 100644 index 00000000..5b481fb8 --- /dev/null +++ b/EntityDb.MongoDb.Provisioner/Commands/CreateCollectionsDirect.cs @@ -0,0 +1,36 @@ +using MongoDB.Driver; +using System.CommandLine; +using System.CommandLine.Invocation; +using System.Threading.Tasks; +using EntityDb.MongoDb.Extensions; + +namespace EntityDb.MongoDb.Provisioner.Commands +{ + public class CreateCollectionsDirect : CommandBase + { + public static void AddTo(RootCommand rootCommand) + { + var createCollectionsDirect = new Command("create-collections-direct"); + + AddEntityNameArgumentTo(createCollectionsDirect); + + var connectionStringArgument = new Argument("connection-string", "The connection string to the mongodb instance."); + + createCollectionsDirect.AddArgument(connectionStringArgument); + + createCollectionsDirect.Handler = CommandHandler.Create(async (string entityName, string connectionString) => + { + await Execute( entityName, connectionString); + }); + + rootCommand.AddCommand(createCollectionsDirect); + } + + public static async Task Execute(string entityName, string connectionString) + { + var mongoClient = new MongoClient(connectionString); + + await mongoClient.ProvisionCollections(entityName); + } + } +} From bde7e53925514c039dda1768f1dd0246dbd91f9c Mon Sep 17 00:00:00 2001 From: Chris Philips Date: Thu, 30 Sep 2021 15:35:25 -0700 Subject: [PATCH 2/3] fix: oops --- EntityDb.MongoDb.Provisioner/Program.cs | 67 +++++++++++++------------ 1 file changed, 34 insertions(+), 33 deletions(-) diff --git a/EntityDb.MongoDb.Provisioner/Program.cs b/EntityDb.MongoDb.Provisioner/Program.cs index 2cdfca2c..c25b033f 100644 --- a/EntityDb.MongoDb.Provisioner/Program.cs +++ b/EntityDb.MongoDb.Provisioner/Program.cs @@ -1,33 +1,34 @@ -using EntityDb.MongoDb.Provisioner.Commands; -using System; -using System.CommandLine; -using System.CommandLine.Parsing; -using System.Threading.Tasks; - -namespace EntityDb.MongoDb.Provisioner -{ - public class Program - { - public static Task Main(string[] args) - { -#if DEBUG - if (args.Length == 0) - { - Console.Write("Please enter args: "); - - var input = Console.ReadLine() ?? string.Empty; - - args = input.Split(' '); - } -#endif - - var rootCommand = new RootCommand(); - - CreateRole.AddTo(rootCommand); - CreateUser.AddTo(rootCommand); - CreateCollections.AddTo(rootCommand); - - return rootCommand.InvokeAsync(args); - } - } -} +using EntityDb.MongoDb.Provisioner.Commands; +using System; +using System.CommandLine; +using System.CommandLine.Parsing; +using System.Threading.Tasks; + +namespace EntityDb.MongoDb.Provisioner +{ + public class Program + { + public static Task Main(string[] args) + { +#if DEBUG + if (args.Length == 0) + { + Console.Write("Please enter args: "); + + var input = Console.ReadLine() ?? string.Empty; + + args = input.Split(' '); + } +#endif + + var rootCommand = new RootCommand(); + + CreateRole.AddTo(rootCommand); + CreateUser.AddTo(rootCommand); + CreateCollections.AddTo(rootCommand); + CreateCollectionsDirect.AddTo(rootCommand); + + return rootCommand.InvokeAsync(args); + } + } +} From 4e39a134420b3bf27469e1d46cc0644d0103fe0d Mon Sep 17 00:00:00 2001 From: Chris Philips Date: Thu, 30 Sep 2021 20:42:50 -0700 Subject: [PATCH 3/3] style: run cleaner --- .../Commands/CreateCollectionsDirect.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/EntityDb.MongoDb.Provisioner/Commands/CreateCollectionsDirect.cs b/EntityDb.MongoDb.Provisioner/Commands/CreateCollectionsDirect.cs index 5b481fb8..c7e8deea 100644 --- a/EntityDb.MongoDb.Provisioner/Commands/CreateCollectionsDirect.cs +++ b/EntityDb.MongoDb.Provisioner/Commands/CreateCollectionsDirect.cs @@ -1,8 +1,8 @@ +using EntityDb.MongoDb.Extensions; using MongoDB.Driver; using System.CommandLine; using System.CommandLine.Invocation; using System.Threading.Tasks; -using EntityDb.MongoDb.Extensions; namespace EntityDb.MongoDb.Provisioner.Commands { @@ -13,14 +13,14 @@ public static void AddTo(RootCommand rootCommand) var createCollectionsDirect = new Command("create-collections-direct"); AddEntityNameArgumentTo(createCollectionsDirect); - + var connectionStringArgument = new Argument("connection-string", "The connection string to the mongodb instance."); createCollectionsDirect.AddArgument(connectionStringArgument); createCollectionsDirect.Handler = CommandHandler.Create(async (string entityName, string connectionString) => { - await Execute( entityName, connectionString); + await Execute(entityName, connectionString); }); rootCommand.AddCommand(createCollectionsDirect);