feat: init
This commit is contained in:
94
apps/web/core/hooks/use-project-issue-properties.ts
Normal file
94
apps/web/core/hooks/use-project-issue-properties.ts
Normal file
@@ -0,0 +1,94 @@
|
||||
import { useProjectEstimates } from "./store/estimates";
|
||||
import { useCycle } from "./store/use-cycle";
|
||||
import { useLabel } from "./store/use-label";
|
||||
import { useMember } from "./store/use-member";
|
||||
import { useModule } from "./store/use-module";
|
||||
import { useProjectState } from "./store/use-project-state";
|
||||
|
||||
export const useProjectIssueProperties = () => {
|
||||
const { fetchProjectStates } = useProjectState();
|
||||
const {
|
||||
project: { fetchProjectMembers },
|
||||
} = useMember();
|
||||
const { fetchProjectLabels } = useLabel();
|
||||
const { fetchAllCycles: fetchProjectAllCycles } = useCycle();
|
||||
const { fetchModules: fetchProjectAllModules } = useModule();
|
||||
const { getProjectEstimates } = useProjectEstimates();
|
||||
|
||||
// fetching project states
|
||||
const fetchStates = async (
|
||||
workspaceSlug: string | string[] | undefined,
|
||||
projectId: string | string[] | undefined
|
||||
) => {
|
||||
if (workspaceSlug && projectId) {
|
||||
await fetchProjectStates(workspaceSlug.toString(), projectId.toString());
|
||||
}
|
||||
};
|
||||
// fetching project members
|
||||
const fetchMembers = async (
|
||||
workspaceSlug: string | string[] | undefined,
|
||||
projectId: string | string[] | undefined
|
||||
) => {
|
||||
if (workspaceSlug && projectId) {
|
||||
await fetchProjectMembers(workspaceSlug.toString(), projectId.toString());
|
||||
}
|
||||
};
|
||||
|
||||
// fetching project labels
|
||||
const fetchLabels = async (
|
||||
workspaceSlug: string | string[] | undefined,
|
||||
projectId: string | string[] | undefined
|
||||
) => {
|
||||
if (workspaceSlug && projectId) {
|
||||
await fetchProjectLabels(workspaceSlug.toString(), projectId.toString());
|
||||
}
|
||||
};
|
||||
// fetching project cycles
|
||||
const fetchCycles = async (
|
||||
workspaceSlug: string | string[] | undefined,
|
||||
projectId: string | string[] | undefined
|
||||
) => {
|
||||
if (workspaceSlug && projectId) {
|
||||
await fetchProjectAllCycles(workspaceSlug.toString(), projectId.toString());
|
||||
}
|
||||
};
|
||||
// fetching project modules
|
||||
const fetchModules = async (
|
||||
workspaceSlug: string | string[] | undefined,
|
||||
projectId: string | string[] | undefined
|
||||
) => {
|
||||
if (workspaceSlug && projectId) {
|
||||
await fetchProjectAllModules(workspaceSlug.toString(), projectId.toString());
|
||||
}
|
||||
};
|
||||
// fetching project estimates
|
||||
const fetchEstimates = async (
|
||||
workspaceSlug: string | string[] | undefined,
|
||||
projectId: string | string[] | undefined
|
||||
) => {
|
||||
if (workspaceSlug && projectId) {
|
||||
await getProjectEstimates(workspaceSlug.toString(), projectId.toString());
|
||||
}
|
||||
};
|
||||
|
||||
const fetchAll = async (workspaceSlug: string | string[] | undefined, projectId: string | string[] | undefined) => {
|
||||
if (workspaceSlug && projectId) {
|
||||
await fetchStates(workspaceSlug, projectId);
|
||||
await fetchMembers(workspaceSlug, projectId);
|
||||
await fetchLabels(workspaceSlug, projectId);
|
||||
await fetchCycles(workspaceSlug, projectId);
|
||||
await fetchModules(workspaceSlug, projectId);
|
||||
await fetchEstimates(workspaceSlug, projectId);
|
||||
}
|
||||
};
|
||||
|
||||
return {
|
||||
fetchAll,
|
||||
fetchStates,
|
||||
fetchMembers,
|
||||
fetchLabels,
|
||||
fetchCycles,
|
||||
fetchModules,
|
||||
fetchEstimates,
|
||||
};
|
||||
};
|
||||
Reference in New Issue
Block a user