Skip to main content

DRF endpoints for django-friendship

Project description

PyPI Build coverage

Overview

DRF endpoints for django-friendship

Requirements

  • Python (3.8, 3.9, 3.10)

  • Django (3.2, 4.0)

  • Django REST Framework (3.13.1)

Installation

Install using pip

pip install django-rest-friendship

Add rest_friendship to your INSTALLED_APPS

INSTALLED_APPS = (
   ...
   'friendship',  # Django friendship
   'rest_framework',  # Django REST Framework
   'rest_friendship',  # Django REST Friendship
   'rest_framework.authtoken',
   ...
)

Also add settings for REST_FRIENDSHIP to your project settings.py

REST_FRIENDSHIP = {
   'PERMISSION_CLASSES': [
      'rest_framework.permissions.IsAuthenticated',
   ],
   'USER_SERIALIZER': 'rest_friendship.serializers.FriendSerializer',
},

And don’t forget to add the following to your project urls.py

urlpatterns = [
   ...
   path('', include('rest_friendship.urls')),
   ...
]

Examples

Get Friends List

curl -LX GET http://127.0.0.1:8000/friends/ -H 'Authorization: Token 16bd63ca6655a5fe8d25d7c8bb1b42605c77088b'

[{"id":1,"username":"testuser","email":"testuser@piboy.ca"}]

Add/Remove Friends

curl -X POST http://127.0.0.1:8000/friends/add_friend/ -H 'Authorization: Token 16bd63ca6655a5fe8d25d7c8bb1b42605c77088b' --data 'to_user=testuser&message=Hello+friend'

{"id":4,"from_user":"scott@gmail.com","to_user":"testuser@piboy.ca","message":"Hello friend","created":"2022-01-22T04:21:43.593950Z","rejected":null,"viewed":null}
curl -X POST http://127.0.0.1:8000/friends/remove_friend/ -H 'Authorization: Token 16bd63ca6655a5fe8d25d7c8bb1b42605c77088b' --data 'to_user=testuser'

[{"message": "Friend deleted"}]

Accept a Request with request ID

curl -X POST http://127.0.0.1:8000/friends/accept_request/ -H 'Authorization: Token 16bd63ca6655a5fe8d25d7c8bb1b42605c77088b' --data 'id=1'

{"message": "Request accepted, user added to friends."}

Testing

Install testing requirements and run with pytest:

pip install django-rest-friendship[test]

pytest

You can also use the excellent tox testing tool to run the tests against all supported versions of Python and Django. Install tox globally, and then simply run:

tox -s

Documentation

To build the documentation, you’ll need to install mkdocs.

pip install django-rest-friendship[docs]

To preview the documentation:

$ mkdocs serve
Running at: http://127.0.0.1:8000

To build the documentation:

mkdocs build

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-rest-friendship-0.2.1.tar.gz (9.4 kB view hashes)

Uploaded Source

Built Distribution

django_rest_friendship-0.2.1-py2.py3-none-any.whl (9.7 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page