mutationCustomerAccessTokenDelete.go 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. package graphql
  2. import (
  3. "context"
  4. "github.com/gshopify/service-wrapper/auth"
  5. "gshopper.com/gshopify/customer/graphql/generated"
  6. )
  7. func (r *mutationResolver) CustomerAccessTokenDelete(
  8. ctx context.Context, t string) (*generated.CustomerAccessTokenDeletePayload, error) {
  9. var (
  10. response = &generated.CustomerAccessTokenDeletePayload{}
  11. session = auth.SessionManager()
  12. sessionId string
  13. err error
  14. )
  15. _, sessionId, err = r.decodeAccessToken(ctx, t)
  16. if err != nil {
  17. response.UserErrors = append(response.UserErrors, ErrToken(err.Error()))
  18. return response, nil
  19. }
  20. refresh, err := session.Token(ctx, sessionId)
  21. if err != nil {
  22. response.UserErrors = append(response.UserErrors, ErrToken(err.Error()))
  23. return response, nil
  24. }
  25. if err = r.client.Logout(ctx, r.conf.Cli.ClientId, r.conf.Cli.ClientSecret, r.conf.Cli.Realm, refresh); err != nil {
  26. response.UserErrors = append(response.UserErrors, ErrToken(err.Error()))
  27. return response, nil
  28. }
  29. response.DeletedAccessToken = &t
  30. response.DeletedCustomerAccessTokenID = &sessionId
  31. return response, nil
  32. }