Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Produce APIs that comply with the (provisional) JSON API standard. #404

Merged
merged 106 commits into from
Jan 29, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
106 commits
Select commit Hold shift + click to select a range
66d2bfc
Makes API compliant with JSON API specification.
jfinkels Feb 10, 2015
2b2c68b
Adds some missing tests.
jfinkels Apr 18, 2015
9f1ef29
Removes old search code.
jfinkels Apr 18, 2015
6822ddd
Removes unused function.
jfinkels Apr 18, 2015
a4a1ecd
Turns static methods into functions.
jfinkels Apr 18, 2015
0bfb596
Updates search module documentation and slight simplification.
jfinkels Apr 18, 2015
91a2463
Comments unnecessary code.
jfinkels Apr 18, 2015
c24af59
Fixes unicode encoding issue on python 2
jfinkels Apr 18, 2015
396e19d
Adds documentation to the serialization module.
jfinkels Apr 18, 2015
3be089b
Updates view.py documentation strings.
jfinkels Apr 20, 2015
12ea4f5
Updates module documentation.
jfinkels Apr 20, 2015
8a6e6dd
Removes authors, it's unnecessary.
jfinkels Apr 20, 2015
4140afb
Updates changes file.
jfinkels Apr 20, 2015
6398dd9
Updates README.
jfinkels Apr 20, 2015
bb244f2
some sphinx changes
jfinkels Apr 20, 2015
e46af09
Updates documentation sidebar.
jfinkels Apr 20, 2015
cbdc94a
Updates basic usage documentation
jfinkels Apr 23, 2015
7769582
Updates installation documentation.
jfinkels Apr 23, 2015
6a1a649
Begins splitting documentation and updating request documentation
jfinkels Apr 23, 2015
778a0e9
Makes test look like others
jfinkels Apr 23, 2015
7e3a4fc
Updates documentation dependency requirements.
jfinkels Apr 23, 2015
eb7a5e8
Removes internal data from meta.
jfinkels Apr 23, 2015
54705a2
some bugfixes in documentation
jfinkels Apr 28, 2015
b8da4e7
Makes pagination respect sorting, filtering, etc.
jfinkels May 6, 2015
41c24b5
Moves links out to end.
jfinkels May 8, 2015
8ed829d
Notes that pagination respects sorting, grouping, and filtering.
jfinkels May 8, 2015
52ea049
Resources must place attributes under attribute key
jfinkels May 11, 2015
a8a0ee7
Updates document structure tests to JSONAPI version 1.0.
jfinkels Jul 24, 2015
0cf0db8
Updates tests and code for fetching data.
jfinkels Oct 20, 2015
27bec6c
Updates some tests for creating resources.
jfinkels Oct 21, 2015
2b4971e
Updates tests for updating resources.
jfinkels Oct 21, 2015
08e51bd
Updates tests for updating relationships.
jfinkels Oct 21, 2015
6b393ae
Splits JSON API tests into multiple modules.
jfinkels Oct 21, 2015
1fbdb46
Makes all JSON API spec tests pass.
jfinkels Oct 22, 2015
81ddb01
Splits large test class into multiple classes.
jfinkels Oct 22, 2015
3e4b840
Updates creating tests to JSON API 1.0.
jfinkels Oct 22, 2015
d0e5a3d
Updates remaining tests to JSON API 1.0 spec.
jfinkels Oct 22, 2015
5cf7310
Removes unnecessary import from setup.py.
jfinkels Oct 22, 2015
916ab3f
Places raw strings in a constant.
jfinkels Dec 22, 2015
3ce0b11
adds documentation; some small fixes.
jfinkels Dec 23, 2015
ed8692e
Refactors pagination for collection responses.
jfinkels Dec 24, 2015
38743d3
Refactors pagination for resources and linkage.
jfinkels Dec 25, 2015
1e72b77
Adds TODO to refactor two methods.
jfinkels Dec 25, 2015
5f6bd6c
Refactors fetching resources and collections.
jfinkels Dec 26, 2015
419f0d6
Catches serialization exceptions.
jfinkels Dec 26, 2015
85fbf9a
Refactors common code from RelationshipAPI.
jfinkels Dec 26, 2015
bde7c46
Move error logging to error_response().
jfinkels Dec 26, 2015
a5ec3fc
Moves instance method to top-level function.
jfinkels Dec 27, 2015
1175770
Adds check for required to-many relationship.
jfinkels Dec 27, 2015
44200df
Moves check for change-on-update to constructor.
jfinkels Dec 27, 2015
8dc4d44
Removes TODO that no longer applies.
jfinkels Dec 27, 2015
7ad7f5a
Adds some documentation, improves method name.
jfinkels Dec 27, 2015
8643c91
Fixes bad whitespace.
jfinkels Dec 27, 2015
09b73bf
Adds documentation.
jfinkels Dec 27, 2015
1283c6a
Checks for resource linkage when updating relationship
jfinkels Dec 27, 2015
76b4c6e
Adds test for circular includes.
jfinkels Dec 27, 2015
501b0bc
Removes unreachable code.
jfinkels Dec 27, 2015
20b6978
Adds TODO to add more tests.
jfinkels Dec 27, 2015
006fcf3
Adds test for preprocessor for fetching related resource.
jfinkels Dec 27, 2015
d307d3e
Adds test for bad filter parameter.
jfinkels Dec 27, 2015
a120cab
Adds test for preprocessor for fetching a relation.
jfinkels Dec 27, 2015
8c6d91a
Adds missing tests.
jfinkels Dec 27, 2015
87b19ba
Refactors code into more manageable parts
jfinkels Dec 27, 2015
bd4166e
Raise NotImplementedError, not NotImplemented.
jfinkels Dec 27, 2015
eee6b4c
Makes strings unicode for Python 2 compatibility.
jfinkels Dec 27, 2015
6c12cf2
Updates module-level header comments and docs.
jfinkels Dec 27, 2015
722b001
Adds test for filtering a single relationship
jfinkels Dec 27, 2015
946646a
Adds test for serialization exception on fetch.
jfinkels Dec 27, 2015
a094615
Makes version live only in package __init__.py.
jfinkels Dec 28, 2015
af0c0a5
Updates packaging requirements.
jfinkels Dec 28, 2015
24de6f6
Updates release script to use wheel.
jfinkels Dec 28, 2015
2421ee7
Fixes some pylint complaints.
jfinkels Dec 28, 2015
861d22b
Adds client-generated ID example to the documentation.
jfinkels Dec 28, 2015
ef7261a
Gives ProcessingException same arguments as error object.
jfinkels Dec 28, 2015
156b9f9
Refactors code for included resources.
jfinkels Dec 28, 2015
725846d
Adds preprocessor unit test.
jfinkels Dec 28, 2015
9cbbd37
Adds test for validating relationship.
jfinkels Dec 28, 2015
7534744
Adds some missing unit tests for processors and validation.
jfinkels Dec 28, 2015
3b1d950
Removes unreachable code.
jfinkels Dec 28, 2015
3fe8af4
Removes untestable code not reachable by user behavior.
jfinkels Dec 28, 2015
ceb1449
Adds a conflict indicator string.
jfinkels Dec 28, 2015
405e52a
Forgot we need to support Python 2.6 still.
jfinkels Dec 28, 2015
ea289ff
SQUASH ME Diagnosing Travis test failure.
jfinkels Dec 28, 2015
0591bd0
Only add related link if we can.
jfinkels Dec 29, 2015
475f610
Enable coveralls.
jfinkels Dec 29, 2015
3598de1
Removes hardcoded column name from conflict indicator.
jfinkels Dec 29, 2015
99da16d
Removes unnecessary print statements.
jfinkels Dec 29, 2015
2c6db67
Python 2.6 has no set comprehensions.
jfinkels Dec 29, 2015
929b6b3
Updates user documentation.
jfinkels Dec 29, 2015
68c2828
Updates processor arguments for consistency.
jfinkels Dec 29, 2015
54a4c39
Ignore NotImplementedError in coverage.
jfinkels Dec 29, 2015
7d4e99b
Removes unused documentation file.
jfinkels Dec 29, 2015
c402354
Need to support Python 2.6.
jfinkels Dec 29, 2015
f8f22da
Updates lots of documentation.
jfinkels Dec 29, 2015
cc54579
Need to support Python 2.6 still.
jfinkels Dec 29, 2015
f8ba300
Upgrade pip on Travis.
jfinkels Dec 30, 2015
63c84ab
More Python 2.6 fixes.
jfinkels Dec 30, 2015
36e1d1c
Uses unicode string literals.
jfinkels Dec 30, 2015
1f6d56b
More Python 2.6 fixes in tests.
jfinkels Dec 30, 2015
89f8a75
Use attrgetter when sorting.
jfinkels Jan 6, 2016
b6c9262
Changed the extension initialization following the suggestions in jfi…
bonzanni Feb 5, 2015
11d31fb
Gets deferred blueprint registration working.
jfinkels Jan 6, 2016
9fe25d5
Fixes typo in two tests.
jfinkels Jan 28, 2016
63ca8b5
Adds warning about beta version.
jfinkels Jan 28, 2016
d27ed7d
Improves skipped test class handling.
jfinkels Jan 29, 2016
7955688
Improves test coverage by adding missing tests.
jfinkels Jan 29, 2016
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .coveragerc
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[report]
exclude_lines =
raise NotImplementedError
17 changes: 16 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,24 @@
# Use Travis's container-based infrastructure.
sudo: false

