Skip to content

Commit 57d5f39

Browse files
committed
pass session to avatar updates
1 parent d1d9a30 commit 57d5f39

File tree

3 files changed

+26
-14
lines changed

3 files changed

+26
-14
lines changed

apps/meteor/app/lib/server/functions/saveUserIdentity.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -124,13 +124,13 @@ async function updateUsernameReferences({
124124
}): Promise<void> {
125125
if (usernameChanged && typeof rawUsername !== 'undefined') {
126126
const fileStore = FileUpload.getStore('Avatars');
127-
const previousFile = await fileStore.model.findOneByName(previousUsername);
128-
const file = await fileStore.model.findOneByName(username);
127+
const previousFile = await fileStore.model.findOneByName(previousUsername, { session });
128+
const file = await fileStore.model.findOneByName(username, { session });
129129
if (file) {
130-
await fileStore.model.deleteFile(file._id);
130+
await fileStore.model.deleteFile(file._id, { session });
131131
}
132132
if (previousFile) {
133-
await fileStore.model.updateFileNameById(previousFile._id, username);
133+
await fileStore.model.updateFileNameById(previousFile._id, username, { session });
134134
}
135135

136136
await Messages.updateAllUsernamesByUserId(user._id, username, { session });
Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
11
import type { IUpload } from '@rocket.chat/core-typings';
2-
import type { DeleteResult, UpdateResult, Document, InsertOneResult, WithId, FindCursor, FindOptions } from 'mongodb';
2+
import type {
3+
DeleteResult,
4+
UpdateOptions,
5+
DeleteOptions,
6+
UpdateResult,
7+
Document,
8+
InsertOneResult,
9+
WithId,
10+
FindCursor,
11+
FindOptions,
12+
} from 'mongodb';
313

414
import type { IBaseModel } from './IBaseModel';
515

@@ -10,13 +20,13 @@ export interface IBaseUploadsModel<T extends IUpload> extends IBaseModel<T> {
1020

1121
confirmTemporaryFile(fileId: string, userId: string): Promise<Document | UpdateResult> | undefined;
1222

13-
findOneByName(name: string): Promise<T | null>;
23+
findOneByName(name: string, options?: FindOptions): Promise<T | null>;
1424

1525
findOneByRoomId(rid: string): Promise<T | null>;
1626

1727
findExpiredTemporaryFiles(options?: FindOptions<T>): FindCursor<T>;
1828

19-
updateFileNameById(fileId: string, name: string): Promise<Document | UpdateResult>;
29+
updateFileNameById(fileId: string, name: string, options?: UpdateOptions): Promise<Document | UpdateResult>;
2030

21-
deleteFile(fileId: string): Promise<DeleteResult>;
31+
deleteFile(fileId: string, options?: DeleteOptions): Promise<DeleteResult>;
2232
}

packages/models/src/models/BaseUploadModel.ts

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ import type {
1010
Filter,
1111
FindOptions,
1212
FindCursor,
13+
DeleteOptions,
14+
UpdateOptions,
1315
} from 'mongodb';
1416

1517
import { BaseRaw } from './BaseRaw';
@@ -91,8 +93,8 @@ export abstract class BaseUploadModelRaw extends BaseRaw<T> implements IBaseUplo
9193
return this.updateOne(filter, update);
9294
}
9395

94-
async findOneByName(name: string): Promise<T | null> {
95-
return this.findOne({ name });
96+
async findOneByName(name: string, options?: FindOptions): Promise<T | null> {
97+
return this.findOne<T>({ name }, options);
9698
}
9799

98100
async findOneByRoomId(rid: string): Promise<T | null> {
@@ -110,17 +112,17 @@ export abstract class BaseUploadModelRaw extends BaseRaw<T> implements IBaseUplo
110112
);
111113
}
112114

113-
async updateFileNameById(fileId: string, name: string): Promise<Document | UpdateResult> {
115+
async updateFileNameById(fileId: string, name: string, options?: UpdateOptions): Promise<Document | UpdateResult> {
114116
const filter = { _id: fileId };
115117
const update = {
116118
$set: {
117119
name,
118120
},
119121
};
120-
return this.updateOne(filter, update);
122+
return this.updateOne(filter, update, options);
121123
}
122124

123-
async deleteFile(fileId: string): Promise<DeleteResult> {
124-
return this.deleteOne({ _id: fileId });
125+
async deleteFile(fileId: string, options?: DeleteOptions): Promise<DeleteResult> {
126+
return this.deleteOne({ _id: fileId }, options);
125127
}
126128
}

0 commit comments

Comments
 (0)