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

Transition reference id to data (#828)

* Transition reference id to data

* field length and request model updates
This commit is contained in:
Chad Scharf
2020-07-20 15:19:46 -04:00
committed by GitHub
parent 036b402e9f
commit 83e9468502
15 changed files with 510 additions and 23 deletions

View File

@ -2,7 +2,9 @@
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using Bit.Core.Enums;
using Bit.Core.Models.Business;
using Bit.Core.Models.Table;
using Newtonsoft.Json;
namespace Bit.Core.Models.Api
{
@ -25,7 +27,7 @@ namespace Bit.Core.Models.Api
public Guid? OrganizationUserId { get; set; }
public KdfType? Kdf { get; set; }
public int? KdfIterations { get; set; }
public string ReferenceId { get; set; }
public Dictionary<string, object> ReferenceData { get; set; }
public User ToUser()
{
@ -36,9 +38,13 @@ namespace Bit.Core.Models.Api
MasterPasswordHint = MasterPasswordHint,
Kdf = Kdf.GetValueOrDefault(KdfType.PBKDF2_SHA256),
KdfIterations = KdfIterations.GetValueOrDefault(5000),
ReferenceId = ReferenceId,
};
if (ReferenceData != null)
{
user.ReferenceData = JsonConvert.SerializeObject(ReferenceData);
}
if (Key != null)
{
user.Key = Key;

View File

@ -18,7 +18,7 @@ namespace Bit.Core.Models.Business
{
Source = source.IsUser() ? ReferenceEventSource.User : ReferenceEventSource.Organization;
Id = source.Id;
ReferenceId = source.ReferenceId;
ReferenceData = source.ReferenceData;
}
}
@ -30,7 +30,7 @@ namespace Bit.Core.Models.Business
public Guid Id { get; set; }
public string ReferenceId { get; set; }
public string ReferenceData { get; set; }
public DateTime EventDate { get; set; } = DateTime.UtcNow;

View File

@ -0,0 +1,16 @@
using System;
using Newtonsoft.Json;
using Newtonsoft.Json.Serialization;
namespace Bit.Core.Models.Business
{
[JsonObject(NamingStrategyType = typeof(CamelCaseNamingStrategy))]
public class ReferenceEventData
{
public string Id { get; set; }
public string Layout { get; set; }
public string Flow { get; set; }
}
}

View File

@ -5,7 +5,7 @@ namespace Bit.Core.Models
public interface IReferenceable
{
Guid Id { get; set; }
string ReferenceId { get; set; }
string ReferenceData { get; set; }
bool IsUser();
}
}

View File

@ -39,7 +39,7 @@ namespace Bit.Core.Models.Table
public GatewayType? Gateway { get; set; }
public string GatewayCustomerId { get; set; }
public string GatewaySubscriptionId { get; set; }
public string ReferenceId { get; set; }
public string ReferenceData { get; set; }
public bool Enabled { get; set; } = true;
public string LicenseKey { get; set; }
public string ApiKey { get; set; }

View File

@ -37,7 +37,7 @@ namespace Bit.Core.Models.Table
public GatewayType? Gateway { get; set; }
public string GatewayCustomerId { get; set; }
public string GatewaySubscriptionId { get; set; }
public string ReferenceId { get; set; }
public string ReferenceData { get; set; }
public string LicenseKey { get; set; }
public KdfType Kdf { get; set; } = KdfType.PBKDF2_SHA256;
public int KdfIterations { get; set; } = 5000;