Page MenuHomePhorge

D7678.1768410604.diff
No OneTemporary

Size
1 KB
Referenced Files
None
Subscribers
None

D7678.1768410604.diff

diff --git a/keyserver/src/updaters/account-updaters.js b/keyserver/src/updaters/account-updaters.js
--- a/keyserver/src/updaters/account-updaters.js
+++ b/keyserver/src/updaters/account-updaters.js
@@ -14,12 +14,23 @@
UpdateUserAvatarRequest,
} from 'lib/types/avatar-types.js';
import { updateTypes } from 'lib/types/update-types.js';
-import type { PasswordUpdate } from 'lib/types/user-types.js';
+import type {
+ CreateUpdatesResult,
+ UpdateData,
+} from 'lib/types/update-types.js';
+import type {
+ PasswordUpdate,
+ UserInfo,
+ UserInfos,
+} from 'lib/types/user-types.js';
import { ServerError } from 'lib/utils/errors.js';
+import { values } from 'lib/utils/objects.js';
import { createUpdates } from '../creators/update-creator.js';
import { dbQuery, SQL } from '../database/database.js';
import { getUploadURL } from '../fetchers/upload-fetchers.js';
+import { fetchKnownUserInfos } from '../fetchers/user-fetchers.js';
+import { handleAsyncPromise } from '../responders/handlers.js';
import type { Viewer } from '../session/viewer.js';
async function accountUpdater(
@@ -174,6 +185,26 @@
const [resultSet] = await dbQuery(query, { multipleStatements: true });
const selectResult = resultSet.pop();
+ const knownUserInfos: UserInfos = await fetchKnownUserInfos(viewer);
+ const usersToUpdate: $ReadOnlyArray<UserInfo> = values(knownUserInfos).filter(
+ (user: UserInfo): boolean => user.id !== viewer.userID,
+ );
+
+ const time = Date.now();
+ const updateDatas: $ReadOnlyArray<UpdateData> = usersToUpdate.map(
+ (user: UserInfo): UpdateData => ({
+ type: updateTypes.UPDATE_USER,
+ userID: user.id,
+ time,
+ updatedUserID: viewer.userID,
+ }),
+ );
+
+ const userUpdatesPromise: Promise<CreateUpdatesResult> =
+ createUpdates(updateDatas);
+
+ handleAsyncPromise(userUpdatesPromise);
+
if (request.type === 'remove') {
return null;
} else if (request.type !== 'image') {

File Metadata

Mime Type
text/plain
Expires
Wed, Jan 14, 5:10 PM (8 h, 48 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5933047
Default Alt Text
D7678.1768410604.diff (1 KB)

Event Timeline