Skip to content

Releases: RESTful-Drupal/restful

7.x-2.14

24 Nov 05:55
Compare
Choose a tag to compare

[CLEANUP] Clean a documentation typo (#959)

fc74480 by Bhushan Nagaonkar (N)

Array index is wrong in the query formation example.
:100644 100644 0602504... 24e5a0d... M docs/api_url.md

[CLEANUP] Improve documentation for "Consuming your API"

2db989f by Benji Fisher (N)

:100644 100644 a5c3ca6... 0602504... M docs/api_url.md

7.x-2.13

04 Sep 06:52
Compare
Choose a tag to compare

[FEATURE] Add OAuth2 authentication provider (#942)

b5f7179 by hussainweb (N)

Integrate with the OAuth2 server module to allow authorization using this method.

:000000 100644 0000000... 7b381d0... A  src/Plugin/authentication/OAuth2ServerAuthentication.php

[FEATURE] Allow getting resource name from resource manager (#940)

101acd6 by hussainweb (N)

The ResourceManager class provides methods to get version information and even create a new
instance of a plugin based on the current request. However, the methods that help in getting
the resource id (such as ::getMenuItem and getPageArguments) are protected.

Since we are already able to get information on version, we should also be able to get the
resource id using the resource manager class. This commit adds a method to do that.

:100644 100644 1e203a7... 142cd74... M  src/Resource/ResourceManager.php
:100644 100644 7b7eab9... 00e846b... M  src/Resource/ResourceManagerInterface.php
:100644 100644 c3c5396... 5ddf71d... M  tests/RestfulHookMenuTestCase.test

[BUGFIX] Add compatibility with PHP7 (#943)

8bac122 by Vincenzo Russo (N)

Added a temporary workaround to add compatibility with PHP7.

:100644 100644 35d6faf... 77b38e0... M  restful.info

7.x-2.12

20 Aug 06:57
Compare
Choose a tag to compare

[BUGFIX] Return an array in DataProviderDbQuery.php (#935)

66c4cc6 by jeff-h (N)

Data providers' create() method must return an array.

:100644 100644 8c7da11... 56c2ae8... M  src/Plugin/resource/DataProvider/DataProviderDbQuery.php

7.x-2.11

16 Jun 06:38
Compare
Choose a tag to compare

[BUGFIX] Remove a pagination warning

d2b4a14 by Mateu Aguiló Bosch (G)

When the new pagination parameter comes back empty.

:100644 100644 d377997... 1d2a8ac... M  src/Plugin/resource/DataProvider/DataProvider.php

[FEATURE] Cache the already embedded content

a9d0cc4 by Mateu Aguiló Bosch (G)

If two entities of the top resource point to the same entity, then
it's embedded twice. For performance reasons we want to calculate
it once and cache the result througout the request.

:100644 100644 1115139... f5a34e4... M  src/Plugin/formatter/FormatterJsonApi.php

7.x-2.10

03 Jun 17:17
Compare
Choose a tag to compare

[FEATURE] Support JSON API friendly parameters (#924)

b5f3cf3 by Mateu Aguiló Bosch (N)

And have better JSON API compliance.

:100644 100644 3d01864... 5bb38e5... M  src/Http/Request.php
:100644 100644 182539d... 8010523... M  src/Http/RequestInterface.php
:100644 100644 8d9a31f... 5a98421... M  src/Plugin/formatter/Formatter.php
:100644 100644 1b21302... 7716c92... M  src/Plugin/formatter/FormatterHalJson.php
:100644 100644 4af48da... 620afbf... M  src/Plugin/formatter/FormatterJson.php
:100644 100644 5cbc618... 1115139... M  src/Plugin/formatter/FormatterJsonApi.php
:100644 100644 850380b... d377997... M  src/Plugin/resource/DataProvider/DataProvider.php
:100644 100644 3f45095... 4b3bef0... M  src/Plugin/resource/Field/ResourceFieldEntity.php
:100644 100644 40b50a3... 1a881e9... M  src/Plugin/resource/Resource.php
:100644 100644 472387b... e884822... M  tests/RestfulJsonApiTestCase.test
:100644 100644 5bc40d7... e372d83... M  tests/RestfulListTestCase.test
:100644 100644 42ee4c1... 4484523... M  tests/RestfulSimpleJsonTestCase.test

[BUGFIX] Use the table alias for property nested filters

a4c5784 by Mateu Aguiló Bosch (G)

Property based nested filters have to use the table alias, since
that is the one being overridden in every loop.

:100644 100644 7632764... 1733175... M  src/Util/EntityFieldQuery.php

[BUGFIX] Resource type and identifier pairs must be unique. (#918)

6cfe8c2 by Abdul Asiq Khan (N)

In to-many relationships.

:100644 100644 e9f38eb... 5cbc618... M  src/Plugin/formatter/FormatterJsonApi.php

7.x-2.9

28 Apr 13:08
Compare
Choose a tag to compare

[BUGFIX] Better compound ID getter to fix targetted filters (#906)

6db0cbd by Mateu Aguiló Bosch (N)

Fix the targetted filters when using JSON API.

:100644 100644 6c5562b... 3f45095... M  src/Plugin/resource/Field/ResourceFieldEntity.php
:100644 100644 f13009d... ea8bbb8... M  tests/RestfulForbiddenItemsTestCase.test

[FEATURE] Allow joining queries for filters on a target column (#893)

2f57807 by Mateu Aguiló Bosch (N)

Instead of assuming that joins on entity tables always happen at
the entity key level.

To do so use the targetColumn property in the field definition.

:100644 100644 ff84000... 99ac589... M  src/Plugin/resource/DataProvider/CacheDecoratedDataProvider.php
:100644 100644 4d5d6d1... 2f01f70... M  src/Plugin/resource/DataProvider/DataProviderEntity.php
:100644 100644 5992b43... 3008887... M  src/Plugin/resource/Decorators/ResourceDecoratorBase.php
:100644 100644 4d0b44d... 89cda2c... M  src/Plugin/resource/Field/ResourceFieldEntityAlterableInterface.php
:100644 100644 222c69e... 22f7c9a... M  src/Plugin/resource/Field/ResourceFieldResource.php
:100644 100644 7cb88e9... 6013c12... M  src/Plugin/resource/Field/ResourceFieldResourceInterface.php
:100644 100644 25f06aa... 7632764... M  src/Util/EntityFieldQuery.php
:000000 100644 0000000... dde1a49... A  src/Util/ExplorableDecoratorInterface.php
:100644 100644 c607a36... 7e10636... M  src/Util/RelationalFilter.php
:100644 100644 f8224a8... 7aae05c... M  src/Util/RelationalFilterInterface.php

7.x-2.8

06 Apr 09:14
Compare
Choose a tag to compare

[BUGFIX] Revert plugin massaging

ebfbca2 by Mateu Aguiló Bosch (G)

It was done elsewhere.

:100644 100644 54e38da... 1e203a7... M  src/Resource/ResourceManager.php

[BUGFIX] Allow NULL plugins to be massaged

8c0842b by Mateu Aguiló Bosch (G)

:100644 100644 c0c52ba... 54e38da... M  src/Resource/ResourceManager.php

[FEATURE] Allow custom resouce field classes to alter queries

504c518 by Mateu Aguiló Bosch (G)

To add special handling for filters and sorts. This is very
useful when used with filters that are not regular fields or
properties, like the URL alias. This is required for restful_alias
to work properly.

:100644 100644 01d079b... 850380b... M  src/Plugin/resource/DataProvider/DataProvider.php
:100644 100644 b2a897f... 6dc62d2... M  src/Plugin/resource/DataProvider/DataProviderDecorator.php
:100644 100644 4706bac... 4d5d6d1... M  src/Plugin/resource/DataProvider/DataProviderEntity.php
:000000 100644 0000000... 4d0b44d... A  src/Plugin/resource/Field/ResourceFieldEntityAlterableInterface.php
:100644 100644 1e203a7... c0c52ba... M  src/Resource/ResourceManager.php

[BUGFIX] Use the alias to compare existing aliases

221e73e by Mateu Aguiló Bosch (N)

Fix the logic that generates new alias table names to check for
the existing aliases instead of the table names.

:100644 100644 85a8340... 25f06aa... M  src/Util/EntityFieldQuery.php

[FEATURE] Allow altering filters to support custom filters

4700e5e by Mateu Aguiló Bosch (G)

Allow an easy way of altering the filtering by a custom data
provider. This is the only recommended way to add support for
filtering based on:

  • Computed public fields: reverse the computation for the filter.
  • Fields with preprocesses: reverse the preprocess for the
    filter. For instance, in a date field that is stored as a UNIX
    timestamp but displayed as a ISO-8601 the consumer wants to be
    able to accept filters with ISO-8601 dates in them. The
    alterFieldQuery would take the date string and parse it back
    to a UNIX timestamp.
:100644 100644 6d3dcf1... 4706bac... M  src/Plugin/resource/DataProvider/DataProviderEntity.php

[FEATURE] Allow other auth providers to use Authorization

828e577 by Mateu Aguiló Bosch (G)

Let other providers to use the Authorization header. The Basic
prefix will be used to detect basic authentication when that
header is used. This allows Simple OAuth.

Additionally changes the String class name, since it's not
compatible with PHP7.

:100644 100644 3828b0e... 3d01864... M  src/Http/Request.php
:100644 100644 31b43d2... 6c5562b... M  src/Plugin/resource/Field/ResourceFieldEntity.php
:100644 000000 9e2144b... 0000000... D  src/Util/String.php
:000000 100644 0000000... d113ad0... A  src/Util/StringHelper.php
:100644 100644 b96ebd2... 77452b6... M  tests/RestfulAuthenticationTestCase.test

7.x-2.7

20 Feb 11:10
Compare
Choose a tag to compare

[FEATURE] Switch user during RESTful execution

eadbca2 by Mateu Aguiló Bosch (G)

Allow other code to rely on the global $user object when reacting
to a RESTful thread execution.

:100644 100644 1d9b015... 923865d... M  restful.module
:100644 100644 2f0e059... 447c317... M  src/Authentication/AuthenticationManager.php
:100644 100644 018ef74... 4f511b1... M  src/Authentication/AuthenticationManagerInterface.php
:000000 100644 0000000... 933735c... A  src/Authentication/UserSessionState.php
:000000 100644 0000000... e76c160... A  src/Authentication/UserSessionStateInterface.php
:100644 100644 6931615... b504f9e... M  src/Plugin/resource/Decorators/CacheDecoratedResource.php
:100644 100644 1cdb714... 1842532... M  src/Plugin/resource/Decorators/RateLimitDecoratedResource.php
:100644 100644 451100a... 5992b43... M  src/Plugin/resource/Decorators/ResourceDecoratorBase.php
:100644 100644 4af2df6... 801c9d6... M  src/Plugin/resource/LoginCookie__1_0.php
:100644 100644 5feb304... 40b50a3... M  src/Plugin/resource/Resource.php
:100644 100644 38ba007... 5044fc3... M  src/Plugin/resource/ResourceInterface.php
:100644 100644 da933fc... 5745acf... M  tests/RestfulUserLoginCookieTestCase.test

[CLEANUP] Deprecate PHP 5.4 since Plug depends on 5.5.9

7e21136 by Mateu Aguiló Bosch (G)

The 5.4 version support was unrealistic since one of the
dependencies already depens on PHP 5.5.9.

:100644 100644 bc6a21f... d20552a... M  .travis.yml
:100644 100644 2edf0ad... 35d6faf... M  restful.info

[BUGFIX] Move the resource to a new test module

04b612f by Mateu Aguiló Bosch (G)

Allow implementors to use the 'articles' namespace when Token Auth
is enabled.

:000000 100644 0000000... 4902efe... A  modules/restful_token_auth/modules/restful_token_auth_test/restful_token_auth_test.info
:000000 100644 0000000... 478ba2a... A  modules/restful_token_auth/modules/restful_token_auth_test/restful_token_auth_test.module
:000000 100644 0000000... c05534f... A  modules/restful_token_auth/modules/restful_token_auth_test/src/Plugin/resource/Articles__1_3.php
:100644 000000 03fe34a... 0000000... D  modules/restful_token_auth/src/Plugin/resource/Articles__1_3.php
:100644 100644 9ab0990... f2a4200... M  modules/restful_token_auth/tests/RestfulTokenAuthenticationTestCase.test

[BUGFIX] Reverse access token logic

387e4ea by lukewertz (G)

This bug was breaking all access token authentication!

:100644 100644 331281a... 33cb2a6... M  modules/restful_token_auth/src/Plugin/authentication/TokenAuthentication.php

7.x-2.6

15 Feb 19:05
Compare
Choose a tag to compare

[BUGFIX] Use correct range in pagination when exceeding max

6b80e32 by Mateu Aguiló Bosch (G)

When a range is passed via query string parameter, the correct
pagination links should be calculated. Even if the passed range
exceeds the maximum allowed range.

:100644 100644 ec1e7b3... 8d9a31f... M  src/Plugin/formatter/Formatter.php
:100644 100644 00d3acf... 1b21302... M  src/Plugin/formatter/FormatterHalJson.php
:100644 100644 fb599b5... 4af48da... M  src/Plugin/formatter/FormatterJson.php
:100644 100644 c5007c9... e9f38eb... M  src/Plugin/formatter/FormatterJsonApi.php
:100644 100644 d059281... 472387b... M  tests/RestfulJsonApiTestCase.test
:100644 100644 07fd381... 42ee4c1... M  tests/RestfulSimpleJsonTestCase.test

[BUGFIX] Use the decorator to get metadata

162251e by Mateu Aguiló Bosch (G)

In the decorated resource, use the subject to get the underlying
metadata information.

:100644 100644 a5e8aad... ff84000... M  src/Plugin/resource/DataProvider/CacheDecoratedDataProvider.php
:100644 100644 d30b54b... 7d5edac... M  src/Plugin/resource/DataProvider/DataProviderNode.php

Lost credits.

2abb180 by Thanos Korakas (N)

:100644 100644 f714a84... 75d6a01... M  README.md

[FEATURE] Create semi singleton for plugin managers

c93e064 by Mateu Aguiló Bosch (G)

And apply it to the authentication manager. This adds a performance
boost.

Thanks to @emisaacson for the report and analysis.

:100644 100644 ce344b1... c02bcc7... M  src/Plugin/AuthenticationPluginManager.php
:000000 100644 0000000... 354df6f... A  src/Plugin/SemiSingletonTrait.php

[FEATURE] Do not take the anon user as a valid authentication

54d285f by jeff-h (G)

If an authentication provider yields the anonymous user, keep
trying other authentication providers.

:100644 100644 460815c... 2f0e059... M  src/Authentication/AuthenticationManager.php

[FEATURE] Give access-token a new chance

7349ed0 by lukewertz (G)

Add support to access-token as a header name, instead of
access_token via code. Even if the key name can be changed in the
annotation, this is common enough to deserve some babysitting.

:100644 100644 c749323... 331281a... M  modules/restful_token_auth/src/Plugin/authentication/TokenAuthentication.php

[BUGFIX] Allow content headers to be parsed

f295fd6 by mcdruid (G)

Content headers do not start with HTTP_ so they don't get a
plausible header name generated. Fix that.

:100644 100644 102b8a6... 3828b0e... M  src/Http/Request.php

[BUGFIX] Avoid cache poisoning with colliding cache keys

7135886 by edwardaa (G)

Replace drupal_static(FUNCTION) with drupal_static(METHOD)

:100644 100644 9cfda2a... f59dbfa... M  src/Formatter/FormatterManager.php

7.x-2.5

21 Dec 10:06
Compare
Choose a tag to compare

[BUGFIX] Avoid warning for invalid filters

cbcaa48 by Mateu Aguiló Bosch (G)

When an invalid filter is provided, throw the appropriate error and
avoid additional warnings.

:100644 100644 04f1baf... 01d079b... M  src/Plugin/resource/DataProvider/DataProvider.php

[FEATURE] Detach render cache clear from cache flushes

c5886a3 by Mateu Aguiló Bosch (G)

Render caches are robust enough to not depend on TTLs or other time
based processes.

:100644 100644 b5a77a7... 0257290... M  restful.admin.inc
:000000 100644 0000000... f10d979... A  restful.cache.inc
:100644 100644 0699ce8... 0604ffa... M  restful.install
:100644 100644 f5fe7ec... 1d9b015... M  restful.module
:100644 100644 0c3839c... 6931615... M  src/Plugin/resource/Decorators/CacheDecoratedResource.php
:100644 100644 685ea47... 883e727... M  src/RenderCache/RenderCache.php
:100644 100644 6abbbe1... 7c45f95... M  src/RestfulManager.php