FloatingGhost
d973396c96
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
43 lines
1.1 KiB
JavaScript
43 lines
1.1 KiB
JavaScript
import { merge } from 'lodash'
|
|
|
|
const tags = {
|
|
state: {
|
|
// Contains key = name, value = tag json
|
|
tags: {}
|
|
},
|
|
getters: {
|
|
findTag: state => query => {
|
|
const result = state.tags[query]
|
|
return result
|
|
},
|
|
},
|
|
mutations: {
|
|
setTag (state, { name, data }) {
|
|
state.tags[name] = data
|
|
}
|
|
},
|
|
actions: {
|
|
getTag ({ rootState, commit }, tagName) {
|
|
return rootState.api.backendInteractor.getHashtag({ tag: tagName }).then(tag => {
|
|
commit('setTag', { name: tagName, data: tag })
|
|
return tag
|
|
})
|
|
},
|
|
followTag ({ rootState, commit }, tagName) {
|
|
return rootState.api.backendInteractor.followHashtag({ tag: tagName })
|
|
.then((resp) => {
|
|
commit('setTag', { name: tagName, data: resp })
|
|
return resp
|
|
})
|
|
},
|
|
unfollowTag ({ rootState, commit }, tagName) {
|
|
return rootState.api.backendInteractor.unfollowHashtag({ tag: tagName })
|
|
.then((resp) => {
|
|
commit('setTag', { name: tagName, data: resp })
|
|
return resp
|
|
})
|
|
}
|
|
}
|
|
}
|
|
|
|
export default tags
|