//------------------------------------------------------------------------------ // This code was generated by myriad. // Changes to this file will be lost when the code is regenerated. //------------------------------------------------------------------------------ namespace PureGym open System open System.Net.Http open System.Threading 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 = { new IPureGymApi with member _.AuthHeader : string = authHeader () member this.GetGyms (ct : CancellationToken option) = async { let! ct = Async.CancellationToken let uri = System.Uri ( (match client.BaseAddress with | null -> System.Uri "https://capi.puregym.com/api/" | v -> v), System.Uri ("v1/gyms/", System.UriKind.Relative) ) let httpMessage = new System.Net.Http.HttpRequestMessage ( Method = System.Net.Http.HttpMethod.Get, RequestUri = uri ) do httpMessage.Headers.Add ("Authorization", this.AuthHeader.ToString ()) do httpMessage.Headers.Add ("User-Agent", "PureGym/1523 CFNetwork/1312 Darwin/21.0.0") let! response = client.SendAsync (httpMessage, ct) |> Async.AwaitTask let response = response.EnsureSuccessStatusCode () let! responseStream = response.Content.ReadAsStreamAsync ct |> Async.AwaitTask let! jsonNode = System.Text.Json.Nodes.JsonNode.ParseAsync (responseStream, cancellationToken = ct) |> Async.AwaitTask return jsonNode.AsArray () |> Seq.map (fun elt -> Gym.jsonParse elt) |> List.ofSeq } |> (fun a -> Async.StartAsTask (a, ?cancellationToken = ct)) member this.GetMember (ct : CancellationToken option) = async { let! ct = Async.CancellationToken let uri = System.Uri ( (match client.BaseAddress with | null -> System.Uri "https://capi.puregym.com/api/" | v -> v), System.Uri ("v1/member", System.UriKind.Relative) ) let httpMessage = new System.Net.Http.HttpRequestMessage ( Method = System.Net.Http.HttpMethod.Get, RequestUri = uri ) do httpMessage.Headers.Add ("Authorization", this.AuthHeader.ToString ()) do httpMessage.Headers.Add ("User-Agent", "PureGym/1523 CFNetwork/1312 Darwin/21.0.0") let! response = client.SendAsync (httpMessage, ct) |> Async.AwaitTask let response = response.EnsureSuccessStatusCode () let! responseStream = response.Content.ReadAsStreamAsync ct |> Async.AwaitTask let! jsonNode = System.Text.Json.Nodes.JsonNode.ParseAsync (responseStream, cancellationToken = ct) |> Async.AwaitTask return Member.jsonParse jsonNode } |> (fun a -> Async.StartAsTask (a, ?cancellationToken = ct)) member this.GetGymAttendance (gymId : int, ct : CancellationToken option) = async { let! ct = Async.CancellationToken let uri = System.Uri ( (match client.BaseAddress with | null -> System.Uri "https://capi.puregym.com/api/" | v -> v), System.Uri ( "v1/gyms/{gym_id}/attendance" .Replace ("{gym_id}", gymId.ToString () |> System.Uri.EscapeDataString), System.UriKind.Relative ) ) let httpMessage = new System.Net.Http.HttpRequestMessage ( Method = System.Net.Http.HttpMethod.Get, RequestUri = uri ) do httpMessage.Headers.Add ("Authorization", this.AuthHeader.ToString ()) do httpMessage.Headers.Add ("User-Agent", "PureGym/1523 CFNetwork/1312 Darwin/21.0.0") let! response = client.SendAsync (httpMessage, ct) |> Async.AwaitTask let response = response.EnsureSuccessStatusCode () let! responseStream = response.Content.ReadAsStreamAsync ct |> Async.AwaitTask let! jsonNode = System.Text.Json.Nodes.JsonNode.ParseAsync (responseStream, cancellationToken = ct) |> Async.AwaitTask return GymAttendance.jsonParse jsonNode } |> (fun a -> Async.StartAsTask (a, ?cancellationToken = ct)) member this.GetGym (gymId : int, ct : CancellationToken option) = async { let! ct = Async.CancellationToken let uri = System.Uri ( (match client.BaseAddress with | null -> System.Uri "https://capi.puregym.com/api/" | v -> v), System.Uri ( "v1/gyms/{gym_id}" .Replace ("{gym_id}", gymId.ToString () |> System.Uri.EscapeDataString), System.UriKind.Relative ) ) let httpMessage = new System.Net.Http.HttpRequestMessage ( Method = System.Net.Http.HttpMethod.Get, RequestUri = uri ) do httpMessage.Headers.Add ("Authorization", this.AuthHeader.ToString ()) do httpMessage.Headers.Add ("User-Agent", "PureGym/1523 CFNetwork/1312 Darwin/21.0.0") let! response = client.SendAsync (httpMessage, ct) |> Async.AwaitTask let response = response.EnsureSuccessStatusCode () let! responseStream = response.Content.ReadAsStreamAsync ct |> Async.AwaitTask let! jsonNode = System.Text.Json.Nodes.JsonNode.ParseAsync (responseStream, cancellationToken = ct) |> Async.AwaitTask return Gym.jsonParse jsonNode } |> (fun a -> Async.StartAsTask (a, ?cancellationToken = ct)) member this.GetMemberActivity (ct : CancellationToken option) = async { let! ct = Async.CancellationToken let uri = System.Uri ( (match client.BaseAddress with | null -> System.Uri "https://capi.puregym.com/api/" | v -> v), System.Uri ("v1/member/activity", System.UriKind.Relative) ) let httpMessage = new System.Net.Http.HttpRequestMessage ( Method = System.Net.Http.HttpMethod.Get, RequestUri = uri ) do httpMessage.Headers.Add ("Authorization", this.AuthHeader.ToString ()) do httpMessage.Headers.Add ("User-Agent", "PureGym/1523 CFNetwork/1312 Darwin/21.0.0") let! response = client.SendAsync (httpMessage, ct) |> Async.AwaitTask let response = response.EnsureSuccessStatusCode () let! responseStream = response.Content.ReadAsStreamAsync ct |> Async.AwaitTask let! jsonNode = System.Text.Json.Nodes.JsonNode.ParseAsync (responseStream, cancellationToken = ct) |> Async.AwaitTask return MemberActivityDto.jsonParse jsonNode } |> (fun a -> Async.StartAsTask (a, ?cancellationToken = ct)) member this.GetSessions (fromDate : DateOnly, toDate : DateOnly, ct : CancellationToken option) = async { let! ct = Async.CancellationToken let uri = System.Uri ( (match client.BaseAddress with | null -> System.Uri "https://capi.puregym.com/api/" | v -> v), System.Uri ( ("v2/gymSessions/member" + (if "v2/gymSessions/member".IndexOf (char 63) >= 0 then "&" else "?") + "fromDate=" + ((fromDate.ToString "yyyy-MM-dd") |> System.Uri.EscapeDataString) + "&toDate=" + ((toDate.ToString "yyyy-MM-dd") |> System.Uri.EscapeDataString)), System.UriKind.Relative ) ) let httpMessage = new System.Net.Http.HttpRequestMessage ( Method = System.Net.Http.HttpMethod.Get, RequestUri = uri ) do httpMessage.Headers.Add ("Authorization", this.AuthHeader.ToString ()) do httpMessage.Headers.Add ("User-Agent", "PureGym/1523 CFNetwork/1312 Darwin/21.0.0") let! response = client.SendAsync (httpMessage, ct) |> Async.AwaitTask let response = response.EnsureSuccessStatusCode () let! responseStream = response.Content.ReadAsStreamAsync ct |> Async.AwaitTask let! jsonNode = System.Text.Json.Nodes.JsonNode.ParseAsync (responseStream, cancellationToken = ct) |> Async.AwaitTask return Sessions.jsonParse jsonNode } |> (fun a -> Async.StartAsTask (a, ?cancellationToken = ct)) }