1
0
mirror of https://github.com/chinchang/web-maker.git synced 2025-07-18 20:41: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 = { window.itemService = {
async getItem(id) { async getItem(id) {
var remoteDb = await window.db.getDb(); 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(); return doc.data();
}); });
}, },
@@ -13,7 +16,10 @@
}); });
} }
var remoteDb = await window.db.getDb(); 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) { if (!doc.exists) {
return {}; return {};
} }
@@ -93,7 +99,7 @@
.catch(d.reject); .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) { saveItems(items) {
var d = deferred(); var d = deferred();
if (window.IS_EXTENSION) { // When not logged in
if (!window.user) {
// save new items // save new items
window.db.local.set(items, d.resolve); window.db.local.set(items, d.resolve);
// Push in new item IDs // Push in new item IDs
@@ -142,7 +149,8 @@
}, },
async removeItem(id) { async removeItem(id) {
if (window.IS_EXTENSION) { // When not logged in
if (!window.user) {
var d = deferred(); var d = deferred();
db.local.remove(id, d.resolve); db.local.remove(id, d.resolve);
return d.promise; return d.promise;
@@ -160,7 +168,8 @@
}, },
async setItemForUser(itemId) { async setItemForUser(itemId) {
if (window.IS_EXTENSION || !window.user) { // When not logged in
if (!window.user) {
return window.db.local.get( return window.db.local.get(
{ {
items: {} items: {}
@@ -189,7 +198,8 @@
}, },
async unsetItemForUser(itemId) { async unsetItemForUser(itemId) {
if (window.IS_EXTENSION) { // When not logged in
if (!window.user) {
return window.db.local.get( return window.db.local.get(
{ {
items: {} items: {}
@@ -210,6 +220,7 @@
[`items.${itemId}`]: firebase.firestore.FieldValue.delete() [`items.${itemId}`]: firebase.firestore.FieldValue.delete()
}) })
.then(arg => { .then(arg => {
delete window.user.items[itemId];
utils.log(`Item ${itemId} unset for user`, arg); utils.log(`Item ${itemId} unset for user`, arg);
}) })
.catch(error => utils.log(error)); .catch(error => utils.log(error));