diff --git a/gui/app/services/category.js b/gui/app/services/category.js index 386f5656..2fa2a8aa 100644 --- a/gui/app/services/category.js +++ b/gui/app/services/category.js @@ -36,6 +36,7 @@ export default BaseService.extend({ method: 'GET' }).then((response) => { let data = []; + if (is.not.array(response)) response = []; data = response.map((obj) => { let data = this.get('store').normalize('category', obj); @@ -52,6 +53,7 @@ export default BaseService.extend({ method: 'GET' }).then((response) => { let data = []; + if (is.not.array(response)) response = []; data = response.map((obj) => { let data = this.get('store').normalize('category', obj); @@ -89,6 +91,7 @@ export default BaseService.extend({ }).then((response) => { // return response; let data = []; + if (is.not.array(response)) response = []; data = response.map((obj) => { let data = this.get('store').normalize('category-permission', obj); @@ -105,6 +108,7 @@ export default BaseService.extend({ method: 'GET' }).then((response) => { let data = []; + if (is.not.array(response)) response = []; data = response.map((obj) => { let data = this.get('store').normalize('user', obj); @@ -173,6 +177,7 @@ export default BaseService.extend({ membership: [], summary: [] }; + if (is.not.array(response)) response = []; let cats = response.category.map((obj) => { let data = this.get('store').normalize('category', obj); diff --git a/gui/app/services/document.js b/gui/app/services/document.js index 1fa79b9e..de385573 100644 --- a/gui/app/services/document.js +++ b/gui/app/services/document.js @@ -45,6 +45,7 @@ export default Service.extend({ let documents = ArrayProxy.create({ content: A([]) }); + if (is.not.array(response)) response = []; documents = response.map((doc) => { let data = this.get('store').normalize('document', doc); @@ -112,6 +113,7 @@ export default Service.extend({ return this.get('ajax').request(`documents/${documentId}/pages`, { method: 'GET' }).then((response) => { + if (is.not.array(response)) response = []; let pages = []; pages = response.map((page) => { @@ -214,6 +216,8 @@ export default Service.extend({ return this.get('ajax').request(`documents/${documentId}/pages?content=0`, { method: 'GET' }).then((response) => { + if (is.not.array(response)) response = []; + let data = []; data = response.map((obj) => { let data = this.get('store').normalize('page', obj); @@ -282,6 +286,7 @@ export default Service.extend({ return this.get('ajax').request(`sections/targets`, { method: 'GET' }).then((response) => { + if (is.not.array(response)) response = []; let data = []; data = response.map((obj) => { diff --git a/gui/app/services/folder.js b/gui/app/services/folder.js index 4a344546..0ac8802b 100644 --- a/gui/app/services/folder.js +++ b/gui/app/services/folder.js @@ -102,6 +102,7 @@ export default BaseService.extend({ method: "GET" }).then((response) => { let data = []; + if (is.not.array(response)) response = []; data = response.map((obj) => { let data = this.get('store').normalize('folder', obj); @@ -118,6 +119,7 @@ export default BaseService.extend({ method: "GET" }).then((response) => { let data = []; + if (is.not.array(response)) response = []; data = response.map((obj) => { let data = this.get('store').normalize('space-permission', obj); @@ -176,6 +178,7 @@ export default BaseService.extend({ method: "GET" }).then((response) => { let data = []; + if (is.not.array(response)) response = []; data = response.map((obj) => { let data = this.get('store').normalize('folder', obj); diff --git a/gui/app/services/group.js b/gui/app/services/group.js index 66604eb7..a4f0af1b 100644 --- a/gui/app/services/group.js +++ b/gui/app/services/group.js @@ -35,6 +35,7 @@ export default BaseService.extend({ method: 'GET' }).then((response) => { let data = []; + if (is.not.array(response)) response = []; data = response.map((obj) => { let data = this.get('store').normalize('group', obj); @@ -81,7 +82,7 @@ export default BaseService.extend({ return data; }); }, - + // join adds user to group. join(groupId, userId) { return this.get('ajax').request(`group/${groupId}/join/${userId}`, { diff --git a/gui/app/services/pinned.js b/gui/app/services/pinned.js index 5c4a5c66..74967154 100644 --- a/gui/app/services/pinned.js +++ b/gui/app/services/pinned.js @@ -25,7 +25,7 @@ export default Service.extend({ this._super(...arguments); this.pins = []; }, - + getUserPins() { let userId = this.get('session.user.id'); @@ -93,9 +93,8 @@ export default Service.extend({ method: 'POST', data: JSON.stringify(data) }).then((response) => { - if (is.not.array(response)) { - response = []; - } + if (is.not.array(response)) response = []; + let pins = ArrayProxy.create({ content: A([]) }); diff --git a/gui/app/services/search.js b/gui/app/services/search.js index df7aab1d..6bc27d5a 100644 --- a/gui/app/services/search.js +++ b/gui/app/services/search.js @@ -25,6 +25,8 @@ export default Service.extend({ data: JSON.stringify(payload), contentType: 'json' }).then((response) => { + if (is.not.array(response)) response = []; + let results = ArrayProxy.create({ content: A([]) }); diff --git a/gui/app/services/section.js b/gui/app/services/section.js index 5476e757..2f111b54 100644 --- a/gui/app/services/section.js +++ b/gui/app/services/section.js @@ -24,6 +24,7 @@ export default BaseService.extend({ method: 'GET' }).then((response) => { let data = []; + if (is.not.array(response)) response = []; data = response.map((obj) => { let data = this.get('store').normalize('section', obj); @@ -55,6 +56,7 @@ export default BaseService.extend({ method: 'GET' }).then((response) => { let pages = []; + if (is.not.array(response)) response = []; if (is.not.null(response) && is.array(response) && response.length > 0) { pages = response.map((page) => { @@ -103,6 +105,7 @@ export default BaseService.extend({ method: 'GET' }).then((response) => { let data = []; + if (is.not.array(response)) response = []; data = response.map((obj) => { let data = this.get('store').normalize('block', obj); diff --git a/gui/app/services/session.js b/gui/app/services/session.js index b3d2ac00..d8cafb85 100644 --- a/gui/app/services/session.js +++ b/gui/app/services/session.js @@ -12,6 +12,7 @@ import { inject as service } from '@ember/service'; import { computed } from '@ember/object'; import { Promise as EmberPromise } from 'rsvp'; +import miscUtil from '../utils/misc'; import SimpleAuthSession from 'ember-simple-auth/services/session'; export default SimpleAuthSession.extend({ @@ -88,7 +89,8 @@ export default SimpleAuthSession.extend({ hasWhatsNew() { return new EmberPromise((resolve) => { return this.get('userSvc').getUser(this.get('user.id')).then((user) => { - resolve(user.get('lastVersion') !== this.get('appMeta.version')); + let isNew = miscUtil.isNewVersion(user.get('lastVersion'), this.get('appMeta.version'), false); + resolve(isNew); }); }); } diff --git a/gui/app/services/template.js b/gui/app/services/template.js index 556e1a0a..5be16722 100644 --- a/gui/app/services/template.js +++ b/gui/app/services/template.js @@ -35,9 +35,8 @@ export default Service.extend({ return this.get('ajax').request(`templates/${folderId}`, { method: 'GET' }).then((response) => { - if (is.not.array(response)) { - response = []; - } + if (is.not.array(response)) response = []; + let templates = ArrayProxy.create({ content: A([]) }); diff --git a/gui/app/services/user.js b/gui/app/services/user.js index 9e2a3335..1ad19bd0 100644 --- a/gui/app/services/user.js +++ b/gui/app/services/user.js @@ -56,6 +56,8 @@ export default Service.extend({ // Returns all active users for organization. getAll() { return this.get('ajax').request(`users?active=1`).then((response) => { + if (is.not.array(response)) response = []; + return response.map((obj) => { let data = this.get('store').normalize('user', obj); return this.get('store').push(data); @@ -71,6 +73,8 @@ export default Service.extend({ if (filter.length > 0) filter = encodeURIComponent(filter); return this.get('ajax').request(`users?active=0&filter=${filter}`).then((response) => { + if (is.not.array(response)) response = []; + return response.map((obj) => { let data = this.get('store').normalize('user', obj); return this.get('store').push(data); @@ -86,6 +90,7 @@ export default Service.extend({ method: "GET" }).then((response) => { let data = []; + if (is.not.array(response)) response = []; data = response.map((obj) => { let data = this.get('store').normalize('user', obj); @@ -167,10 +172,11 @@ export default Service.extend({ return this.get('ajax').request('users/match', { method: 'POST', dataType: 'json', - contentType: 'text', + contentType: 'text', data: text }).then((response) => { let data = []; + if (is.not.array(response)) response = []; data = response.map((obj) => { let data = this.get('store').normalize('user', obj); @@ -179,5 +185,5 @@ export default Service.extend({ return data; }); - } + } });