fix ee sync error on base issues store (#4812)

This commit is contained in:
rahulramesha 2024-06-13 21:15:20 +05:30 committed by GitHub
parent a72d095e60
commit f5f5726e15
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -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
);
@ -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
);
@ -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,
];
@ -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) {
@ -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) {