From 4b1077d686345e2d928fa7203d472cf79a4cd89b Mon Sep 17 00:00:00 2001 From: Joseph Doherty Date: Mon, 11 May 2026 10:45:20 -0400 Subject: [PATCH] feat(repo): add TemplateFolder repository methods --- .../Repositories/ITemplateEngineRepository.cs | 7 ++++++ .../Repositories/TemplateEngineRepository.cs | 23 +++++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/src/ScadaLink.Commons/Interfaces/Repositories/ITemplateEngineRepository.cs b/src/ScadaLink.Commons/Interfaces/Repositories/ITemplateEngineRepository.cs index f11c2a2..d53b75c 100644 --- a/src/ScadaLink.Commons/Interfaces/Repositories/ITemplateEngineRepository.cs +++ b/src/ScadaLink.Commons/Interfaces/Repositories/ITemplateEngineRepository.cs @@ -79,5 +79,12 @@ public interface ITemplateEngineRepository Task UpdateSharedScriptAsync(SharedScript sharedScript, CancellationToken cancellationToken = default); Task DeleteSharedScriptAsync(int id, CancellationToken cancellationToken = default); + // TemplateFolder + Task GetFolderByIdAsync(int id, CancellationToken cancellationToken = default); + Task> GetAllFoldersAsync(CancellationToken cancellationToken = default); + Task AddFolderAsync(TemplateFolder folder, CancellationToken cancellationToken = default); + Task UpdateFolderAsync(TemplateFolder folder, CancellationToken cancellationToken = default); + Task DeleteFolderAsync(int id, CancellationToken cancellationToken = default); + Task SaveChangesAsync(CancellationToken cancellationToken = default); } diff --git a/src/ScadaLink.ConfigurationDatabase/Repositories/TemplateEngineRepository.cs b/src/ScadaLink.ConfigurationDatabase/Repositories/TemplateEngineRepository.cs index 2bdf5b5..8b3a4bb 100644 --- a/src/ScadaLink.ConfigurationDatabase/Repositories/TemplateEngineRepository.cs +++ b/src/ScadaLink.ConfigurationDatabase/Repositories/TemplateEngineRepository.cs @@ -405,4 +405,27 @@ public class TemplateEngineRepository : ITemplateEngineRepository { return await _context.SaveChangesAsync(cancellationToken); } + + // TemplateFolder + + public async Task GetFolderByIdAsync(int id, CancellationToken cancellationToken = default) + => await _context.TemplateFolders.FirstOrDefaultAsync(f => f.Id == id, cancellationToken); + + public async Task> GetAllFoldersAsync(CancellationToken cancellationToken = default) + => await _context.TemplateFolders.AsNoTracking().ToListAsync(cancellationToken); + + public async Task AddFolderAsync(TemplateFolder folder, CancellationToken cancellationToken = default) + => await _context.TemplateFolders.AddAsync(folder, cancellationToken); + + public async Task UpdateFolderAsync(TemplateFolder folder, CancellationToken cancellationToken = default) + { + _context.TemplateFolders.Update(folder); + await Task.CompletedTask; + } + + public async Task DeleteFolderAsync(int id, CancellationToken cancellationToken = default) + { + var folder = await _context.TemplateFolders.FirstOrDefaultAsync(f => f.Id == id, cancellationToken); + if (folder != null) _context.TemplateFolders.Remove(folder); + } }