Commit Graph

44 Commits

Author SHA1 Message Date
Aren Patel a1fa2c84a0 Feature/marshal many interface (#42)
* add support for direct use of slice of struct pointers for MarshalMany

* Added a test to ensure that whether MarshalManyPayload is called with a []interface{} or []*Struct it will produce the same desired result.

* Added a test to show how the new error type may be returned.

* Ensure the outside accessible Errs have comments.

* Page char width cleanup. Addressed warnings about duplicated "client-id" definition; using the const.
2016-09-12 22:12:42 -07:00
Aren Patel dd46e31eb5 Updated: build status badge, the go get installation instruction to account for the repo move, readme examples use ID instead of Id (so that they would be linter compliant if copy/pasted). shwoodard/jsonapi => google/jsonapi (#41) 2016-07-22 18:31:33 -07:00
Aren Patel de4994e265 Feature/omitempty (#35)
* Implemented a failing test demonstrating the intended behaviour of the omitempty annotation.

* Updated the failing test to ensure that unset field without the "omitempty" annotation are not inadvertently omitted.

* Working implementation of the "omitempty" annotation for fields that are of any type.

* Update the readme to include a brief description of how to use the `omitempty` in a attr field.

* Update the json example also using a uint for type variety.
2016-07-16 08:24:21 -07:00
Sam Woodard 81169d52b6 Merge pull request #32 from lyoung-uber/id
Update to reflect official Golang naming specifications
2016-07-15 13:32:39 -07:00
Aren Patel 0c87c2c473 Added the MarshalOnePayloadWithoutIncluded method for marshaling sing… (#34)
* Added the MarshalOnePayloadWithoutIncluded method for marshaling single objects and their relations without actually populating the "included" key with the full related object.

* Completed method description.

* Added a test to ensure that the library is capable of Unmarshmaling a payload where the One object in the payload had relationships but did not include them via "included"
2016-07-13 18:32:04 -07:00
Luke Young 57819f3b34 Follow Golang naming specifications 2016-07-05 20:32:15 -05:00
Sharon Lourduraj 04bf04450b Added support for int64 and uint64 primary id types 2016-01-07 15:14:57 -05:00
Sam Woodard d4c1f40f1d optimizations, refactors 2016-01-05 13:13:24 -08:00
Sam Woodard 438e9b0626 add support for pointers to time and if nil put null in json response 2015-10-13 09:10:10 -07:00
Sam Woodard fb2e4b68ce fix nil pointer panic 2015-10-12 11:05:06 -07:00
Sam Woodard 10e0987b5d start supporting client ids 2015-09-10 15:55:51 -07:00
Dustin Smith 1e33326303 adding methods to return the payload vs writing it 2015-08-07 17:18:10 -05:00
Sam Woodard 23302de79c paniced before when added Blog field to Post 2015-07-20 16:10:52 -07:00
Sam Woodard 8bd36714e8 fix code doc indentation 2015-07-13 15:04:21 -07:00
Sam Woodard 4c0eb15944 typo fix 2015-07-13 14:51:52 -07:00
Sam Woodard 6fb6757b35 lots more docs 2015-07-13 11:23:03 -07:00
Sam Woodard 4216780137 yay! finally figured out how to accept []interface{} 2015-07-12 11:45:03 -07:00
Sam Woodard 8f7c63b9c4 change interface of MarshalManyPayload to include reflect.Value for models 2015-07-12 11:37:31 -07:00
Sam Woodard aa2b010be5 fix unique included array algorithm 2015-07-12 08:46:30 -07:00
Sam Woodard 196492ffe5 only need the included array if sideloading 2015-07-12 08:02:29 -07:00
Sam Woodard 9b34096108 whitespace 2015-07-12 08:00:53 -07:00
Sam Woodard e7bfab161c make utility function to dry off 2015-07-12 07:59:37 -07:00
Sam Woodard ca0304f527 bug fix: don't forget some included nodes 2015-07-12 07:42:52 -07:00
Sam Woodard a6c9e05c33 marshal embedded payload now takes io rather than return struct 2015-07-10 17:34:04 -07:00
Sam Woodard 68c4bcfbb0 move a method higher for godoc 2015-07-10 17:16:26 -07:00
Sam Woodard 9b8432d9d9 bug fix: was missing objects in sideload 2015-07-10 14:31:26 -07:00
Sam Woodard b112561a72 support unmarshal sideloaded records for two-way function 2015-07-10 11:41:54 -07:00
Sam Woodard 0becfab81d remove 'JsonApi' everywhere, since we're already in a pkg 2015-07-10 09:07:12 -07:00
Sam Woodard 5fc25e655a in marshal methods, write json directly to io.Writer 2015-07-10 08:57:27 -07:00
Sam Woodard 97cf7cfca4 dry off 2015-07-10 08:25:24 -07:00
Sam Woodard 84eed2060a remove arg len check since we already do it above 2015-07-10 08:20:49 -07:00
Sam Woodard db9617ef6f omit zero times from the response 2015-07-09 12:07:33 -07:00
Sam Woodard 5299c5212d make utility function to output embedded records 2015-07-08 13:28:38 -07:00
Sam Woodard c887cfc585 Add test for set id 2015-07-08 13:11:03 -07:00
Sam Woodard 7430fd0b0c dry off, error if tag does not contain two arguments 2015-07-08 11:49:36 -07:00
Sam Woodard 81bf23f93f support marshalling a list of models 2015-07-07 09:52:38 -07:00
Sam Woodard 0525400acb fix relationships--add data--to comply w spec 2015-07-06 17:04:26 -07:00
Sam Woodard c6b352483c avoid variable name collision 2015-07-06 14:39:24 -07:00
Sam Woodard f4c5ee491c switch to using unix timestamps in payloads 2015-07-06 14:35:17 -07:00
Sam Woodard 00a581297a rename method, remove debug code 2015-07-06 12:06:12 -07:00
Sam Woodard 68210ff3ec rename struct, add test for relationships 2015-07-06 11:57:20 -07:00
Sam Woodard d1af74e681 removed method skeleton 2015-07-06 11:46:06 -07:00
Sam Woodard 65952bdedd support use of structs to pointers 2015-07-06 10:38:42 -07:00
Sam Woodard f8d5fbba3d rename files, only initialize included if there are relationships 2015-07-06 09:24:35 -07:00