- public sharing refactored part 1

This commit is contained in:
Peter Papp
2021-03-19 07:27:15 +01:00
parent 816c8c3e07
commit db9900fcfb
27 changed files with 563 additions and 435 deletions
+13 -10
View File
@@ -154,12 +154,16 @@ const actions = {
// Get route
let route = undefined
if (getters.sharedDetail && getters.sharedDetail.is_protected)
route = '/api/browse/search/private'
else if (getters.sharedDetail && !getters.sharedDetail.is_protected)
route = '/api/browse/search/public/' + router.currentRoute.params.token
else
if (getters.sharedDetail) {
let permission = getters.sharedDetail.is_protected
? 'private'
: 'public'
route = `/api/browse/search/${permission}/${router.currentRoute.params.token}`
} else {
route = '/api/browse/search'
}
axios
.get(route, {
@@ -177,12 +181,11 @@ const actions = {
// Get route
let route = undefined
if (getters.sharedDetail && getters.sharedDetail.is_protected)
route = '/api/browse/navigation/private'
else if (getters.sharedDetail && !getters.sharedDetail.is_protected)
route = '/api/browse/navigation/public/' + router.currentRoute.params.token
else
if (getters.sharedDetail) {
route = `/api/browse/navigation/${router.currentRoute.params.token}`
} else {
route = '/api/browse/navigation'
}
axios
.get(route + getters.sorting.URI)
+16 -18
View File
@@ -22,10 +22,9 @@ const actions = {
message: i18n.t('popup_zipping.message')
})
// Get route
let route = getters.sharedDetail && !getters.sharedDetail.is_protected
? '/api/zip/folder/' + folder.id + '/public/' + router.currentRoute.params.token
: '/api/zip/folder/' + folder.id
let route = getters.sharedDetail
? `/api/zip/folder/${folder.id}/${router.currentRoute.params.token}`
: `/api/zip/folder/${folder.id}`
axios.get(route)
.then(response => {
@@ -37,7 +36,6 @@ const actions = {
.finally(() => {
commit('PROCESSING_POPUP', undefined)
})
},
downloadFiles: ({commit, getters}) => {
let files = []
@@ -46,8 +44,8 @@ const actions = {
getters.fileInfoDetail.forEach(file => files.push(file.id))
// Get route
let route = getters.sharedDetail && !getters.sharedDetail.is_protected
? '/api/zip/files/public/' + router.currentRoute.params.token
let route = getters.sharedDetail
? `/api/zip/files/${router.currentRoute.params.token}`
: '/api/zip/files'
commit('PROCESSING_POPUP', {
@@ -87,8 +85,8 @@ const actions = {
commit('CLEAR_FILEINFO_DETAIL')
// Get route
let route = getters.sharedDetail && !getters.sharedDetail.is_protected
? '/api/editor/move/public/' + router.currentRoute.params.token
let route = getters.sharedDetail
? `/api/editor/move/${router.currentRoute.params.token}`
: '/api/move'
console.log(to_item);
@@ -114,8 +112,8 @@ const actions = {
createFolder: ({commit, getters, dispatch}, folder) => {
// Get route
let route = getters.sharedDetail && !getters.sharedDetail.is_protected
? '/api/editor/create-folder/public/' + router.currentRoute.params.token
let route = getters.sharedDetail
? `/api/editor/create-folder/${router.currentRoute.params.token}`
: '/api/create-folder'
axios
@@ -149,9 +147,9 @@ const actions = {
commit('UPDATE_NAME_IN_FAVOURITES', data)
// Get route
let route = getters.sharedDetail && !getters.sharedDetail.is_protected
? '/api/editor/rename/' + data.id + '/public/' + router.currentRoute.params.token
: '/api/rename/' + data.id
let route = getters.sharedDetail
? `/api/editor/rename/${data.id}/${router.currentRoute.params.token}`
: `/api/rename/${data.id}`
axios
.post(route, {
@@ -172,8 +170,8 @@ const actions = {
return new Promise((resolve, reject) => {
// Get route
let route = getters.sharedDetail && !getters.sharedDetail.is_protected
? '/api/editor/upload/public/' + router.currentRoute.params.token
let route = getters.sharedDetail
? `/api/editor/upload/${router.currentRoute.params.token}`
: '/api/upload'
// Create cancel token for axios cancellation
@@ -341,8 +339,8 @@ const actions = {
}
// Get route
let route = getters.sharedDetail && !getters.sharedDetail.is_protected
? '/api/editor/remove/public/' + router.currentRoute.params.token
let route = getters.sharedDetail
? `/api/editor/remove/${router.currentRoute.params.token}`
: '/api/remove'
axios
+27 -36
View File
@@ -38,13 +38,9 @@ const actions = {
payload.folder.location = 'public'
let route = getters.sharedDetail.is_protected
? '/api/browse/folders/' + payload.folder.id + '/private'
: '/api/browse/folders/' + payload.folder.id + '/public/' + router.currentRoute.params.token
return new Promise((resolve, reject) => {
axios
.get(route + getters.sorting.URI)
.get(`/api/browse/folders/${payload.folder.id}/${router.currentRoute.params.token}${getters.sorting.URI}`)
.then(response => {
commit('LOADING_STATE', {loading: false, data: response.data})
commit('STORE_CURRENT_FOLDER', payload.folder)
@@ -66,6 +62,32 @@ const actions = {
})
})
},
getSingleFile: ({commit}) => {
axios.get(`/api/browse/file/${router.currentRoute.params.token}`)
.then(response => {
commit('STORE_SHARED_FILE', response.data)
})
},
getShareDetail: ({commit, state}, token) => {
return new Promise((resolve, reject) => {
axios
.get(`/api/browse/share/${token}`)
.then(response => {
resolve(response)
// Commit shared item options
commit('SET_SHARED_DETAIL', response.data.data.attributes)
commit('SET_PERMISSION', response.data.data.attributes.permission)
})
.catch(error => {
reject(error)
if (error.response.status == 404)
router.push({name: 'NotFound'})
})
})
},
shareCancel: ({commit, getters}, singleItem) => {
return new Promise((resolve, reject) => {
@@ -109,37 +131,6 @@ const actions = {
})
})
},
getSingleFile: ({commit, state}) => {
let route = state.sharedDetail.is_protected
? '/api/browse/files/private'
: '/api/browse/files/' + router.currentRoute.params.token + '/public'
axios.get(route)
.then(response => {
commit('STORE_SHARED_FILE', response.data)
})
},
getShareDetail: ({commit, state}, token) => {
return new Promise((resolve, reject) => {
axios
.get(`/api/browse/shared/${token}`)
.then(response => {
resolve(response)
// Commit shared item options
commit('SET_SHARED_DETAIL', response.data.data.attributes)
commit('SET_PERMISSION', response.data.data.attributes.permission)
})
.catch(error => {
reject(error)
if (error.response.status == 404) {
router.push({name: 'NotFound'})
}
})
})
},
}
const mutations = {
SET_SHARED_DETAIL(state, data) {
+1 -1
View File
@@ -35,7 +35,7 @@ const actions = {
)
})
},
logOut: ({getters, commit}) => {
logOut: ({commit}) => {
let popup = setTimeout(() => {
commit('PROCESSING_POPUP', {
@@ -42,7 +42,7 @@
},
data() {
return {
password: undefined,
password: 'secret',
isLoading: false,
}
},
@@ -61,9 +61,18 @@
axios
.post('/api/browse/authenticate/' + this.$route.params.token, {
password: this.password
}).then(() => {
})
.then(response => {
// todo: Redirect to file browser page
// Show file browser
if (response.data.data.attributes.type === 'folder' && this.$router.currentRoute.name !== 'SharedFileBrowser') {
this.$router.push({name: 'SharedFileBrowser'})
}
// Show single file
if (response.data.data.attributes.type !== 'folder' && this.$router.currentRoute.name !== 'SharedSingleFile') {
this.$router.push({name: 'SharedSingleFile'})
}
})
.catch(error => {