From 6b5501d06c7716ac5b4430ed057ec7fe9f9b89b0 Mon Sep 17 00:00:00 2001 From: straumat Date: Mon, 11 Mar 2024 21:58:59 +0100 Subject: [PATCH] core/domain review #523 --- .../org/royllo/explorer/core/domain/asset/Asset.java | 2 +- .../royllo/explorer/core/domain/asset/AssetGroup.java | 4 ++-- .../royllo/explorer/core/domain/asset/AssetState.java | 2 +- .../core/domain/bitcoin/BitcoinTransactionOutput.java | 4 ++-- .../org/royllo/explorer/core/domain/proof/Proof.java | 8 ++++---- .../org/royllo/explorer/core/domain/request/Request.java | 2 +- .../explorer/core/domain/universe/UniverseServer.java | 2 +- .../java/org/royllo/explorer/core/domain/user/User.java | 9 +++++---- .../java/org/royllo/explorer/core/dto/user/UserDTO.java | 2 +- .../core/service/user/UserServiceImplementation.java | 2 +- .../core/test/core/service/user/UserServiceTest.java | 8 ++++---- .../web/controller/user/account/AccountSettings.java | 4 ++-- .../src/main/resources/templates/user/page/home.html | 4 ++-- .../web/test/controllers/user/AccountSettingsTest.java | 4 ++-- 14 files changed, 29 insertions(+), 28 deletions(-) diff --git a/backend/explorer-core/autoconfigure/src/main/java/org/royllo/explorer/core/domain/asset/Asset.java b/backend/explorer-core/autoconfigure/src/main/java/org/royllo/explorer/core/domain/asset/Asset.java index 399bb1d28..8f0d6b027 100644 --- a/backend/explorer-core/autoconfigure/src/main/java/org/royllo/explorer/core/domain/asset/Asset.java +++ b/backend/explorer-core/autoconfigure/src/main/java/org/royllo/explorer/core/domain/asset/Asset.java @@ -47,7 +47,7 @@ public class Asset extends BaseDomain { private User creator; /** Asset genesis: The asset ID that uniquely identifies the asset. */ - @Column(name = "ASSET_ID", updatable = false) + @Column(name = "ASSET_ID", nullable = false, updatable = false) private String assetId; /** The asset ID alias in Royllo (generated or configured). */ diff --git a/backend/explorer-core/autoconfigure/src/main/java/org/royllo/explorer/core/domain/asset/AssetGroup.java b/backend/explorer-core/autoconfigure/src/main/java/org/royllo/explorer/core/domain/asset/AssetGroup.java index 1d531466c..511001729 100644 --- a/backend/explorer-core/autoconfigure/src/main/java/org/royllo/explorer/core/domain/asset/AssetGroup.java +++ b/backend/explorer-core/autoconfigure/src/main/java/org/royllo/explorer/core/domain/asset/AssetGroup.java @@ -34,13 +34,13 @@ public class AssetGroup extends BaseDomain { @GeneratedValue(strategy = IDENTITY) private Long id; - /** Asset creator. */ + /** Asset group creator. */ @ManyToOne(fetch = EAGER) @JoinColumn(name = "FK_USER_CREATOR", nullable = false) private User creator; /** Asset group id (=TWEAKED_GROUP_KEY). */ - @Column(name = "ASSET_GROUP_ID", updatable = false) + @Column(name = "ASSET_GROUP_ID", nullable = false, updatable = false) private String assetGroupId; /** The raw group key which is a normal public key. */ diff --git a/backend/explorer-core/autoconfigure/src/main/java/org/royllo/explorer/core/domain/asset/AssetState.java b/backend/explorer-core/autoconfigure/src/main/java/org/royllo/explorer/core/domain/asset/AssetState.java index 9bd0692fe..1b8e47109 100644 --- a/backend/explorer-core/autoconfigure/src/main/java/org/royllo/explorer/core/domain/asset/AssetState.java +++ b/backend/explorer-core/autoconfigure/src/main/java/org/royllo/explorer/core/domain/asset/AssetState.java @@ -49,7 +49,7 @@ public class AssetState extends BaseDomain { /** The asset state ID that uniquely identifies the asset state (calculated by Royllo). */ @NonFinal - @Column(name = "ASSET_STATE_ID", updatable = false) + @Column(name = "ASSET_STATE_ID", nullable = false, updatable = false) private String assetStateId; /** Asset. */ diff --git a/backend/explorer-core/autoconfigure/src/main/java/org/royllo/explorer/core/domain/bitcoin/BitcoinTransactionOutput.java b/backend/explorer-core/autoconfigure/src/main/java/org/royllo/explorer/core/domain/bitcoin/BitcoinTransactionOutput.java index 754ab7e50..788fc8a37 100644 --- a/backend/explorer-core/autoconfigure/src/main/java/org/royllo/explorer/core/domain/bitcoin/BitcoinTransactionOutput.java +++ b/backend/explorer-core/autoconfigure/src/main/java/org/royllo/explorer/core/domain/bitcoin/BitcoinTransactionOutput.java @@ -42,11 +42,11 @@ public class BitcoinTransactionOutput extends BaseDomain { private LocalDateTime blockTime; /** Transaction id. */ - @Column(name = "TXID", updatable = false) + @Column(name = "TXID", nullable = false, updatable = false) private String txId; /** Output index (starts at 0). */ - @Column(name = "VOUT", updatable = false) + @Column(name = "VOUT", nullable = false, updatable = false) private int vout; /** ScriptPubKey is the script which controls how bitcoin can be spent. */ diff --git a/backend/explorer-core/autoconfigure/src/main/java/org/royllo/explorer/core/domain/proof/Proof.java b/backend/explorer-core/autoconfigure/src/main/java/org/royllo/explorer/core/domain/proof/Proof.java index b08462378..065fcefd7 100644 --- a/backend/explorer-core/autoconfigure/src/main/java/org/royllo/explorer/core/domain/proof/Proof.java +++ b/backend/explorer-core/autoconfigure/src/main/java/org/royllo/explorer/core/domain/proof/Proof.java @@ -8,7 +8,6 @@ import jakarta.persistence.JoinColumn; import jakarta.persistence.ManyToOne; import jakarta.persistence.Table; -import lombok.AccessLevel; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Getter; @@ -23,6 +22,7 @@ import static jakarta.persistence.EnumType.STRING; import static jakarta.persistence.FetchType.EAGER; import static jakarta.persistence.GenerationType.IDENTITY; +import static lombok.AccessLevel.PACKAGE; /** * Taproot asset proof. @@ -31,7 +31,7 @@ @Setter @ToString @RequiredArgsConstructor -@AllArgsConstructor(access = AccessLevel.PACKAGE) +@AllArgsConstructor(access = PACKAGE) @Builder @Entity @Table(name = "PROOF") @@ -53,8 +53,8 @@ public class Proof extends BaseDomain { @JoinColumn(name = "FK_ASSET", nullable = false) private Asset asset; - /** The proof sID that uniquely identifies the proof - sha256(proof). */ - @Column(name = "PROOF_ID", updatable = false) + /** The proof ID that uniquely identifies the proof - sha256(proof). */ + @Column(name = "PROOF_ID", nullable = false, updatable = false) private String proofId; /** Proof type. */ diff --git a/backend/explorer-core/autoconfigure/src/main/java/org/royllo/explorer/core/domain/request/Request.java b/backend/explorer-core/autoconfigure/src/main/java/org/royllo/explorer/core/domain/request/Request.java index d4863a1da..513b37673 100644 --- a/backend/explorer-core/autoconfigure/src/main/java/org/royllo/explorer/core/domain/request/Request.java +++ b/backend/explorer-core/autoconfigure/src/main/java/org/royllo/explorer/core/domain/request/Request.java @@ -45,7 +45,7 @@ public abstract class Request extends BaseDomain { private Long id; /** Request UUID. */ - @Column(name = "REQUEST_ID", updatable = false) + @Column(name = "REQUEST_ID", nullable = false, updatable = false) private String requestId; /** Request creator. */ diff --git a/backend/explorer-core/autoconfigure/src/main/java/org/royllo/explorer/core/domain/universe/UniverseServer.java b/backend/explorer-core/autoconfigure/src/main/java/org/royllo/explorer/core/domain/universe/UniverseServer.java index cc9996358..82b21b0df 100644 --- a/backend/explorer-core/autoconfigure/src/main/java/org/royllo/explorer/core/domain/universe/UniverseServer.java +++ b/backend/explorer-core/autoconfigure/src/main/java/org/royllo/explorer/core/domain/universe/UniverseServer.java @@ -39,7 +39,7 @@ public class UniverseServer extends BaseDomain { private Long id; /** Universe server UUID. */ - @Column(name = "UNIVERSE_SERVER_ID", updatable = false) + @Column(name = "UNIVERSE_SERVER_ID", nullable = false, updatable = false) private String universeServerId; /** Universe server owner. */ diff --git a/backend/explorer-core/autoconfigure/src/main/java/org/royllo/explorer/core/domain/user/User.java b/backend/explorer-core/autoconfigure/src/main/java/org/royllo/explorer/core/domain/user/User.java index 0b05377e5..f215e8e45 100644 --- a/backend/explorer-core/autoconfigure/src/main/java/org/royllo/explorer/core/domain/user/User.java +++ b/backend/explorer-core/autoconfigure/src/main/java/org/royllo/explorer/core/domain/user/User.java @@ -39,7 +39,7 @@ public class User extends BaseDomain { private Long id; /** User UUID. */ - @Column(name = "USER_ID", updatable = false) + @Column(name = "USER_ID", nullable = false, updatable = false) private String userId; /** Username. */ @@ -53,10 +53,10 @@ public class User extends BaseDomain { /** Profile picture file name. */ @Column(name = "PROFILE_PICTURE_FILE_NAME") - private String profilePictureFilename; + private String profilePictureFileName; /** Full name. */ - @Column(name = "FULL_NAME", nullable = false) + @Column(name = "FULL_NAME") private String fullName; /** Biography. */ @@ -68,11 +68,12 @@ public class User extends BaseDomain { private String website; /** - * Setter username. + * Setter for username. * * @param newUsername the username to set */ public void setUsername(final String newUsername) { + // TODO Add a @NonNull annotation to the username parameter. if (username == null) { throw new IllegalArgumentException("Username is required"); } else { diff --git a/backend/explorer-core/autoconfigure/src/main/java/org/royllo/explorer/core/dto/user/UserDTO.java b/backend/explorer-core/autoconfigure/src/main/java/org/royllo/explorer/core/dto/user/UserDTO.java index 42910ab94..fcbafb508 100644 --- a/backend/explorer-core/autoconfigure/src/main/java/org/royllo/explorer/core/dto/user/UserDTO.java +++ b/backend/explorer-core/autoconfigure/src/main/java/org/royllo/explorer/core/dto/user/UserDTO.java @@ -60,7 +60,7 @@ public class UserDTO { @Setter @NonFinal @Size(max = PROFILE_PICTURE_FILE_NAME_MAXIMUM_SIZE, message = "{validation.user.profilePictureFilename.size.too_long}") - String profilePictureFilename; + String profilePictureFileName; /** Full name. */ @Setter diff --git a/backend/explorer-core/autoconfigure/src/main/java/org/royllo/explorer/core/service/user/UserServiceImplementation.java b/backend/explorer-core/autoconfigure/src/main/java/org/royllo/explorer/core/service/user/UserServiceImplementation.java index 8d6deebee..cc424b077 100644 --- a/backend/explorer-core/autoconfigure/src/main/java/org/royllo/explorer/core/service/user/UserServiceImplementation.java +++ b/backend/explorer-core/autoconfigure/src/main/java/org/royllo/explorer/core/service/user/UserServiceImplementation.java @@ -106,7 +106,7 @@ public void updateUser(final String username, final UserDTO userData) { assert username.equalsIgnoreCase(userData.getUsername()) || userRepository.findByUsernameIgnoreCase(userData.getUsername()).isEmpty() : "Username '" + userData.getUsername() + "' already registered"; // We update the data. - user.get().setProfilePictureFilename(userData.getProfilePictureFilename()); + user.get().setProfilePictureFileName(userData.getProfilePictureFileName()); user.get().setUsername(userData.getUsername()); user.get().setFullName(userData.getFullName()); user.get().setBiography(userData.getBiography()); diff --git a/backend/explorer-core/autoconfigure/src/test/java/org/royllo/explorer/core/test/core/service/user/UserServiceTest.java b/backend/explorer-core/autoconfigure/src/test/java/org/royllo/explorer/core/test/core/service/user/UserServiceTest.java index a1dddaae2..1804f1a2d 100644 --- a/backend/explorer-core/autoconfigure/src/test/java/org/royllo/explorer/core/test/core/service/user/UserServiceTest.java +++ b/backend/explorer-core/autoconfigure/src/test/java/org/royllo/explorer/core/test/core/service/user/UserServiceTest.java @@ -92,14 +92,14 @@ public void updateUserTest() { assertTrue(existingUser.isPresent()); assertEquals(2, existingUser.get().getId().longValue()); assertEquals(STRAUMAT_USERNAME, existingUser.get().getUsername()); - assertEquals("22222222-2222-2222-2222-222222222222.jpeg", existingUser.get().getProfilePictureFilename()); + assertEquals("22222222-2222-2222-2222-222222222222.jpeg", existingUser.get().getProfilePictureFileName()); assertEquals("Stéphane Traumat", existingUser.get().getFullName()); assertEquals("I am a developer", existingUser.get().getBiography()); assertEquals("https://github.com/straumat", existingUser.get().getWebsite()); assertEquals(ADMINISTRATOR, existingUser.get().getRole()); // We update the user data. - existingUser.get().setProfilePictureFilename("33333333-3333-3333-3333-333333333333.jpeg"); + existingUser.get().setProfilePictureFileName("33333333-3333-3333-3333-333333333333.jpeg"); existingUser.get().setFullName("Stéphane Traumat (Updated)"); existingUser.get().setBiography("I am a developer (Updated)"); existingUser.get().setWebsite("https://github.com/straumat2"); @@ -113,7 +113,7 @@ public void updateUserTest() { assertEquals(STRAUMAT_USERNAME, existingUser.get().getUsername()); assertEquals(ADMINISTRATOR, existingUser.get().getRole()); // Should be updated. - assertEquals("33333333-3333-3333-3333-333333333333.jpeg", existingUser.get().getProfilePictureFilename()); + assertEquals("33333333-3333-3333-3333-333333333333.jpeg", existingUser.get().getProfilePictureFileName()); assertEquals("Stéphane Traumat (Updated)", existingUser.get().getFullName()); assertEquals("I am a developer (Updated)", existingUser.get().getBiography()); assertEquals("https://github.com/straumat2", existingUser.get().getWebsite()); @@ -196,7 +196,7 @@ public void updateUserTest() { // We go back to normal. existingUser.get().setUsername(STRAUMAT_USERNAME); - existingUser.get().setProfilePictureFilename("22222222-2222-2222-2222-222222222222.jpeg"); + existingUser.get().setProfilePictureFileName("22222222-2222-2222-2222-222222222222.jpeg"); existingUser.get().setFullName("Stéphane Traumat"); existingUser.get().setBiography("I am a developer"); existingUser.get().setWebsite("https://github.com/straumat"); diff --git a/backend/servers/explorer-web/src/main/java/org/royllo/explorer/web/controller/user/account/AccountSettings.java b/backend/servers/explorer-web/src/main/java/org/royllo/explorer/web/controller/user/account/AccountSettings.java index 115feba15..6db1a798b 100644 --- a/backend/servers/explorer-web/src/main/java/org/royllo/explorer/web/controller/user/account/AccountSettings.java +++ b/backend/servers/explorer-web/src/main/java/org/royllo/explorer/web/controller/user/account/AccountSettings.java @@ -61,7 +61,7 @@ public String displayAccountSettings(final Model model, logger.info("Displaying account settings for user {}: {}", connectedUser.get().getUsername(), connectedUser.get()); AccountSettingsForm accountSettingsForm = new AccountSettingsForm(); accountSettingsForm.setUsername(connectedUser.get().getUsername()); - accountSettingsForm.setProfilePictureFilename(connectedUser.get().getProfilePictureFilename()); + accountSettingsForm.setProfilePictureFilename(connectedUser.get().getProfilePictureFileName()); accountSettingsForm.setFullName(connectedUser.get().getFullName()); accountSettingsForm.setBiography(connectedUser.get().getBiography()); accountSettingsForm.setWebsite(connectedUser.get().getWebsite()); @@ -120,7 +120,7 @@ public String updateAccountSettings(final Model model, if (FileType.getTypeByExtension(extension) == IMAGE) { String filename = connectedUser.get().getUserId() + extension; contentService.storeFile(form.getProfilePicture().getBytes(), filename); - connectedUser.get().setProfilePictureFilename(filename); + connectedUser.get().setProfilePictureFileName(filename); form.setProfilePictureFilename(filename); } // TODO Create an error if the type is not an image. diff --git a/backend/servers/explorer-web/src/main/resources/templates/user/page/home.html b/backend/servers/explorer-web/src/main/resources/templates/user/page/home.html index 02a2b5efd..45aec6856 100644 --- a/backend/servers/explorer-web/src/main/resources/templates/user/page/home.html +++ b/backend/servers/explorer-web/src/main/resources/templates/user/page/home.html @@ -15,9 +15,9 @@
-
+
- +
diff --git a/backend/servers/explorer-web/src/test/java/org/royllo/explorer/web/test/controllers/user/AccountSettingsTest.java b/backend/servers/explorer-web/src/test/java/org/royllo/explorer/web/test/controllers/user/AccountSettingsTest.java index 95be0b9c9..9c9e62d88 100644 --- a/backend/servers/explorer-web/src/test/java/org/royllo/explorer/web/test/controllers/user/AccountSettingsTest.java +++ b/backend/servers/explorer-web/src/test/java/org/royllo/explorer/web/test/controllers/user/AccountSettingsTest.java @@ -119,7 +119,7 @@ void accountSettingsSaved() throws Exception { Optional existingUser = userService.getUserByUsername("straumat"); assertTrue(existingUser.isPresent()); assertEquals("straumat", existingUser.get().getUsername()); - assertEquals("22222222-2222-2222-2222-222222222222.jpeg", existingUser.get().getProfilePictureFilename()); + assertEquals("22222222-2222-2222-2222-222222222222.jpeg", existingUser.get().getProfilePictureFileName()); assertEquals("Stéphane Traumat", existingUser.get().getFullName()); assertEquals("I am a developer", existingUser.get().getBiography()); assertEquals("https://github.com/straumat", existingUser.get().getWebsite()); @@ -150,7 +150,7 @@ void accountSettingsSaved() throws Exception { // We check the updated values. Optional userUpdated = userService.getUserByUserId("22222222-2222-2222-2222-222222222222"); assertTrue(userUpdated.isPresent()); - assertEquals("22222222-2222-2222-2222-222222222222.jpg", userUpdated.get().getProfilePictureFilename()); + assertEquals("22222222-2222-2222-2222-222222222222.jpg", userUpdated.get().getProfilePictureFileName()); assertEquals("pdupont", userUpdated.get().getUsername()); assertEquals("Paul Dupont", userUpdated.get().getFullName()); assertEquals("I'm an architect", userUpdated.get().getBiography());