using System; using System.Collections.Generic; using System.Threading.Tasks; using QuantEngine.Core.Interfaces; using QuantEngine.Core.Models; namespace QuantEngine.Application.Services { public class ApprovalService { private readonly IWorkspaceRepository _repository; public ApprovalService(IWorkspaceRepository repository) { _repository = repository; } public Task> GetApprovalsAsync() => _repository.GetApprovalsAsync(); public Task GetApprovalAsync(string domain, string targetRef) => _repository.GetApprovalAsync(domain, targetRef); public Task UpsertApprovalAsync(WorkspaceApproval approval) => _repository.UpsertApprovalAsync(approval); public Task> GetLocksAsync() => _repository.GetLocksAsync(); public Task GetLockAsync(string domain, string targetRef) => _repository.GetLockAsync(domain, targetRef); public Task AcquireLockAsync(WorkspaceLock @lock) => _repository.AcquireLockAsync(@lock); public Task ReleaseLockAsync(string domain, string targetRef) => _repository.ReleaseLockAsync(domain, targetRef); } }