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.
25 lines
1.2 KiB
25 lines
1.2 KiB
IF OBJECT_ID('[dbo].[AuthRequest_DeleteIfExpired]') IS NOT NULL |
|
BEGIN |
|
DROP PROCEDURE [dbo].[AuthRequest_DeleteIfExpired] |
|
END |
|
GO |
|
|
|
-- UserExpirationSeconds to 15 minutes (15 * 60) |
|
-- AdminExpirationSeconds to 7 days (7 * 24 * 60 * 60) |
|
-- AdminApprovalExpirationSeconds to 12 hour (12 * 60 * 60) |
|
|
|
CREATE PROCEDURE [dbo].[AuthRequest_DeleteIfExpired] |
|
@UserExpirationSeconds INT = 900, |
|
@AdminExpirationSeconds INT = 604800, |
|
@AdminApprovalExpirationSeconds INT = 43200 |
|
AS |
|
BEGIN |
|
SET NOCOUNT OFF |
|
DELETE FROM [dbo].[AuthRequest] |
|
-- User requests expire after 15 minutes (by default) of their creation |
|
WHERE ([Type] != 2 AND DATEADD(second, @UserExpirationSeconds, [CreationDate]) < GETUTCDATE()) |
|
-- Admin requests expire after 7 days (by default) of their creation if they have not been approved |
|
OR ([Type] = 2 AND ([Approved] IS NULL OR [Approved] = 0) AND DATEADD(second, @AdminExpirationSeconds,[CreationDate]) < GETUTCDATE()) |
|
-- Admin requests expire after 12 hours (by default) of their approval |
|
OR ([Type] = 2 AND [Approved] = 1 AND DATEADD(second, @AdminApprovalExpirationSeconds, [ResponseDate]) < GETUTCDATE()); |
|
END
|
|
|