1
0
mirror of https://github.com/bitwarden/server.git synced 2025-06-30 15:42:48 -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;

View File

@ -30,9 +30,9 @@ namespace Bit.Core.Services
private async Task SendMessageAsync(ReferenceEvent referenceEvent)
{
if (_globalSettings.SelfHosted || string.IsNullOrWhiteSpace(referenceEvent.ReferenceId))
if (_globalSettings.SelfHosted)
{
// Ignore for self-hosted, OR, where there is no ReferenceId
// Ignore for self-hosted
return;
}
try

View File

@ -514,7 +514,7 @@ namespace Bit.Core.Services
UsersGetPremium = plan.UsersGetPremium || signup.PremiumAccessAddon,
Plan = plan.Name,
Gateway = null,
ReferenceId = signup.Owner.ReferenceId,
ReferenceData = signup.Owner.ReferenceData,
Enabled = true,
LicenseKey = CoreHelpers.SecureRandomString(20),
ApiKey = CoreHelpers.SecureRandomString(30),
@ -598,7 +598,7 @@ namespace Bit.Core.Services
Gateway = null,
GatewayCustomerId = null,
GatewaySubscriptionId = null,
ReferenceId = owner.ReferenceId,
ReferenceData = owner.ReferenceData,
Enabled = license.Enabled,
ExpirationDate = license.Expires,
LicenseKey = license.LicenseKey,

View File

@ -27,7 +27,7 @@
@Gateway TINYINT,
@GatewayCustomerId VARCHAR(50),
@GatewaySubscriptionId VARCHAR(50),
@ReferenceId VARCHAR(50),
@ReferenceData VARCHAR(MAX),
@Enabled BIT,
@LicenseKey VARCHAR(100),
@ApiKey VARCHAR(30),
@ -69,7 +69,7 @@ BEGIN
[Gateway],
[GatewayCustomerId],
[GatewaySubscriptionId],
[ReferenceId],
[ReferenceData],
[Enabled],
[LicenseKey],
[ApiKey],
@ -108,7 +108,7 @@ BEGIN
@Gateway,
@GatewayCustomerId,
@GatewaySubscriptionId,
@ReferenceId,
@ReferenceData,
@Enabled,
@LicenseKey,
@ApiKey,

View File

@ -27,7 +27,7 @@
@Gateway TINYINT,
@GatewayCustomerId VARCHAR(50),
@GatewaySubscriptionId VARCHAR(50),
@ReferenceId VARCHAR(50),
@ReferenceData VARCHAR(MAX),
@Enabled BIT,
@LicenseKey VARCHAR(100),
@ApiKey VARCHAR(30),
@ -69,7 +69,7 @@ BEGIN
[Gateway] = @Gateway,
[GatewayCustomerId] = @GatewayCustomerId,
[GatewaySubscriptionId] = @GatewaySubscriptionId,
[ReferenceId] = @ReferenceId,
[ReferenceData] = @ReferenceData,
[Enabled] = @Enabled,
[LicenseKey] = @LicenseKey,
[ApiKey] = @ApiKey,

View File

@ -23,7 +23,7 @@
@Gateway TINYINT,
@GatewayCustomerId VARCHAR(50),
@GatewaySubscriptionId VARCHAR(50),
@ReferenceId VARCHAR(50),
@ReferenceData VARCHAR(MAX),
@LicenseKey VARCHAR(100),
@Kdf TINYINT,
@KdfIterations INT,
@ -59,7 +59,7 @@ BEGIN
[Gateway],
[GatewayCustomerId],
[GatewaySubscriptionId],
[ReferenceId],
[ReferenceData],
[LicenseKey],
[Kdf],
[KdfIterations],
@ -92,7 +92,7 @@ BEGIN
@Gateway,
@GatewayCustomerId,
@GatewaySubscriptionId,
@ReferenceId,
@ReferenceData,
@LicenseKey,
@Kdf,
@KdfIterations,

View File

@ -23,7 +23,7 @@
@Gateway TINYINT,
@GatewayCustomerId VARCHAR(50),
@GatewaySubscriptionId VARCHAR(50),
@ReferenceId VARCHAR(50),
@ReferenceData VARCHAR(MAX),
@LicenseKey VARCHAR(100),
@Kdf TINYINT,
@KdfIterations INT,
@ -59,7 +59,7 @@ BEGIN
[Gateway] = @Gateway,
[GatewayCustomerId] = @GatewayCustomerId,
[GatewaySubscriptionId] = @GatewaySubscriptionId,
[ReferenceId] = @ReferenceId,
[ReferenceData] = @ReferenceData,
[LicenseKey] = @LicenseKey,
[Kdf] = @Kdf,
[KdfIterations] = @KdfIterations,

View File

@ -27,7 +27,7 @@
[Gateway] TINYINT NULL,
[GatewayCustomerId] VARCHAR (50) NULL,
[GatewaySubscriptionId] VARCHAR (50) NULL,
[ReferenceId] NVARCHAR (50) NULL,
[ReferenceData] NVARCHAR (MAX) NULL,
[Enabled] BIT NOT NULL,
[LicenseKey] VARCHAR (100) NULL,
[ApiKey] VARCHAR (30) NOT NULL,

View File

@ -23,7 +23,7 @@
[Gateway] TINYINT NULL,
[GatewayCustomerId] VARCHAR (50) NULL,
[GatewaySubscriptionId] VARCHAR (50) NULL,
[ReferenceId] NVARCHAR (50) NULL,
[ReferenceData] NVARCHAR (MAX) NULL,
[LicenseKey] VARCHAR (100) NULL,
[Kdf] TINYINT NOT NULL,
[KdfIterations] INT NOT NULL,