1
0
mirror of https://github.com/bitwarden/server.git synced 2025-05-28 23:04:50 -05:00

group access all and readonly schema changes

This commit is contained in:
Kyle Spearrin 2017-05-10 12:17:10 -04:00
parent ba99b332e1
commit 08943ed305
10 changed files with 34 additions and 5 deletions

View File

@ -11,6 +11,8 @@ namespace Bit.Core.Models.Api
[Required] [Required]
[StringLength(300)] [StringLength(300)]
public string Name { get; set; } public string Name { get; set; }
[Required]
public bool? AccessAll { get; set; }
public IEnumerable<string> CollectionIds { get; set; } public IEnumerable<string> CollectionIds { get; set; }
public Group ToGroup(Guid orgId) public Group ToGroup(Guid orgId)
@ -24,6 +26,7 @@ namespace Bit.Core.Models.Api
public Group ToGroup(Group existingGroup) public Group ToGroup(Group existingGroup)
{ {
existingGroup.Name = Name; existingGroup.Name = Name;
existingGroup.AccessAll = AccessAll.Value;
return existingGroup; return existingGroup;
} }
} }

View File

@ -17,11 +17,13 @@ namespace Bit.Core.Models.Api
Id = group.Id.ToString(); Id = group.Id.ToString();
OrganizationId = group.OrganizationId.ToString(); OrganizationId = group.OrganizationId.ToString();
Name = group.Name; Name = group.Name;
AccessAll = group.AccessAll;
} }
public string Id { get; set; } public string Id { get; set; }
public string OrganizationId { get; set; } public string OrganizationId { get; set; }
public string Name { get; set; } public string Name { get; set; }
public bool AccessAll { get; set; }
} }
public class GroupDetailsResponseModel : GroupResponseModel public class GroupDetailsResponseModel : GroupResponseModel

View File

@ -0,0 +1,11 @@
using System;
namespace Bit.Core.Models.Table
{
public class CollectionGroup
{
public Guid CollectionId { get; set; }
public Guid OrganizationUserId { get; set; }
public bool ReadOnly { get; set; }
}
}

View File

@ -8,6 +8,7 @@ namespace Bit.Core.Models.Table
public Guid Id { get; set; } public Guid Id { get; set; }
public Guid OrganizationId { get; set; } public Guid OrganizationId { get; set; }
public string Name { get; set; } public string Name { get; set; }
public bool AccessAll { get; set; }
public DateTime CreationDate { get; internal set; } = DateTime.UtcNow; public DateTime CreationDate { get; internal set; } = DateTime.UtcNow;
public DateTime RevisionDate { get; internal set; } = DateTime.UtcNow; public DateTime RevisionDate { get; internal set; } = DateTime.UtcNow;

View File

@ -2,6 +2,7 @@
@Id UNIQUEIDENTIFIER, @Id UNIQUEIDENTIFIER,
@OrganizationId UNIQUEIDENTIFIER, @OrganizationId UNIQUEIDENTIFIER,
@Name VARCHAR(MAX), @Name VARCHAR(MAX),
@AccessAll BIT,
@CreationDate DATETIME2(7), @CreationDate DATETIME2(7),
@RevisionDate DATETIME2(7) @RevisionDate DATETIME2(7)
AS AS
@ -13,6 +14,7 @@ BEGIN
[Id], [Id],
[OrganizationId], [OrganizationId],
[Name], [Name],
[AccessAll],
[CreationDate], [CreationDate],
[RevisionDate] [RevisionDate]
) )
@ -21,6 +23,7 @@ BEGIN
@Id, @Id,
@OrganizationId, @OrganizationId,
@Name, @Name,
@AccessAll,
@CreationDate, @CreationDate,
@RevisionDate @RevisionDate
) )

View File

