Documentation ¶
Index ¶
- type CravackActivityEvent
- type CravackUser
- type SlackUser
- type StravaDetailedSegmentEffort
- type StravaEvent
- type StravaEventFull
- type StravaGear
- type StravaLap
- type StravaMetaAthlete
- type StravaPhotosSummary
- type StravaPolylineMap
- type StravaRefreshToken
- type StravaSegment
- type StravaSplitMetric
- type StravaUser
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CravackActivityEvent ¶
type CravackActivityEvent struct { StravaEvent SlackChannelId string `dynamodbav:"SlackChannelID"` SlackMessageTimestamp string `dynamodbav:"SlackMessageTimestamp"` }
func NewCravackActivityEvent ¶
func NewCravackActivityEvent(event *StravaEvent, channelId, slackMsgTs string) *CravackActivityEvent
type CravackUser ¶
type CravackUser struct { UserID int `json:"user_id" dynamodbav:"UserID"` StravaUser *StravaUser `json:"strava_user" dynamodbav:"StravaUser"` SlackUser *SlackUser `json:"slack_user" dynamodbav:"SlackUser"` }
func NewCravackUser ¶
func NewCravackUser(stravaUser *StravaUser, slackUser *SlackUser) *CravackUser
type SlackUser ¶
type SlackUser struct { UserID string `json:"user_id" dynamodbav:"UserID"` UserName string `json:"user_name" dynamodbav:"UserName"` ChannelID string `json:"channel_id" dynamodbav:"ChannelID"` TeamID string `json:"team_id" dynamodbav:"TeamID"` EnterpriseID string `json:"enterprise_id" dynamodbav:"EnterpriseID"` }
func NewSlackUser ¶
type StravaDetailedSegmentEffort ¶
type StravaDetailedSegmentEffort struct { ID int64 `json:"id"` ResourceState int `json:"resource_state"` Name string `json:"name"` Activity struct { ID int64 `json:"id"` ResourceState int `json:"resource_state"` } `json:"activity"` Athlete struct { ID int `json:"id"` ResourceState int `json:"resource_state"` } `json:"athlete"` ElapsedTime int `json:"elapsed_time"` MovingTime int `json:"moving_time"` StartDate time.Time `json:"start_date"` StartDateLocal time.Time `json:"start_date_local"` Distance float64 `json:"distance"` StartIndex int `json:"start_index"` EndIndex int `json:"end_index"` AverageCadence float64 `json:"average_cadence"` DeviceWatts bool `json:"device_watts"` AverageWatts float64 `json:"average_watts"` Segment StravaSegment `json:"segment"` KomRank interface{} `json:"kom_rank"` PrRank interface{} `json:"pr_rank"` Achievements []interface{} `json:"achievements"` Hidden bool `json:"hidden"` }
type StravaEvent ¶
type StravaEvent struct { ObjectType string `json:"object_type" dynamodbav:"ObjectType"` ObjectID int `json:"object_id" dynamodbav:"EventID"` AspectType string `json:"aspect_type" dynamodbav:"AspectType"` AthleteID int `json:"owner_id" dynamodbav:"UserID"` SubscriptionID int `json:"subscription_id" dynamodbav:"SubscriptionID"` EventTime int `json:"event_time" dynamodbav:"EventTime"` }
type StravaEventFull ¶
type StravaEventFull struct { ID int64 `json:"id"` ResourceState int `json:"resource_state"` ExternalID string `json:"external_id"` UploadID int64 `json:"upload_id"` Athlete StravaMetaAthlete `json:"athlete"` Name string `json:"name"` Distance float64 `json:"distance"` MovingTime int `json:"moving_time"` ElapsedTime int `json:"elapsed_time"` TotalElevationGain float64 `json:"total_elevation_gain"` Type string `json:"type"` StartDate time.Time `json:"start_date"` StartDateLocal time.Time `json:"start_date_local"` Timezone string `json:"timezone"` UtcOffset float64 `json:"utc_offset"` StartLatlng []float64 `json:"start_latlng"` EndLatlng []float64 `json:"end_latlng"` AchievementCount int `json:"achievement_count"` KudosCount int `json:"kudos_count"` CommentCount int `json:"comment_count"` AthleteCount int `json:"athlete_count"` PhotoCount int `json:"photo_count"` Map StravaPolylineMap `json:"map"` Trainer bool `json:"trainer"` Commute bool `json:"commute"` Manual bool `json:"manual"` Private bool `json:"private"` Flagged bool `json:"flagged"` GearID string `json:"gear_id"` FromAcceptedTag bool `json:"from_accepted_tag"` AverageSpeed float64 `json:"average_speed"` MaxSpeed float64 `json:"max_speed"` AverageCadence float64 `json:"average_cadence"` AverageTemp int `json:"average_temp"` AverageWatts float64 `json:"average_watts"` WeightedAverageWatts int `json:"weighted_average_watts"` Kilojoules float64 `json:"kilojoules"` DeviceWatts bool `json:"device_watts"` HasHeartrate bool `json:"has_heartrate"` MaxWatts int `json:"max_watts"` ElevHigh float64 `json:"elev_high"` ElevLow float64 `json:"elev_low"` PrCount int `json:"pr_count"` TotalPhotoCount int `json:"total_photo_count"` HasKudoed bool `json:"has_kudoed"` WorkoutType int `json:"workout_type"` SufferScore interface{} `json:"suffer_score"` Description string `json:"description"` Calories float64 `json:"calories"` SegmentEfforts []StravaDetailedSegmentEffort `json:"segment_efforts"` SplitsMetric []StravaSplitMetric `json:"splits_metric"` Laps []StravaLap `json:"laps"` Gear StravaGear `json:"gear"` PartnerBrandTag interface{} `json:"partner_brand_tag"` Photos StravaPhotosSummary `json:"photos"` DeviceName string `json:"device_name"` EmbedToken string `json:"embed_token"` SegmentLeaderboardOptOut bool `json:"segment_leaderboard_opt_out"` LeaderboardOptOut bool `json:"leaderboard_opt_out"` }
type StravaGear ¶
type StravaLap ¶
type StravaLap struct { ID int64 `json:"id"` ResourceState int `json:"resource_state"` Name string `json:"name"` Activity struct { ID int `json:"id"` ResourceState int `json:"resource_state"` } `json:"activity"` Athlete struct { ID int `json:"id"` ResourceState int `json:"resource_state"` } `json:"athlete"` ElapsedTime int `json:"elapsed_time"` MovingTime int `json:"moving_time"` StartDate time.Time `json:"start_date"` StartDateLocal time.Time `json:"start_date_local"` Distance float64 `json:"distance"` StartIndex int `json:"start_index"` EndIndex int `json:"end_index"` TotalElevationGain float64 `json:"total_elevation_gain"` AverageSpeed float64 `json:"average_speed"` MaxSpeed float64 `json:"max_speed"` AverageCadence float64 `json:"average_cadence"` DeviceWatts bool `json:"device_watts"` AverageWatts float64 `json:"average_watts"` LapIndex int `json:"lap_index"` Split int `json:"split"` }
type StravaMetaAthlete ¶
type StravaPhotosSummary ¶
type StravaPolylineMap ¶
type StravaRefreshToken ¶
type StravaRefreshToken struct { TokenType string `json:"token_type" dynamodbav:":t"` AccessToken string `json:"access_token" dynamodbav:":a" validate:"required"` ExpiresAt int `json:"expires_at" dynamodbav:":ea"` ExpiresIn int `json:"expires_in" dynamodbav:":ei"` RefreshToken string `json:"refresh_token" dynamodbav:":r" validate:"required"` }
type StravaSegment ¶
type StravaSegment struct { ID int `json:"id"` ResourceState int `json:"resource_state"` Name string `json:"name"` ActivityType string `json:"activity_type"` Distance float64 `json:"distance"` AverageGrade float64 `json:"average_grade"` MaximumGrade float64 `json:"maximum_grade"` ElevationHigh float64 `json:"elevation_high"` ElevationLow float64 `json:"elevation_low"` StartLatlng []float64 `json:"start_latlng"` EndLatlng []float64 `json:"end_latlng"` ClimbCategory int `json:"climb_category"` City string `json:"city"` State string `json:"state"` Country string `json:"country"` Private bool `json:"private"` Hazardous bool `json:"hazardous"` Starred bool `json:"starred"` }
type StravaSplitMetric ¶
type StravaSplitMetric struct { Distance float64 `json:"distance"` ElapsedTime int `json:"elapsed_time"` ElevationDifference float64 `json:"elevation_difference"` MovingTime int `json:"moving_time"` Split int `json:"split"` AverageSpeed float64 `json:"average_speed"` PaceZone int `json:"pace_zone"` }
type StravaUser ¶
type StravaUser struct { TokenType string ExpiresAt int ExpiresIn int RefreshToken string `validate:"required"` AccessToken string `validate:"required"` AthleteID int `validate:"required"` Username string `validate:"required"` FirstName string LastName string ProfileMedium string }
func (*StravaUser) UnmarshalJSON ¶
func (a *StravaUser) UnmarshalJSON(buf []byte) error
Click to show internal directories.
Click to hide internal directories.