From e699f4d9ad3f7e31b312c4759228d66a38af1d46 Mon Sep 17 00:00:00 2001 From: patrick Date: Fri, 12 Jul 2024 10:12:27 +0000 Subject: [PATCH] Add reproducibility check (#14) Co-authored-by: Smaug123 <3138005+Smaug123@users.noreply.github.com> Reviewed-on: https://gitea.patrickstevens.co.uk/patrick/puregym-unofficial-dotnet/pulls/14 --- .woodpecker/.build.yml | 2 + PureGym.App/PureGym.App.fsproj | 3 + PureGym.Test/PureGym.Test.fsproj | 15 +- PureGym/GeneratedClient.fs | 9 +- PureGym/GeneratedDto.fs | 411 +++++++++++++++---------------- PureGym/PureGym.fsproj | 7 +- flake.lock | 6 +- flake.nix | 6 +- nix/deps.nix | 216 ++++++++-------- 9 files changed, 325 insertions(+), 350 deletions(-) diff --git a/.woodpecker/.build.yml b/.woodpecker/.build.yml index 36ed4ec..44deac5 100644 --- a/.woodpecker/.build.yml +++ b/.woodpecker/.build.yml @@ -9,6 +9,8 @@ "nix flake check", # Test "nix build", + # Reproducibility + "nix build --rebuild", "nix run . -- --help", "nix run . -- auth --help", "nix run . -- lookup-gym --help", diff --git a/PureGym.App/PureGym.App.fsproj b/PureGym.App/PureGym.App.fsproj index 2914335..49938b5 100644 --- a/PureGym.App/PureGym.App.fsproj +++ b/PureGym.App/PureGym.App.fsproj @@ -3,6 +3,8 @@ Exe net8.0 + all + true @@ -25,6 +27,7 @@ + diff --git a/PureGym.Test/PureGym.Test.fsproj b/PureGym.Test/PureGym.Test.fsproj index ccb86d2..b9af699 100644 --- a/PureGym.Test/PureGym.Test.fsproj +++ b/PureGym.Test/PureGym.Test.fsproj @@ -5,6 +5,7 @@ false true + NU1901;NU1902;NU1903;NU1904 @@ -13,14 +14,12 @@ - - - - - - - - + + + + + + diff --git a/PureGym/GeneratedClient.fs b/PureGym/GeneratedClient.fs index 1b95858..8ca3cef 100644 --- a/PureGym/GeneratedClient.fs +++ b/PureGym/GeneratedClient.fs @@ -15,8 +15,7 @@ open System.Threading.Tasks open RestEase /// Module for constructing a REST client. -[] -[] +[] module PureGymApi = /// Create a REST client. The input functions will be re-evaluated on every HTTP request to obtain the required values for the corresponding header properties. let make (authHeader : unit -> string) (client : System.Net.Http.HttpClient) : IPureGymApi = @@ -202,7 +201,11 @@ module PureGymApi = | v -> v), System.Uri ( ("v2/gymSessions/member" - + "?fromDate=" + + (if "v2/gymSessions/member".IndexOf (char 63) >= 0 then + "&" + else + "?") + + "fromDate=" + ((fromDate.ToString "yyyy-MM-dd") |> System.Web.HttpUtility.UrlEncode) + "&toDate=" + ((toDate.ToString "yyyy-MM-dd") |> System.Web.HttpUtility.UrlEncode)), diff --git a/PureGym/GeneratedDto.fs b/PureGym/GeneratedDto.fs index f81c848..5a6d4fc 100644 --- a/PureGym/GeneratedDto.fs +++ b/PureGym/GeneratedDto.fs @@ -8,12 +8,11 @@ namespace PureGym /// Module containing JSON parsing methods for the GymOpeningHours type -[] -[] +[] module GymOpeningHours = /// Parse from a JSON node. let jsonParse (node : System.Text.Json.Nodes.JsonNode) : GymOpeningHours = - let OpeningHours = + let arg_1 = (match node.["openingHours"] with | null -> raise ( @@ -23,10 +22,10 @@ module GymOpeningHours = ) | v -> v) .AsArray () - |> Seq.map (fun elt -> elt.AsValue().GetValue ()) + |> Seq.map (fun elt -> elt.AsValue().GetValue ()) |> List.ofSeq - let IsAlwaysOpen = + let arg_0 = (match node.["isAlwaysOpen"] with | null -> raise ( @@ -36,21 +35,20 @@ module GymOpeningHours = ) | v -> v) .AsValue() - .GetValue () + .GetValue () { - IsAlwaysOpen = IsAlwaysOpen - OpeningHours = OpeningHours + IsAlwaysOpen = arg_0 + OpeningHours = arg_1 } namespace PureGym /// Module containing JSON parsing methods for the GymAccessOptions type -[] -[] +[] module GymAccessOptions = /// Parse from a JSON node. let jsonParse (node : System.Text.Json.Nodes.JsonNode) : GymAccessOptions = - let QrCodeAccess = + let arg_1 = (match node.["qrCodeAccess"] with | null -> raise ( @@ -60,9 +58,9 @@ module GymAccessOptions = ) | v -> v) .AsValue() - .GetValue () + .GetValue () - let PinAccess = + let arg_0 = (match node.["pinAccess"] with | null -> raise ( @@ -72,21 +70,20 @@ module GymAccessOptions = ) | v -> v) .AsValue() - .GetValue () + .GetValue () { - PinAccess = PinAccess - QrCodeAccess = QrCodeAccess + PinAccess = arg_0 + QrCodeAccess = arg_1 } namespace PureGym /// Module containing JSON parsing methods for the GymLocation type -[] -[] +[] module GymLocation = /// Parse from a JSON node. let jsonParse (node : System.Text.Json.Nodes.JsonNode) : GymLocation = - let Latitude = + let arg_1 = try (match node.["latitude"] with | null -> @@ -97,7 +94,7 @@ module GymLocation = ) | v -> v) .AsValue() - .GetValue () + .GetValue () with :? System.InvalidOperationException as exc -> if exc.Message.Contains "cannot be converted to" then if @@ -119,7 +116,7 @@ module GymLocation = else reraise () - let Longitude = + let arg_0 = try (match node.["longitude"] with | null -> @@ -130,7 +127,7 @@ module GymLocation = ) | v -> v) .AsValue() - .GetValue () + .GetValue () with :? System.InvalidOperationException as exc -> if exc.Message.Contains "cannot be converted to" then if @@ -153,18 +150,17 @@ module GymLocation = reraise () { - Longitude = Longitude - Latitude = Latitude + Longitude = arg_0 + Latitude = arg_1 } namespace PureGym /// Module containing JSON parsing methods for the GymAddress type -[] -[] +[] module GymAddress = /// Parse from a JSON node. let jsonParse (node : System.Text.Json.Nodes.JsonNode) : GymAddress = - let Postcode = + let arg_5 = (match node.["postcode"] with | null -> raise ( @@ -174,14 +170,14 @@ module GymAddress = ) | v -> v) .AsValue() - .GetValue () + .GetValue () - let County = + let arg_4 = match node.["county"] with | null -> None - | v -> v.AsValue().GetValue () |> Some + | v -> v.AsValue().GetValue () |> Some - let Town = + let arg_3 = (match node.["town"] with | null -> raise ( @@ -191,19 +187,19 @@ module GymAddress = ) | v -> v) .AsValue() - .GetValue () + .GetValue () - let AddressLine3 = + let arg_2 = match node.["addressLine3"] with | null -> None - | v -> v.AsValue().GetValue () |> Some + | v -> v.AsValue().GetValue () |> Some - let AddressLine2 = + let arg_1 = match node.["addressLine2"] with | null -> None - | v -> v.AsValue().GetValue () |> Some + | v -> v.AsValue().GetValue () |> Some - let AddressLine1 = + let arg_0 = (match node.["addressLine1"] with | null -> raise ( @@ -213,30 +209,29 @@ module GymAddress = ) | v -> v) .AsValue() - .GetValue () + .GetValue () { - AddressLine1 = AddressLine1 - AddressLine2 = AddressLine2 - AddressLine3 = AddressLine3 - Town = Town - County = County - Postcode = Postcode + AddressLine1 = arg_0 + AddressLine2 = arg_1 + AddressLine3 = arg_2 + Town = arg_3 + County = arg_4 + Postcode = arg_5 } namespace PureGym /// Module containing JSON parsing methods for the Gym type -[] -[] +[] module Gym = /// Parse from a JSON node. let jsonParse (node : System.Text.Json.Nodes.JsonNode) : Gym = - let ReopenDate = + let arg_10 = match node.["reopenDate"] with | null -> None - | v -> v.AsValue().GetValue () |> Some + | v -> v.AsValue().GetValue () |> Some - let TimeZone = + let arg_9 = (match node.["timeZone"] with | null -> raise ( @@ -246,9 +241,9 @@ module Gym = ) | v -> v) .AsValue() - .GetValue () + .GetValue () - let Location = + let arg_8 = GymLocation.jsonParse ( match node.["location"] with | null -> @@ -260,7 +255,7 @@ module Gym = | v -> v ) - let AccessOptions = + let arg_7 = GymAccessOptions.jsonParse ( match node.["accessOptions"] with | null -> @@ -272,7 +267,7 @@ module Gym = | v -> v ) - let GymOpeningHours = + let arg_6 = GymOpeningHours.jsonParse ( match node.["gymOpeningHours"] with | null -> @@ -284,7 +279,7 @@ module Gym = | v -> v ) - let EmailAddress = + let arg_5 = (match node.["emailAddress"] with | null -> raise ( @@ -294,9 +289,9 @@ module Gym = ) | v -> v) .AsValue() - .GetValue () + .GetValue () - let PhoneNumber = + let arg_4 = (match node.["phoneNumber"] with | null -> raise ( @@ -306,9 +301,9 @@ module Gym = ) | v -> v) .AsValue() - .GetValue () + .GetValue () - let Address = + let arg_3 = GymAddress.jsonParse ( match node.["address"] with | null -> @@ -320,7 +315,7 @@ module Gym = | v -> v ) - let Status = + let arg_2 = (match node.["status"] with | null -> raise ( @@ -330,9 +325,9 @@ module Gym = ) | v -> v) .AsValue() - .GetValue () + .GetValue () - let Id = + let arg_1 = (match node.["id"] with | null -> raise ( @@ -342,9 +337,9 @@ module Gym = ) | v -> v) .AsValue() - .GetValue () + .GetValue () - let Name = + let arg_0 = (match node.["name"] with | null -> raise ( @@ -354,30 +349,29 @@ module Gym = ) | v -> v) .AsValue() - .GetValue () + .GetValue () { - Name = Name - Id = Id - Status = Status - Address = Address - PhoneNumber = PhoneNumber - EmailAddress = EmailAddress - GymOpeningHours = GymOpeningHours - AccessOptions = AccessOptions - Location = Location - TimeZone = TimeZone - ReopenDate = ReopenDate + Name = arg_0 + Id = arg_1 + Status = arg_2 + Address = arg_3 + PhoneNumber = arg_4 + EmailAddress = arg_5 + GymOpeningHours = arg_6 + AccessOptions = arg_7 + Location = arg_8 + TimeZone = arg_9 + ReopenDate = arg_10 } namespace PureGym /// Module containing JSON parsing methods for the Member type -[] -[] +[] module Member = /// Parse from a JSON node. let jsonParse (node : System.Text.Json.Nodes.JsonNode) : Member = - let MemberStatus = + let arg_14 = (match node.["memberStatus"] with | null -> raise ( @@ -387,9 +381,9 @@ module Member = ) | v -> v) .AsValue() - .GetValue () + .GetValue () - let SuspendedReason = + let arg_13 = (match node.["suspendedReason"] with | null -> raise ( @@ -399,9 +393,9 @@ module Member = ) | v -> v) .AsValue() - .GetValue () + .GetValue () - let MembershipLevel = + let arg_12 = (match node.["membershipLevel"] with | null -> raise ( @@ -411,9 +405,9 @@ module Member = ) | v -> v) .AsValue() - .GetValue () + .GetValue () - let MembershipName = + let arg_11 = (match node.["membershipName"] with | null -> raise ( @@ -423,9 +417,9 @@ module Member = ) | v -> v) .AsValue() - .GetValue () + .GetValue () - let Postcode = + let arg_10 = (match node.["postCode"] with | null -> raise ( @@ -435,9 +429,9 @@ module Member = ) | v -> v) .AsValue() - .GetValue () + .GetValue () - let MobileNumber = + let arg_9 = (match node.["mobileNumber"] with | null -> raise ( @@ -447,9 +441,9 @@ module Member = ) | v -> v) .AsValue() - .GetValue () + .GetValue () - let DateOfBirth = + let arg_8 = (match node.["dateofBirth"] with | null -> raise ( @@ -462,7 +456,7 @@ module Member = .GetValue () |> System.DateOnly.Parse - let GymAccessPin = + let arg_7 = (match node.["gymAccessPin"] with | null -> raise ( @@ -472,9 +466,9 @@ module Member = ) | v -> v) .AsValue() - .GetValue () + .GetValue () - let EmailAddress = + let arg_6 = (match node.["emailAddress"] with | null -> raise ( @@ -484,9 +478,9 @@ module Member = ) | v -> v) .AsValue() - .GetValue () + .GetValue () - let HomeGymName = + let arg_5 = (match node.["homeGymName"] with | null -> raise ( @@ -496,9 +490,9 @@ module Member = ) | v -> v) .AsValue() - .GetValue () + .GetValue () - let HomeGymId = + let arg_4 = (match node.["homeGymId"] with | null -> raise ( @@ -508,9 +502,9 @@ module Member = ) | v -> v) .AsValue() - .GetValue () + .GetValue () - let LastName = + let arg_3 = (match node.["lastName"] with | null -> raise ( @@ -520,9 +514,9 @@ module Member = ) | v -> v) .AsValue() - .GetValue () + .GetValue () - let FirstName = + let arg_2 = (match node.["firstName"] with | null -> raise ( @@ -532,9 +526,9 @@ module Member = ) | v -> v) .AsValue() - .GetValue () + .GetValue () - let CompoundMemberId = + let arg_1 = (match node.["compoundMemberId"] with | null -> raise ( @@ -544,9 +538,9 @@ module Member = ) | v -> v) .AsValue() - .GetValue () + .GetValue () - let Id = + let arg_0 = (match node.["id"] with | null -> raise ( @@ -556,34 +550,33 @@ module Member = ) | v -> v) .AsValue() - .GetValue () + .GetValue () { - Id = Id - CompoundMemberId = CompoundMemberId - FirstName = FirstName - LastName = LastName - HomeGymId = HomeGymId - HomeGymName = HomeGymName - EmailAddress = EmailAddress - GymAccessPin = GymAccessPin - DateOfBirth = DateOfBirth - MobileNumber = MobileNumber - Postcode = Postcode - MembershipName = MembershipName - MembershipLevel = MembershipLevel - SuspendedReason = SuspendedReason - MemberStatus = MemberStatus + Id = arg_0 + CompoundMemberId = arg_1 + FirstName = arg_2 + LastName = arg_3 + HomeGymId = arg_4 + HomeGymName = arg_5 + EmailAddress = arg_6 + GymAccessPin = arg_7 + DateOfBirth = arg_8 + MobileNumber = arg_9 + Postcode = arg_10 + MembershipName = arg_11 + MembershipLevel = arg_12 + SuspendedReason = arg_13 + MemberStatus = arg_14 } namespace PureGym /// Module containing JSON parsing methods for the GymAttendance type -[] -[] +[] module GymAttendance = /// Parse from a JSON node. let jsonParse (node : System.Text.Json.Nodes.JsonNode) : GymAttendance = - let MaximumCapacity = + let arg_8 = (match node.["maximumCapacity"] with | null -> raise ( @@ -593,9 +586,9 @@ module GymAttendance = ) | v -> v) .AsValue() - .GetValue () + .GetValue () - let LastRefreshedPeopleInClasses = + let arg_7 = (match node.["lastRefreshedPeopleInClasses"] with | null -> raise ( @@ -608,7 +601,7 @@ module GymAttendance = .GetValue () |> System.DateTime.Parse - let LastRefreshed = + let arg_6 = (match node.["lastRefreshed"] with | null -> raise ( @@ -621,7 +614,7 @@ module GymAttendance = .GetValue () |> System.DateTime.Parse - let AttendanceTime = + let arg_5 = (match node.["attendanceTime"] with | null -> raise ( @@ -634,7 +627,7 @@ module GymAttendance = .GetValue () |> System.DateTime.Parse - let IsApproximate = + let arg_4 = (match node.["isApproximate"] with | null -> raise ( @@ -644,14 +637,14 @@ module GymAttendance = ) | v -> v) .AsValue() - .GetValue () + .GetValue () - let TotalPeopleSuffix = + let arg_3 = match node.["totalPeopleSuffix"] with | null -> None - | v -> v.AsValue().GetValue () |> Some + | v -> v.AsValue().GetValue () |> Some - let TotalPeopleInClasses = + let arg_2 = (match node.["totalPeopleInClasses"] with | null -> raise ( @@ -661,9 +654,9 @@ module GymAttendance = ) | v -> v) .AsValue() - .GetValue () + .GetValue () - let TotalPeopleInGym = + let arg_1 = (match node.["totalPeopleInGym"] with | null -> raise ( @@ -673,9 +666,9 @@ module GymAttendance = ) | v -> v) .AsValue() - .GetValue () + .GetValue () - let Description = + let arg_0 = (match node.["description"] with | null -> raise ( @@ -685,28 +678,27 @@ module GymAttendance = ) | v -> v) .AsValue() - .GetValue () + .GetValue () { - Description = Description - TotalPeopleInGym = TotalPeopleInGym - TotalPeopleInClasses = TotalPeopleInClasses - TotalPeopleSuffix = TotalPeopleSuffix - IsApproximate = IsApproximate - AttendanceTime = AttendanceTime - LastRefreshed = LastRefreshed - LastRefreshedPeopleInClasses = LastRefreshedPeopleInClasses - MaximumCapacity = MaximumCapacity + Description = arg_0 + TotalPeopleInGym = arg_1 + TotalPeopleInClasses = arg_2 + TotalPeopleSuffix = arg_3 + IsApproximate = arg_4 + AttendanceTime = arg_5 + LastRefreshed = arg_6 + LastRefreshedPeopleInClasses = arg_7 + MaximumCapacity = arg_8 } namespace PureGym /// Module containing JSON parsing methods for the MemberActivityDto type -[] -[] +[] module MemberActivityDto = /// Parse from a JSON node. let jsonParse (node : System.Text.Json.Nodes.JsonNode) : MemberActivityDto = - let LastRefreshed = + let arg_5 = (match node.["lastRefreshed"] with | null -> raise ( @@ -719,7 +711,7 @@ module MemberActivityDto = .GetValue () |> System.DateTime.Parse - let IsEstimated = + let arg_4 = (match node.["isEstimated"] with | null -> raise ( @@ -729,9 +721,9 @@ module MemberActivityDto = ) | v -> v) .AsValue() - .GetValue () + .GetValue () - let TotalClasses = + let arg_3 = (match node.["totalClasses"] with | null -> raise ( @@ -741,9 +733,9 @@ module MemberActivityDto = ) | v -> v) .AsValue() - .GetValue () + .GetValue () - let TotalVisits = + let arg_2 = (match node.["totalVisits"] with | null -> raise ( @@ -753,9 +745,9 @@ module MemberActivityDto = ) | v -> v) .AsValue() - .GetValue () + .GetValue () - let AverageDuration = + let arg_1 = (match node.["averageDuration"] with | null -> raise ( @@ -765,9 +757,9 @@ module MemberActivityDto = ) | v -> v) .AsValue() - .GetValue () + .GetValue () - let TotalDuration = + let arg_0 = (match node.["totalDuration"] with | null -> raise ( @@ -777,25 +769,24 @@ module MemberActivityDto = ) | v -> v) .AsValue() - .GetValue () + .GetValue () { - TotalDuration = TotalDuration - AverageDuration = AverageDuration - TotalVisits = TotalVisits - TotalClasses = TotalClasses - IsEstimated = IsEstimated - LastRefreshed = LastRefreshed + TotalDuration = arg_0 + AverageDuration = arg_1 + TotalVisits = arg_2 + TotalClasses = arg_3 + IsEstimated = arg_4 + LastRefreshed = arg_5 } namespace PureGym /// Module containing JSON parsing methods for the SessionsAggregate type -[] -[] +[] module SessionsAggregate = /// Parse from a JSON node. let jsonParse (node : System.Text.Json.Nodes.JsonNode) : SessionsAggregate = - let Duration = + let arg_2 = (match node.["Duration"] with | null -> raise ( @@ -805,9 +796,9 @@ module SessionsAggregate = ) | v -> v) .AsValue() - .GetValue () + .GetValue () - let Visits = + let arg_1 = (match node.["Visits"] with | null -> raise ( @@ -817,9 +808,9 @@ module SessionsAggregate = ) | v -> v) .AsValue() - .GetValue () + .GetValue () - let Activities = + let arg_0 = (match node.["Activities"] with | null -> raise ( @@ -829,22 +820,21 @@ module SessionsAggregate = ) | v -> v) .AsValue() - .GetValue () + .GetValue () { - Activities = Activities - Visits = Visits - Duration = Duration + Activities = arg_0 + Visits = arg_1 + Duration = arg_2 } namespace PureGym /// Module containing JSON parsing methods for the VisitGym type -[] -[] +[] module VisitGym = /// Parse from a JSON node. let jsonParse (node : System.Text.Json.Nodes.JsonNode) : VisitGym = - let Status = + let arg_2 = (match node.["Status"] with | null -> raise ( @@ -854,9 +844,9 @@ module VisitGym = ) | v -> v) .AsValue() - .GetValue () + .GetValue () - let Name = + let arg_1 = (match node.["Name"] with | null -> raise ( @@ -866,9 +856,9 @@ module VisitGym = ) | v -> v) .AsValue() - .GetValue () + .GetValue () - let Id = + let arg_0 = (match node.["Id"] with | null -> raise ( @@ -878,22 +868,21 @@ module VisitGym = ) | v -> v) .AsValue() - .GetValue () + .GetValue () { - Id = Id - Name = Name - Status = Status + Id = arg_0 + Name = arg_1 + Status = arg_2 } namespace PureGym /// Module containing JSON parsing methods for the Visit type -[] -[] +[] module Visit = /// Parse from a JSON node. let jsonParse (node : System.Text.Json.Nodes.JsonNode) : Visit = - let Gym = + let arg_3 = VisitGym.jsonParse ( match node.["Gym"] with | null -> @@ -905,7 +894,7 @@ module Visit = | v -> v ) - let Duration = + let arg_2 = (match node.["Duration"] with | null -> raise ( @@ -915,9 +904,9 @@ module Visit = ) | v -> v) .AsValue() - .GetValue () + .GetValue () - let StartTime = + let arg_1 = (match node.["StartTime"] with | null -> raise ( @@ -930,7 +919,7 @@ module Visit = .GetValue () |> System.DateTime.Parse - let IsDurationEstimated = + let arg_0 = (match node.["IsDurationEstimated"] with | null -> raise ( @@ -940,23 +929,22 @@ module Visit = ) | v -> v) .AsValue() - .GetValue () + .GetValue () { - IsDurationEstimated = IsDurationEstimated - StartTime = StartTime - Duration = Duration - Gym = Gym + IsDurationEstimated = arg_0 + StartTime = arg_1 + Duration = arg_2 + Gym = arg_3 } namespace PureGym /// Module containing JSON parsing methods for the SessionsSummary type -[] -[] +[] module SessionsSummary = /// Parse from a JSON node. let jsonParse (node : System.Text.Json.Nodes.JsonNode) : SessionsSummary = - let ThisWeek = + let arg_1 = SessionsAggregate.jsonParse ( match node.["ThisWeek"] with | null -> @@ -968,7 +956,7 @@ module SessionsSummary = | v -> v ) - let Total = + let arg_0 = SessionsAggregate.jsonParse ( match node.["Total"] with | null -> @@ -981,18 +969,17 @@ module SessionsSummary = ) { - Total = Total - ThisWeek = ThisWeek + Total = arg_0 + ThisWeek = arg_1 } namespace PureGym /// Module containing JSON parsing methods for the Sessions type -[] -[] +[] module Sessions = /// Parse from a JSON node. let jsonParse (node : System.Text.Json.Nodes.JsonNode) : Sessions = - let Visits = + let arg_1 = (match node.["Visits"] with | null -> raise ( @@ -1005,7 +992,7 @@ module Sessions = |> Seq.map (fun elt -> Visit.jsonParse elt) |> List.ofSeq - let Summary = + let arg_0 = SessionsSummary.jsonParse ( match node.["Summary"] with | null -> @@ -1018,6 +1005,6 @@ module Sessions = ) { - Summary = Summary - Visits = Visits + Summary = arg_0 + Visits = arg_1 } diff --git a/PureGym/PureGym.fsproj b/PureGym/PureGym.fsproj index b3654ae..da0822b 100644 --- a/PureGym/PureGym.fsproj +++ b/PureGym/PureGym.fsproj @@ -4,9 +4,10 @@ net6.0 true true + NU1901;NU1902;NU1903;NU1904 FS3559 - 2.0.5 + 2.1.53 @@ -37,8 +38,8 @@ - - + + diff --git a/flake.lock b/flake.lock index a2e89bf..ae909e0 100644 --- a/flake.lock +++ b/flake.lock @@ -20,11 +20,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1717189619, - "narHash": "sha256-oPvX7QAu/7R+OOXPeXMj9qTm7fo1+S1Yw34ed+GI+WA=", + "lastModified": 1720775258, + "narHash": "sha256-VibdQUwacz7OFCPLqAwDZcNn6GogppwpZmAwaLcpQsk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "ee19df781051348c4b1aaf895779ab47f50b7c26", + "rev": "0f1ab31eb26dcdde3c149af557e0a4a46744bdde", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 4b02ce2..912f255 100644 --- a/flake.nix +++ b/flake.nix @@ -20,7 +20,7 @@ dotnet-sdk = pkgs.dotnet-sdk_8; dotnet-runtime = pkgs.dotnetCorePackages.runtime_8_0; version = "0.1"; - dotnetTool = toolName: toolVersion: sha256: + dotnetTool = toolName: toolVersion: hash: pkgs.stdenvNoCC.mkDerivation rec { name = toolName; version = toolVersion; @@ -28,7 +28,7 @@ src = pkgs.fetchNuGet { pname = name; version = version; - sha256 = sha256; + hash = hash; installPhase = ''mkdir -p $out/bin && cp -r tools/net6.0/any/* $out/bin''; }; installPhase = '' @@ -39,7 +39,7 @@ runHook postInstall ''; }; - fantomas = dotnetTool "fantomas" (builtins.fromJSON (builtins.readFile ./.config/dotnet-tools.json)).tools.fantomas.version (builtins.head (builtins.filter (elem: elem.pname == "fantomas") ((import ./nix/deps.nix) {fetchNuGet = x: x;}))).sha256; + fantomas = dotnetTool "fantomas" (builtins.fromJSON (builtins.readFile ./.config/dotnet-tools.json)).tools.fantomas.version (builtins.head (builtins.filter (elem: elem.pname == "fantomas") ((import ./nix/deps.nix) {fetchNuGet = x: x;}))).hash; in { packages = { fantomas = fantomas; diff --git a/nix/deps.nix b/nix/deps.nix index 29fc652..61b2265 100644 --- a/nix/deps.nix +++ b/nix/deps.nix @@ -3,297 +3,277 @@ {fetchNuGet}: [ (fetchNuGet { pname = "ApiSurface"; - version = "4.0.12"; - sha256 = "0v56sv4cz8bgrfqjjg0q96619qs9dvvi0a6lp7hzz2mi82i1inmq"; + version = "4.0.43"; + hash = "sha256-CO5a0ZCWvD4fZXQL9l0At0y0vqmN3TT2+TuUw4ZNoC8="; }) (fetchNuGet { pname = "Argu"; version = "6.1.1"; - sha256 = "1v996g0760qhiys2ahdpnvkldaxr2jn5f1falf789glnk4a6f3xl"; - }) - (fetchNuGet { - pname = "coverlet.collector"; - version = "3.2.0"; - sha256 = "1qxpv8v10p5wn162lzdm193gdl6c5f81zadj8h889dprlnj3g8yr"; + hash = "sha256-tA9nFJmWvoSOo8oFV6wUuatG57a3QSW0jxADc8AzKe0="; }) (fetchNuGet { pname = "fantomas"; version = "6.3.4"; - sha256 = "1bf57pzvl0i1bgic2vf08mqlzzbd5kys1ip9klrhm4f155ksm9fm"; + hash = "sha256-1aWqZynBkQoznenGoP0sbf1PcUXAbcHiWyECuv89xa0="; }) (fetchNuGet { pname = "Fastenshtein"; version = "1.0.0.8"; - sha256 = "1rvw27rz7qb2n68i0jvvcr224fcpy5yzzxaj1bp89jw41cpdabp2"; + hash = "sha256-4i7VLguEy4TuClL1/33xlzkiRGZ7SxCRsWLh8/MRfOc="; }) (fetchNuGet { pname = "FsCheck"; - version = "3.0.0-rc1"; - sha256 = "0s7ks13gwdzzjpzqqshyg72q8max3b6a7yb91jkzyg597m7anrwk"; + version = "3.0.0-rc3"; + hash = "sha256-4Z9Qv+vccrXWh2Fjdwdmjc1YgW+Dcx73ESkdAnHqxOY="; }) (fetchNuGet { pname = "FSharp.Core"; version = "6.0.1"; - sha256 = "0qks2aadkhsffg9a6xq954ll9xacnph852avd7ljh9n2g6vj06qj"; + hash = "sha256-Ehsgt3nCJijpaVuJguC1TPVEKSkJd6PSc07D2ZQSemI="; }) (fetchNuGet { pname = "FsUnit"; - version = "5.6.1"; - sha256 = "1zffn9dm2c44v8qjzwfg6y3psydiv2bn3n305rf7mc57cmm4ygv3"; + version = "6.0.0"; + hash = "sha256-q87WQf6MqGhzvaQ7WkkUlCdoE94DY0CD5PaXEj64A6M="; }) (fetchNuGet { pname = "Microsoft.AspNetCore.App.Ref"; - version = "6.0.30"; - sha256 = "17k3l8xd5bsyk69bm5q4nxbpb4i0izw1kzmzi7j3p8pmm9prgrpy"; + version = "6.0.31"; + hash = "sha256-rVxnpwa8B1weEzkJIxm+todHXrSdIT3KY38D09MncUI="; }) (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-arm64"; - version = "6.0.30"; - sha256 = "1n4v5przbrjhzj01b6qijpdc2jbsxr66ijvd0483qxh4s0b4jppr"; + version = "6.0.31"; + hash = "sha256-z6HNgiyLyXN5+QlktIZmOQh9D4KRHWd6yonmKChEji4="; }) (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; - version = "6.0.30"; - sha256 = "18v0l07q74m5xxaf6y6dkmr6and8ivya0nslffnr4djrxcbiygdr"; + version = "6.0.31"; + hash = "sha256-Rq97wUeAD2bZhe0XRLB9Ffq1MBU/u4Yq45KwRLz7DRQ="; }) (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-arm64"; - version = "6.0.30"; - sha256 = "0p53lyqmr5n2ym202pbgmsd9b9aa6jar7ic04dcq86h2g77r5jqk"; + version = "6.0.31"; + hash = "sha256-QlAteE0egI+YzouNm4d8+yXRs9E0jfBTVl7KbMxSmnA="; }) (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.osx-x64"; - version = "6.0.30"; - sha256 = "009srl8vazkjnd93xr6k1m353spbki9gn1yzp4zgazgbrini6rqc"; + version = "6.0.31"; + hash = "sha256-c1hTOPeoH7STKevPryBv4+IL/7YMfTFm5EakMvrhfI4="; }) (fetchNuGet { pname = "Microsoft.CodeCoverage"; - version = "17.6.0"; - sha256 = "02s98d8nwz5mg4mymcr86qdamy71a29g2091xg452czmd3s3x2di"; + version = "17.10.0"; + hash = "sha256-yQFwqVChRtIRpbtkJr92JH2i+O7xn91NGbYgnKs8G2g="; }) (fetchNuGet { pname = "Microsoft.NET.Test.Sdk"; - version = "17.6.0"; - sha256 = "1bnwpwg7k72z06027ip4yi222863r8sv14ck9nj8h64ckiw2r256"; + version = "17.10.0"; + hash = "sha256-rkHIqB2mquNXF89XBTFpUL2z5msjTBsOcyjSBCh36I0="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; - version = "6.0.30"; - sha256 = "0l3gjhmnjd5n67w83smqyhmfcwzszafjgcbq8kdwxiwwh2m6nh2i"; + version = "6.0.31"; + hash = "sha256-mjS1IKBwxDFT2UmcyC5ZMIQ3mWSADw887CIV0pZhQRc="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-x64"; - version = "6.0.30"; - sha256 = "0ss3108c2h7afypvliyqixv4dll60sq9iwqy90k1p132znpszrmb"; + version = "6.0.31"; + hash = "sha256-VifKEirDStL5vpjnEe0hGsODssK20XBX/Mm6j8G4QIM="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-arm64"; - version = "6.0.30"; - sha256 = "08k5v35mvcs712kb0vcfjd1dsas5rgwrmv8rn87mzjb2p6ajl3n3"; + version = "6.0.31"; + hash = "sha256-unElfKN3Ro852wsIzgTIXJJPoYpvVjrsSIwxKtwLUGk="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-x64"; - version = "6.0.30"; - sha256 = "02x38c68xan8hlr59mindcl4rcx49bbh4bibh6fw1l4rrijb38lw"; + version = "6.0.31"; + hash = "sha256-JiIXW9FPqjEb5cZHZ0otmmbY4gpgRdTZCxxuy12AJkw="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Ref"; - version = "6.0.30"; - sha256 = "1wqqjhhlqz4dmijcx3kg3hnwq0s0jzqsddaksskzhq8avr4ziy18"; + version = "6.0.31"; + hash = "sha256-p/KpNGwJfvoWNRn057o4t8u8La2LvsmOjF0i2W1URKU="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-arm64"; - version = "6.0.30"; - sha256 = "0xfhcig3gj3986rxp3dhnd8hvnj4nvyhz1fz7kpx342d3g53wb37"; + version = "6.0.31"; + hash = "sha256-N3xRbF5nQo9Okixqg1mN86L7VB72bpDR0C6wlfzntPI="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; - version = "6.0.30"; - sha256 = "1s81sj8lnb8szqawxh3vc8wi815ln12cyhrl3f7hwcpay57xgswx"; + version = "6.0.31"; + hash = "sha256-TE1DmzoBKO9qKoATBWZPRKXBRoRzs6AafKuubeSwgl8="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-arm64"; - version = "6.0.30"; - sha256 = "0s71k92daakzwish65gmn4nniy6bf2hv34c0sb6m1hv3criqxmp4"; + version = "6.0.31"; + hash = "sha256-Gh+/HbETPJ2LNX9vRo+e8CmbL3YacBUXGHNVcIEQrIQ="; }) (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.osx-x64"; - version = "6.0.30"; - sha256 = "0xybqg2wd240r1nm2vrbn2qbfqfnqsmxn1012zzwjn17wa2si9a1"; - }) - (fetchNuGet { - pname = "Microsoft.NETCore.Platforms"; - version = "1.1.0"; - sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; + version = "6.0.31"; + hash = "sha256-ZZYzARixjQ42taRJLiTq0ykG1Hm8F/4RkZXM9lowhbI="; }) (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "2.0.0"; - sha256 = "1fk2fk2639i7nzy58m9dvpdnzql4vb8yl8vr19r2fp8lmj9w2jr0"; + hash = "sha256-IEvBk6wUXSdyCnkj6tHahOJv290tVVT8tyemYcR0Yro="; }) (fetchNuGet { pname = "Microsoft.TestPlatform.ObjectModel"; - version = "17.6.0"; - sha256 = "1rz22chnis11dwjrqrcvvmfw80fi2a7756a7ahwy6jlnr250zr61"; + version = "17.10.0"; + hash = "sha256-3YjVGK2zEObksBGYg8b/CqoJgLQ1jUv4GCWNjDhLRh4="; }) (fetchNuGet { pname = "Microsoft.TestPlatform.TestHost"; - version = "17.6.0"; - sha256 = "16vpicp4q2kbpgr3qwpsxg7srabxqszx23x6smjvvrvz7qmr5v8i"; + version = "17.10.0"; + hash = "sha256-+yzP3FY6WoOosSpYnB7duZLhOPUZMQYy8zJ1d3Q4hK4="; }) (fetchNuGet { pname = "Myriad.Sdk"; version = "0.8.3"; - sha256 = "0qv78c5s5m04xb8h17nnn2ig26zcyya91k2dpj745cm1cbnzvvgc"; - }) - (fetchNuGet { - pname = "NETStandard.Library"; - version = "2.0.0"; - sha256 = "1bc4ba8ahgk15m8k4nd7x406nhi0kwqzbgjk2dmw52ss553xz7iy"; + hash = "sha256-7O397WKhskKOvE3MkJT37BvxorDWngDR6gTUogtDZ2M="; }) (fetchNuGet { pname = "Newtonsoft.Json"; version = "13.0.1"; - sha256 = "0fijg0w6iwap8gvzyjnndds0q4b8anwxxvik7y8vgq97dram4srb"; + hash = "sha256-K2tSVW4n4beRPzPu3rlVaBEMdGvWSv/3Q1fxaDh4Mjo="; + }) + (fetchNuGet { + pname = "Newtonsoft.Json"; + version = "13.0.3"; + hash = "sha256-hy/BieY4qxBWVVsDqqOPaLy1QobiIapkbrESm6v2PHc="; }) (fetchNuGet { pname = "NuGet.Common"; - version = "6.6.1"; - sha256 = "1q7k5rqwchxgs5pnrn22d1rkdb7l2qblvsb9hy046ll69i71vv45"; + version = "6.10.1"; + hash = "sha256-2gZe1zwSaZsr0nipaMBJixLEVOvR7vp75kwecSSYyfw="; }) (fetchNuGet { pname = "NuGet.Configuration"; - version = "6.6.1"; - sha256 = "0pw4ikd8784iya920wxigacqn5g2v0zlpwxjlswyq5mnj2ha7gpk"; + version = "6.10.1"; + hash = "sha256-RmjvlbtJssxuWEiOcVJLtUVT0nPn7IUPb878NmJbwmM="; }) (fetchNuGet { pname = "NuGet.Frameworks"; - version = "5.11.0"; - sha256 = "0wv26gq39hfqw9md32amr5771s73f5zn1z9vs4y77cgynxr73s4z"; - }) - (fetchNuGet { - pname = "NuGet.Frameworks"; - version = "6.6.1"; - sha256 = "1zq79mklzq7qyiyhcv3w8pznw6rq1ddcl8fvy7j1c6n8qh3mglhx"; + version = "6.10.1"; + hash = "sha256-AdfpuVDDy9zYAGgcMZoTf/fkFCJJVrxRFhsv6AI4Dd0="; }) (fetchNuGet { pname = "NuGet.Packaging"; - version = "6.6.1"; - sha256 = "1lmx8kgpg220q8kic4wm8skccj53cbkdqggirq9js34gnxxi9b88"; + version = "6.10.1"; + hash = "sha256-ogsVjOao+LKUOMhGir1flDuMPjOeR2OpkNGHtr/riH4="; }) (fetchNuGet { pname = "NuGet.Protocol"; - version = "6.6.1"; - sha256 = "01n8cw114npvzfk3m3803lb8plk0wm1zg496gpq9az8hw20nmd8g"; + version = "6.10.1"; + hash = "sha256-UeS/10z1EqswbeB0c7QgBIVOp0VGlN5ZDQqTY2/AhX8="; }) (fetchNuGet { pname = "NuGet.Versioning"; - version = "6.6.1"; - sha256 = "0n2p05y8ciw6jc5s238rlnx6q4dgxvm14v06pcd84ji5j1iirc30"; + version = "6.10.1"; + hash = "sha256-jOh27AORk0TIhVePDVAgVhh6FuUo2v3oh/Xapcw7UVI="; }) (fetchNuGet { pname = "NUnit"; - version = "3.14.0"; - sha256 = "19p8911lrfds1k9rv47jk1bbn665s0pvghkd06gzbg78j6mzzqqa"; - }) - (fetchNuGet { - pname = "NUnit.Analyzers"; - version = "3.6.1"; - sha256 = "16dw5375k2wyhiw9x387y7pjgq6zms30y036qb8z7idx4lxw9yi9"; + version = "4.1.0"; + hash = "sha256-srzj0lf2ReKw41TnigZwf8rqKKNzGRRVrgN3hR/vRjo="; }) (fetchNuGet { pname = "NUnit3TestAdapter"; - version = "4.4.2"; - sha256 = "1n2jlc16vjdd81cb1by4qbp75sq73zsjz5w3zc61ssmbdci1q2ri"; + version = "4.5.0"; + hash = "sha256-ER3ogl0L5FYyc6pVVPY1ch+AQxG/WgFcnWECnYQJPes="; }) (fetchNuGet { pname = "RestEase"; version = "1.6.4"; - sha256 = "1mvi3nbrr450g3fgd1y4wg3bwl9k1agyjfd9wdkqk12714bsln8l"; + hash = "sha256-FFmqFwlHhIln46k56Z8KM1G+xuPEh/bceKCQnJcdcdc="; }) (fetchNuGet { pname = "System.Configuration.ConfigurationManager"; version = "4.4.0"; - sha256 = "1hjgmz47v5229cbzd2pwz2h0dkq78lb2wp9grx8qr72pb5i0dk7v"; + hash = "sha256-+8wGYllXnIxRzy9dLhZFB88GoPj8ivYXS0KUfcivT8I="; }) (fetchNuGet { pname = "System.Formats.Asn1"; - version = "5.0.0"; - sha256 = "1axc8z0839yvqi2cb63l73l6d9j6wd20lsbdymwddz9hvrsgfwpn"; + version = "6.0.0"; + hash = "sha256-KaMHgIRBF7Nf3VwOo+gJS1DcD+41cJDPWFh+TDQ8ee8="; }) (fetchNuGet { pname = "System.IO.Abstractions"; version = "4.2.13"; - sha256 = "0s784iphsmj4vhkrzq9q3w39vsn76w44zclx3hsygsw458zbyh4y"; + hash = "sha256-nkC/PiqE6+c1HJ2yTwg3x+qdBh844Z8n3ERWDW8k6Gg="; }) (fetchNuGet { pname = "System.IO.FileSystem.AccessControl"; version = "4.5.0"; - sha256 = "1gq4s8w7ds1sp8f9wqzf8nrzal40q5cd2w4pkf4fscrl2ih3hkkj"; + hash = "sha256-ck44YBQ0M+2Im5dw0VjBgFD1s0XuY54cujrodjjSBL8="; }) (fetchNuGet { pname = "System.Reflection.Metadata"; version = "1.6.0"; - sha256 = "1wdbavrrkajy7qbdblpbpbalbdl48q3h34cchz24gvdgyrlf15r4"; + hash = "sha256-JJfgaPav7UfEh4yRAQdGhLZF1brr0tUWPl6qmfNWq/E="; }) (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "6.0.0"; - sha256 = "0qm741kh4rh57wky16sq4m0v05fxmkjjr87krycf5vp9f0zbahbc"; + hash = "sha256-bEG1PnDp7uKYz/OgLOWs3RWwQSVYm+AnPwVmAmcgp2I="; }) (fetchNuGet { pname = "System.Security.AccessControl"; version = "4.5.0"; - sha256 = "1wvwanz33fzzbnd2jalar0p0z3x0ba53vzx1kazlskp7pwyhlnq0"; - }) - (fetchNuGet { - pname = "System.Security.Cryptography.Cng"; - version = "5.0.0"; - sha256 = "06hkx2za8jifpslkh491dfwzm5dxrsyxzj5lsc0achb6yzg4zqlw"; + hash = "sha256-AFsKPb/nTk2/mqH/PYpaoI8PLsiKKimaXf+7Mb5VfPM="; }) (fetchNuGet { pname = "System.Security.Cryptography.Pkcs"; - version = "5.0.0"; - sha256 = "0hb2mndac3xrw3786bsjxjfh19bwnr991qib54k6wsqjhjyyvbwj"; + version = "6.0.4"; + hash = "sha256-2e0aRybote+OR66bHaNiYpF//4fCiaO3zbR2e9GABUI="; }) (fetchNuGet { pname = "System.Security.Cryptography.ProtectedData"; version = "4.4.0"; - sha256 = "1q8ljvqhasyynp94a1d7jknk946m20lkwy2c3wa8zw2pc517fbj6"; + hash = "sha256-Ri53QmFX8I8UH0x4PikQ1ZA07ZSnBUXStd5rBfGWFOE="; }) (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.5.0"; - sha256 = "0rmj89wsl5yzwh0kqjgx45vzf694v9p92r4x4q6yxldk1cv1hi86"; + hash = "sha256-BkUYNguz0e4NJp1kkW7aJBn3dyH9STwB5N8XqnlCsmY="; }) (fetchNuGet { pname = "System.Text.Encodings.Web"; - version = "6.0.0"; - sha256 = "06n9ql3fmhpjl32g3492sj181zjml5dlcc5l76xq2h38c4f87sai"; + version = "7.0.0"; + hash = "sha256-tF8qt9GZh/nPy0mEnj6nKLG4Lldpoi/D8xM5lv2CoYQ="; }) (fetchNuGet { pname = "System.Text.Encodings.Web"; version = "8.0.0"; - sha256 = "1wbypkx0m8dgpsaqgyywz4z760xblnwalb241d5qv9kx8m128i11"; + hash = "sha256-IUQkQkV9po1LC0QsqrilqwNzPvnc+4eVvq+hCvq8fvE="; }) (fetchNuGet { pname = "System.Text.Json"; - version = "6.0.0"; - sha256 = "1si2my1g0q0qv1hiqnji4xh9wd05qavxnzj9dwgs23iqvgjky0gl"; + version = "7.0.3"; + hash = "sha256-aSJZ17MjqaZNQkprfxm/09LaCoFtpdWmqU9BTROzWX4="; }) (fetchNuGet { pname = "System.Text.Json"; version = "8.0.0"; - sha256 = "134savxw0sq7s448jnzw17bxcijsi1v38mirpbb6zfxmqlf04msw"; + hash = "sha256-XFcCHMW1u2/WujlWNHaIWkbW1wn8W4kI0QdrwPtWmow="; + }) + (fetchNuGet { + pname = "System.Text.Json"; + version = "8.0.4"; + hash = "sha256-g5oT7fbXxQ9Iah1nMCr4UUX/a2l+EVjJyTrw3FTbIaI="; }) (fetchNuGet { pname = "WoofWare.Myriad.Plugins"; - version = "2.0.5"; - sha256 = "09r52lr11y4b5l6h6c270gl61asn39bnk4xbqvbw3cshfksg8q6s"; + version = "2.1.53"; + hash = "sha256-7Kl1tW3EbkUghFs7ZE3hE5PChYxTXcVxWFCSTGrzfpk="; }) (fetchNuGet { pname = "WoofWare.Myriad.Plugins.Attributes"; - version = "2.0.5"; - sha256 = "15mv2cy77fl1zc1mq2bfj326ys54490iwzm7lkjlnz5aazs32dq0"; + version = "3.1.9"; + hash = "sha256-atV9vJlhLvXYrJvS9ET1A7M+LY9IdgBSTyGhz2Vom5U="; }) ]