Initial commit: Plane
Some checks failed
Branch Build CE / Build Setup (push) Has been cancelled
Branch Build CE / Build-Push Admin Docker Image (push) Has been cancelled
Branch Build CE / Build-Push Web Docker Image (push) Has been cancelled
Branch Build CE / Build-Push Space Docker Image (push) Has been cancelled
Branch Build CE / Build-Push Live Collaboration Docker Image (push) Has been cancelled
Branch Build CE / Build-Push API Server Docker Image (push) Has been cancelled
Branch Build CE / Build-Push Proxy Docker Image (push) Has been cancelled
Branch Build CE / Build-Push AIO Docker Image (push) Has been cancelled
Branch Build CE / Upload Build Assets (push) Has been cancelled
Branch Build CE / Build Release (push) Has been cancelled
CodeQL / Analyze (javascript) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
Codespell / Check for spelling errors (push) Has been cancelled
Sync Repositories / sync_changes (push) Has been cancelled
Some checks failed
Branch Build CE / Build Setup (push) Has been cancelled
Branch Build CE / Build-Push Admin Docker Image (push) Has been cancelled
Branch Build CE / Build-Push Web Docker Image (push) Has been cancelled
Branch Build CE / Build-Push Space Docker Image (push) Has been cancelled
Branch Build CE / Build-Push Live Collaboration Docker Image (push) Has been cancelled
Branch Build CE / Build-Push API Server Docker Image (push) Has been cancelled
Branch Build CE / Build-Push Proxy Docker Image (push) Has been cancelled
Branch Build CE / Build-Push AIO Docker Image (push) Has been cancelled
Branch Build CE / Upload Build Assets (push) Has been cancelled
Branch Build CE / Build Release (push) Has been cancelled
CodeQL / Analyze (javascript) (push) Has been cancelled
CodeQL / Analyze (python) (push) Has been cancelled
Codespell / Check for spelling errors (push) Has been cancelled
Sync Repositories / sync_changes (push) Has been cancelled
Synced from upstream: 8853637e981ed7d8a6cff32bd98e7afe20f54362
This commit is contained in:
30
apps/web/core/local-db/utils/data.utils.ts
Normal file
30
apps/web/core/local-db/utils/data.utils.ts
Normal file
@@ -0,0 +1,30 @@
|
||||
import { runQuery } from "./query-executor";
|
||||
|
||||
export const getProjectIds = async () => {
|
||||
const q = `select project_id from states where project_id is not null group by project_id`;
|
||||
return await runQuery(q);
|
||||
};
|
||||
|
||||
export const getSubIssues = async (issueId: string) => {
|
||||
const q = `select * from issues where parent_id = '${issueId}'`;
|
||||
return await runQuery(q);
|
||||
};
|
||||
|
||||
export const getSubIssueDistribution = async (issueId: string) => {
|
||||
const q = `select s.'group', group_concat(i.id) as issues from issues i left join states s on s.id = i.state_id where i.parent_id = '${issueId}' group by s.'group'`;
|
||||
|
||||
const result = await runQuery(q);
|
||||
if (!result.length) {
|
||||
return {};
|
||||
}
|
||||
return result.reduce((acc: Record<string, string[]>, item: { group: string; issues: string }) => {
|
||||
acc[item.group] = item.issues.split(",");
|
||||
return acc;
|
||||
}, {});
|
||||
};
|
||||
|
||||
export const getSubIssuesWithDistribution = async (issueId: string) => {
|
||||
const promises = [getSubIssues(issueId), getSubIssueDistribution(issueId)];
|
||||
const [sub_issues, state_distribution] = await Promise.all(promises);
|
||||
return { sub_issues, state_distribution };
|
||||
};
|
||||
Reference in New Issue
Block a user