account.go
changeset 238 1c0042e76902
parent 235 263da7f71f03
child 241 8538eaf18ce5
equal deleted inserted replaced
237:16c27106d83c 238:1c0042e76902
    60 	default:
    60 	default:
    61 		return nil, ErrInvalidParameter
    61 		return nil, ErrInvalidParameter
    62 	}
    62 	}
    63 
    63 
    64 	var rel Relationship
    64 	var rel Relationship
    65 	if err := mc.apiCall(endPoint, method, params, nil, nil, &rel); err != nil {
    65 	if err := mc.apiCall("v1/"+endPoint, method, params, nil, nil, &rel); err != nil {
    66 		return nil, err
    66 		return nil, err
    67 	}
    67 	}
    68 	return &rel, nil
    68 	return &rel, nil
    69 }
    69 }
    70 
    70 
    90 	default:
    90 	default:
    91 		return nil, ErrInvalidParameter
    91 		return nil, ErrInvalidParameter
    92 	}
    92 	}
    93 
    93 
    94 	var account Account
    94 	var account Account
    95 	if err := mc.apiCall(endPoint, method, nil, nil, nil, &account); err != nil {
    95 	if err := mc.apiCall("v1/"+endPoint, method, nil, nil, nil, &account); err != nil {
    96 		return nil, err
    96 		return nil, err
    97 	}
    97 	}
    98 	return &account, nil
    98 	return &account, nil
    99 }
    99 }
   100 
   100 
   102 // If lopt.All is true, several requests will be made until the API server
   102 // If lopt.All is true, several requests will be made until the API server
   103 // has nothing to return.
   103 // has nothing to return.
   104 func (mc *Client) getMultipleAccounts(endPoint string, params apiCallParams, lopt *LimitParams) ([]Account, error) {
   104 func (mc *Client) getMultipleAccounts(endPoint string, params apiCallParams, lopt *LimitParams) ([]Account, error) {
   105 	var accounts []Account
   105 	var accounts []Account
   106 	var links apiLinks
   106 	var links apiLinks
   107 	if err := mc.apiCall(endPoint, rest.Get, params, lopt, &links, &accounts); err != nil {
   107 	if err := mc.apiCall("v1/"+endPoint, rest.Get, params, lopt, &links, &accounts); err != nil {
   108 		return nil, err
   108 		return nil, err
   109 	}
   109 	}
   110 	if lopt != nil { // Fetch more pages to reach our limit
   110 	if lopt != nil { // Fetch more pages to reach our limit
   111 		var accountSlice []Account
   111 		var accountSlice []Account
   112 		for (lopt.All || lopt.Limit > len(accounts)) && links.next != nil {
   112 		for (lopt.All || lopt.Limit > len(accounts)) && links.next != nil {
   113 			newlopt := links.next
   113 			newlopt := links.next
   114 			links = apiLinks{}
   114 			links = apiLinks{}
   115 			if err := mc.apiCall(endPoint, rest.Get, params, newlopt, &links, &accountSlice); err != nil {
   115 			if err := mc.apiCall("v1/"+endPoint, rest.Get, params, newlopt, &links, &accountSlice); err != nil {
   116 				return nil, err
   116 				return nil, err
   117 			}
   117 			}
   118 			accounts = append(accounts, accountSlice...)
   118 			accounts = append(accounts, accountSlice...)
   119 			accountSlice = accountSlice[:0] // Clear struct
   119 			accountSlice = accountSlice[:0] // Clear struct
   120 		}
   120 		}
   251 
   251 
   252 	params := make(apiCallParams)
   252 	params := make(apiCallParams)
   253 	params["uri"] = uri
   253 	params["uri"] = uri
   254 
   254 
   255 	var account Account
   255 	var account Account
   256 	if err := mc.apiCall("follows", rest.Post, params, nil, nil, &account); err != nil {
   256 	if err := mc.apiCall("v1/follows", rest.Post, params, nil, nil, &account); err != nil {
   257 		return nil, err
   257 		return nil, err
   258 	}
   258 	}
   259 	if account.ID == 0 {
   259 	if account.ID == 0 {
   260 		return nil, ErrEntityNotFound
   260 		return nil, ErrEntityNotFound
   261 	}
   261 	}
   365 		qID := fmt.Sprintf("id[%d]", i)
   365 		qID := fmt.Sprintf("id[%d]", i)
   366 		params[qID] = strconv.FormatInt(id, 10)
   366 		params[qID] = strconv.FormatInt(id, 10)
   367 	}
   367 	}
   368 
   368 
   369 	var rl []Relationship
   369 	var rl []Relationship
   370 	if err := mc.apiCall("accounts/relationships", rest.Get, params, nil, nil, &rl); err != nil {
   370 	if err := mc.apiCall("v1/accounts/relationships", rest.Get, params, nil, nil, &rl); err != nil {
   371 		return nil, err
   371 		return nil, err
   372 	}
   372 	}
   373 	return rl, nil
   373 	return rl, nil
   374 }
   374 }
   375 
   375