Metadata-Version: 2.1
Name: drf-json-api-atomic-operations
Version: 0.3.0
Summary: Extension for `django-rest-framework-json-api <https://github.com/django-json-api/django-rest-framework-json-api>`_ to support `atomic operations <https://jsonapi.org/ext/atomic/>`_.
Home-page: https://github.com/jokiefer/drf-json-api-atomic-operations/
Author: Jonas Kiefer
Author-email: jonas.kiefer@live.com
License: MIT-License
Platform: OS Independent
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Natural Language :: English
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Environment :: Web Environment
Classifier: Framework :: Django
Classifier: Topic :: Software Development :: Libraries
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Framework :: Django
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Requires-Python: >=3.8
Description-Content-Type: text/x-rst
License-File: LICENSE
Requires-Dist: djangorestframework-jsonapi (>=6.0.0)
Provides-Extra: tests
Requires-Dist: coverage ; extra == 'tests'

.. image:: https://readthedocs.org/projects/drf-json-api-atomic-operations/badge/?version=latest
    :target: https://drf-json-api-atomic-operations.readthedocs.io/en/latest/?badge=latest
    :alt: Documentation Status

.. image:: https://badge.fury.io/py/drf-json-api-atomic-operations.svg
    :target: https://pypi.org/project/drf-json-api-atomic-operations/
    :alt: PyPi version


drf-json-api-atomic-operation
=============================

Extension for `django-rest-framework-json-api <https://github.com/django-json-api/django-rest-framework-json-api>`_ to support `atomic operations <https://jsonapi.org/ext/atomic/>`_.

See the `usage <https://drf-json-api-atomic-operations.readthedocs.io/en/latest/usage.html>`_ section of the docs for example integration.



Implemented Features
~~~~~~~~~~~~~~~~~~~~

* creating, updating, removing multiple resources in a single request (sequential db calls optional bulk db calls for create and delete)
* `Updating To-One Relationships <https://jsonapi.org/ext/atomic/#auto-id-updating-to-one-relationships>`_
* `Updating To-Many Relationships <https://jsonapi.org/ext/atomic/#auto-id-updating-to-many-relationships>`_
* error reporting with json pointer to the concrete operation and the wrong attributes


ToDo
~~~~

* permission handling
* `local identity (lid) <https://jsonapi.org/ext/atomic/#operation-objects>`_ handling
