mirror of
https://github.com/sstent/go-garth.git
synced 2026-01-27 01:21:47 +00:00
sync - build broken
This commit is contained in:
79
python-garmin-connect/SocialProfile.go
Normal file
79
python-garmin-connect/SocialProfile.go
Normal file
@@ -0,0 +1,79 @@
|
||||
package connect
|
||||
|
||||
// SocialProfile represents a Garmin Connect user.
|
||||
type SocialProfile struct {
|
||||
ID int64 `json:"id"`
|
||||
ProfileID int64 `json:"profileId"`
|
||||
ConnectionRequestID int `json:"connectionRequestId"`
|
||||
GarminGUID string `json:"garminGUID"`
|
||||
DisplayName string `json:"displayName"`
|
||||
Fullname string `json:"fullName"`
|
||||
Username string `json:"userName"`
|
||||
ProfileImageURLLarge string `json:"profileImageUrlLarge"`
|
||||
ProfileImageURLMedium string `json:"profileImageUrlMedium"`
|
||||
ProfileImageURLSmall string `json:"profileImageUrlSmall"`
|
||||
Location string `json:"location"`
|
||||
FavoriteActivityTypes []string `json:"favoriteActivityTypes"`
|
||||
UserRoles []string `json:"userRoles"`
|
||||
UserProfileFullName string `json:"userProfileFullName"`
|
||||
UserLevel int `json:"userLevel"`
|
||||
UserPoint int `json:"userPoint"`
|
||||
}
|
||||
|
||||
// SocialProfile retrieves a profile for a Garmin Connect user. If displayName
|
||||
// is empty, the profile for the currently authenticated user will be returned.
|
||||
func (c *Client) SocialProfile(displayName string) (*SocialProfile, error) {
|
||||
URL := "https://connect.garmin.com/modern/proxy/userprofile-service/socialProfile/" + displayName
|
||||
|
||||
profile := new(SocialProfile)
|
||||
|
||||
err := c.getJSON(URL, profile)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return profile, err
|
||||
}
|
||||
|
||||
// PublicSocialProfile retrieves the public profile for displayName.
|
||||
func (c *Client) PublicSocialProfile(displayName string) (*SocialProfile, error) {
|
||||
URL := "https://connect.garmin.com/modern/proxy/userprofile-service/socialProfile/public/" + displayName
|
||||
|
||||
profile := new(SocialProfile)
|
||||
|
||||
err := c.getJSON(URL, profile)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return profile, err
|
||||
}
|
||||
|
||||
// BlockedUsers returns the list of blocked users for the currently
|
||||
// authenticated user.
|
||||
func (c *Client) BlockedUsers() ([]SocialProfile, error) {
|
||||
URL := "https://connect.garmin.com/modern/proxy/userblock-service/blockuser"
|
||||
|
||||
var results []SocialProfile
|
||||
|
||||
err := c.getJSON(URL, &results)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return results, nil
|
||||
}
|
||||
|
||||
// BlockUser will block a user.
|
||||
func (c *Client) BlockUser(displayName string) error {
|
||||
URL := "https://connect.garmin.com/modern/proxy/userblock-service/blockuser/" + displayName
|
||||
|
||||
return c.write("POST", URL, nil, 200)
|
||||
}
|
||||
|
||||
// UnblockUser removed displayName from the block list.
|
||||
func (c *Client) UnblockUser(displayName string) error {
|
||||
URL := "https://connect.garmin.com/modern/proxy/userblock-service/blockuser/" + displayName
|
||||
|
||||
return c.write("DELETE", URL, nil, 204)
|
||||
}
|
||||
Reference in New Issue
Block a user