28 lines
942 B
C#
28 lines
942 B
C#
using Mirea.Api.DataAccess.Persistence.Common;
|
|
using Mirea.Api.Dto.Common;
|
|
using Mirea.Api.Endpoint.Configuration.Validation.Attributes;
|
|
using Mirea.Api.Endpoint.Configuration.Validation.Interfaces;
|
|
using System;
|
|
using System.Text.Json.Serialization;
|
|
|
|
namespace Mirea.Api.Endpoint.Configuration.Model.GeneralSettings;
|
|
|
|
[RequiredSettings]
|
|
public class DbSettings : IIsConfigured
|
|
{
|
|
public DatabaseType TypeDatabase { get; set; }
|
|
public required string ConnectionStringSql { get; set; }
|
|
|
|
[JsonIgnore]
|
|
public DatabaseProvider DatabaseProvider =>
|
|
TypeDatabase switch
|
|
{
|
|
DatabaseType.PostgresSql => DatabaseProvider.Postgresql,
|
|
DatabaseType.Mysql => DatabaseProvider.Mysql,
|
|
DatabaseType.Sqlite => DatabaseProvider.Sqlite,
|
|
_ => throw new ArgumentOutOfRangeException()
|
|
};
|
|
|
|
public bool IsConfigured() =>
|
|
!string.IsNullOrEmpty(ConnectionStringSql);
|
|
} |