@ -2,6 +2,7 @@
@Id UNIQUEIDENTIFIER, @Id UNIQUEIDENTIFIER,
@OrganizationId UNIQUEIDENTIFIER, @OrganizationId UNIQUEIDENTIFIER,
@Name VARCHAR(MAX), @Name VARCHAR(MAX),
@AccessAll BIT,
@CreationDate DATETIME2(7), @CreationDate DATETIME2(7),
@RevisionDate DATETIME2(7), @RevisionDate DATETIME2(7),
@CollectionIds AS [dbo].[GuidIdArray] READONLY @CollectionIds AS [dbo].[GuidIdArray] READONLY
@ -9,7 +10,7 @@ AS
BEGIN BEGIN
SET NOCOUNT ON SET NOCOUNT ON
EXEC [dbo].[Group_Create] @Id, @OrganizationId, @Name, @CreationDate, @RevisionDate EXEC [dbo].[Group_Create] @Id, @OrganizationId, @Name, @AccessAll, @CreationDate, @RevisionDate
;WITH [AvailableCollectionsCTE] AS( ;WITH [AvailableCollectionsCTE] AS(
SELECT SELECT
@ -22,11 +23,13 @@ BEGIN
INSERT INTO [dbo].[CollectionGroup] INSERT INTO [dbo].[CollectionGroup]
( (
[CollectionId], [CollectionId],
[GroupId] [GroupId],
[ReadOnly]
) )
SELECT SELECT
[Id], [Id],
@Id @Id,
0
FROM FROM
@CollectionIds @CollectionIds
WHERE WHERE

View File

@ -2,6 +2,7 @@
@Id UNIQUEIDENTIFIER, @Id UNIQUEIDENTIFIER,
@OrganizationId UNIQUEIDENTIFIER, @OrganizationId UNIQUEIDENTIFIER,
@Name VARCHAR(MAX), @Name VARCHAR(MAX),
@AccessAll BIT,
@CreationDate DATETIME2(7), @CreationDate DATETIME2(7),
@RevisionDate DATETIME2(7) @RevisionDate DATETIME2(7)
AS AS
@ -13,6 +14,7 @@ BEGIN
SET SET
[OrganizationId] = @OrganizationId, [OrganizationId] = @OrganizationId,
[Name] = @Name, [Name] = @Name,
[AccessAll] = @AccessAll,
[CreationDate] = @CreationDate, [CreationDate] = @CreationDate,
[RevisionDate] = @RevisionDate [RevisionDate] = @RevisionDate
WHERE WHERE

View File

@ -2,6 +2,7 @@
@Id UNIQUEIDENTIFIER, @Id UNIQUEIDENTIFIER,
@OrganizationId UNIQUEIDENTIFIER, @OrganizationId UNIQUEIDENTIFIER,
@Name VARCHAR(MAX), @Name VARCHAR(MAX),
@AccessAll BIT,
@CreationDate DATETIME2(7), @CreationDate DATETIME2(7),
@RevisionDate DATETIME2(7), @RevisionDate DATETIME2(7),
@CollectionIds AS [dbo].[GuidIdArray] READONLY @CollectionIds AS [dbo].[GuidIdArray] READONLY
@ -9,7 +10,7 @@ AS
BEGIN BEGIN
SET NOCOUNT ON SET NOCOUNT ON
EXEC [dbo].[Group_Update] @Id, @OrganizationId, @Name, @CreationDate, @RevisionDate EXEC [dbo].[Group_Update] @Id, @OrganizationId, @Name, @AccessAll, @CreationDate, @RevisionDate
;WITH [AvailableCollectionsCTE] AS( ;WITH [AvailableCollectionsCTE] AS(
SELECT SELECT
@ -31,7 +32,8 @@ BEGIN
INSERT VALUES INSERT VALUES
( (
[Source].[Id], [Source].[Id],
@Id @Id,
0
) )
WHEN NOT MATCHED BY SOURCE WHEN NOT MATCHED BY SOURCE
AND [Target].[GroupId] = @Id THEN AND [Target].[GroupId] = @Id THEN

View File

@ -1,6 +1,7 @@
CREATE TABLE [dbo].[CollectionGroup] ( CREATE TABLE [dbo].[CollectionGroup] (
[CollectionId] UNIQUEIDENTIFIER NOT NULL, [CollectionId] UNIQUEIDENTIFIER NOT NULL,
[GroupId] UNIQUEIDENTIFIER NOT NULL, [GroupId] UNIQUEIDENTIFIER NOT NULL,
[ReadOnly] BIT NOT NULL,
CONSTRAINT [PK_CollectionGroup] PRIMARY KEY CLUSTERED ([CollectionId] ASC, [GroupId] ASC), CONSTRAINT [PK_CollectionGroup] PRIMARY KEY CLUSTERED ([CollectionId] ASC, [GroupId] ASC),
CONSTRAINT [FK_CollectionGroup_Collection] FOREIGN KEY ([CollectionId]) REFERENCES [dbo].[Collection] ([Id]), CONSTRAINT [FK_CollectionGroup_Collection] FOREIGN KEY ([CollectionId]) REFERENCES [dbo].[Collection] ([Id]),
CONSTRAINT [FK_CollectionGroup_Group] FOREIGN KEY ([GroupId]) REFERENCES [dbo].[Group] ([Id]) ON DELETE CASCADE CONSTRAINT [FK_CollectionGroup_Group] FOREIGN KEY ([GroupId]) REFERENCES [dbo].[Group] ([Id]) ON DELETE CASCADE

View File

@ -2,6 +2,7 @@
[Id] UNIQUEIDENTIFIER NOT NULL, [Id] UNIQUEIDENTIFIER NOT NULL,
[OrganizationId] UNIQUEIDENTIFIER NOT NULL, [OrganizationId] UNIQUEIDENTIFIER NOT NULL,
[Name] NVARCHAR (50) NOT NULL, [Name] NVARCHAR (50) NOT NULL,
[AccessAll] BIT NOT NULL,
[CreationDate] DATETIME NOT NULL, [CreationDate] DATETIME NOT NULL,
[RevisionDate] DATETIME NOT NULL, [RevisionDate] DATETIME NOT NULL,
CONSTRAINT [PK_Group] PRIMARY KEY CLUSTERED ([Id] ASC), CONSTRAINT [PK_Group] PRIMARY KEY CLUSTERED ([Id] ASC),