From 533865065fb7f04328fbe9d089a686eba3769e65 Mon Sep 17 00:00:00 2001 From: Quin Lynch Date: Thu, 13 Jul 2023 13:42:29 -0300 Subject: [PATCH 1/2] init --- src/EdgeDB.Net.Driver/EdgeDBConnection.cs | 7 ++++++- src/EdgeDB.Net.Driver/Utils/ConfigUtils.cs | 4 +++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/EdgeDB.Net.Driver/EdgeDBConnection.cs b/src/EdgeDB.Net.Driver/EdgeDBConnection.cs index b66bb933..10050c56 100644 --- a/src/EdgeDB.Net.Driver/EdgeDBConnection.cs +++ b/src/EdgeDB.Net.Driver/EdgeDBConnection.cs @@ -406,7 +406,12 @@ public static EdgeDBConnection FromProjectFile(string path) if (!ConfigUtils.TryResolveInstanceCloudProfile(projectDir, out string? profile, out string? inst) || inst is null) throw new FileNotFoundException($"Could not find instance name under project directory {projectDir}"); - return FromInstanceName(inst, profile); + var connection = FromInstanceName(inst, profile); + + if (ConfigUtils.TryResolveProjectDatabase(projectDir, out var database)) + connection.Database = database; + + return connection; } /// diff --git a/src/EdgeDB.Net.Driver/Utils/ConfigUtils.cs b/src/EdgeDB.Net.Driver/Utils/ConfigUtils.cs index d58821d2..7abe4ba8 100644 --- a/src/EdgeDB.Net.Driver/Utils/ConfigUtils.cs +++ b/src/EdgeDB.Net.Driver/Utils/ConfigUtils.cs @@ -96,7 +96,9 @@ public static bool TryResolveInstanceTOML(string cdir, [NotNullWhen(true)] out s return false; } - public static bool TryResolveInstanceCLoudProfile(out string? profile, out string? linkedInstanceName) + public static bool TryResolveDatabase() + + public static bool TryResolveInstanceCloudProfile(out string? profile, out string? linkedInstanceName) { profile = null; linkedInstanceName = null; From f3d49a79b118c0b67174482f4148f03bd32307e4 Mon Sep 17 00:00:00 2001 From: Quin Lynch Date: Thu, 13 Jul 2023 13:43:31 -0300 Subject: [PATCH 2/2] Update ConfigUtils.cs --- src/EdgeDB.Net.Driver/Utils/ConfigUtils.cs | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/EdgeDB.Net.Driver/Utils/ConfigUtils.cs b/src/EdgeDB.Net.Driver/Utils/ConfigUtils.cs index 7abe4ba8..266e06ce 100644 --- a/src/EdgeDB.Net.Driver/Utils/ConfigUtils.cs +++ b/src/EdgeDB.Net.Driver/Utils/ConfigUtils.cs @@ -96,7 +96,23 @@ public static bool TryResolveInstanceTOML(string cdir, [NotNullWhen(true)] out s return false; } - public static bool TryResolveDatabase() + public static bool TryResolveProjectDatabase(string stashDir, [NotNullWhen(true)] out string? database) + { + database = null; + + if (!Directory.Exists(stashDir)) + return false; + + var databasePath = Path.Combine(stashDir, "database"); + + if (File.Exists(databasePath)) + { + database = File.ReadAllText(databasePath); + return true; + } + + return false; + } public static bool TryResolveInstanceCloudProfile(out string? profile, out string? linkedInstanceName) {