12345678910111213141516171819202122232425262728293031323334353637 |
- using System.IO;
- using System.Linq;
- using System.Threading.Tasks;
- using MediaBrowser.Model.Activity;
- using Microsoft.EntityFrameworkCore;
- namespace Emby.Server.Implementations.Activity
- {
- public class ActivityRepository : DbContext, IActivityRepository
- {
- protected string _dataDirPath;
- public DbSet<ActivityLogEntry> ActivityLogs { get; set; }
- public ActivityRepository(string dataDirPath)
- {
- _dataDirPath = dataDirPath;
- }
- protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
- {
- // Ensure the dir exists
- Directory.CreateDirectory(_dataDirPath);
- optionsBuilder.UseSqlite($"Filename={Path.Combine(_dataDirPath, "activitylog.sqlite.db")}");
- }
- public async Task CreateAsync(ActivityLogEntry entry)
- {
- await ActivityLogs.AddAsync(entry);
- await SaveChangesAsync();
- }
- public IQueryable<ActivityLogEntry> GetActivityLogEntries()
- => ActivityLogs;
- }
- }
|