diff --git a/backend/pom.xml b/backend/pom.xml index af9fd26e5..475f6759d 100644 --- a/backend/pom.xml +++ b/backend/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.cryptomator hub-backend - 1.2.0 + 1.2.1 3.11.0 @@ -13,8 +13,7 @@ UTF-8 cryptomator hub - 3.1.0.Final - quay.io/quarkus/ubi-quarkus-mandrel:22.3-java17 + 3.2.4.Final eclipse-temurin:17-jre 4.4.0 3.1.2 diff --git a/backend/src/main/java/org/cryptomator/hub/api/AuditLogResource.java b/backend/src/main/java/org/cryptomator/hub/api/AuditLogResource.java index 5e2a9fb5c..c9e77a8f0 100644 --- a/backend/src/main/java/org/cryptomator/hub/api/AuditLogResource.java +++ b/backend/src/main/java/org/cryptomator/hub/api/AuditLogResource.java @@ -3,6 +3,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; +import io.quarkus.runtime.annotations.RegisterForReflection; import jakarta.annotation.security.RolesAllowed; import jakarta.inject.Inject; import jakarta.ws.rs.BadRequestException; @@ -33,6 +34,7 @@ import java.util.UUID; @Path("/auditlog") +@RegisterForReflection(targets = {UUID[].class}) public class AuditLogResource { @Inject diff --git a/backend/src/main/java/org/cryptomator/hub/api/VaultResource.java b/backend/src/main/java/org/cryptomator/hub/api/VaultResource.java index afa7e8ea0..37135b13d 100644 --- a/backend/src/main/java/org/cryptomator/hub/api/VaultResource.java +++ b/backend/src/main/java/org/cryptomator/hub/api/VaultResource.java @@ -1,6 +1,7 @@ package org.cryptomator.hub.api; import com.fasterxml.jackson.annotation.JsonProperty; +import io.quarkus.runtime.annotations.RegisterForReflection; import io.quarkus.security.identity.SecurityIdentity; import jakarta.annotation.security.RolesAllowed; import jakarta.inject.Inject; @@ -56,6 +57,7 @@ import java.util.UUID; @Path("/vaults") +@RegisterForReflection(targets = {UUID[].class}) public class VaultResource { @Inject diff --git a/backend/src/main/java/org/cryptomator/hub/entities/AccessToken.java b/backend/src/main/java/org/cryptomator/hub/entities/AccessToken.java index 098572812..da761c32c 100644 --- a/backend/src/main/java/org/cryptomator/hub/entities/AccessToken.java +++ b/backend/src/main/java/org/cryptomator/hub/entities/AccessToken.java @@ -2,6 +2,7 @@ import io.quarkus.hibernate.orm.panache.PanacheEntityBase; import io.quarkus.panache.common.Parameters; +import io.quarkus.runtime.annotations.RegisterForReflection; import jakarta.persistence.CascadeType; import jakarta.persistence.Column; import jakarta.persistence.Embeddable; @@ -30,6 +31,7 @@ AND u.id = :userId AND d.id = :deviceId """) +@RegisterForReflection(targets = {UUID[].class}) public class AccessToken extends PanacheEntityBase { @EmbeddedId diff --git a/backend/src/main/java/org/cryptomator/hub/entities/AuditEventVaultAccessGrant.java b/backend/src/main/java/org/cryptomator/hub/entities/AuditEventVaultAccessGrant.java index f1ad2a242..545d596e8 100644 --- a/backend/src/main/java/org/cryptomator/hub/entities/AuditEventVaultAccessGrant.java +++ b/backend/src/main/java/org/cryptomator/hub/entities/AuditEventVaultAccessGrant.java @@ -1,5 +1,6 @@ package org.cryptomator.hub.entities; +import io.quarkus.runtime.annotations.RegisterForReflection; import jakarta.persistence.Column; import jakarta.persistence.DiscriminatorValue; import jakarta.persistence.Entity; @@ -12,6 +13,7 @@ @Entity @Table(name = "audit_event_vault_access_grant") @DiscriminatorValue(AuditEventVaultAccessGrant.TYPE) +@RegisterForReflection(targets = {UUID[].class}) public class AuditEventVaultAccessGrant extends AuditEvent { public static final String TYPE = "VAULT_ACCESS_GRANT"; diff --git a/backend/src/main/java/org/cryptomator/hub/entities/AuditEventVaultCreate.java b/backend/src/main/java/org/cryptomator/hub/entities/AuditEventVaultCreate.java index a0c60a88b..37e25cd6b 100644 --- a/backend/src/main/java/org/cryptomator/hub/entities/AuditEventVaultCreate.java +++ b/backend/src/main/java/org/cryptomator/hub/entities/AuditEventVaultCreate.java @@ -1,5 +1,6 @@ package org.cryptomator.hub.entities; +import io.quarkus.runtime.annotations.RegisterForReflection; import jakarta.persistence.Column; import jakarta.persistence.DiscriminatorValue; import jakarta.persistence.Entity; @@ -12,6 +13,7 @@ @Entity @Table(name = "audit_event_vault_create") @DiscriminatorValue(AuditEventVaultCreate.TYPE) +@RegisterForReflection(targets = {UUID[].class}) public class AuditEventVaultCreate extends AuditEvent { public static final String TYPE = "VAULT_CREATE"; diff --git a/backend/src/main/java/org/cryptomator/hub/entities/AuditEventVaultKeyRetrieve.java b/backend/src/main/java/org/cryptomator/hub/entities/AuditEventVaultKeyRetrieve.java index a1daf8add..7dd73d905 100644 --- a/backend/src/main/java/org/cryptomator/hub/entities/AuditEventVaultKeyRetrieve.java +++ b/backend/src/main/java/org/cryptomator/hub/entities/AuditEventVaultKeyRetrieve.java @@ -1,5 +1,6 @@ package org.cryptomator.hub.entities; +import io.quarkus.runtime.annotations.RegisterForReflection; import jakarta.persistence.Column; import jakarta.persistence.DiscriminatorValue; import jakarta.persistence.Entity; @@ -14,6 +15,7 @@ @Entity @Table(name = "audit_event_vault_key_retrieve") @DiscriminatorValue(AuditEventVaultKeyRetrieve.TYPE) +@RegisterForReflection(targets = {UUID[].class}) public class AuditEventVaultKeyRetrieve extends AuditEvent { public static final String TYPE = "VAULT_KEY_RETRIEVE"; diff --git a/backend/src/main/java/org/cryptomator/hub/entities/AuditEventVaultMemberAdd.java b/backend/src/main/java/org/cryptomator/hub/entities/AuditEventVaultMemberAdd.java index c1627bdca..1239efb85 100644 --- a/backend/src/main/java/org/cryptomator/hub/entities/AuditEventVaultMemberAdd.java +++ b/backend/src/main/java/org/cryptomator/hub/entities/AuditEventVaultMemberAdd.java @@ -1,5 +1,6 @@ package org.cryptomator.hub.entities; +import io.quarkus.runtime.annotations.RegisterForReflection; import jakarta.persistence.Column; import jakarta.persistence.DiscriminatorValue; import jakarta.persistence.Entity; @@ -12,6 +13,7 @@ @Entity @Table(name = "audit_event_vault_member_add") @DiscriminatorValue(AuditEventVaultMemberAdd.TYPE) +@RegisterForReflection(targets = {UUID[].class}) public class AuditEventVaultMemberAdd extends AuditEvent { public static final String TYPE = "VAULT_MEMBER_ADD"; diff --git a/backend/src/main/java/org/cryptomator/hub/entities/AuditEventVaultMemberRemove.java b/backend/src/main/java/org/cryptomator/hub/entities/AuditEventVaultMemberRemove.java index e947d155c..559131550 100644 --- a/backend/src/main/java/org/cryptomator/hub/entities/AuditEventVaultMemberRemove.java +++ b/backend/src/main/java/org/cryptomator/hub/entities/AuditEventVaultMemberRemove.java @@ -1,5 +1,6 @@ package org.cryptomator.hub.entities; +import io.quarkus.runtime.annotations.RegisterForReflection; import jakarta.persistence.Column; import jakarta.persistence.DiscriminatorValue; import jakarta.persistence.Entity; @@ -12,6 +13,7 @@ @Entity @Table(name = "audit_event_vault_member_remove") @DiscriminatorValue(AuditEventVaultMemberRemove.TYPE) +@RegisterForReflection(targets = {UUID[].class}) public class AuditEventVaultMemberRemove extends AuditEvent { public static final String TYPE = "VAULT_MEMBER_REMOVE"; diff --git a/backend/src/main/java/org/cryptomator/hub/entities/AuditEventVaultUpdate.java b/backend/src/main/java/org/cryptomator/hub/entities/AuditEventVaultUpdate.java index a2f857912..e29ff1adc 100644 --- a/backend/src/main/java/org/cryptomator/hub/entities/AuditEventVaultUpdate.java +++ b/backend/src/main/java/org/cryptomator/hub/entities/AuditEventVaultUpdate.java @@ -1,5 +1,6 @@ package org.cryptomator.hub.entities; +import io.quarkus.runtime.annotations.RegisterForReflection; import jakarta.persistence.Column; import jakarta.persistence.DiscriminatorValue; import jakarta.persistence.Entity; @@ -12,6 +13,7 @@ @Entity @Table(name = "audit_event_vault_update") @DiscriminatorValue(AuditEventVaultUpdate.TYPE) +@RegisterForReflection(targets = {UUID[].class}) public class AuditEventVaultUpdate extends AuditEvent { public static final String TYPE = "VAULT_UPDATE"; diff --git a/backend/src/main/java/org/cryptomator/hub/entities/EffectiveVaultAccess.java b/backend/src/main/java/org/cryptomator/hub/entities/EffectiveVaultAccess.java index e2f12f298..8d4826119 100644 --- a/backend/src/main/java/org/cryptomator/hub/entities/EffectiveVaultAccess.java +++ b/backend/src/main/java/org/cryptomator/hub/entities/EffectiveVaultAccess.java @@ -2,6 +2,7 @@ import io.quarkus.hibernate.orm.panache.PanacheEntityBase; import io.quarkus.panache.common.Parameters; +import io.quarkus.runtime.annotations.RegisterForReflection; import jakarta.persistence.Column; import jakarta.persistence.Embeddable; import jakarta.persistence.EmbeddedId; @@ -34,6 +35,7 @@ SELECT count( DISTINCT u) INNER JOIN EffectiveGroupMembership egm ON u.id = egm.id.memberId WHERE egm.id.groupId = :groupId """) +@RegisterForReflection(targets = {UUID[].class}) public class EffectiveVaultAccess extends PanacheEntityBase { @EmbeddedId diff --git a/backend/src/main/java/org/cryptomator/hub/entities/Vault.java b/backend/src/main/java/org/cryptomator/hub/entities/Vault.java index c6ccaa777..f969d8727 100644 --- a/backend/src/main/java/org/cryptomator/hub/entities/Vault.java +++ b/backend/src/main/java/org/cryptomator/hub/entities/Vault.java @@ -2,6 +2,7 @@ import io.quarkus.hibernate.orm.panache.PanacheEntityBase; import io.quarkus.panache.common.Parameters; +import io.quarkus.runtime.annotations.RegisterForReflection; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.FetchType; @@ -40,6 +41,7 @@ WHERE v.id IN :ids """ ) +@RegisterForReflection(targets = {UUID[].class}) public class Vault extends PanacheEntityBase { @Id diff --git a/backend/src/main/java/org/cryptomator/hub/filters/VaultAdminOnlyFilterProvider.java b/backend/src/main/java/org/cryptomator/hub/filters/VaultAdminOnlyFilterProvider.java index 0762c3ffe..c2c6dad1d 100644 --- a/backend/src/main/java/org/cryptomator/hub/filters/VaultAdminOnlyFilterProvider.java +++ b/backend/src/main/java/org/cryptomator/hub/filters/VaultAdminOnlyFilterProvider.java @@ -9,6 +9,7 @@ import com.auth0.jwt.interfaces.DecodedJWT; import com.auth0.jwt.interfaces.JWTVerifier; import com.auth0.jwt.interfaces.Verification; +import io.quarkus.runtime.annotations.RegisterForReflection; import jakarta.ws.rs.NotFoundException; import jakarta.ws.rs.container.ContainerRequestContext; import jakarta.ws.rs.container.ContainerRequestFilter; @@ -28,6 +29,7 @@ @Provider @VaultAdminOnlyFilter +@RegisterForReflection(targets = {UUID[].class}) public class VaultAdminOnlyFilterProvider implements ContainerRequestFilter { public static final String VAULT_ADMIN_AUTHORIZATION = "Cryptomator-Vault-Admin-Authorization"; diff --git a/frontend/package-lock.json b/frontend/package-lock.json index a66a49d5f..34c4826ab 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -1,12 +1,12 @@ { "name": "cryptomator-hub", - "version": "1.2.0", + "version": "1.2.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "cryptomator-hub", - "version": "1.2.0", + "version": "1.2.1", "license": "AGPL-3.0-or-later", "dependencies": { "@headlessui/tailwindcss": "^0.1.3", diff --git a/frontend/package.json b/frontend/package.json index 21586cc12..feb59ea19 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -1,6 +1,6 @@ { "name": "cryptomator-hub", - "version": "1.2.0", + "version": "1.2.1", "description": "Web-Frontend for Cryptomator Hub", "author": "Skymatic GmbH", "license": "AGPL-3.0-or-later", diff --git a/frontend/src/components/NavigationBar.vue b/frontend/src/components/NavigationBar.vue index 8f53f8c30..8edd89672 100644 --- a/frontend/src/components/NavigationBar.vue +++ b/frontend/src/components/NavigationBar.vue @@ -40,8 +40,8 @@ {{ me.name }}
- - + +