Add visits info
This commit is contained in:
@@ -21,8 +21,12 @@ module Program =
|
||||
RequiresAuth (fun auth -> ArgsCrate.make (FullnessArgs.Parse auth) Fullness.run))
|
||||
|
||||
"activity",
|
||||
("Get information about your gym usage",
|
||||
("Get information about your aggregate gym usage",
|
||||
RequiresAuth (fun auth -> ArgsCrate.make (MemberActivityArgs.Parse auth) MemberActivity.run))
|
||||
|
||||
"sessions",
|
||||
("Get information about your individual sessions",
|
||||
RequiresAuth (fun auth -> ArgsCrate.make (SessionsArgs.Parse auth) Sessions.run))
|
||||
|]
|
||||
|> Map.ofArray
|
||||
|
||||
|
@@ -14,6 +14,7 @@
|
||||
<Compile Include="Fullness.fs" />
|
||||
<Compile Include="LookupGym.fs" />
|
||||
<Compile Include="MemberActivity.fs" />
|
||||
<Compile Include="Sessions.fs" />
|
||||
<Compile Include="Program.fs" />
|
||||
</ItemGroup>
|
||||
|
||||
|
49
PureGym.App/Sessions.fs
Normal file
49
PureGym.App/Sessions.fs
Normal file
@@ -0,0 +1,49 @@
|
||||
namespace PureGym.App
|
||||
|
||||
open Argu
|
||||
open PureGym
|
||||
open System
|
||||
|
||||
type SessionsArgsFragment =
|
||||
| [<Mandatory ; EqualsAssignmentOrSpaced>] From_Date of string
|
||||
| [<Mandatory ; EqualsAssignmentOrSpaced>] To_Date of string
|
||||
|
||||
interface IArgParserTemplate with
|
||||
member s.Usage =
|
||||
match s with
|
||||
| From_Date _ -> "start of date range (inclusive) for query, which needs to parse as a DateTime"
|
||||
| To_Date _ -> "end of date range (inclusive) for query, which needs to parse as a DateTime"
|
||||
|
||||
type SessionsArgs =
|
||||
{
|
||||
Creds : Auth
|
||||
FromDate : DateTime
|
||||
ToDate : DateTime
|
||||
}
|
||||
|
||||
static member Parse
|
||||
(auth : Auth)
|
||||
(args : SessionsArgsFragment ParseResults)
|
||||
: Result<SessionsArgs, ArguParseException>
|
||||
=
|
||||
let fromDate = args.GetResult SessionsArgsFragment.From_Date
|
||||
let toDate = args.GetResult SessionsArgsFragment.To_Date
|
||||
|
||||
{
|
||||
Creds = auth
|
||||
FromDate = DateTime.Parse fromDate
|
||||
ToDate = DateTime.Parse toDate
|
||||
}
|
||||
|> Ok
|
||||
|
||||
[<RequireQualifiedAccess>]
|
||||
module Sessions =
|
||||
|
||||
let run (args : SessionsArgs) =
|
||||
task {
|
||||
let! client = Api.make args.Creds
|
||||
let! activity = client.GetSessions args.FromDate args.ToDate
|
||||
|
||||
System.Console.WriteLine (string<Sessions> activity)
|
||||
return 0
|
||||
}
|
Reference in New Issue
Block a user