From 522a96974184ea3fca500f1a42385770756f3d78 Mon Sep 17 00:00:00 2001
From: "David M. Lee" <dlee@digium.com>
Date: Wed, 24 Apr 2013 21:47:03 +0000
Subject: [PATCH] Document JSON models in resource_*.h

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@386462 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 res/stasis_http/resource_asterisk.h           |  6 +++
 res/stasis_http/resource_bridges.h            |  8 ++++
 res/stasis_http/resource_channels.h           | 30 +++++++++++++++
 res/stasis_http/resource_endpoints.h          |  8 ++++
 res/stasis_http/resource_events.h             | 38 +++++++++++++++++++
 res/stasis_http/resource_playback.h           |  7 ++++
 res/stasis_http/resource_recordings.h         | 14 +++++++
 res/stasis_http/resource_sounds.h             | 10 +++++
 .../stasis_http_resource.h.mustache           | 11 ++++++
 9 files changed, 132 insertions(+)

diff --git a/res/stasis_http/resource_asterisk.h b/res/stasis_http/resource_asterisk.h
index 0d373ccb29..846ca37bc0 100644
--- a/res/stasis_http/resource_asterisk.h
+++ b/res/stasis_http/resource_asterisk.h
@@ -53,4 +53,10 @@ struct ast_get_asterisk_info_args {
  */
 void stasis_http_get_asterisk_info(struct ast_variable *headers, struct ast_get_asterisk_info_args *args, struct stasis_http_response *response);
 
+/*
+ * JSON models
+ *
+ * AsteriskInfo
+ */
+
 #endif /* _ASTERISK_RESOURCE_ASTERISK_H */
diff --git a/res/stasis_http/resource_bridges.h b/res/stasis_http/resource_bridges.h
index db6db205bb..6ae9c31ee9 100644
--- a/res/stasis_http/resource_bridges.h
+++ b/res/stasis_http/resource_bridges.h
@@ -151,4 +151,12 @@ struct ast_record_bridge_args {
  */
 void stasis_http_record_bridge(struct ast_variable *headers, struct ast_record_bridge_args *args, struct stasis_http_response *response);
 
+/*
+ * JSON models
+ *
+ * Bridge
+ * - channels: List[string] (required)
+ * - bridgeType: string (required)
+ */
+
 #endif /* _ASTERISK_RESOURCE_BRIDGES_H */
diff --git a/res/stasis_http/resource_channels.h b/res/stasis_http/resource_channels.h
index 2c78589b7c..975901de5b 100644
--- a/res/stasis_http/resource_channels.h
+++ b/res/stasis_http/resource_channels.h
@@ -241,4 +241,34 @@ struct ast_record_channel_args {
  */
 void stasis_http_record_channel(struct ast_variable *headers, struct ast_record_channel_args *args, struct stasis_http_response *response);
 
+/*
+ * JSON models
+ *
+ * Originated
+ * DialplanCEP
+ * - priority: long (required)
+ * - exten: string (required)
+ * - context: string (required)
+ * Channel
+ * - accountcode: string (required)
+ * - linkedid: string (required)
+ * - name: string (required)
+ * - userfield: string (required)
+ * - caller: CallerID (required)
+ * - creationtime: Date (required)
+ * - state: string (required)
+ * - parkinglot: string (required)
+ * - peeraccount: string (required)
+ * - appl: string (required)
+ * - connected: CallerID (required)
+ * - uniqueid: string (required)
+ * - hangupsource: string (required)
+ * - dialplan: DialplanCEP (required)
+ * - data: string (required)
+ * CallerID
+ * - name: string (required)
+ * - number: string (required)
+ * Dialed
+ */
+
 #endif /* _ASTERISK_RESOURCE_CHANNELS_H */
diff --git a/res/stasis_http/resource_endpoints.h b/res/stasis_http/resource_endpoints.h
index 57f4b91bac..9f5a96e505 100644
--- a/res/stasis_http/resource_endpoints.h
+++ b/res/stasis_http/resource_endpoints.h
@@ -66,4 +66,12 @@ struct ast_get_endpoint_args {
  */
 void stasis_http_get_endpoint(struct ast_variable *headers, struct ast_get_endpoint_args *args, struct stasis_http_response *response);
 
+/*
+ * JSON models
+ *
+ * Endpoint
+ * - technology: string (required)
+ * - name: string (required)
+ */
+
 #endif /* _ASTERISK_RESOURCE_ENDPOINTS_H */
diff --git a/res/stasis_http/resource_events.h b/res/stasis_http/resource_events.h
index 0f58476df5..10799001de 100644
--- a/res/stasis_http/resource_events.h
+++ b/res/stasis_http/resource_events.h
@@ -55,4 +55,42 @@ struct ast_event_websocket_args {
  */
 void stasis_http_event_websocket(struct ast_variable *headers, struct ast_event_websocket_args *args, struct stasis_http_response *response);
 
+/*
+ * JSON models
+ *
+ * DtmfReceived
+ * - digit: string 
+ * - channel: Channel 
+ * BridgeCreated
+ * - bridge: Bridge 
+ * BridgeDestroyed
+ * - bridge: Bridge 
+ * ApplicationReplaced
+ * - application: string 
+ * ChannelLeftBridge
+ * - bridge: Bridge 
+ * - channel: Channel 
+ * StasisStart
+ * - args: List[string] 
+ * - channel_info: Channel 
+ * StasisEnd
+ * - channel_info: Channel 
+ * ChannelStateChange
+ * - channel_info: Channel 
+ * ChannelEnteredBridge
+ * - bridge: Bridge 
+ * - channel: Channel 
+ * Event
+ * - stasis_start: StasisStart 
+ * - channel_entered_bridge: ChannelEnteredBridge 
+ * - channel_left_bridge: ChannelLeftBridge 
+ * - application_replaced: ApplicationReplaced 
+ * - channel_state_change: ChannelStateChange 
+ * - bridge_created: BridgeCreated 
+ * - application: string (required)
+ * - stasis_end: StasisEnd 
+ * - dtmf_received: DtmfReceived 
+ * - bridge_destroyed: BridgeDestroyed 
+ */
+
 #endif /* _ASTERISK_RESOURCE_EVENTS_H */
diff --git a/res/stasis_http/resource_playback.h b/res/stasis_http/resource_playback.h
index 36b05bc049..9fb58e8e4e 100644
--- a/res/stasis_http/resource_playback.h
+++ b/res/stasis_http/resource_playback.h
@@ -81,4 +81,11 @@ struct ast_control_playback_args {
  */
 void stasis_http_control_playback(struct ast_variable *headers, struct ast_control_playback_args *args, struct stasis_http_response *response);
 
+/*
+ * JSON models
+ *
+ * Playback
+ * - id: string (required)
+ */
+
 #endif /* _ASTERISK_RESOURCE_PLAYBACK_H */
diff --git a/res/stasis_http/resource_recordings.h b/res/stasis_http/resource_recordings.h
index ee48e43b77..549a361069 100644
--- a/res/stasis_http/resource_recordings.h
+++ b/res/stasis_http/resource_recordings.h
@@ -190,4 +190,18 @@ struct ast_unmute_recording_args {
  */
 void stasis_http_unmute_recording(struct ast_variable *headers, struct ast_unmute_recording_args *args, struct stasis_http_response *response);
 
+/*
+ * JSON models
+ *
+ * Recording
+ * - id: string (required)
+ * StoredRecording
+ * - durationSeconds: int 
+ * - time: Date 
+ * - id: string (required)
+ * - formats: List[string] (required)
+ * LiveRecording
+ * - id: string (required)
+ */
+
 #endif /* _ASTERISK_RESOURCE_RECORDINGS_H */
diff --git a/res/stasis_http/resource_sounds.h b/res/stasis_http/resource_sounds.h
index f3010a9201..4af8b9dfd7 100644
--- a/res/stasis_http/resource_sounds.h
+++ b/res/stasis_http/resource_sounds.h
@@ -66,4 +66,14 @@ struct ast_get_stored_sound_args {
  */
 void stasis_http_get_stored_sound(struct ast_variable *headers, struct ast_get_stored_sound_args *args, struct stasis_http_response *response);
 
+/*
+ * JSON models
+ *
+ * Sound
+ * - lang: string (required)
+ * - text: string 
+ * - id: string (required)
+ * - formats: List[string] (required)
+ */
+
 #endif /* _ASTERISK_RESOURCE_SOUNDS_H */
diff --git a/rest-api-templates/stasis_http_resource.h.mustache b/rest-api-templates/stasis_http_resource.h.mustache
index 6e7af1648f..bfec07f0bc 100644
--- a/rest-api-templates/stasis_http_resource.h.mustache
+++ b/rest-api-templates/stasis_http_resource.h.mustache
@@ -64,5 +64,16 @@ void stasis_http_{{c_nickname}}(struct ast_variable *headers, struct ast_{{c_nic
 {{/operations}}
 {{/apis}}
 
+/*
+ * JSON models
+ *
+{{#models}}
+ * {{id}}
+{{#properties}}
+ * - {{name}}: {{type}} {{#required}}(required){{/required}}
+{{/properties}}
+{{/models}}
+ */
+
 #endif /* _ASTERISK_RESOURCE_{{name_caps}}_H */
 {{/api_declaration}}
-- 
GitLab