-- 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