1
0
mirror of https://github.com/bitwarden/server.git synced 2025-07-01 08:02:49 -05:00

share api

This commit is contained in:
Kyle Spearrin
2017-02-21 23:18:12 -05:00
parent 900e71d4dd
commit 0caea4ab8b
9 changed files with 160 additions and 1 deletions

View File

@ -0,0 +1,35 @@
using System;
using System.ComponentModel.DataAnnotations;
using Bit.Core.Domains;
using Newtonsoft.Json;
namespace Bit.Api.Models
{
public class ShareRequestModel
{
[Required]
[StringLength(36)]
public string UserId { get; set; }
[Required]
[StringLength(36)]
public string CipherId { get; set; }
public string Key { get; set; }
public Share ToShare(Guid sharerUserId)
{
return ToShare(new Share
{
SharerUserId = sharerUserId
});
}
public Share ToShare(Share existingShare)
{
existingShare.UserId = new Guid(UserId);
existingShare.CipherId = new Guid(CipherId);
existingShare.Key = Key;
return existingShare;
}
}
}

View File

@ -0,0 +1,36 @@
using System;
using Bit.Core.Domains;
using System.Collections.Generic;
using Newtonsoft.Json;
namespace Bit.Api.Models
{
public class ShareResponseModel : ResponseModel
{
public ShareResponseModel(Share share)
: base("share")
{
if(share == null)
{
throw new ArgumentNullException(nameof(share));
}
Id = share.Id.ToString();
UserId = share.UserId.ToString();
SharerUserId = share.SharerUserId.ToString();
CipherId = share.CipherId.ToString();
Key = Key;
Permissions = share.Permissions == null ? null :
JsonConvert.DeserializeObject<IEnumerable<Core.Enums.SharePermissionType>>(share.Permissions);
Status = share.Status;
}
public string Id { get; set; }
public string UserId { get; set; }
public string SharerUserId { get; set; }
public string CipherId { get; set; }
public string Key { get; set; }
public IEnumerable<Core.Enums.SharePermissionType> Permissions { get; set; }
public Core.Enums.ShareStatusType? Status { get; set; }
}
}