Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F32398363
D9849.1765339506.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
2 KB
Referenced Files
None
Subscribers
None
D9849.1765339506.diff
View Options
diff --git a/keyserver/src/creators/thread-creator.js b/keyserver/src/creators/thread-creator.js
--- a/keyserver/src/creators/thread-creator.js
+++ b/keyserver/src/creators/thread-creator.js
@@ -51,6 +51,7 @@
recalculateThreadPermissions,
commitMembershipChangeset,
getChangesetCommitResultForExistingThread,
+ type MembershipChangeset,
} from '../updaters/thread-permission-updaters.js';
import { joinThread } from '../updaters/thread-updaters.js';
import RelationshipChangeset from '../utils/relationship-changeset.js';
@@ -328,16 +329,12 @@
await dbQuery(query);
}
- let initialMemberPromise;
- if (initialMemberIDs) {
- initialMemberPromise = changeRole(id, initialMemberIDs, null, {
- setNewMembersToUnread: true,
- });
- }
- let ghostMemberPromise;
- if (ghostMemberIDs) {
- ghostMemberPromise = changeRole(id, ghostMemberIDs, -1);
- }
+ const initialMemberPromise: Promise<?MembershipChangeset> = initialMemberIDs
+ ? changeRole(id, initialMemberIDs, null, { setNewMembersToUnread: true })
+ : Promise.resolve(undefined);
+ const ghostMemberPromise: Promise<?MembershipChangeset> = ghostMemberIDs
+ ? changeRole(id, ghostMemberIDs, -1)
+ : Promise.resolve(undefined);
const [
creatorChangeset,
diff --git a/keyserver/src/updaters/thread-permission-updaters.js b/keyserver/src/updaters/thread-permission-updaters.js
--- a/keyserver/src/updaters/thread-permission-updaters.js
+++ b/keyserver/src/updaters/thread-permission-updaters.js
@@ -68,7 +68,7 @@
+oldRole: string,
};
type MembershipRow = MembershipRowToSave | MembershipRowToDelete;
-type Changeset = {
+export type MembershipChangeset = {
+membershipRows: MembershipRow[],
+relationshipChangeset: RelationshipChangeset,
};
@@ -90,7 +90,7 @@
userIDs: $ReadOnlyArray<string>,
role: string | -1 | 0 | null,
options?: ChangeRoleOptions,
-): Promise<Changeset> {
+): Promise<MembershipChangeset> {
const intent = role === -1 || role === 0 ? 'leave' : 'join';
const setNewMembersToUnread =
options?.setNewMembersToUnread && intent === 'join';
@@ -415,7 +415,7 @@
};
async function updateDescendantPermissions(
initialChangedAncestor: ChangedAncestor,
-): Promise<Changeset> {
+): Promise<MembershipChangeset> {
const membershipRows = [];
const relationshipChangeset = new RelationshipChangeset();
@@ -708,7 +708,7 @@
};
async function recalculateThreadPermissions(
threadID: string,
-): Promise<Changeset> {
+): Promise<MembershipChangeset> {
const threadQuery = SQL`
SELECT type, depth, parent_thread_id, containing_thread_id
FROM threads
@@ -1069,7 +1069,7 @@
};
async function commitMembershipChangeset(
viewer: Viewer,
- changeset: Changeset,
+ changeset: MembershipChangeset,
{
changedThreadIDs = new Set(),
calendarQuery,
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Wed, Dec 10, 4:05 AM (15 h, 8 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5860623
Default Alt Text
D9849.1765339506.diff (2 KB)
Attached To
Mode
D9849: [Flow202][keyserver][skip-ci] [1/x] Fix Flow issues with conditional changeRole passed to promiseAll
Attached
Detach File
Event Timeline
Log In to Comment