From 2488f5bba13d394174852282f1741106dd597d08 Mon Sep 17 00:00:00 2001 From: Austin Kho Date: Sun, 26 May 2024 13:01:19 +0900 Subject: [PATCH] work pinia & types update --- app/vue/src/store/pinia/work.ts | 31 +++++++++++++++++++++++++++++++ app/vue/src/store/types/work.ts | 11 +++++++++++ 2 files changed, 42 insertions(+) diff --git a/app/vue/src/store/pinia/work.ts b/app/vue/src/store/pinia/work.ts index 98bd2df0a..bcd48ce20 100644 --- a/app/vue/src/store/pinia/work.ts +++ b/app/vue/src/store/pinia/work.ts @@ -7,6 +7,7 @@ import type { IssueProject, ProjectFilter, Member, + Version, Role, Tracker, IssueStatus, @@ -162,6 +163,30 @@ export const useWork = defineStore('work', () => { ) .catch(err => errorHandle(err.response.data)) + // version states & getters + const version = ref(null) + const versionList = ref([]) + + const fetchVersion = (pk: number) => + api + .get(`/version/${pk}/`) + .then(res => (version.value = res.data)) + .catch(err => errorHandle(err.response.data)) + + const fetchVersionList = () => + api + .get(`/version/`) + .then(res => (versionList.value = res.data.results)) + .catch(err => errorHandle(err.response.data)) + + const patchVersion = (payload: { pk: number; user?: number; roles?: number[]; slug: string }) => + api + .patch(`/version/${payload.pk}/`, payload) + .then(res => + fetchIssueProject(payload.slug).then(() => fetchVersion(res.data.pk).then(() => message())), + ) + .catch(err => errorHandle(err.response.data)) + // tracker states & getters const trackerList = ref([]) const getTrackers = computed(() => trackerList.value.map(t => ({ value: t.pk, label: t.name }))) @@ -579,6 +604,12 @@ export const useWork = defineStore('work', () => { fetchMemberList, patchMember, + version, + versionList, + fetchVersion, + fetchVersionList, + patchVersion, + trackerList, getTrackers, trackerSum, diff --git a/app/vue/src/store/types/work.ts b/app/vue/src/store/types/work.ts index 3ec3702f9..eb6f760e3 100644 --- a/app/vue/src/store/types/work.ts +++ b/app/vue/src/store/types/work.ts @@ -178,6 +178,17 @@ export interface Member { roles: { pk: number; name: string }[] } +export interface Version { + pk: number + project: number + name: string + status: '1' | '2' | '3' + sharing: '0' | '1' | '2' | '3' | '4' + due_date: string | null + description: string + wiki_page_title: string +} + export interface Tracker { pk: number name: string