12345678910111213141516171819202122232425262728293031323334353637383940 |
- import { defineStore } from 'pinia'
- import { Resources } from '../../api'
- export const useFileStore = defineStore('files', {
- state: () => ({
- sharedFiles: [],
- totalPages: 1,
- currentPage: 1,
- }),
- actions: {
- async fetchSharedFiles(page = 1, search = '') {
- try {
- const response = await Resources.getSharedResources({ page, search })
- this.sharedFiles = response.data.resources
- this.totalPages = response.data.totalPages
- this.currentPage = page
- } catch (error) {
- console.error('Failed to fetch shared files:', error)
- }
- },
- async uploadFile(fileData) {
- try {
- await Resources.uploadResource(fileData)
- // Refresh the file list after upload
- await this.fetchSharedFiles(this.currentPage)
- } catch (error) {
- console.error('Failed to upload file:', error)
- }
- },
- async deleteFile(id) {
- try {
- await Resources.deleteResource(id)
- // Refresh the file list after deletion
- await this.fetchSharedFiles(this.currentPage)
- } catch (error) {
- console.error('Failed to delete file:', error)
- }
- },
- },
- })
|