Page MenuHomePhorge

D9746.1768509185.diff
No OneTemporary

Size
8 KB
Referenced Files
None
Subscribers
None

D9746.1768509185.diff

diff --git a/lib/shared/update-utils.js b/lib/shared/update-utils.js
--- a/lib/shared/update-utils.js
+++ b/lib/shared/update-utils.js
@@ -1,10 +1,8 @@
// @flow
-import invariant from 'invariant';
import _maxBy from 'lodash/fp/maxBy.js';
import { updateSpecs } from './updates/update-specs.js';
-import { updateTypes } from '../types/update-types-enum.js';
import {
type ServerUpdateInfo,
type UpdateData,
@@ -29,78 +27,11 @@
return updateSpecs[updateInfo.type].keyForUpdateInfo?.(updateInfo) ?? null;
}
-// ESLint doesn't recognize that invariant always throws
-// eslint-disable-next-line consistent-return
function rawUpdateInfoFromUpdateData(
updateData: UpdateData,
id: string,
): RawUpdateInfo {
- if (updateData.type === updateTypes.DELETE_ACCOUNT) {
- return {
- type: updateTypes.DELETE_ACCOUNT,
- id,
- time: updateData.time,
- deletedUserID: updateData.deletedUserID,
- };
- } else if (updateData.type === updateTypes.UPDATE_THREAD) {
- return {
- type: updateTypes.UPDATE_THREAD,
- id,
- time: updateData.time,
- threadID: updateData.threadID,
- };
- } else if (updateData.type === updateTypes.UPDATE_THREAD_READ_STATUS) {
- return {
- type: updateTypes.UPDATE_THREAD_READ_STATUS,
- id,
- time: updateData.time,
- threadID: updateData.threadID,
- unread: updateData.unread,
- };
- } else if (updateData.type === updateTypes.DELETE_THREAD) {
- return {
- type: updateTypes.DELETE_THREAD,
- id,
- time: updateData.time,
- threadID: updateData.threadID,
- };
- } else if (updateData.type === updateTypes.JOIN_THREAD) {
- return {
- type: updateTypes.JOIN_THREAD,
- id,
- time: updateData.time,
- threadID: updateData.threadID,
- };
- } else if (updateData.type === updateTypes.BAD_DEVICE_TOKEN) {
- return {
- type: updateTypes.BAD_DEVICE_TOKEN,
- id,
- time: updateData.time,
- deviceToken: updateData.deviceToken,
- };
- } else if (updateData.type === updateTypes.UPDATE_ENTRY) {
- return {
- type: updateTypes.UPDATE_ENTRY,
- id,
- time: updateData.time,
- entryID: updateData.entryID,
- };
- } else if (updateData.type === updateTypes.UPDATE_CURRENT_USER) {
- return {
- type: updateTypes.UPDATE_CURRENT_USER,
- id,
- time: updateData.time,
- };
- } else if (updateData.type === updateTypes.UPDATE_USER) {
- return {
- type: updateTypes.UPDATE_USER,
- id,
- time: updateData.time,
- updatedUserID: updateData.updatedUserID,
- };
- } else {
- invariant(false, `unrecognized updateType ${updateData.type}`);
- }
+ return updateSpecs[updateData.type].rawInfoFromData(updateData, id);
}
export {
diff --git a/lib/shared/updates/bad-device-token-spec.js b/lib/shared/updates/bad-device-token-spec.js
--- a/lib/shared/updates/bad-device-token-spec.js
+++ b/lib/shared/updates/bad-device-token-spec.js
@@ -29,6 +29,14 @@
const { deviceToken } = data;
return JSON.stringify({ deviceToken });
},
+ rawInfoFromData(data: BadDeviceTokenUpdateData, id: string) {
+ return {
+ type: updateTypes.BAD_DEVICE_TOKEN,
+ id,
+ time: data.time,
+ deviceToken: data.deviceToken,
+ };
+ },
updateInfoFromRawInfo(info: BadDeviceTokenRawUpdateInfo) {
return {
type: updateTypes.BAD_DEVICE_TOKEN,
diff --git a/lib/shared/updates/delete-account-spec.js b/lib/shared/updates/delete-account-spec.js
--- a/lib/shared/updates/delete-account-spec.js
+++ b/lib/shared/updates/delete-account-spec.js
@@ -64,6 +64,14 @@
updateContentForServerDB(data: AccountDeletionUpdateData) {
return JSON.stringify({ deletedUserID: data.deletedUserID });
},
+ rawInfoFromData(data: AccountDeletionUpdateData, id: string) {
+ return {
+ type: updateTypes.DELETE_ACCOUNT,
+ id,
+ time: data.time,
+ deletedUserID: data.deletedUserID,
+ };
+ },
updateInfoFromRawInfo(info: AccountDeletionRawUpdateInfo) {
return {
type: updateTypes.DELETE_ACCOUNT,
diff --git a/lib/shared/updates/delete-thread-spec.js b/lib/shared/updates/delete-thread-spec.js
--- a/lib/shared/updates/delete-thread-spec.js
+++ b/lib/shared/updates/delete-thread-spec.js
@@ -55,6 +55,14 @@
const { threadID } = data;
return JSON.stringify({ threadID });
},
+ rawInfoFromData(data: ThreadDeletionUpdateData, id: string) {
+ return {
+ type: updateTypes.DELETE_THREAD,
+ id,
+ time: data.time,
+ threadID: data.threadID,
+ };
+ },
updateInfoFromRawInfo(info: ThreadDeletionRawUpdateInfo) {
return {
type: updateTypes.DELETE_THREAD,
diff --git a/lib/shared/updates/join-thread-spec.js b/lib/shared/updates/join-thread-spec.js
--- a/lib/shared/updates/join-thread-spec.js
+++ b/lib/shared/updates/join-thread-spec.js
@@ -121,6 +121,14 @@
detailedThreadID: update.threadID,
};
},
+ rawInfoFromData(data: ThreadJoinUpdateData, id: string) {
+ return {
+ type: updateTypes.JOIN_THREAD,
+ id,
+ time: data.time,
+ threadID: data.threadID,
+ };
+ },
updateInfoFromRawInfo(
info: ThreadJoinRawUpdateInfo,
params: UpdateInfoFromRawInfoParams,
diff --git a/lib/shared/updates/update-current-user-spec.js b/lib/shared/updates/update-current-user-spec.js
--- a/lib/shared/updates/update-current-user-spec.js
+++ b/lib/shared/updates/update-current-user-spec.js
@@ -44,6 +44,13 @@
currentUser: true,
};
},
+ rawInfoFromData(data: CurrentUserUpdateData, id: string) {
+ return {
+ type: updateTypes.UPDATE_CURRENT_USER,
+ id,
+ time: data.time,
+ };
+ },
updateInfoFromRawInfo(
info: CurrentUserRawUpdateInfo,
params: UpdateInfoFromRawInfoParams,
diff --git a/lib/shared/updates/update-entry-spec.js b/lib/shared/updates/update-entry-spec.js
--- a/lib/shared/updates/update-entry-spec.js
+++ b/lib/shared/updates/update-entry-spec.js
@@ -52,6 +52,14 @@
entryID: update.entryID,
};
},
+ rawInfoFromData(data: EntryUpdateData, id: string) {
+ return {
+ type: updateTypes.UPDATE_ENTRY,
+ id,
+ time: data.time,
+ entryID: data.entryID,
+ };
+ },
updateInfoFromRawInfo(
info: EntryRawUpdateInfo,
params: UpdateInfoFromRawInfoParams,
diff --git a/lib/shared/updates/update-spec.js b/lib/shared/updates/update-spec.js
--- a/lib/shared/updates/update-spec.js
+++ b/lib/shared/updates/update-spec.js
@@ -86,6 +86,7 @@
+currentUser?: boolean,
+userID?: string,
},
+ +rawInfoFromData: (data: Data, id: string) => RawInfo,
+updateInfoFromRawInfo: (
info: RawInfo,
params: UpdateInfoFromRawInfoParams,
diff --git a/lib/shared/updates/update-thread-read-status-spec.js b/lib/shared/updates/update-thread-read-status-spec.js
--- a/lib/shared/updates/update-thread-read-status-spec.js
+++ b/lib/shared/updates/update-thread-read-status-spec.js
@@ -62,6 +62,15 @@
const { threadID, unread } = data;
return JSON.stringify({ threadID, unread });
},
+ rawInfoFromData(data: ThreadReadStatusUpdateData, id: string) {
+ return {
+ type: updateTypes.UPDATE_THREAD_READ_STATUS,
+ id,
+ time: data.time,
+ threadID: data.threadID,
+ unread: data.unread,
+ };
+ },
updateInfoFromRawInfo(info: ThreadReadStatusRawUpdateInfo) {
return {
type: updateTypes.UPDATE_THREAD_READ_STATUS,
diff --git a/lib/shared/updates/update-thread-spec.js b/lib/shared/updates/update-thread-spec.js
--- a/lib/shared/updates/update-thread-spec.js
+++ b/lib/shared/updates/update-thread-spec.js
@@ -70,6 +70,14 @@
threadID: update.threadID,
};
},
+ rawInfoFromData(data: ThreadUpdateData, id: string) {
+ return {
+ type: updateTypes.UPDATE_THREAD,
+ id,
+ time: data.time,
+ threadID: data.threadID,
+ };
+ },
updateInfoFromRawInfo(
info: ThreadRawUpdateInfo,
params: UpdateInfoFromRawInfoParams,
diff --git a/lib/shared/updates/update-user-spec.js b/lib/shared/updates/update-user-spec.js
--- a/lib/shared/updates/update-user-spec.js
+++ b/lib/shared/updates/update-user-spec.js
@@ -34,6 +34,14 @@
const { updatedUserID } = data;
return JSON.stringify({ updatedUserID });
},
+ rawInfoFromData(data: UserUpdateData, id: string) {
+ return {
+ type: updateTypes.UPDATE_USER,
+ id,
+ time: data.time,
+ updatedUserID: data.updatedUserID,
+ };
+ },
updateInfoFromRawInfo(info: UserRawUpdateInfo) {
return {
type: updateTypes.UPDATE_USER,

File Metadata

Mime Type
text/plain
Expires
Thu, Jan 15, 8:33 PM (3 h, 53 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5939905
Default Alt Text
D9746.1768509185.diff (8 KB)

Event Timeline