1
0
mirror of https://github.com/bitwarden/server.git synced 2024-11-30 13:33:24 +01:00
bitwarden-server/util/Migrator/DbScripts/2024-02-12_00_FixGrantSave.sql
rkac-bw 744d21ec5e
[PM-4767] Update Grant_Save procedure (#3641)
* modify grant_save sql script to migration and Auth SQL scripts to not use merge

* Update formatting for sql files

* Fix formatting for sql files

* Format using Prettier

* Rename 2024-01-03_00_FixGrantSave.sql to 2024-02-12_00_FixGrantSave.sql

---------

Co-authored-by: Matt Bishop <mbishop@bitwarden.com>
2024-02-14 09:48:58 -07:00

62 lines
1.5 KiB
Transact-SQL

CREATE OR ALTER PROCEDURE [dbo].[Grant_Save]
@Key NVARCHAR(200),
@Type NVARCHAR(50),
@SubjectId NVARCHAR(200),
@SessionId NVARCHAR(100),
@ClientId NVARCHAR(200),
@Description NVARCHAR(200),
@CreationDate DATETIME2,
@ExpirationDate DATETIME2,
@ConsumedDate DATETIME2,
@Data NVARCHAR(MAX)
AS
BEGIN
SET NOCOUNT ON
-- First, try to update the existing row
UPDATE [dbo].[Grant]
SET
[Type] = @Type,
[SubjectId] = @SubjectId,
[SessionId] = @SessionId,
[ClientId] = @ClientId,
[Description] = @Description,
[CreationDate] = @CreationDate,
[ExpirationDate] = @ExpirationDate,
[ConsumedDate] = @ConsumedDate,
[Data] = @Data
WHERE
[Key] = @Key
-- If no row was updated, insert a new one
IF @@ROWCOUNT = 0
BEGIN
INSERT INTO [dbo].[Grant]
(
[Key],
[Type],
[SubjectId],
[SessionId],
[ClientId],
[Description],
[CreationDate],
[ExpirationDate],
[ConsumedDate],
[Data]
)
VALUES
(
@Key,
@Type,
@SubjectId,
@SessionId,
@ClientId,
@Description,
@CreationDate,
@ExpirationDate,
@ConsumedDate,
@Data
)
END
END