Skip to content

Commit

Permalink
fix ee sync error on base issues store (makeplane#4812)
Browse files Browse the repository at this point in the history
  • Loading branch information
rahulramesha authored Jun 13, 2024
1 parent a72d095 commit f5f5726
Showing 1 changed file with 20 additions and 10 deletions.
30 changes: 20 additions & 10 deletions web/core/store/issue/helpers/base-issues.store.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1470,10 +1470,12 @@ export abstract class BaseIssuesStore implements IBaseIssuesStore {
// if unGrouped, then return the path as ALL_ISSUES along with orderByUpdates
if (!this.issueGroupKey) return action ? [{ path: [ALL_ISSUES], action }, ...orderByUpdates] : orderByUpdates;

const issueGroupKey = issue?.[this.issueGroupKey] as string | string[] | null | undefined;
const issueBeforeUpdateGroupKey = issueBeforeUpdate?.[this.issueGroupKey] as string | string[] | null | undefined;
// if grouped, the get the Difference between the two issue properties (this.issueGroupKey) on which groupBy is performed
const groupActionsArray = getDifference(
this.getArrayStringArray(issue, issue?.[this.issueGroupKey], this.groupBy),
this.getArrayStringArray(issueBeforeUpdate, issueBeforeUpdate?.[this.issueGroupKey], this.groupBy),
this.getArrayStringArray(issue, issueGroupKey, this.groupBy),
this.getArrayStringArray(issueBeforeUpdate, issueBeforeUpdateGroupKey, this.groupBy),
action
);

Expand All @@ -1487,10 +1489,16 @@ export abstract class BaseIssuesStore implements IBaseIssuesStore {
...orderByUpdates,
];

const issueSubGroupKey = issue?.[this.issueSubGroupKey] as string | string[] | null | undefined;
const issueBeforeUpdateSubGroupKey = issueBeforeUpdate?.[this.issueSubGroupKey] as
| string
| string[]
| null
| undefined;
// if subGrouped, the get the Difference between the two issue properties (this.issueGroupKey) on which subGroupBy is performed
const subGroupActionsArray = getDifference(
this.getArrayStringArray(issue, issue?.[this.issueSubGroupKey], this.subGroupBy),
this.getArrayStringArray(issueBeforeUpdate, issueBeforeUpdate?.[this.issueSubGroupKey], this.subGroupBy),
this.getArrayStringArray(issue, issueSubGroupKey, this.subGroupBy),
this.getArrayStringArray(issueBeforeUpdate, issueBeforeUpdateSubGroupKey, this.subGroupBy),
action
);

Expand All @@ -1499,10 +1507,10 @@ export abstract class BaseIssuesStore implements IBaseIssuesStore {
...getSubGroupIssueKeyActions(
groupActionsArray,
subGroupActionsArray,
this.getArrayStringArray(issueBeforeUpdate, issueBeforeUpdate?.[this.issueGroupKey], this.groupBy),
this.getArrayStringArray(issue, issue?.[this.issueGroupKey], this.groupBy),
this.getArrayStringArray(issueBeforeUpdate, issueBeforeUpdate?.[this.issueSubGroupKey], this.subGroupBy),
this.getArrayStringArray(issue, issue?.[this.issueSubGroupKey], this.subGroupBy)
this.getArrayStringArray(issueBeforeUpdate, issueBeforeUpdateGroupKey, this.groupBy),
this.getArrayStringArray(issue, issueGroupKey, this.groupBy),
this.getArrayStringArray(issueBeforeUpdate, issueBeforeUpdateSubGroupKey, this.subGroupBy),
this.getArrayStringArray(issue, issueSubGroupKey, this.subGroupBy)
),
...orderByUpdates,
];
Expand Down Expand Up @@ -1530,9 +1538,10 @@ export abstract class BaseIssuesStore implements IBaseIssuesStore {
// if they are not equal and issues are not grouped then, provide path as ALL_ISSUES
if (!this.issueGroupKey) return [{ path: [ALL_ISSUES], action: EIssueGroupedAction.REORDER }];

const issueGroupKey = issue?.[this.issueGroupKey] as string | string[] | null | undefined;
// if they are grouped then identify the paths based on props on which group by is dependent on
const issueKeyActions: { path: string[]; action: EIssueGroupedAction.REORDER }[] = [];
const groupByValues = this.getArrayStringArray(issue, issue[this.issueGroupKey]);
const groupByValues = this.getArrayStringArray(issue, issueGroupKey);

// if issues are not subGrouped then, provide path from groupByValues
if (!this.issueSubGroupKey) {
Expand All @@ -1543,8 +1552,9 @@ export abstract class BaseIssuesStore implements IBaseIssuesStore {
return issueKeyActions;
}

const issueSubGroupKey = issue?.[this.issueSubGroupKey] as string | string[] | null | undefined;
// if they are grouped then identify the paths based on props on which sub group by is dependent on
const subGroupByValues = this.getArrayStringArray(issue, issue[this.issueSubGroupKey]);
const subGroupByValues = this.getArrayStringArray(issue, issueSubGroupKey);

// if issues are subGrouped then, provide path from subGroupByValues
for (const groupKey of groupByValues) {
Expand Down

0 comments on commit f5f5726

Please sign in to comment.