From f61530615e0be70e389a5f84006ad047a1a7168c Mon Sep 17 00:00:00 2001 From: Phil Date: Fri, 10 Aug 2018 03:40:54 +0200 Subject: Changed identity, wip namestore --- source/identity.rst | 232 ++++++++++++++++----------------------------------- source/namestore.rst | 120 +++++++++++++++++++++++++- 2 files changed, 192 insertions(+), 160 deletions(-) diff --git a/source/identity.rst b/source/identity.rst index 79120c3..dd68fae 100644 --- a/source/identity.rst +++ b/source/identity.rst @@ -16,7 +16,7 @@ GET Requests +--------------------+---------------------------------------------------------------+ |**Title** |Returns all identities with name and public key | +--------------------+---------------------------------------------------------------+ -|**URL** |:literal:`/identity` | +|**URL** |:literal:`/identity/all` | +--------------------+---------------------------------------------------------------+ |**Method** |**GET** | +--------------------+---------------------------------------------------------------+ @@ -28,49 +28,33 @@ GET Requests +--------------------+---------------------------------------------------------------+ |**Error Response** |{"error":"*error_desc*"} | +--------------------+---------------------------------------------------------------+ +|**Attention** | The response in this request is an array! | ++--------------------+---------------------------------------------------------------+ | -+--------------------+----------------------------------------------------+ -|**Title** |Returns only a specific identity | -+--------------------+----------------------------------------------------+ -|**URL** |:literal:`/identity?pubkey='public_key'` | -+--------------------+----------------------------------------------------+ -|**Method** |**GET** | -+--------------------+----------------------------------------------------+ -|**URL Params** |none | -+--------------------+----------------------------------------------------+ -|**Data Params** |none | -+--------------------+----------------------------------------------------+ -|**Success Response**|[{"pubkey":"*public_key*", "name":"*name*"}] | -+--------------------+----------------------------------------------------+ -|**Error Response** |{"error":"*error_desc*"} | -+--------------------+----------------------------------------------------+ - -| - -+--------------------+----------------------------------------------------+ -|**Title** |Returns only a specific identity | -+--------------------+----------------------------------------------------+ -|**URL** |:literal:`/identity?name='name'` | -+--------------------+----------------------------------------------------+ -|**Method** |**GET** | -+--------------------+----------------------------------------------------+ -|**URL Params** |none | -+--------------------+----------------------------------------------------+ -|**Data Params** |none | -+--------------------+----------------------------------------------------+ -|**Success Response**|[{"pubkey":"*public_key*", "name":"*name*"}] | -+--------------------+----------------------------------------------------+ -|**Error Response** |{"error":"*error_desc*"} | -+--------------------+----------------------------------------------------+ ++--------------------+----------------------------------------------------------------+ +|**Title** |Returns only a specific identity | ++--------------------+----------------------------------------------------------------+ +|**URL** | ``/identity/pubkey/'public_key'`` or ``/identity/name/'name'`` | ++--------------------+----------------------------------------------------------------+ +|**Method** |**GET** | ++--------------------+----------------------------------------------------------------+ +|**URL Params** |none | ++--------------------+----------------------------------------------------------------+ +|**Data Params** |none | ++--------------------+----------------------------------------------------------------+ +|**Success Response**|{"pubkey":"*public_key*", "name":"*name*"} | ++--------------------+----------------------------------------------------------------+ +|**Error Response** |{"error":"*error_desc*"} | ++--------------------+----------------------------------------------------------------+ | +--------------------+---------------------------------------------------------------+ |**Title** |Returns default identity for specific subsystem | +--------------------+---------------------------------------------------------------+ -|**URL** |:literal:`/identity?subsystem='subsystem'` | +|**URL** |:literal:`/identity/subsystem/'subsystem'` | +--------------------+---------------------------------------------------------------+ |**Method** |**GET** | +--------------------+---------------------------------------------------------------+ @@ -82,8 +66,6 @@ GET Requests +--------------------+---------------------------------------------------------------+ |**Error Response** |{"error":"*error_desc*"} | +--------------------+---------------------------------------------------------------+ -|**Attention** |The response in this request is NOT an array! | -+--------------------+---------------------------------------------------------------+ POST Request @@ -110,134 +92,68 @@ POST Request PUT Request ----------- -+--------------------+----------------------------------------------------+ -|**Title** |Changes name of identity | -+--------------------+----------------------------------------------------+ -|**URL** |:literal:`/identity` | -+--------------------+----------------------------------------------------+ -|**Method** |**PUT** | -+--------------------+----------------------------------------------------+ -|**URL Params** |none | -+--------------------+----------------------------------------------------+ -|**Data Params** | {"newname":'*newname*', "pubkey": '*public_key*'} | -+--------------------+----------------------------------------------------+ -|**Success Response**|Response Code: :literal:`204` (No Content) | -+--------------------+----------------------------------------------------+ -|**Error Response** | | {"error":"*error_desc*"} | -| | | *or* | -| | | Response Code: :literal:`404` (Not Found) | -| | | *or* | -| | | Response Code: :literal:`409` (Conflict) | -+--------------------+----------------------------------------------------+ - -| - -+--------------------+----------------------------------------------------+ -|**Title** |Changes name of identity | -+--------------------+----------------------------------------------------+ -|**URL** |:literal:`/identity` | -+--------------------+----------------------------------------------------+ -|**Method** |**PUT** | -+--------------------+----------------------------------------------------+ -|**URL Params** |none | -+--------------------+----------------------------------------------------+ -|**Data Params** | {"newname":'*newname*', "name": '*name*'} | -+--------------------+----------------------------------------------------+ -|**Success Response**|Response Code: :literal:`204` (No Content) | -+--------------------+----------------------------------------------------+ -|**Error Response** | | {"error":"*error_desc*"} | -| | | *or* | -| | | Response Code: :literal:`404` (Not Found) | -| | | *or* | -| | | Response Code: :literal:`409` (Conflict) | -+--------------------+----------------------------------------------------+ - -| - -+--------------------+------------------------------------------------------+ -|**Title** |Sets identity as default for a subsystem | -+--------------------+------------------------------------------------------+ -|**URL** |:literal:`/identity` | -+--------------------+------------------------------------------------------+ -|**Method** |**PUT** | -+--------------------+------------------------------------------------------+ -|**URL Params** |none | -+--------------------+------------------------------------------------------+ -|**Data Params** | {"subsystem":'*subsystem*', "pubkey": '*public_key*'}| -+--------------------+------------------------------------------------------+ -|**Success Response**|Response Code: :literal:`204` (No Content) | -+--------------------+------------------------------------------------------+ -|**Error Response** | | {"error":"*error_desc*"} | -| | | *or* | -| | | Response Code: :literal:`404` (Not Found) | -| | | *or* | -| | | Response Code: :literal:`409` (Conflict) | -+--------------------+------------------------------------------------------+ ++--------------------+----------------------------------------------------------------+ +|**Title** |Changes name of identity | ++--------------------+----------------------------------------------------------------+ +|**URL** | ``/identity/pubkey/'public_key'`` or ``/identity/name/'name'`` | ++--------------------+----------------------------------------------------------------+ +|**Method** |**PUT** | ++--------------------+----------------------------------------------------------------+ +|**URL Params** |none | ++--------------------+----------------------------------------------------------------+ +|**Data Params** | {"newname":'*newname*'} | ++--------------------+----------------------------------------------------------------+ +|**Success Response**|Response Code: :literal:`204` (No Content) | ++--------------------+----------------------------------------------------------------+ +|**Error Response** | | {"error":"*error_desc*"} | +| | | *or* | +| | | Response Code: :literal:`404` (Not Found) | +| | | *or* | +| | | Response Code: :literal:`409` (Conflict) | ++--------------------+----------------------------------------------------------------+ | -+--------------------+----------------------------------------------------+ -|**Title** |Sets identity as default for a subsystem | -+--------------------+----------------------------------------------------+ -|**URL** |:literal:`/identity` | -+--------------------+----------------------------------------------------+ -|**Method** |**PUT** | -+--------------------+----------------------------------------------------+ -|**URL Params** |none | -+--------------------+----------------------------------------------------+ -|**Data Params** | {"subsystem":'*subsystem*', "name": '*name*'} | -+--------------------+----------------------------------------------------+ -|**Success Response**|Response Code: :literal:`204` (No Content) | -+--------------------+----------------------------------------------------+ -|**Error Response** | | {"error":"*error_desc*"} | -| | | *or* | -| | | Response Code: :literal:`404` (Not Found) | -| | | *or* | -| | | Response Code: :literal:`409` (Conflict) | -+--------------------+----------------------------------------------------+ - ++--------------------+----------------------------------------------------------------+ +|**Title** |Sets identity as default for a subsystem | ++--------------------+----------------------------------------------------------------+ +|**URL** | ``/identity/pubkey/'public_key'`` or ``/identity/name/'name'`` | ++--------------------+----------------------------------------------------------------+ +|**Method** |**PUT** | ++--------------------+----------------------------------------------------------------+ +|**URL Params** |none | ++--------------------+----------------------------------------------------------------+ +|**Data Params** | {"subsystem":'*subsystem*'} | ++--------------------+----------------------------------------------------------------+ +|**Success Response**|Response Code: :literal:`204` (No Content) | ++--------------------+----------------------------------------------------------------+ +|**Error Response** | | {"error":"*error_desc*"} | +| | | *or* | +| | | Response Code: :literal:`404` (Not Found) | +| | | *or* | +| | | Response Code: :literal:`409` (Conflict) | ++--------------------+----------------------------------------------------------------+ DELETE Request -------------- -+--------------------+----------------------------------------------------+ -|**Title** |Deletes specific identity | -+--------------------+----------------------------------------------------+ -|**URL** |:literal:`/identity?pubkey='public_key'` | -+--------------------+----------------------------------------------------+ -|**Method** |**DELETE** | -+--------------------+----------------------------------------------------+ -|**URL Params** |none | -+--------------------+----------------------------------------------------+ -|**Data Params** |none | -+--------------------+----------------------------------------------------+ -|**Success Response**|Response Code: :literal:`204` (No Content) | -+--------------------+----------------------------------------------------+ -|**Error Response** | | {"error":"*error_desc*"} | -| | | *or* | -| | | Response Code: :literal:`404` (Not Found) | -+--------------------+----------------------------------------------------+ - -| - -+--------------------+----------------------------------------------------+ -|**Title** |Deletes specific identity | -+--------------------+----------------------------------------------------+ -|**URL** |:literal:`/identity?name='name'` | -+--------------------+----------------------------------------------------+ -|**Method** |**DELETE** | -+--------------------+----------------------------------------------------+ -|**URL Params** |none | -+--------------------+----------------------------------------------------+ -|**Data Params** |none | -+--------------------+----------------------------------------------------+ -|**Success Response**|Response Code: :literal:`204` (No Content) | -+--------------------+----------------------------------------------------+ -|**Error Response** | | {"error":"*error_desc*"} | -| | | *or* | -| | | Response Code: :literal:`404` (Not Found) | -+--------------------+----------------------------------------------------+ - ++--------------------+----------------------------------------------------------------+ +|**Title** |Deletes specific identity | ++--------------------+----------------------------------------------------------------+ +|**URL** | ``/identity/pubkey/'public_key'`` or ``/identity/name/'name'`` | ++--------------------+----------------------------------------------------------------+ +|**Method** |**DELETE** | ++--------------------+----------------------------------------------------------------+ +|**URL Params** |none | ++--------------------+----------------------------------------------------------------+ +|**Data Params** |none | ++--------------------+----------------------------------------------------------------+ +|**Success Response**|Response Code: :literal:`204` (No Content) | ++--------------------+----------------------------------------------------------------+ +|**Error Response** | | {"error":"*error_desc*"} | +| | | *or* | +| | | Response Code: :literal:`404` (Not Found) | ++--------------------+----------------------------------------------------------------+ OPTIONS Request --------------- diff --git a/source/namestore.rst b/source/namestore.rst index 35eb104..cd2be42 100644 --- a/source/namestore.rst +++ b/source/namestore.rst @@ -3,7 +3,7 @@ GNUnet Namestore API Service Variables in single quotes ``'...'`` can or must be changed according to your specific case. -Namestore communicates with GNS records. +Namestore communicates with GNS records: ``type`` is the type of the record, e.g. "PKEY" for private key. Possible types are listed in :ref:`ref-type`. @@ -15,14 +15,20 @@ Namestore communicates with GNS records. ``label`` is the name of the record. No duplicates are allowed. +Other variables used in the requests: + ``error_desc`` is the description of the returned error. +``public_key`` is the public key of an identity. + +``name`` is the name of an identity. + GET Request ------------ +--------------------+---------------------------------------------------------------------------------------------------------------------------+ -|**Title** |Returns all namestore entries | +|**Title** |Returns all namestore entries from all zones | +--------------------+---------------------------------------------------------------------------------------------------------------------------+ |**URL** |:literal:`/namestore` | +--------------------+---------------------------------------------------------------------------------------------------------------------------+ @@ -37,6 +43,41 @@ GET Request |**Error Response** |{"error":"*error_desc*"} | +--------------------+---------------------------------------------------------------------------------------------------------------------------+ +| + ++--------------------+---------------------------------------------------------------------------------------------------------------------------+ +|**Title** |Returns all namestore entries for one zone specified by its public key | ++--------------------+---------------------------------------------------------------------------------------------------------------------------+ +|**URL** |:literal:`/namestore?pubkey='pubkey'` | ++--------------------+---------------------------------------------------------------------------------------------------------------------------+ +|**Method** |**GET** | ++--------------------+---------------------------------------------------------------------------------------------------------------------------+ +|**URL Params** |none | ++--------------------+---------------------------------------------------------------------------------------------------------------------------+ +|**Data Params** |none | ++--------------------+---------------------------------------------------------------------------------------------------------------------------+ +|**Success Response**|[{"value": "*value*", "type": "*type*", "expiration_time": "*time*", "flag": *flag*, "label": "*name*"},...] | ++--------------------+---------------------------------------------------------------------------------------------------------------------------+ +|**Error Response** |{"error":"*error_desc*"} | ++--------------------+---------------------------------------------------------------------------------------------------------------------------+ + +| + ++--------------------+---------------------------------------------------------------------------------------------------------------------------+ +|**Title** |Returns all namestore entries for one zone specified by its name | ++--------------------+---------------------------------------------------------------------------------------------------------------------------+ +|**URL** |:literal:`/namestore?name='name'` | ++--------------------+---------------------------------------------------------------------------------------------------------------------------+ +|**Method** |**GET** | ++--------------------+---------------------------------------------------------------------------------------------------------------------------+ +|**URL Params** |none | ++--------------------+---------------------------------------------------------------------------------------------------------------------------+ +|**Data Params** |none | ++--------------------+---------------------------------------------------------------------------------------------------------------------------+ +|**Success Response**|[{"value": "*value*", "type": "*type*", "expiration_time": "*time*", "flag": *flag*, "label": "*name*"},...] | ++--------------------+---------------------------------------------------------------------------------------------------------------------------+ +|**Error Response** |{"error":"*error_desc*"} | ++--------------------+---------------------------------------------------------------------------------------------------------------------------+ POST Request ------------ @@ -59,6 +100,46 @@ POST Request | | | Response Code: :literal:`409` (Conflict) | +--------------------+------------------------------------------------------------------------------------------------------+ +| + ++--------------------+------------------------------------------------------------------------------------------------------+ +|**Title** |Creates a namestore entry for one zone specified by its public key | ++--------------------+------------------------------------------------------------------------------------------------------+ +|**URL** |:literal:`/namestore?pubkey='pubkey'` | ++--------------------+------------------------------------------------------------------------------------------------------+ +|**Method** |**POST** | ++--------------------+------------------------------------------------------------------------------------------------------+ +|**URL Params** |none | ++--------------------+------------------------------------------------------------------------------------------------------+ +|**Data Params** |{"value": "*value*", "type": "*type*", "expiration_time": "*time*", "flag": *flag*, "label": "*name*"}| ++--------------------+------------------------------------------------------------------------------------------------------+ +|**Success Response**|Response Code: :literal:`204` (No Content) | ++--------------------+------------------------------------------------------------------------------------------------------+ +|**Error Response** | | {"error":"*error_desc*"} | +| | | *or* | +| | | Response Code: :literal:`409` (Conflict) | ++--------------------+------------------------------------------------------------------------------------------------------+ + +| + ++--------------------+------------------------------------------------------------------------------------------------------+ +|**Title** |Creates a namestore entry for one zone specified by its name | ++--------------------+------------------------------------------------------------------------------------------------------+ +|**URL** |:literal:`/namestore?name='name'` | ++--------------------+------------------------------------------------------------------------------------------------------+ +|**Method** |**POST** | ++--------------------+------------------------------------------------------------------------------------------------------+ +|**URL Params** |none | ++--------------------+------------------------------------------------------------------------------------------------------+ +|**Data Params** |{"value": "*value*", "type": "*type*", "expiration_time": "*time*", "flag": *flag*, "label": "*name*"}| ++--------------------+------------------------------------------------------------------------------------------------------+ +|**Success Response**|Response Code: :literal:`204` (No Content) | ++--------------------+------------------------------------------------------------------------------------------------------+ +|**Error Response** | | {"error":"*error_desc*"} | +| | | *or* | +| | | Response Code: :literal:`409` (Conflict) | ++--------------------+------------------------------------------------------------------------------------------------------+ + DELETE Request -------------- @@ -79,3 +160,38 @@ DELETE Request |**Error Response** | {"error":"*error_desc*"} | +--------------------+----------------------------------------------------+ +| + ++--------------------+----------------------------------------------------+ +| **Title** | Deletes specific namestore entry in specific zone | ++--------------------+----------------------------------------------------+ +|**URL** |:literal:`/namestore?label='label'&pubkey='pubkey'` | ++--------------------+----------------------------------------------------+ +|**Method** | **DELETE** | ++--------------------+----------------------------------------------------+ +|**URL Params** | none | ++--------------------+----------------------------------------------------+ +|**Data Params** | none | ++--------------------+----------------------------------------------------+ +|**Success Response**| Response Code: :literal:`204` (No Content) | ++--------------------+----------------------------------------------------+ +|**Error Response** | {"error":"*error_desc*"} | ++--------------------+----------------------------------------------------+ + +| + ++--------------------+----------------------------------------------------+ +| **Title** | Deletes specific namestore entry in specific zone | ++--------------------+----------------------------------------------------+ +|**URL** |:literal:`/namestore?label='label'&name='name'` | ++--------------------+----------------------------------------------------+ +|**Method** | **DELETE** | ++--------------------+----------------------------------------------------+ +|**URL Params** | none | ++--------------------+----------------------------------------------------+ +|**Data Params** | none | ++--------------------+----------------------------------------------------+ +|**Success Response**| Response Code: :literal:`204` (No Content) | ++--------------------+----------------------------------------------------+ +|**Error Response** | {"error":"*error_desc*"} | ++--------------------+----------------------------------------------------+ -- cgit v1.2.3