{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE FunctionalDependencies #-}
{-# LANGUAGE TemplateHaskell #-}
{-# OPTIONS_GHC -Wno-missing-import-lists #-}
{-# OPTIONS_HADDOCK hide #-}

-- | Lens classes and instances generated with template Haskell.
module Strive.Internal.Lenses
  ( AccessTokenLens (accessToken),
    AchievementCountLens (achievementCount),
    ActivityIdLens (activityId),
    ActivityTypeLens (activityType),
    AfterLens (after),
    AgeGroupLens (ageGroup),
    AllEffortsLens (allEfforts),
    ApprovalPromptLens (approvalPrompt),
    AthleteCountLens (athleteCount),
    AthleteGenderLens (athleteGender),
    AthleteIdLens (athleteId),
    AthleteLens (athlete),
    AthleteNameLens (athleteName),
    AthleteProfileLens (athleteProfile),
    AverageCadenceLens (averageCadence),
    AverageGradeLens (averageGrade),
    AverageHeartrateLens (averageHeartrate),
    AverageHrLens (averageHr),
    AverageSpeedLens (averageSpeed),
    AverageWattsLens (averageWatts),
    AvgGradeLens (avgGrade),
    BeforeLens (before),
    BikesLens (bikes),
    BrandNameLens (brandName),
    CaloriesLens (calories),
    CaptionLens (caption),
    CityLens (city),
    ClimbCategoryDescLens (climbCategoryDesc),
    ClimbCategoryLens (climbCategory),
    ClubIdLens (clubId),
    ClubsLens (clubs),
    ClubTypeLens (clubType),
    CommentCountLens (commentCount),
    CommuteLens (commute),
    ContextEntriesLens (contextEntries),
    CountryLens (country),
    CreatedAtLens (createdAt),
    Data_Lens (data_),
    DatePreferenceLens (datePreference),
    DateRangeLens (dateRange),
    DescriptionLens (description),
    DeviceWattsLens (deviceWatts),
    DistanceLens (distance),
    DistributionBucketsLens (distributionBuckets),
    EffortCountLens (effortCount),
    EffortIdLens (effortId),
    ElapsedTimeLens (elapsedTime),
    ElevationHighLens (elevationHigh),
    ElevationLowLens (elevationLow),
    ElevDifferenceLens (elevDifference),
    EmailLens (email),
    EndIndexLens (endIndex),
    EndLatitudeLens (endLatitude),
    EndLatlngLens (endLatlng),
    EndLongitudeLens (endLongitude),
    EntriesLens (entries),
    EntryCountLens (entryCount),
    ErrorLens (error),
    ExternalIdLens (externalId),
    FirstnameLens (firstname),
    FlaggedLens (flagged),
    FollowerCountLens (followerCount),
    FollowerLens (follower),
    FollowingLens (following),
    FrameTypeLens (frameType),
    FriendCountLens (friendCount),
    FriendLens (friend),
    FtpLens (ftp),
    GearIdLens (gearId),
    GearLens (gear),
    GenderLens (gender),
    HasKudoedLens (hasKudoed),
    HazardousLens (hazardous),
    HiddenLens (hidden),
    IdLens (id),
    InstagramPrimaryPhotoLens (instagramPrimaryPhoto),
    KilojoulesLens (kilojoules),
    KomRankLens (komRank),
    KudosCountLens (kudosCount),
    LapIndexLens (lapIndex),
    LastnameLens (lastname),
    LocationCityLens (locationCity),
    LocationCountryLens (locationCountry),
    LocationLens (location),
    LocationStateLens (locationState),
    ManualLens (manual),
    MapLens (map),
    MarkdownLens (markdown),
    MaxCatLens (maxCat),
    MaxHeartrateLens (maxHeartrate),
    MaximumGradeLens (maximumGrade),
    MaxLens (max),
    MaxSpeedLens (maxSpeed),
    MeasurementPreferenceLens (measurementPreference),
    MemberCountLens (memberCount),
    MinCatLens (minCat),
    MinLens (min),
    ModelNameLens (modelName),
    MovingTimeLens (movingTime),
    MutualFriendCountLens (mutualFriendCount),
    NameLens (name),
    OriginalSizeLens (originalSize),
    PageLens (page),
    PerPageLens (perPage),
    PhotoCountLens (photoCount),
    PointsLens (points),
    PolylineLens (polyline),
    PremiumLens (premium),
    PrimaryLens (primary),
    PrivateLens (private),
    PrivateScopeLens (privateScope),
    ProfileLens (profile),
    ProfileMediumLens (profileMedium),
    PrRankLens (prRank),
    RangeLens (range),
    RankLens (rank),
    RefLens (ref),
    RequesterLens (requester),
    ResolutionLens (resolution),
    ResourceStateLens (resourceState),
    SegmentEffortsLens (segmentEfforts),
    SegmentLens (segment),
    SegmentsLens (segments),
    SensorBasedLens (sensorBased),
    SeriesTypeLens (seriesType),
    SexLens (sex),
    ShoesLens (shoes),
    SportTypeLens (sportType),
    StarCountLens (starCount),
    StarredLens (starred),
    StartDateLens (startDate),
    StartDateLocalLens (startDateLocal),
    StartIndexLens (startIndex),
    StartLatitudeLens (startLatitude),
    StartLatlngLens (startLatlng),
    StartLongitudeLens (startLongitude),
    StateLens (state),
    StatusLens (status),
    SummaryPolylineLens (summaryPolyline),
    TextLens (text),
    TimeLens (time),
    TimezoneLens (timezone),
    TotalElevationGainLens (totalElevationGain),
    TrainerLens (trainer),
    TruncatedLens (truncated),
    Type_Lens (type_),
    UidLens (uid),
    UpdatedAtLens (updatedAt),
    UploadedAtLens (uploadedAt),
    UploadIdLens (uploadId),
    WeightClassLens (weightClass),
    WeightedAverageWattsLens (weightedAverageWatts),
    WeightLens (weight),
    WriteScopeLens (writeScope),
  )
where

import Strive.Client
import Strive.Internal.Options
import Strive.Internal.TH (makeLenses)
import Strive.Lenses (Lens)
import Strive.Options
import Strive.Types

$(makeLenses "Client")

$(makeLenses "BuildAuthorizeUrlOptions")
$(makeLenses "CreateActivityOptions")
$(makeLenses "ExploreSegmentsOptions")
$(makeLenses "GetActivityCommentsOptions")
$(makeLenses "GetActivityOptions")
$(makeLenses "GetClubActivitiesOptions")
$(makeLenses "GetCurrentActivitiesOptions")
$(makeLenses "GetSegmentEffortsOptions")
$(makeLenses "GetSegmentLeaderboardOptions")
$(makeLenses "GetStreamsOptions")
$(makeLenses "PaginationOptions")
$(makeLenses "UpdateActivityOptions")
$(makeLenses "UpdateCurrentAthleteOptions")
$(makeLenses "UploadActivityOptions")

$(makeLenses "ActivityDetailed")
$(makeLenses "ActivityLapSummary")
$(makeLenses "ActivitySummary")
$(makeLenses "ActivityZoneDetailed")
$(makeLenses "ActivityZoneDistributionBucket")
$(makeLenses "AthleteDetailed")
$(makeLenses "AthleteMeta")
$(makeLenses "AthleteSummary")
$(makeLenses "ClubDetailed")
$(makeLenses "ClubSummary")
$(makeLenses "CommentSummary")
$(makeLenses "DeauthorizationResponse")
$(makeLenses "EffortDetailed")
$(makeLenses "GearDetailed")
$(makeLenses "GearSummary")
$(makeLenses "PhotoSummary")
$(makeLenses "PolylineDetailed")
$(makeLenses "PolylineSummary")
$(makeLenses "SegmentDetailed")
$(makeLenses "SegmentExplorerEntry")
$(makeLenses "SegmentExplorerResponse")
$(makeLenses "SegmentLeaderboardEntry")
$(makeLenses "SegmentLeaderboardResponse")
$(makeLenses "SegmentSummary")
$(makeLenses "StreamDetailed")
$(makeLenses "TokenExchangeResponse")
$(makeLenses "UploadStatus")