1
0
mirror of https://github.com/chinchang/web-maker.git synced 2025-07-19 04:51:13 +02:00

itemservice: fix extension checks and prettify

This commit is contained in:
Kushagra Gour
2018-01-21 19:03:16 +05:30
parent 5f37ffdf49
commit 21776e2f7e

View File

@@ -2,7 +2,10 @@
window.itemService = {
async getItem(id) {
var remoteDb = await window.db.getDb();
return remoteDb.doc(`items/${id}`).get().then(doc => {
return remoteDb
.doc(`items/${id}`)
.get()
.then(doc => {
return doc.data();
});
},
@@ -13,7 +16,10 @@
});
}
var remoteDb = await window.db.getDb();
return remoteDb.doc(`users/${window.user.uid}`).get().then(doc => {
return remoteDb
.doc(`users/${window.user.uid}`)
.get()
.then(doc => {
if (!doc.exists) {
return {};
}
@@ -93,7 +99,7 @@
.catch(d.reject);
}
return (window.user && navigator.onLine) ? remotePromise : d.promise;
return window.user && navigator.onLine ? remotePromise : d.promise;
},
/**
@@ -102,7 +108,8 @@
*/
saveItems(items) {
var d = deferred();
if (window.IS_EXTENSION) {
// When not logged in
if (!window.user) {
// save new items
window.db.local.set(items, d.resolve);
// Push in new item IDs
@@ -142,7 +149,8 @@
},
async removeItem(id) {
if (window.IS_EXTENSION) {
// When not logged in
if (!window.user) {
var d = deferred();
db.local.remove(id, d.resolve);
return d.promise;
@@ -160,7 +168,8 @@
},
async setItemForUser(itemId) {
if (window.IS_EXTENSION || !window.user) {
// When not logged in
if (!window.user) {
return window.db.local.get(
{
items: {}
@@ -189,7 +198,8 @@
},
async unsetItemForUser(itemId) {
if (window.IS_EXTENSION) {
// When not logged in
if (!window.user) {
return window.db.local.get(
{
items: {}
@@ -210,6 +220,7 @@
[`items.${itemId}`]: firebase.firestore.FieldValue.delete()
})
.then(arg => {
delete window.user.items[itemId];
utils.log(`Item ${itemId} unset for user`, arg);
})
.catch(error => utils.log(error));