Prepared several more enums to clarify club related action results

This commit is contained in:
Kwoth
2022-10-14 23:02:43 +02:00
parent d079e684bd
commit eb1fabb2b7

View File

@@ -2,7 +2,6 @@
using LinqToDB; using LinqToDB;
using LinqToDB.EntityFrameworkCore; using LinqToDB.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Nadeko.Common;
using NadekoBot.Db; using NadekoBot.Db;
using NadekoBot.Db.Models; using NadekoBot.Db.Models;
@@ -19,6 +18,14 @@ public class ClubService : INService, IClubService
_httpFactory = httpFactory; _httpFactory = httpFactory;
} }
public enum CLubCreateResult
{
Success,
AlreadyInAClub,
NameTaken,
InsufficientLevel,
}
public async Task<bool?> CreateClubAsync(IUser user, string clubName) public async Task<bool?> CreateClubAsync(IUser user, string clubName)
{ {
//must be lvl 5 and must not be in a club already //must be lvl 5 and must not be in a club already
@@ -48,6 +55,12 @@ public class ClubService : INService, IClubService
return true; return true;
} }
public enum ClubTransferError
{
NotOwner,
TargetNotMember
}
public ClubInfo TransferClub(IUser from, IUser newOwner) public ClubInfo TransferClub(IUser from, IUser newOwner)
{ {
using var uow = _db.GetDbContext(); using var uow = _db.GetDbContext();
@@ -64,6 +77,14 @@ public class ClubService : INService, IClubService
return club; return club;
} }
public enum ToggleAdminResult
{
AddedAdmin,
RemovedAdmin,
TargetNotMember,
CanTargetThyself,
}
public async Task<bool?> ToggleAdminAsync(IUser owner, IUser toAdmin) public async Task<bool?> ToggleAdminAsync(IUser owner, IUser toAdmin)
{ {
await using var uow = _db.GetDbContext(); await using var uow = _db.GetDbContext();
@@ -88,6 +109,14 @@ public class ClubService : INService, IClubService
return member; return member;
} }
public enum SetClubIconResult
{
Success,
InvalidFiletype,
TooLarge,
NotOwner,
}
public async Task<bool> SetClubIconAsync(ulong ownerUserId, string url) public async Task<bool> SetClubIconAsync(ulong ownerUserId, string url)
{ {
if (url is not null) if (url is not null)
@@ -146,6 +175,13 @@ public class ClubService : INService, IClubService
return ClubApplyResult.Success; return ClubApplyResult.Success;
} }
public enum ClubAcceptResult
{
Accepted,
NotOwnerOrAdmin,
NoSuchApplicant,
}
public bool AcceptApplication(ulong clubOwnerUserId, string userName, out DiscordUser discordUser) public bool AcceptApplication(ulong clubOwnerUserId, string userName, out DiscordUser discordUser)
{ {
discordUser = null; discordUser = null;
@@ -269,6 +305,14 @@ public class ClubService : INService, IClubService
return ClubUnbanResult.Success; return ClubUnbanResult.Success;
} }
public enum ClubKickResult
{
Success,
NotOwnerOrAdmin,
TargetNotAMember,
Hierarchy
}
public bool Kick(ulong kickerId, string userName, out ClubInfo club) public bool Kick(ulong kickerId, string userName, out ClubInfo club)
{ {
using var uow = _db.GetDbContext(); using var uow = _db.GetDbContext();