
using CloudBuilder.Security.Entity;
using CloudBuilder.Security.SearchCriteria;
using CloudBuilder.Core.Service;

namespace CloudBuilder.Security.Service
{
    public  interface ISecurityLockService :IServiceBase<SecurityLockEntity, SecurityLockEntityKey ,SecurityLockSearchCriteria>
    {
        bool IsLocked(string entityName, string key);

        void Lock(string entityName, string key, string username);

        void ForceLock(string entityName, string key, string username);

        void ConsumeLock(string entityName, string key, string username);

        void ClearLock(string entityName, string key);


    }
}
