-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrecord.js
37 lines (34 loc) · 1.24 KB
/
record.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import firebase from "firebase/app"
export default {
actions: {
async createRecord({dispatch, commit}, record) {
try {
const uid = await dispatch('getUid')
return await firebase.database().ref(`/users/${uid}/records`).push(record)
} catch (e) {
commit('setError', e)
throw e
}
},
async fetchRecords({dispatch, commit}) {
try {
const uid = await dispatch('getUid')
const records = (await firebase.database().ref(`/users/${uid}/records`).once('value')).val() || {}
return Object.keys(records).map(key => ({...records[key], id: key}))
} catch (e) {
commit('setError', e)
throw e
}
},
async fetchRecordById({dispatch, commit}, id) {
try {
const uid = await dispatch('getUid')
const record = (await firebase.database().ref(`/users/${uid}/records`).child(id).once('value')).val() || {}
return {...record, id}
} catch (e) {
commit('setError', e)
throw e
}
},
}
}