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

SubvaultUser APIs and services

This commit is contained in:
Kyle Spearrin
2017-03-09 23:58:43 -05:00
parent 7bff121eeb
commit 4bcfab589d
24 changed files with 287 additions and 44 deletions

View File

@ -1,19 +0,0 @@
using Bit.Core.Models.Table;
namespace Bit.Core.Models.Api
{
public class OrganizationUserInviteRequestModel
{
public string Email { get; set; }
}
public class OrganizationUserAcceptRequestModel
{
public string Token { get; set; }
}
public class OrganizationUserConfirmRequestModel
{
public string Key { get; set; }
}
}

View File

@ -0,0 +1,52 @@
using Bit.Core.Models.Table;
using System;
using System.Collections.Generic;
namespace Bit.Core.Models.Api
{
public class OrganizationUserInviteRequestModel
{
public string Email { get; set; }
}
public class OrganizationUserAcceptRequestModel
{
public string Token { get; set; }
}
public class OrganizationUserConfirmRequestModel
{
public string Key { get; set; }
}
public class OrganizationUserUpdateRequestModel
{
public Enums.OrganizationUserType Type { get; set; }
public IEnumerable<Subvault> Subvaults { get; set; }
public class Subvault
{
public string Id { get; set; }
public string SubvaultId { get; set; }
public bool Admin { get; set; }
public bool ReadOnly { get; set; }
public SubvaultUser ToSubvaultUser()
{
var user = new SubvaultUser
{
SubvaultId = new Guid(SubvaultId),
Admin = Admin,
ReadOnly = ReadOnly
};
if(string.IsNullOrWhiteSpace(Id))
{
user.Id = new Guid(Id);
}
return user;
}
}
}
}

View File

@ -0,0 +1,42 @@
using System;
using System.ComponentModel.DataAnnotations;
using Bit.Core.Utilities;
using Bit.Core.Models.Table;
using Newtonsoft.Json;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
namespace Bit.Core.Models.Api
{
public class SubvaultUserSubvaultRequestModel
{
public string UserId { get; set; }
public IEnumerable<Subvault> Subvaults { get; set; }
public IEnumerable<SubvaultUser> ToSubvaultUsers()
{
return Subvaults.Select(s => new SubvaultUser
{
OrganizationUserId = new Guid(UserId),
SubvaultId = new Guid(s.SubvaultId),
Admin = s.Admin,
ReadOnly = s.ReadOnly
});
}
public class Subvault
{
public string SubvaultId { get; set; }
public bool Admin { get; set; }
public bool ReadOnly { get; set; }
}
}
public class SubvaultUserUserRequestModel
{
public string UserId { get; set; }
public bool Admin { get; set; }
public bool ReadOnly { get; set; }
}
}

View File

@ -7,7 +7,7 @@ namespace Bit.Core.Models.Table
{
public Guid Id { get; set; }
public Guid SubvaultId { get; set; }
public Guid UserId { get; set; }
public Guid OrganizationUserId { get; set; }
public bool Admin { get; set; }
public bool ReadOnly { get; set; }
public DateTime CreationDate { get; internal set; } = DateTime.UtcNow;