zygimantus
3/23/2016 - 11:39 AM

getSurveyList.xml

<template name="getSurveyList" xmlns="http://ws.apache.org/ns/synapse">

	<parameter name="page" description="The page" />
	<parameter name="pageSize" description="The pageSize" />
	<parameter name="startDate" description="The startDate" />
	<parameter name="endDate" description="The endDate" />
	<parameter name="title" description="The title" />
	<parameter name="recipientEmail" description="The recipientEmail" />
	<parameter name="isOrderAscending " description="The orderAsc" />
	<parameter name="fields" description="The fields" />

	<sequence>

		<property name="uri.var.page" expression="$func:page" />
		<property name="uri.var.pageSize" expression="$func:pageSize" />
		<property name="uri.var.startDate" expression="$func:startDate" />
		<property name="uri.var.endDate" expression="$func:endDate" />
		<property name="uri.var.title" expression="$func:title" />
		<property name="uri.var.recipientEmail" expression="$func:recipientEmail" />
		<property name="uri.var.isOrderAscending" expression="$func:isOrderAscending" />
		<property name="uri.var.fields" expression="$func:fields" />

		<filter xpath="not(get-property('uri.var.fields') = '' or (not(string(get-property('uri.var.fields')))))">
			<then>
				<payloadFactory media-type="json">
					<format>
						{
							"fields": $1
						}
					</format>
					<args>
						<arg expression="get-property('uri.var.fields')" />
					</args>
				</payloadFactory>
			</then>
		</filter>

		<script language="js">
        	<![CDATA[
			
			var page = mc.getProperty('uri.var.page');
			var pageSize = mc.getProperty('uri.var.pageSize');
			var startDate = mc.getProperty('uri.var.startDate');
			var endDate = mc.getProperty('uri.var.endDate');
			var title = mc.getProperty('uri.var.title');
			var recipientEmail = mc.getProperty('uri.var.recipientEmail');
			var isOrderAscending = mc.getProperty('uri.var.isOrderAscending');
			var fields = mc.getProperty('uri.var.fields');
			var jsonPayload;
			
			if (fields != null && fields != "") {
				jsonPayload = mc.getPayloadJSON();
			} else {
				jsonPayload = {};
			}
			
			if (page != null && page != "") {
				if (isNaN(page)) {
					jsonPayload.page = page;
				} else {
					jsonPayload.page = Math.floor(parseInt(page));
				}
			}
			
			if (pageSize != null && pageSize != "") {
				if (isNaN(pageSize)) {
					jsonPayload.page_size = pageSize;
				} else {
					jsonPayload.page_size = parseInt(pageSize, 10);
				}
			}
			
			if (startDate != null && startDate != "") {
				jsonPayload.start_date = startDate;
			}
			
			if (endDate != null && endDate != "") {
				jsonPayload.end_date = endDate;
			}
			
			if (title != null && title != "") {
				jsonPayload.title = title;
			}
			
			if (recipientEmail != null && recipientEmail != "") {
				jsonPayload.recipient_email = recipientEmail;
			}
			
			if (isOrderAscending != null && isOrderAscending != "") {
				jsonPayload.order_asc = isOrderAscending;
			}
			
			mc.setPayloadJSON(jsonPayload);
			
			]]>
		</script>

		<property name="messageType" scope="axis2" value="application/json" />

		<call>
			<endpoint>
				<http method="post" uri-template="{uri.var.apiUrl}/v2/surveys/get_survey_list?api_key={uri.var.apiKey}" />
			</endpoint>
		</call>

	</sequence>

</template>