Project

From ToxBank API Wiki
(Difference between revisions)
Jump to: navigation, search
(Example in RDF/XML format)
(Security)
 
Line 142: Line 142:
 
= Security =
 
= Security =
  
==== Only a logged in user is allowed to modify content under its URI /user/{id} ====
+
==== SEURAT-1 access ====
  
User and author information can be retrieved by members of groups scrtox,hemibio,notox,cosmos,toxbank,detective,sep.  
+
Project information can be retrieved by members of groups scrtox,hemibio,notox,cosmos,toxbank,detective,sep.  
  
 
The policies can be browsed  
 
The policies can be browsed  
[https://services.toxbank.net/toxbank/admin/policy?search=https%3A%2F%2Fservices.toxbank.net%2Ftoxbank%2Fuser here].
+
[https://services.toxbank.net/toxbank/admin/policy?search=https%3A%2F%2Fservices.toxbank.net%2Ftoxbank%2Fproject here].
 
+
==== Only an admin user allowed to create new users at /user  ====
+
 
+
== Registered users==
+
Should have URI in Toxbank system, and assigned LDAP username.  LDAP/OpenAM backend to be synced with the User service.
+
 
+
== Non-registered users==
+
Could have an user URI in Toxbank system, but not LDAP username
+

Latest revision as of 11:15, 5 February 2013

Project


A project is a REST resource,representing projects from SEURAT cluster, or external projects. A project is identified by its URI, has a name and may be assigned an LDAP group. The LDAP group should be one of the existing ToxBank LDAP groups and accessible via ToxBank OpenAM. External projects may or may not be assigned an LDAP group.

A Protocol is always associated with a project,and the protocol representation includes a link to a Project.

Contents

REST Operations

GET: Retrieve all projects

Description Retrieves available projects
Resource Project
Method GET
URI /project
Parameters none, or ?search=prefix_name or paging parameters: page, pagesize
Header Parameters subjectid:SECURITY-TOKEN
Media Type (input) none
Results The project representation in supported media type
Media Type (output) application/rdf+xml;text/n3;text/uri-list
Status code 200,400,401,402,403

Example: http://toxbanktest1.opentox.org:8080/toxbank/project

cURL example

curl -X GET -H 'Accept:text/uri-list' -H 'subjectid:TOKEN' http://toxbanktest1.opentox.org:8080/toxbank/project
curl -X GET -H 'Accept:application/rdf+xml' -H 'subjectid:TOKEN' http://toxbanktest1.opentox.org:8080/toxbank/project?search=Tox
curl -X GET -H 'Accept:text/uri-list' -H 'subjectid:TOKEN' http://toxbanktest1.opentox.org:8080/toxbank/project?page=0&pagesize=5

GET: Retrieve a single project

Description Retrieves a single project
Resource Project
Method GET
URI /project/{id}
Parameters none
Header Parameters subjectid:SECURITY-TOKEN
Media Type (input) none
Results The project representation in supported media type
Media Type (output) application/rdf+xml;text/n3;text/uri-list
Status code 200,400,401,402,403

Example: http://toxbanktest1.opentox.org:8080/toxbank/project/G1

cURL example

curl -X GET -H 'Accept:application/rdf+xml' -H 'subjectid:TOKEN' http://toxbanktest1.opentox.org:8080/toxbank/project/G1

POST: Create a project

Description Creates a project
Resource Project
Method POST
URI /project
Parameters Any combination of name,ldapgroup
Header Parameters subjectid:SECURITY-TOKEN
Media Type (input) application/x-www-form-urlencoded
Results Task representation in supported MIME formats
Media Type (output) application/rdf+xml;text/n3;text/uri-list
Status code 200,202,400,401,402,403,500

Example: http://toxbanktest1.opentox.org:8080/toxbank/project

cURL example

curl -X POST -H 'subjectid:TOKEN' -H 'Content-Type:application/x-www-form-urlencoded' \
       -d 'title=MANDATORY_VALUE' -d  'ldapgroup=OPTIONAL_VALUE' http://toxbanktest1.opentox.org:8080/toxbank/project

PUT: Update a project

Description Updates the project metadata
Resource Project
Method PUT
URI /project/{id}
Parameters Any combination of name,ldapgroup
Header Parameters subjectid:SECURITY-TOKEN
Media Type (input) application/x-www-form-urlencoded
Results Task representation in supported MIME formats
Media Type (output) application/rdf+xml;text/n3;text/uri-list
Status code 200,202,400,401,402,403,500

cURL example

curl -X PUT -H 'subjectid:TOKEN' -H 'Content-Type:application/x-www-form-urlencoded' \
       -d 'title=MANDATORY_VALUE' -d  'ldapgroup=OPTIONAL_VALUE' http://toxbanktest1.opentox.org:8080/toxbank/project/G3

DELETE: Delete a project

Description Removes an existing project
Resource Project
Method DELETE
URI /project/{id}
Parameters none
Header Parameters subjectid:SECURITY-TOKEN
Media Type (input) none
Results Task representation in supported MIME formats
Media Type (output) application/rdf+xml;text/n3;text/uri-list
Status code 200,202,400,401,402,403,500

cURL example

curl -X DELETE -H 'subjectid:TOKEN' http://toxbanktest1.opentox.org:8080/toxbank/project/G3

RDF representation

Stable version

RDF N3

This RDF representation is automatically generated by the production version of the Toxbank Java client library

Alpha test version

RDF/N3

This RDF representation is automatically generated by the alpha test version of the Toxbank Java client library

Development version

RDF/N3

This RDF representation is automatically generated by the latest version of the Toxbank Java client library

Example in RDF/XML format

<?xml version="1.0"?>
<!DOCTYPE rdf:RDF [
  <!ENTITY tb 'http://onto.toxbank.net/api/'>
  <!ENTITY xsd 'http://www.w3.org/2001/XMLSchema#'>
  <!ENTITY tbo 'http://toxbanktest1.opentox.org:8080/toxbank/organisation/'>
  <!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
  <!ENTITY tbpt 'http://toxbanktest1.opentox.org:8080/toxbank/project/'>
  <!ENTITY dcterms 'http://purl.org/dc/terms/'>]>
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:tbo="&tbo;"
    xmlns:dcterms="&dcterms;"
    xmlns:xsd="&xsd;"
    xmlns:tbpt="&tbpt;"
    xmlns:tb="&tb;">
  <tb:Project rdf:about="&tbpt;G2">
    <tb:subOrganisationOf rdf:resource="SEURAT-1"/>
    <tb:hasAccount rdf:datatype="&xsd;string">toxbank</tb:hasAccount>
    <dcterms:title rdf:datatype="&xsd;string">ToxBank</dcterms:title>
  </tb:Project>
</rdf:RDF>

Security

SEURAT-1 access

Project information can be retrieved by members of groups scrtox,hemibio,notox,cosmos,toxbank,detective,sep.

The policies can be browsed here.

Personal tools