feat: Files Delete File done.

This commit is contained in:
chiayin
2024-01-17 10:46:07 +08:00
parent 30a97b2a3b
commit 75bbcd07ab
4 changed files with 102 additions and 49 deletions

View File

@@ -3,7 +3,11 @@ import axios from "axios";
import moment from 'moment';
import apiError from '@/module/apiError.js';
import Swal from 'sweetalert2';
import { uploadFailedFirst, uploadFailedSecond, uploadloader, uploadSuccess } from '@/module/alertModal.js'
import { uploadFailedFirst, uploadFailedSecond, uploadloader, uploadSuccess } from '@/module/alertModal.js';
import pinia from '@/stores/main.js';
import loadingStore from '@/stores/loading.js';
const loading = loadingStore(pinia);
export default defineStore('filesStore', {
state: () => ({
@@ -26,26 +30,33 @@ export default defineStore('filesStore', {
allUploadDetail: null,
uploadLogId: null,
uploadFileName: null,
allDependentsData: null,
}),
getters: {
/**
* Get allFiles and switch files tag
*/
allFiles: state => {
let result = state.allEventFiles;
let data = state.switchFilesTagData;
let filesTag = state.filesTag;
/**
* Get allFiles and switch files tag
*/
allFiles: state => {
let result = state.allEventFiles;
let data = state.switchFilesTagData;
let filesTag = state.filesTag;
result = result.filter(file => data[filesTag].includes(file.fileType));
result = result.filter(file => data[filesTag].includes(file.fileType));
return result;
return result;
},
/**
* Get upload preview
*/
uploadDetail: state => {
return state.allUploadDetail;
}
/**
* Get upload preview
*/
uploadDetail: state => {
return state.allUploadDetail;
},
/**
* Get dependents of files data
*/
dependentsData: state => {
return state.allDependentsData;
}
},
actions: {
/**
@@ -205,6 +216,35 @@ export default defineStore('filesStore', {
apiError(error, 'Failed to rename.');
}
},
/**
* Get the Dependents of the files
* @param { string } type log | filter | log-check | filter-check
* @param { number } id
*/
async getDependents(type, id) {
let api;
switch (type) {
case 'log':
api = `/api/logs/${id}/dependents`;
break;
case 'filter':
api = `/api/filters/${id}/dependents`;
break;
case 'log-check':
api = `/api/log-checks/${id}/dependents`;
break;
case 'filter-check':
api = `/api/filter-checks/${id}/dependents`;
break;
}
try {
const response = await axios.get(api);
this.allDependentsData = response.data;
} catch(error) {
apiError(error, 'Failed to get Dependents of the files.');
}
},
/**
* Delete file
* @param { string } type log | filter | log-check | filter-check
@@ -213,6 +253,7 @@ export default defineStore('filesStore', {
async deleteFile(type, id) {
let api;
loading.isLoading = true;
switch (type) {
case 'log':
api = `/api/logs/${id}`;
@@ -229,8 +270,11 @@ export default defineStore('filesStore', {
}
try {
const response = await axios.delete(api);
await this.fetchAllFiles();
} catch(error) {
apiError(error, 'Failed to delete.');
} finally {
loading.isLoading = false;
}
},
/**
@@ -249,12 +293,14 @@ export default defineStore('filesStore', {
case 'filter':
api = `/api/filters/${id}/csv`;
break;
case 'log-check':
api = `/api/log-checks/${id}/csv`;
break;
case 'filter-check':
api = `/api/filter-checks/${id}/csv`;
break;
// case 'log-check':
// api = `/api/log-checks/${id}/csv`;
// break;
// case 'filter-check':
// api = `/api/filter-checks/${id}/csv`;
// break;
default:
return;
}
try {
const response = await axios.get(api);