rest.data.views

REST views for the data API

class rest.data.views.DataAssign(**kwargs)

Bases: rest_framework.views.APIView

Assign a Data to a Workspace.

get_object(request, pk)

Get data from db

Parameters:
  • request – HTTP request
  • pk – ObjectId
Returns:

Data

get_workspace(workspace_id)

Retrieve a Workspace

Parameters:workspace_id – ObjectId
Returns:
404
content: Object was not found
Return type:
  • code
patch(request, pk, workspace_id)

Assign Data to a Workspace

Parameters:
  • request – HTTP request
  • pk – ObjectId
  • workspace_id – ObjectId
Returns:

200

content: None

  • code: 403 content: Authentication error
  • code: 404 content: Object was not found
  • code: 500 content: Internal server error

Return type:

  • code

class rest.data.views.DataDetail(**kwargs)

Bases: rest_framework.views.APIView

Retrieve, update or delete a Data

delete(request, pk)

Delete a Data

Parameters:
  • request – HTTP request
  • pk – ObjectId
Returns:

204

content: Deletion succeed

  • code: 404 content: Object was not found
  • code: 500 content: Internal server error

Return type:

  • code

get(request, pk)

Retrieve a data

Parameters:
  • request – HTTP request
  • pk – ObjectId
Returns:

200

content: Data

  • code: 404 content: Object was not found
  • code: 500 content: Internal server error

Return type:

  • code

get_object(request, pk)

Get data from db

Parameters:
  • request – HTTP request
  • pk – ObjectId
Returns:

Data

patch(request, pk)

Update a Data

Parameters:
  • { – “title”: “new_title”, “xml_content”: “new_xml_content”
  • }
  • request – HTTP request
  • pk – ObjectId
Returns:

200

content: Updated data

  • code: 400 content: Validation error
  • code: 404 content: Object was not found
  • code: 500 content: Internal server error

Return type:

  • code

permission_classes = (<class 'rest_framework.permissions.IsAuthenticatedOrReadOnly'>,)
class rest.data.views.DataDownload(**kwargs)

Bases: rest_framework.views.APIView

Download XML file in data

get(request, pk)

Download the XML file from a data

Parameters:
  • request – HTTP request
  • pk – ObjectId
Returns:

200

content: XML file

  • code: 404 content: Object was not found
  • code: 500 content: Internal server error

Return type:

  • code

get_object(request, pk)

Get Data from db

Parameters:
  • request – HTTP request
  • pk – ObjectId
Returns:

Data

class rest.data.views.DataList(**kwargs)

Bases: rest_framework.views.APIView

List all user Data, or create a new one.

get(request)

Get all user Data

Url Parameters:

template: template_id title: document_title

Examples

../data/ ../data?template=[template_id] ../data?title=[document_title] ../data?template=[template_id]&title=[document_title]

Parameters:request – HTTP request
Returns:
200
content: List of data
  • code: 500 content: Internal server error
Return type:
  • code
permission_classes = (<class 'rest_framework.permissions.IsAuthenticated'>,)
post(request)

Create a Data

Parameters:
  • { – “title”: “document_title”, “template”: “template_id”, “xml_content”: “document_content”
  • }
  • request – HTTP request
Returns:

201

content: Created data

  • code: 400 content: Validation error
  • code: 404 content: Template was not found
  • code: 500 content: Internal server error

Return type:

  • code

class rest.data.views.ExecuteLocalKeywordQueryView(**kwargs)

Bases: rest.data.views.ExecuteLocalQueryView

build_query(query, templates, options, title=None)

Build the raw query Prepare the query for a keyword search

Parameters:
  • query – ObjectId
  • templates – ObjectId
  • options – Query options
  • title – title filter
Returns:

The raw query

class rest.data.views.ExecuteLocalQueryView(**kwargs)

Bases: core_main_app.rest.data.abstract_views.AbstractExecuteLocalQueryView

build_response(data_list)

Build the response.

Parameters:data_list – List of data
Returns:The response paginated
post(request)

Execute a query

Url Parameters:

page: page_number
Parameters:
  • get all results (#) –
  • {"query" – “{}”}
  • get all results
  • {"query" – “{}”, “all”: “true”}
  • get all results filtered by title (#) –
  • {"query" – “{}”, “title”: “title_string”}
  • get all results filtered by templates (#) –
  • {"query" – “{}”, “templates”: “[{“id”:”[template_id]”}]”}
  • get all results that verify a given criteria (#) –
  • {"query" – “{“root.element.value”: 2}”}
  • get results using multiple options (#) –
  • {"query" – “{“root.element.value”: 2}”, “templates”: “[{“id”:”template_id”}]”, “all”: “true”}

Warning

Need to backslash double quotes in JSON payload

Examples

../data/query/ ../data/query/?page=2

Parameters:request – HTTP request
Returns:
200
content: List of data
  • code: 400 content: Bad request
  • code: 500 content: Internal server error
Return type:
  • code
rest.data.views.get_by_id_with_template_info(*args, **kwargs)

Retrieve a Data with template information

Examples

../data/get-full?id=[data_id]

Parameters:request – HTTP request
Returns:
200
content: Data
  • code: 400 content: Validation error
  • code: 404 content: Object was not found
  • code: 500 content: Internal server error
Return type:
  • code