Loading gms-client/gms-cli/src/main/java/it/inaf/ia2/gms/cli/CLI.java +7 −7 Original line number Diff line number Diff line Loading @@ -58,11 +58,11 @@ public class CLI implements CommandLineRunner { switch (args[0]) { case "create-group": client.createGroup(getNames(args, 1)); client.addGroup(getNames(args, 1)); System.out.println("Group created"); break; case "delete-group": client.deleteGroup(getNames(args, 1)); client.removeGroup(getNames(args, 1)); System.out.println("Group deleted"); break; case "add-member": Loading Loading @@ -90,8 +90,8 @@ public class CLI implements CommandLineRunner { if (args.length < 4) { displayUsage(); } client.deletePermission(getNames(args, args.length - 3), args[args.length - 2], args[args.length - 1]); System.out.println("Permission added"); client.removePermission(getNames(args, args.length - 2), args[args.length - 1]); System.out.println("Permission removed"); break; case "prepare-join": if (args.length != 3) { Loading @@ -108,12 +108,12 @@ public class CLI implements CommandLineRunner { private void displayUsage() { System.out.println("java -jar gms-client.jar\n" + " create-group <name1 name2 name3>\n" + " delete-group <name1 name2 name3>\n" + " add-group <name1 name2 name3>\n" + " remove-group <name1 name2 name3>\n" + " add-member <name1 name2 name3> <user_id>\n" + " remove-member <name1 name2 name3> <user_id>\n" + " add-permission <name1 name2 name3> <user_id> <permission>\n" + " delete-permission <name1 name2 name3> <user_id> <permission>\n" + " remove-permission <name1 name2 name3> <user_id>\n" + " prepare-join <from_user_id> <to_user_id>"); System.exit(0); } Loading gms-client/gms-client-lib/src/main/java/it/inaf/ia2/gms/client/GmsClient.java +3 −4 Original line number Diff line number Diff line Loading @@ -40,7 +40,7 @@ public class GmsClient { this.restTemplate = restTemplate; } public Group createGroup(List<String> names) { public Group addGroup(List<String> names) { String url = UriComponentsBuilder.fromHttpUrl(baseUrl) .pathSegment(WS, "group") Loading @@ -51,7 +51,7 @@ public class GmsClient { return restTemplate.exchange(url, HttpMethod.POST, httpEntity, Group.class).getBody(); } public void deleteGroup(List<String> names) { public void removeGroup(List<String> names) { String url = UriComponentsBuilder.fromHttpUrl(baseUrl) .pathSegment(WS, "group") Loading Loading @@ -101,13 +101,12 @@ public class GmsClient { return restTemplate.exchange(url, HttpMethod.POST, httpEntity, Permission.class).getBody(); } public void deletePermission(List<String> names, String userId, String permission) { public void removePermission(List<String> names, String userId) { String url = UriComponentsBuilder.fromHttpUrl(baseUrl) .pathSegment(WS, "permission") .queryParam("names", names.toArray()) .queryParam("userId", userId) .queryParam("permission", permission) .toUriString(); restTemplate.exchange(url, HttpMethod.DELETE, getEntity(), Void.class); Loading gms-client/gms-client-lib/src/test/java/it/inaf/ia2/gms/client/GmsClientTest.java +4 −4 Original line number Diff line number Diff line Loading @@ -51,7 +51,7 @@ public class GmsClientTest { List<String> names = Arrays.asList("LBT", "INAF"); client.createGroup(names); client.addGroup(names); ArgumentCaptor<HttpEntity> entityCaptor = ArgumentCaptor.forClass(HttpEntity.class); verify(restTemplate, times(1)).exchange(eq(BASE_URL + "/ws/group"), Loading @@ -67,7 +67,7 @@ public class GmsClientTest { List<String> names = Arrays.asList("LBT", "INAF"); client.deleteGroup(names); client.removeGroup(names); ArgumentCaptor<HttpEntity> entityCaptor = ArgumentCaptor.forClass(HttpEntity.class); verify(restTemplate, times(1)).exchange(eq(BASE_URL + "/ws/group?names=LBT&names=INAF"), Loading Loading @@ -140,10 +140,10 @@ public class GmsClientTest { List<String> names = Arrays.asList("LBT", "INAF"); client.deletePermission(names, "user_id", "ADMIN"); client.removePermission(names, "user_id"); ArgumentCaptor<HttpEntity> entityCaptor = ArgumentCaptor.forClass(HttpEntity.class); verify(restTemplate, times(1)).exchange(eq(BASE_URL + "/ws/permission?names=LBT&names=INAF&userId=user_id&permission=ADMIN"), verify(restTemplate, times(1)).exchange(eq(BASE_URL + "/ws/permission?names=LBT&names=INAF&userId=user_id"), eq(HttpMethod.DELETE), entityCaptor.capture(), eq(Void.class)); HttpEntity<?> entity = entityCaptor.getValue(); Loading gms-ui/src/api/server/index.js +67 −1 Original line number Diff line number Diff line Loading @@ -82,7 +82,7 @@ export default { }) }); }, deleteGroup (groupId, input) { removeGroup (groupId, input) { let url = BASE_API_URL + 'group/' + groupId + '?paginatorPageSize=' + input.paginatorPageSize + '&paginatorPage=' + input.paginatorPage; Loading Loading @@ -128,5 +128,71 @@ export default { paginatorPage: input.paginatorPage }) }); }, getPermission (groupId, userId) { let url = BASE_API_URL + 'permission?groupId=' + groupId + '&userId=' + userId; return apiRequest(url, { method: 'GET', cache: 'no-cache', credentials: 'include', headers: { 'Content-Type': 'application/json', 'Accept': 'application/json', } }); }, addMember (userId, permission, input) { let url = BASE_API_URL + 'member'; return apiRequest(url, { method: 'POST', cache: 'no-cache', credentials: 'include', headers: { 'Content-Type': 'application/json', 'Accept': 'application/json', }, body: JSON.stringify({ groupId: input.selectedGroupId, userId: userId, permission: permission, paginatorPageSize: input.paginatorPageSize, paginatorPage: input.paginatorPage }) }); }, removeMember (userId, removeAlsoPermission, input) { let url = BASE_API_URL + 'member' + '?groupId=' + input.selectedGroupId + '&userId=' + userId + '&removeAlsoPermission=' + removeAlsoPermission + '&paginatorPageSize=' + input.paginatorPageSize + '&paginatorPage=' + input.paginatorPage; return apiRequest(url, { method: 'DELETE', cache: 'no-cache', credentials: 'include', headers: { 'Content-Type': 'application/json', 'Accept': 'application/json', } }); }, removePermission (userId, input) { let url = BASE_API_URL + 'permission' + '?groupId=' + input.selectedGroupId + '&userId=' + userId + '&paginatorPageSize=' + input.paginatorPageSize + '&paginatorPage=' + input.paginatorPage; return apiRequest(url, { method: 'DELETE', cache: 'no-cache', credentials: 'include', headers: { 'Content-Type': 'application/json', 'Accept': 'application/json', } }); } }; gms-ui/src/components/GroupsPanel.vue +8 −8 Original line number Diff line number Diff line Loading @@ -14,7 +14,7 @@ <font-awesome-icon icon="edit"></font-awesome-icon> </a> <a href="#" v-on:click.stop="openDeleteGroupModal(group)" class="text-danger" title="Delete"> <a href="#" v-on:click.stop="openRemoveGroupModal(group)" class="text-danger" title="Delete"> <font-awesome-icon icon="trash"></font-awesome-icon> </a> </span> Loading Loading @@ -48,20 +48,20 @@ <div class="text-center"> </div> <RenameGroupModal ref="renameGroupModal" /> <ConfirmDeleteGroupModal ref="confirmDeleteGroupModal" /> <ConfirmRemoveGroupModal ref="confirmRemoveGroupModal" /> </b-tab> </template> <script> import RenameGroupModal from './modals/RenameGroupModal.vue' import ConfirmDeleteGroupModal from './modals/ConfirmDeleteGroupModal.vue' import { mapState, mapActions } from 'vuex' import RenameGroupModal from './modals/RenameGroupModal.vue'; import ConfirmRemoveGroupModal from './modals/ConfirmRemoveGroupModal.vue'; import { mapState, mapActions } from 'vuex'; export default { name: 'GroupsPanel', components: { RenameGroupModal, ConfirmDeleteGroupModal ConfirmRemoveGroupModal }, computed: mapState({ model: state => state.model, Loading @@ -85,8 +85,8 @@ export default { openRenameGroupModal: function(group) { this.$refs.renameGroupModal.openRenameGroupModal(group); }, openDeleteGroupModal: function(group) { this.$refs.confirmDeleteGroupModal.openDeleteGroupModal(group); openRemoveGroupModal: function(group) { this.$refs.confirmRemoveGroupModal.openRemoveGroupModal(group); }, setPage: function(page) { console.log('setPage ', page); Loading Loading
gms-client/gms-cli/src/main/java/it/inaf/ia2/gms/cli/CLI.java +7 −7 Original line number Diff line number Diff line Loading @@ -58,11 +58,11 @@ public class CLI implements CommandLineRunner { switch (args[0]) { case "create-group": client.createGroup(getNames(args, 1)); client.addGroup(getNames(args, 1)); System.out.println("Group created"); break; case "delete-group": client.deleteGroup(getNames(args, 1)); client.removeGroup(getNames(args, 1)); System.out.println("Group deleted"); break; case "add-member": Loading Loading @@ -90,8 +90,8 @@ public class CLI implements CommandLineRunner { if (args.length < 4) { displayUsage(); } client.deletePermission(getNames(args, args.length - 3), args[args.length - 2], args[args.length - 1]); System.out.println("Permission added"); client.removePermission(getNames(args, args.length - 2), args[args.length - 1]); System.out.println("Permission removed"); break; case "prepare-join": if (args.length != 3) { Loading @@ -108,12 +108,12 @@ public class CLI implements CommandLineRunner { private void displayUsage() { System.out.println("java -jar gms-client.jar\n" + " create-group <name1 name2 name3>\n" + " delete-group <name1 name2 name3>\n" + " add-group <name1 name2 name3>\n" + " remove-group <name1 name2 name3>\n" + " add-member <name1 name2 name3> <user_id>\n" + " remove-member <name1 name2 name3> <user_id>\n" + " add-permission <name1 name2 name3> <user_id> <permission>\n" + " delete-permission <name1 name2 name3> <user_id> <permission>\n" + " remove-permission <name1 name2 name3> <user_id>\n" + " prepare-join <from_user_id> <to_user_id>"); System.exit(0); } Loading
gms-client/gms-client-lib/src/main/java/it/inaf/ia2/gms/client/GmsClient.java +3 −4 Original line number Diff line number Diff line Loading @@ -40,7 +40,7 @@ public class GmsClient { this.restTemplate = restTemplate; } public Group createGroup(List<String> names) { public Group addGroup(List<String> names) { String url = UriComponentsBuilder.fromHttpUrl(baseUrl) .pathSegment(WS, "group") Loading @@ -51,7 +51,7 @@ public class GmsClient { return restTemplate.exchange(url, HttpMethod.POST, httpEntity, Group.class).getBody(); } public void deleteGroup(List<String> names) { public void removeGroup(List<String> names) { String url = UriComponentsBuilder.fromHttpUrl(baseUrl) .pathSegment(WS, "group") Loading Loading @@ -101,13 +101,12 @@ public class GmsClient { return restTemplate.exchange(url, HttpMethod.POST, httpEntity, Permission.class).getBody(); } public void deletePermission(List<String> names, String userId, String permission) { public void removePermission(List<String> names, String userId) { String url = UriComponentsBuilder.fromHttpUrl(baseUrl) .pathSegment(WS, "permission") .queryParam("names", names.toArray()) .queryParam("userId", userId) .queryParam("permission", permission) .toUriString(); restTemplate.exchange(url, HttpMethod.DELETE, getEntity(), Void.class); Loading
gms-client/gms-client-lib/src/test/java/it/inaf/ia2/gms/client/GmsClientTest.java +4 −4 Original line number Diff line number Diff line Loading @@ -51,7 +51,7 @@ public class GmsClientTest { List<String> names = Arrays.asList("LBT", "INAF"); client.createGroup(names); client.addGroup(names); ArgumentCaptor<HttpEntity> entityCaptor = ArgumentCaptor.forClass(HttpEntity.class); verify(restTemplate, times(1)).exchange(eq(BASE_URL + "/ws/group"), Loading @@ -67,7 +67,7 @@ public class GmsClientTest { List<String> names = Arrays.asList("LBT", "INAF"); client.deleteGroup(names); client.removeGroup(names); ArgumentCaptor<HttpEntity> entityCaptor = ArgumentCaptor.forClass(HttpEntity.class); verify(restTemplate, times(1)).exchange(eq(BASE_URL + "/ws/group?names=LBT&names=INAF"), Loading Loading @@ -140,10 +140,10 @@ public class GmsClientTest { List<String> names = Arrays.asList("LBT", "INAF"); client.deletePermission(names, "user_id", "ADMIN"); client.removePermission(names, "user_id"); ArgumentCaptor<HttpEntity> entityCaptor = ArgumentCaptor.forClass(HttpEntity.class); verify(restTemplate, times(1)).exchange(eq(BASE_URL + "/ws/permission?names=LBT&names=INAF&userId=user_id&permission=ADMIN"), verify(restTemplate, times(1)).exchange(eq(BASE_URL + "/ws/permission?names=LBT&names=INAF&userId=user_id"), eq(HttpMethod.DELETE), entityCaptor.capture(), eq(Void.class)); HttpEntity<?> entity = entityCaptor.getValue(); Loading
gms-ui/src/api/server/index.js +67 −1 Original line number Diff line number Diff line Loading @@ -82,7 +82,7 @@ export default { }) }); }, deleteGroup (groupId, input) { removeGroup (groupId, input) { let url = BASE_API_URL + 'group/' + groupId + '?paginatorPageSize=' + input.paginatorPageSize + '&paginatorPage=' + input.paginatorPage; Loading Loading @@ -128,5 +128,71 @@ export default { paginatorPage: input.paginatorPage }) }); }, getPermission (groupId, userId) { let url = BASE_API_URL + 'permission?groupId=' + groupId + '&userId=' + userId; return apiRequest(url, { method: 'GET', cache: 'no-cache', credentials: 'include', headers: { 'Content-Type': 'application/json', 'Accept': 'application/json', } }); }, addMember (userId, permission, input) { let url = BASE_API_URL + 'member'; return apiRequest(url, { method: 'POST', cache: 'no-cache', credentials: 'include', headers: { 'Content-Type': 'application/json', 'Accept': 'application/json', }, body: JSON.stringify({ groupId: input.selectedGroupId, userId: userId, permission: permission, paginatorPageSize: input.paginatorPageSize, paginatorPage: input.paginatorPage }) }); }, removeMember (userId, removeAlsoPermission, input) { let url = BASE_API_URL + 'member' + '?groupId=' + input.selectedGroupId + '&userId=' + userId + '&removeAlsoPermission=' + removeAlsoPermission + '&paginatorPageSize=' + input.paginatorPageSize + '&paginatorPage=' + input.paginatorPage; return apiRequest(url, { method: 'DELETE', cache: 'no-cache', credentials: 'include', headers: { 'Content-Type': 'application/json', 'Accept': 'application/json', } }); }, removePermission (userId, input) { let url = BASE_API_URL + 'permission' + '?groupId=' + input.selectedGroupId + '&userId=' + userId + '&paginatorPageSize=' + input.paginatorPageSize + '&paginatorPage=' + input.paginatorPage; return apiRequest(url, { method: 'DELETE', cache: 'no-cache', credentials: 'include', headers: { 'Content-Type': 'application/json', 'Accept': 'application/json', } }); } };
gms-ui/src/components/GroupsPanel.vue +8 −8 Original line number Diff line number Diff line Loading @@ -14,7 +14,7 @@ <font-awesome-icon icon="edit"></font-awesome-icon> </a> <a href="#" v-on:click.stop="openDeleteGroupModal(group)" class="text-danger" title="Delete"> <a href="#" v-on:click.stop="openRemoveGroupModal(group)" class="text-danger" title="Delete"> <font-awesome-icon icon="trash"></font-awesome-icon> </a> </span> Loading Loading @@ -48,20 +48,20 @@ <div class="text-center"> </div> <RenameGroupModal ref="renameGroupModal" /> <ConfirmDeleteGroupModal ref="confirmDeleteGroupModal" /> <ConfirmRemoveGroupModal ref="confirmRemoveGroupModal" /> </b-tab> </template> <script> import RenameGroupModal from './modals/RenameGroupModal.vue' import ConfirmDeleteGroupModal from './modals/ConfirmDeleteGroupModal.vue' import { mapState, mapActions } from 'vuex' import RenameGroupModal from './modals/RenameGroupModal.vue'; import ConfirmRemoveGroupModal from './modals/ConfirmRemoveGroupModal.vue'; import { mapState, mapActions } from 'vuex'; export default { name: 'GroupsPanel', components: { RenameGroupModal, ConfirmDeleteGroupModal ConfirmRemoveGroupModal }, computed: mapState({ model: state => state.model, Loading @@ -85,8 +85,8 @@ export default { openRenameGroupModal: function(group) { this.$refs.renameGroupModal.openRenameGroupModal(group); }, openDeleteGroupModal: function(group) { this.$refs.confirmDeleteGroupModal.openDeleteGroupModal(group); openRemoveGroupModal: function(group) { this.$refs.confirmRemoveGroupModal.openRemoveGroupModal(group); }, setPage: function(page) { console.log('setPage ', page); Loading