1
0
mirror of https://github.com/bitwarden/server synced 2025-12-27 21:53:24 +00:00
Files
server/src/Core/Entities/OrganizationConnection.cs
2022-08-29 14:53:16 -04:00

46 lines
1002 B
C#

using System.Text.Json;
using Bit.Core.Enums;
using Bit.Core.Utilities;
namespace Bit.Core.Entities;
public class OrganizationConnection<T> : OrganizationConnection where T : new()
{
public new T Config
{
get => base.GetConfig<T>();
set => base.SetConfig<T>(value);
}
}
public class OrganizationConnection : ITableObject<Guid>
{
public Guid Id { get; set; }
public OrganizationConnectionType Type { get; set; }
public Guid OrganizationId { get; set; }
public bool Enabled { get; set; }
public string Config { get; set; }
public void SetNewId()
{
Id = CoreHelpers.GenerateComb();
}
public T GetConfig<T>() where T : new()
{
try
{
return JsonSerializer.Deserialize<T>(Config);
}
catch (JsonException)
{
return default;
}
}
public void SetConfig<T>(T config) where T : new()
{
Config = JsonSerializer.Serialize(config);
}
}