Endpoints¶
This section assumes you have added the on-demand url in urls.py as follows:
path('ondemand/', include('on_demand.urls')),
on-demand makes use of django-rest-framework to provide the following endpoints, and also to provide serializers for the models.
/search-suppliers¶
This is a GET endpoint that expects a search_term parameter in free text. This will fire a lookup in the UserDetails model in the following property:
- UserDetails.description
The response will be JSON type with a list of MentorProfiles that matched the lookup.
/users/<id>/supplier-profile¶
GET: Retrieves the supplier profile (if exists) for a given user id.
PUT: Saves/updates the supplier profile (if exists) for a given user id.
/users/<id>/consumer-profile¶
GET: Retrieves the consumer profile (if exists) for a given user id.
PUT: Saves/updates the consumer profile (if exists) for a given user id.
/newest-suppliers¶
This is a GET endpoint that will return the latest five suppliers that have been added to the database.
The response will be a JSON list of SupplierProfile models.
/connection¶
Manage connections between a suppplier and a consumer.
POST: Creates a new connection between a given supplier and consumer, the required parameters are:
- supplier_id
- consumer_id
- objective: The goal of the connection (optional)
- consumer_request_comments: Any comments the consumer added to the connection request (optional)
- status: Status of the connection, it’ll be set to STARTED if not sent
PUT: Updates the connection status. Requires the following fields:
connectionId: the id of the connection to update
status: the new status for the connection, the accepted statusses can be:
- cancelled
- finished: requires a ranking param, which is a numeric value given by the consumer.
- ongoing
- rejected: requires a rejection_reason which will contain a text value by the supplier explaining why the connection has been rejected