mirror of
https://github.com/bitwarden/server.git
synced 2024-11-27 13:05:23 +01:00
77 lines
2.1 KiB
MySQL
77 lines
2.1 KiB
MySQL
|
IF OBJECT_ID('[dbo].[OrganizationUser_ReadByOrganizationIdEmail]') IS NOT NULL
|
|||
|
BEGIN
|
|||
|
DROP PROCEDURE [dbo].[OrganizationUser_ReadByOrganizationIdEmail]
|
|||
|
END
|
|||
|
GO
|
|||
|
|
|||
|
IF OBJECT_ID('[dbo].[OrganizationUser_ReadCountByOrganizationIdEmail]') IS NOT NULL
|
|||
|
BEGIN
|
|||
|
DROP PROCEDURE [dbo].[OrganizationUser_ReadCountByOrganizationIdEmail]
|
|||
|
END
|
|||
|
GO
|
|||
|
|
|||
|
CREATE PROCEDURE [dbo].[OrganizationUser_ReadCountByOrganizationIdEmail]
|
|||
|
@OrganizationId UNIQUEIDENTIFIER,
|
|||
|
@Email NVARCHAR(50),
|
|||
|
@OnlyUsers BIT
|
|||
|
AS
|
|||
|
BEGIN
|
|||
|
SET NOCOUNT ON
|
|||
|
|
|||
|
SELECT
|
|||
|
COUNT(1)
|
|||
|
FROM
|
|||
|
[dbo].[OrganizationUser] OU
|
|||
|
LEFT JOIN
|
|||
|
[dbo].[User] U ON OU.[UserId] = U.[Id]
|
|||
|
WHERE
|
|||
|
OU.[OrganizationId] = @OrganizationId
|
|||
|
AND (
|
|||
|
(@OnlyUsers = 0 AND (OU.[Email] = @Email OR U.[Email] = @Email))
|
|||
|
OR (@OnlyUsers = 1 AND U.[Email] = @Email)
|
|||
|
)
|
|||
|
END
|
|||
|
GO
|
|||
|
|
|||
|
IF EXISTS (
|
|||
|
SELECT * FROM sys.indexes WHERE [Name]='IX_Cipher_UserId_Type'
|
|||
|
AND object_id = OBJECT_ID('[dbo].[Cipher]')
|
|||
|
)
|
|||
|
BEGIN
|
|||
|
DROP INDEX [IX_Cipher_UserId_Type] ON [dbo].[Cipher]
|
|||
|
END
|
|||
|
GO
|
|||
|
|
|||
|
IF NOT EXISTS (
|
|||
|
SELECT * FROM sys.indexes WHERE [Name]='IX_Cipher_UserId_Type_IncludeAll'
|
|||
|
AND object_id = OBJECT_ID('[dbo].[Cipher]')
|
|||
|
)
|
|||
|
BEGIN
|
|||
|
CREATE NONCLUSTERED INDEX [IX_Cipher_UserId_Type_IncludeAll]
|
|||
|
ON [dbo].[Cipher]([UserId] ASC, [Type] ASC)
|
|||
|
INCLUDE ([OrganizationId], [Data], [Favorites], [Folders], [Attachments], [CreationDate], [RevisionDate])
|
|||
|
END
|
|||
|
GO
|
|||
|
|
|||
|
IF NOT EXISTS (
|
|||
|
SELECT * FROM sys.indexes WHERE [Name] = 'IX_Folder_UserId_IncludeAll'
|
|||
|
AND object_id = OBJECT_ID('[dbo].[Folder]')
|
|||
|
)
|
|||
|
BEGIN
|
|||
|
CREATE NONCLUSTERED INDEX [IX_Folder_UserId_IncludeAll]
|
|||
|
ON [dbo].[Folder]([UserId] ASC)
|
|||
|
INCLUDE ([Name], [CreationDate], [RevisionDate])
|
|||
|
END
|
|||
|
GO
|
|||
|
|
|||
|
IF NOT EXISTS (
|
|||
|
SELECT * FROM sys.indexes WHERE [Name] = 'IX_OrganizationUser_UserIdOrganizationIdStatus'
|
|||
|
AND object_id = OBJECT_ID('[dbo].[OrganizationUser]')
|
|||
|
)
|
|||
|
BEGIN
|
|||
|
CREATE NONCLUSTERED INDEX [IX_OrganizationUser_UserIdOrganizationIdStatus]
|
|||
|
ON [dbo].[OrganizationUser]([UserId] ASC,[OrganizationId] ASC,[Status] ASC)
|
|||
|
INCLUDE ([AccessAll])
|
|||
|
END
|
|||
|
GO
|