@@ -25,7 +25,9 @@ public class Cidaas {
2525 var storage : TransactionStore
2626 var timer = Timer ( )
2727 var trackingManager : TrackingManager !
28- public var browserCallback : ( ( Result < LoginResponseEntity > ) -> ( ) ) !
28+ var browserCallback : ( ( Result < LoginResponseEntity > ) -> ( ) ) !
29+ var propertyFileRead : Bool = false
30+ public var extraParams : Dictionary < String , String > = Dictionary < String , String > ( )
2931
3032 // static variables
3133 public static var intermediate_verifiation_id : String = " "
@@ -115,6 +117,7 @@ public class Cidaas {
115117 // log success
116118 let loggerMessage = " Saved Property status : \( response) "
117119 logw ( loggerMessage, cname: " cidaas-sdk-success-log " )
120+ self . propertyFileRead = true
118121 break
119122 }
120123 }
@@ -187,12 +190,92 @@ public class Cidaas {
187190 }
188191 }
189192
193+ // -------------------------------------------------------------------------------------------------- //
194+
195+ // login with social
196+ public func loginWithSocial( provider: String , requestId: String , delegate: UIViewController , callback: @escaping ( Result < LoginResponseEntity > ) -> Void ) {
197+ let savedProp = DBHelper . shared. getPropertyFile ( )
198+ if ( savedProp != nil ) {
199+ self . browserCallback = callback
200+ LoginController . shared. loginWithSocial ( provider: provider, requestId: requestId, delegate: delegate, properties: savedProp!, callback: callback)
201+ }
202+ else {
203+ // log error
204+ let loggerMessage = " Read properties file failure : " + " Error Code - 10001, Error Message - File not found, Status Code - 404 "
205+ logw ( loggerMessage, cname: " cidaas-sdk-error-log " )
206+
207+ let error = WebAuthError . shared. fileNotFoundException ( )
208+
209+ // return failure callback
210+ DispatchQueue . main. async {
211+ callback ( Result . failure ( error: error) )
212+ }
213+ return
214+ }
215+ }
216+
217+ // -------------------------------------------------------------------------------------------------- //
218+
219+ // get login url
220+ public func getLoginURL( callback: @escaping ( Result < URL > ) -> Void ) {
221+ var savedProp = DBHelper . shared. getPropertyFile ( )
222+ if ( savedProp != nil ) {
223+ savedProp ? [ " ViewType " ] = " login "
224+ callback ( Result . success ( result: LoginController . shared. constructURL ( properties: savedProp!) ) )
225+ }
226+ else {
227+ // log error
228+ let loggerMessage = " Read properties file failure : " + " Error Code - 10001, Error Message - File not found, Status Code - 404 "
229+ logw ( loggerMessage, cname: " cidaas-sdk-error-log " )
230+
231+ let error = WebAuthError . shared. fileNotFoundException ( )
232+
233+ // return failure callback
234+ DispatchQueue . main. async {
235+ callback ( Result . failure ( error: error) )
236+ }
237+ return
238+ }
239+ }
240+
241+ // -------------------------------------------------------------------------------------------------- //
242+
243+ // get register url
244+ public func getRegistrationURL( callback: @escaping ( Result < URL > ) -> Void ) {
245+ var savedProp = DBHelper . shared. getPropertyFile ( )
246+ if ( savedProp != nil ) {
247+ savedProp ? [ " ViewType " ] = " register "
248+ callback ( Result . success ( result: LoginController . shared. constructURL ( properties: savedProp!) ) )
249+ }
250+ else {
251+ // log error
252+ let loggerMessage = " Read properties file failure : " + " Error Code - 10001, Error Message - File not found, Status Code - 404 "
253+ logw ( loggerMessage, cname: " cidaas-sdk-error-log " )
254+
255+ let error = WebAuthError . shared. fileNotFoundException ( )
256+
257+ // return failure callback
258+ DispatchQueue . main. async {
259+ callback ( Result . failure ( error: error) )
260+ }
261+ return
262+ }
263+ }
264+
190265// -------------------------------------------------------------------------------------------------- //
191266
192267 // handle token
193268 public func handleToken( url: URL ) {
194- let code = url. valueOf ( " code " ) ?? " "
195- AccessTokenController . shared. getAccessToken ( code: code, callback: browserCallback!)
269+ if LoginController . shared. delegate != nil {
270+ LoginController . shared. delegate. dismiss ( animated: true , completion: nil )
271+ }
272+
273+ if browserCallback != nil {
274+ let code = url. valueOf ( " code " ) ?? " "
275+ if code != " " {
276+ AccessTokenController . shared. getAccessToken ( code: code, callback: browserCallback!)
277+ }
278+ }
196279 }
197280
198281// -------------------------------------------------------------------------------------------------- //
@@ -2535,7 +2618,7 @@ public class Cidaas {
25352618 // 2. Call getPendingNotifications method
25362619 // 3. Maintain logs based on flags
25372620
2538- public func getPendingNotifications( sub: String , fcmId : String , callback: @escaping ( Result < PendingNotificationListResponseEntity > ) -> Void ) {
2621+ public func getPendingNotifications( sub: String , callback: @escaping ( Result < PendingNotificationListResponseEntity > ) -> Void ) {
25392622
25402623 let savedProp = DBHelper . shared. getPropertyFile ( )
25412624 if ( savedProp != nil ) {
0 commit comments