diff options
author | Geora Barsky <georab@amdocs.com> | 2018-10-26 12:53:09 -0400 |
---|---|---|
committer | Geora Barsky <georab@amdocs.com> | 2018-11-01 12:36:15 -0400 |
commit | 28d58cedeba041e536d71f82325cb1d32eeba730 (patch) | |
tree | 1b3cc54c3c3d609c7dcbd469ea422d15ec022b94 /src/main/resources | |
parent | 49cc90f205535596dfdad0cf81a5bbf6ad93f5f8 (diff) |
Enhance model to support L2 Fabric
Adding JUnit tests and swagger specs
Issue-ID: LOG-780
Change-Id: Iaf7cb19a6310ebdeef085a94f00623041aa4f89b
Signed-off-by: Geora Barsky <georab@amdocs.com>
Diffstat (limited to 'src/main/resources')
-rw-r--r-- | src/main/resources/commonModel.html | 1741 | ||||
-rw-r--r-- | src/main/resources/markdown.hbs | 108 | ||||
-rw-r--r-- | src/main/resources/operation.hbs | 80 | ||||
-rw-r--r-- | src/main/resources/security.hbs | 88 | ||||
-rw-r--r-- | src/main/resources/strapdown.html.hbs | 10 |
5 files changed, 2027 insertions, 0 deletions
diff --git a/src/main/resources/commonModel.html b/src/main/resources/commonModel.html new file mode 100644 index 0000000..3723c3b --- /dev/null +++ b/src/main/resources/commonModel.html @@ -0,0 +1,1741 @@ +<!DOCTYPE html> +<html> +<title>API Document</title> + +<xmp theme="united" style="display:none;"> +#Swagger Specification for POMBA Common Model + + +## HTTP://host:port/XXXcontextbuilder + + +POMBA Audit Context Builder API + + + +**Version** 1.4.0-SNAPSHOT + +[**Terms of Service**]() + + + + + + + + + + + + +# APIs + + +## /service/context + + +### GET + +<a id="getContext">Get Common model context from Context Builder</a> + + + + + + + + + +#### Request + + + +##### Parameters + +<table border="1"> + <tr> + <th>Name</th> + <th>Located in</th> + <th>Required</th> + <th>Description</th> + <th>Default</th> + <th>Schema</th> + </tr> + + + +<tr> + <th>X-FromAppId</th> + <td>header</td> + <td>yes</td> + <td> + ID that identifies calling application + + </td> + <td> - </td> + + + <td>string </td> + + +</tr> + +<tr> + <th>X-TransactionId</th> + <td>header</td> + <td>no</td> + <td> + Transaction ID published by the calling application + + </td> + <td> - </td> + + + <td>string </td> + + +</tr> + +<tr> + <th>serviceInstanceId</th> + <td>query</td> + <td>yes</td> + <td> + Instance ID of the audited service + + </td> + <td> - </td> + + + <td>string </td> + + +</tr> + +<tr> + <th>modelVersionId</th> + <td>query</td> + <td>no</td> + <td> + Unique identifier of a SDC model version + + </td> + <td> - </td> + + + <td>string </td> + + +</tr> + +<tr> + <th>modelInvariantId</th> + <td>query</td> + <td>no</td> + <td> + Global identifier of each SDC asset + + </td> + <td> - </td> + + + <td>string </td> + + +</tr> + + +</table> + + + +#### Response + +**Content-Type: ** application/json + + +| Status Code | Reason | Response Model | +|-------------|-------------|----------------| +| 200 | successful operation | <a href="#/definitions/ModelContext">ModelContext</a>| +| 400 | Bad request | - | +| 401 | Unauthorized | - | +| 404 | Service not available | - | +| 500 | Unexpected Runtime error | - | + + + + + + + + + + + + + + + + + + + +# Definitions + +## <a name="/definitions/Attribute">Attribute</a> + +<table border="1"> + <tr> + <th>name</th> + <th>type</th> + <th>required</th> + <th>description</th> + <th>example</th> + </tr> + + <tr> + <td>name</td> + <td> + + + string + + </td> + <td>optional</td> + <td>Name of the attribute</td> + <td></td> + </tr> + + <tr> + <td>value</td> + <td> + + + string + + </td> + <td>optional</td> + <td>Value of the attribute</td> + <td></td> + </tr> + + <tr> + <td>dataQuality</td> + <td> + + <a href="#/definitions/DataQuality">DataQuality</a> + + + </td> + <td>optional</td> + <td>Data Quality indicator of the attribute</td> + <td></td> + </tr> + +</table> + +## <a name="/definitions/DataQuality">DataQuality</a> + +<table border="1"> + <tr> + <th>name</th> + <th>type</th> + <th>required</th> + <th>description</th> + <th>example</th> + </tr> + + <tr> + <td>status</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>errorText</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + +</table> + +## <a name="/definitions/LInterface">LInterface</a> + +<table border="1"> + <tr> + <th>name</th> + <th>type</th> + <th>required</th> + <th>description</th> + <th>example</th> + </tr> + + <tr> + <td>uuid</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>name</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>dataQuality</td> + <td> + + <a href="#/definitions/DataQuality">DataQuality</a> + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>port</td> + <td> + + <a href="#/definitions/Port">Port</a> + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>attributes</td> + <td> + + + array[<a href="#/definitions/Attribute">Attribute</a>] + + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + +</table> + +## <a name="/definitions/LogicalLink">LogicalLink</a> + +<table border="1"> + <tr> + <th>name</th> + <th>type</th> + <th>required</th> + <th>description</th> + <th>example</th> + </tr> + + <tr> + <td>uuid</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>name</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>modelVersionID</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>modelInvariantUUID</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>dataQuality</td> + <td> + + <a href="#/definitions/DataQuality">DataQuality</a> + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>attributes</td> + <td> + + + array[<a href="#/definitions/Attribute">Attribute</a>] + + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + +</table> + +## <a name="/definitions/ModelContext">ModelContext</a> + +<table border="1"> + <tr> + <th>name</th> + <th>type</th> + <th>required</th> + <th>description</th> + <th>example</th> + </tr> + + <tr> + <td>service</td> + <td> + + <a href="#/definitions/Service">Service</a> + + + </td> + <td>optional</td> + <td>Service object of the model</td> + <td></td> + </tr> + + <tr> + <td>dataQuality</td> + <td> + + <a href="#/definitions/DataQuality">DataQuality</a> + + + </td> + <td>optional</td> + <td>Data Quality indicator</td> + <td></td> + </tr> + + <tr> + <td>networkList</td> + <td> + + + array[<a href="#/definitions/Network">Network</a>] + + + + </td> + <td>optional</td> + <td>List of networks associated with the service instance</td> + <td></td> + </tr> + + <tr> + <td>attributes</td> + <td> + + + array[<a href="#/definitions/Attribute">Attribute</a>] + + + + </td> + <td>optional</td> + <td>List of attributes</td> + <td></td> + </tr> + + <tr> + <td>pnfs</td> + <td> + + + array[<a href="#/definitions/PNF">PNF</a>] + + + + </td> + <td>optional</td> + <td>List of PNF associated with the service instance</td> + <td></td> + </tr> + + <tr> + <td>vnfs</td> + <td> + + + array[<a href="#/definitions/VNF">VNF</a>] + + + + </td> + <td>optional</td> + <td>List of VNF associated with the service instance</td> + <td></td> + </tr> + +</table> + +## <a name="/definitions/Network">Network</a> + +<table border="1"> + <tr> + <th>name</th> + <th>type</th> + <th>required</th> + <th>description</th> + <th>example</th> + </tr> + + <tr> + <td>uuid</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>name</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>modelVersionID</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>modelInvariantUUID</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>dataQuality</td> + <td> + + <a href="#/definitions/DataQuality">DataQuality</a> + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>networkPolicies</td> + <td> + + + array[<a href="#/definitions/NetworkPolicy">NetworkPolicy</a>] + + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>attributes</td> + <td> + + + array[<a href="#/definitions/Attribute">Attribute</a>] + + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + +</table> + +## <a name="/definitions/NetworkPolicy">NetworkPolicy</a> + +<table border="1"> + <tr> + <th>name</th> + <th>type</th> + <th>required</th> + <th>description</th> + <th>example</th> + </tr> + + <tr> + <td>uuid</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>name</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>dataQuality</td> + <td> + + <a href="#/definitions/DataQuality">DataQuality</a> + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>attributes</td> + <td> + + + array[<a href="#/definitions/Attribute">Attribute</a>] + + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + +</table> + +## <a name="/definitions/PInterface">PInterface</a> + +<table border="1"> + <tr> + <th>name</th> + <th>type</th> + <th>required</th> + <th>description</th> + <th>example</th> + </tr> + + <tr> + <td>uuid</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>name</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>dataQuality</td> + <td> + + <a href="#/definitions/DataQuality">DataQuality</a> + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>physicalLinkList</td> + <td> + + + array[<a href="#/definitions/PhysicalLink">PhysicalLink</a>] + + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>port</td> + <td> + + <a href="#/definitions/Port">Port</a> + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>attributes</td> + <td> + + + array[<a href="#/definitions/Attribute">Attribute</a>] + + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + +</table> + +## <a name="/definitions/PNF">PNF</a> + +<table border="1"> + <tr> + <th>name</th> + <th>type</th> + <th>required</th> + <th>description</th> + <th>example</th> + </tr> + + <tr> + <td>uuid</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>name</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>modelVersionID</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>modelInvariantUUID</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>dataQuality</td> + <td> + + <a href="#/definitions/DataQuality">DataQuality</a> + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>attributes</td> + <td> + + + array[<a href="#/definitions/Attribute">Attribute</a>] + + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + +</table> + +## <a name="/definitions/PhysicalLink">PhysicalLink</a> + +<table border="1"> + <tr> + <th>name</th> + <th>type</th> + <th>required</th> + <th>description</th> + <th>example</th> + </tr> + + <tr> + <td>uuid</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>name</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>dataQuality</td> + <td> + + <a href="#/definitions/DataQuality">DataQuality</a> + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>attributes</td> + <td> + + + array[<a href="#/definitions/Attribute">Attribute</a>] + + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + +</table> + +## <a name="/definitions/Port">Port</a> + +<table border="1"> + <tr> + <th>name</th> + <th>type</th> + <th>required</th> + <th>description</th> + <th>example</th> + </tr> + + <tr> + <td>uuid</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>name</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>dataQuality</td> + <td> + + <a href="#/definitions/DataQuality">DataQuality</a> + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>attributes</td> + <td> + + + array[<a href="#/definitions/Attribute">Attribute</a>] + + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + +</table> + +## <a name="/definitions/Pserver">Pserver</a> + +<table border="1"> + <tr> + <th>name</th> + <th>type</th> + <th>required</th> + <th>description</th> + <th>example</th> + </tr> + + <tr> + <td>uuid</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>name</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>dataQuality</td> + <td> + + <a href="#/definitions/DataQuality">DataQuality</a> + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>logicalLinkList</td> + <td> + + + array[<a href="#/definitions/LogicalLink">LogicalLink</a>] + + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>attributes</td> + <td> + + + array[<a href="#/definitions/Attribute">Attribute</a>] + + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>pinterfaceList</td> + <td> + + + array[<a href="#/definitions/PInterface">PInterface</a>] + + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + +</table> + +## <a name="/definitions/Service">Service</a> + +<table border="1"> + <tr> + <th>name</th> + <th>type</th> + <th>required</th> + <th>description</th> + <th>example</th> + </tr> + + <tr> + <td>uuid</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>name</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>modelVersionID</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>modelInvariantUUID</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>dataQuality</td> + <td> + + <a href="#/definitions/DataQuality">DataQuality</a> + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>attributes</td> + <td> + + + array[<a href="#/definitions/Attribute">Attribute</a>] + + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + +</table> + +## <a name="/definitions/VFModule">VFModule</a> + +<table border="1"> + <tr> + <th>name</th> + <th>type</th> + <th>required</th> + <th>description</th> + <th>example</th> + </tr> + + <tr> + <td>uuid</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>name</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>modelVersionID</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>modelInvariantUUID</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>modelCustomizationUUID</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>maxInstances</td> + <td> + + + integer (int32) + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>minInstances</td> + <td> + + + integer (int32) + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>dataQuality</td> + <td> + + <a href="#/definitions/DataQuality">DataQuality</a> + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>vms</td> + <td> + + + array[<a href="#/definitions/VM">VM</a>] + + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>networks</td> + <td> + + + array[<a href="#/definitions/Network">Network</a>] + + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>attributes</td> + <td> + + + array[<a href="#/definitions/Attribute">Attribute</a>] + + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + +</table> + +## <a name="/definitions/VM">VM</a> + +<table border="1"> + <tr> + <th>name</th> + <th>type</th> + <th>required</th> + <th>description</th> + <th>example</th> + </tr> + + <tr> + <td>uuid</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>name</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>dataQuality</td> + <td> + + <a href="#/definitions/DataQuality">DataQuality</a> + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>attributes</td> + <td> + + + array[<a href="#/definitions/Attribute">Attribute</a>] + + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>linterfaceList</td> + <td> + + + array[<a href="#/definitions/LInterface">LInterface</a>] + + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>pserver</td> + <td> + + <a href="#/definitions/Pserver">Pserver</a> + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + +</table> + +## <a name="/definitions/VNF">VNF</a> + +<table border="1"> + <tr> + <th>name</th> + <th>type</th> + <th>required</th> + <th>description</th> + <th>example</th> + </tr> + + <tr> + <td>uuid</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>name</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>type</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>modelVersionID</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>modelInvariantUUID</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>dataQuality</td> + <td> + + <a href="#/definitions/DataQuality">DataQuality</a> + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>vfModules</td> + <td> + + + array[<a href="#/definitions/VFModule">VFModule</a>] + + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>vnfcs</td> + <td> + + + array[<a href="#/definitions/VNFC">VNFC</a>] + + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>networks</td> + <td> + + + array[<a href="#/definitions/Network">Network</a>] + + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>attributes</td> + <td> + + + array[<a href="#/definitions/Attribute">Attribute</a>] + + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + +</table> + +## <a name="/definitions/VNFC">VNFC</a> + +<table border="1"> + <tr> + <th>name</th> + <th>type</th> + <th>required</th> + <th>description</th> + <th>example</th> + </tr> + + <tr> + <td>uuid</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>name</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>modelVersionID</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>modelInvariantUUID</td> + <td> + + + string + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>dataQuality</td> + <td> + + <a href="#/definitions/DataQuality">DataQuality</a> + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + + <tr> + <td>attributes</td> + <td> + + + array[<a href="#/definitions/Attribute">Attribute</a>] + + + + </td> + <td>optional</td> + <td>-</td> + <td></td> + </tr> + +</table> + + + +</xmp> + +<script src="http://strapdownjs.com/v/0.2/strapdown.js"></script> +</html>
\ No newline at end of file diff --git a/src/main/resources/markdown.hbs b/src/main/resources/markdown.hbs new file mode 100644 index 0000000..d1375ac --- /dev/null +++ b/src/main/resources/markdown.hbs @@ -0,0 +1,108 @@ +#{{#info}}{{title}} + + +## {{join schemes " | "}}://{{host}}{{basePath}} + + +{{description}} + +{{#contact}} +[**Contact the developer**](mailto:{{email}}) +{{/contact}} + +**Version** {{version}} + +[**Terms of Service**]({{termsOfService}}) + +{{#license}}[**{{name}}**]({{url}}){{/license}} + +{{/info}} + +{{#if consumes}}**Consumes:** {{join consumes ", "}}{{/if}} + +{{#if produces}}**Produces:** {{join produces ", "}}{{/if}} + +{{#if securityDefinitions}} +# Security Definitions +{{/if}} +{{> security}} + +# APIs + +{{#each paths}} +## {{@key}} +{{#this}} +{{#get}} +### GET +{{> operation}} +{{/get}} + +{{#put}} +### PUT +{{> operation}} +{{/put}} + +{{#post}} +### POST + +{{> operation}} + +{{/post}} + +{{#delete}} +### DELETE +{{> operation}} +{{/delete}} + +{{#option}} +### OPTION +{{> operation}} +{{/option}} + +{{#patch}} +### PATCH +{{> operation}} +{{/patch}} + +{{#head}} +### HEAD +{{> operation}} +{{/head}} + +{{/this}} +{{/each}} + +# Definitions +{{#each definitions}} +## <a name="/definitions/{{@key}}">{{@key}}</a> + +<table border="1"> + <tr> + <th>name</th> + <th>type</th> + <th>required</th> + <th>description</th> + <th>example</th> + </tr> + {{#each this.properties}} + <tr> + <td>{{@key}}</td> + <td> + {{#ifeq type "array"}} + {{#items.$ref}} + {{type}}[<a href="{{items.$ref}}">{{basename items.$ref}}</a>] + {{/items.$ref}} + {{^items.$ref}}{{type}}[{{items.type}}]{{/items.$ref}} + {{else}} + {{#$ref}}<a href="{{$ref}}">{{basename $ref}}</a>{{/$ref}} + {{^$ref}}{{type}}{{#format}} ({{format}}){{/format}}{{/$ref}} + {{/ifeq}} + </td> + <td>{{#required}}required{{/required}}{{^required}}optional{{/required}}</td> + <td>{{#description}}{{{description}}}{{/description}}{{^description}}-{{/description}}</td> + <td>{{example}}</td> + </tr> + {{/each}} +</table> +{{/each}} + diff --git a/src/main/resources/operation.hbs b/src/main/resources/operation.hbs new file mode 100644 index 0000000..3d7d88e --- /dev/null +++ b/src/main/resources/operation.hbs @@ -0,0 +1,80 @@ +{{#deprecated}}-deprecated-{{/deprecated}} +<a id="{{operationId}}">{{summary}}</a> + +{{description}} + +{{#if externalDocs.url}}{{externalDocs.description}}. [See external documents for more details]({{externalDocs.url}}) +{{/if}} + +{{#if security}} +#### Security +{{/if}} + +{{#security}} +{{#each this}} +* {{@key}} +{{#this}} * {{this}} +{{/this}} +{{/each}} +{{/security}} + +#### Request + +{{#if consumes}} +**Content-Type: ** {{join consumes ", "}}{{/if}} + +##### Parameters +{{#if parameters}} +<table border="1"> + <tr> + <th>Name</th> + <th>Located in</th> + <th>Required</th> + <th>Description</th> + <th>Default</th> + <th>Schema</th> + </tr> +{{/if}} + +{{#parameters}} +<tr> + <th>{{name}}</th> + <td>{{in}}</td> + <td>{{#if required}}yes{{else}}no{{/if}}</td> + <td> + {{description}}{{#if pattern}} (**Pattern**: `{{pattern}}`){{/if}} + {{#if enum}} + <p> + <b>Allowable values</b>: {{#join enum ", "}} {{this}}{{/join}} + </p> + {{/if}} + </td> + <td>{{#if defaultValue}}{{defaultValue}}{{else}} - {{/if}}</td> +{{#ifeq in "body"}} + <td> + {{#ifeq schema.type "array"}}Array[<a href="{{schema.items.$ref}}">{{basename schema.items.$ref}}</a>]{{/ifeq}} + {{#schema.$ref}}<a href="{{schema.$ref}}">{{basename schema.$ref}}</a> {{/schema.$ref}} + </td> +{{else}} + {{#ifeq type "array"}} + <td>Array[{{items.type}}] ({{collectionFormat}})</td> + {{else}} + <td>{{type}} {{#format}}({{format}}){{/format}}</td> + {{/ifeq}} +{{/ifeq}} +</tr> +{{/parameters}} +{{#if parameters}} +</table> +{{/if}} + + +#### Response + +{{#if produces}}**Content-Type: ** {{join produces ", "}}{{/if}} + + +| Status Code | Reason | Response Model | +|-------------|-------------|----------------| +{{#each responses}}| {{@key}} | {{description}} | {{#schema.$ref}}<a href="{{schema.$ref}}">{{basename schema.$ref}}</a>{{/schema.$ref}}{{#ifeq schema.type "array"}}Array[<a href="{{schema.items.$ref}}">{{basename schema.items.$ref}}</a>]{{/ifeq}}{{^schema}} - {{/schema}}| +{{/each}} diff --git a/src/main/resources/security.hbs b/src/main/resources/security.hbs new file mode 100644 index 0000000..04f86e8 --- /dev/null +++ b/src/main/resources/security.hbs @@ -0,0 +1,88 @@ +{{#each securityDefinitions}} +### {{@key}} +{{#this}} +{{#ifeq type "oauth2"}} +<table> + <tr> + <th>type</th> + <th colspan="2">{{type}}</th> + </tr> +{{#if description}} + <tr> + <th>description</th> + <th colspan="2">{{description}}</th> + </tr> +{{/if}} +{{#if authorizationUrl}} + <tr> + <th>authorizationUrl</th> + <th colspan="2">{{authorizationUrl}}</th> + </tr> +{{/if}} +{{#if flow}} + <tr> + <th>flow</th> + <th colspan="2">{{flow}}</th> + </tr> +{{/if}} +{{#if tokenUrl}} + <tr> + <th>tokenUrl</th> + <th colspan="2">{{tokenUrl}}</th> + </tr> +{{/if}} +{{#if scopes}} + <tr> + <td rowspan="3">scopes</td> +{{#each scopes}} + <td>{{@key}}</td> + <td>{{this}}</td> + </tr> + <tr> +{{/each}} + </tr> +{{/if}} +</table> +{{/ifeq}} +{{#ifeq type "apiKey"}} +<table> + <tr> + <th>type</th> + <th colspan="2">{{type}}</th> + </tr> +{{#if description}} + <tr> + <th>description</th> + <th colspan="2">{{description}}</th> + </tr> +{{/if}} +{{#if name}} + <tr> + <th>name</th> + <th colspan="2">{{name}}</th> + </tr> +{{/if}} +{{#if in}} + <tr> + <th>in</th> + <th colspan="2">{{in}}</th> + </tr> +{{/if}} +</table> +{{/ifeq}} +{{#ifeq type "basic"}} +<table> + <tr> + <th>type</th> + <th colspan="2">{{type}}</th> + </tr> +{{#if description}} + <tr> + <th>description</th> + <th colspan="2">{{description}}</th> + </tr> +{{/if}} +</table> +{{/ifeq}} +{{/this}} +{{/each}}
\ No newline at end of file diff --git a/src/main/resources/strapdown.html.hbs b/src/main/resources/strapdown.html.hbs new file mode 100644 index 0000000..ec02669 --- /dev/null +++ b/src/main/resources/strapdown.html.hbs @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html> +<title>API Document</title> + +<xmp theme="united" style="display:none;"> +{{>markdown}} +</xmp> + +<script src="http://strapdownjs.com/v/0.2/strapdown.js"></script> +</html>
\ No newline at end of file |