Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion server/gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jackson = "2.18.6"
java = "25"
jaxb-api = "2.3.1"
jaxb-impl = "2.3.8"
jedis = "6.2.0"
jedis = "7.4.1"
jobrunr = "7.5.3"
jooq = "3.19.34"
jsonpath = "2.9.0"
Expand Down
7 changes: 7 additions & 0 deletions server/src/main/java/org/eclipse/openvsx/RegistryAPI.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
import jakarta.servlet.http.HttpServletRequest;
import org.apache.commons.lang3.StringUtils;
import org.eclipse.openvsx.entities.SemanticVersion;
import org.eclipse.openvsx.settings.MutatingOperation;
import org.eclipse.openvsx.json.*;
import org.eclipse.openvsx.search.ISearchService;
import org.eclipse.openvsx.search.SortBy;
Expand Down Expand Up @@ -1095,6 +1096,7 @@ public ResponseEntity<QueryResultJson> postQuery(
produces = MediaType.APPLICATION_JSON_VALUE
)
@Operation(summary = "Create a namespace")
@MutatingOperation
@ApiResponse(
responseCode = "201",
description = "Successfully created the namespace",
Expand Down Expand Up @@ -1155,6 +1157,7 @@ public ResponseEntity<ResultJson> createNamespace(
required = true
)
)
@MutatingOperation
@ApiResponse(
responseCode = "201",
description = "Successfully created the namespace",
Expand Down Expand Up @@ -1222,6 +1225,7 @@ public ResponseEntity<ResultJson> createNamespace(
required = true
)
)
@MutatingOperation
@ApiResponse(
responseCode = "201",
description = "Successfully published the extension",
Expand Down Expand Up @@ -1269,6 +1273,7 @@ public ResponseEntity<ExtensionJson> publish(
required = true
)
)
@MutatingOperation
@ApiResponse(
responseCode = "201",
description = "Successfully published the extension",
Expand Down Expand Up @@ -1315,6 +1320,7 @@ public ResponseEntity<ExtensionJson> publish(InputStream content) {
produces = MediaType.APPLICATION_JSON_VALUE
)
@Operation(hidden = true)
@MutatingOperation
public ResponseEntity<ResultJson> postReview(
@RequestBody(required = false) ReviewJson review,
@PathVariable String namespace,
Expand Down Expand Up @@ -1349,6 +1355,7 @@ public ResponseEntity<ResultJson> postReview(
produces = MediaType.APPLICATION_JSON_VALUE
)
@Operation(hidden = true)
@MutatingOperation
public ResponseEntity<ResultJson> deleteReview(@PathVariable String namespace, @PathVariable String extension) {
var json = local.deleteReview(namespace, extension);
if (json.getError() == null) {
Expand Down
7 changes: 7 additions & 0 deletions server/src/main/java/org/eclipse/openvsx/UserAPI.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
import org.eclipse.openvsx.accesstoken.AccessTokenService;
import org.eclipse.openvsx.eclipse.EclipseService;
import org.eclipse.openvsx.entities.*;
import org.eclipse.openvsx.settings.MutatingOperation;
import org.eclipse.openvsx.json.*;
import org.eclipse.openvsx.repositories.ExtensionScanRepository;
import org.eclipse.openvsx.repositories.RepositoryService;
Expand Down Expand Up @@ -163,6 +164,7 @@ public List<AccessTokenJson> getAccessTokens() {
path = "/user/token/create",
produces = MediaType.APPLICATION_JSON_VALUE
)
@MutatingOperation
public ResponseEntity<AccessTokenJson> createAccessToken(@RequestParam(required = false) String description) {
if (description != null && description.length() > TOKEN_DESCRIPTION_SIZE) {
var json = AccessTokenJson.error("The description must not be longer than " + TOKEN_DESCRIPTION_SIZE + " characters.");
Expand All @@ -180,6 +182,7 @@ public ResponseEntity<AccessTokenJson> createAccessToken(@RequestParam(required
path = "/user/token/delete/{id}",
produces = MediaType.APPLICATION_JSON_VALUE
)
@MutatingOperation
public ResponseEntity<ResultJson> deleteAccessToken(@PathVariable long id) {
var user = users.findLoggedInUser();
if (user == null) {
Expand Down Expand Up @@ -345,6 +348,7 @@ public ResponseEntity<ExtensionJson> getOwnExtension(@PathVariable String namesp
path = "/user/extension/{namespaceName}/{extensionName}/delete",
produces = MediaType.APPLICATION_JSON_VALUE
)
@MutatingOperation
public ResponseEntity<ResultJson> deleteExtension(
@PathVariable String namespaceName,
@PathVariable String extensionName,
Expand Down Expand Up @@ -400,6 +404,7 @@ public List<NamespaceJson> getOwnNamespaces() {
path = "/user/namespace/{namespace}/details",
produces = MediaType.APPLICATION_JSON_VALUE
)
@MutatingOperation
public ResponseEntity<ResultJson> updateNamespaceDetails(@RequestBody NamespaceDetailsJson details) {
var user = users.findLoggedInUser();
if (user == null) {
Expand All @@ -423,6 +428,7 @@ public ResponseEntity<ResultJson> updateNamespaceDetails(@RequestBody NamespaceD
produces = MediaType.APPLICATION_JSON_VALUE,
consumes = MediaType.MULTIPART_FORM_DATA_VALUE
)
@MutatingOperation
public ResponseEntity<ResultJson> updateNamespaceDetailsLogo(
@PathVariable String namespace,
@RequestParam MultipartFile file
Expand Down Expand Up @@ -464,6 +470,7 @@ public ResponseEntity<NamespaceMembershipListJson> getNamespaceMembers(@PathVari
path = "/user/namespace/{namespace}/role",
produces = MediaType.APPLICATION_JSON_VALUE
)
@MutatingOperation
public ResponseEntity<ResultJson> setNamespaceMember(@PathVariable String namespace, @RequestParam String user,
@RequestParam String role, @RequestParam(required = false) String provider) {
var requestingUser = users.findLoggedInUser();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,8 @@
import org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody;

import java.util.List;
import java.util.Optional;
import java.util.concurrent.TimeUnit;

import static org.eclipse.openvsx.adapter.ExtensionQueryParam.*;
import static org.eclipse.openvsx.adapter.ExtensionQueryResult.ExtensionFile.*;
import static org.eclipse.openvsx.util.TargetPlatform.*;

Expand Down
Loading