BotSharp/src/Infrastructure/BotSharp.Core/Agents/Services/AgentService.cs

51 lines
1.5 KiB
C#
Raw Normal View History

2023-08-26 04:41:01 +00:00
using BotSharp.Abstraction.Repositories;
2023-06-27 18:31:13 +00:00
using System.IO;
2023-06-11 23:46:02 +00:00
namespace BotSharp.Core.Agents.Services;
2023-06-23 04:43:00 +00:00
public partial class AgentService : IAgentService
2023-06-11 23:46:02 +00:00
{
private readonly IServiceProvider _services;
2023-09-15 20:19:44 +00:00
private readonly IBotSharpRepository _db;
2023-07-26 21:05:30 +00:00
private readonly ILogger _logger;
2023-06-17 02:42:35 +00:00
private readonly IUserIdentity _user;
2023-09-15 22:08:59 +00:00
private readonly AgentSettings _agentSettings;
private readonly JsonSerializerOptions _options;
2023-09-15 20:19:44 +00:00
public AgentService(IServiceProvider services,
IBotSharpRepository db,
2023-08-10 04:53:22 +00:00
ILogger<AgentService> logger,
IUserIdentity user,
2023-09-15 22:08:59 +00:00
AgentSettings agentSettings)
2023-06-11 23:46:02 +00:00
{
_services = services;
2023-09-15 20:19:44 +00:00
_db = db;
2023-07-26 21:05:30 +00:00
_logger = logger;
_user = user;
2023-09-15 22:08:59 +00:00
_agentSettings = agentSettings;
_options = new JsonSerializerOptions
{
PropertyNameCaseInsensitive = true,
PropertyNamingPolicy = JsonNamingPolicy.CamelCase,
WriteIndented = true
};
2023-06-11 23:46:02 +00:00
}
2023-06-27 18:31:13 +00:00
2023-08-09 21:49:55 +00:00
public string GetDataDir()
{
2023-09-01 22:33:36 +00:00
var dbSettings = _services.GetRequiredService<BotSharpDatabaseSettings>();
2023-08-10 04:53:22 +00:00
return Path.Combine(dbSettings.FileRepository);
2023-08-09 21:49:55 +00:00
}
2023-06-27 18:31:13 +00:00
public string GetAgentDataDir(string agentId)
{
2023-09-01 22:33:36 +00:00
var dbSettings = _services.GetRequiredService<BotSharpDatabaseSettings>();
2023-09-15 22:08:59 +00:00
var dir = Path.Combine(dbSettings.FileRepository, _agentSettings.DataDir, agentId);
2023-06-27 18:31:13 +00:00
if (!Directory.Exists(dir))
{
Directory.CreateDirectory(dir);
}
return dir;
}
2023-06-11 23:46:02 +00:00
}