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);
 | |
| } |