using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Tango.Web.Security;
using Tango.Web.Storage;
namespace Tango.MachineService.Security
{
public class RefreshTokensManager<T> where T : class
{
private TableStorageManager _manager;
public RefreshTokensManager()
{
_manager = new TableStorageManager();
}
public RefreshTokenEntity<T> GetToken(String refreshToken)
{
var table = _manager.GetTable(MachineServiceConfig.REFRESH_TOKENS_TABLE_NAME);
return table.GetEntity<RefreshTokenEntity<T>>(MachineServiceConfig.REFRESH_TOKENS_TABLE_PARTITION, refreshToken);
}
public RefreshTokenEntity<T> InsertOrUpdate(RefreshTokenEntity<T> refreshTokenEntity)
{
var table = _manager.GetTable(MachineServiceConfig.REFRESH_TOKENS_TABLE_NAME);
return table.InsertOrUpdateEntity(refreshTokenEntity);
}
public void DeleteToken(RefreshTokenEntity<T> entity)
{
var table = _manager.GetTable(MachineServiceConfig.REFRESH_TOKENS_TABLE_NAME);
table.DeleteEntity(entity);
}
}
}