vendor/github.com/McKael/madon/v3/endorsements.go
author Mikael Berthe <mikael@lilotux.net>
Sat, 04 Feb 2023 13:17:17 +0100
changeset 268 4dd196a4ee7c
parent 242 vendor/github.com/McKael/madon/v2/endorsements.go@2a9ec03fe5a1
parent 265 vendor/github.com/McKael/madon/v2/endorsements.go@05c40b36d3b2
child 270 df7e9dff1b66
permissions -rw-r--r--
Merge pull request #29 from rjp/fix/support-non-int-ids Update to handle non-int64 IDs committer: GitHub <noreply@github.com>

/*
Copyright 2018 Mikael Berthe

Licensed under the MIT license.  Please see the LICENSE file is this directory.
*/

package madon

import (
	"github.com/sendgrid/rest"
)

// GetEndorsements returns the list of user's endorsements
func (mc *Client) GetEndorsements(lopt *LimitParams) ([]Account, error) {
	endPoint := "endorsements"
	method := rest.Get
	var accountList []Account
	if err := mc.apiCall("v1/"+endPoint, method, nil, lopt, nil, &accountList); err != nil {
		return nil, err
	}
	return accountList, nil
}

// PinAccount adds the account to the endorsement list
func (mc *Client) PinAccount(accountID int64) (*Relationship, error) {
	rel, err := mc.updateRelationship("pin", accountID, nil)
	if err != nil {
		return nil, err
	}
	if rel == nil {
		return nil, ErrEntityNotFound
	}
	return rel, nil
}

// UnpinAccount removes the account from the endorsement list
func (mc *Client) UnpinAccount(accountID int64) (*Relationship, error) {
	rel, err := mc.updateRelationship("unpin", accountID, nil)
	if err != nil {
		return nil, err
	}
	if rel == nil {
		return nil, ErrEntityNotFound
	}
	return rel, nil
}