@Override public MeshRequest<BranchResponse> updateBranch(String projectName, String branchUuid, BranchUpdateRequest request) { Objects.requireNonNull(projectName, "projectName must not be null"); Objects.requireNonNull(branchUuid, "branchUuid must not be null"); return prepareRequest(POST, "/" + encodeSegment(projectName) + "/branches/" + branchUuid, BranchResponse.class, request); }
@Override public MeshRequest<BranchInfoSchemaList> assignBranchSchemaVersions(String projectName, String branchUuid, BranchInfoSchemaList schemaVersionReferences) { Objects.requireNonNull(projectName, "projectName must not be null"); Objects.requireNonNull(branchUuid, "branchUuid must not be null"); return prepareRequest(POST, "/" + encodeSegment(projectName) + "/branches/" + branchUuid + "/schemas", BranchInfoSchemaList.class, schemaVersionReferences); }
@Override public MeshRequest<BranchResponse> addTagToBranch(String projectName, String branchUuid, String tagUuid) { Objects.requireNonNull(projectName, "projectName must not be null"); Objects.requireNonNull(branchUuid, "branchUuid must not be null"); Objects.requireNonNull(tagUuid, "tagUuid must not be null"); return prepareRequest(POST, "/" + encodeSegment(projectName) + "/branches/" + branchUuid + "/tags/" + tagUuid, BranchResponse.class); }
@Override public MeshRequest<Void> deleteTag(String projectName, String tagFamilyUuid, String uuid) { Objects.requireNonNull(projectName, "projectName must not be null"); Objects.requireNonNull(uuid, "uuid must not be null"); return prepareRequest(DELETE, "/" + encodeSegment(projectName) + "/tagFamilies/" + tagFamilyUuid + "/tags/" + uuid, Void.class); }
@Override public MeshRequest<SchemaResponse> assignSchemaToProject(String projectName, String schemaUuid) { Objects.requireNonNull(projectName, "projectName must not be null"); Objects.requireNonNull(schemaUuid, "schemaUuid must not be null"); return prepareRequest(POST, "/" + encodeSegment(projectName) + "/schemas/" + schemaUuid, SchemaResponse.class); }
@Override public MeshRequest<Void> unassignSchemaFromProject(String projectName, String schemaUuid) { Objects.requireNonNull(projectName, "projectName must not be null"); Objects.requireNonNull(schemaUuid, "schemaUuid must not be null"); return prepareRequest(DELETE, "/" + encodeSegment(projectName) + "/schemas/" + schemaUuid, Void.class); }
@Override public MeshRequest<TagFamilyResponse> createTagFamily(String projectName, TagFamilyCreateRequest tagFamilyCreateRequest) { Objects.requireNonNull(projectName, "projectName must not be null"); Objects.requireNonNull(tagFamilyCreateRequest, "tagFamilyCreateRequest must not be null"); return prepareRequest(POST, "/" + encodeSegment(projectName) + "/tagFamilies", TagFamilyResponse.class, tagFamilyCreateRequest); }
@Override public MeshRequest<JsonObject> searchTagFamiliesRaw(String projectName, String json) { Objects.requireNonNull(projectName, "projectName must not be null"); Objects.requireNonNull(json, "json must not be null"); return handleRequest(POST, "/" + encodeSegment(projectName) + "/rawSearch/tagFamilies", JsonObject.class, json); }
@Override public MeshRequest<TagListResponse> updateTagsForBranch(String projectName, String branchUuid, TagListUpdateRequest request) { Objects.requireNonNull(projectName, "projectName must not be null"); Objects.requireNonNull(branchUuid, "branchUuid must not be null"); return prepareRequest(POST, "/" + encodeSegment(projectName) + "/branches/" + branchUuid + "/tags", TagListResponse.class, request); }
@Override public MeshRequest<MicroschemaResponse> assignMicroschemaToProject(String projectName, String microschemaUuid) { Objects.requireNonNull(projectName, "projectName must not be null"); Objects.requireNonNull(microschemaUuid, "microschemaUuid must not be null"); return prepareRequest(POST, "/" + encodeSegment(projectName) + "/microschemas/" + microschemaUuid, MicroschemaResponse.class); }
@Override public MeshRequest<Void> unassignMicroschemaFromProject(String projectName, String microschemaUuid) { Objects.requireNonNull(projectName, "projectName must not be null"); Objects.requireNonNull(microschemaUuid, "microschemaUuid must not be null"); return prepareRequest(DELETE, "/" + encodeSegment(projectName) + "/microschemas/" + microschemaUuid, Void.class); }
@Override public MeshRequest<Void> deleteTagFamily(String projectName, String uuid) { Objects.requireNonNull(projectName, "projectName must not be null"); Objects.requireNonNull(uuid, "uuid must not be null"); return prepareRequest(DELETE, "/" + encodeSegment(projectName) + "/tagFamilies/" + uuid, Void.class); }
@Override public MeshRequest<JsonObject> searchTagsRaw(String projectName, String json) { Objects.requireNonNull(projectName, "projectName must not be null"); Objects.requireNonNull(json, "json must not be null"); return handleRequest(POST, "/" + encodeSegment(projectName) + "/rawSearch/tags", JsonObject.class, json); }
@Override public MeshRequest<BranchInfoMicroschemaList> assignBranchMicroschemaVersions(String projectName, String branchUuid, BranchInfoMicroschemaList microschemaVersionReferences) { Objects.requireNonNull(projectName, "projectName must not be null"); Objects.requireNonNull(branchUuid, "branchUuid must not be null"); return prepareRequest(POST, "/" + encodeSegment(projectName) + "/branches/" + branchUuid + "/microschemas", BranchInfoMicroschemaList.class, microschemaVersionReferences); }
@Override public MeshRequest<BranchInfoMicroschemaList> getBranchMicroschemaVersions(String projectName, String branchUuid) { Objects.requireNonNull(projectName, "projectName must not be null"); Objects.requireNonNull(branchUuid, "branchUuid must not be null"); return prepareRequest(GET, "/" + encodeSegment(projectName) + "/branches/" + branchUuid + "/microschemas", BranchInfoMicroschemaList.class); }
@Override public MeshRequest<Void> removeTagFromBranch(String projectName, String branchUuid, String tagUuid) { Objects.requireNonNull(projectName, "projectName must not be null"); Objects.requireNonNull(branchUuid, "branchUuid must not be null"); Objects.requireNonNull(tagUuid, "tagUuid must not be null"); return prepareRequest(DELETE, "/" + encodeSegment(projectName) + "/branches/" + branchUuid + "/tags/" + tagUuid, Void.class); }
@Override public MeshRequest<NavigationResponse> navroot(String projectName, String path, ParameterProvider... parameters) { Objects.requireNonNull(projectName, "projectName must not be null"); Objects.requireNonNull(path, "path must not be null"); if (!path.startsWith("/")) { throw new RuntimeException("The path {" + path + "} must start with a slash"); } String requestUri = "/" + encodeSegment(projectName) + "/navroot" + path + getQuery(parameters); return prepareRequest(GET, requestUri, NavigationResponse.class); }
@Override public MeshRequest<Void> deleteNode(String projectName, String uuid, String languageTag, ParameterProvider... parameters) { Objects.requireNonNull(projectName, "projectName must not be null"); Objects.requireNonNull(uuid, "uuid must not be null"); Objects.requireNonNull(languageTag, "languageTag must not be null"); return prepareRequest(DELETE, "/" + encodeSegment(projectName) + "/nodes/" + uuid + "/languages/" + languageTag + getQuery(parameters), Void.class); }
@Override public MeshRequest<Void> takeNodeLanguageOffline(String projectName, String nodeUuid, String languageTag, ParameterProvider... parameters) { Objects.requireNonNull(projectName, "projectName must not be null"); Objects.requireNonNull(nodeUuid, "nodeUuid must not be null"); Objects.requireNonNull(languageTag, "languageTag must not be null"); return prepareRequest(DELETE, "/" + encodeSegment(projectName) + "/nodes/" + nodeUuid + "/languages/" + languageTag + "/published" + getQuery(parameters), Void.class); }
@Override public MeshRequest<PublishStatusModel> getNodeLanguagePublishStatus(String projectName, String nodeUuid, String languageTag, ParameterProvider... parameters) { Objects.requireNonNull(projectName, "projectName must not be null"); Objects.requireNonNull(nodeUuid, "nodeUuid must not be null"); Objects.requireNonNull(languageTag, "languageTag must not be null"); return prepareRequest(GET, "/" + encodeSegment(projectName) + "/nodes/" + nodeUuid + "/languages/" + languageTag + "/published" + getQuery( parameters), PublishStatusModel.class); }