This is an automated email from the ASF dual-hosted git repository. machristie pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/airavata-django-portal.git
commit 76083c6ea8f61f36fa84c7b20a29085ad308c05d Author: Marcus Christie <machr...@iu.edu> AuthorDate: Wed Nov 7 11:51:31 2018 -0500 AIRAVATA-2711 Switch to using ServiceFactory for groups --- .../api/static/django_airavata_api/js/index.js | 3 +- .../static/django_airavata_api/js/models/Group.js | 1 + .../js/services/GroupService.js | 63 ---------------------- .../js/containers/GroupEditContainer.vue | 2 +- .../js/containers/GroupsManageContainer.vue | 2 +- .../js/group_components/GroupEditor.vue | 4 +- .../js/group_components/GroupListItem.vue | 2 +- .../static/common/js/components/ShareButton.vue | 4 +- 8 files changed, 9 insertions(+), 72 deletions(-) diff --git a/django_airavata/apps/api/static/django_airavata_api/js/index.js b/django_airavata/apps/api/static/django_airavata_api/js/index.js index 7a04bee..9cfa626 100644 --- a/django_airavata/apps/api/static/django_airavata_api/js/index.js +++ b/django_airavata/apps/api/static/django_airavata_api/js/index.js @@ -33,7 +33,6 @@ import ExperimentService from "./services/ExperimentService"; import ExperimentSearchService from "./services/ExperimentSearchService"; import FullExperimentService from "./services/FullExperimentService"; import ProjectService from "./services/ProjectService"; -import GroupService from "./services/GroupService"; import UserProfileService from "./services/UserProfileService"; import CloudJobSubmissionService from "./services/CloudJobSubmissionService"; import GlobusJobSubmissionService from "./services/GlobusJobSubmissionService"; @@ -99,7 +98,7 @@ exports.services = { GlobusJobSubmissionService, GridFTPDataMovementService, GroupResourceProfileService: ServiceFactory.service("GroupResourceProfiles"), - GroupService, + GroupService: ServiceFactory.service("Groups"), LocaJobSubmissionService, ProjectService, SCPDataMovementService, diff --git a/django_airavata/apps/api/static/django_airavata_api/js/models/Group.js b/django_airavata/apps/api/static/django_airavata_api/js/models/Group.js index 54afe01..7b6fb42 100644 --- a/django_airavata/apps/api/static/django_airavata_api/js/models/Group.js +++ b/django_airavata/apps/api/static/django_airavata_api/js/models/Group.js @@ -6,6 +6,7 @@ const FIELDS = [ 'ownerId', 'description', 'members', + 'admins', 'isOwner', 'isAdmin', 'isMember', diff --git a/django_airavata/apps/api/static/django_airavata_api/js/services/GroupService.js b/django_airavata/apps/api/static/django_airavata_api/js/services/GroupService.js deleted file mode 100644 index 3a7685e..0000000 --- a/django_airavata/apps/api/static/django_airavata_api/js/services/GroupService.js +++ /dev/null @@ -1,63 +0,0 @@ - -import Group from '../models/Group' -import PaginationIterator from '../utils/PaginationIterator' -import FetchUtils from '../utils/FetchUtils' - -class GroupService { - - list(data={}) { - if (data && data.results) { - return Promise.resolve(new PaginationIterator(data, Group)); - } else { - return fetch('/api/groups/', { - credentials: 'include' - }) - .then(response => response.json()) - .then(json => new PaginationIterator(json, Group)); - } - } - - create(group) { - return FetchUtils.post('/api/groups/', JSON.stringify(group)) - .then(result => new Group(result)) - } - - update(group) { - return FetchUtils.put('/api/groups/' + encodeURIComponent(group.id) + '/', JSON.stringify(group)) - .then(result => new Group(result)); - } - - get(groupId, data = null) { - if (data) { - return Promise.resolve(new Group(data)); - } else { - return FetchUtils.get('/api/groups/' - + encodeURIComponent(groupId) + '/') - .then(result => new Group(result)); - } - } - - delete(groupId) { - return FetchUtils.delete('/api/groups/' - + encodeURIComponent(groupId) + '/'); - } - - // adminIds is an array of sharing user ids, for example: - // ['user1@test-domain', 'user2@test-domain'] - addAdmins(groupId, adminIds) { - return FetchUtils.post('/api/groups/' - + encodeURIComponent(groupId) + '/add_admins/', - JSON.stringify(adminIds)); - } - - // adminIds is an array of sharing user ids, for example: - // ['user1@test-domain', 'user2@test-domain'] - removeAdmins(groupId, adminIds) { - return FetchUtils.post('/api/groups/' - + encodeURIComponent(groupId) + '/remove_admins/', - JSON.stringify(adminIds)); - } -} - -// Export as a singleton -export default new GroupService(); diff --git a/django_airavata/apps/groups/static/django_airavata_groups/js/containers/GroupEditContainer.vue b/django_airavata/apps/groups/static/django_airavata_groups/js/containers/GroupEditContainer.vue index 152a33e..66b036d 100644 --- a/django_airavata/apps/groups/static/django_airavata_groups/js/containers/GroupEditContainer.vue +++ b/django_airavata/apps/groups/static/django_airavata_groups/js/containers/GroupEditContainer.vue @@ -33,7 +33,7 @@ export default { computed: { }, mounted: function () { - services.GroupService.get(this.groupId) + services.GroupService.retrieve({lookup: this.groupId}) .then(group => this.group = group); }, } diff --git a/django_airavata/apps/groups/static/django_airavata_groups/js/containers/GroupsManageContainer.vue b/django_airavata/apps/groups/static/django_airavata_groups/js/containers/GroupsManageContainer.vue index a5a7637..e296ccf 100755 --- a/django_airavata/apps/groups/static/django_airavata_groups/js/containers/GroupsManageContainer.vue +++ b/django_airavata/apps/groups/static/django_airavata_groups/js/containers/GroupsManageContainer.vue @@ -55,7 +55,7 @@ export default { }, }, beforeMount: function () { - services.GroupService.list(this.groupsDataOwners) + services.GroupService.list() .then(result => this.groupPaginator = result); }, } diff --git a/django_airavata/apps/groups/static/django_airavata_groups/js/group_components/GroupEditor.vue b/django_airavata/apps/groups/static/django_airavata_groups/js/group_components/GroupEditor.vue index b573eb9..5f7f205 100644 --- a/django_airavata/apps/groups/static/django_airavata_groups/js/group_components/GroupEditor.vue +++ b/django_airavata/apps/groups/static/django_airavata_groups/js/group_components/GroupEditor.vue @@ -52,8 +52,8 @@ export default { methods: { submitForm () { let saveOperation = (this.localGroup.id) - ? services.GroupService.update(this.localGroup) - : services.GroupService.create(this.localGroup); + ? services.GroupService.update({lookup: this.localGroup.id, data: this.localGroup}) + : services.GroupService.create({data: this.localGroup}); saveOperation .then(group => { this.$emit('saved', group); diff --git a/django_airavata/apps/groups/static/django_airavata_groups/js/group_components/GroupListItem.vue b/django_airavata/apps/groups/static/django_airavata_groups/js/group_components/GroupListItem.vue index 6357d9f..c8de521 100644 --- a/django_airavata/apps/groups/static/django_airavata_groups/js/group_components/GroupListItem.vue +++ b/django_airavata/apps/groups/static/django_airavata_groups/js/group_components/GroupListItem.vue @@ -58,7 +58,7 @@ export default { methods: { deleteGroup(id) { this.deleting = true; - services.GroupService.delete(id) + services.GroupService.delete({lookup: id}) .then(result => { this.$emit('deleteSuccess','Group Deleted Successfully!'); this.show = false; diff --git a/django_airavata/static/common/js/components/ShareButton.vue b/django_airavata/static/common/js/components/ShareButton.vue index 5231c3e..2a8f2de 100644 --- a/django_airavata/static/common/js/components/ShareButton.vue +++ b/django_airavata/static/common/js/components/ShareButton.vue @@ -108,7 +108,7 @@ export default { !this.defaultGatewayUsersGroup ) { promises.push( - services.ServiceFactory.service("Groups") + services.GroupService .list({ limit: -1 }) .then(groups => { this.groups = groups; @@ -188,7 +188,7 @@ export default { .then(users => (this.users = users)); } if (!this.groups) { - services.ServiceFactory.service("Groups") + services.GroupService .list({ limit: -1 }) .then(groups => { this.groups = groups;