fix: re-enable deleting messages from db (but correctly this time)
This commit is contained in:
parent
1c159c37ff
commit
0a58c9a9ed
@ -44,9 +44,6 @@ public partial class ModelRepository
|
|||||||
|
|
||||||
public async Task DeleteMessage(ulong id)
|
public async Task DeleteMessage(ulong id)
|
||||||
{
|
{
|
||||||
if ((await GetMessage(id)) == null)
|
|
||||||
return;
|
|
||||||
|
|
||||||
var query = new Query("messages").AsDelete().Where("mid", id);
|
var query = new Query("messages").AsDelete().Where("mid", id);
|
||||||
var rowCount = await _db.ExecuteQuery(query, messages: true);
|
var rowCount = await _db.ExecuteQuery(query, messages: true);
|
||||||
if (rowCount > 0)
|
if (rowCount > 0)
|
||||||
@ -55,13 +52,9 @@ public partial class ModelRepository
|
|||||||
|
|
||||||
public async Task DeleteMessagesBulk(IReadOnlyCollection<ulong> ids)
|
public async Task DeleteMessagesBulk(IReadOnlyCollection<ulong> ids)
|
||||||
{
|
{
|
||||||
var q = new Query("messages").Select("mid").WhereIn("mid", ids.Select(id => (long)id).ToArray());
|
|
||||||
var realIds = await _db.Query<long>(q);
|
|
||||||
if (realIds.Count() == 0) return;
|
|
||||||
|
|
||||||
// Npgsql doesn't support ulongs in general - we hacked around it for plain ulongs but tbh not worth it for collections of ulong
|
// Npgsql doesn't support ulongs in general - we hacked around it for plain ulongs but tbh not worth it for collections of ulong
|
||||||
// Hence we map them to single longs, which *are* supported (this is ok since they're Technically (tm) stored as signed longs in the db anyway)
|
// Hence we map them to single longs, which *are* supported (this is ok since they're Technically (tm) stored as signed longs in the db anyway)
|
||||||
var query = new Query("messages").AsDelete().WhereIn("mid", realIds);
|
var query = new Query("messages").AsDelete().WhereIn("mid", ids.Select(id => (long)id).ToArray());
|
||||||
var rowCount = await _db.ExecuteQuery(query, messages: true);
|
var rowCount = await _db.ExecuteQuery(query, messages: true);
|
||||||
if (rowCount > 0)
|
if (rowCount > 0)
|
||||||
_logger.Information("Bulk deleted messages ({FoundCount} found) from database: {MessageIds}", rowCount,
|
_logger.Information("Bulk deleted messages ({FoundCount} found) from database: {MessageIds}", rowCount,
|
||||||
|
Loading…
Reference in New Issue
Block a user