1
0
mirror of https://github.com/bitwarden/server.git synced 2024-11-28 13:15:12 +01:00

Added favorites to ciphers and exposed PUT favorite cipher API

This commit is contained in:
Kyle Spearrin 2016-06-08 22:19:08 -04:00
parent ed0c6ad795
commit 4f59f38326
6 changed files with 22 additions and 1 deletions

View File

@ -70,6 +70,20 @@ namespace Bit.Api.Controllers
model.FolderRelationships);
}
[HttpPut("{id}/favorite")]
public async Task Favorite(string id)
{
var cipher = await _cipherRepository.GetByIdAsync(new Guid(id), new Guid(_userManager.GetUserId(User)));
if(cipher == null)
{
throw new NotFoundException();
}
cipher.Favorite = !cipher.Favorite;
await _cipherRepository.ReplaceAsync(cipher);
}
[HttpDelete("{id}")]
public async Task Delete(string id)
{

View File

@ -10,6 +10,7 @@ namespace Bit.Api.Models
{
[StringLength(36)]
public string FolderId { get; set; }
public bool Favorite { get; set; }
[Required]
[EncryptedString]
[StringLength(300)]
@ -40,6 +41,7 @@ namespace Bit.Api.Models
public Cipher ToCipher(Cipher existingSite)
{
existingSite.FolderId = string.IsNullOrWhiteSpace(FolderId) ? null : (Guid?)new Guid(FolderId);
existingSite.Favorite = Favorite;
existingSite.Data = JsonConvert.SerializeObject(new SiteDataModel(this), new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore });
existingSite.Type = Core.Enums.CipherType.Site;

View File

@ -16,6 +16,7 @@ namespace Bit.Api.Models
Id = cipher.Id.ToString();
FolderId = cipher.FolderId?.ToString();
Type = cipher.Type;
Favorite = cipher.Favorite;
Data = cipher.Data;
RevisionDate = cipher.RevisionDate;
@ -35,6 +36,7 @@ namespace Bit.Api.Models
public string Id { get; set; }
public string FolderId { get; set; }
public Core.Enums.CipherType Type { get; set; }
public bool Favorite { get; set; }
public dynamic Data { get; set; }
public DateTime RevisionDate { get; set; }
}

View File

@ -1,6 +1,5 @@
using System;
using Bit.Core.Domains;
using Newtonsoft.Json;
namespace Bit.Api.Models
{
@ -23,6 +22,7 @@ namespace Bit.Api.Models
Id = cipher.Id.ToString();
FolderId = cipher.FolderId?.ToString();
Favorite = cipher.Favorite;
Name = data.Name;
Uri = data.Uri;
Username = data.Username;
@ -33,6 +33,7 @@ namespace Bit.Api.Models
public string Id { get; set; }
public string FolderId { get; set; }
public bool Favorite { get; set; }
public string Name { get; set; }
public string Uri { get; set; }
public string Username { get; set; }

View File

@ -9,6 +9,7 @@ namespace Bit.Core.Domains
public Guid UserId { get; set; }
public Guid? FolderId { get; set; }
public Enums.CipherType Type { get; set; }
public bool Favorite { get; set; }
public string Data { get; set; }
public DateTime CreationDate { get; internal set; } = DateTime.UtcNow;
public DateTime RevisionDate { get; internal set; } = DateTime.UtcNow;

View File

@ -138,6 +138,7 @@ namespace Bit.Core.Repositories.SqlServer
-- Do not update [UserId]
-- Do not update [FolderId]
-- Do not update [Type]
-- Do not update [Favorite]
[Data] = TC.[Data],
-- Do not update [CreationDate]
[RevisionDate] = TC.[RevisionDate]