refactor: add SqlKata for SQL generation, move connection handling into ModelRepository

This commit is contained in:
spiral
2021-09-29 21:51:38 -04:00
parent 6251d29abb
commit 92e45a07ff
60 changed files with 806 additions and 640 deletions

View File

@@ -48,8 +48,8 @@ namespace PluralKit.Core
if (system == null)
{
system = await repo.CreateSystem(conn, null, tx);
await repo.AddAccount(conn, system.Id, userId);
system = await repo.CreateSystem(null, importer._conn);
await repo.AddAccount(system.Id, userId);
importer._result.CreatedSystem = system.Hid;
importer._system = system;
}
@@ -113,7 +113,7 @@ namespace PluralKit.Core
private async Task AssertMemberLimitNotReached(int newMembers)
{
var memberLimit = _system.MemberLimitOverride ?? Limits.MaxMemberCount;
var existingMembers = await _repo.GetSystemMemberCount(_conn, _system.Id);
var existingMembers = await _repo.GetSystemMemberCount(_system.Id);
if (existingMembers + newMembers > memberLimit)
throw new ImportException($"Import would exceed the maximum number of members ({memberLimit}).");
}
@@ -121,7 +121,7 @@ namespace PluralKit.Core
private async Task AssertGroupLimitNotReached(int newGroups)
{
var limit = _system.GroupLimitOverride ?? Limits.MaxGroupCount;
var existing = await _repo.GetSystemGroupCount(_conn, _system.Id);
var existing = await _repo.GetSystemGroupCount(_system.Id);
if (existing + newGroups > limit)
throw new ImportException($"Import would exceed the maximum number of groups ({limit}).");
}

View File

@@ -29,7 +29,7 @@ namespace PluralKit.Core
throw new ImportException($"Field {e.Message} in export file is invalid.");
}
await _repo.UpdateSystem(_conn, _system.Id, patch, _tx);
await _repo.UpdateSystem(_system.Id, patch, _conn);
var members = importFile.Value<JArray>("members");
var groups = importFile.Value<JArray>("groups");
@@ -104,13 +104,13 @@ namespace PluralKit.Core
if (isNewMember)
{
var newMember = await _repo.CreateMember(_conn, _system.Id, patch.Name.Value, _tx);
var newMember = await _repo.CreateMember(_system.Id, patch.Name.Value, _conn);
memberId = newMember.Id;
}
_knownMemberIdentifiers[id] = memberId.Value;
await _repo.UpdateMember(_conn, memberId.Value, patch, _tx);
await _repo.UpdateMember(memberId.Value, patch, _conn);
}
private async Task ImportGroup(JObject group)
@@ -145,13 +145,13 @@ namespace PluralKit.Core
if (isNewGroup)
{
var newGroup = await _repo.CreateGroup(_conn, _system.Id, patch.Name.Value, _tx);
var newGroup = await _repo.CreateGroup(_system.Id, patch.Name.Value, _conn);
groupId = newGroup.Id;
}
_knownGroupIdentifiers[id] = groupId.Value;
await _repo.UpdateGroup(_conn, groupId.Value, patch, _tx);
await _repo.UpdateGroup(groupId.Value, patch, _conn);
var groupMembers = group.Value<JArray>("members");
var currentGroupMembers = (await _conn.QueryAsync<MemberId>(

View File

@@ -90,7 +90,7 @@ namespace PluralKit.Core
var isNewMember = false;
if (!_existingMemberNames.TryGetValue(name, out var memberId))
{
var newMember = await _repo.CreateMember(_conn, _system.Id, name, _tx);
var newMember = await _repo.CreateMember(_system.Id, name, _conn);
memberId = newMember.Id;
isNewMember = true;
_result.Added++;
@@ -114,7 +114,7 @@ namespace PluralKit.Core
throw new ImportException($"Field {e.Message} in tupper {name} is invalid.");
}
await _repo.UpdateMember(_conn, memberId, patch, _tx);
await _repo.UpdateMember(memberId, patch, _conn);
return (lastSetTag, multipleTags, hasGroup);
}