# Turn rewrite engine on
Options +FollowSymlinks
RewriteEngine on

RewriteBase /easymessages/services/easymessagesservices/

# return dashboard info
RewriteRule ^dashboard/info/$   RestController.php?view=loaddashboard [nc,qsa]

# DEBUG WITH OFFSET #
RewriteRule ^chat/list/$   RestController.php?view=all [nc,qsa]
# RewriteRule ^chat/list/([0-9]+)/$   RestController.php?view=all&limit=$1 [nc,qsa]
# RewriteRule ^chat/list/([0-9]+)/([0-9]+)/$   RestController.php?view=all&limit=$1&offset=$2 [nc,qsa]
# DEBUG WITH OFFSET #

# return all chats with status
RewriteRule ^chat/(opened|resolved|closed)/$ RestController.php?view=withstatus&status=$1 [nc,qsa]
RewriteRule ^chatnew/(opened|resolved|closed)/$ RestController.php?view=withstatusnew&status=$1 [nc,qsa]

# return chat details [ chat is locked for other no staff users ]
RewriteRule ^chat/list/([0-9]+)/([0-9]+)/$   RestController.php?view=unique&id=$1&block=$2 [nc,qsa]
RewriteRule ^chatnew/list/([0-9]+)/([0-9]+)/$   RestController.php?view=uniquenew&id=$1&block=$2 [nc,qsa]

# return all personal chats
RewriteRule ^chat/assigned/([0-9]+)/$ RestController.php?view=assigned&id=$1 [nc,qsa]
RewriteRule ^chatnew/assigned/([0-9]+)/$ RestController.php?view=assigned&id=$1 [nc,qsa]

# return account type list
RewriteRule ^account/list/(gmail|facebook|telegram)/$   RestController.php?view=account&service=$1 [nc,qsa]

# return account type
RewriteRule ^account/update/$   RestController.php?view=updateaccount [nc,qsa]

# return account type
RewriteRule ^account/insert/$   RestController.php?view=insertaccount [nc,qsa]

# return mobile user chat
RewriteRule ^chat/user/([0-9]+)/([0-9]+)/$ RestController.php?view=withuser&phone=$1&prefix=$2 [nc,qsa]

# update chat status
RewriteRule ^chat/status/([0-9]+)/(opened|resolved|closed)/$   RestController.php?view=updatestatus&id=$1&status=$2 [nc,qsa]
RewriteRule ^chatnew/status/([0-9]+)/([0-9]+)/(opened|resolved|closed)/$   RestController.php?view=updatestatusnew&id=$1&staff_id=$2&status=$3 [nc,qsa]

# update chat priority
RewriteRule ^chat/priority/([0-9]+)/(low|normal|high)/$   RestController.php?view=updatepriority&id=$1&priority=$2 [nc,qsa]
RewriteRule ^chatnew/priority/([0-9]+)/([0-9]+)/(low|normal|high)/$   RestController.php?view=updateprioritynew&id=$1&staff_id=$2&priority=$3 [nc,qsa]

# update chat allocation
RewriteRule ^chat/allocation/([0-9]+)/([0-9]+)/$   RestController.php?view=updateallocation&id=$1&allocation=$2 [nc,qsa]
RewriteRule ^chatnew/allocation/([0-9]+)/([0-9]+)/([0-9]+)/$   RestController.php?view=updateallocationnew&id=$1&staff_id=$2&allocation=$3 [nc,qsa]

# update chat allocation
RewriteRule ^chatnew/forwarding/([0-9]+)/([0-9]+)/([0-9]+)/(.*)/$   RestController.php?view=forwarding&id=$1&staff_id=$2&allocation=$3&user=$4 [nc,qsa]

# release locked chat
RewriteRule ^chat/release/([0-9]+)/$   RestController.php?view=release&id=$1 [nc,qsa]
RewriteRule ^chatnew/release/([0-9]+)/$   RestController.php?view=releasenew&id=$1 [nc,qsa]

# update chat display
RewriteRule ^chat/view/([0-9]+)/$   RestController.php?view=readchat&id=$1 [nc,qsa]
RewriteRule ^chatnew/view/([0-9]+)/$   RestController.php?view=readchatnew&id=$1 [nc,qsa]

# return unread chats
RewriteRule ^chat/new/$   RestController.php?view=unread [nc,qsa]
RewriteRule ^chatnew/new/$   RestController.php?view=unread [nc,qsa]

# send chat message
RewriteRule ^chat/text/([0-9]+)/([0-9]+)/(.*)$   RestController.php?view=sendtextmessage&id=$1&staff_id=$2&text=$3 [nc,qsa]
# RewriteRule ^chat/text/([@a-zA-Z]+)/(.*)$   RestController.php?view=sendtextmessage&id=$1&text=$2 [nc,qsa]

# new chat message
RewriteRule ^chat/new/text/([0-9]+)/([0-9]+)/([0-9]+)/([0-9]+)/([0-9]+)/(.*)$ RestController.php?view=sendnewtextmessage&user=$1&phonenumber=$2&staff=$3&source=$4&gsm=$5&text=$6 [nc,qsa]

# return all users
RewriteRule ^user/(privato|azienda|agente)/list/$   RestController.php?view=allusers&profile=$1 [nc,qsa]

# return user details
RewriteRule ^user/list/([0-9]+)/$   RestController.php?view=uniqueuser&id=$1 [nc,qsa]

# return user details
RewriteRule ^user/locations/(.*)/$   RestController.php?view=userlocations&query=$1 [nc,qsa]

# delete user
RewriteRule ^user/delete/([0-9]+)/$   RestController.php?view=deleteuser&id=$1 [nc,qsa]

# return all communications
RewriteRule ^communication/list/$   RestController.php?view=allcommunications [nc,qsa]

# MOBILE APP SERVICES
#return device configuration details
RewriteRule ^configuration/([@a-zA-Z]+)/$ RestController.php?view=loadconfiguration&prefix=$1 [nc,qsa]

# update configuration online status
RewriteRule ^configuration/status/([@a-zA-Z]+)/([0-9]+)/$ RestController.php?view=updateconfigurationstatus&prefix=$1&status=$2 [nc,qsa]

# save device PushNotifications Registration Token
RewriteRule ^user/token/(.*)/([a-z]+)/([a-z]+)/(.*)/$   RestController.php?view=savetoken&uuid=$1&platform=$2&application=$3&token=$4 [nc,qsa]

# return iFrame Tool URL
RewriteRule ^iframe/$   RestController.php?view=geturl [nc,qsa]