mirror of
https://github.com/fluxerapp/fluxer
synced 2026-10-17 21:15:32 +09:00
chore(repo): prune dead code and duplicate abstractions (#3413)
This commit is contained in:
1 parent
c17091768c
commit
c9fdf8fead
2937 files changed
+42233
-176793
No files matched your search
@@ -1,19 +1,13 @@
|
||||
// SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
import type {GuildID, RoleID, UserID} from '@app/api/BrandedTypes';
|
||||
import {guildIdToRoleId} from '@app/api/BrandedTypes';
|
||||
import {isIpBanExempt} from '@app/api/ban/IpBanExemptions';
|
||||
import {type GuildID, guildIdToRoleId, type RoleID, type UserID} from '@app/api/BrandedTypes';
|
||||
import type {GuildRepository} from '@app/api/guild/repositories/GuildRepository';
|
||||
import type {GuildMember} from '@app/api/models/GuildMember';
|
||||
import type {UserRepository} from '@app/api/user/repositories/UserRepository';
|
||||
import {Permissions} from '@fluxer/constants/src/ChannelConstants';
|
||||
import {ValidationErrorCodes} from '@fluxer/constants/src/ValidationErrorCodes';
|
||||
import {InputValidationError} from '@fluxer/errors/src/domains/core/InputValidationError';
|
||||
import {MissingPermissionsError} from '@fluxer/errors/src/domains/core/MissingPermissionsError';
|
||||
import {BannedFromGuildError} from '@fluxer/errors/src/domains/guild/BannedFromGuildError';
|
||||
import {IpBannedFromGuildError} from '@fluxer/errors/src/domains/guild/IpBannedFromGuildError';
|
||||
import {UnknownGuildRoleError} from '@fluxer/errors/src/domains/guild/UnknownGuildRoleError';
|
||||
import {isSameIpDecisionMatch} from '@fluxer/ip_utils/src/IpAddress';
|
||||
import type {GuildResponse} from '@fluxer/schema/src/domains/guild/GuildResponseSchemas';
|
||||
|
||||
function ensureNotEveryoneRole(roleId: RoleID, guildId: GuildID, path: string): void {
|
||||
@@ -23,10 +17,7 @@ function ensureNotEveryoneRole(roleId: RoleID, guildId: GuildID, path: string):
|
||||
}
|
||||
|
||||
export class GuildMemberValidationService {
|
||||
constructor(
|
||||
private readonly guildRepository: GuildRepository,
|
||||
private readonly userRepository: UserRepository,
|
||||
) {}
|
||||
constructor(private readonly guildRepository: GuildRepository) {}
|
||||
|
||||
async validateAndGetRoleIds(params: {
|
||||
userId: UserID;
|
||||
@@ -89,18 +80,4 @@ export class GuildMemberValidationService {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
async checkUserBanStatus({userId, guildId}: {userId: UserID; guildId: GuildID}): Promise<void> {
|
||||
const bans = await this.guildRepository.listBans(guildId);
|
||||
const user = await this.userRepository.findUnique(userId);
|
||||
const userIp = user?.lastActiveIp;
|
||||
for (const ban of bans) {
|
||||
if (ban.userId === userId) {
|
||||
throw new BannedFromGuildError();
|
||||
}
|
||||
if (isSameIpDecisionMatch(userIp, ban.ipAddress) && !isIpBanExempt(userIp)) {
|
||||
throw new IpBannedFromGuildError();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user