//------------------------------------------------------------------------------ // 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.Web.HttpUtility.UrlEncode), 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.Web.HttpUtility.UrlEncode), 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" + "?fromDate=" + ((fromDate.ToString "yyyy-MM-dd") |> System.Web.HttpUtility.UrlEncode) + "&toDate=" + ((toDate.ToString "yyyy-MM-dd") |> System.Web.HttpUtility.UrlEncode)), 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)) }