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.
139 lines
3.2 KiB
139 lines
3.2 KiB
-- Add `Emails` field that stores a comma-separated list of email addresses for |
|
-- email/OTP authentication to table and write methods. The read methods |
|
-- don't need to be updated because they all use `*`. |
|
IF NOT EXISTS( |
|
SELECT * |
|
FROM [sys].[columns] |
|
WHERE [object_id] = OBJECT_ID(N'[dbo].[Send]') |
|
AND [name] = 'Emails') |
|
BEGIN |
|
ALTER TABLE [dbo].[Send] ADD [Emails] NVARCHAR(1024) NULL; |
|
END |
|
GO |
|
|
|
CREATE OR ALTER PROCEDURE [dbo].[Send_Update] |
|
@Id UNIQUEIDENTIFIER, |
|
@UserId UNIQUEIDENTIFIER, |
|
@OrganizationId UNIQUEIDENTIFIER, |
|
@Type TINYINT, |
|
@Data VARCHAR(MAX), |
|
@Key VARCHAR(MAX), |
|
@Password NVARCHAR(300), |
|
@MaxAccessCount INT, |
|
@AccessCount INT, |
|
@CreationDate DATETIME2(7), |
|
@RevisionDate DATETIME2(7), |
|
@ExpirationDate DATETIME2(7), |
|
@DeletionDate DATETIME2(7), |
|
@Disabled BIT, |
|
@HideEmail BIT, |
|
@CipherId UNIQUEIDENTIFIER = NULL, |
|
@Emails NVARCHAR(1024) = NULL |
|
AS |
|
BEGIN |
|
SET NOCOUNT ON |
|
|
|
UPDATE |
|
[dbo].[Send] |
|
SET |
|
[UserId] = @UserId, |
|
[OrganizationId] = @OrganizationId, |
|
[Type] = @Type, |
|
[Data] = @Data, |
|
[Key] = @Key, |
|
[Password] = @Password, |
|
[MaxAccessCount] = @MaxAccessCount, |
|
[AccessCount] = @AccessCount, |
|
[CreationDate] = @CreationDate, |
|
[RevisionDate] = @RevisionDate, |
|
[ExpirationDate] = @ExpirationDate, |
|
[DeletionDate] = @DeletionDate, |
|
[Disabled] = @Disabled, |
|
[HideEmail] = @HideEmail, |
|
[CipherId] = @CipherId, |
|
[Emails] = @Emails |
|
WHERE |
|
[Id] = @Id |
|
|
|
IF @UserId IS NOT NULL |
|
BEGIN |
|
EXEC [dbo].[User_BumpAccountRevisionDate] @UserId |
|
END |
|
-- TODO: OrganizationId bump? |
|
END |
|
GO |
|
|
|
CREATE OR ALTER PROCEDURE [dbo].[Send_Create] |
|
@Id UNIQUEIDENTIFIER OUTPUT, |
|
@UserId UNIQUEIDENTIFIER, |
|
@OrganizationId UNIQUEIDENTIFIER, |
|
@Type TINYINT, |
|
@Data VARCHAR(MAX), |
|
@Key VARCHAR(MAX), |
|
@Password NVARCHAR(300), |
|
@MaxAccessCount INT, |
|
@AccessCount INT, |
|
@CreationDate DATETIME2(7), |
|
@RevisionDate DATETIME2(7), |
|
@ExpirationDate DATETIME2(7), |
|
@DeletionDate DATETIME2(7), |
|
@Disabled BIT, |
|
@HideEmail BIT, |
|
@CipherId UNIQUEIDENTIFIER = NULL, |
|
@Emails NVARCHAR(1024) = NULL |
|
AS |
|
BEGIN |
|
SET NOCOUNT ON |
|
|
|
INSERT INTO [dbo].[Send] |
|
( |
|
[Id], |
|
[UserId], |
|
[OrganizationId], |
|
[Type], |
|
[Data], |
|
[Key], |
|
[Password], |
|
[MaxAccessCount], |
|
[AccessCount], |
|
[CreationDate], |
|
[RevisionDate], |
|
[ExpirationDate], |
|
[DeletionDate], |
|
[Disabled], |
|
[HideEmail], |
|
[CipherId], |
|
[Emails] |
|
) |
|
VALUES |
|
( |
|
@Id, |
|
@UserId, |
|
@OrganizationId, |
|
@Type, |
|
@Data, |
|
@Key, |
|
@Password, |
|
@MaxAccessCount, |
|
@AccessCount, |
|
@CreationDate, |
|
@RevisionDate, |
|
@ExpirationDate, |
|
@DeletionDate, |
|
@Disabled, |
|
@HideEmail, |
|
@CipherId, |
|
@Emails |
|
) |
|
|
|
IF @UserId IS NOT NULL |
|
BEGIN |
|
IF @Type = 1 --File |
|
BEGIN |
|
EXEC [dbo].[User_UpdateStorage] @UserId |
|
END |
|
EXEC [dbo].[User_BumpAccountRevisionDate] @UserId |
|
END |
|
-- TODO: OrganizationId bump? |
|
END |
|
GO
|
|
|