
using AipGateway.API.Domain.Entities;

namespace AipGateway.API.Domain.IRepositories.IGenericRepositories
{
    public interface IUnitOfWork : IDisposable
    {
        int Complete();

        IGenericRepository<TbLinkedSystem> LinkedSystemRepository { get; }
        IGenericRepository<TbLinkedServer> LinkedServerRepository { get; }
        IGenericRepository<TbLinkedApiKey> LinkedApiKeyRepository { get; }
        IGenericRepository<TbLinkedDecryptKey> LinkedDecryptKeyRepository { get; }


        IGenericRepository<TbAipLabel> AipLabelRepository { get; }
        IGenericRepository<TbAipPolicy> AipPolicyRepository { get; }
        IGenericRepository<TbAipProtection> AipProtectionRepository { get; }

        IGenericRepository<TbAipApiCallLog> AipApiCallLogRepository { get; }
        IGenericRepository<TbAipFileJobLog> AipFileJobLogRepository { get; }
    }

}

