1
0

Create F# API container that connects with another mariaDB container to fetch simple data.

This commit is contained in:
PA4KEV 2023-06-21 21:30:56 +02:00
parent a2896e140f
commit 4e7d1e7d32
13 changed files with 105 additions and 746 deletions

View File

@ -65,7 +65,7 @@ https://www.npmjs.com/package/html-react-parser
[Boostrap 5.2 documentation](https://getbootstrap.com/docs/5.2/getting-started/introduction/)
[CKEditor 5 documentation](https://ckeditor.com/docs/ckeditor5/latest/index.html)
[MySqlConnector documentation](https://mysqlconnector.net/tutorials/connect-to-mysql/)
### Code Splitting

View File

@ -1,13 +0,0 @@
namespace api.Controllers
open System
open Microsoft.AspNetCore.Mvc
[<Route("api/[controller]")>]
[<ApiController>]
type PageController() =
inherit ControllerBase()
[<HttpGet>]
member this.Get() =
Ok("Hello, World!")

View File

@ -1,39 +0,0 @@
module Database
open System.Data.SqlClient
open Microsoft.Extensions.Configuration
open System.IO
let configuration =
let builder = new ConfigurationBuilder()
let path = Path.Combine(Directory.GetCurrentDirectory(), "appsettings.json")
builder.AddJsonFile(path, optional = false, reloadOnChange = true) |> ignore
builder.Build()
let connectionString = configuration.GetConnectionString("DefaultConnection")
type Page =
{ Id : int
Title : string
Subtitle : string }
let getPages () =
use connection = new SqlConnection(connectionString)
connection.Open()
use command = new SqlCommand("SELECT * FROM basic_pages", connection)
use reader = command.ExecuteReader()
let rec readData (acc: List<Page>) =
if reader.Read() then
let page = {
Id = reader.GetInt32(0)
Title = reader.GetString(1)
Subtitle = reader.GetString(2)
}
readData (page :: acc)
else
acc
readData []

View File

@ -1,10 +1,6 @@
# Base image
FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build-env
# Add tools
RUN apt-get update && \
apt-get install -y curl
# Set the working directory inside the container
WORKDIR /app

View File

@ -1,25 +1,80 @@
module Page
open System
open System.Threading.Tasks
open Microsoft.AspNetCore.Http
open Giraffe
open Microsoft.AspNetCore.Http
open Microsoft.Extensions.Configuration
open System
// open System.Data.SqlClient
open System.IO
open System.Threading.Tasks
open MySqlConnector
[<CLIMutable>]
type Page = {
id: int
title: string
subtitle: string
content: string
Id: int
Title: string
Subtitle: string
Content: string
}
type PageDb() =
let mutable allPages : Page list = []
let configuration =
let builder = new ConfigurationBuilder()
let path = Path.Combine(Directory.GetCurrentDirectory(), "appsettings.json")
builder.AddJsonFile(path, optional = false, reloadOnChange = true) |> ignore
builder.Build()
member this.GetAllPosts = fun() -> allPages
let connectionString = configuration.GetConnectionString("Default_docker")
let defaultPage = {Id = 0 ; Title = "" ; Subtitle= "" ; Content = "<section class=\"my-class\"><strong>404</strong> - Page not found!</section>"}
member this.AddPost (newPage : Page) =
let getPage (Id: int) =
printfn "getPage..."
printfn "Connection string: %s" connectionString
use connection = new MySqlConnection(connectionString)
// use connection = new SqlConnection(connectionString)
printfn "getPage > setup connection"
connection.Open()
printfn "getPage > connection open"
let sql = sprintf "SELECT * FROM pages WHERE id=%d" Id
use command = new MySqlCommand(sql, connection)
printfn "command defined."
use reader = command.ExecuteReader()
printfn "getPage > execute query"
let rec readData (acc: List<Page>) =
if reader.Read() then
let page = {
Id = reader.GetInt32(0)
Title = reader.GetString(1)
Subtitle = reader.GetString(2)
Content = reader.GetString(3)
}
readData (page :: acc)
else
acc
readData []
let mutable allPages : Page list = [
{Id = 1 ; Title = "Test Title" ; Subtitle= "subtitle" ; Content = "<section class=\"my-class\">This is a <strong>section</strong>!</section>"}
{Id = 2 ; Title = "Second Title" ; Subtitle= "another subtitle" ; Content = "<section class=\"my-class\">You are on the <strong>second</strong> page!</section>"}
]
let getPageById (id: int) : Page =
match List.tryFind (fun page -> page.Id = id) allPages with
| Some page -> page
| None -> defaultPage
member this.GetAllPages = fun() -> getPageById 1
member this.GetPage = fun(id: int) -> getPage id
member this.AddPage (newPage : Page) =
allPages <- (newPage::allPages)
allPages
@ -27,15 +82,19 @@ type PageServiceTree = {
getPageDb : unit -> PageDb
}
let getPostsHttpHandler (serviceTree: PageServiceTree) =
let getPagesHttpHandler (serviceTree: PageServiceTree) =
fun (next : HttpFunc) (ctx : HttpContext) ->
json (serviceTree.getPageDb().GetAllPosts()) next ctx
json (serviceTree.getPageDb().GetAllPages()) next ctx
let getPageByIdHttpHandler (serviceTree: PageServiceTree) (id : int)=
fun (next : HttpFunc) (ctx : HttpContext)->
json (serviceTree.getPageDb().GetPage(id)) next ctx
let createPostHttpHandler (serviceTree: PageServiceTree) =
fun (next : HttpFunc) (ctx : HttpContext) ->
task {
let! newPostJson = ctx.BindJsonAsync<Page>()
serviceTree.getPageDb().AddPost(newPostJson) |> ignore
serviceTree.getPageDb().AddPage(newPostJson) |> ignore
return! json (newPostJson) next ctx
}

View File

@ -1,43 +1,42 @@
open System
open Microsoft.AspNetCore.Builder
open Microsoft.AspNetCore.Hosting
open Microsoft.Extensions.Hosting
open Microsoft.Extensions.Logging
open Microsoft.Extensions.DependencyInjection
open Page
open Giraffe
open Giraffe.EndpointRouting
open Page
// Sources:
// https://hamy.xyz/labs/2022-12-simple-fsharp-web-api-giraffe
// https://hamy.xyz/labs/2023-01-fsharp-giraffe-endpoint-routing
// https://github.com/SIRHAMY/fsharp-giraffe-blog-api-example
(* Web App Configuration *)
let webApp =
let pageDb = new PageDb()
let pageDb = new PageDb()
let serviceTree = {
let serviceTree = {
getPageDb = fun() -> pageDb
}
}
choose[
route "/" >=> text "iamanapi"
subRoute "/posts"
(choose [
route "" >=> GET >=> warbler (fun _ ->
(getPostsHttpHandler serviceTree))
route "/create"
>=> POST
>=> warbler (fun _ ->
(createPostHttpHandler serviceTree))
])
let endpointsList = [
GET [
routef "page/%i" (fun (id : int) ->
// text ($"/anInt: hit with val: {anInt}"))
getPageByIdHttpHandler serviceTree id)
]
]
(* Infrastructure Configuration *)
let configureApp (app : IApplicationBuilder) =
app.UseGiraffe (webApp)
app
.UseRouting()
.UseEndpoints(fun e -> e.MapGiraffeEndpoints(endpointsList))
|> ignore
let configureServices (services : IServiceCollection) =
// Add Giraffe dependencies

View File

@ -3,14 +3,11 @@
<TargetFramework>net6.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<Compile Include="Database.fs" />
<Compile Include="Controllers/PageController.fs" />
<Compile Include="Page.fs" />
<Compile Include="Program.fs" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Giraffe" Version="6.0.0" />
<PackageReference Include="FSharp.Data.SqlClient" Version="2.1.2" />
<PackageReference Include="MySqlConnector" Version="2.2.6" />
</ItemGroup>
</Project>

View File

@ -7,6 +7,7 @@
},
"AllowedHosts": "*",
"ConnectionStrings": {
"DefaultConnection": "Server=mariadb;Port=33066;Database=portfolio;Uid=root;Pwd=password;"
"Default_local": "Server=localhost;Port=33066;User ID=root;Password=password;Database=portfolio",
"Default_docker": "Server=db;Port=3306;User ID=root;Password=password;Database=portfolio"
}
}

View File

@ -39,11 +39,6 @@
"version": "[6.0.1, )",
"generatePathProperty": true
},
"FSharp.Data.SqlClient": {
"target": "Package",
"version": "[2.1.2, )",
"generatePathProperty": true
},
"Giraffe": {
"target": "Package",
"version": "[6.0.0, )",

View File

@ -16,6 +16,5 @@
<PkgMySqlConnector Condition=" '$(PkgMySqlConnector)' == '' ">/home/kevin/.nuget/packages/mysqlconnector/2.2.6</PkgMySqlConnector>
<PkgFSharp_Core Condition=" '$(PkgFSharp_Core)' == '' ">/home/kevin/.nuget/packages/fsharp.core/6.0.1</PkgFSharp_Core>
<PkgGiraffe Condition=" '$(PkgGiraffe)' == '' ">/home/kevin/.nuget/packages/giraffe/6.0.0</PkgGiraffe>
<PkgFSharp_Data_SqlClient Condition=" '$(PkgFSharp_Data_SqlClient)' == '' ">/home/kevin/.nuget/packages/fsharp.data.sqlclient/2.1.2</PkgFSharp_Data_SqlClient>
</PropertyGroup>
</Project>

View File

@ -59,20 +59,6 @@
}
}
},
"FSharp.Data.SqlClient/2.1.2": {
"type": "package",
"dependencies": {
"FSharp.Core": "4.3.4",
"System.Configuration.ConfigurationManager": "4.5.0",
"System.Data.SqlClient": "4.5.1"
},
"compile": {
"lib/netstandard2.0/FSharp.Data.SqlClient.dll": {}
},
"runtime": {
"lib/netstandard2.0/FSharp.Data.SqlClient.dll": {}
}
},
"Giraffe/6.0.0": {
"type": "package",
"dependencies": {
@ -114,7 +100,7 @@
"lib/net5.0/Microsoft.IO.RecyclableMemoryStream.dll": {}
}
},
"Microsoft.NETCore.Platforms/2.0.0": {
"Microsoft.NETCore.Platforms/1.1.0": {
"type": "package",
"compile": {
"lib/netstandard1.0/_._": {}
@ -132,29 +118,6 @@
"lib/netstandard1.0/_._": {}
}
},
"Microsoft.Win32.Registry/4.5.0": {
"type": "package",
"dependencies": {
"System.Security.AccessControl": "4.5.0",
"System.Security.Principal.Windows": "4.5.0"
},
"compile": {
"ref/netstandard2.0/_._": {}
},
"runtime": {
"lib/netstandard2.0/Microsoft.Win32.Registry.dll": {}
},
"runtimeTargets": {
"runtimes/unix/lib/netstandard2.0/Microsoft.Win32.Registry.dll": {
"assetType": "runtime",
"rid": "unix"
},
"runtimes/win/lib/netstandard2.0/Microsoft.Win32.Registry.dll": {
"assetType": "runtime",
"rid": "win"
}
}
},
"MySqlConnector/2.2.6": {
"type": "package",
"compile": {
@ -173,79 +136,6 @@
"lib/netstandard2.0/Newtonsoft.Json.dll": {}
}
},
"runtime.native.System.Data.SqlClient.sni/4.4.0": {
"type": "package",
"dependencies": {
"runtime.win-arm64.runtime.native.System.Data.SqlClient.sni": "4.4.0",
"runtime.win-x64.runtime.native.System.Data.SqlClient.sni": "4.4.0",
"runtime.win-x86.runtime.native.System.Data.SqlClient.sni": "4.4.0"
}
},
"runtime.win-arm64.runtime.native.System.Data.SqlClient.sni/4.4.0": {
"type": "package",
"runtimeTargets": {
"runtimes/win-arm64/native/sni.dll": {
"assetType": "native",
"rid": "win-arm64"
}
}
},
"runtime.win-x64.runtime.native.System.Data.SqlClient.sni/4.4.0": {
"type": "package",
"runtimeTargets": {
"runtimes/win-x64/native/sni.dll": {
"assetType": "native",
"rid": "win-x64"
}
}
},
"runtime.win-x86.runtime.native.System.Data.SqlClient.sni/4.4.0": {
"type": "package",
"runtimeTargets": {
"runtimes/win-x86/native/sni.dll": {
"assetType": "native",
"rid": "win-x86"
}
}
},
"System.Configuration.ConfigurationManager/4.5.0": {
"type": "package",
"dependencies": {
"System.Security.Cryptography.ProtectedData": "4.5.0",
"System.Security.Permissions": "4.5.0"
},
"compile": {
"ref/netstandard2.0/System.Configuration.ConfigurationManager.dll": {}
},
"runtime": {
"lib/netstandard2.0/System.Configuration.ConfigurationManager.dll": {}
}
},
"System.Data.SqlClient/4.5.1": {
"type": "package",
"dependencies": {
"Microsoft.Win32.Registry": "4.5.0",
"System.Security.Principal.Windows": "4.5.0",
"System.Text.Encoding.CodePages": "4.5.0",
"runtime.native.System.Data.SqlClient.sni": "4.4.0"
},
"compile": {
"ref/netcoreapp2.1/System.Data.SqlClient.dll": {}
},
"runtime": {
"lib/netcoreapp2.1/System.Data.SqlClient.dll": {}
},
"runtimeTargets": {
"runtimes/unix/lib/netcoreapp2.1/System.Data.SqlClient.dll": {
"assetType": "runtime",
"rid": "unix"
},
"runtimes/win/lib/netcoreapp2.1/System.Data.SqlClient.dll": {
"assetType": "runtime",
"rid": "win"
}
}
},
"System.IO/4.3.0": {
"type": "package",
"dependencies": {
@ -350,74 +240,6 @@
"buildTransitive/netcoreapp3.1/_._": {}
}
},
"System.Security.AccessControl/4.5.0": {
"type": "package",
"dependencies": {
"Microsoft.NETCore.Platforms": "2.0.0",
"System.Security.Principal.Windows": "4.5.0"
},
"compile": {
"ref/netstandard2.0/System.Security.AccessControl.dll": {}
},
"runtime": {
"lib/netstandard2.0/System.Security.AccessControl.dll": {}
},
"runtimeTargets": {
"runtimes/win/lib/netcoreapp2.0/System.Security.AccessControl.dll": {
"assetType": "runtime",
"rid": "win"
}
}
},
"System.Security.Cryptography.ProtectedData/4.5.0": {
"type": "package",
"compile": {
"ref/netstandard2.0/_._": {}
},
"runtime": {
"lib/netstandard2.0/System.Security.Cryptography.ProtectedData.dll": {}
},
"runtimeTargets": {
"runtimes/win/lib/netstandard2.0/System.Security.Cryptography.ProtectedData.dll": {
"assetType": "runtime",
"rid": "win"
}
}
},
"System.Security.Permissions/4.5.0": {
"type": "package",
"dependencies": {
"System.Security.AccessControl": "4.5.0"
},
"compile": {
"ref/netstandard2.0/System.Security.Permissions.dll": {}
},
"runtime": {
"lib/netstandard2.0/System.Security.Permissions.dll": {}
}
},
"System.Security.Principal.Windows/4.5.0": {
"type": "package",
"dependencies": {
"Microsoft.NETCore.Platforms": "2.0.0"
},
"compile": {
"ref/netstandard2.0/System.Security.Principal.Windows.dll": {}
},
"runtime": {
"lib/netstandard2.0/System.Security.Principal.Windows.dll": {}
},
"runtimeTargets": {
"runtimes/unix/lib/netcoreapp2.0/System.Security.Principal.Windows.dll": {
"assetType": "runtime",
"rid": "unix"
},
"runtimes/win/lib/netcoreapp2.0/System.Security.Principal.Windows.dll": {
"assetType": "runtime",
"rid": "win"
}
}
},
"System.Text.Encoding/4.3.0": {
"type": "package",
"dependencies": {
@ -429,25 +251,6 @@
"ref/netstandard1.3/System.Text.Encoding.dll": {}
}
},
"System.Text.Encoding.CodePages/4.5.0": {
"type": "package",
"dependencies": {
"Microsoft.NETCore.Platforms": "2.0.0",
"System.Runtime.CompilerServices.Unsafe": "4.5.0"
},
"compile": {
"ref/netstandard2.0/_._": {}
},
"runtime": {
"lib/netstandard2.0/System.Text.Encoding.CodePages.dll": {}
},
"runtimeTargets": {
"runtimes/win/lib/netcoreapp2.0/System.Text.Encoding.CodePages.dll": {
"assetType": "runtime",
"rid": "win"
}
}
},
"System.Text.Encodings.Web/6.0.0": {
"type": "package",
"dependencies": {
@ -576,30 +379,6 @@
"lib/netstandard2.1/zh-Hant/FSharp.Core.resources.dll"
]
},
"FSharp.Data.SqlClient/2.1.2": {
"sha512": "daNeM4yxX0aFI7M8Dl/rz4MvqJQ13Oxw2SBYBegGPv18ZSf3BM0TmcpAblWNoycOFSaFn4Db7fb6Tt0XAfp1iQ==",
"type": "package",
"path": "fsharp.data.sqlclient/2.1.2",
"files": [
".nupkg.metadata",
".signature.p7s",
"fsharp.data.sqlclient.2.1.2.nupkg.sha512",
"fsharp.data.sqlclient.nuspec",
"lib/net40/FSharp.Data.SqlClient.XML",
"lib/net461/FSharp.Data.SqlClient.XML",
"lib/net461/FSharp.Data.SqlClient.dll",
"lib/net461/FSharp.Data.SqlClient.pdb",
"lib/netstandard2.0/FSharp.Data.SqlClient.XML",
"lib/netstandard2.0/FSharp.Data.SqlClient.dll",
"lib/netstandard2.0/FSharp.Data.SqlClient.pdb",
"lib/typeproviders/fsharp41/net461/FSharp.Data.SqlClient.DesignTime.dll",
"lib/typeproviders/fsharp41/net461/FSharp.Data.SqlClient.DesignTime.pdb",
"lib/typeproviders/fsharp41/net461/Microsoft.SqlServer.TransactSql.ScriptDom.dll",
"lib/typeproviders/fsharp41/net461/Microsoft.SqlServer.Types.dll",
"lib/typeproviders/fsharp41/netstandard2.0/FSharp.Data.SqlClient.DesignTime.dll",
"lib/typeproviders/fsharp41/netstandard2.0/FSharp.Data.SqlClient.DesignTime.pdb"
]
},
"Giraffe/6.0.0": {
"sha512": "EkxCI/8/421DBABBtfBggT8T/1Hv1GOzwkrnepMa2i452NOkHWsty/3NpBJ0TsX+bEOvcZZifhL3yozagEPKmw==",
"type": "package",
@ -651,21 +430,19 @@
"microsoft.io.recyclablememorystream.nuspec"
]
},
"Microsoft.NETCore.Platforms/2.0.0": {
"sha512": "VdLJOCXhZaEMY7Hm2GKiULmn7IEPFE4XC5LPSfBVCUIA8YLZVh846gtfBJalsPQF2PlzdD7ecX7DZEulJ402ZQ==",
"Microsoft.NETCore.Platforms/1.1.0": {
"sha512": "kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==",
"type": "package",
"path": "microsoft.netcore.platforms/2.0.0",
"path": "microsoft.netcore.platforms/1.1.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"ThirdPartyNotices.txt",
"dotnet_library_license.txt",
"lib/netstandard1.0/_._",
"microsoft.netcore.platforms.2.0.0.nupkg.sha512",
"microsoft.netcore.platforms.1.1.0.nupkg.sha512",
"microsoft.netcore.platforms.nuspec",
"runtime.json",
"useSharedDesignerContext.txt",
"version.txt"
"runtime.json"
]
},
"Microsoft.NETCore.Targets/1.1.0": {
@ -683,46 +460,6 @@
"runtime.json"
]
},
"Microsoft.Win32.Registry/4.5.0": {
"sha512": "+FWlwd//+Tt56316p00hVePBCouXyEzT86Jb3+AuRotTND0IYn0OO3obs1gnQEs/txEnt+rF2JBGLItTG+Be6A==",
"type": "package",
"path": "microsoft.win32.registry/4.5.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"lib/net46/Microsoft.Win32.Registry.dll",
"lib/net461/Microsoft.Win32.Registry.dll",
"lib/netstandard1.3/Microsoft.Win32.Registry.dll",
"lib/netstandard2.0/Microsoft.Win32.Registry.dll",
"microsoft.win32.registry.4.5.0.nupkg.sha512",
"microsoft.win32.registry.nuspec",
"ref/net46/Microsoft.Win32.Registry.dll",
"ref/net461/Microsoft.Win32.Registry.dll",
"ref/net461/Microsoft.Win32.Registry.xml",
"ref/netstandard1.3/Microsoft.Win32.Registry.dll",
"ref/netstandard1.3/Microsoft.Win32.Registry.xml",
"ref/netstandard1.3/de/Microsoft.Win32.Registry.xml",
"ref/netstandard1.3/es/Microsoft.Win32.Registry.xml",
"ref/netstandard1.3/fr/Microsoft.Win32.Registry.xml",
"ref/netstandard1.3/it/Microsoft.Win32.Registry.xml",
"ref/netstandard1.3/ja/Microsoft.Win32.Registry.xml",
"ref/netstandard1.3/ko/Microsoft.Win32.Registry.xml",
"ref/netstandard1.3/ru/Microsoft.Win32.Registry.xml",
"ref/netstandard1.3/zh-hans/Microsoft.Win32.Registry.xml",
"ref/netstandard1.3/zh-hant/Microsoft.Win32.Registry.xml",
"ref/netstandard2.0/Microsoft.Win32.Registry.dll",
"ref/netstandard2.0/Microsoft.Win32.Registry.xml",
"runtimes/unix/lib/netstandard2.0/Microsoft.Win32.Registry.dll",
"runtimes/win/lib/net46/Microsoft.Win32.Registry.dll",
"runtimes/win/lib/net461/Microsoft.Win32.Registry.dll",
"runtimes/win/lib/netstandard1.3/Microsoft.Win32.Registry.dll",
"runtimes/win/lib/netstandard2.0/Microsoft.Win32.Registry.dll",
"useSharedDesignerContext.txt",
"version.txt"
]
},
"MySqlConnector/2.2.6": {
"sha512": "oYHl9TNhJXBEqfuiaEsOdBPkdULOcCCbqZJzYhy0rtREnMVoluG73GM8+gwBCMb1vbjv9K1ehQnhe0cxdxfOCA==",
"type": "package",
@ -777,164 +514,6 @@
"packageIcon.png"
]
},
"runtime.native.System.Data.SqlClient.sni/4.4.0": {
"sha512": "A8v6PGmk+UGbfWo5Ixup0lPM4swuSwOiayJExZwKIOjTlFFQIsu3QnDXECosBEyrWSPryxBVrdqtJyhK3BaupQ==",
"type": "package",
"path": "runtime.native.system.data.sqlclient.sni/4.4.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512",
"runtime.native.system.data.sqlclient.sni.nuspec",
"useSharedDesignerContext.txt",
"version.txt"
]
},
"runtime.win-arm64.runtime.native.System.Data.SqlClient.sni/4.4.0": {
"sha512": "LbrynESTp3bm5O/+jGL8v0Qg5SJlTV08lpIpFesXjF6uGNMWqFnUQbYBJwZTeua6E/Y7FIM1C54Ey1btLWupdg==",
"type": "package",
"path": "runtime.win-arm64.runtime.native.system.data.sqlclient.sni/4.4.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"ThirdPartyNotices.txt",
"dotnet_library_license.txt",
"runtime.win-arm64.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512",
"runtime.win-arm64.runtime.native.system.data.sqlclient.sni.nuspec",
"runtimes/win-arm64/native/sni.dll",
"useSharedDesignerContext.txt",
"version.txt"
]
},
"runtime.win-x64.runtime.native.System.Data.SqlClient.sni/4.4.0": {
"sha512": "38ugOfkYJqJoX9g6EYRlZB5U2ZJH51UP8ptxZgdpS07FgOEToV+lS11ouNK2PM12Pr6X/PpT5jK82G3DwH/SxQ==",
"type": "package",
"path": "runtime.win-x64.runtime.native.system.data.sqlclient.sni/4.4.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"ThirdPartyNotices.txt",
"dotnet_library_license.txt",
"runtime.win-x64.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512",
"runtime.win-x64.runtime.native.system.data.sqlclient.sni.nuspec",
"runtimes/win-x64/native/sni.dll",
"useSharedDesignerContext.txt",
"version.txt"
]
},
"runtime.win-x86.runtime.native.System.Data.SqlClient.sni/4.4.0": {
"sha512": "YhEdSQUsTx+C8m8Bw7ar5/VesXvCFMItyZF7G1AUY+OM0VPZUOeAVpJ4Wl6fydBGUYZxojTDR3I6Bj/+BPkJNA==",
"type": "package",
"path": "runtime.win-x86.runtime.native.system.data.sqlclient.sni/4.4.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"ThirdPartyNotices.txt",
"dotnet_library_license.txt",
"runtime.win-x86.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512",
"runtime.win-x86.runtime.native.system.data.sqlclient.sni.nuspec",
"runtimes/win-x86/native/sni.dll",
"useSharedDesignerContext.txt",
"version.txt"
]
},
"System.Configuration.ConfigurationManager/4.5.0": {
"sha512": "UIFvaFfuKhLr9u5tWMxmVoDPkFeD+Qv8gUuap4aZgVGYSYMdERck4OhLN/2gulAc0nYTEigWXSJNNWshrmxnng==",
"type": "package",
"path": "system.configuration.configurationmanager/4.5.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"lib/net461/System.Configuration.ConfigurationManager.dll",
"lib/netstandard2.0/System.Configuration.ConfigurationManager.dll",
"ref/net461/System.Configuration.ConfigurationManager.dll",
"ref/net461/System.Configuration.ConfigurationManager.xml",
"ref/netstandard2.0/System.Configuration.ConfigurationManager.dll",
"ref/netstandard2.0/System.Configuration.ConfigurationManager.xml",
"system.configuration.configurationmanager.4.5.0.nupkg.sha512",
"system.configuration.configurationmanager.nuspec",
"useSharedDesignerContext.txt",
"version.txt"
]
},
"System.Data.SqlClient/4.5.1": {
"sha512": "HV8pqcYlH7bNnX1n4i6F5RG7r6+WVErE2jUMNjXRrrkLFVIWLoerXtXDFs80pHvDBjxoG4rG0p2BUH3iXRs7hQ==",
"type": "package",
"path": "system.data.sqlclient/4.5.1",
"files": [
".nupkg.metadata",
".signature.p7s",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"lib/MonoAndroid10/_._",
"lib/MonoTouch10/_._",
"lib/net451/System.Data.SqlClient.dll",
"lib/net46/System.Data.SqlClient.dll",
"lib/net461/System.Data.SqlClient.dll",
"lib/netcoreapp2.1/System.Data.SqlClient.dll",
"lib/netstandard1.2/System.Data.SqlClient.dll",
"lib/netstandard1.3/System.Data.SqlClient.dll",
"lib/netstandard2.0/System.Data.SqlClient.dll",
"lib/xamarinios10/_._",
"lib/xamarinmac20/_._",
"lib/xamarintvos10/_._",
"lib/xamarinwatchos10/_._",
"ref/MonoAndroid10/_._",
"ref/MonoTouch10/_._",
"ref/net451/System.Data.SqlClient.dll",
"ref/net46/System.Data.SqlClient.dll",
"ref/net461/System.Data.SqlClient.dll",
"ref/net461/System.Data.SqlClient.xml",
"ref/netcoreapp2.1/System.Data.SqlClient.dll",
"ref/netcoreapp2.1/System.Data.SqlClient.xml",
"ref/netstandard1.2/System.Data.SqlClient.dll",
"ref/netstandard1.2/System.Data.SqlClient.xml",
"ref/netstandard1.2/de/System.Data.SqlClient.xml",
"ref/netstandard1.2/es/System.Data.SqlClient.xml",
"ref/netstandard1.2/fr/System.Data.SqlClient.xml",
"ref/netstandard1.2/it/System.Data.SqlClient.xml",
"ref/netstandard1.2/ja/System.Data.SqlClient.xml",
"ref/netstandard1.2/ko/System.Data.SqlClient.xml",
"ref/netstandard1.2/ru/System.Data.SqlClient.xml",
"ref/netstandard1.2/zh-hans/System.Data.SqlClient.xml",
"ref/netstandard1.2/zh-hant/System.Data.SqlClient.xml",
"ref/netstandard1.3/System.Data.SqlClient.dll",
"ref/netstandard1.3/System.Data.SqlClient.xml",
"ref/netstandard1.3/de/System.Data.SqlClient.xml",
"ref/netstandard1.3/es/System.Data.SqlClient.xml",
"ref/netstandard1.3/fr/System.Data.SqlClient.xml",
"ref/netstandard1.3/it/System.Data.SqlClient.xml",
"ref/netstandard1.3/ja/System.Data.SqlClient.xml",
"ref/netstandard1.3/ko/System.Data.SqlClient.xml",
"ref/netstandard1.3/ru/System.Data.SqlClient.xml",
"ref/netstandard1.3/zh-hans/System.Data.SqlClient.xml",
"ref/netstandard1.3/zh-hant/System.Data.SqlClient.xml",
"ref/netstandard2.0/System.Data.SqlClient.dll",
"ref/netstandard2.0/System.Data.SqlClient.xml",
"ref/xamarinios10/_._",
"ref/xamarinmac20/_._",
"ref/xamarintvos10/_._",
"ref/xamarinwatchos10/_._",
"runtimes/unix/lib/netcoreapp2.1/System.Data.SqlClient.dll",
"runtimes/unix/lib/netstandard1.3/System.Data.SqlClient.dll",
"runtimes/unix/lib/netstandard2.0/System.Data.SqlClient.dll",
"runtimes/win/lib/net451/System.Data.SqlClient.dll",
"runtimes/win/lib/net46/System.Data.SqlClient.dll",
"runtimes/win/lib/net461/System.Data.SqlClient.dll",
"runtimes/win/lib/netcoreapp2.1/System.Data.SqlClient.dll",
"runtimes/win/lib/netstandard1.3/System.Data.SqlClient.dll",
"runtimes/win/lib/netstandard2.0/System.Data.SqlClient.dll",
"runtimes/win/lib/uap10.0.16299/System.Data.SqlClient.dll",
"system.data.sqlclient.4.5.1.nupkg.sha512",
"system.data.sqlclient.nuspec",
"useSharedDesignerContext.txt",
"version.txt"
]
},
"System.IO/4.3.0": {
"sha512": "3qjaHvxQPDpSOYICjUoTsmoq5u6QJAFRUITgeT/4gqkF1bajbSmb1kwSxEA8AHlofqgcKJcM8udgieRNhaJ5Cg==",
"type": "package",
@ -1397,153 +976,6 @@
"useSharedDesignerContext.txt"
]
},
"System.Security.AccessControl/4.5.0": {
"sha512": "vW8Eoq0TMyz5vAG/6ce483x/CP83fgm4SJe5P8Tb1tZaobcvPrbMEL7rhH1DRdrYbbb6F0vq3OlzmK0Pkwks5A==",
"type": "package",
"path": "system.security.accesscontrol/4.5.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"lib/net46/System.Security.AccessControl.dll",
"lib/net461/System.Security.AccessControl.dll",
"lib/netstandard1.3/System.Security.AccessControl.dll",
"lib/netstandard2.0/System.Security.AccessControl.dll",
"lib/uap10.0.16299/_._",
"ref/net46/System.Security.AccessControl.dll",
"ref/net461/System.Security.AccessControl.dll",
"ref/net461/System.Security.AccessControl.xml",
"ref/netstandard1.3/System.Security.AccessControl.dll",
"ref/netstandard1.3/System.Security.AccessControl.xml",
"ref/netstandard1.3/de/System.Security.AccessControl.xml",
"ref/netstandard1.3/es/System.Security.AccessControl.xml",
"ref/netstandard1.3/fr/System.Security.AccessControl.xml",
"ref/netstandard1.3/it/System.Security.AccessControl.xml",
"ref/netstandard1.3/ja/System.Security.AccessControl.xml",
"ref/netstandard1.3/ko/System.Security.AccessControl.xml",
"ref/netstandard1.3/ru/System.Security.AccessControl.xml",
"ref/netstandard1.3/zh-hans/System.Security.AccessControl.xml",
"ref/netstandard1.3/zh-hant/System.Security.AccessControl.xml",
"ref/netstandard2.0/System.Security.AccessControl.dll",
"ref/netstandard2.0/System.Security.AccessControl.xml",
"ref/uap10.0.16299/_._",
"runtimes/win/lib/net46/System.Security.AccessControl.dll",
"runtimes/win/lib/net461/System.Security.AccessControl.dll",
"runtimes/win/lib/netcoreapp2.0/System.Security.AccessControl.dll",
"runtimes/win/lib/netstandard1.3/System.Security.AccessControl.dll",
"runtimes/win/lib/uap10.0.16299/_._",
"system.security.accesscontrol.4.5.0.nupkg.sha512",
"system.security.accesscontrol.nuspec",
"useSharedDesignerContext.txt",
"version.txt"
]
},
"System.Security.Cryptography.ProtectedData/4.5.0": {
"sha512": "wLBKzFnDCxP12VL9ANydSYhk59fC4cvOr9ypYQLPnAj48NQIhqnjdD2yhP8yEKyBJEjERWS9DisKL7rX5eU25Q==",
"type": "package",
"path": "system.security.cryptography.protecteddata/4.5.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"lib/MonoAndroid10/_._",
"lib/MonoTouch10/_._",
"lib/net46/System.Security.Cryptography.ProtectedData.dll",
"lib/net461/System.Security.Cryptography.ProtectedData.dll",
"lib/netstandard1.3/System.Security.Cryptography.ProtectedData.dll",
"lib/netstandard2.0/System.Security.Cryptography.ProtectedData.dll",
"lib/xamarinios10/_._",
"lib/xamarinmac20/_._",
"lib/xamarintvos10/_._",
"lib/xamarinwatchos10/_._",
"ref/MonoAndroid10/_._",
"ref/MonoTouch10/_._",
"ref/net46/System.Security.Cryptography.ProtectedData.dll",
"ref/net461/System.Security.Cryptography.ProtectedData.dll",
"ref/net461/System.Security.Cryptography.ProtectedData.xml",
"ref/netstandard1.3/System.Security.Cryptography.ProtectedData.dll",
"ref/netstandard2.0/System.Security.Cryptography.ProtectedData.dll",
"ref/netstandard2.0/System.Security.Cryptography.ProtectedData.xml",
"ref/xamarinios10/_._",
"ref/xamarinmac20/_._",
"ref/xamarintvos10/_._",
"ref/xamarinwatchos10/_._",
"runtimes/win/lib/net46/System.Security.Cryptography.ProtectedData.dll",
"runtimes/win/lib/net461/System.Security.Cryptography.ProtectedData.dll",
"runtimes/win/lib/netstandard1.3/System.Security.Cryptography.ProtectedData.dll",
"runtimes/win/lib/netstandard2.0/System.Security.Cryptography.ProtectedData.dll",
"system.security.cryptography.protecteddata.4.5.0.nupkg.sha512",
"system.security.cryptography.protecteddata.nuspec",
"useSharedDesignerContext.txt",
"version.txt"
]
},
"System.Security.Permissions/4.5.0": {
"sha512": "9gdyuARhUR7H+p5CjyUB/zPk7/Xut3wUSP8NJQB6iZr8L3XUXTMdoLeVAg9N4rqF8oIpE7MpdqHdDHQ7XgJe0g==",
"type": "package",
"path": "system.security.permissions/4.5.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"lib/net461/System.Security.Permissions.dll",
"lib/netstandard2.0/System.Security.Permissions.dll",
"ref/net461/System.Security.Permissions.dll",
"ref/net461/System.Security.Permissions.xml",
"ref/netstandard2.0/System.Security.Permissions.dll",
"ref/netstandard2.0/System.Security.Permissions.xml",
"system.security.permissions.4.5.0.nupkg.sha512",
"system.security.permissions.nuspec",
"useSharedDesignerContext.txt",
"version.txt"
]
},
"System.Security.Principal.Windows/4.5.0": {
"sha512": "U77HfRXlZlOeIXd//Yoj6Jnk8AXlbeisf1oq1os+hxOGVnuG+lGSfGqTwTZBoORFF6j/0q7HXIl8cqwQ9aUGqQ==",
"type": "package",
"path": "system.security.principal.windows/4.5.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"lib/net46/System.Security.Principal.Windows.dll",
"lib/net461/System.Security.Principal.Windows.dll",
"lib/netstandard1.3/System.Security.Principal.Windows.dll",
"lib/netstandard2.0/System.Security.Principal.Windows.dll",
"lib/uap10.0.16299/_._",
"ref/net46/System.Security.Principal.Windows.dll",
"ref/net461/System.Security.Principal.Windows.dll",
"ref/net461/System.Security.Principal.Windows.xml",
"ref/netstandard1.3/System.Security.Principal.Windows.dll",
"ref/netstandard1.3/System.Security.Principal.Windows.xml",
"ref/netstandard1.3/de/System.Security.Principal.Windows.xml",
"ref/netstandard1.3/es/System.Security.Principal.Windows.xml",
"ref/netstandard1.3/fr/System.Security.Principal.Windows.xml",
"ref/netstandard1.3/it/System.Security.Principal.Windows.xml",
"ref/netstandard1.3/ja/System.Security.Principal.Windows.xml",
"ref/netstandard1.3/ko/System.Security.Principal.Windows.xml",
"ref/netstandard1.3/ru/System.Security.Principal.Windows.xml",
"ref/netstandard1.3/zh-hans/System.Security.Principal.Windows.xml",
"ref/netstandard1.3/zh-hant/System.Security.Principal.Windows.xml",
"ref/netstandard2.0/System.Security.Principal.Windows.dll",
"ref/netstandard2.0/System.Security.Principal.Windows.xml",
"ref/uap10.0.16299/_._",
"runtimes/unix/lib/netcoreapp2.0/System.Security.Principal.Windows.dll",
"runtimes/win/lib/net46/System.Security.Principal.Windows.dll",
"runtimes/win/lib/net461/System.Security.Principal.Windows.dll",
"runtimes/win/lib/netcoreapp2.0/System.Security.Principal.Windows.dll",
"runtimes/win/lib/netstandard1.3/System.Security.Principal.Windows.dll",
"runtimes/win/lib/uap10.0.16299/_._",
"system.security.principal.windows.4.5.0.nupkg.sha512",
"system.security.principal.windows.nuspec",
"useSharedDesignerContext.txt",
"version.txt"
]
},
"System.Text.Encoding/4.3.0": {
"sha512": "BiIg+KWaSDOITze6jGQynxg64naAPtqGHBwDrLaCtixsa5bKiR8dpPOHA7ge3C0JJQizJE+sfkz1wV+BAKAYZw==",
"type": "package",
@ -1612,54 +1044,6 @@
"system.text.encoding.nuspec"
]
},
"System.Text.Encoding.CodePages/4.5.0": {
"sha512": "S0wEUiKcLvRlkFUXca8uio1UQ5bYQzYgOmOKtCqaBQC3GR9AJjh43otcM32IGsAyvadFTaAMw9Irm6dS4Evfng==",
"type": "package",
"path": "system.text.encoding.codepages/4.5.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"lib/MonoAndroid10/_._",
"lib/MonoTouch10/_._",
"lib/net46/System.Text.Encoding.CodePages.dll",
"lib/net461/System.Text.Encoding.CodePages.dll",
"lib/netstandard1.3/System.Text.Encoding.CodePages.dll",
"lib/netstandard2.0/System.Text.Encoding.CodePages.dll",
"lib/xamarinios10/_._",
"lib/xamarinmac20/_._",
"lib/xamarintvos10/_._",
"lib/xamarinwatchos10/_._",
"ref/MonoAndroid10/_._",
"ref/MonoTouch10/_._",
"ref/netstandard1.3/System.Text.Encoding.CodePages.dll",
"ref/netstandard1.3/System.Text.Encoding.CodePages.xml",
"ref/netstandard1.3/de/System.Text.Encoding.CodePages.xml",
"ref/netstandard1.3/es/System.Text.Encoding.CodePages.xml",
"ref/netstandard1.3/fr/System.Text.Encoding.CodePages.xml",
"ref/netstandard1.3/it/System.Text.Encoding.CodePages.xml",
"ref/netstandard1.3/ja/System.Text.Encoding.CodePages.xml",
"ref/netstandard1.3/ko/System.Text.Encoding.CodePages.xml",
"ref/netstandard1.3/ru/System.Text.Encoding.CodePages.xml",
"ref/netstandard1.3/zh-hans/System.Text.Encoding.CodePages.xml",
"ref/netstandard1.3/zh-hant/System.Text.Encoding.CodePages.xml",
"ref/netstandard2.0/System.Text.Encoding.CodePages.dll",
"ref/netstandard2.0/System.Text.Encoding.CodePages.xml",
"ref/xamarinios10/_._",
"ref/xamarinmac20/_._",
"ref/xamarintvos10/_._",
"ref/xamarinwatchos10/_._",
"runtimes/win/lib/net461/System.Text.Encoding.CodePages.dll",
"runtimes/win/lib/netcoreapp2.0/System.Text.Encoding.CodePages.dll",
"runtimes/win/lib/netstandard1.3/System.Text.Encoding.CodePages.dll",
"runtimes/win/lib/netstandard2.0/System.Text.Encoding.CodePages.dll",
"system.text.encoding.codepages.4.5.0.nupkg.sha512",
"system.text.encoding.codepages.nuspec",
"useSharedDesignerContext.txt",
"version.txt"
]
},
"System.Text.Encodings.Web/6.0.0": {
"sha512": "Vg8eB5Tawm1IFqj4TVK1czJX89rhFxJo9ELqc/Eiq0eXy13RK00eubyU6TJE6y+GQXjyV5gSfiewDUZjQgSE0w==",
"type": "package",
@ -1898,7 +1282,6 @@
"projectFileDependencyGroups": {
"net6.0": [
"FSharp.Core >= 6.0.1",
"FSharp.Data.SqlClient >= 2.1.2",
"Giraffe >= 6.0.0",
"MySqlConnector >= 2.2.6"
]
@ -1941,11 +1324,6 @@
"version": "[6.0.1, )",
"generatePathProperty": true
},
"FSharp.Data.SqlClient": {
"target": "Package",
"version": "[2.1.2, )",
"generatePathProperty": true
},
"Giraffe": {
"target": "Package",
"version": "[6.0.0, )",

View File

@ -1,25 +1,17 @@
{
"version": 2,
"dgSpecHash": "I4tDTnguvZENV8c+kMFM0bQDBX57OyjqKtj9P2K/m/+OaFdmC3Gb4nfrpkzh30ws3CAmgY6Dlgn7Yd6KoBa8wA==",
"dgSpecHash": "AvyKUqNeu20ixefh4YO12G3tJnjvqx+8NIw0j1VVjVpA0iQDpcUuDqdWNkDw23vsmlXdYwEgWkTNFw6l7s14Bg==",
"success": true,
"projectFilePath": "/home/kevin/projects/websites/portfolio/api/api.fsproj",
"expectedPackageFiles": [
"/home/kevin/.nuget/packages/fsharp.core/6.0.1/fsharp.core.6.0.1.nupkg.sha512",
"/home/kevin/.nuget/packages/fsharp.data.sqlclient/2.1.2/fsharp.data.sqlclient.2.1.2.nupkg.sha512",
"/home/kevin/.nuget/packages/giraffe/6.0.0/giraffe.6.0.0.nupkg.sha512",
"/home/kevin/.nuget/packages/giraffe.viewengine/1.3.0/giraffe.viewengine.1.3.0.nupkg.sha512",
"/home/kevin/.nuget/packages/microsoft.io.recyclablememorystream/2.2.0/microsoft.io.recyclablememorystream.2.2.0.nupkg.sha512",
"/home/kevin/.nuget/packages/microsoft.netcore.platforms/2.0.0/microsoft.netcore.platforms.2.0.0.nupkg.sha512",
"/home/kevin/.nuget/packages/microsoft.netcore.platforms/1.1.0/microsoft.netcore.platforms.1.1.0.nupkg.sha512",
"/home/kevin/.nuget/packages/microsoft.netcore.targets/1.1.0/microsoft.netcore.targets.1.1.0.nupkg.sha512",
"/home/kevin/.nuget/packages/microsoft.win32.registry/4.5.0/microsoft.win32.registry.4.5.0.nupkg.sha512",
"/home/kevin/.nuget/packages/mysqlconnector/2.2.6/mysqlconnector.2.2.6.nupkg.sha512",
"/home/kevin/.nuget/packages/newtonsoft.json/13.0.1/newtonsoft.json.13.0.1.nupkg.sha512",
"/home/kevin/.nuget/packages/runtime.native.system.data.sqlclient.sni/4.4.0/runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512",
"/home/kevin/.nuget/packages/runtime.win-arm64.runtime.native.system.data.sqlclient.sni/4.4.0/runtime.win-arm64.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512",
"/home/kevin/.nuget/packages/runtime.win-x64.runtime.native.system.data.sqlclient.sni/4.4.0/runtime.win-x64.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512",
"/home/kevin/.nuget/packages/runtime.win-x86.runtime.native.system.data.sqlclient.sni/4.4.0/runtime.win-x86.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512",
"/home/kevin/.nuget/packages/system.configuration.configurationmanager/4.5.0/system.configuration.configurationmanager.4.5.0.nupkg.sha512",
"/home/kevin/.nuget/packages/system.data.sqlclient/4.5.1/system.data.sqlclient.4.5.1.nupkg.sha512",
"/home/kevin/.nuget/packages/system.io/4.3.0/system.io.4.3.0.nupkg.sha512",
"/home/kevin/.nuget/packages/system.reflection/4.3.0/system.reflection.4.3.0.nupkg.sha512",
"/home/kevin/.nuget/packages/system.reflection.emit/4.3.0/system.reflection.emit.4.3.0.nupkg.sha512",
@ -28,12 +20,7 @@
"/home/kevin/.nuget/packages/system.reflection.primitives/4.3.0/system.reflection.primitives.4.3.0.nupkg.sha512",
"/home/kevin/.nuget/packages/system.runtime/4.3.0/system.runtime.4.3.0.nupkg.sha512",
"/home/kevin/.nuget/packages/system.runtime.compilerservices.unsafe/6.0.0/system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512",
"/home/kevin/.nuget/packages/system.security.accesscontrol/4.5.0/system.security.accesscontrol.4.5.0.nupkg.sha512",
"/home/kevin/.nuget/packages/system.security.cryptography.protecteddata/4.5.0/system.security.cryptography.protecteddata.4.5.0.nupkg.sha512",
"/home/kevin/.nuget/packages/system.security.permissions/4.5.0/system.security.permissions.4.5.0.nupkg.sha512",
"/home/kevin/.nuget/packages/system.security.principal.windows/4.5.0/system.security.principal.windows.4.5.0.nupkg.sha512",
"/home/kevin/.nuget/packages/system.text.encoding/4.3.0/system.text.encoding.4.3.0.nupkg.sha512",
"/home/kevin/.nuget/packages/system.text.encoding.codepages/4.5.0/system.text.encoding.codepages.4.5.0.nupkg.sha512",
"/home/kevin/.nuget/packages/system.text.encodings.web/6.0.0/system.text.encodings.web.6.0.0.nupkg.sha512",
"/home/kevin/.nuget/packages/system.text.json/6.0.2/system.text.json.6.0.2.nupkg.sha512",
"/home/kevin/.nuget/packages/system.threading.tasks/4.3.0/system.threading.tasks.4.3.0.nupkg.sha512",

View File

@ -1,4 +1,4 @@
FROM mariadb:10.3.25
FROM mariadb:10.11.4
RUN apt-get update \
&& apt-get install -y --no-install-recommends \