|
|
(20 intermediate revisions by the same user not shown) |
Line 2: |
Line 2: |
|
| |
|
| == Timeline == | | == Timeline == |
| The Alpha release for the write API is planned for the W/C 19th of September. This will allow at least a subset of the initially panned urls to be tested, including authentication. | | The Alpha release for the write API is planned for the W/C <strike>19th of September</strike> 24th October. This will allow at least a subset of the initially panned urls to be tested, including authentication. |
|
| |
|
| == Initially supported urls == | | == Initially supported urls == |
| | | Details of the methods implemented in the write API can be found on [[GOCDB/Write_API/Technical_Documentation#Supported_methods|Technical Documentation page]]. |
| The following table shows the methods and URLs that we plan to implement
| |
| | |
| {| cellspacing="1" cellpadding="1" border="1" class="wikitable"
| |
| |-
| |
| ! scope="col"| '''Method'''
| |
| ! scope="col"| '''URL'''
| |
| ! scope="col"| '''Function'''
| |
| |-
| |
| | POST
| |
| | <apiurl>/v5/ServiceEndPoint/<End point ID>/ExtensionProperties
| |
| | Adds the extension properties defined in the request to the SE with the given ID (fails if there are already extension properties)
| |
| |-
| |
| | PUT
| |
| | <apiurl>/v5/ServiceEndPoint/<End point ID>/ExtensionProperties
| |
| | replace the extension properties for the SE with the given ID (fails if there are already extension properties) with those in the request (?if non defined?)
| |
| |-
| |
| | DELTE
| |
| | <apiurl>/v5/ServiceEndPoint/<End point ID>/ExtensionProperties
| |
| | Removes all the extension properties for the SE with the given ID (fails if there are already extension properties) (?if non defined?)
| |
| |-
| |
| | POST
| |
| | <apiurl>/v5/ServiceEndPoint/<End point ID>/ExtensionProperties/<name>
| |
| | Adds an extension property of the named SE with the named name and value in the request (fails if property with that name is already defined)
| |
| |-
| |
| | PUT
| |
| | <apiurl>/v5/ServiceEndPoint/<End point ID>/ExtensionProperties/<name>
| |
| | Updates the extension property of the named SE with the named name and value in the request (?If property is not already defined)
| |
| |-
| |
| | DELTE
| |
| | <apiurl>/v5/ServiceEndPoint/<End point ID>/ExtensionProperties/<name>
| |
| | Removes the named extension property from the named SE
| |
| |-
| |
| | POST
| |
| | <apiurl>/v5/Service/<Service ID>/ExtensionProperties
| |
| | Adds the extension properties defined in the request to the service with the given ID (fails if there are already extension properties)
| |
| |-
| |
| | PUT
| |
| | <apiurl>/v5/Service/<Service ID>/ExtensionProperties
| |
| | Replace the extension properties for the service with the given ID (fails if there are already extension properties) with those in the request (?if non defined?)
| |
| |-
| |
| | DELTE
| |
| | <apiurl>/v5/Service/<Service ID>/ExtensionProperties
| |
| | Removes all the extension properties for the service with the given ID (fails if there are already extension properties) (?if non defined?)
| |
| |-
| |
| | POST
| |
| | <apiurl>/v5/Service/<Service ID>/ExtensionProperties/<name>
| |
| | Adds an extension property of the named service with the named name and value in the request (fails if property with that name is already defined)
| |
| |-
| |
| | PUT
| |
| | <apiurl>/v5/Service/<Service ID>/ExtensionProperties/<name>
| |
| | Updates the extension property of the named service with the named name and value in the request (?If property is not already defined)
| |
| |-
| |
| | DELTE
| |
| | <apiurl>/v5/Service/<Service ID>/ExtensionProperties/<name>
| |
| | Removes the named extension property from the named service
| |
| |-
| |
| | POST
| |
| | <apiurl>/v5/Site/<Site ID>/ExtensionProperties
| |
| | Adds the extension properties defined in the request to the Site with the given ID (fails if there are already extension properties)
| |
| |-
| |
| | PUT
| |
| | <apiurl>/v5/Site/<Site ID>/ExtensionProperties
| |
| | Replace the extension properties for the site with the given ID (fails if there are already extension properties) with those in the request (?if non defined?)
| |
| |-
| |
| | DELTE
| |
| | <apiurl>/v5/Site/<Site ID>/ExtensionProperties
| |
| | Removes all the extension properties for the site with the given ID (fails if there are already extension properties) (?if non defined?)
| |
| |-
| |
| | POST
| |
| | <apiurl>/v5/Site/<Site ID>/ExtensionProperties/<name>
| |
| | Adds an extension property of the named site with the named name and value in the request (fails if property with that name is already defined)
| |
| |-
| |
| | PUT
| |
| | <apiurl>/v5/Site/<Site ID>/ExtensionProperties/<name>
| |
| | Updates the extension property of the named site with the named name and value in the request (?If property is not already defined)
| |
| |-
| |
| | DELTE
| |
| | <apiurl>/v5/Site/<Site ID>/ExtensionProperties/<name>
| |
| | Removes the named extension property from the named site
| |
| |} | |
|
| |
|
| == Proposed authorisation mechanism == | | == Proposed authorisation mechanism == |
| The proposed method for authentication for the write API is initially by X509 certificate. Each site will be able to define a list of authorised robot DNs that may make changes through the write API. The same authentication mechanism will be used as for the rest of GOCDB. | | The proposed method for authentication for the write API is initially by X509 certificate. Each site will be able to define a list of authorised robot DNs that may make changes through the write API. The same authentication mechanism will be used as for the rest of GOCDB. |
| | |
| | == Github == |
| | The current working branch for this work can be found [https://github.com/GRyall/gocdb/tree/write-api here]. |