summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--python-drf-json-api-utils.spec282
-rw-r--r--sources1
3 files changed, 284 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..8f36bcc 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/drf-json-api-utils-2.0.78.tar.gz
diff --git a/python-drf-json-api-utils.spec b/python-drf-json-api-utils.spec
new file mode 100644
index 0000000..e5e523e
--- /dev/null
+++ b/python-drf-json-api-utils.spec
@@ -0,0 +1,282 @@
+%global _empty_manifest_terminate_build 0
+Name: python-drf-json-api-utils
+Version: 2.0.78
+Release: 1
+Summary: Utilities to reduce the boiler-plating of django-rest-framework-json-api
+License: MIT License
+URL: https://github.com/amitassaraf/drf-json-api-utils
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/e7/3e/63c6aec455be666f2d3c514cf82ec12cd1070e60915bb59713256b721e1c/drf-json-api-utils-2.0.78.tar.gz
+BuildArch: noarch
+
+
+%description
+By just doing this:
+```python
+user_urls = JsonApiViewBuilder(model=MyUser,
+ resource_name='users',
+ allowed_methods=[json_api_spec_http_methods.HTTP_GET]) \
+.fields(['email', 'first_name', 'last_name']) \
+.add_filter(name='email', lookups=(lookups.EXACT, lookups.IN)) \
+.add_filter(name='order', field='orders__id', lookups=(lookups.EXACT, lookups.IN)) \
+.add_relation(field='orders', many=True) \
+.get_urls()
+order_urls = JsonApiViewBuilder(model=Order,
+ resource_name='orders',
+ allowed_methods=[json_api_spec_http_methods.HTTP_GET]) \
+.fields(['product', 'date', 'price']) \
+.add_relation(field='user', resource_name='users') \
+.get_urls()
+```
+You can get this:
+`GET /api/users?filter[email]=amit.assaraf@gmail.com`
+```json
+{
+ "links": {
+ "first": "http://localhost:8000/api/users?filter%5Bemail%5D=soit48%40gmail.com&page%5Bnumber%5D=1",
+ "last": "http://localhost:8000/api/users?filter%5Bemail%5D=soit48%40gmail.com&page%5Bnumber%5D=1",
+ "next": null,
+ "prev": null
+ },
+ "data": [
+ {
+ "type": "users",
+ "id": "76f7c463-b6a8-4b20-917a-ef98c546eec4",
+ "attributes": {
+ "first-name": "Amit",
+ "last-name": "Assaraf",
+ "email": "amit.assaraf@gmail.com",
+ },
+ "relationships": {
+ "orders": {
+ "meta": {
+ "count": 2
+ },
+ "data": [
+ {
+ "type": "orders",
+ "id": "6b99e044-462f-472e-9fed-307436b73549"
+ },
+ {
+ "type": "orders",
+ "id": "304f7f60-7e24-494e-98e2-e9786a3eb588"
+ }
+ ],
+ "links": {
+ "self": "http://localhost:8000/api/users/76f7c463-b6a8-4b20-917a-ef98c546eec4/relationships/orders",
+ "related": "http://localhost:8000/api/orders/76f7c463-b6a8-4b20-917a-ef98c546eec4/"
+ }
+ }
+ }
+ }
+ ],
+ "meta": {
+ "pagination": {
+ "page": 1,
+ "pages": 1,
+ "count": 1
+ }
+ }
+}
+```
+[src]: https://github.com/amitassaraf/drf-json-api-utils
+[drfjapi]: https://github.com/django-json-api/django-rest-framework-json-api
+[drf]: https://www.django-rest-framework.org/
+
+%package -n python3-drf-json-api-utils
+Summary: Utilities to reduce the boiler-plating of django-rest-framework-json-api
+Provides: python-drf-json-api-utils
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-drf-json-api-utils
+By just doing this:
+```python
+user_urls = JsonApiViewBuilder(model=MyUser,
+ resource_name='users',
+ allowed_methods=[json_api_spec_http_methods.HTTP_GET]) \
+.fields(['email', 'first_name', 'last_name']) \
+.add_filter(name='email', lookups=(lookups.EXACT, lookups.IN)) \
+.add_filter(name='order', field='orders__id', lookups=(lookups.EXACT, lookups.IN)) \
+.add_relation(field='orders', many=True) \
+.get_urls()
+order_urls = JsonApiViewBuilder(model=Order,
+ resource_name='orders',
+ allowed_methods=[json_api_spec_http_methods.HTTP_GET]) \
+.fields(['product', 'date', 'price']) \
+.add_relation(field='user', resource_name='users') \
+.get_urls()
+```
+You can get this:
+`GET /api/users?filter[email]=amit.assaraf@gmail.com`
+```json
+{
+ "links": {
+ "first": "http://localhost:8000/api/users?filter%5Bemail%5D=soit48%40gmail.com&page%5Bnumber%5D=1",
+ "last": "http://localhost:8000/api/users?filter%5Bemail%5D=soit48%40gmail.com&page%5Bnumber%5D=1",
+ "next": null,
+ "prev": null
+ },
+ "data": [
+ {
+ "type": "users",
+ "id": "76f7c463-b6a8-4b20-917a-ef98c546eec4",
+ "attributes": {
+ "first-name": "Amit",
+ "last-name": "Assaraf",
+ "email": "amit.assaraf@gmail.com",
+ },
+ "relationships": {
+ "orders": {
+ "meta": {
+ "count": 2
+ },
+ "data": [
+ {
+ "type": "orders",
+ "id": "6b99e044-462f-472e-9fed-307436b73549"
+ },
+ {
+ "type": "orders",
+ "id": "304f7f60-7e24-494e-98e2-e9786a3eb588"
+ }
+ ],
+ "links": {
+ "self": "http://localhost:8000/api/users/76f7c463-b6a8-4b20-917a-ef98c546eec4/relationships/orders",
+ "related": "http://localhost:8000/api/orders/76f7c463-b6a8-4b20-917a-ef98c546eec4/"
+ }
+ }
+ }
+ }
+ ],
+ "meta": {
+ "pagination": {
+ "page": 1,
+ "pages": 1,
+ "count": 1
+ }
+ }
+}
+```
+[src]: https://github.com/amitassaraf/drf-json-api-utils
+[drfjapi]: https://github.com/django-json-api/django-rest-framework-json-api
+[drf]: https://www.django-rest-framework.org/
+
+%package help
+Summary: Development documents and examples for drf-json-api-utils
+Provides: python3-drf-json-api-utils-doc
+%description help
+By just doing this:
+```python
+user_urls = JsonApiViewBuilder(model=MyUser,
+ resource_name='users',
+ allowed_methods=[json_api_spec_http_methods.HTTP_GET]) \
+.fields(['email', 'first_name', 'last_name']) \
+.add_filter(name='email', lookups=(lookups.EXACT, lookups.IN)) \
+.add_filter(name='order', field='orders__id', lookups=(lookups.EXACT, lookups.IN)) \
+.add_relation(field='orders', many=True) \
+.get_urls()
+order_urls = JsonApiViewBuilder(model=Order,
+ resource_name='orders',
+ allowed_methods=[json_api_spec_http_methods.HTTP_GET]) \
+.fields(['product', 'date', 'price']) \
+.add_relation(field='user', resource_name='users') \
+.get_urls()
+```
+You can get this:
+`GET /api/users?filter[email]=amit.assaraf@gmail.com`
+```json
+{
+ "links": {
+ "first": "http://localhost:8000/api/users?filter%5Bemail%5D=soit48%40gmail.com&page%5Bnumber%5D=1",
+ "last": "http://localhost:8000/api/users?filter%5Bemail%5D=soit48%40gmail.com&page%5Bnumber%5D=1",
+ "next": null,
+ "prev": null
+ },
+ "data": [
+ {
+ "type": "users",
+ "id": "76f7c463-b6a8-4b20-917a-ef98c546eec4",
+ "attributes": {
+ "first-name": "Amit",
+ "last-name": "Assaraf",
+ "email": "amit.assaraf@gmail.com",
+ },
+ "relationships": {
+ "orders": {
+ "meta": {
+ "count": 2
+ },
+ "data": [
+ {
+ "type": "orders",
+ "id": "6b99e044-462f-472e-9fed-307436b73549"
+ },
+ {
+ "type": "orders",
+ "id": "304f7f60-7e24-494e-98e2-e9786a3eb588"
+ }
+ ],
+ "links": {
+ "self": "http://localhost:8000/api/users/76f7c463-b6a8-4b20-917a-ef98c546eec4/relationships/orders",
+ "related": "http://localhost:8000/api/orders/76f7c463-b6a8-4b20-917a-ef98c546eec4/"
+ }
+ }
+ }
+ }
+ ],
+ "meta": {
+ "pagination": {
+ "page": 1,
+ "pages": 1,
+ "count": 1
+ }
+ }
+}
+```
+[src]: https://github.com/amitassaraf/drf-json-api-utils
+[drfjapi]: https://github.com/django-json-api/django-rest-framework-json-api
+[drf]: https://www.django-rest-framework.org/
+
+%prep
+%autosetup -n drf-json-api-utils-2.0.78
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-drf-json-api-utils -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Fri May 05 2023 Python_Bot <Python_Bot@openeuler.org> - 2.0.78-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..26afb87
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+5fa7d5cfc467cb1d0c9b449e7ebc3fbd drf-json-api-utils-2.0.78.tar.gz