Commit 0922b032 authored by Sonia Zorba's avatar Sonia Zorba
Browse files

API endpoints refactoring

parent 69bd8b4e
Loading
Loading
Loading
Loading
+9 −4
Original line number Diff line number Diff line
@@ -2,9 +2,11 @@ package it.inaf.ia2.gms.client.call;

import it.inaf.ia2.client.BaseCall;
import it.inaf.ia2.gms.client.GmsClient;
import java.net.URLEncoder;
import java.net.http.HttpRequest;
import java.net.http.HttpRequest.BodyPublishers;
import java.net.http.HttpResponse.BodyHandlers;
import java.nio.charset.StandardCharsets;

public class AddMemberCall extends BaseCall<GmsClient> {

@@ -14,15 +16,18 @@ public class AddMemberCall extends BaseCall<GmsClient> {

    public boolean addMember(String completeGroupName, String userId) {

        String endpoint = "ws/jwt/membership";
        if (completeGroupName != null && !completeGroupName.isBlank()) {
            endpoint += "/" + completeGroupName;
        String endpoint = "membership";

        if (completeGroupName == null) {
            completeGroupName = "";
        }

        HttpRequest groupsRequest = client.newRequest(endpoint)
                .header("Accept", "text/plain")
                .header("Content-Type", "application/x-www-form-urlencoded")
                .POST(BodyPublishers.ofString("user_id=" + userId))
                .POST(BodyPublishers.ofString(
                        "group=" + URLEncoder.encode(completeGroupName, StandardCharsets.UTF_8)
                        + "&user_id=" + userId))
                .build();

        return client.call(groupsRequest, BodyHandlers.ofInputStream(), 200, res -> true);
+8 −4
Original line number Diff line number Diff line
@@ -3,10 +3,12 @@ package it.inaf.ia2.gms.client.call;
import it.inaf.ia2.client.BaseCall;
import it.inaf.ia2.gms.client.GmsClient;
import it.inaf.ia2.gms.client.model.Permission;
import java.net.URLEncoder;
import java.net.http.HttpRequest;
import java.net.http.HttpRequest.BodyPublisher;
import java.net.http.HttpRequest.BodyPublishers;
import java.net.http.HttpResponse.BodyHandlers;
import java.nio.charset.StandardCharsets;

public class AddPermissionCall extends BaseCall<GmsClient> {

@@ -16,13 +18,15 @@ public class AddPermissionCall extends BaseCall<GmsClient> {

    public String addPermission(String completeGroupName, String userId, Permission permission) {

        String endpoint = "ws/jwt/permission";
        if (completeGroupName != null && !completeGroupName.isBlank()) {
            endpoint += "/" + completeGroupName;
        String endpoint = "permission";

        if (completeGroupName == null) {
            completeGroupName = "";
        }

        BodyPublisher requestBody = BodyPublishers.ofString(
                "user_id=" + userId + "&permission=" + permission);
                "group=" + URLEncoder.encode(completeGroupName, StandardCharsets.UTF_8)
                + "&user_id=" + userId + "&permission=" + permission);

        HttpRequest groupsRequest = client.newRequest(endpoint)
                .header("Accept", "text/plain")
+4 −1
Original line number Diff line number Diff line
@@ -2,8 +2,10 @@ package it.inaf.ia2.gms.client.call;

import it.inaf.ia2.client.BaseCall;
import it.inaf.ia2.gms.client.GmsClient;
import java.net.URLEncoder;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse.BodyHandlers;
import java.nio.charset.StandardCharsets;

public class DeleteGroupCall extends BaseCall<GmsClient> {

@@ -13,7 +15,8 @@ public class DeleteGroupCall extends BaseCall<GmsClient> {

    public boolean deleteGroup(String completeGroupName) {

        HttpRequest groupsRequest = client.newRequest("ws/jwt/" + completeGroupName)
        HttpRequest groupsRequest = client.newRequest("group?name="
                + URLEncoder.encode(completeGroupName, StandardCharsets.UTF_8))
                .header("Accept", "text/plain")
                .DELETE()
                .build();
+4 −3
Original line number Diff line number Diff line
@@ -4,8 +4,10 @@ import it.inaf.ia2.client.BaseCall;
import it.inaf.ia2.gms.client.GmsClient;
import it.inaf.ia2.gms.client.model.GroupPermission;
import it.inaf.ia2.gms.client.model.Permission;
import java.net.URLEncoder;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse.BodyHandlers;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
@@ -16,12 +18,11 @@ public class GetGroupPermissionsCall extends BaseCall<GmsClient> {
        super(client);
    }

    public List<GroupPermission> getGroupPermissions(String groupId) {
    public List<GroupPermission> getGroupPermissions(String groupName) {

        List<GroupPermission> groupPermissions = new ArrayList<>();

        String endpoint = "ws/jwt/permission";
        endpoint += "/" + groupId;
        String endpoint = "permission?group=" + URLEncoder.encode(groupName, StandardCharsets.UTF_8);

        HttpRequest groupsRequest = client.newRequest(endpoint)
                .header("Accept", "text/plain")
+9 −5
Original line number Diff line number Diff line
@@ -2,8 +2,10 @@ package it.inaf.ia2.gms.client.call;

import it.inaf.ia2.client.BaseCall;
import it.inaf.ia2.gms.client.GmsClient;
import java.net.URLEncoder;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse.BodyHandlers;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
@@ -48,15 +50,17 @@ public class GetUserGroupsCall extends BaseCall<GmsClient> {
                });
    }

    public List<String> getUserGroups(String userId, String prefix) {
    public List<String> getUserGroups(String userId, String groupName) {

        List<String> groups = new ArrayList<>();

        String endpoint = "ws/jwt/membership";
        if (prefix != null && !prefix.isBlank()) {
            endpoint += "/" + prefix;
        if (groupName == null) {
            groupName = "";
        }
        endpoint += "?user_id=" + userId;

        String endpoint = "membership?group="
                + URLEncoder.encode(groupName, StandardCharsets.UTF_8)
                + "&user_id=" + userId;

        HttpRequest groupsRequest = client.newRequest(endpoint)
                .header("Accept", "text/plain")
Loading