api2go icon indicating copy to clipboard operation
api2go copied to clipboard

relationships links ignoring GetCustomLinks

Open verkestk opened this issue 1 year ago • 1 comments

Is there a way to exclude or customize the links object from a relationship? I've been trying to do figure this out without any luck.

Some context: I have some resource types I want to include links for, and other resource types I do not. So I'm using jsonapi.MarshalWithURLs and then using a GetCustomLinks method to return an empty map for the resources that should not have links.

This is working for the included part of the marshaled payload. However, the links are still included in the relationships part of the payload. What's returned by GetCustomLinks does not appear to impact the link values in the relationships object.

Which is resulting in the following 2 problems:

  • links present for some related resources where I don't want them
  • links incorrect for other related resources where I've customized them

verkestk avatar Jul 09 '24 14:07 verkestk

As soon as the interface is implemented, the links object will be marshalled - but it doesn't have to be that way - feel free to open a PR to change that behaviour!

https://github.com/manyminds/api2go/blob/95b4fb838cf658332fec4c35b59de4f6325c361e/jsonapi/marshal.go#L251

sharpner avatar Jul 09 '24 18:07 sharpner