You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

148 lines
4.1 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[mobile_proc_GmeApiClientRegistration] Script Date: 9/30/2021 9:56:28 AM ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. /*
  9. Client Signup/Registration
  10. */
  11. ALTER PROCEDURE [dbo].[mobile_proc_GmeApiClientRegistration]
  12. @flag VARCHAR(30)
  13. ,@applicationName VARCHAR(50) = NULL
  14. ,@description VARCHAR(MAX) = NULL
  15. ,@aboutUrl VARCHAR(100) = NULL
  16. ,@applicationType VARCHAR(50) = NULL
  17. ,@scope VARCHAR(50) = NULL
  18. ,@secret VARCHAR(50) = NULL
  19. ,@clientId VARCHAR(100) = NULL
  20. AS
  21. SET NOCOUNT ON;
  22. SET XACT_ABORT ON;
  23. BEGIN TRY
  24. ----------------------- Local variables declaration ###STARTS------------------------
  25. DECLARE @_clientId VARCHAR(100)
  26. ,@_rowId INT
  27. ,@device_type VARCHAR(20)
  28. ----------------------- Local variables declaration ###ENDS------------------------
  29. IF @flag='appRegister' --application registered for the first time.
  30. BEGIN
  31. IF ISNULL(@scope,'') NOT IN('mobile_app','social_comp')
  32. BEGIN
  33. SELECT '1' ErrorCode, 'Unable to mapped with requested scope/channel.' Msg ,NULL ID
  34. RETURN
  35. END
  36. SET @_clientId=CONCAT
  37. (
  38. DATEPART(SECOND,GETDATE())
  39. ,YEAR(GETDATE())
  40. ,LEFT( NEWID(), 5 )
  41. ,MONTH(GETDATE())
  42. ,DAY(GETDATE())
  43. ,LEFT( NEWID(), 5 )
  44. ,DATEPART(HOUR,GETDATE())
  45. ,DATEPART(MINUTE,GETDATE())
  46. ,DATEPART(MILLISECOND,GETDATE())
  47. )
  48. BEGIN TRANSACTION
  49. INSERT INTO mobile_GmeApiClientRegistration(applicationName,[description],aboutUrl,applicationType,scope,isActive)
  50. SELECT @applicationName,@description,@aboutUrl,@applicationType,@scope,1
  51. SET @_rowId=SCOPE_IDENTITY()
  52. UPDATE mobile_GmeApiClientRegistration SET [secret]=dbo.FNAEncryptString(@secret),clientId=@_clientId WHERE rowid=@_rowId
  53. IF @@TRANCOUNT > 0
  54. COMMIT TRANSACTION
  55. SELECT '0' ErrorCode , @_clientId clientId, @secret [secret]
  56. RETURN
  57. END
  58. ELSE IF @flag='chk-client' --application registered for the first time.
  59. BEGIN
  60. IF EXISTS
  61. (
  62. SELECT 'X' FROM mobile_GmeApiClientRegistration(NOLOCK)
  63. WHERE clientId=@clientId
  64. AND [secret]=dbo.FNAEncryptString(@secret)
  65. AND ISNULL(isActive,0)=1
  66. AND ISNULL(approvedDate,'')<>''
  67. AND ISNULL(scope,'') IN('mobile_app','social_comp')
  68. )
  69. BEGIN
  70. --PRINT 1
  71. SELECT @scope=scope,@device_type=applicationType FROM mobile_GmeApiClientRegistration(NOLOCK)
  72. WHERE clientId=@clientId AND [secret]=dbo.FNAEncryptString(@secret)
  73. SELECT '0' ErrorCode , 'Success.' Msg, @scope ID, @device_type Extra
  74. RETURN
  75. END
  76. ELSE IF EXISTS
  77. (
  78. SELECT 'X' FROM mobile_GmeApiClientRegistration(NOLOCK)
  79. WHERE clientId=@clientId
  80. AND [secret]=dbo.FNAEncryptString(@secret)
  81. AND ISNULL(isActive,0)=1
  82. AND ISNULL(approvedDate,'')<>''
  83. AND ISNULL(scope,'') NOT IN('mobile_app','social_comp')
  84. )
  85. BEGIN
  86. PRINT 2
  87. SELECT '1' ErrorCode , 'User not mapped within the scope of application.' Msg, NULL ID
  88. RETURN
  89. END
  90. ELSE IF EXISTS
  91. (
  92. SELECT 'X' FROM mobile_GmeApiClientRegistration(NOLOCK)
  93. WHERE clientId=@clientId
  94. AND [secret]=dbo.FNAEncryptString(@secret)
  95. AND ISNULL(isActive,0)=0
  96. AND ISNULL(approvedDate,'')<>''
  97. AND ISNULL(scope,'') IN('mobile_app','social_comp')
  98. )
  99. BEGIN
  100. PRINT 3
  101. SELECT '1' ErrorCode , 'Application scope is no longer exists or removed.' Msg, NULL ID
  102. RETURN
  103. END
  104. ELSE IF EXISTS
  105. (
  106. SELECT 'X' FROM mobile_GmeApiClientRegistration(NOLOCK)
  107. WHERE clientId=@clientId
  108. AND [secret]=dbo.FNAEncryptString(@secret)
  109. AND ISNULL(isActive,0)=1
  110. AND ISNULL(approvedDate,'')=''
  111. AND ISNULL(scope,'') IN('mobile_app','social_comp')
  112. )
  113. BEGIN
  114. PRINT 4
  115. SELECT '1' ErrorCode , 'Application scope is in pending for approval.' Msg, NULL ID
  116. RETURN
  117. END
  118. ELSE
  119. BEGIN
  120. PRINT 5
  121. SELECT '1' ErrorCode , 'Client Id or secret doesnot match.' Msg, NULL ID
  122. RETURN
  123. END
  124. END
  125. END TRY
  126. BEGIN CATCH
  127. IF @@TRANCOUNT > 0
  128. ROLLBACK TRANSACTION
  129. DECLARE @errorMessage VARCHAR(MAX)
  130. SET @errorMessage = ERROR_MESSAGE()
  131. SELECT '1' ErrorCode, @errorMessage Msg ,NULL ID
  132. END CATCH
  133. GO