From: Matthew Jordan Date: Fri, 10 Apr 2015 14:55:54 +0000 (+0000) Subject: res/ari: Fix model validation for ChannelHold event X-Git-Tag: 13.4.0-rc1~132 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c9791dba1fb77dffd9b8030a5b06aa16e195e381;p=thirdparty%2Fasterisk.git res/ari: Fix model validation for ChannelHold event When the ChannelHold event was added, the 'musicclass' parameter was erroneously removed. This caused the ChannelHold events to be rejected as they failed model validation. This patch updates the Swagger schema such that it now properly reflects the event that is being created. Hooray for tests that catch things like this. git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/13@434597 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/res/ari/ari_model_validators.c b/res/ari/ari_model_validators.c index 007d7657fd..97435d0252 100644 --- a/res/ari/ari_model_validators.c +++ b/res/ari/ari_model_validators.c @@ -3245,6 +3245,15 @@ int ast_ari_validate_channel_hold(struct ast_json *json) res = 0; } } else + if (strcmp("musicclass", ast_json_object_iter_key(iter)) == 0) { + int prop_is_valid; + prop_is_valid = ast_ari_validate_string( + ast_json_object_iter_value(iter)); + if (!prop_is_valid) { + ast_log(LOG_ERROR, "ARI ChannelHold field musicclass failed validation\n"); + res = 0; + } + } else { ast_log(LOG_ERROR, "ARI ChannelHold has undocumented field %s\n", diff --git a/res/ari/ari_model_validators.h b/res/ari/ari_model_validators.h index 9cb1bc32cb..1fafba3b5d 100644 --- a/res/ari/ari_model_validators.h +++ b/res/ari/ari_model_validators.h @@ -1434,6 +1434,7 @@ ari_validator ast_ari_validate_application_fn(void); * - application: string (required) * - timestamp: Date * - channel: Channel (required) + * - musicclass: string * ChannelLeftBridge * - type: string (required) * - application: string (required) diff --git a/rest-api/api-docs/events.json b/rest-api/api-docs/events.json index f5e61f9ad9..35c9377e50 100644 --- a/rest-api/api-docs/events.json +++ b/rest-api/api-docs/events.json @@ -608,6 +608,11 @@ "required": true, "type": "Channel", "description": "The channel that initiated the hold event." + }, + "musicclass": { + "required": false, + "type": "string", + "description": "The music on hold class that the initiator requested." } } },