From c2e587d6405fcd9a59c7fb85e25ff04ce4185ab3 Mon Sep 17 00:00:00 2001 From: Meenal Bhave Date: Tue, 11 Feb 2020 16:19:15 +0000 Subject: [PATCH] Search-2096: Added missing API to update Site (#37) --- .../alfresco/rest/core/JsonBodyGenerator.java | 13 ++++++++ .../java/org/alfresco/rest/requests/Site.java | 32 +++++++++++++++++++ 2 files changed, 45 insertions(+) diff --git a/packaging/tests/tas-restapi/src/main/java/org/alfresco/rest/core/JsonBodyGenerator.java b/packaging/tests/tas-restapi/src/main/java/org/alfresco/rest/core/JsonBodyGenerator.java index f43d23aea6..9df892f326 100644 --- a/packaging/tests/tas-restapi/src/main/java/org/alfresco/rest/core/JsonBodyGenerator.java +++ b/packaging/tests/tas-restapi/src/main/java/org/alfresco/rest/core/JsonBodyGenerator.java @@ -166,6 +166,19 @@ public class JsonBodyGenerator .add("title", title).build(); return value.toString(); } + /** + * Method to create a Json object for SiteBody with site title, description, visibility + * @param siteModel + * @return String + */ + public static String updateSiteRequest(SiteModel siteModel) + { + JsonObject value = defineJSON() + .add("title", siteModel.getTitle()) + .add("description", siteModel.getDescription()) + .add("visibility", siteModel.getVisibility().toString()).build(); + return value.toString(); + } public static String process(String processDefinitionKey, UserModel assignee, boolean sendEmailNotifications, Priority priority) { diff --git a/packaging/tests/tas-restapi/src/main/java/org/alfresco/rest/requests/Site.java b/packaging/tests/tas-restapi/src/main/java/org/alfresco/rest/requests/Site.java index 32b0d38b35..69398f78ae 100644 --- a/packaging/tests/tas-restapi/src/main/java/org/alfresco/rest/requests/Site.java +++ b/packaging/tests/tas-restapi/src/main/java/org/alfresco/rest/requests/Site.java @@ -192,6 +192,38 @@ public class Site extends ModelRequest return restWrapper.processModel(RestSiteModel.class, request); } + /** + * Update a site: Site title, description, visibility can be updated + * Body: + * { + * "title": "string", + * "description": "string", + * "visibility": "PRIVATE" + * } + * + * Response: + * { + * "entry": { + * "id": "string", + * "guid": "string", + * "title": "string", + * "description": "string", + * "visibility": "PRIVATE", + * "preset": "string", + * "role": "SiteConsumer" + * } + * } + * + * @return the properties of an updated site + * @throws Exception + */ + public RestSiteModel updateSite(SiteModel site) throws Exception + { + String siteBody = JsonBodyGenerator.updateSiteRequest(site); + RestRequest request = RestRequest.requestWithBody(HttpMethod.PUT, siteBody, "sites/{siteId}", site.getId()); + return restWrapper.processModel(RestSiteModel.class, request); + } + /** * Get site membership requests by using GET /site-membership-requests *