Skip to content

Commit 6873aef

Browse files
committed
use model methods
1 parent 54ddc8f commit 6873aef

5 files changed

Lines changed: 15 additions & 7 deletions

File tree

apps/meteor/server/services/room/service.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -376,11 +376,11 @@ export class RoomService extends ServiceClassInternal implements IRoomService {
376376
});
377377
}
378378

379-
async inviteUserAfterBan(subscription: ISubscription, inviterUser: Pick<IUser, '_id' | 'username' | 'name'>): Promise<void> {
380-
await Subscriptions.updateOne(
381-
{ _id: subscription._id },
382-
{ $set: { status: 'INVITED', open: true, unread: 1, userMentions: 1, groupMentions: 0, alert: true, inviter: inviterUser } },
383-
);
379+
async unbanAndInviteUser(
380+
subscription: ISubscription,
381+
inviterUser: Required<Pick<IUser, '_id' | 'username'>> & Pick<IUser, 'name'>,
382+
): Promise<void> {
383+
await Subscriptions.unbanToInvitedById(subscription._id, inviterUser);
384384

385385
void notifyOnSubscriptionChangedById(subscription._id, 'updated');
386386
}

ee/packages/federation-matrix/src/events/member.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -244,7 +244,7 @@ async function handleInvite({
244244
if (subscription) {
245245
// if subscription state says the user is banned, it means the user was previously banned and is now being re-invited, so we need to unban the user instead of creating a new invite
246246
if (isBannedSubscription(subscription)) {
247-
await Room.inviteUserAfterBan(subscription, inviterUser);
247+
await Room.unbanAndInviteUser(subscription, inviterUser);
248248
}
249249
return;
250250
}

packages/core-services/src/types/IRoomService.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,5 +79,5 @@ export interface IRoomService {
7979
): Promise<boolean>;
8080
markAsRead(room: IRoom, userId: string, readThreads?: boolean): Promise<void>;
8181
readThread(params: { user: IUser; room: IRoom; tmid: string }): Promise<void>;
82-
inviteUserAfterBan(subscription: ISubscription, inviterUser: Pick<IUser, '_id' | 'username' | 'name'>): Promise<void>;
82+
unbanAndInviteUser(subscription: ISubscription, inviterUser: Pick<IUser, '_id' | 'username' | 'name'>): Promise<void>;
8383
}

packages/model-typings/src/models/ISubscriptionsModel.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -342,6 +342,7 @@ export interface ISubscriptionsModel extends IBaseModel<ISubscription> {
342342
findBannedByRoomId(roomId: ISubscription['rid']): FindCursor<ISubscription>;
343343
banByRoomIdAndUserId(roomId: string, userId: string): Promise<UpdateResult>;
344344
unbanByRoomIdAndUserId(roomId: string, userId: string): Promise<UpdateResult>;
345+
unbanToInvitedById(subId: string, inviter: Required<Pick<IUser, '_id' | 'username'>> & Pick<IUser, 'name'>): Promise<UpdateResult>;
345346
setAbacLastTimeCheckedByUserIdAndRoomId(userId: string, roomId: string, time: Date): Promise<UpdateResult>;
346347
findJoinedByUserId<T extends Document = ISubscription>(userId: ISubscription['u']['_id'], options?: FindOptions<T>): FindCursor<T>;
347348
}

packages/models/src/models/Subscriptions.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2152,6 +2152,13 @@ export class SubscriptionsRaw extends BaseRaw<ISubscription> implements ISubscri
21522152
);
21532153
}
21542154

2155+
unbanToInvitedById(subId: string, inviter: Required<Pick<IUser, '_id' | 'username'>> & Pick<IUser, 'name'>): Promise<UpdateResult> {
2156+
return this.updateOne(
2157+
{ _id: subId, status: 'BANNED' },
2158+
{ $set: { status: 'INVITED', open: true, unread: 1, userMentions: 1, groupMentions: 0, alert: true, inviter } },
2159+
);
2160+
}
2161+
21552162
setAbacLastTimeCheckedByUserIdAndRoomId(userId: string, roomId: string, time: Date): Promise<UpdateResult> {
21562163
const query = {
21572164
'rid': roomId,

0 commit comments

Comments
 (0)