- Allow queryParams for $post, $put and $patch - #197 (@herumtreiber )
- Added option for singular resources - #187 (@jnfeinstein)
configure
now returns the config object. - #176 (@poporul)
- Renamed
Serializer.serializeValue
toSerializer.serializeData
and added newSerializer.serializeObject
method. - #149 (@andrey-abramow)
- Apply custom serialization attributes before doing full serialization - #148 (@envek)
- Add support for adding custom attributes when serializing arrays - #143 (@shuhei)
- Force constructor to unwrap as an object - #134 (@tuvistavie)
- Call beforeResponse interceptor only once - #139 (@shuhei)
- Added
unsnappedChanges()
function to snapshots mixin to check whether or not there have been any changes since the last snapshot was taken. - #125 (@StevenClontz) - Added
skipRequestProcessing
override configuration option to $http, $post, $put, $patch to bypass request processing (root wrapping, serialization) and request interceptor chains - #123 (@mayhewluke)
- Added
idAttribute
configuration option to allow customizing the unique id field on resources. - #114 (@inlineblock) - Added
get
instance method to refresh resources from the server. - #115 (@wwilkins)
response.originalData
was not being saved off before the root unwrapping so it didn't match the original response data as intended. @Ditchou
requestTransformers
,responseInterceptors
,afterResponseInterceptors
have been replaced with a singleinterceptors
chain.beforeRequest
- UseinterceptBeforeRequestWrapping
beforeResponse
- UseinterceptResponse
afterResponse
- UseinterceptAfterResponse
- Added
configure
function to allow changing configuration options after the resource has been initially configured. - Separated out RailsResource into separate service to allow subclassing without using the factories.
- Added mixin capability, see README for details
- Added snapshot and rollback extension, see README for details.
- Added
underscoreParams
configuration option to allow turning off parameter underscore renaming. - Added
fullResponse
configuration option to allow returning the full $http response for promise resolution. - Added optional query params to class and instance $delete methods
railsResourceFactoryProvider
settings have been moved toRailsResourceProvider
wrapData
config option has been renamedrootWrapping
- All resource settings are now stored under the
config
property on the resource and should be modified using theconfigure
function. - The following resource settings have been renamed:
enableRootWrapping
was renamedrootWrapping
rootName
was renamedname
rootPluralName
was renamedpluralName
- Query parameters were not underscored previously. We are now underscoring parameters by default. The configuration option
underscoreParams
can be set to false to disable the renaming. - Replaced
railsRootWrappingTransformer
andrailsRootWrappingInterceptor
withrailsRootWrapper
that has wrap & unwrap methods. This eliminates the need for using promises during resource construction to handle unwrapping data passed into the constructor. - Resource constructor no longer executes response interceptors. If you need to customize the constructor you should look at using subclassing instead.
processResponse
,transformData
,callInterceptors
have all been removed as part of rewriting the request / response handling.
requestTransformers
,responseInterceptors
,afterResponseInterceptors
have been replaced with a singleinterceptors
chain.beforeRequest
- UseinterceptBeforeRequestWrapping
beforeResponse
- UseinterceptResponse
afterResponse
- UseinterceptAfterResponse
- Added
fullResponse
configuration option to allow returning the full $http response for promise resolution. - Added optional query params to class and instance $delete methods
- Replaced
railsRootWrappingTransformer
andrailsRootWrappingInterceptor
withrailsRootWrapper
that has wrap & unwrap methods. This eliminates the need for using promises during resource construction to handle unwrapping data passed into the constructor. - Resource constructor no longer executes response interceptors. If you need to customize the constructor you should look at using subclassing instead.
processResponse
,transformData
,callInterceptors
have all been removed as part of rewriting the request / response handling.
- Added mixin capability, see README for details
- Added snapshot and rollback extension, see README for details.
- Added
underscoreParams
configuration option to allow turning off parameter underscore renaming.
- Query parameters were not underscored previously. We are now underscoring parameters by default.
The configuration option
underscoreParams
can be set to false to disable the renaming.
- Support submitting array data (#85)
- Added
configure
function to allow changing configuration options after the resource has been initially configured. - Separated out RailsResource into separate service to allow subclassing without using the factories.
railsResourceFactoryProvider
settings have been moved toRailsResourceProvider
wrapData
config option has been renamedrootWrapping
- All resource settings are now stored under the
config
property on the resource and should be modified using theconfigure
function. - The following resource settings have been renamed:
enableRootWrapping
was renamedrootWrapping
rootName
was renamedname
rootPluralName
was renamedpluralName
- Query parameters were not underscored previously. We are now underscoring parameters by default.
The configuration option
underscoreParams
can be set to false to disable the renaming. - Replaced
railsRootWrappingTransformer
andrailsRootWrappingInterceptor
withrailsRootWrapper
that has wrap & unwrap methods. This eliminates the need for using promises during resource construction to handle unwrapping data passed into the constructor. - Resource constructor no longer executes response interceptors. If you need to customize the constructor you should look at using subclassing instead.
processResponse
,transformData
,callInterceptors
have all been removed as part of rewriting the request / response handling.
- Support submitting array data (#85)
- Fix mapped name behavior when using serializer default exclusion (#81)
- Issue #67 incorrect date deserialization led to errors constructing a new resource with a property that was type Date
- Added updateMethod configuration option to railsResourceFactory to specify what HTTP method should be used to perform the update action
- Exposed default configuration options for both railsResourceFactory and railsSerializer as provider configuration options.
- Added context property to before response interceptors to have access to the calling resource instance in the case of create/update/delete.
- Added after response interceptors to be able to define custom callbacks that execute on all resources after method completion.
- Removed default transformers and interceptors
- railsFieldRenamingTransformer and railsFieldRenamingInterceptor have been removed completely and replaced by the serializers
- railsRootWrappingTransformer/Interceptor are no longer configured by the transformers/interceptors configuration option and is instead
configured by the
wrapData
option.
- Interceptors added using
beforeRequest
are run before any deserialization so the fields names have not been camelized.
- Added serializers to replace old field renaming logic and to give users a lot more flexibility in customizing the (de)serialization process
- Added
rootWrapping
configuration option to be able to turn off root wrapping instead - Added path option to
$url
methods to make it easier to construct a nested url.
- New
save
instance method added to resources
- Added beforeRequest and beforeResponse methods that wrap a given function as a transformer/interceptor to more easily add customizations
- Added setUrl method to allow reconfiguring a resource's url after creation
- Added $url instance method to more easily reference the instance's URL
- Added instance and class methods for generic HTTP operations of $get, $post, $put, $delete