Skip to content
Snippets Groups Projects
Commit 28eba027 authored by Sonia Zorba's avatar Sonia Zorba
Browse files

Added recursive flag to share modal

parent 30871a33
No related branches found
No related tags found
No related merge requests found
......@@ -126,11 +126,11 @@ public class VOSpaceClient {
call(request, BodyHandlers.ofInputStream(), 200, res -> null);
}
public Node setNode(Node node) {
public Node setNode(Node node, boolean recursive) {
String path = node.getUri().substring(("vos://" + authority).length());
HttpRequest request = getRequest("/nodes" + urlEncodePath(path))
HttpRequest request = getRequest("/nodes" + urlEncodePath(path) + "?recursive=" + recursive)
.header("Accept", useJson ? "application/json" : "text/xml")
.header("Content-Type", useJson ? "application/json" : "text/xml")
.POST(HttpRequest.BodyPublishers.ofString(marshal(node)))
......
......@@ -9,6 +9,7 @@ public class ShareRequest {
private List<String> groupWrite;
private List<String> userRead;
private List<String> userWrite;
private boolean recursive;
public String getPath() {
return path;
......@@ -49,4 +50,12 @@ public class ShareRequest {
public void setUserWrite(List<String> userWrite) {
this.userWrite = userWrite;
}
public boolean isRecursive() {
return recursive;
}
public void setRecursive(boolean recursive) {
this.recursive = recursive;
}
}
......@@ -94,7 +94,7 @@ public class SharingService {
getNodeProperty(node, NodeProperties.GROUP_READ_URI).setValue(groupRead);
getNodeProperty(node, NodeProperties.GROUP_WRITE_URI).setValue(groupWrite);
vospaceClient.setNode(node);
vospaceClient.setNode(node, shareRequest.isRecursive());
}
private Property getNodeProperty(Node node, String uri) {
......
......@@ -22,6 +22,7 @@ import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyBoolean;
import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.ArgumentMatchers.argThat;
import static org.mockito.ArgumentMatchers.eq;
......@@ -114,7 +115,7 @@ public class SharingServiceTest {
assertTrue(groupWrite.contains("people.bianca\\.verdi"));
assertTrue(groupWrite.contains("group2"));
return true;
}));
}), anyBoolean());
}
private List<RapUser> getRapUsers() {
......
......@@ -6,6 +6,7 @@
<h5 class="mt-3">Write permissions</h5>
<ShareInputGroup id="user-write" :values="userWrite" :options="people" label="Users" placeholder="Search user..." buttonText="Add user" />
<ShareInputGroup id="group-write" :values="groupWrite" :options="groups" label="Groups" placeholder="Search group..." buttonText="Add group" />
<b-form-checkbox id="recursive" v-model="recursive" name="recursive">Apply also to children</b-form-checkbox>
</b-modal>
</template>
......@@ -34,7 +35,8 @@ export default {
groupWrite: [],
userWrite: [],
people: [],
groups: []
groups: [],
recursive: true
}
},
methods: {
......@@ -64,7 +66,8 @@ export default {
groupRead: this.groupRead,
groupWrite: this.groupWrite,
userRead: this.userRead,
userWrite: this.userWrite
userWrite: this.userWrite,
recursive: this.recursive
}).then(() => {
// Reload current path
this.$bvModal.hide('share-modal');
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment