@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<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<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<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); }
@Override public MeshRequest<PublishStatusModel> publishNodeLanguage(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(POST, "/" + encodeSegment(projectName) + "/nodes/" + nodeUuid + "/languages/" + languageTag + "/published" + getQuery( parameters), PublishStatusModel.class); }
@Override public MeshRequest<NodeResponse> createNode(String projectName, NodeCreateRequest nodeCreateRequest, ParameterProvider... parameters) { Objects.requireNonNull(projectName, "projectName must not be null"); Objects.requireNonNull(nodeCreateRequest, "nodeCreateRequest must not be null"); return prepareRequest(POST, "/" + encodeSegment(projectName) + "/nodes" + getQuery(parameters), NodeResponse.class, nodeCreateRequest); }
@Override public MeshRequest<PublishStatusResponse> publishNode(String projectName, String nodeUuid, ParameterProvider... parameters) { Objects.requireNonNull(projectName, "projectName must not be null"); Objects.requireNonNull(nodeUuid, "nodeUuid must not be null"); return prepareRequest(POST, "/" + encodeSegment(projectName) + "/nodes/" + nodeUuid + "/published" + getQuery(parameters), PublishStatusResponse.class); }
@Override public MeshRequest<NodeListResponse> searchNodes(String projectName, String json, ParameterProvider... parameters) { Objects.requireNonNull(projectName, "projectName must not be null"); Objects.requireNonNull(json, "json must not be null"); return handleRequest(POST, "/" + encodeSegment(projectName) + "/search/nodes" + getQuery(parameters), NodeListResponse.class, json); }
@Override public MeshRequest<NodeResponse> upsertNode(String projectName, String uuid, NodeUpsertRequest nodeUpsertRequest, ParameterProvider... parameters) { Objects.requireNonNull(projectName, "projectName must not be null"); Objects.requireNonNull(nodeUpsertRequest, "nodeUpsertRequest must not be null"); return prepareRequest(POST, "/" + encodeSegment(projectName) + "/nodes/" + uuid + getQuery(parameters), NodeResponse.class, nodeUpsertRequest); }
@Override public MeshRequest<NavigationResponse> loadNavigation(String projectName, String uuid, ParameterProvider... parameters) { Objects.requireNonNull(projectName, "projectName must not be null"); Objects.requireNonNull(uuid, "uuid must not be null"); return prepareRequest(GET, "/" + encodeSegment(projectName) + "/nodes/" + uuid + "/navigation" + getQuery(parameters), NavigationResponse.class); }
@Override public MeshRequest<BranchResponse> findBranchByUuid(String projectName, String branchUuid, ParameterProvider... parameters) { Objects.requireNonNull(projectName, "projectName must not be null"); Objects.requireNonNull(branchUuid, "branchUuid must not be null"); return prepareRequest(GET, "/" + encodeSegment(projectName) + "/branches/" + branchUuid + getQuery(parameters), BranchResponse.class); }
@Override public MeshRequest<NodeResponse> findNodeByUuid(String projectName, String uuid, ParameterProvider... parameters) { Objects.requireNonNull(projectName, "projectName must not be null"); return prepareRequest(GET, "/" + encodeSegment(projectName) + "/nodes/" + uuid + getQuery(parameters), NodeResponse.class); }
@Override public MeshRequest<TagFamilyListResponse> findTagFamilies(String projectName, ParameterProvider... parameters) { Objects.requireNonNull(projectName, "projectName must not be null"); return prepareRequest(GET, "/" + encodeSegment(projectName) + "/tagFamilies" + getQuery(parameters), TagFamilyListResponse.class); }
@Override public MeshRequest<ProjectResponse> findProjectByName(String name, ParameterProvider... parameters) { Objects.requireNonNull(name, "name must not be null"); return prepareRequest(GET, "/" + encodeSegment(name) + getQuery(parameters), ProjectResponse.class); }