language: python

python:
- "2.6"
- "2.7"
- "3.3"
- "3.4"
- "3.5"
- "pypy"
- "pypy3"
script: python setup.py test

install:
- pip install --upgrade pip
- pip install -r requirements.txt
- pip install coveralls

script:
coverage run --source=flask_restless setup.py test

after_success:
coveralls
2 changes: 0 additions & 2 deletions AUTHORS

This file was deleted.

64 changes: 39 additions & 25 deletions CHANGES
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,23 @@ Changelog
=========

Here you can see the full list of changes between each Flask-Restless release.
Version 1.0.0 saw a major overhaul of Flask-Restless to make it compliant with
JSON API, so changes from prior versions may not be relevant to more recent
versions.

Numbers following a pound sign (#) refer to `GitHub issues
<https://github.com/jfinkels/flask-restless/issues>`_.

Version 1.0.0-dev
-----------------

Not yet released.

- #404: Major overhaul of Flask-Restless to support JSON API.

Older versions
--------------

.. note::

As of version 0.13.0, Flask-Restless supports Python 2.6, 2.7, and 3. Before
Expand All @@ -16,7 +30,7 @@ Numbers following a pound sign (#) refer to `GitHub issues
Flask-SQLAlchemy models. Before that, it supported only Elixir models.

Version 0.17.1-dev
------------------
~~~~~~~~~~~~~~~~~~

Not yet released.

Expand All @@ -26,7 +40,7 @@ Not yet released.
operator to filter results.

Version 0.17.0
--------------
~~~~~~~~~~~~~~

Released on February 17, 2015.

Expand All @@ -40,7 +54,7 @@ Released on February 17, 2015.
- #400: disallows excluding a primary key on a :http:method:`POST` request.

Version 0.16.0
--------------
~~~~~~~~~~~~~~

Released on February 3, 2015.

Expand All @@ -55,7 +69,7 @@ Released on February 3, 2015.
- #385: makes the `include_methods` keywords argument respect model properties.

Version 0.15.1
--------------
~~~~~~~~~~~~~~

Released on January 2, 2015.

Expand All @@ -65,7 +79,7 @@ Released on January 2, 2015.
instead of :mod:`sqlalchemy.sql.schema`

Version 0.15.0
--------------
~~~~~~~~~~~~~~

Released on October 30, 2014.

Expand All @@ -78,15 +92,15 @@ Released on October 30, 2014.
:ref:`customqueries`)

Version 0.14.2
--------------
~~~~~~~~~~~~~~

Released on September 2, 2014.

- #351, #355: fixes bug in getting related models from a model with hybrid
properties.

Version 0.14.1
--------------
~~~~~~~~~~~~~~

Released on August 26, 2014.

Expand All @@ -97,7 +111,7 @@ Released on August 26, 2014.
documentation.

Version 0.14.0
--------------
~~~~~~~~~~~~~~

Released on August 12, 2014.

Expand All @@ -118,14 +132,14 @@ Released on August 12, 2014.
- #344: correctly encodes Unicode fields in responses.

Version 0.13.1
--------------
~~~~~~~~~~~~~~

Released on April 21, 2014.

- #304: fixes mimerender bug due to how Python 3.4 handles decorators.

Version 0.13.0
--------------
~~~~~~~~~~~~~~

Released on April 6, 2014.

Expand Down Expand Up @@ -157,7 +171,7 @@ Released on April 6, 2014.
- #293: allows :class:`sqlalchemy.Time` fields in JSON responses.

Version 0.12.1
--------------
~~~~~~~~~~~~~~

Released on December 1, 2013.

Expand All @@ -172,7 +186,7 @@ Released on December 1, 2013.
:http:method:`post` requests.

Version 0.12.0
--------------
~~~~~~~~~~~~~~

Released on August 8, 2013.

Expand All @@ -188,7 +202,7 @@ Released on August 8, 2013.
Flask version 0.10.

Version 0.11.0
--------------
~~~~~~~~~~~~~~

Released on May 18, 2013.

Expand All @@ -205,7 +219,7 @@ Released on May 18, 2013.
- #204, 205: allow parameters in ``Content-Type`` header.

Version 0.10.1
--------------
~~~~~~~~~~~~~~

Released on May 8, 2013.

Expand All @@ -215,7 +229,7 @@ Released on May 8, 2013.
none initially.

Version 0.10.0
--------------
~~~~~~~~~~~~~~

Released on April 30, 2013.

Expand Down Expand Up @@ -251,31 +265,31 @@ Released on April 30, 2013.
- #152: adds some basic server-side logging for exceptions raised by views.

Version 0.9.3
-------------
~~~~~~~~~~~~~

Released on February 4, 2013.

- Fixes incompatibility with Python 2.5 try/except syntax.
- #116: handle requests which raise :exc:`~sqlalchemy.exc.IntegrityError`.

Version 0.9.2
-------------
~~~~~~~~~~~~~

Released on February 4, 2013.

- #82, #134, #136: added request pre- and postprocessors.
- #120: adds support for JSON-P callbacks in :http:method:`get` requests.

Version 0.9.1
-------------
~~~~~~~~~~~~~

Released on January 17, 2013.

- #126: fix documentation build failure due to bug in a dependency.
- #127: added "ilike" query operator.

Version 0.9.0
-------------
~~~~~~~~~~~~~

Released on January 16, 2013.

Expand Down Expand Up @@ -306,7 +320,7 @@ Released on January 16, 2013.
.. _sphinxcontrib-issuetracker: https://sphinxcontrib-issuetracker.readthedocs.org/en/latest

Version 0.8.0
-------------
~~~~~~~~~~~~~

Released on November 19, 2012.

Expand All @@ -315,7 +329,7 @@ Released on November 19, 2012.
- #104: added ``num_results`` key to paginated JSON responses.

Version 0.7.0
-------------
~~~~~~~~~~~~~

Released on October 9, 2012.

Expand All @@ -335,7 +349,7 @@ Released on October 9, 2012.
requested fields from the returned dictionary.

Version 0.6
-----------
~~~~~~~~~~~

Released on June 20, 2012.

Expand All @@ -354,7 +368,7 @@ Released on June 20, 2012.
requests.

Version 0.5
-----------
~~~~~~~~~~~

Released on April 10, 2012.

Expand All @@ -369,7 +383,7 @@ Released on April 10, 2012.
Flask-SQLAlchemy.

Version 0.4
-----------
~~~~~~~~~~~

Released on March 29, 2012.

Expand All @@ -393,7 +407,7 @@ Released on March 29, 2012.
- Disable the PATCH many functionality by default.

Version 0.3
-----------
~~~~~~~~~~~

Released on March 4, 2012.

Expand Down
Loading