<ConnectionManager Name="Emergency Service" RuntimeVersion="" Help="https://www.cozyroc.com/ssis/emergency-reporting-connection" xmlns="http://www.cozyroc.com/schema/rcm-config-1.0.xsd">
	<Service EndPoint="https://data.emergencyreporting.com/" />
	<Authentication Name="">
		<Documentation>https://developer.emergencyreporting.com/get-access-token-password</Documentation>
		<User>
			<Parameter Name="Client_id">
				<Documentation>Required. Specify client identifier.</Documentation>
			</Parameter>
			<Parameter Name="Client_secret" Type="password">
				<Documentation>Required. Specify client secret.</Documentation>
			</Parameter>
			<Parameter Name="Subscription_key">
				<Documentation>Required. Specify subscription key.</Documentation>
			</Parameter>
			<Parameter Name="Username">
				<Documentation>Required. Specify user name.</Documentation>
			</Parameter>
			<Parameter Name="Password" Type="password">
				<Documentation>Required. Specify password.</Documentation>
			</Parameter>
		</User>
		<Test Url="/agencyusersxor/users/me/settings" />
		<Token Url="{{=new Uri(connection.serverHost).authority()}}/authtoken/Token.php" Method="POST" Result="{{=response.access_token}}">
			<Documentation>https://developer.emergencyreporting.com/get-access-token-password</Documentation>
			<Parameters>
				<Parameter Name="Ocp-Apim-Subscription-Key" Value="{{=connection.user.Subscription_key}}" Type="HttpHeader" />
				<Parameter Name="application/json" Value="{{={ grant_type: 'password', client_id: connection.user.Client_id, client_secret: connection.user.Client_secret, username: connection.user.Username, password: connection.user.Password } }}" Type="Body" />
			</Parameters>
			<Refresh Url="{{=new Uri(connection.serverHost).authority()}}/refreshtoken/Token.php" Method="POST" Result="{{=response.refresh_token}}" Expiration="{{=Date.now() + (response.expires_in - 300) * 1000}}">
				<Documentation>https://developer.emergencyreporting.com/use-refresh-token</Documentation>
				<Parameters>
					<Parameter Name="Ocp-Apim-Subscription-Key" Value="{{=connection.user.Subscription_key}}" Type="HttpHeader" />
					<Parameter Name="application/json" Value="{{={ grant_type: 'refresh_token', client_id: connection.user.Client_id, client_secret: connection.user.Client_secret, refresh_token: token.Refresh } }}" Type="Body" />
				</Parameters>
			</Refresh>
		</Token>
		<Parameters>
			<Parameter Name="Ocp-Apim-Subscription-Key" Value="{{=connection.user.Subscription_key}}" Type="HttpHeader" />
			<Parameter Name="Authorization" Value="{{=token.Access}}" Type="HttpHeader" />
		</Parameters>
	</Authentication>
	<Resources>
		<Template>
			<Field Name="ShortText" DataType="DT_WSTR" Length="255" />
			<Field Name="LongText" DataType="DT_WSTR" Length="1000" />
			<Field Name="DateTime" DataType="DT_DBTIMESTAMP" />
			<Resource Name="Base">
				<Read Result="{{=response}}">
					<Parameters>
						<Parameter Name="offset" Value="{{=parameters.iterator}}" />
						<Parameter Name="limit" Value="{{=parameters.batchSize}}" />
						<Parameter Name="_includeUserParameters" Value="{{=parameters}}" />
					</Parameters>
					<Iterator>
						<Next Value="{{=parseInt(parameters.iterator || 0) + parameters.batchSize}}" />
					</Iterator>
				</Read>
				<Create Method="POST">
					<Parameters>
						<Parameter Name="_includeUserParameters" Value="{{=parameters}}" />
						<Parameter Name="item" Value="{{=item}}" />
					</Parameters>
				</Create>
				<Update Method="PUT">
					<Parameters>
						<Parameter Name="_includeUserParameters" Value="{{=parameters}}" />
						<Parameter Name="item" Value="{{=item}}" />
					</Parameters>
				</Update>
				<Delete Method="DELETE" />
			</Resource>
		</Template>
	</Resources>
	<Script>
		<Module Name="Main">
			<![CDATA[
require("underscore");
require("Uri");
		]]>
		</Module>
	</Script>
</ConnectionManager>