-- | Aliases for common types.
module Strive.Aliases
  ( ActivityId,
    ApplicationId,
    ApplicationSecret,
    AthleteId,
    AuthorizationCode,
    ClubId,
    EffortId,
    ElapsedTime,
    Extension,
    GearId,
    Latitude,
    Longitude,
    Name,
    RedirectUri,
    Result,
    SegmentId,
    StartTime,
    StreamId,
    UploadId,
  )
where

import Data.ByteString.Lazy (ByteString)
import Data.Time.Clock (UTCTime)
import Network.HTTP.Client (Response)

type ActivityId = Integer

type ApplicationId = Integer

type ApplicationSecret = String

type AthleteId = Integer

type AuthorizationCode = String

type ClubId = Integer

type EffortId = Integer

type ElapsedTime = Integer

type Extension = String

type GearId = String

type Latitude = Double

type Longitude = Double

type Name = String

type RedirectUri = String

type Result a = Either (Response ByteString, String) a

type SegmentId = Integer

type StartTime = UTCTime

type StreamId = Integer

type UploadId = Integer