chore: code refactor and build fix (#6285)

* chore: code refactor and build fix

* chore: code refactor

* chore: code refactor
This commit is contained in:
Anmol Singh Bhatia 2024-12-27 18:18:45 +05:30 committed by GitHub
parent 3c6bbaef3c
commit 211d5e1cd0
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
33 changed files with 292 additions and 101 deletions

View file

@ -43,7 +43,7 @@ export class IssueService extends APIService {
): Promise<TIssuesResponse> {
const path =
(queries.expand as string)?.includes("issue_relation") && !queries.group_by
? `/api/workspaces/${workspaceSlug}/projects/${projectId}/issues-detail/`
? `/api/workspaces/${workspaceSlug}/projects/${projectId}/${this.serviceType}-detail/`
: `/api/workspaces/${workspaceSlug}/projects/${projectId}/${this.serviceType}/`;
return this.get(
path,
@ -76,8 +76,9 @@ export class IssueService extends APIService {
}
async getIssues(workspaceSlug: string, projectId: string, queries?: any, config = {}): Promise<TIssuesResponse> {
if (getIssuesShouldFallbackToServer(queries))
if (getIssuesShouldFallbackToServer(queries) || this.serviceType !== EIssueServiceType.ISSUES) {
return await this.getIssuesFromServer(workspaceSlug, projectId, queries, config);
}
const response = await persistence.getIssues(workspaceSlug, projectId, queries, config);
return response as TIssuesResponse;
@ -112,7 +113,8 @@ export class IssueService extends APIService {
params: queries,
})
.then((response) => {
if (response.data) {
// skip issue update when the service type is epic
if (response.data && this.serviceType === EIssueServiceType.ISSUES) {
updateIssue({ ...response.data, is_local_update: 1 });
}
return response?.data;
@ -127,7 +129,7 @@ export class IssueService extends APIService {
params: { issues: issueIds.join(",") },
})
.then((response) => {
if (response?.data && Array.isArray(response?.data)) {
if (response?.data && Array.isArray(response?.data) && this.serviceType === EIssueServiceType.ISSUES) {
addIssuesBulk(response.data);
}
return response?.data;
@ -233,7 +235,9 @@ export class IssueService extends APIService {
}
async deleteIssue(workspaceSlug: string, projectId: string, issuesId: string): Promise<any> {
deleteIssueFromLocal(issuesId);
if (this.serviceType === EIssueServiceType.ISSUES) {
deleteIssueFromLocal(issuesId);
}
return this.delete(`/api/workspaces/${workspaceSlug}/projects/${projectId}/${this.serviceType}/${issuesId}/`)
.then((response) => response?.data)
.catch((error) => {
@ -335,7 +339,9 @@ export class IssueService extends APIService {
async bulkOperations(workspaceSlug: string, projectId: string, data: TBulkOperationsPayload): Promise<any> {
return this.post(`/api/workspaces/${workspaceSlug}/projects/${projectId}/bulk-operation-issues/`, data)
.then((response) => {
persistence.syncIssues(projectId);
if (this.serviceType === EIssueServiceType.ISSUES) {
persistence.syncIssues(projectId);
}
return response?.data;
})
.catch((error) => {
@ -352,7 +358,9 @@ export class IssueService extends APIService {
): Promise<any> {
return this.delete(`/api/workspaces/${workspaceSlug}/projects/${projectId}/bulk-delete-issues/`, data)
.then((response) => {
persistence.syncIssues(projectId);
if (this.serviceType === EIssueServiceType.ISSUES) {
persistence.syncIssues(projectId);
}
return response?.data;
})
.catch((error) => {
@ -371,7 +379,9 @@ export class IssueService extends APIService {
}> {
return this.post(`/api/workspaces/${workspaceSlug}/projects/${projectId}/bulk-archive-issues/`, data)
.then((response) => {
persistence.syncIssues(projectId);
if (this.serviceType === EIssueServiceType.ISSUES) {
persistence.syncIssues(projectId);
}
return response?.data;
})
.catch((error) => {
@ -411,4 +421,18 @@ export class IssueService extends APIService {
throw error?.response?.data;
});
}
async bulkSubscribeIssues(
workspaceSlug: string,
projectId: string,
data: {
issue_ids: string[];
}
): Promise<any> {
return this.post(`/api/workspaces/${workspaceSlug}/projects/${projectId}/bulk-subscribe-issues/`, data)
.then((response) => response?.data)
.catch((error) => {
throw error?.response?.data;
});
}
}