* Update user document. Requires the user to exist * @param filter user filter * @param update update document * @param error stack description used in the error or statusCode and message of the error * @throws MonkeyError if user does not exist
(
filter: Filter<DBUser>,
update: UpdateFilter<DBUser>,
error: { stack: string; statusCode?: number; message?: string },
)
| 1236 | * @throws MonkeyError if user does not exist |
| 1237 | */ |
| 1238 | async function updateUser( |
| 1239 | filter: Filter<DBUser>, |
| 1240 | update: UpdateFilter<DBUser>, |
| 1241 | error: { stack: string; statusCode?: number; message?: string }, |
| 1242 | ): Promise<void> { |
| 1243 | const result = await getUsersCollection().updateOne(filter, update); |
| 1244 | |
| 1245 | if (result.matchedCount !== 1) { |
| 1246 | throw new MonkeyError( |
| 1247 | error.statusCode ?? 404, |
| 1248 | error.message ?? "User not found", |
| 1249 | error.stack, |
| 1250 | ); |
| 1251 | } |
| 1252 | } |
| 1253 | |
| 1254 | export async function getFriends(uid: string): Promise<DBFriend[]> { |
| 1255 | return await aggregateWithAcceptedConnections( |
no test coverage detected