From 13dbecfe1e0754c84cc363fcf7dfa45d5c9cf979 Mon Sep 17 00:00:00 2001 From: "Daniel J. Summers" Date: Sun, 5 Feb 2023 23:20:07 -0500 Subject: [PATCH] Update to .NET 7 WIP on document utility library --- src/Directory.Build.props | 2 +- src/MyWebLog.Data/MyWebLog.Data.fsproj | 4 ++-- src/MyWebLog.Data/Postgres/PostgresHelpers.fs | 4 ++++ src/MyWebLog.Domain/MyWebLog.Domain.fsproj | 1 - src/MyWebLog.sln | 6 ++++++ src/MyWebLog/MyWebLog.fsproj | 1 - src/Npgsql.FSharp.Documents/Library.fs | 10 ++++++++++ .../Npgsql.FSharp.Documents.fsproj | 11 +++++++++++ 8 files changed, 34 insertions(+), 5 deletions(-) create mode 100644 src/Npgsql.FSharp.Documents/Library.fs create mode 100644 src/Npgsql.FSharp.Documents/Npgsql.FSharp.Documents.fsproj diff --git a/src/Directory.Build.props b/src/Directory.Build.props index b9690f2..a53054e 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -1,6 +1,6 @@ - net6.0 + net7.0 embedded 2.0.0.0 2.0.0.0 diff --git a/src/MyWebLog.Data/MyWebLog.Data.fsproj b/src/MyWebLog.Data/MyWebLog.Data.fsproj index 4f2b61b..eed7751 100644 --- a/src/MyWebLog.Data/MyWebLog.Data.fsproj +++ b/src/MyWebLog.Data/MyWebLog.Data.fsproj @@ -2,6 +2,7 @@ + @@ -17,7 +18,6 @@ - @@ -45,7 +45,7 @@ - + diff --git a/src/MyWebLog.Data/Postgres/PostgresHelpers.fs b/src/MyWebLog.Data/Postgres/PostgresHelpers.fs index 2280095..3d3ba63 100644 --- a/src/MyWebLog.Data/Postgres/PostgresHelpers.fs +++ b/src/MyWebLog.Data/Postgres/PostgresHelpers.fs @@ -206,6 +206,10 @@ module Document = /// Convert extra SQL to a for that can be appended to a query let private moreSql sql = sql |> Option.map (fun it -> $" %s{it}") |> Option.defaultValue "" + /// Create a parameter for a @> (contains) query + let contains<'T> (name : string) ser (value : 'T) = + name, Sql.jsonb (Utils.serialize ser value) + /// Count documents for a web log let countByWebLog conn table webLogId extraSql = Sql.existingConnection conn diff --git a/src/MyWebLog.Domain/MyWebLog.Domain.fsproj b/src/MyWebLog.Domain/MyWebLog.Domain.fsproj index 49fa066..ad1ed87 100644 --- a/src/MyWebLog.Domain/MyWebLog.Domain.fsproj +++ b/src/MyWebLog.Domain/MyWebLog.Domain.fsproj @@ -8,7 +8,6 @@ - diff --git a/src/MyWebLog.sln b/src/MyWebLog.sln index a594b6e..f12f40f 100644 --- a/src/MyWebLog.sln +++ b/src/MyWebLog.sln @@ -9,6 +9,8 @@ Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "MyWebLog.Data", "MyWebLog.D EndProject Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "MyWebLog", "MyWebLog\MyWebLog.fsproj", "{5655B63D-429F-4CCD-A14C-FBD74D987ECB}" EndProject +Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Npgsql.FSharp.Documents", "Npgsql.FSharp.Documents\Npgsql.FSharp.Documents.fsproj", "{C5F5E68A-9C2E-4FC0-A8E3-D7A52CCE668F}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -27,6 +29,10 @@ Global {5655B63D-429F-4CCD-A14C-FBD74D987ECB}.Debug|Any CPU.Build.0 = Debug|Any CPU {5655B63D-429F-4CCD-A14C-FBD74D987ECB}.Release|Any CPU.ActiveCfg = Release|Any CPU {5655B63D-429F-4CCD-A14C-FBD74D987ECB}.Release|Any CPU.Build.0 = Release|Any CPU + {C5F5E68A-9C2E-4FC0-A8E3-D7A52CCE668F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C5F5E68A-9C2E-4FC0-A8E3-D7A52CCE668F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C5F5E68A-9C2E-4FC0-A8E3-D7A52CCE668F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C5F5E68A-9C2E-4FC0-A8E3-D7A52CCE668F}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/src/MyWebLog/MyWebLog.fsproj b/src/MyWebLog/MyWebLog.fsproj index 1473d53..646f1b1 100644 --- a/src/MyWebLog/MyWebLog.fsproj +++ b/src/MyWebLog/MyWebLog.fsproj @@ -29,7 +29,6 @@ - diff --git a/src/Npgsql.FSharp.Documents/Library.fs b/src/Npgsql.FSharp.Documents/Library.fs new file mode 100644 index 0000000..cbbbe00 --- /dev/null +++ b/src/Npgsql.FSharp.Documents/Library.fs @@ -0,0 +1,10 @@ +module Npgsql.FSharp.Documents + + +/// Query construction functions +module Query = + + /// Create a parameter for a @> (contains) query + let contains<'T> (name : string) (value : 'T) = + name, Sql.jsonb (string value) // FIXME: need a serializer + diff --git a/src/Npgsql.FSharp.Documents/Npgsql.FSharp.Documents.fsproj b/src/Npgsql.FSharp.Documents/Npgsql.FSharp.Documents.fsproj new file mode 100644 index 0000000..9f4040e --- /dev/null +++ b/src/Npgsql.FSharp.Documents/Npgsql.FSharp.Documents.fsproj @@ -0,0 +1,11 @@ + + + + + + + + + + +