bitwarden-android/src/App/Repositories/FolderRepository.cs

41 lines
1.2 KiB
C#
Raw Normal View History

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Bit.App.Abstractions;
using Bit.App.Models.Data;
namespace Bit.App.Repositories
{
public class FolderRepository : Repository<FolderData, string>, IFolderRepository
{
public FolderRepository(ISqlService sqlService)
: base(sqlService)
{ }
public Task<IEnumerable<FolderData>> GetAllByUserIdAsync(string userId)
{
var folders = Connection.Table<FolderData>().Where(f => f.UserId == userId).Cast<FolderData>();
return Task.FromResult(folders);
}
2016-07-31 07:19:12 +03:00
public override Task DeleteAsync(string id)
{
var now = DateTime.UtcNow;
2017-01-03 08:17:15 +03:00
DeleteWithLoginUpdateAsync(id, now);
2016-07-31 07:19:12 +03:00
return Task.FromResult(0);
}
2017-01-03 08:17:15 +03:00
public Task DeleteWithLoginUpdateAsync(string id, DateTime revisionDate)
2016-07-31 07:19:12 +03:00
{
Connection.RunInTransaction(() =>
{
Connection.Execute("UPDATE Site SET FolderId = ?, RevisionDateTime = ? WHERE FolderId = ?", null, revisionDate, id);
Connection.Delete<FolderData>(id);
});
return Task.FromResult(0);
}
}
}