@@ -24,13 +24,13 @@ RequestValidationResult ValidateCancelRequest(
2424
2525 void ExtendQueueCookie (
2626 string eventId ,
27- int cookieValidityMinute ,
27+ int cookieValidityMinutes ,
2828 string secretKey ) ;
2929 }
3030
3131 internal class UserInQueueService : IUserInQueueService
3232 {
33- internal const string SDK_VERSION = "3.4 .0" ;
33+ internal const string SDK_VERSION = "3.5 .0" ;
3434 private readonly IUserInQueueStateRepository _userInQueueStateRepository ;
3535
3636 public UserInQueueService ( IUserInQueueStateRepository queueStateRepository )
@@ -45,19 +45,24 @@ public RequestValidationResult ValidateQueueRequest(
4545 string customerId ,
4646 string secretKey )
4747 {
48- var state = _userInQueueStateRepository . GetState ( config . EventId , secretKey ) ;
48+ var state = _userInQueueStateRepository . GetState ( config . EventId , config . CookieValidityMinute , secretKey ) ;
4949 if ( state . IsValid )
5050 {
5151 if ( state . IsStateExtendable && config . ExtendCookieValidity )
5252 {
5353 this . _userInQueueStateRepository . Store ( config . EventId ,
5454 state . QueueId ,
55- true ,
55+ null ,
5656 config . CookieDomain ,
57- config . CookieValidityMinute ,
57+ state . RedirectType ,
5858 secretKey ) ;
5959 }
60- return new RequestValidationResult ( ActionType . QueueAction ) { EventId = config . EventId , QueueId = state . QueueId } ;
60+ return new RequestValidationResult ( ActionType . QueueAction )
61+ {
62+ EventId = config . EventId ,
63+ QueueId = state . QueueId ,
64+ RedirectType = state . RedirectType
65+ } ;
6166 }
6267
6368 QueueUrlParams queueParmas = QueueParameterHelper . ExtractQueueParams ( queueitToken ) ;
@@ -93,12 +98,17 @@ private RequestValidationResult GetQueueITTokenValidationResult(
9398 this . _userInQueueStateRepository . Store (
9499 config . EventId ,
95100 queueParams . QueueId ,
96- queueParams . ExtendableCookie ,
101+ queueParams . CookieValidityMinutes ,
97102 config . CookieDomain ,
98- queueParams . CookieValidityMinute ?? config . CookieValidityMinute ,
103+ queueParams . RedirectType ,
99104 secretKey ) ;
100105
101- return new RequestValidationResult ( ActionType . QueueAction ) { EventId = config . EventId } ;
106+ return new RequestValidationResult ( ActionType . QueueAction )
107+ {
108+ EventId = config . EventId ,
109+ QueueId = queueParams . QueueId ,
110+ RedirectType = queueParams . RedirectType
111+ } ;
102112 }
103113
104114 private RequestValidationResult GetVaidationErrorResult (
@@ -166,10 +176,10 @@ private string GetQueryString(
166176
167177 public void ExtendQueueCookie (
168178 string eventId ,
169- int cookieValidityMinute ,
179+ int cookieValidityMinutes ,
170180 string secretKey )
171181 {
172- this . _userInQueueStateRepository . ExtendQueueCookie ( eventId , cookieValidityMinute , secretKey ) ;
182+ this . _userInQueueStateRepository . ReissueQueueCookie ( eventId , cookieValidityMinutes , secretKey ) ;
173183 }
174184
175185 public RequestValidationResult ValidateCancelRequest (
@@ -178,7 +188,8 @@ public RequestValidationResult ValidateCancelRequest(
178188 string customerId ,
179189 string secretKey )
180190 {
181- var state = _userInQueueStateRepository . GetState ( config . EventId , secretKey ) ;
191+ //we do not care how long cookie is valid while canceling cookie
192+ var state = _userInQueueStateRepository . GetState ( config . EventId , - 1 , secretKey , false ) ;
182193
183194 if ( state . IsValid )
184195 {
@@ -197,7 +208,8 @@ public RequestValidationResult ValidateCancelRequest(
197208 {
198209 RedirectUrl = redirectUrl ,
199210 EventId = config . EventId ,
200- QueueId = state . QueueId
211+ QueueId = state . QueueId ,
212+ RedirectType = state . RedirectType
201213 } ;
202214 }
203215 else
@@ -206,7 +218,8 @@ public RequestValidationResult ValidateCancelRequest(
206218 {
207219 RedirectUrl = null ,
208220 EventId = config . EventId ,
209- QueueId = null
221+ QueueId = null ,
222+ RedirectType = null
210223 } ;
211224 }
212225 }
0 commit comments