1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- package packngo
- const userBasePath = "/users"
- // UserService interface defines available user methods
- type UserService interface {
- Get(string) (*User, *Response, error)
- }
- // User represents a Packet user
- type User struct {
- ID string `json:"id"`
- FirstName string `json:"first_name,omitempty"`
- LastName string `json:"last_name,omitempty"`
- FullName string `json:"full_name,omitempty"`
- Email string `json:"email,omitempty"`
- TwoFactor string `json:"two_factor_auth,omitempty"`
- AvatarURL string `json:"avatar_url,omitempty"`
- Facebook string `json:"twitter,omitempty"`
- Twitter string `json:"facebook,omitempty"`
- LinkedIn string `json:"linkedin,omitempty"`
- Created string `json:"created_at,omitempty"`
- Updated string `json:"updated_at,omitempty"`
- TimeZone string `json:"timezone,omitempty"`
- Emails []Email `json:"email,omitempty"`
- PhoneNumber string `json:"phone_number,omitempty"`
- URL string `json:"href,omitempty"`
- }
- func (u User) String() string {
- return Stringify(u)
- }
- // UserServiceOp implements UserService
- type UserServiceOp struct {
- client *Client
- }
- // Get method gets a user by userID
- func (s *UserServiceOp) Get(userID string) (*User, *Response, error) {
- req, err := s.client.NewRequest("GET", userBasePath, nil)
- if err != nil {
- return nil, nil, err
- }
- user := new(User)
- resp, err := s.client.Do(req, user)
- if err != nil {
- return nil, resp, err
- }
- return user, resp, err
- }
|