From 7b791f03be5d042221c2f5ecc2dbcd465e173422 Mon Sep 17 00:00:00 2001 From: Mahmoud Gaber Date: Sat, 27 Apr 2024 16:37:59 +0300 Subject: [PATCH 01/12] feat: Add freelancer skills CRUD --- .../commands/AddFreelancerSkillCommand.java | 25 +++++++++++++++++++ .../commands/GetFreelancerSkillsCommand.java | 23 +++++++++++++++++ .../RemoveFreelancerSkillCommand.java | 21 ++++++++++++++++ .../requests/AddFreelancerSkillRequest.java | 14 +++++++++++ .../requests/GetFreelancerSkillsRequest.java | 13 ++++++++++ .../RemoveFreelancerSkillRequest.java | 14 +++++++++++ .../responses/AddFreelancerSkillResponse.java | 14 +++++++++++ .../GetFreelancerSkillsResponse.java | 15 +++++++++++ .../RemoveFreelancerSkillResponse.java | 12 +++++++++ 9 files changed, 151 insertions(+) create mode 100644 services/users/src/main/java/com/workup/users/commands/AddFreelancerSkillCommand.java create mode 100644 services/users/src/main/java/com/workup/users/commands/GetFreelancerSkillsCommand.java create mode 100644 services/users/src/main/java/com/workup/users/commands/RemoveFreelancerSkillCommand.java create mode 100644 shared/src/main/java/com/workup/shared/commands/users/requests/AddFreelancerSkillRequest.java create mode 100644 shared/src/main/java/com/workup/shared/commands/users/requests/GetFreelancerSkillsRequest.java create mode 100644 shared/src/main/java/com/workup/shared/commands/users/requests/RemoveFreelancerSkillRequest.java create mode 100644 shared/src/main/java/com/workup/shared/commands/users/responses/AddFreelancerSkillResponse.java create mode 100644 shared/src/main/java/com/workup/shared/commands/users/responses/GetFreelancerSkillsResponse.java create mode 100644 shared/src/main/java/com/workup/shared/commands/users/responses/RemoveFreelancerSkillResponse.java diff --git a/services/users/src/main/java/com/workup/users/commands/AddFreelancerSkillCommand.java b/services/users/src/main/java/com/workup/users/commands/AddFreelancerSkillCommand.java new file mode 100644 index 00000000..5ebd0714 --- /dev/null +++ b/services/users/src/main/java/com/workup/users/commands/AddFreelancerSkillCommand.java @@ -0,0 +1,25 @@ +package com.workup.users.commands; + +import com.workup.shared.commands.users.requests.AddFreelancerSkillRequest; +import com.workup.shared.commands.users.responses.AddFreelancerSkillResponse; +import com.workup.users.db.Freelancer; + +import java.util.List; +import java.util.Optional; + +public class AddFreelancerSkillCommand extends UserCommand { + + @Override + public AddFreelancerSkillResponse Run(AddFreelancerSkillRequest request) { + Optional freelancerOptional = freelancerRepository.findById(request.getUser_id()); + if (freelancerOptional.isEmpty()) + return AddFreelancerSkillResponse.builder().withSuccess(false).build(); + String newSkill = request.getNewSkill(); + Freelancer freelancer = freelancerOptional.get(); + List skills = freelancer.getSkills(); + if(!skills.contains(newSkill)) + skills.add(newSkill); + freelancerRepository.save(freelancer); + return AddFreelancerSkillResponse.builder().withSuccess(true).build(); + } +} diff --git a/services/users/src/main/java/com/workup/users/commands/GetFreelancerSkillsCommand.java b/services/users/src/main/java/com/workup/users/commands/GetFreelancerSkillsCommand.java new file mode 100644 index 00000000..d6c02c90 --- /dev/null +++ b/services/users/src/main/java/com/workup/users/commands/GetFreelancerSkillsCommand.java @@ -0,0 +1,23 @@ +package com.workup.users.commands; + +import com.workup.shared.commands.users.requests.GetFreelancerSkillsRequest; +import com.workup.shared.commands.users.responses.GetFreelancerSkillsResponse; +import com.workup.users.db.Freelancer; +import org.springframework.http.ResponseEntity; + +import java.util.List; +import java.util.Optional; + +public class GetFreelancerSkillsCommand extends UserCommand{ + + + @Override + public GetFreelancerSkillsResponse Run(GetFreelancerSkillsRequest request) { + Optional freelancerOptional = freelancerRepository.findById(request.getUser_id()); + if (freelancerOptional.isEmpty()) + return GetFreelancerSkillsResponse.builder().withSuccess(false).build(); + Freelancer freelancer = freelancerOptional.get(); + List skills = freelancer.getSkills(); + return GetFreelancerSkillsResponse.builder().withSuccess(true).withSkills(skills).build(); + } +} diff --git a/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerSkillCommand.java b/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerSkillCommand.java new file mode 100644 index 00000000..bf4bc801 --- /dev/null +++ b/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerSkillCommand.java @@ -0,0 +1,21 @@ +package com.workup.users.commands; + +import com.workup.shared.commands.users.requests.RemoveFreelancerSkillRequest; +import com.workup.shared.commands.users.responses.RemoveFreelancerSkillResponse; +import com.workup.users.db.Freelancer; +import org.springframework.http.ResponseEntity; + +import java.util.Optional; + +public class RemoveFreelancerSkillCommand extends UserCommand { + @Override + public RemoveFreelancerSkillResponse Run(RemoveFreelancerSkillRequest request) { + Optional freelancerOptional = freelancerRepository.findById(request.getUser_id()); + if (freelancerOptional.isEmpty()) + return RemoveFreelancerSkillResponse.builder().withSuccess(false).build(); + Freelancer freelancer = freelancerOptional.get(); + freelancer.getSkills().remove(request.getSkillToRemove()); + freelancerRepository.save(freelancer); + return RemoveFreelancerSkillResponse.builder().withSuccess(false).build(); + } +} diff --git a/shared/src/main/java/com/workup/shared/commands/users/requests/AddFreelancerSkillRequest.java b/shared/src/main/java/com/workup/shared/commands/users/requests/AddFreelancerSkillRequest.java new file mode 100644 index 00000000..16294db9 --- /dev/null +++ b/shared/src/main/java/com/workup/shared/commands/users/requests/AddFreelancerSkillRequest.java @@ -0,0 +1,14 @@ +package com.workup.shared.commands.users.requests; + +import com.workup.shared.commands.CommandRequest; +import lombok.Getter; +import lombok.experimental.SuperBuilder; +import lombok.extern.jackson.Jacksonized; + +@Getter +@SuperBuilder(setterPrefix = "with") +@Jacksonized +public class AddFreelancerSkillRequest extends CommandRequest { + String user_id; + String newSkill; +} diff --git a/shared/src/main/java/com/workup/shared/commands/users/requests/GetFreelancerSkillsRequest.java b/shared/src/main/java/com/workup/shared/commands/users/requests/GetFreelancerSkillsRequest.java new file mode 100644 index 00000000..7588e975 --- /dev/null +++ b/shared/src/main/java/com/workup/shared/commands/users/requests/GetFreelancerSkillsRequest.java @@ -0,0 +1,13 @@ +package com.workup.shared.commands.users.requests; + +import com.workup.shared.commands.CommandRequest; +import lombok.Getter; +import lombok.experimental.SuperBuilder; +import lombok.extern.jackson.Jacksonized; + +@Getter +@SuperBuilder(setterPrefix = "with") +@Jacksonized +public class GetFreelancerSkillsRequest extends CommandRequest { + String user_id; +} diff --git a/shared/src/main/java/com/workup/shared/commands/users/requests/RemoveFreelancerSkillRequest.java b/shared/src/main/java/com/workup/shared/commands/users/requests/RemoveFreelancerSkillRequest.java new file mode 100644 index 00000000..5b43a9bf --- /dev/null +++ b/shared/src/main/java/com/workup/shared/commands/users/requests/RemoveFreelancerSkillRequest.java @@ -0,0 +1,14 @@ +package com.workup.shared.commands.users.requests; + +import com.workup.shared.commands.CommandRequest; +import lombok.Getter; +import lombok.experimental.SuperBuilder; +import lombok.extern.jackson.Jacksonized; + +@Getter +@SuperBuilder(setterPrefix = "with") +@Jacksonized +public class RemoveFreelancerSkillRequest extends CommandRequest { + String user_id; + String skillToRemove; +} diff --git a/shared/src/main/java/com/workup/shared/commands/users/responses/AddFreelancerSkillResponse.java b/shared/src/main/java/com/workup/shared/commands/users/responses/AddFreelancerSkillResponse.java new file mode 100644 index 00000000..1569b9e0 --- /dev/null +++ b/shared/src/main/java/com/workup/shared/commands/users/responses/AddFreelancerSkillResponse.java @@ -0,0 +1,14 @@ +package com.workup.shared.commands.users.responses; + +import com.workup.shared.commands.CommandResponse; +import lombok.Getter; +import lombok.experimental.SuperBuilder; +import lombok.extern.jackson.Jacksonized; + +@Getter +@SuperBuilder(setterPrefix = "with") +@Jacksonized + +public class AddFreelancerSkillResponse extends CommandResponse { + +} diff --git a/shared/src/main/java/com/workup/shared/commands/users/responses/GetFreelancerSkillsResponse.java b/shared/src/main/java/com/workup/shared/commands/users/responses/GetFreelancerSkillsResponse.java new file mode 100644 index 00000000..1f71dba7 --- /dev/null +++ b/shared/src/main/java/com/workup/shared/commands/users/responses/GetFreelancerSkillsResponse.java @@ -0,0 +1,15 @@ +package com.workup.shared.commands.users.responses; + +import com.workup.shared.commands.CommandResponse; +import lombok.Getter; +import lombok.experimental.SuperBuilder; +import lombok.extern.jackson.Jacksonized; + +import java.util.List; + +@Getter +@SuperBuilder(setterPrefix = "with") +@Jacksonized +public class GetFreelancerSkillsResponse extends CommandResponse { + List skills; +} diff --git a/shared/src/main/java/com/workup/shared/commands/users/responses/RemoveFreelancerSkillResponse.java b/shared/src/main/java/com/workup/shared/commands/users/responses/RemoveFreelancerSkillResponse.java new file mode 100644 index 00000000..00dd2c3e --- /dev/null +++ b/shared/src/main/java/com/workup/shared/commands/users/responses/RemoveFreelancerSkillResponse.java @@ -0,0 +1,12 @@ +package com.workup.shared.commands.users.responses; + +import com.workup.shared.commands.CommandResponse; +import lombok.Getter; +import lombok.experimental.SuperBuilder; +import lombok.extern.jackson.Jacksonized; + +@Getter +@SuperBuilder(setterPrefix = "with") +@Jacksonized +public class RemoveFreelancerSkillResponse extends CommandResponse { +} From bedd812a60acd3f61027e6b480ee70b6501c1b4a Mon Sep 17 00:00:00 2001 From: Mahmoud Gaber Date: Sat, 27 Apr 2024 16:53:20 +0300 Subject: [PATCH 02/12] feat: Add Freelancer language CRUD --- .../AddFreelancerLanguageCommand.java | 21 +++++++++++++++++++ .../GetFreelancerLanguagesCommand.java | 21 +++++++++++++++++++ .../RemoveFreelancerLanguageCommand.java | 21 +++++++++++++++++++ .../AddFreelancerLanguageRequest.java | 14 +++++++++++++ .../GetFreelancerLanguagesRequest.java | 13 ++++++++++++ .../RemoveFreelancerLanguageRequest.java | 14 +++++++++++++ .../AddFreelancerLanguageResponse.java | 12 +++++++++++ .../GetFreelancerLanguagesResponse.java | 15 +++++++++++++ .../RemoveFreelancerLanguageResponse.java | 12 +++++++++++ 9 files changed, 143 insertions(+) create mode 100644 services/users/src/main/java/com/workup/users/commands/AddFreelancerLanguageCommand.java create mode 100644 services/users/src/main/java/com/workup/users/commands/GetFreelancerLanguagesCommand.java create mode 100644 services/users/src/main/java/com/workup/users/commands/RemoveFreelancerLanguageCommand.java create mode 100644 shared/src/main/java/com/workup/shared/commands/users/requests/AddFreelancerLanguageRequest.java create mode 100644 shared/src/main/java/com/workup/shared/commands/users/requests/GetFreelancerLanguagesRequest.java create mode 100644 shared/src/main/java/com/workup/shared/commands/users/requests/RemoveFreelancerLanguageRequest.java create mode 100644 shared/src/main/java/com/workup/shared/commands/users/responses/AddFreelancerLanguageResponse.java create mode 100644 shared/src/main/java/com/workup/shared/commands/users/responses/GetFreelancerLanguagesResponse.java create mode 100644 shared/src/main/java/com/workup/shared/commands/users/responses/RemoveFreelancerLanguageResponse.java diff --git a/services/users/src/main/java/com/workup/users/commands/AddFreelancerLanguageCommand.java b/services/users/src/main/java/com/workup/users/commands/AddFreelancerLanguageCommand.java new file mode 100644 index 00000000..82e09cbf --- /dev/null +++ b/services/users/src/main/java/com/workup/users/commands/AddFreelancerLanguageCommand.java @@ -0,0 +1,21 @@ +package com.workup.users.commands; + +import com.workup.shared.commands.users.requests.AddFreelancerLanguageRequest; +import com.workup.shared.commands.users.responses.AddFreelancerLanguageResponse; +import com.workup.users.db.Freelancer; + +import java.util.Optional; + +public class AddFreelancerLanguageCommand extends UserCommand{ + + @Override + public AddFreelancerLanguageResponse Run(AddFreelancerLanguageRequest request) { + Optional freelancerOptional = freelancerRepository.findById(request.getUser_id()); + if (freelancerOptional.isEmpty()) + return AddFreelancerLanguageResponse.builder().withSuccess(false).build(); + Freelancer freelancer = freelancerOptional.get(); + freelancer.getLanguages().add(request.getNewLanguage()); + freelancerRepository.save(freelancer); + return AddFreelancerLanguageResponse.builder().withSuccess(true).build(); + } +} \ No newline at end of file diff --git a/services/users/src/main/java/com/workup/users/commands/GetFreelancerLanguagesCommand.java b/services/users/src/main/java/com/workup/users/commands/GetFreelancerLanguagesCommand.java new file mode 100644 index 00000000..8e590eb6 --- /dev/null +++ b/services/users/src/main/java/com/workup/users/commands/GetFreelancerLanguagesCommand.java @@ -0,0 +1,21 @@ +package com.workup.users.commands; + +import com.workup.shared.commands.users.requests.GetFreelancerLanguagesRequest; +import com.workup.shared.commands.users.responses.GetFreelancerLanguagesResponse; +import com.workup.users.db.Freelancer; +import org.springframework.http.ResponseEntity; + +import java.util.List; +import java.util.Optional; + +public class GetFreelancerLanguagesCommand extends UserCommand { + @Override + public GetFreelancerLanguagesResponse Run(GetFreelancerLanguagesRequest request) { + Optional freelancerOptional = freelancerRepository.findById(request.getUser_id()); + if (freelancerOptional.isEmpty()) + return GetFreelancerLanguagesResponse.builder().withSuccess(false).build(); + Freelancer freelancer = freelancerOptional.get(); + List languages = freelancer.getLanguages(); + return GetFreelancerLanguagesResponse.builder().withSuccess(true).withLanguages(languages).build(); + } +} diff --git a/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerLanguageCommand.java b/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerLanguageCommand.java new file mode 100644 index 00000000..c1530c8c --- /dev/null +++ b/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerLanguageCommand.java @@ -0,0 +1,21 @@ +package com.workup.users.commands; + +import com.workup.shared.commands.users.requests.RemoveFreelancerLanguageRequest; +import com.workup.shared.commands.users.responses.RemoveFreelancerLanguageResponse; +import com.workup.users.db.Freelancer; +import org.springframework.http.ResponseEntity; + +import java.util.Optional; + +public class RemoveFreelancerLanguageCommand extends UserCommand { + @Override + public RemoveFreelancerLanguageResponse Run(RemoveFreelancerLanguageRequest request) { + Optional freelancerOptional = freelancerRepository.findById(request.getUser_id()); + if (freelancerOptional.isEmpty()) + return RemoveFreelancerLanguageResponse.builder().withSuccess(false).build(); + Freelancer freelancer = freelancerOptional.get(); + freelancer.getLanguages().remove(request.getLanguageToRemove()); + freelancerRepository.save(freelancer); + return RemoveFreelancerLanguageResponse.builder().withSuccess(true).build(); + } +} diff --git a/shared/src/main/java/com/workup/shared/commands/users/requests/AddFreelancerLanguageRequest.java b/shared/src/main/java/com/workup/shared/commands/users/requests/AddFreelancerLanguageRequest.java new file mode 100644 index 00000000..d28f2ecf --- /dev/null +++ b/shared/src/main/java/com/workup/shared/commands/users/requests/AddFreelancerLanguageRequest.java @@ -0,0 +1,14 @@ +package com.workup.shared.commands.users.requests; + +import com.workup.shared.commands.CommandRequest; +import lombok.Getter; +import lombok.experimental.SuperBuilder; +import lombok.extern.jackson.Jacksonized; + +@Getter +@SuperBuilder(setterPrefix = "with") +@Jacksonized +public class AddFreelancerLanguageRequest extends CommandRequest { + String user_id; + String newLanguage; +} diff --git a/shared/src/main/java/com/workup/shared/commands/users/requests/GetFreelancerLanguagesRequest.java b/shared/src/main/java/com/workup/shared/commands/users/requests/GetFreelancerLanguagesRequest.java new file mode 100644 index 00000000..b11519d5 --- /dev/null +++ b/shared/src/main/java/com/workup/shared/commands/users/requests/GetFreelancerLanguagesRequest.java @@ -0,0 +1,13 @@ +package com.workup.shared.commands.users.requests; + +import com.workup.shared.commands.CommandRequest; +import lombok.Getter; +import lombok.experimental.SuperBuilder; +import lombok.extern.jackson.Jacksonized; + +@Getter +@SuperBuilder(setterPrefix = "with") +@Jacksonized +public class GetFreelancerLanguagesRequest extends CommandRequest { + String user_id; +} diff --git a/shared/src/main/java/com/workup/shared/commands/users/requests/RemoveFreelancerLanguageRequest.java b/shared/src/main/java/com/workup/shared/commands/users/requests/RemoveFreelancerLanguageRequest.java new file mode 100644 index 00000000..ba864a51 --- /dev/null +++ b/shared/src/main/java/com/workup/shared/commands/users/requests/RemoveFreelancerLanguageRequest.java @@ -0,0 +1,14 @@ +package com.workup.shared.commands.users.requests; + +import com.workup.shared.commands.CommandRequest; +import lombok.Getter; +import lombok.experimental.SuperBuilder; +import lombok.extern.jackson.Jacksonized; + +@Getter +@SuperBuilder(setterPrefix = "with") +@Jacksonized +public class RemoveFreelancerLanguageRequest extends CommandRequest { + private String user_id; + private String languageToRemove; +} diff --git a/shared/src/main/java/com/workup/shared/commands/users/responses/AddFreelancerLanguageResponse.java b/shared/src/main/java/com/workup/shared/commands/users/responses/AddFreelancerLanguageResponse.java new file mode 100644 index 00000000..93805fdb --- /dev/null +++ b/shared/src/main/java/com/workup/shared/commands/users/responses/AddFreelancerLanguageResponse.java @@ -0,0 +1,12 @@ +package com.workup.shared.commands.users.responses; + +import com.workup.shared.commands.CommandResponse; +import lombok.Getter; +import lombok.experimental.SuperBuilder; +import lombok.extern.jackson.Jacksonized; + +@Getter +@SuperBuilder(setterPrefix = "with") +@Jacksonized +public class AddFreelancerLanguageResponse extends CommandResponse { +} diff --git a/shared/src/main/java/com/workup/shared/commands/users/responses/GetFreelancerLanguagesResponse.java b/shared/src/main/java/com/workup/shared/commands/users/responses/GetFreelancerLanguagesResponse.java new file mode 100644 index 00000000..14cad019 --- /dev/null +++ b/shared/src/main/java/com/workup/shared/commands/users/responses/GetFreelancerLanguagesResponse.java @@ -0,0 +1,15 @@ +package com.workup.shared.commands.users.responses; + +import com.workup.shared.commands.CommandResponse; +import lombok.Getter; +import lombok.experimental.SuperBuilder; +import lombok.extern.jackson.Jacksonized; + +import java.util.List; + +@Getter +@SuperBuilder(setterPrefix = "with") +@Jacksonized +public class GetFreelancerLanguagesResponse extends CommandResponse { + List languages; +} diff --git a/shared/src/main/java/com/workup/shared/commands/users/responses/RemoveFreelancerLanguageResponse.java b/shared/src/main/java/com/workup/shared/commands/users/responses/RemoveFreelancerLanguageResponse.java new file mode 100644 index 00000000..edb2b51a --- /dev/null +++ b/shared/src/main/java/com/workup/shared/commands/users/responses/RemoveFreelancerLanguageResponse.java @@ -0,0 +1,12 @@ +package com.workup.shared.commands.users.responses; + +import com.workup.shared.commands.CommandResponse; +import lombok.Getter; +import lombok.experimental.SuperBuilder; +import lombok.extern.jackson.Jacksonized; + +@Getter +@SuperBuilder(setterPrefix = "with") +@Jacksonized +public class RemoveFreelancerLanguageResponse extends CommandResponse { +} From d3b1ccabde8da747b1c82b1f8c966213aa250fa7 Mon Sep 17 00:00:00 2001 From: Mahmoud Gaber Date: Sat, 27 Apr 2024 22:31:05 +0300 Subject: [PATCH 03/12] feat: Add freelancer education CRUD --- .../AddFreelancerEducationCommand.java | 26 ++++++++++++++ .../GetFreelancerEducationsCommand.java | 21 +++++++++++ .../RemoveFreelancerEducationCommand.java | 34 ++++++++++++++++++ .../UpdateFreelancerEducationCommand.java | 35 +++++++++++++++++++ .../AddFreelancerEducationRequest.java | 15 ++++++++ .../GetFreelancerEducationsRequest.java | 13 +++++++ .../RemoveFreelancerEducationRequest.java | 14 ++++++++ .../UpdateFreelancerEducationRequest.java | 16 +++++++++ .../AddFreelancerEducationResponse.java | 14 ++++++++ .../GetFreelancerEducationsResponse.java | 14 ++++++++ .../RemoveFreelancerEducationResponse.java | 14 ++++++++ .../UpdateFreelancerEducationResponse.java | 14 ++++++++ 12 files changed, 230 insertions(+) create mode 100644 services/users/src/main/java/com/workup/users/commands/AddFreelancerEducationCommand.java create mode 100644 services/users/src/main/java/com/workup/users/commands/GetFreelancerEducationsCommand.java create mode 100644 services/users/src/main/java/com/workup/users/commands/RemoveFreelancerEducationCommand.java create mode 100644 services/users/src/main/java/com/workup/users/commands/UpdateFreelancerEducationCommand.java create mode 100644 services/users/src/main/java/com/workup/users/commands/requests/AddFreelancerEducationRequest.java create mode 100644 services/users/src/main/java/com/workup/users/commands/requests/GetFreelancerEducationsRequest.java create mode 100644 services/users/src/main/java/com/workup/users/commands/requests/RemoveFreelancerEducationRequest.java create mode 100644 services/users/src/main/java/com/workup/users/commands/requests/UpdateFreelancerEducationRequest.java create mode 100644 services/users/src/main/java/com/workup/users/commands/responses/AddFreelancerEducationResponse.java create mode 100644 services/users/src/main/java/com/workup/users/commands/responses/GetFreelancerEducationsResponse.java create mode 100644 services/users/src/main/java/com/workup/users/commands/responses/RemoveFreelancerEducationResponse.java create mode 100644 services/users/src/main/java/com/workup/users/commands/responses/UpdateFreelancerEducationResponse.java diff --git a/services/users/src/main/java/com/workup/users/commands/AddFreelancerEducationCommand.java b/services/users/src/main/java/com/workup/users/commands/AddFreelancerEducationCommand.java new file mode 100644 index 00000000..f4890e3c --- /dev/null +++ b/services/users/src/main/java/com/workup/users/commands/AddFreelancerEducationCommand.java @@ -0,0 +1,26 @@ +package com.workup.users.commands; + +import com.workup.shared.commands.users.responses.AddFreelancerEducationResponse; +import com.workup.users.commands.requests.AddFreelancerEducationRequest; +import com.workup.users.db.Education; +import com.workup.users.db.Freelancer; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; + +import java.util.Optional; + +public class AddFreelancerEducationCommand extends UserCommand { + + @Override + public AddFreelancerEducationResponse Run(AddFreelancerEducationRequest request) { + Optional freelancerOptional = freelancerRepository.findById(request.getFreelancer_id()); + if (freelancerOptional.isEmpty()) + return AddFreelancerEducationResponse.builder().withSuccess(false).build(); + Freelancer freelancer = freelancerOptional.get(); + Education newEducation = educationRepository.save(request.getNewEducation()); + freelancer.getEducations().add(newEducation); + freelancerRepository.save(freelancer); + return AddFreelancerEducationResponse.builder().withSuccess(true).withFreelancer(freelancer).build(); + } + +} diff --git a/services/users/src/main/java/com/workup/users/commands/GetFreelancerEducationsCommand.java b/services/users/src/main/java/com/workup/users/commands/GetFreelancerEducationsCommand.java new file mode 100644 index 00000000..2267772b --- /dev/null +++ b/services/users/src/main/java/com/workup/users/commands/GetFreelancerEducationsCommand.java @@ -0,0 +1,21 @@ +package com.workup.users.commands; + +import com.workup.users.commands.requests.GetFreelancerEducationsRequest; +import com.workup.users.commands.responses.GetFreelancerEducationsResponse; +import com.workup.users.db.Education; +import com.workup.users.db.Freelancer; + +import java.util.List; +import java.util.Optional; + +public class GetFreelancerEducationsCommand extends UserCommand { + @Override + public GetFreelancerEducationsResponse Run(GetFreelancerEducationsRequest request) { + Optional freelancerOptional = freelancerRepository.findById(request.getUser_id()); + if (freelancerOptional.isEmpty()) + return GetFreelancerEducationsResponse.builder().withSuccess(false).build(); + Freelancer freelancer = freelancerOptional.get(); + List educations = freelancer.getEducations(); + return GetFreelancerEducationsResponse.builder().withSuccess(true).withEducations(educations).build(); + } +} diff --git a/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerEducationCommand.java b/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerEducationCommand.java new file mode 100644 index 00000000..18ca7abb --- /dev/null +++ b/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerEducationCommand.java @@ -0,0 +1,34 @@ +package com.workup.users.commands; + +import com.workup.users.commands.requests.RemoveFreelancerEducationRequest; +import com.workup.users.commands.responses.RemoveFreelancerEducationResponse; +import com.workup.users.db.Education; +import com.workup.users.db.Freelancer; +import org.springframework.http.ResponseEntity; + +import java.util.Optional; + +public class RemoveFreelancerEducationCommand extends UserCommand { + + @Override + public RemoveFreelancerEducationResponse Run(RemoveFreelancerEducationRequest request) { + Optional freelancerOptional = freelancerRepository.findById(request.getFreelancer_id()); + if (freelancerOptional.isEmpty()) + return RemoveFreelancerEducationResponse.builder().withSuccess(false).build(); + Freelancer freelancer = freelancerOptional.get(); + freelancer.getEducations().removeIf(education -> education.getId().toString().equals(request.getEducation_id())); + deleteEducation(request.getEducation_id()); + freelancerRepository.save(freelancer); + return RemoveFreelancerEducationResponse.builder().withSuccess(true).withFreelancer(freelancer).build(); + } + + void deleteEducation(String id) { + Optional educationOptional = educationRepository.findById(id); + if (educationOptional.isEmpty()) { + ResponseEntity.notFound().build(); + return; + } + educationRepository.delete(educationOptional.get()); + ResponseEntity.noContent().build(); + } +} diff --git a/services/users/src/main/java/com/workup/users/commands/UpdateFreelancerEducationCommand.java b/services/users/src/main/java/com/workup/users/commands/UpdateFreelancerEducationCommand.java new file mode 100644 index 00000000..216bc8e9 --- /dev/null +++ b/services/users/src/main/java/com/workup/users/commands/UpdateFreelancerEducationCommand.java @@ -0,0 +1,35 @@ +package com.workup.users.commands; + +import com.workup.users.commands.requests.UpdateFreelancerEducationRequest; +import com.workup.users.commands.responses.UpdateFreelancerEducationResponse; +import com.workup.users.db.Education; +import com.workup.users.db.Freelancer; +import org.springframework.beans.BeanUtils; +import org.springframework.http.ResponseEntity; + +import java.util.Optional; + +public class UpdateFreelancerEducationCommand extends UserCommand { + + @Override + public UpdateFreelancerEducationResponse Run(UpdateFreelancerEducationRequest request) { + Optional freelancerOptional = freelancerRepository.findById(request.getFreelancer_id()); + if (freelancerOptional.isEmpty()) + return UpdateFreelancerEducationResponse.builder().withSuccess(false).build(); + Freelancer freelancer = freelancerOptional.get(); + updateEducation(request.getEducation_id(), request.getUpdatedEducation()); + return UpdateFreelancerEducationResponse.builder().withSuccess(true).withFreelancer(freelancer).build(); + } + + void updateEducation(String id, Education updatedEducation) { + Optional educationOptional = educationRepository.findById(id); + if (educationOptional.isEmpty()) { + ResponseEntity.notFound().build(); + return; + } + Education existingEducation = educationOptional.get(); + BeanUtils.copyProperties(updatedEducation, existingEducation, "id"); + educationRepository.save(existingEducation); + ResponseEntity.ok(existingEducation); + } +} diff --git a/services/users/src/main/java/com/workup/users/commands/requests/AddFreelancerEducationRequest.java b/services/users/src/main/java/com/workup/users/commands/requests/AddFreelancerEducationRequest.java new file mode 100644 index 00000000..169d4eda --- /dev/null +++ b/services/users/src/main/java/com/workup/users/commands/requests/AddFreelancerEducationRequest.java @@ -0,0 +1,15 @@ +package com.workup.users.commands.requests; + +import com.workup.shared.commands.CommandRequest; +import com.workup.users.db.Education; +import lombok.Getter; +import lombok.experimental.SuperBuilder; +import lombok.extern.jackson.Jacksonized; + +@Getter +@SuperBuilder(setterPrefix = "with") +@Jacksonized +public class AddFreelancerEducationRequest extends CommandRequest { + String freelancer_id; + Education newEducation; +} diff --git a/services/users/src/main/java/com/workup/users/commands/requests/GetFreelancerEducationsRequest.java b/services/users/src/main/java/com/workup/users/commands/requests/GetFreelancerEducationsRequest.java new file mode 100644 index 00000000..385c3d70 --- /dev/null +++ b/services/users/src/main/java/com/workup/users/commands/requests/GetFreelancerEducationsRequest.java @@ -0,0 +1,13 @@ +package com.workup.users.commands.requests; + +import com.workup.shared.commands.CommandRequest; +import lombok.Getter; +import lombok.experimental.SuperBuilder; +import lombok.extern.jackson.Jacksonized; + +@Getter +@SuperBuilder(setterPrefix = "with") +@Jacksonized +public class GetFreelancerEducationsRequest extends CommandRequest { + private String user_id; +} diff --git a/services/users/src/main/java/com/workup/users/commands/requests/RemoveFreelancerEducationRequest.java b/services/users/src/main/java/com/workup/users/commands/requests/RemoveFreelancerEducationRequest.java new file mode 100644 index 00000000..035ea8c6 --- /dev/null +++ b/services/users/src/main/java/com/workup/users/commands/requests/RemoveFreelancerEducationRequest.java @@ -0,0 +1,14 @@ +package com.workup.users.commands.requests; + +import com.workup.shared.commands.CommandRequest; +import lombok.Getter; +import lombok.experimental.SuperBuilder; +import lombok.extern.jackson.Jacksonized; + +@Getter +@SuperBuilder(setterPrefix = "with") +@Jacksonized +public class RemoveFreelancerEducationRequest extends CommandRequest { + String freelancer_id; + String education_id; +} diff --git a/services/users/src/main/java/com/workup/users/commands/requests/UpdateFreelancerEducationRequest.java b/services/users/src/main/java/com/workup/users/commands/requests/UpdateFreelancerEducationRequest.java new file mode 100644 index 00000000..0de8d9df --- /dev/null +++ b/services/users/src/main/java/com/workup/users/commands/requests/UpdateFreelancerEducationRequest.java @@ -0,0 +1,16 @@ +package com.workup.users.commands.requests; + +import com.workup.shared.commands.CommandRequest; +import com.workup.users.db.Education; +import lombok.Getter; +import lombok.experimental.SuperBuilder; +import lombok.extern.jackson.Jacksonized; + +@Getter +@SuperBuilder(setterPrefix = "with") +@Jacksonized +public class UpdateFreelancerEducationRequest extends CommandRequest { + String freelancer_id; + String education_id; + Education updatedEducation; +} diff --git a/services/users/src/main/java/com/workup/users/commands/responses/AddFreelancerEducationResponse.java b/services/users/src/main/java/com/workup/users/commands/responses/AddFreelancerEducationResponse.java new file mode 100644 index 00000000..995f1b06 --- /dev/null +++ b/services/users/src/main/java/com/workup/users/commands/responses/AddFreelancerEducationResponse.java @@ -0,0 +1,14 @@ +package com.workup.shared.commands.users.responses; + +import com.workup.shared.commands.CommandResponse; +import com.workup.users.db.Freelancer; +import lombok.Getter; +import lombok.experimental.SuperBuilder; +import lombok.extern.jackson.Jacksonized; + +@Getter +@SuperBuilder(setterPrefix = "with") +@Jacksonized +public class AddFreelancerEducationResponse extends CommandResponse { + Freelancer freelancer; +} diff --git a/services/users/src/main/java/com/workup/users/commands/responses/GetFreelancerEducationsResponse.java b/services/users/src/main/java/com/workup/users/commands/responses/GetFreelancerEducationsResponse.java new file mode 100644 index 00000000..d6415931 --- /dev/null +++ b/services/users/src/main/java/com/workup/users/commands/responses/GetFreelancerEducationsResponse.java @@ -0,0 +1,14 @@ +package com.workup.users.commands.responses; +import com.workup.shared.commands.CommandResponse; +import com.workup.users.db.Education; +import lombok.Getter; +import lombok.experimental.SuperBuilder; +import lombok.extern.jackson.Jacksonized; +import java.util.List; + +@Getter +@SuperBuilder(setterPrefix = "with") +@Jacksonized +public class GetFreelancerEducationsResponse extends CommandResponse { + List educations; +} diff --git a/services/users/src/main/java/com/workup/users/commands/responses/RemoveFreelancerEducationResponse.java b/services/users/src/main/java/com/workup/users/commands/responses/RemoveFreelancerEducationResponse.java new file mode 100644 index 00000000..b9f30998 --- /dev/null +++ b/services/users/src/main/java/com/workup/users/commands/responses/RemoveFreelancerEducationResponse.java @@ -0,0 +1,14 @@ +package com.workup.users.commands.responses; + +import com.workup.shared.commands.CommandResponse; +import com.workup.users.db.Freelancer; +import lombok.Getter; +import lombok.experimental.SuperBuilder; +import lombok.extern.jackson.Jacksonized; + +@Getter +@SuperBuilder(setterPrefix = "with") +@Jacksonized +public class RemoveFreelancerEducationResponse extends CommandResponse { + Freelancer freelancer; +} diff --git a/services/users/src/main/java/com/workup/users/commands/responses/UpdateFreelancerEducationResponse.java b/services/users/src/main/java/com/workup/users/commands/responses/UpdateFreelancerEducationResponse.java new file mode 100644 index 00000000..fd8e41be --- /dev/null +++ b/services/users/src/main/java/com/workup/users/commands/responses/UpdateFreelancerEducationResponse.java @@ -0,0 +1,14 @@ +package com.workup.users.commands.responses; + +import com.workup.shared.commands.CommandResponse; +import com.workup.users.db.Freelancer; +import lombok.Getter; +import lombok.experimental.SuperBuilder; +import lombok.extern.jackson.Jacksonized; + +@Getter +@SuperBuilder(setterPrefix = "with") +@Jacksonized +public class UpdateFreelancerEducationResponse extends CommandResponse { + Freelancer freelancer; +} From b77b4b2d15afd9ba947ed2bbd5504ccf696c6669 Mon Sep 17 00:00:00 2001 From: Mahmoud Gaber Date: Sun, 28 Apr 2024 21:12:03 +0300 Subject: [PATCH 04/12] feat: Add freelancer experiences CRUD --- .../AddFreelancerExperienceCommand.java | 22 +++++++++++++ .../GetFreelancerExperiencesCommand.java | 22 +++++++++++++ .../RemoveFreelancerExperienceCommand.java | 33 +++++++++++++++++++ .../UpdateFreelancerExperienceCommand.java | 33 +++++++++++++++++++ .../AddFreelancerExperienceRequest.java | 15 +++++++++ .../GetFreelancerExperiencesRequest.java | 13 ++++++++ .../RemoveFreelancerExperienceRequest.java | 14 ++++++++ .../UpdateFreelancerExperienceRequest.java | 15 +++++++++ .../AddFreelancerExperienceResponse.java | 14 ++++++++ .../GetFreelancerExperiencesResponse.java | 16 +++++++++ .../RemoveFreelancerExperienceResponse.java | 14 ++++++++ .../UpdateFreelancerExperienceResponse.java | 14 ++++++++ 12 files changed, 225 insertions(+) create mode 100644 services/users/src/main/java/com/workup/users/commands/AddFreelancerExperienceCommand.java create mode 100644 services/users/src/main/java/com/workup/users/commands/GetFreelancerExperiencesCommand.java create mode 100644 services/users/src/main/java/com/workup/users/commands/RemoveFreelancerExperienceCommand.java create mode 100644 services/users/src/main/java/com/workup/users/commands/UpdateFreelancerExperienceCommand.java create mode 100644 services/users/src/main/java/com/workup/users/commands/requests/AddFreelancerExperienceRequest.java create mode 100644 services/users/src/main/java/com/workup/users/commands/requests/GetFreelancerExperiencesRequest.java create mode 100644 services/users/src/main/java/com/workup/users/commands/requests/RemoveFreelancerExperienceRequest.java create mode 100644 services/users/src/main/java/com/workup/users/commands/requests/UpdateFreelancerExperienceRequest.java create mode 100644 services/users/src/main/java/com/workup/users/commands/responses/AddFreelancerExperienceResponse.java create mode 100644 services/users/src/main/java/com/workup/users/commands/responses/GetFreelancerExperiencesResponse.java create mode 100644 services/users/src/main/java/com/workup/users/commands/responses/RemoveFreelancerExperienceResponse.java create mode 100644 services/users/src/main/java/com/workup/users/commands/responses/UpdateFreelancerExperienceResponse.java diff --git a/services/users/src/main/java/com/workup/users/commands/AddFreelancerExperienceCommand.java b/services/users/src/main/java/com/workup/users/commands/AddFreelancerExperienceCommand.java new file mode 100644 index 00000000..c7edff81 --- /dev/null +++ b/services/users/src/main/java/com/workup/users/commands/AddFreelancerExperienceCommand.java @@ -0,0 +1,22 @@ +package com.workup.users.commands; + +import com.workup.users.commands.requests.AddFreelancerExperienceRequest; +import com.workup.users.commands.responses.AddFreelancerExperienceResponse; +import com.workup.users.db.Experience; +import com.workup.users.db.Freelancer; + +import java.util.Optional; + +public class AddFreelancerExperienceCommand extends UserCommand { + @Override + public AddFreelancerExperienceResponse Run(AddFreelancerExperienceRequest request) { + Optional freelancerOptional = freelancerRepository.findById(request.getFreelancerId()); + if (freelancerOptional.isEmpty()) + return AddFreelancerExperienceResponse.builder().withSuccess(false).build(); + Freelancer freelancer = freelancerOptional.get(); + Experience newExperience = experienceRepository.save(request.getNewExperience()); + freelancer.getExperiences().add(newExperience); + freelancerRepository.save(freelancer); + return AddFreelancerExperienceResponse.builder().withSuccess(true).withFreelancer(freelancer).build(); + } +} diff --git a/services/users/src/main/java/com/workup/users/commands/GetFreelancerExperiencesCommand.java b/services/users/src/main/java/com/workup/users/commands/GetFreelancerExperiencesCommand.java new file mode 100644 index 00000000..6188cd3a --- /dev/null +++ b/services/users/src/main/java/com/workup/users/commands/GetFreelancerExperiencesCommand.java @@ -0,0 +1,22 @@ +package com.workup.users.commands; + +import com.workup.users.commands.requests.GetFreelancerExperiencesRequest; +import com.workup.users.commands.responses.GetFreelancerExperiencesResponse; +import com.workup.users.db.Experience; +import com.workup.users.db.Freelancer; + +import java.util.List; +import java.util.Optional; + +public class GetFreelancerExperiencesCommand extends UserCommand { + + @Override + public GetFreelancerExperiencesResponse Run(GetFreelancerExperiencesRequest request) { + Optional freelancerOptional = freelancerRepository.findById(request.getFreelancerId()); + if (freelancerOptional.isEmpty()) + return GetFreelancerExperiencesResponse.builder().withSuccess(false).build(); + Freelancer freelancer = freelancerOptional.get(); + List experiences = freelancer.getExperiences(); + return GetFreelancerExperiencesResponse.builder().withSuccess(true).withExperiences(experiences).build(); + } +} diff --git a/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerExperienceCommand.java b/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerExperienceCommand.java new file mode 100644 index 00000000..2c338a06 --- /dev/null +++ b/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerExperienceCommand.java @@ -0,0 +1,33 @@ +package com.workup.users.commands; + +import com.workup.users.commands.requests.RemoveFreelancerExperienceRequest; +import com.workup.users.commands.responses.RemoveFreelancerExperienceResponse; +import com.workup.users.db.Experience; +import com.workup.users.db.Freelancer; +import org.springframework.http.ResponseEntity; + +import java.util.Optional; + +public class RemoveFreelancerExperienceCommand extends UserCommand { + @Override + public RemoveFreelancerExperienceResponse Run(RemoveFreelancerExperienceRequest request) { + Optional freelancerOptional = freelancerRepository.findById(request.getFreelancer_id()); + if (freelancerOptional.isEmpty()) + return RemoveFreelancerExperienceResponse.builder().withSuccess(false).build(); + Freelancer freelancer = freelancerOptional.get(); + freelancer.getExperiences().removeIf(experience -> experience.getId().toString().equals(request.getExperience_id())); + deleteExperience(request.getExperience_id()); + freelancerRepository.save(freelancer); + return RemoveFreelancerExperienceResponse.builder().withSuccess(true).withFreelancer(freelancer).build(); + } + + public void deleteExperience(String id) { + Optional experienceOptional = experienceRepository.findById(id); + if (experienceOptional.isEmpty()) { + ResponseEntity.notFound().build(); + return; + } + experienceRepository.delete(experienceOptional.get()); + ResponseEntity.noContent().build(); + } +} diff --git a/services/users/src/main/java/com/workup/users/commands/UpdateFreelancerExperienceCommand.java b/services/users/src/main/java/com/workup/users/commands/UpdateFreelancerExperienceCommand.java new file mode 100644 index 00000000..ea881cf9 --- /dev/null +++ b/services/users/src/main/java/com/workup/users/commands/UpdateFreelancerExperienceCommand.java @@ -0,0 +1,33 @@ +package com.workup.users.commands; + +import com.workup.users.commands.UserCommand; +import com.workup.users.commands.requests.UpdateFreelancerExperienceRequest; +import com.workup.users.commands.responses.UpdateFreelancerExperienceResponse; +import com.workup.users.db.Experience; +import com.workup.users.db.Freelancer; +import org.springframework.beans.BeanUtils; +import org.springframework.http.ResponseEntity; + +import java.util.Optional; + +public class UpdateFreelancerExperienceCommand extends UserCommand { + @Override + public UpdateFreelancerExperienceResponse Run(UpdateFreelancerExperienceRequest request) { + Optional freelancerOptional = freelancerRepository.findById(request.getFreelancer_id()); + if (freelancerOptional.isEmpty()) + return UpdateFreelancerExperienceResponse.builder().withSuccess(false).build(); + Freelancer freelancer = freelancerOptional.get(); + updateExperience(request.getUpdatedExperience().getId().toString(), request.getUpdatedExperience()); + return UpdateFreelancerExperienceResponse.builder().withSuccess(true).withFreelancer(freelancer).build(); + } + + public ResponseEntity updateExperience(String id, Experience updatedExperience) { + Optional experienceOptional = experienceRepository.findById(id); + if (experienceOptional.isEmpty()) + return ResponseEntity.notFound().build(); + Experience existingExperience = experienceOptional.get(); + BeanUtils.copyProperties(updatedExperience, existingExperience, "id"); + experienceRepository.save(existingExperience); + return ResponseEntity.ok(existingExperience); + } +} diff --git a/services/users/src/main/java/com/workup/users/commands/requests/AddFreelancerExperienceRequest.java b/services/users/src/main/java/com/workup/users/commands/requests/AddFreelancerExperienceRequest.java new file mode 100644 index 00000000..f4aa2d7e --- /dev/null +++ b/services/users/src/main/java/com/workup/users/commands/requests/AddFreelancerExperienceRequest.java @@ -0,0 +1,15 @@ +package com.workup.users.commands.requests; + +import com.workup.shared.commands.CommandRequest; +import com.workup.users.db.Experience; +import lombok.Getter; +import lombok.experimental.SuperBuilder; +import lombok.extern.jackson.Jacksonized; + +@Getter +@SuperBuilder(setterPrefix = "with") +@Jacksonized +public class AddFreelancerExperienceRequest extends CommandRequest { + private String freelancerId; + private Experience newExperience; +} diff --git a/services/users/src/main/java/com/workup/users/commands/requests/GetFreelancerExperiencesRequest.java b/services/users/src/main/java/com/workup/users/commands/requests/GetFreelancerExperiencesRequest.java new file mode 100644 index 00000000..16ab007f --- /dev/null +++ b/services/users/src/main/java/com/workup/users/commands/requests/GetFreelancerExperiencesRequest.java @@ -0,0 +1,13 @@ +package com.workup.users.commands.requests; + +import com.workup.shared.commands.CommandRequest; +import lombok.Getter; +import lombok.experimental.SuperBuilder; +import lombok.extern.jackson.Jacksonized; + +@Getter +@SuperBuilder(setterPrefix = "with") +@Jacksonized +public class GetFreelancerExperiencesRequest extends CommandRequest { + private String freelancerId; +} diff --git a/services/users/src/main/java/com/workup/users/commands/requests/RemoveFreelancerExperienceRequest.java b/services/users/src/main/java/com/workup/users/commands/requests/RemoveFreelancerExperienceRequest.java new file mode 100644 index 00000000..282c1685 --- /dev/null +++ b/services/users/src/main/java/com/workup/users/commands/requests/RemoveFreelancerExperienceRequest.java @@ -0,0 +1,14 @@ +package com.workup.users.commands.requests; + +import com.workup.shared.commands.CommandRequest; +import lombok.Getter; +import lombok.experimental.SuperBuilder; +import lombok.extern.jackson.Jacksonized; + +@Getter +@SuperBuilder(setterPrefix = "with") +@Jacksonized +public class RemoveFreelancerExperienceRequest extends CommandRequest { + String freelancer_id; + String experience_id; +} diff --git a/services/users/src/main/java/com/workup/users/commands/requests/UpdateFreelancerExperienceRequest.java b/services/users/src/main/java/com/workup/users/commands/requests/UpdateFreelancerExperienceRequest.java new file mode 100644 index 00000000..b4ea37cb --- /dev/null +++ b/services/users/src/main/java/com/workup/users/commands/requests/UpdateFreelancerExperienceRequest.java @@ -0,0 +1,15 @@ +package com.workup.users.commands.requests; + +import com.workup.shared.commands.CommandRequest; +import com.workup.users.db.Experience; +import lombok.Getter; +import lombok.experimental.SuperBuilder; +import lombok.extern.jackson.Jacksonized; + +@Getter +@SuperBuilder(setterPrefix = "with") +@Jacksonized +public class UpdateFreelancerExperienceRequest extends CommandRequest { + String freelancer_id; + Experience updatedExperience; +} diff --git a/services/users/src/main/java/com/workup/users/commands/responses/AddFreelancerExperienceResponse.java b/services/users/src/main/java/com/workup/users/commands/responses/AddFreelancerExperienceResponse.java new file mode 100644 index 00000000..b043d96b --- /dev/null +++ b/services/users/src/main/java/com/workup/users/commands/responses/AddFreelancerExperienceResponse.java @@ -0,0 +1,14 @@ +package com.workup.users.commands.responses; + +import com.workup.shared.commands.CommandResponse; +import com.workup.users.db.Freelancer; +import lombok.Getter; +import lombok.experimental.SuperBuilder; +import lombok.extern.jackson.Jacksonized; + +@Getter +@SuperBuilder(setterPrefix = "with") +@Jacksonized +public class AddFreelancerExperienceResponse extends CommandResponse { + private Freelancer freelancer; +} diff --git a/services/users/src/main/java/com/workup/users/commands/responses/GetFreelancerExperiencesResponse.java b/services/users/src/main/java/com/workup/users/commands/responses/GetFreelancerExperiencesResponse.java new file mode 100644 index 00000000..bde46dba --- /dev/null +++ b/services/users/src/main/java/com/workup/users/commands/responses/GetFreelancerExperiencesResponse.java @@ -0,0 +1,16 @@ +package com.workup.users.commands.responses; + +import com.workup.shared.commands.CommandResponse; +import com.workup.users.db.Experience; +import lombok.Getter; +import lombok.experimental.SuperBuilder; +import lombok.extern.jackson.Jacksonized; + +import java.util.List; + +@Getter +@SuperBuilder(setterPrefix = "with") +@Jacksonized +public class GetFreelancerExperiencesResponse extends CommandResponse { + private List experiences; +} diff --git a/services/users/src/main/java/com/workup/users/commands/responses/RemoveFreelancerExperienceResponse.java b/services/users/src/main/java/com/workup/users/commands/responses/RemoveFreelancerExperienceResponse.java new file mode 100644 index 00000000..539d2024 --- /dev/null +++ b/services/users/src/main/java/com/workup/users/commands/responses/RemoveFreelancerExperienceResponse.java @@ -0,0 +1,14 @@ +package com.workup.users.commands.responses; + +import com.workup.shared.commands.CommandResponse; +import com.workup.users.db.Freelancer; +import lombok.Getter; +import lombok.experimental.SuperBuilder; +import lombok.extern.jackson.Jacksonized; + +@Getter +@SuperBuilder(setterPrefix = "with") +@Jacksonized +public class RemoveFreelancerExperienceResponse extends CommandResponse { + Freelancer freelancer; +} diff --git a/services/users/src/main/java/com/workup/users/commands/responses/UpdateFreelancerExperienceResponse.java b/services/users/src/main/java/com/workup/users/commands/responses/UpdateFreelancerExperienceResponse.java new file mode 100644 index 00000000..93477eac --- /dev/null +++ b/services/users/src/main/java/com/workup/users/commands/responses/UpdateFreelancerExperienceResponse.java @@ -0,0 +1,14 @@ +package com.workup.users.commands.responses; + +import com.workup.shared.commands.CommandResponse; +import com.workup.users.db.Freelancer; +import lombok.Getter; +import lombok.experimental.SuperBuilder; +import lombok.extern.jackson.Jacksonized; + +@Getter +@SuperBuilder(setterPrefix = "with") +@Jacksonized +public class UpdateFreelancerExperienceResponse extends CommandResponse { + Freelancer freelancer; +} From ba5a06bce869f9a1282e203cc3024ccd573194aa Mon Sep 17 00:00:00 2001 From: Mahmoud Gaber Date: Sun, 28 Apr 2024 21:28:30 +0300 Subject: [PATCH 05/12] feat: Add freelancer achievement CRUD --- .../AddFreelancerAchievementCommand.java | 20 +++++++++++ .../GetFreelancerAchievementsCommand.java | 21 +++++++++++ .../RemoveFreelancerAchievementCommand.java | 33 +++++++++++++++++ .../UpdateFreelancerAchievementCommand.java | 36 +++++++++++++++++++ .../AddFreelancerAchievementRequest.java | 15 ++++++++ .../GetFreelancerAchievementsRequest.java | 13 +++++++ .../RemoveFreelancerAchievementRequest.java | 14 ++++++++ .../UpdateFreelancerAchievementRequest.java | 15 ++++++++ .../AddFreelancerAchievementResponse.java | 14 ++++++++ .../GetFreelancerAchievementsResponse.java | 15 ++++++++ .../RemoveFreelancerAchievementResponse.java | 14 ++++++++ .../UpdateFreelancerAchievementResponse.java | 14 ++++++++ 12 files changed, 224 insertions(+) create mode 100644 services/users/src/main/java/com/workup/users/commands/AddFreelancerAchievementCommand.java create mode 100644 services/users/src/main/java/com/workup/users/commands/GetFreelancerAchievementsCommand.java create mode 100644 services/users/src/main/java/com/workup/users/commands/RemoveFreelancerAchievementCommand.java create mode 100644 services/users/src/main/java/com/workup/users/commands/UpdateFreelancerAchievementCommand.java create mode 100644 services/users/src/main/java/com/workup/users/commands/requests/AddFreelancerAchievementRequest.java create mode 100644 services/users/src/main/java/com/workup/users/commands/requests/GetFreelancerAchievementsRequest.java create mode 100644 services/users/src/main/java/com/workup/users/commands/requests/RemoveFreelancerAchievementRequest.java create mode 100644 services/users/src/main/java/com/workup/users/commands/requests/UpdateFreelancerAchievementRequest.java create mode 100644 services/users/src/main/java/com/workup/users/commands/responses/AddFreelancerAchievementResponse.java create mode 100644 services/users/src/main/java/com/workup/users/commands/responses/GetFreelancerAchievementsResponse.java create mode 100644 services/users/src/main/java/com/workup/users/commands/responses/RemoveFreelancerAchievementResponse.java create mode 100644 services/users/src/main/java/com/workup/users/commands/responses/UpdateFreelancerAchievementResponse.java diff --git a/services/users/src/main/java/com/workup/users/commands/AddFreelancerAchievementCommand.java b/services/users/src/main/java/com/workup/users/commands/AddFreelancerAchievementCommand.java new file mode 100644 index 00000000..203f740b --- /dev/null +++ b/services/users/src/main/java/com/workup/users/commands/AddFreelancerAchievementCommand.java @@ -0,0 +1,20 @@ +package com.workup.users.commands; +import com.workup.users.commands.requests.AddFreelancerAchievementRequest; +import com.workup.users.commands.responses.AddFreelancerAchievementResponse; +import com.workup.users.db.Achievement; +import com.workup.users.db.Freelancer; +import java.util.Optional; + +public class AddFreelancerAchievementCommand extends UserCommand { + @Override + public AddFreelancerAchievementResponse Run(AddFreelancerAchievementRequest request) { + Optional freelancerOptional = freelancerRepository.findById(request.getFreelancer_id()); + if (freelancerOptional.isEmpty()) + return AddFreelancerAchievementResponse.builder().withSuccess(false).build(); + Freelancer freelancer = freelancerOptional.get(); + Achievement newAchievement = achievementRepository.save(request.getNewAchievement()); + freelancer.getAchievements().add(newAchievement); + freelancerRepository.save(freelancer); + return AddFreelancerAchievementResponse.builder().withSuccess(true).withFreelancer(freelancer).build(); + } +} diff --git a/services/users/src/main/java/com/workup/users/commands/GetFreelancerAchievementsCommand.java b/services/users/src/main/java/com/workup/users/commands/GetFreelancerAchievementsCommand.java new file mode 100644 index 00000000..e6910805 --- /dev/null +++ b/services/users/src/main/java/com/workup/users/commands/GetFreelancerAchievementsCommand.java @@ -0,0 +1,21 @@ +package com.workup.users.commands; + +import com.workup.users.commands.requests.GetFreelancerAchievementsRequest; +import com.workup.users.commands.responses.GetFreelancerAchievementsResponse; +import com.workup.users.db.Achievement; +import com.workup.users.db.Freelancer; + +import java.util.List; +import java.util.Optional; + +public class GetFreelancerAchievementsCommand extends UserCommand { + @Override + public GetFreelancerAchievementsResponse Run(GetFreelancerAchievementsRequest request) { + Optional freelancerOptional = freelancerRepository.findById(request.getFreelancer_id()); + if (freelancerOptional.isEmpty()) + return GetFreelancerAchievementsResponse.builder().withSuccess(false).build(); + Freelancer freelancer = freelancerOptional.get(); + List achievements = freelancer.getAchievements(); + return GetFreelancerAchievementsResponse.builder().withSuccess(true).withAchievements(achievements).build(); + } +} diff --git a/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerAchievementCommand.java b/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerAchievementCommand.java new file mode 100644 index 00000000..2ff18e64 --- /dev/null +++ b/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerAchievementCommand.java @@ -0,0 +1,33 @@ +package com.workup.users.commands; + +import com.workup.users.commands.requests.RemoveFreelancerAchievementRequest; +import com.workup.users.commands.responses.RemoveFreelancerAchievementResponse; +import com.workup.users.db.Achievement; +import com.workup.users.db.Freelancer; +import org.springframework.http.ResponseEntity; + +import java.util.Optional; + +public class RemoveFreelancerAchievementCommand extends UserCommand { + @Override + public RemoveFreelancerAchievementResponse Run(RemoveFreelancerAchievementRequest request) { + Optional freelancerOptional = freelancerRepository.findById(request.getFreelancerId()); + if (freelancerOptional.isEmpty()) + return RemoveFreelancerAchievementResponse.builder().withSuccess(false).build(); + Freelancer freelancer = freelancerOptional.get(); + freelancer.getAchievements().removeIf(achievement -> achievement.getId().toString().equals(request.getAchievementId())); + deleteAchievement(request.getAchievementId()); + freelancerRepository.save(freelancer); + return RemoveFreelancerAchievementResponse.builder().withSuccess(true).withFreelancer(freelancer).build(); + } + + public void deleteAchievement(String id) { + Optional achievementOptional = achievementRepository.findById(id); + if (achievementOptional.isEmpty()) { + ResponseEntity.notFound().build(); + return; + } + achievementRepository.delete(achievementOptional.get()); + ResponseEntity.noContent().build(); + } +} diff --git a/services/users/src/main/java/com/workup/users/commands/UpdateFreelancerAchievementCommand.java b/services/users/src/main/java/com/workup/users/commands/UpdateFreelancerAchievementCommand.java new file mode 100644 index 00000000..2ce74ac7 --- /dev/null +++ b/services/users/src/main/java/com/workup/users/commands/UpdateFreelancerAchievementCommand.java @@ -0,0 +1,36 @@ +package com.workup.users.commands; + +import com.workup.users.commands.requests.UpdateFreelancerAchievementRequest; +import com.workup.users.commands.responses.UpdateFreelancerAchievementResponse; +import com.workup.users.db.Achievement; +import com.workup.users.db.Freelancer; +import org.springframework.beans.BeanUtils; +import org.springframework.http.ResponseEntity; + +import java.util.Optional; + +public class UpdateFreelancerAchievementCommand extends UserCommand { + @Override + public UpdateFreelancerAchievementResponse Run(UpdateFreelancerAchievementRequest request) { + Optional freelancerOptional = freelancerRepository.findById(request.getFreelancer_id()); + if (freelancerOptional.isEmpty()) + return UpdateFreelancerAchievementResponse.builder().withSuccess(false).build(); + Freelancer freelancer = freelancerOptional.get(); + updateAchievement(request.getUpdatedAchievement()); + freelancerRepository.save(freelancer); + return UpdateFreelancerAchievementResponse.builder().withSuccess(true).withFreelancer(freelancer).build(); + } + + public void updateAchievement(Achievement updatedAchievement) { + String id = updatedAchievement.getId().toString(); + Optional achievementOptional = achievementRepository.findById(id); + if (achievementOptional.isEmpty()) { + ResponseEntity.notFound().build(); + return; + } + Achievement existingAchievement = achievementOptional.get(); + BeanUtils.copyProperties(updatedAchievement, existingAchievement, "id"); + achievementRepository.save(existingAchievement); + ResponseEntity.ok(existingAchievement); + } +} diff --git a/services/users/src/main/java/com/workup/users/commands/requests/AddFreelancerAchievementRequest.java b/services/users/src/main/java/com/workup/users/commands/requests/AddFreelancerAchievementRequest.java new file mode 100644 index 00000000..d155dbef --- /dev/null +++ b/services/users/src/main/java/com/workup/users/commands/requests/AddFreelancerAchievementRequest.java @@ -0,0 +1,15 @@ +package com.workup.users.commands.requests; + +import com.workup.shared.commands.CommandRequest; +import com.workup.users.db.Achievement; +import lombok.Getter; +import lombok.experimental.SuperBuilder; +import lombok.extern.jackson.Jacksonized; + +@Getter +@SuperBuilder(setterPrefix = "with") +@Jacksonized +public class AddFreelancerAchievementRequest extends CommandRequest { + String freelancer_id; + Achievement newAchievement; +} diff --git a/services/users/src/main/java/com/workup/users/commands/requests/GetFreelancerAchievementsRequest.java b/services/users/src/main/java/com/workup/users/commands/requests/GetFreelancerAchievementsRequest.java new file mode 100644 index 00000000..69c28729 --- /dev/null +++ b/services/users/src/main/java/com/workup/users/commands/requests/GetFreelancerAchievementsRequest.java @@ -0,0 +1,13 @@ +package com.workup.users.commands.requests; + +import com.workup.shared.commands.CommandRequest; +import lombok.Getter; +import lombok.experimental.SuperBuilder; +import lombok.extern.jackson.Jacksonized; + +@Getter +@SuperBuilder(setterPrefix = "with") +@Jacksonized +public class GetFreelancerAchievementsRequest extends CommandRequest { + String freelancer_id; +} diff --git a/services/users/src/main/java/com/workup/users/commands/requests/RemoveFreelancerAchievementRequest.java b/services/users/src/main/java/com/workup/users/commands/requests/RemoveFreelancerAchievementRequest.java new file mode 100644 index 00000000..d36ad572 --- /dev/null +++ b/services/users/src/main/java/com/workup/users/commands/requests/RemoveFreelancerAchievementRequest.java @@ -0,0 +1,14 @@ +package com.workup.users.commands.requests; + +import com.workup.shared.commands.CommandRequest; +import lombok.Getter; +import lombok.experimental.SuperBuilder; +import lombok.extern.jackson.Jacksonized; + +@Getter +@SuperBuilder(setterPrefix = "with") +@Jacksonized +public class RemoveFreelancerAchievementRequest extends CommandRequest { + String freelancerId; + String achievementId; +} diff --git a/services/users/src/main/java/com/workup/users/commands/requests/UpdateFreelancerAchievementRequest.java b/services/users/src/main/java/com/workup/users/commands/requests/UpdateFreelancerAchievementRequest.java new file mode 100644 index 00000000..aee565c8 --- /dev/null +++ b/services/users/src/main/java/com/workup/users/commands/requests/UpdateFreelancerAchievementRequest.java @@ -0,0 +1,15 @@ +package com.workup.users.commands.requests; + +import com.workup.shared.commands.CommandRequest; +import com.workup.users.db.Achievement; +import lombok.Getter; +import lombok.experimental.SuperBuilder; +import lombok.extern.jackson.Jacksonized; + +@Getter +@SuperBuilder(setterPrefix = "with") +@Jacksonized +public class UpdateFreelancerAchievementRequest extends CommandRequest { + String freelancer_id; + Achievement updatedAchievement; +} diff --git a/services/users/src/main/java/com/workup/users/commands/responses/AddFreelancerAchievementResponse.java b/services/users/src/main/java/com/workup/users/commands/responses/AddFreelancerAchievementResponse.java new file mode 100644 index 00000000..fd9ec335 --- /dev/null +++ b/services/users/src/main/java/com/workup/users/commands/responses/AddFreelancerAchievementResponse.java @@ -0,0 +1,14 @@ +package com.workup.users.commands.responses; + +import com.workup.shared.commands.CommandResponse; +import com.workup.users.db.Freelancer; +import lombok.Getter; +import lombok.experimental.SuperBuilder; +import lombok.extern.jackson.Jacksonized; + +@Getter +@SuperBuilder(setterPrefix = "with") +@Jacksonized +public class AddFreelancerAchievementResponse extends CommandResponse { + Freelancer freelancer; +} diff --git a/services/users/src/main/java/com/workup/users/commands/responses/GetFreelancerAchievementsResponse.java b/services/users/src/main/java/com/workup/users/commands/responses/GetFreelancerAchievementsResponse.java new file mode 100644 index 00000000..90345222 --- /dev/null +++ b/services/users/src/main/java/com/workup/users/commands/responses/GetFreelancerAchievementsResponse.java @@ -0,0 +1,15 @@ +package com.workup.users.commands.responses; + +import com.workup.shared.commands.CommandResponse; +import com.workup.users.db.Achievement; +import lombok.Getter; +import lombok.experimental.SuperBuilder; +import lombok.extern.jackson.Jacksonized; +import java.util.List; + +@Getter +@SuperBuilder(setterPrefix = "with") +@Jacksonized +public class GetFreelancerAchievementsResponse extends CommandResponse { + List achievements; +} diff --git a/services/users/src/main/java/com/workup/users/commands/responses/RemoveFreelancerAchievementResponse.java b/services/users/src/main/java/com/workup/users/commands/responses/RemoveFreelancerAchievementResponse.java new file mode 100644 index 00000000..2d5f2142 --- /dev/null +++ b/services/users/src/main/java/com/workup/users/commands/responses/RemoveFreelancerAchievementResponse.java @@ -0,0 +1,14 @@ +package com.workup.users.commands.responses; + +import com.workup.shared.commands.CommandResponse; +import com.workup.users.db.Freelancer; +import lombok.Getter; +import lombok.experimental.SuperBuilder; +import lombok.extern.jackson.Jacksonized; + +@Getter +@SuperBuilder(setterPrefix = "with") +@Jacksonized +public class RemoveFreelancerAchievementResponse extends CommandResponse { + Freelancer freelancer; +} diff --git a/services/users/src/main/java/com/workup/users/commands/responses/UpdateFreelancerAchievementResponse.java b/services/users/src/main/java/com/workup/users/commands/responses/UpdateFreelancerAchievementResponse.java new file mode 100644 index 00000000..b138759b --- /dev/null +++ b/services/users/src/main/java/com/workup/users/commands/responses/UpdateFreelancerAchievementResponse.java @@ -0,0 +1,14 @@ +package com.workup.users.commands.responses; + +import com.workup.shared.commands.CommandResponse; +import com.workup.users.db.Freelancer; +import lombok.Getter; +import lombok.experimental.SuperBuilder; +import lombok.extern.jackson.Jacksonized; + +@Getter +@SuperBuilder(setterPrefix = "with") +@Jacksonized +public class UpdateFreelancerAchievementResponse extends CommandResponse { + Freelancer freelancer; +} From d5cc43a372b86ea82ac9291430d95fb6ce44812f Mon Sep 17 00:00:00 2001 From: Mahmoud Gaber Date: Sun, 28 Apr 2024 21:30:20 +0300 Subject: [PATCH 06/12] fix: Add db repositories --- .../java/com/workup/users/db/AchievementRepository.java | 6 ++++++ .../main/java/com/workup/users/db/EducationRepository.java | 6 ++++++ .../main/java/com/workup/users/db/ExperienceRepository.java | 6 ++++++ .../main/java/com/workup/users/db/FreelancerRepository.java | 6 ++++++ 4 files changed, 24 insertions(+) create mode 100644 services/users/src/main/java/com/workup/users/db/AchievementRepository.java create mode 100644 services/users/src/main/java/com/workup/users/db/EducationRepository.java create mode 100644 services/users/src/main/java/com/workup/users/db/ExperienceRepository.java create mode 100644 services/users/src/main/java/com/workup/users/db/FreelancerRepository.java diff --git a/services/users/src/main/java/com/workup/users/db/AchievementRepository.java b/services/users/src/main/java/com/workup/users/db/AchievementRepository.java new file mode 100644 index 00000000..9d2f3862 --- /dev/null +++ b/services/users/src/main/java/com/workup/users/db/AchievementRepository.java @@ -0,0 +1,6 @@ +package com.workup.users.db; + +import org.springframework.data.mongodb.repository.MongoRepository; + +public interface AchievementRepository extends MongoRepository { +} diff --git a/services/users/src/main/java/com/workup/users/db/EducationRepository.java b/services/users/src/main/java/com/workup/users/db/EducationRepository.java new file mode 100644 index 00000000..5b8c919b --- /dev/null +++ b/services/users/src/main/java/com/workup/users/db/EducationRepository.java @@ -0,0 +1,6 @@ +package com.workup.users.db; + +import org.springframework.data.mongodb.repository.MongoRepository; + +public interface EducationRepository extends MongoRepository { +} diff --git a/services/users/src/main/java/com/workup/users/db/ExperienceRepository.java b/services/users/src/main/java/com/workup/users/db/ExperienceRepository.java new file mode 100644 index 00000000..fa2f7a01 --- /dev/null +++ b/services/users/src/main/java/com/workup/users/db/ExperienceRepository.java @@ -0,0 +1,6 @@ +package com.workup.users.db; + +import org.springframework.data.mongodb.repository.MongoRepository; + +public interface ExperienceRepository extends MongoRepository { +} diff --git a/services/users/src/main/java/com/workup/users/db/FreelancerRepository.java b/services/users/src/main/java/com/workup/users/db/FreelancerRepository.java new file mode 100644 index 00000000..812cf68b --- /dev/null +++ b/services/users/src/main/java/com/workup/users/db/FreelancerRepository.java @@ -0,0 +1,6 @@ +package com.workup.users.db; + +import org.springframework.data.mongodb.repository.MongoRepository; + +public interface FreelancerRepository extends MongoRepository { +} From 17f5117bd12a4396271951b9c3021878f7e3a993 Mon Sep 17 00:00:00 2001 From: Mahmoud Gaber Date: Sun, 28 Apr 2024 21:31:42 +0300 Subject: [PATCH 07/12] fix: Add repositories to the user command and add document collections --- .../main/java/com/workup/users/commands/UserCommand.java | 8 ++++++++ .../src/main/java/com/workup/users/db/Achievement.java | 2 +- .../src/main/java/com/workup/users/db/Education.java | 2 +- .../src/main/java/com/workup/users/db/Experience.java | 2 +- .../src/main/java/com/workup/users/db/Freelancer.java | 2 +- 5 files changed, 12 insertions(+), 4 deletions(-) diff --git a/services/users/src/main/java/com/workup/users/commands/UserCommand.java b/services/users/src/main/java/com/workup/users/commands/UserCommand.java index 6d3466fb..a01e0aeb 100644 --- a/services/users/src/main/java/com/workup/users/commands/UserCommand.java +++ b/services/users/src/main/java/com/workup/users/commands/UserCommand.java @@ -1,6 +1,8 @@ package com.workup.users.commands; import com.workup.shared.commands.Command; +import com.workup.users.db.AchievementRepository; +import com.workup.users.db.EducationRepository; import com.workup.users.repositories.ClientRepository; import com.workup.users.repositories.ExperienceRepository; import com.workup.users.repositories.FreelancerRepository; @@ -22,6 +24,12 @@ public abstract class UserCommand Date: Mon, 29 Apr 2024 23:32:38 +0300 Subject: [PATCH 08/12] lint: Use linting --- services/users/.mvn/jvm.config | 1 + services/users/pom.xml | 2 +- .../AddFreelancerAchievementCommand.java | 30 ++++--- .../AddFreelancerEducationCommand.java | 33 ++++---- .../AddFreelancerExperienceCommand.java | 30 ++++--- .../AddFreelancerLanguageCommand.java | 26 +++--- .../commands/AddFreelancerSkillCommand.java | 29 ++++--- .../commands/ClientGetProfileCommand.java | 43 +++++----- .../commands/ClientGetProfileRequest.java | 4 +- .../commands/ClientGetProfileResponse.java | 13 ++- .../commands/ClientSetProfileCommand.java | 83 +++++++++---------- .../commands/ClientSetProfileRequest.java | 15 ++-- .../commands/ClientSetProfileResponse.java | 3 +- .../com/workup/users/commands/Command1.java | 23 ++--- .../commands/FreelancerGetPhotoCommand.java | 51 +++++------- .../commands/FreelancerGetPhotoRequest.java | 4 +- .../commands/FreelancerGetPhotoResponse.java | 3 +- .../FreelancerGetProfileBriefCommand.java | 34 ++++---- .../FreelancerGetProfileBriefRequest.java | 3 +- .../FreelancerGetProfileBriefResponse.java | 5 +- .../commands/FreelancerGetProfileCommand.java | 39 ++++----- .../commands/FreelancerGetProfileRequest.java | 3 +- .../FreelancerGetProfileResponse.java | 20 ++--- .../commands/FreelancerGetResumeCommand.java | 52 +++++------- .../commands/FreelancerGetResumeRequest.java | 4 +- .../commands/FreelancerGetResumeResponse.java | 3 +- .../commands/FreelancerSetPhotoCommand.java | 30 +++---- .../commands/FreelancerSetPhotoRequest.java | 6 +- .../commands/FreelancerSetPhotoResponse.java | 4 +- .../commands/FreelancerSetProfileCommand.java | 83 +++++++++---------- .../commands/FreelancerSetProfileRequest.java | 18 ++-- .../FreelancerSetProfileResponse.java | 3 +- .../commands/FreelancerSetResumeCommand.java | 30 +++---- .../commands/FreelancerSetResumeRequest.java | 6 +- .../commands/FreelancerSetResumeResponse.java | 4 +- .../GetFreelancerAchievementsCommand.java | 26 +++--- .../GetFreelancerEducationsCommand.java | 25 +++--- .../GetFreelancerExperiencesCommand.java | 26 +++--- .../GetFreelancerLanguagesCommand.java | 26 +++--- .../commands/GetFreelancerSkillsCommand.java | 24 +++--- .../RemoveFreelancerAchievementCommand.java | 50 ++++++----- .../RemoveFreelancerEducationCommand.java | 50 ++++++----- .../RemoveFreelancerExperienceCommand.java | 50 ++++++----- .../RemoveFreelancerLanguageCommand.java | 25 +++--- .../RemoveFreelancerSkillCommand.java | 25 +++--- .../UpdateFreelancerAchievementCommand.java | 52 ++++++------ .../UpdateFreelancerEducationCommand.java | 48 ++++++----- .../UpdateFreelancerExperienceCommand.java | 47 ++++++----- .../workup/users/commands/UserCommand.java | 34 ++++---- .../workup/users/commands/UserCommandMap.java | 57 +++++++------ .../AddFreelancerAchievementRequest.java | 4 +- .../AddFreelancerEducationRequest.java | 4 +- .../AddFreelancerExperienceRequest.java | 4 +- .../GetFreelancerAchievementsRequest.java | 2 +- .../GetFreelancerEducationsRequest.java | 2 +- .../GetFreelancerExperiencesRequest.java | 2 +- .../RemoveFreelancerAchievementRequest.java | 4 +- .../RemoveFreelancerEducationRequest.java | 4 +- .../RemoveFreelancerExperienceRequest.java | 4 +- .../UpdateFreelancerAchievementRequest.java | 4 +- .../UpdateFreelancerEducationRequest.java | 6 +- .../UpdateFreelancerExperienceRequest.java | 4 +- .../AddFreelancerAchievementResponse.java | 2 +- .../AddFreelancerEducationResponse.java | 2 +- .../AddFreelancerExperienceResponse.java | 2 +- .../GetFreelancerAchievementsResponse.java | 4 +- .../GetFreelancerEducationsResponse.java | 5 +- .../GetFreelancerExperiencesResponse.java | 5 +- .../RemoveFreelancerAchievementResponse.java | 2 +- .../RemoveFreelancerEducationResponse.java | 2 +- .../RemoveFreelancerExperienceResponse.java | 2 +- .../UpdateFreelancerAchievementResponse.java | 2 +- .../UpdateFreelancerEducationResponse.java | 2 +- .../UpdateFreelancerExperienceResponse.java | 2 +- .../users/db/AchievementRepository.java | 3 +- .../workup/users/db/EducationRepository.java | 3 +- .../workup/users/db/ExperienceRepository.java | 3 +- .../workup/users/db/FreelancerRepository.java | 3 +- .../users/repositories/ClientRepository.java | 8 +- .../repositories/ExperienceRepository.java | 8 +- .../repositories/FreelancerRepository.java | 8 +- shared/.mvn/jvm.config | 1 + .../AddFreelancerLanguageRequest.java | 4 +- .../requests/AddFreelancerSkillRequest.java | 4 +- .../GetFreelancerLanguagesRequest.java | 2 +- .../requests/GetFreelancerSkillsRequest.java | 2 +- .../RemoveFreelancerLanguageRequest.java | 4 +- .../RemoveFreelancerSkillRequest.java | 4 +- .../AddFreelancerLanguageResponse.java | 3 +- .../responses/AddFreelancerSkillResponse.java | 5 +- .../GetFreelancerLanguagesResponse.java | 5 +- .../GetFreelancerSkillsResponse.java | 5 +- .../RemoveFreelancerLanguageResponse.java | 3 +- .../RemoveFreelancerSkillResponse.java | 3 +- 94 files changed, 702 insertions(+), 760 deletions(-) create mode 100644 services/users/.mvn/jvm.config create mode 100644 shared/.mvn/jvm.config diff --git a/services/users/.mvn/jvm.config b/services/users/.mvn/jvm.config new file mode 100644 index 00000000..e2a50e08 --- /dev/null +++ b/services/users/.mvn/jvm.config @@ -0,0 +1 @@ +--add-exports jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED --add-exports jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED --add-exports jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED --add-exports jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED --add-exports jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED \ No newline at end of file diff --git a/services/users/pom.xml b/services/users/pom.xml index 8b1dc6a4..f1388b70 100644 --- a/services/users/pom.xml +++ b/services/users/pom.xml @@ -9,7 +9,7 @@ 3.2.3 - org.example + com.workup users 0.0.1-SNAPSHOT users diff --git a/services/users/src/main/java/com/workup/users/commands/AddFreelancerAchievementCommand.java b/services/users/src/main/java/com/workup/users/commands/AddFreelancerAchievementCommand.java index 203f740b..620344f8 100644 --- a/services/users/src/main/java/com/workup/users/commands/AddFreelancerAchievementCommand.java +++ b/services/users/src/main/java/com/workup/users/commands/AddFreelancerAchievementCommand.java @@ -1,20 +1,26 @@ package com.workup.users.commands; + import com.workup.users.commands.requests.AddFreelancerAchievementRequest; import com.workup.users.commands.responses.AddFreelancerAchievementResponse; import com.workup.users.db.Achievement; import com.workup.users.db.Freelancer; import java.util.Optional; -public class AddFreelancerAchievementCommand extends UserCommand { - @Override - public AddFreelancerAchievementResponse Run(AddFreelancerAchievementRequest request) { - Optional freelancerOptional = freelancerRepository.findById(request.getFreelancer_id()); - if (freelancerOptional.isEmpty()) - return AddFreelancerAchievementResponse.builder().withSuccess(false).build(); - Freelancer freelancer = freelancerOptional.get(); - Achievement newAchievement = achievementRepository.save(request.getNewAchievement()); - freelancer.getAchievements().add(newAchievement); - freelancerRepository.save(freelancer); - return AddFreelancerAchievementResponse.builder().withSuccess(true).withFreelancer(freelancer).build(); - } +public class AddFreelancerAchievementCommand + extends UserCommand { + @Override + public AddFreelancerAchievementResponse Run(AddFreelancerAchievementRequest request) { + Optional freelancerOptional = + freelancerRepository.findById(request.getFreelancer_id()); + if (freelancerOptional.isEmpty()) + return AddFreelancerAchievementResponse.builder().withSuccess(false).build(); + Freelancer freelancer = freelancerOptional.get(); + Achievement newAchievement = achievementRepository.save(request.getNewAchievement()); + freelancer.getAchievements().add(newAchievement); + freelancerRepository.save(freelancer); + return AddFreelancerAchievementResponse.builder() + .withSuccess(true) + .withFreelancer(freelancer) + .build(); + } } diff --git a/services/users/src/main/java/com/workup/users/commands/AddFreelancerEducationCommand.java b/services/users/src/main/java/com/workup/users/commands/AddFreelancerEducationCommand.java index f4890e3c..e9028e7f 100644 --- a/services/users/src/main/java/com/workup/users/commands/AddFreelancerEducationCommand.java +++ b/services/users/src/main/java/com/workup/users/commands/AddFreelancerEducationCommand.java @@ -4,23 +4,24 @@ import com.workup.users.commands.requests.AddFreelancerEducationRequest; import com.workup.users.db.Education; import com.workup.users.db.Freelancer; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; - import java.util.Optional; -public class AddFreelancerEducationCommand extends UserCommand { - - @Override - public AddFreelancerEducationResponse Run(AddFreelancerEducationRequest request) { - Optional freelancerOptional = freelancerRepository.findById(request.getFreelancer_id()); - if (freelancerOptional.isEmpty()) - return AddFreelancerEducationResponse.builder().withSuccess(false).build(); - Freelancer freelancer = freelancerOptional.get(); - Education newEducation = educationRepository.save(request.getNewEducation()); - freelancer.getEducations().add(newEducation); - freelancerRepository.save(freelancer); - return AddFreelancerEducationResponse.builder().withSuccess(true).withFreelancer(freelancer).build(); - } +public class AddFreelancerEducationCommand + extends UserCommand { + @Override + public AddFreelancerEducationResponse Run(AddFreelancerEducationRequest request) { + Optional freelancerOptional = + freelancerRepository.findById(request.getFreelancer_id()); + if (freelancerOptional.isEmpty()) + return AddFreelancerEducationResponse.builder().withSuccess(false).build(); + Freelancer freelancer = freelancerOptional.get(); + Education newEducation = educationRepository.save(request.getNewEducation()); + freelancer.getEducations().add(newEducation); + freelancerRepository.save(freelancer); + return AddFreelancerEducationResponse.builder() + .withSuccess(true) + .withFreelancer(freelancer) + .build(); + } } diff --git a/services/users/src/main/java/com/workup/users/commands/AddFreelancerExperienceCommand.java b/services/users/src/main/java/com/workup/users/commands/AddFreelancerExperienceCommand.java index c7edff81..9829b419 100644 --- a/services/users/src/main/java/com/workup/users/commands/AddFreelancerExperienceCommand.java +++ b/services/users/src/main/java/com/workup/users/commands/AddFreelancerExperienceCommand.java @@ -4,19 +4,23 @@ import com.workup.users.commands.responses.AddFreelancerExperienceResponse; import com.workup.users.db.Experience; import com.workup.users.db.Freelancer; - import java.util.Optional; -public class AddFreelancerExperienceCommand extends UserCommand { - @Override - public AddFreelancerExperienceResponse Run(AddFreelancerExperienceRequest request) { - Optional freelancerOptional = freelancerRepository.findById(request.getFreelancerId()); - if (freelancerOptional.isEmpty()) - return AddFreelancerExperienceResponse.builder().withSuccess(false).build(); - Freelancer freelancer = freelancerOptional.get(); - Experience newExperience = experienceRepository.save(request.getNewExperience()); - freelancer.getExperiences().add(newExperience); - freelancerRepository.save(freelancer); - return AddFreelancerExperienceResponse.builder().withSuccess(true).withFreelancer(freelancer).build(); - } +public class AddFreelancerExperienceCommand + extends UserCommand { + @Override + public AddFreelancerExperienceResponse Run(AddFreelancerExperienceRequest request) { + Optional freelancerOptional = + freelancerRepository.findById(request.getFreelancerId()); + if (freelancerOptional.isEmpty()) + return AddFreelancerExperienceResponse.builder().withSuccess(false).build(); + Freelancer freelancer = freelancerOptional.get(); + Experience newExperience = experienceRepository.save(request.getNewExperience()); + freelancer.getExperiences().add(newExperience); + freelancerRepository.save(freelancer); + return AddFreelancerExperienceResponse.builder() + .withSuccess(true) + .withFreelancer(freelancer) + .build(); + } } diff --git a/services/users/src/main/java/com/workup/users/commands/AddFreelancerLanguageCommand.java b/services/users/src/main/java/com/workup/users/commands/AddFreelancerLanguageCommand.java index 82e09cbf..8361de99 100644 --- a/services/users/src/main/java/com/workup/users/commands/AddFreelancerLanguageCommand.java +++ b/services/users/src/main/java/com/workup/users/commands/AddFreelancerLanguageCommand.java @@ -3,19 +3,19 @@ import com.workup.shared.commands.users.requests.AddFreelancerLanguageRequest; import com.workup.shared.commands.users.responses.AddFreelancerLanguageResponse; import com.workup.users.db.Freelancer; - import java.util.Optional; -public class AddFreelancerLanguageCommand extends UserCommand{ +public class AddFreelancerLanguageCommand + extends UserCommand { - @Override - public AddFreelancerLanguageResponse Run(AddFreelancerLanguageRequest request) { - Optional freelancerOptional = freelancerRepository.findById(request.getUser_id()); - if (freelancerOptional.isEmpty()) - return AddFreelancerLanguageResponse.builder().withSuccess(false).build(); - Freelancer freelancer = freelancerOptional.get(); - freelancer.getLanguages().add(request.getNewLanguage()); - freelancerRepository.save(freelancer); - return AddFreelancerLanguageResponse.builder().withSuccess(true).build(); - } -} \ No newline at end of file + @Override + public AddFreelancerLanguageResponse Run(AddFreelancerLanguageRequest request) { + Optional freelancerOptional = freelancerRepository.findById(request.getUser_id()); + if (freelancerOptional.isEmpty()) + return AddFreelancerLanguageResponse.builder().withSuccess(false).build(); + Freelancer freelancer = freelancerOptional.get(); + freelancer.getLanguages().add(request.getNewLanguage()); + freelancerRepository.save(freelancer); + return AddFreelancerLanguageResponse.builder().withSuccess(true).build(); + } +} diff --git a/services/users/src/main/java/com/workup/users/commands/AddFreelancerSkillCommand.java b/services/users/src/main/java/com/workup/users/commands/AddFreelancerSkillCommand.java index 5ebd0714..e4dc3d60 100644 --- a/services/users/src/main/java/com/workup/users/commands/AddFreelancerSkillCommand.java +++ b/services/users/src/main/java/com/workup/users/commands/AddFreelancerSkillCommand.java @@ -3,23 +3,22 @@ import com.workup.shared.commands.users.requests.AddFreelancerSkillRequest; import com.workup.shared.commands.users.responses.AddFreelancerSkillResponse; import com.workup.users.db.Freelancer; - import java.util.List; import java.util.Optional; -public class AddFreelancerSkillCommand extends UserCommand { +public class AddFreelancerSkillCommand + extends UserCommand { - @Override - public AddFreelancerSkillResponse Run(AddFreelancerSkillRequest request) { - Optional freelancerOptional = freelancerRepository.findById(request.getUser_id()); - if (freelancerOptional.isEmpty()) - return AddFreelancerSkillResponse.builder().withSuccess(false).build(); - String newSkill = request.getNewSkill(); - Freelancer freelancer = freelancerOptional.get(); - List skills = freelancer.getSkills(); - if(!skills.contains(newSkill)) - skills.add(newSkill); - freelancerRepository.save(freelancer); - return AddFreelancerSkillResponse.builder().withSuccess(true).build(); - } + @Override + public AddFreelancerSkillResponse Run(AddFreelancerSkillRequest request) { + Optional freelancerOptional = freelancerRepository.findById(request.getUser_id()); + if (freelancerOptional.isEmpty()) + return AddFreelancerSkillResponse.builder().withSuccess(false).build(); + String newSkill = request.getNewSkill(); + Freelancer freelancer = freelancerOptional.get(); + List skills = freelancer.getSkills(); + if (!skills.contains(newSkill)) skills.add(newSkill); + freelancerRepository.save(freelancer); + return AddFreelancerSkillResponse.builder().withSuccess(true).build(); + } } diff --git a/services/users/src/main/java/com/workup/users/commands/ClientGetProfileCommand.java b/services/users/src/main/java/com/workup/users/commands/ClientGetProfileCommand.java index 42c3b6d1..869e032a 100644 --- a/services/users/src/main/java/com/workup/users/commands/ClientGetProfileCommand.java +++ b/services/users/src/main/java/com/workup/users/commands/ClientGetProfileCommand.java @@ -1,32 +1,29 @@ package com.workup.users.commands; -import java.util.Optional; - import com.workup.users.db.Client; +import java.util.Optional; public class ClientGetProfileCommand - extends UserCommand { - - @Override - public ClientGetProfileResponse Run(ClientGetProfileRequest request) { - Optional clientOptional = clientRepository.findById(request.user_id); - - if (!clientOptional.isPresent()) { - return ClientGetProfileResponse.builder().withSuccess(false).build(); - } - - Client client = clientOptional.get(); + extends UserCommand { - return ClientGetProfileResponse.builder() - .withSuccess(true) - .withName(client.getClient_name()) - .withEmail(client.getEmail()) - .withCity(client.getCity()) - .withDescription(client.getClient_description()) - .withIndustry(client.getIndustry()) - .withEmployee_count(client.getEmployee_count()) - .build(); + @Override + public ClientGetProfileResponse Run(ClientGetProfileRequest request) { + Optional clientOptional = clientRepository.findById(request.user_id); + if (!clientOptional.isPresent()) { + return ClientGetProfileResponse.builder().withSuccess(false).build(); } -} \ No newline at end of file + Client client = clientOptional.get(); + + return ClientGetProfileResponse.builder() + .withSuccess(true) + .withName(client.getClient_name()) + .withEmail(client.getEmail()) + .withCity(client.getCity()) + .withDescription(client.getClient_description()) + .withIndustry(client.getIndustry()) + .withEmployee_count(client.getEmployee_count()) + .build(); + } +} diff --git a/services/users/src/main/java/com/workup/users/commands/ClientGetProfileRequest.java b/services/users/src/main/java/com/workup/users/commands/ClientGetProfileRequest.java index 05d25c9d..3ee15ef1 100644 --- a/services/users/src/main/java/com/workup/users/commands/ClientGetProfileRequest.java +++ b/services/users/src/main/java/com/workup/users/commands/ClientGetProfileRequest.java @@ -1,7 +1,6 @@ package com.workup.users.commands; import com.workup.shared.commands.CommandRequest; - import lombok.Getter; import lombok.experimental.SuperBuilder; import lombok.extern.jackson.Jacksonized; @@ -10,6 +9,5 @@ @SuperBuilder(setterPrefix = "with") @Jacksonized public class ClientGetProfileRequest extends CommandRequest { - String user_id; - + String user_id; } diff --git a/services/users/src/main/java/com/workup/users/commands/ClientGetProfileResponse.java b/services/users/src/main/java/com/workup/users/commands/ClientGetProfileResponse.java index 792d21f8..b2e3e8ac 100644 --- a/services/users/src/main/java/com/workup/users/commands/ClientGetProfileResponse.java +++ b/services/users/src/main/java/com/workup/users/commands/ClientGetProfileResponse.java @@ -1,7 +1,6 @@ package com.workup.users.commands; import com.workup.shared.commands.CommandResponse; - import lombok.Getter; import lombok.experimental.SuperBuilder; import lombok.extern.jackson.Jacksonized; @@ -10,10 +9,10 @@ @SuperBuilder(setterPrefix = "with") @Jacksonized public class ClientGetProfileResponse extends CommandResponse { - String name; - String email; - String city; - String description; - String industry; - Integer employee_count; + String name; + String email; + String city; + String description; + String industry; + Integer employee_count; } diff --git a/services/users/src/main/java/com/workup/users/commands/ClientSetProfileCommand.java b/services/users/src/main/java/com/workup/users/commands/ClientSetProfileCommand.java index 1bbdd3cb..f146666e 100644 --- a/services/users/src/main/java/com/workup/users/commands/ClientSetProfileCommand.java +++ b/services/users/src/main/java/com/workup/users/commands/ClientSetProfileCommand.java @@ -1,52 +1,47 @@ package com.workup.users.commands; -import java.util.Optional; - import com.workup.users.db.Client; +import java.util.Optional; public class ClientSetProfileCommand - extends UserCommand { - - @Override - public ClientSetProfileResponse Run(ClientSetProfileRequest request) { - - Client client; - - if (request.user_id == null) { - client = Client.builder().build(); - } else { - Optional clientOption = clientRepository.findById(request.user_id); - if (!clientOption.isPresent()) { - throw new RuntimeException("User not found"); - } - client = clientOption.get(); - } - - if (request.name != null) { - client.setClient_name(request.name); - } - if (request.email != null) { - client.setEmail(request.email); - } - if (request.city != null) { - client.setCity(request.city); - } - if (request.description != null) { - client.setClient_description(request.description); - } - if (request.industry != null) { - client.setIndustry(request.industry); - } - if (request.employee_count != null) { - client.setEmployee_count(request.employee_count); - } - - clientRepository.save(client); - - return ClientSetProfileResponse.builder() - .withSuccess(true) - .build(); + extends UserCommand { + + @Override + public ClientSetProfileResponse Run(ClientSetProfileRequest request) { + + Client client; + + if (request.user_id == null) { + client = Client.builder().build(); + } else { + Optional clientOption = clientRepository.findById(request.user_id); + if (!clientOption.isPresent()) { + throw new RuntimeException("User not found"); + } + client = clientOption.get(); + } + if (request.name != null) { + client.setClient_name(request.name); } + if (request.email != null) { + client.setEmail(request.email); + } + if (request.city != null) { + client.setCity(request.city); + } + if (request.description != null) { + client.setClient_description(request.description); + } + if (request.industry != null) { + client.setIndustry(request.industry); + } + if (request.employee_count != null) { + client.setEmployee_count(request.employee_count); + } + + clientRepository.save(client); -} \ No newline at end of file + return ClientSetProfileResponse.builder().withSuccess(true).build(); + } +} diff --git a/services/users/src/main/java/com/workup/users/commands/ClientSetProfileRequest.java b/services/users/src/main/java/com/workup/users/commands/ClientSetProfileRequest.java index eedbd913..140808d6 100644 --- a/services/users/src/main/java/com/workup/users/commands/ClientSetProfileRequest.java +++ b/services/users/src/main/java/com/workup/users/commands/ClientSetProfileRequest.java @@ -1,7 +1,6 @@ package com.workup.users.commands; import com.workup.shared.commands.CommandRequest; - import lombok.Getter; import lombok.experimental.SuperBuilder; import lombok.extern.jackson.Jacksonized; @@ -10,11 +9,11 @@ @SuperBuilder(setterPrefix = "with") @Jacksonized public class ClientSetProfileRequest extends CommandRequest { - String user_id; - String name; - String email; - String city; - String description; - String industry; - Integer employee_count; + String user_id; + String name; + String email; + String city; + String description; + String industry; + Integer employee_count; } diff --git a/services/users/src/main/java/com/workup/users/commands/ClientSetProfileResponse.java b/services/users/src/main/java/com/workup/users/commands/ClientSetProfileResponse.java index b57e3b5f..9be701d1 100644 --- a/services/users/src/main/java/com/workup/users/commands/ClientSetProfileResponse.java +++ b/services/users/src/main/java/com/workup/users/commands/ClientSetProfileResponse.java @@ -1,7 +1,6 @@ package com.workup.users.commands; import com.workup.shared.commands.CommandResponse; - import lombok.Getter; import lombok.experimental.SuperBuilder; import lombok.extern.jackson.Jacksonized; @@ -10,5 +9,5 @@ @SuperBuilder(setterPrefix = "with") @Jacksonized public class ClientSetProfileResponse extends CommandResponse { - boolean success; + boolean success; } diff --git a/services/users/src/main/java/com/workup/users/commands/Command1.java b/services/users/src/main/java/com/workup/users/commands/Command1.java index f374ee69..6e2dc2ac 100644 --- a/services/users/src/main/java/com/workup/users/commands/Command1.java +++ b/services/users/src/main/java/com/workup/users/commands/Command1.java @@ -1,23 +1,18 @@ package com.workup.users.commands; -import java.util.List; - +import com.workup.users.repositories.FreelancerRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.mongodb.core.query.Query; -import com.workup.users.db.Freelancer; -import com.workup.users.repositories.FreelancerRepository; - public class Command1 { - @Autowired - private FreelancerRepository freelancerRepository; + @Autowired private FreelancerRepository freelancerRepository; - public Command1(FreelancerRepository freelancerRepository) { - this.freelancerRepository = freelancerRepository; - } + public Command1(FreelancerRepository freelancerRepository) { + this.freelancerRepository = freelancerRepository; + } - public void execute() { - Query query = new Query(); - // List freelancers = freelancerRepository.findAll(null) - } + public void execute() { + Query query = new Query(); + // List freelancers = freelancerRepository.findAll(null) + } } diff --git a/services/users/src/main/java/com/workup/users/commands/FreelancerGetPhotoCommand.java b/services/users/src/main/java/com/workup/users/commands/FreelancerGetPhotoCommand.java index 6ef01b8a..f9f7df3d 100644 --- a/services/users/src/main/java/com/workup/users/commands/FreelancerGetPhotoCommand.java +++ b/services/users/src/main/java/com/workup/users/commands/FreelancerGetPhotoCommand.java @@ -1,40 +1,33 @@ package com.workup.users.commands; +import com.workup.users.db.Client; import java.util.Base64; import java.util.Optional; -import com.workup.users.db.Client; - public class FreelancerGetPhotoCommand - extends UserCommand { - - @Override - public FreelancerGetPhotoResponse Run(FreelancerGetPhotoRequest request) { - Optional clientOptional = clientRepository.findById(request.user_id); + extends UserCommand { - if (!clientOptional.isPresent()) { - return FreelancerGetPhotoResponse.builder() - .withSuccess(false) - .build(); - } - String name = PHOTO_BUCKET + request.user_id; + @Override + public FreelancerGetPhotoResponse Run(FreelancerGetPhotoRequest request) { + Optional clientOptional = clientRepository.findById(request.user_id); - byte[] bytesArr; - try { - bytesArr = gridFsTemplate.getResource(name).getInputStream().readAllBytes(); - } catch (Exception e) { - return FreelancerGetPhotoResponse.builder() - .withSuccess(false) - .build(); - } - - String base64Encoded = Base64.getEncoder().encodeToString(bytesArr); - - return FreelancerGetPhotoResponse.builder() - .withSuccess(true) - .withPhotoEncoded(base64Encoded) - .build(); + if (!clientOptional.isPresent()) { + return FreelancerGetPhotoResponse.builder().withSuccess(false).build(); + } + String name = PHOTO_BUCKET + request.user_id; + byte[] bytesArr; + try { + bytesArr = gridFsTemplate.getResource(name).getInputStream().readAllBytes(); + } catch (Exception e) { + return FreelancerGetPhotoResponse.builder().withSuccess(false).build(); } -} \ No newline at end of file + String base64Encoded = Base64.getEncoder().encodeToString(bytesArr); + + return FreelancerGetPhotoResponse.builder() + .withSuccess(true) + .withPhotoEncoded(base64Encoded) + .build(); + } +} diff --git a/services/users/src/main/java/com/workup/users/commands/FreelancerGetPhotoRequest.java b/services/users/src/main/java/com/workup/users/commands/FreelancerGetPhotoRequest.java index 01738584..dd55144b 100644 --- a/services/users/src/main/java/com/workup/users/commands/FreelancerGetPhotoRequest.java +++ b/services/users/src/main/java/com/workup/users/commands/FreelancerGetPhotoRequest.java @@ -1,7 +1,6 @@ package com.workup.users.commands; import com.workup.shared.commands.CommandRequest; - import lombok.Getter; import lombok.experimental.SuperBuilder; import lombok.extern.jackson.Jacksonized; @@ -10,6 +9,5 @@ @SuperBuilder(setterPrefix = "with") @Jacksonized public class FreelancerGetPhotoRequest extends CommandRequest { - String user_id; - + String user_id; } diff --git a/services/users/src/main/java/com/workup/users/commands/FreelancerGetPhotoResponse.java b/services/users/src/main/java/com/workup/users/commands/FreelancerGetPhotoResponse.java index 0516c558..0c193642 100644 --- a/services/users/src/main/java/com/workup/users/commands/FreelancerGetPhotoResponse.java +++ b/services/users/src/main/java/com/workup/users/commands/FreelancerGetPhotoResponse.java @@ -1,7 +1,6 @@ package com.workup.users.commands; import com.workup.shared.commands.CommandResponse; - import lombok.Getter; import lombok.experimental.SuperBuilder; import lombok.extern.jackson.Jacksonized; @@ -10,5 +9,5 @@ @SuperBuilder(setterPrefix = "with") @Jacksonized public class FreelancerGetPhotoResponse extends CommandResponse { - String photoEncoded; // Base64 encoded photo + String photoEncoded; // Base64 encoded photo } diff --git a/services/users/src/main/java/com/workup/users/commands/FreelancerGetProfileBriefCommand.java b/services/users/src/main/java/com/workup/users/commands/FreelancerGetProfileBriefCommand.java index 298a38ed..0ea3f7f2 100644 --- a/services/users/src/main/java/com/workup/users/commands/FreelancerGetProfileBriefCommand.java +++ b/services/users/src/main/java/com/workup/users/commands/FreelancerGetProfileBriefCommand.java @@ -1,29 +1,23 @@ package com.workup.users.commands; -import java.util.Optional; - import com.workup.users.db.Freelancer; +import java.util.Optional; public class FreelancerGetProfileBriefCommand - extends UserCommand { - - @Override - public FreelancerGetProfileBriefResponse Run(FreelancerGetProfileBriefRequest request) { - Optional freelancer = freelancerRepository.findById(request.user_id); - - if (!freelancer.isPresent()) { - return FreelancerGetProfileBriefResponse.builder() - .withSuccess(false) - .build(); - - } + extends UserCommand { - return FreelancerGetProfileBriefResponse.builder() - .withSuccess(true) - .withEmail(freelancer.get().getEmail()) - .withFull_name(freelancer.get().getFull_name()) - .build(); + @Override + public FreelancerGetProfileBriefResponse Run(FreelancerGetProfileBriefRequest request) { + Optional freelancer = freelancerRepository.findById(request.user_id); + if (!freelancer.isPresent()) { + return FreelancerGetProfileBriefResponse.builder().withSuccess(false).build(); } -} \ No newline at end of file + return FreelancerGetProfileBriefResponse.builder() + .withSuccess(true) + .withEmail(freelancer.get().getEmail()) + .withFull_name(freelancer.get().getFull_name()) + .build(); + } +} diff --git a/services/users/src/main/java/com/workup/users/commands/FreelancerGetProfileBriefRequest.java b/services/users/src/main/java/com/workup/users/commands/FreelancerGetProfileBriefRequest.java index 5815ee8a..954689f3 100644 --- a/services/users/src/main/java/com/workup/users/commands/FreelancerGetProfileBriefRequest.java +++ b/services/users/src/main/java/com/workup/users/commands/FreelancerGetProfileBriefRequest.java @@ -1,7 +1,6 @@ package com.workup.users.commands; import com.workup.shared.commands.CommandRequest; - import lombok.Getter; import lombok.experimental.SuperBuilder; import lombok.extern.jackson.Jacksonized; @@ -10,5 +9,5 @@ @SuperBuilder(setterPrefix = "with") @Jacksonized public class FreelancerGetProfileBriefRequest extends CommandRequest { - String user_id; + String user_id; } diff --git a/services/users/src/main/java/com/workup/users/commands/FreelancerGetProfileBriefResponse.java b/services/users/src/main/java/com/workup/users/commands/FreelancerGetProfileBriefResponse.java index 69eeab77..5906fcda 100644 --- a/services/users/src/main/java/com/workup/users/commands/FreelancerGetProfileBriefResponse.java +++ b/services/users/src/main/java/com/workup/users/commands/FreelancerGetProfileBriefResponse.java @@ -1,7 +1,6 @@ package com.workup.users.commands; import com.workup.shared.commands.CommandResponse; - import lombok.Getter; import lombok.experimental.SuperBuilder; import lombok.extern.jackson.Jacksonized; @@ -10,6 +9,6 @@ @SuperBuilder(setterPrefix = "with") @Jacksonized public class FreelancerGetProfileBriefResponse extends CommandResponse { - String email; - String full_name; + String email; + String full_name; } diff --git a/services/users/src/main/java/com/workup/users/commands/FreelancerGetProfileCommand.java b/services/users/src/main/java/com/workup/users/commands/FreelancerGetProfileCommand.java index fea2f5fe..093048eb 100644 --- a/services/users/src/main/java/com/workup/users/commands/FreelancerGetProfileCommand.java +++ b/services/users/src/main/java/com/workup/users/commands/FreelancerGetProfileCommand.java @@ -1,28 +1,29 @@ package com.workup.users.commands; -import java.util.Optional; - import com.workup.users.db.Freelancer; +import java.util.Optional; public class FreelancerGetProfileCommand - extends UserCommand { - - @Override - public FreelancerGetProfileResponse Run(FreelancerGetProfileRequest request) { - Optional freelancer = freelancerRepository.findById(request.user_id); - - if (!freelancer.isPresent()) { - return FreelancerGetProfileResponse.builder().withSuccess(false).build(); - - } + extends UserCommand { - return FreelancerGetProfileResponse.builder().withSuccess(true).withBirth_date(freelancer.get().getBirthdate()) - .withCity(freelancer.get().getCity()).withDescription(freelancer.get().getDescription()) - .withEmail(freelancer.get().getEmail()).withFull_name(freelancer.get().getFull_name()) - .withJob_title(freelancer.get().getJob_title()).withLanguages(freelancer.get().getLanguages()) - .withSkills(freelancer.get().getSkills()) - .build(); + @Override + public FreelancerGetProfileResponse Run(FreelancerGetProfileRequest request) { + Optional freelancer = freelancerRepository.findById(request.user_id); + if (!freelancer.isPresent()) { + return FreelancerGetProfileResponse.builder().withSuccess(false).build(); } -} \ No newline at end of file + return FreelancerGetProfileResponse.builder() + .withSuccess(true) + .withBirth_date(freelancer.get().getBirthdate()) + .withCity(freelancer.get().getCity()) + .withDescription(freelancer.get().getDescription()) + .withEmail(freelancer.get().getEmail()) + .withFull_name(freelancer.get().getFull_name()) + .withJob_title(freelancer.get().getJob_title()) + .withLanguages(freelancer.get().getLanguages()) + .withSkills(freelancer.get().getSkills()) + .build(); + } +} diff --git a/services/users/src/main/java/com/workup/users/commands/FreelancerGetProfileRequest.java b/services/users/src/main/java/com/workup/users/commands/FreelancerGetProfileRequest.java index cdcf043d..6a9d26ad 100644 --- a/services/users/src/main/java/com/workup/users/commands/FreelancerGetProfileRequest.java +++ b/services/users/src/main/java/com/workup/users/commands/FreelancerGetProfileRequest.java @@ -1,7 +1,6 @@ package com.workup.users.commands; import com.workup.shared.commands.CommandRequest; - import lombok.Getter; import lombok.experimental.SuperBuilder; import lombok.extern.jackson.Jacksonized; @@ -10,5 +9,5 @@ @SuperBuilder(setterPrefix = "with") @Jacksonized public class FreelancerGetProfileRequest extends CommandRequest { - String user_id; + String user_id; } diff --git a/services/users/src/main/java/com/workup/users/commands/FreelancerGetProfileResponse.java b/services/users/src/main/java/com/workup/users/commands/FreelancerGetProfileResponse.java index dc14d2f8..d32e346a 100644 --- a/services/users/src/main/java/com/workup/users/commands/FreelancerGetProfileResponse.java +++ b/services/users/src/main/java/com/workup/users/commands/FreelancerGetProfileResponse.java @@ -1,10 +1,8 @@ package com.workup.users.commands; +import com.workup.shared.commands.CommandResponse; import java.util.Date; import java.util.List; - -import com.workup.shared.commands.CommandResponse; - import lombok.Getter; import lombok.experimental.SuperBuilder; import lombok.extern.jackson.Jacksonized; @@ -13,12 +11,12 @@ @SuperBuilder(setterPrefix = "with") @Jacksonized public class FreelancerGetProfileResponse extends CommandResponse { - String email; - String full_name; - String city; - String job_title; - String description; - Date birth_date; - List languages; - List skills; + String email; + String full_name; + String city; + String job_title; + String description; + Date birth_date; + List languages; + List skills; } diff --git a/services/users/src/main/java/com/workup/users/commands/FreelancerGetResumeCommand.java b/services/users/src/main/java/com/workup/users/commands/FreelancerGetResumeCommand.java index 949379bf..dcb599ed 100644 --- a/services/users/src/main/java/com/workup/users/commands/FreelancerGetResumeCommand.java +++ b/services/users/src/main/java/com/workup/users/commands/FreelancerGetResumeCommand.java @@ -1,41 +1,33 @@ package com.workup.users.commands; +import com.workup.users.db.Client; import java.util.Base64; import java.util.Optional; -import java.util.UUID; - -import com.workup.users.db.Client; public class FreelancerGetResumeCommand - extends UserCommand { - - @Override - public FreelancerGetResumeResponse Run(FreelancerGetResumeRequest request) { - Optional clientOptional = clientRepository.findById(request.user_id); + extends UserCommand { - if (!clientOptional.isPresent()) { - return FreelancerGetResumeResponse.builder() - .withSuccess(false) - .build(); - } - String name = RESUME_BUCKET + request.user_id; + @Override + public FreelancerGetResumeResponse Run(FreelancerGetResumeRequest request) { + Optional clientOptional = clientRepository.findById(request.user_id); - byte[] bytesArr; - try { - bytesArr = gridFsTemplate.getResource(name).getInputStream().readAllBytes(); - } catch (Exception e) { - return FreelancerGetResumeResponse.builder() - .withSuccess(false) - .build(); - } - - String base64Encoded = Base64.getEncoder().encodeToString(bytesArr); - - return FreelancerGetResumeResponse.builder() - .withSuccess(true) - .withResumeEncoded(base64Encoded) - .build(); + if (!clientOptional.isPresent()) { + return FreelancerGetResumeResponse.builder().withSuccess(false).build(); + } + String name = RESUME_BUCKET + request.user_id; + byte[] bytesArr; + try { + bytesArr = gridFsTemplate.getResource(name).getInputStream().readAllBytes(); + } catch (Exception e) { + return FreelancerGetResumeResponse.builder().withSuccess(false).build(); } -} \ No newline at end of file + String base64Encoded = Base64.getEncoder().encodeToString(bytesArr); + + return FreelancerGetResumeResponse.builder() + .withSuccess(true) + .withResumeEncoded(base64Encoded) + .build(); + } +} diff --git a/services/users/src/main/java/com/workup/users/commands/FreelancerGetResumeRequest.java b/services/users/src/main/java/com/workup/users/commands/FreelancerGetResumeRequest.java index c2e22bad..8db45d5e 100644 --- a/services/users/src/main/java/com/workup/users/commands/FreelancerGetResumeRequest.java +++ b/services/users/src/main/java/com/workup/users/commands/FreelancerGetResumeRequest.java @@ -1,7 +1,6 @@ package com.workup.users.commands; import com.workup.shared.commands.CommandRequest; - import lombok.Getter; import lombok.experimental.SuperBuilder; import lombok.extern.jackson.Jacksonized; @@ -10,6 +9,5 @@ @SuperBuilder(setterPrefix = "with") @Jacksonized public class FreelancerGetResumeRequest extends CommandRequest { - String user_id; - + String user_id; } diff --git a/services/users/src/main/java/com/workup/users/commands/FreelancerGetResumeResponse.java b/services/users/src/main/java/com/workup/users/commands/FreelancerGetResumeResponse.java index 33978b1c..9b42fb7f 100644 --- a/services/users/src/main/java/com/workup/users/commands/FreelancerGetResumeResponse.java +++ b/services/users/src/main/java/com/workup/users/commands/FreelancerGetResumeResponse.java @@ -1,7 +1,6 @@ package com.workup.users.commands; import com.workup.shared.commands.CommandResponse; - import lombok.Getter; import lombok.experimental.SuperBuilder; import lombok.extern.jackson.Jacksonized; @@ -10,5 +9,5 @@ @SuperBuilder(setterPrefix = "with") @Jacksonized public class FreelancerGetResumeResponse extends CommandResponse { - String resumeEncoded; // Base64 encoded resume + String resumeEncoded; // Base64 encoded resume } diff --git a/services/users/src/main/java/com/workup/users/commands/FreelancerSetPhotoCommand.java b/services/users/src/main/java/com/workup/users/commands/FreelancerSetPhotoCommand.java index 4bc4a9c3..7c21e591 100644 --- a/services/users/src/main/java/com/workup/users/commands/FreelancerSetPhotoCommand.java +++ b/services/users/src/main/java/com/workup/users/commands/FreelancerSetPhotoCommand.java @@ -4,26 +4,20 @@ import java.util.Base64; public class FreelancerSetPhotoCommand - extends UserCommand { + extends UserCommand { - @Override - public FreelancerSetPhotoResponse Run(FreelancerSetPhotoRequest request) { + @Override + public FreelancerSetPhotoResponse Run(FreelancerSetPhotoRequest request) { - String name = PHOTO_BUCKET + request.user_id; + String name = PHOTO_BUCKET + request.user_id; - byte[] photo_bytes_arr = Base64.getDecoder().decode(request.photo_encoded); - - try { - gridFsTemplate.store(new ByteArrayInputStream(photo_bytes_arr), name); - } catch (Exception e) { - return FreelancerSetPhotoResponse.builder() - .withSuccess(false) - .build(); - } - return FreelancerSetPhotoResponse.builder() - .withSuccess(true) - .build(); + byte[] photo_bytes_arr = Base64.getDecoder().decode(request.photo_encoded); + try { + gridFsTemplate.store(new ByteArrayInputStream(photo_bytes_arr), name); + } catch (Exception e) { + return FreelancerSetPhotoResponse.builder().withSuccess(false).build(); } - -} \ No newline at end of file + return FreelancerSetPhotoResponse.builder().withSuccess(true).build(); + } +} diff --git a/services/users/src/main/java/com/workup/users/commands/FreelancerSetPhotoRequest.java b/services/users/src/main/java/com/workup/users/commands/FreelancerSetPhotoRequest.java index 9d7aa525..b30da35b 100644 --- a/services/users/src/main/java/com/workup/users/commands/FreelancerSetPhotoRequest.java +++ b/services/users/src/main/java/com/workup/users/commands/FreelancerSetPhotoRequest.java @@ -1,7 +1,6 @@ package com.workup.users.commands; import com.workup.shared.commands.CommandRequest; - import lombok.Getter; import lombok.experimental.SuperBuilder; import lombok.extern.jackson.Jacksonized; @@ -10,7 +9,6 @@ @SuperBuilder(setterPrefix = "with") @Jacksonized public class FreelancerSetPhotoRequest extends CommandRequest { - String user_id; - String photo_encoded; // Base64 encoded photo - + String user_id; + String photo_encoded; // Base64 encoded photo } diff --git a/services/users/src/main/java/com/workup/users/commands/FreelancerSetPhotoResponse.java b/services/users/src/main/java/com/workup/users/commands/FreelancerSetPhotoResponse.java index 6e7390b5..581901c6 100644 --- a/services/users/src/main/java/com/workup/users/commands/FreelancerSetPhotoResponse.java +++ b/services/users/src/main/java/com/workup/users/commands/FreelancerSetPhotoResponse.java @@ -1,7 +1,6 @@ package com.workup.users.commands; import com.workup.shared.commands.CommandResponse; - import lombok.Getter; import lombok.experimental.SuperBuilder; import lombok.extern.jackson.Jacksonized; @@ -9,5 +8,4 @@ @Getter @SuperBuilder(setterPrefix = "with") @Jacksonized -public class FreelancerSetPhotoResponse extends CommandResponse { -} +public class FreelancerSetPhotoResponse extends CommandResponse {} diff --git a/services/users/src/main/java/com/workup/users/commands/FreelancerSetProfileCommand.java b/services/users/src/main/java/com/workup/users/commands/FreelancerSetProfileCommand.java index 4f5452bd..7eac5269 100644 --- a/services/users/src/main/java/com/workup/users/commands/FreelancerSetProfileCommand.java +++ b/services/users/src/main/java/com/workup/users/commands/FreelancerSetProfileCommand.java @@ -1,52 +1,47 @@ package com.workup.users.commands; -import java.util.Optional; - import com.workup.users.db.Freelancer; +import java.util.Optional; public class FreelancerSetProfileCommand - extends UserCommand { - - @Override - public FreelancerSetProfileResponse Run(FreelancerSetProfileRequest request) { - - Freelancer freelancer; - if (request.user_id == null) { - freelancer = Freelancer.builder().withId(null).build(); - } else { - - Optional freelancerOption = freelancerRepository.findById(request.user_id); - if (!freelancerOption.isPresent()) { - throw new RuntimeException("User not found"); - } - freelancer = freelancerOption.get(); - } - - if (request.birth_date != null) { - freelancer.setBirthdate(request.birth_date); - } - if (request.description != null) { - freelancer.setDescription(request.description); - } - if (request.job_title != null) { - freelancer.setJob_title(request.job_title); - } - if (request.city != null) { - freelancer.setCity(request.city); - } - if (request.full_name != null) { - freelancer.setFull_name(request.full_name); - } - if (request.email != null) { - freelancer.setEmail(request.email); - } - - freelancerRepository.save(freelancer); - - return FreelancerSetProfileResponse.builder() - .withSuccess(true) - .build(); + extends UserCommand { + + @Override + public FreelancerSetProfileResponse Run(FreelancerSetProfileRequest request) { + + Freelancer freelancer; + if (request.user_id == null) { + freelancer = Freelancer.builder().withId(null).build(); + } else { + + Optional freelancerOption = freelancerRepository.findById(request.user_id); + if (!freelancerOption.isPresent()) { + throw new RuntimeException("User not found"); + } + freelancer = freelancerOption.get(); + } + if (request.birth_date != null) { + freelancer.setBirthdate(request.birth_date); } + if (request.description != null) { + freelancer.setDescription(request.description); + } + if (request.job_title != null) { + freelancer.setJob_title(request.job_title); + } + if (request.city != null) { + freelancer.setCity(request.city); + } + if (request.full_name != null) { + freelancer.setFull_name(request.full_name); + } + if (request.email != null) { + freelancer.setEmail(request.email); + } + + freelancerRepository.save(freelancer); -} \ No newline at end of file + return FreelancerSetProfileResponse.builder().withSuccess(true).build(); + } +} diff --git a/services/users/src/main/java/com/workup/users/commands/FreelancerSetProfileRequest.java b/services/users/src/main/java/com/workup/users/commands/FreelancerSetProfileRequest.java index 035cf42a..fd994c10 100644 --- a/services/users/src/main/java/com/workup/users/commands/FreelancerSetProfileRequest.java +++ b/services/users/src/main/java/com/workup/users/commands/FreelancerSetProfileRequest.java @@ -1,9 +1,7 @@ package com.workup.users.commands; -import java.util.Date; - import com.workup.shared.commands.CommandRequest; - +import java.util.Date; import lombok.Getter; import lombok.experimental.SuperBuilder; import lombok.extern.jackson.Jacksonized; @@ -12,11 +10,11 @@ @SuperBuilder(setterPrefix = "with") @Jacksonized public class FreelancerSetProfileRequest extends CommandRequest { - String user_id; - String email; - String full_name; - String city; - String job_title; - String description; - Date birth_date; + String user_id; + String email; + String full_name; + String city; + String job_title; + String description; + Date birth_date; } diff --git a/services/users/src/main/java/com/workup/users/commands/FreelancerSetProfileResponse.java b/services/users/src/main/java/com/workup/users/commands/FreelancerSetProfileResponse.java index dae5fe2d..320c049a 100644 --- a/services/users/src/main/java/com/workup/users/commands/FreelancerSetProfileResponse.java +++ b/services/users/src/main/java/com/workup/users/commands/FreelancerSetProfileResponse.java @@ -1,7 +1,6 @@ package com.workup.users.commands; import com.workup.shared.commands.CommandResponse; - import lombok.Getter; import lombok.experimental.SuperBuilder; import lombok.extern.jackson.Jacksonized; @@ -10,5 +9,5 @@ @SuperBuilder(setterPrefix = "with") @Jacksonized public class FreelancerSetProfileResponse extends CommandResponse { - boolean success; + boolean success; } diff --git a/services/users/src/main/java/com/workup/users/commands/FreelancerSetResumeCommand.java b/services/users/src/main/java/com/workup/users/commands/FreelancerSetResumeCommand.java index 95912c76..d6955900 100644 --- a/services/users/src/main/java/com/workup/users/commands/FreelancerSetResumeCommand.java +++ b/services/users/src/main/java/com/workup/users/commands/FreelancerSetResumeCommand.java @@ -4,26 +4,20 @@ import java.util.Base64; public class FreelancerSetResumeCommand - extends UserCommand { + extends UserCommand { - @Override - public FreelancerSetResumeResponse Run(FreelancerSetResumeRequest request) { + @Override + public FreelancerSetResumeResponse Run(FreelancerSetResumeRequest request) { - String name = RESUME_BUCKET + request.user_id; + String name = RESUME_BUCKET + request.user_id; - byte[] resume_byes_arr = Base64.getDecoder().decode(request.resume_encoded); - - try { - gridFsTemplate.store(new ByteArrayInputStream(resume_byes_arr), name); - } catch (Exception e) { - return FreelancerSetResumeResponse.builder() - .withSuccess(false) - .build(); - } - return FreelancerSetResumeResponse.builder() - .withSuccess(true) - .build(); + byte[] resume_byes_arr = Base64.getDecoder().decode(request.resume_encoded); + try { + gridFsTemplate.store(new ByteArrayInputStream(resume_byes_arr), name); + } catch (Exception e) { + return FreelancerSetResumeResponse.builder().withSuccess(false).build(); } - -} \ No newline at end of file + return FreelancerSetResumeResponse.builder().withSuccess(true).build(); + } +} diff --git a/services/users/src/main/java/com/workup/users/commands/FreelancerSetResumeRequest.java b/services/users/src/main/java/com/workup/users/commands/FreelancerSetResumeRequest.java index 803d3dc3..be10a455 100644 --- a/services/users/src/main/java/com/workup/users/commands/FreelancerSetResumeRequest.java +++ b/services/users/src/main/java/com/workup/users/commands/FreelancerSetResumeRequest.java @@ -1,7 +1,6 @@ package com.workup.users.commands; import com.workup.shared.commands.CommandRequest; - import lombok.Getter; import lombok.experimental.SuperBuilder; import lombok.extern.jackson.Jacksonized; @@ -10,7 +9,6 @@ @SuperBuilder(setterPrefix = "with") @Jacksonized public class FreelancerSetResumeRequest extends CommandRequest { - String user_id; - String resume_encoded; // Base64 encoded photo - + String user_id; + String resume_encoded; // Base64 encoded photo } diff --git a/services/users/src/main/java/com/workup/users/commands/FreelancerSetResumeResponse.java b/services/users/src/main/java/com/workup/users/commands/FreelancerSetResumeResponse.java index ce369dea..bba27559 100644 --- a/services/users/src/main/java/com/workup/users/commands/FreelancerSetResumeResponse.java +++ b/services/users/src/main/java/com/workup/users/commands/FreelancerSetResumeResponse.java @@ -1,7 +1,6 @@ package com.workup.users.commands; import com.workup.shared.commands.CommandResponse; - import lombok.Getter; import lombok.experimental.SuperBuilder; import lombok.extern.jackson.Jacksonized; @@ -9,5 +8,4 @@ @Getter @SuperBuilder(setterPrefix = "with") @Jacksonized -public class FreelancerSetResumeResponse extends CommandResponse { -} +public class FreelancerSetResumeResponse extends CommandResponse {} diff --git a/services/users/src/main/java/com/workup/users/commands/GetFreelancerAchievementsCommand.java b/services/users/src/main/java/com/workup/users/commands/GetFreelancerAchievementsCommand.java index e6910805..b2c65481 100644 --- a/services/users/src/main/java/com/workup/users/commands/GetFreelancerAchievementsCommand.java +++ b/services/users/src/main/java/com/workup/users/commands/GetFreelancerAchievementsCommand.java @@ -4,18 +4,22 @@ import com.workup.users.commands.responses.GetFreelancerAchievementsResponse; import com.workup.users.db.Achievement; import com.workup.users.db.Freelancer; - import java.util.List; import java.util.Optional; -public class GetFreelancerAchievementsCommand extends UserCommand { - @Override - public GetFreelancerAchievementsResponse Run(GetFreelancerAchievementsRequest request) { - Optional freelancerOptional = freelancerRepository.findById(request.getFreelancer_id()); - if (freelancerOptional.isEmpty()) - return GetFreelancerAchievementsResponse.builder().withSuccess(false).build(); - Freelancer freelancer = freelancerOptional.get(); - List achievements = freelancer.getAchievements(); - return GetFreelancerAchievementsResponse.builder().withSuccess(true).withAchievements(achievements).build(); - } +public class GetFreelancerAchievementsCommand + extends UserCommand { + @Override + public GetFreelancerAchievementsResponse Run(GetFreelancerAchievementsRequest request) { + Optional freelancerOptional = + freelancerRepository.findById(request.getFreelancer_id()); + if (freelancerOptional.isEmpty()) + return GetFreelancerAchievementsResponse.builder().withSuccess(false).build(); + Freelancer freelancer = freelancerOptional.get(); + List achievements = freelancer.getAchievements(); + return GetFreelancerAchievementsResponse.builder() + .withSuccess(true) + .withAchievements(achievements) + .build(); + } } diff --git a/services/users/src/main/java/com/workup/users/commands/GetFreelancerEducationsCommand.java b/services/users/src/main/java/com/workup/users/commands/GetFreelancerEducationsCommand.java index 2267772b..e9aefb4f 100644 --- a/services/users/src/main/java/com/workup/users/commands/GetFreelancerEducationsCommand.java +++ b/services/users/src/main/java/com/workup/users/commands/GetFreelancerEducationsCommand.java @@ -4,18 +4,21 @@ import com.workup.users.commands.responses.GetFreelancerEducationsResponse; import com.workup.users.db.Education; import com.workup.users.db.Freelancer; - import java.util.List; import java.util.Optional; -public class GetFreelancerEducationsCommand extends UserCommand { - @Override - public GetFreelancerEducationsResponse Run(GetFreelancerEducationsRequest request) { - Optional freelancerOptional = freelancerRepository.findById(request.getUser_id()); - if (freelancerOptional.isEmpty()) - return GetFreelancerEducationsResponse.builder().withSuccess(false).build(); - Freelancer freelancer = freelancerOptional.get(); - List educations = freelancer.getEducations(); - return GetFreelancerEducationsResponse.builder().withSuccess(true).withEducations(educations).build(); - } +public class GetFreelancerEducationsCommand + extends UserCommand { + @Override + public GetFreelancerEducationsResponse Run(GetFreelancerEducationsRequest request) { + Optional freelancerOptional = freelancerRepository.findById(request.getUser_id()); + if (freelancerOptional.isEmpty()) + return GetFreelancerEducationsResponse.builder().withSuccess(false).build(); + Freelancer freelancer = freelancerOptional.get(); + List educations = freelancer.getEducations(); + return GetFreelancerEducationsResponse.builder() + .withSuccess(true) + .withEducations(educations) + .build(); + } } diff --git a/services/users/src/main/java/com/workup/users/commands/GetFreelancerExperiencesCommand.java b/services/users/src/main/java/com/workup/users/commands/GetFreelancerExperiencesCommand.java index 6188cd3a..162d599b 100644 --- a/services/users/src/main/java/com/workup/users/commands/GetFreelancerExperiencesCommand.java +++ b/services/users/src/main/java/com/workup/users/commands/GetFreelancerExperiencesCommand.java @@ -4,19 +4,23 @@ import com.workup.users.commands.responses.GetFreelancerExperiencesResponse; import com.workup.users.db.Experience; import com.workup.users.db.Freelancer; - import java.util.List; import java.util.Optional; -public class GetFreelancerExperiencesCommand extends UserCommand { +public class GetFreelancerExperiencesCommand + extends UserCommand { - @Override - public GetFreelancerExperiencesResponse Run(GetFreelancerExperiencesRequest request) { - Optional freelancerOptional = freelancerRepository.findById(request.getFreelancerId()); - if (freelancerOptional.isEmpty()) - return GetFreelancerExperiencesResponse.builder().withSuccess(false).build(); - Freelancer freelancer = freelancerOptional.get(); - List experiences = freelancer.getExperiences(); - return GetFreelancerExperiencesResponse.builder().withSuccess(true).withExperiences(experiences).build(); - } + @Override + public GetFreelancerExperiencesResponse Run(GetFreelancerExperiencesRequest request) { + Optional freelancerOptional = + freelancerRepository.findById(request.getFreelancerId()); + if (freelancerOptional.isEmpty()) + return GetFreelancerExperiencesResponse.builder().withSuccess(false).build(); + Freelancer freelancer = freelancerOptional.get(); + List experiences = freelancer.getExperiences(); + return GetFreelancerExperiencesResponse.builder() + .withSuccess(true) + .withExperiences(experiences) + .build(); + } } diff --git a/services/users/src/main/java/com/workup/users/commands/GetFreelancerLanguagesCommand.java b/services/users/src/main/java/com/workup/users/commands/GetFreelancerLanguagesCommand.java index 8e590eb6..80187c95 100644 --- a/services/users/src/main/java/com/workup/users/commands/GetFreelancerLanguagesCommand.java +++ b/services/users/src/main/java/com/workup/users/commands/GetFreelancerLanguagesCommand.java @@ -3,19 +3,21 @@ import com.workup.shared.commands.users.requests.GetFreelancerLanguagesRequest; import com.workup.shared.commands.users.responses.GetFreelancerLanguagesResponse; import com.workup.users.db.Freelancer; -import org.springframework.http.ResponseEntity; - import java.util.List; import java.util.Optional; -public class GetFreelancerLanguagesCommand extends UserCommand { - @Override - public GetFreelancerLanguagesResponse Run(GetFreelancerLanguagesRequest request) { - Optional freelancerOptional = freelancerRepository.findById(request.getUser_id()); - if (freelancerOptional.isEmpty()) - return GetFreelancerLanguagesResponse.builder().withSuccess(false).build(); - Freelancer freelancer = freelancerOptional.get(); - List languages = freelancer.getLanguages(); - return GetFreelancerLanguagesResponse.builder().withSuccess(true).withLanguages(languages).build(); - } +public class GetFreelancerLanguagesCommand + extends UserCommand { + @Override + public GetFreelancerLanguagesResponse Run(GetFreelancerLanguagesRequest request) { + Optional freelancerOptional = freelancerRepository.findById(request.getUser_id()); + if (freelancerOptional.isEmpty()) + return GetFreelancerLanguagesResponse.builder().withSuccess(false).build(); + Freelancer freelancer = freelancerOptional.get(); + List languages = freelancer.getLanguages(); + return GetFreelancerLanguagesResponse.builder() + .withSuccess(true) + .withLanguages(languages) + .build(); + } } diff --git a/services/users/src/main/java/com/workup/users/commands/GetFreelancerSkillsCommand.java b/services/users/src/main/java/com/workup/users/commands/GetFreelancerSkillsCommand.java index d6c02c90..644194be 100644 --- a/services/users/src/main/java/com/workup/users/commands/GetFreelancerSkillsCommand.java +++ b/services/users/src/main/java/com/workup/users/commands/GetFreelancerSkillsCommand.java @@ -3,21 +3,19 @@ import com.workup.shared.commands.users.requests.GetFreelancerSkillsRequest; import com.workup.shared.commands.users.responses.GetFreelancerSkillsResponse; import com.workup.users.db.Freelancer; -import org.springframework.http.ResponseEntity; - import java.util.List; import java.util.Optional; -public class GetFreelancerSkillsCommand extends UserCommand{ - +public class GetFreelancerSkillsCommand + extends UserCommand { - @Override - public GetFreelancerSkillsResponse Run(GetFreelancerSkillsRequest request) { - Optional freelancerOptional = freelancerRepository.findById(request.getUser_id()); - if (freelancerOptional.isEmpty()) - return GetFreelancerSkillsResponse.builder().withSuccess(false).build(); - Freelancer freelancer = freelancerOptional.get(); - List skills = freelancer.getSkills(); - return GetFreelancerSkillsResponse.builder().withSuccess(true).withSkills(skills).build(); - } + @Override + public GetFreelancerSkillsResponse Run(GetFreelancerSkillsRequest request) { + Optional freelancerOptional = freelancerRepository.findById(request.getUser_id()); + if (freelancerOptional.isEmpty()) + return GetFreelancerSkillsResponse.builder().withSuccess(false).build(); + Freelancer freelancer = freelancerOptional.get(); + List skills = freelancer.getSkills(); + return GetFreelancerSkillsResponse.builder().withSuccess(true).withSkills(skills).build(); + } } diff --git a/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerAchievementCommand.java b/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerAchievementCommand.java index 2ff18e64..ba4b5046 100644 --- a/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerAchievementCommand.java +++ b/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerAchievementCommand.java @@ -4,30 +4,36 @@ import com.workup.users.commands.responses.RemoveFreelancerAchievementResponse; import com.workup.users.db.Achievement; import com.workup.users.db.Freelancer; -import org.springframework.http.ResponseEntity; - import java.util.Optional; +import org.springframework.http.ResponseEntity; -public class RemoveFreelancerAchievementCommand extends UserCommand { - @Override - public RemoveFreelancerAchievementResponse Run(RemoveFreelancerAchievementRequest request) { - Optional freelancerOptional = freelancerRepository.findById(request.getFreelancerId()); - if (freelancerOptional.isEmpty()) - return RemoveFreelancerAchievementResponse.builder().withSuccess(false).build(); - Freelancer freelancer = freelancerOptional.get(); - freelancer.getAchievements().removeIf(achievement -> achievement.getId().toString().equals(request.getAchievementId())); - deleteAchievement(request.getAchievementId()); - freelancerRepository.save(freelancer); - return RemoveFreelancerAchievementResponse.builder().withSuccess(true).withFreelancer(freelancer).build(); - } +public class RemoveFreelancerAchievementCommand + extends UserCommand { + @Override + public RemoveFreelancerAchievementResponse Run(RemoveFreelancerAchievementRequest request) { + Optional freelancerOptional = + freelancerRepository.findById(request.getFreelancerId()); + if (freelancerOptional.isEmpty()) + return RemoveFreelancerAchievementResponse.builder().withSuccess(false).build(); + Freelancer freelancer = freelancerOptional.get(); + freelancer + .getAchievements() + .removeIf(achievement -> achievement.getId().toString().equals(request.getAchievementId())); + deleteAchievement(request.getAchievementId()); + freelancerRepository.save(freelancer); + return RemoveFreelancerAchievementResponse.builder() + .withSuccess(true) + .withFreelancer(freelancer) + .build(); + } - public void deleteAchievement(String id) { - Optional achievementOptional = achievementRepository.findById(id); - if (achievementOptional.isEmpty()) { - ResponseEntity.notFound().build(); - return; - } - achievementRepository.delete(achievementOptional.get()); - ResponseEntity.noContent().build(); + public void deleteAchievement(String id) { + Optional achievementOptional = achievementRepository.findById(id); + if (achievementOptional.isEmpty()) { + ResponseEntity.notFound().build(); + return; } + achievementRepository.delete(achievementOptional.get()); + ResponseEntity.noContent().build(); + } } diff --git a/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerEducationCommand.java b/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerEducationCommand.java index 18ca7abb..b800d37e 100644 --- a/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerEducationCommand.java +++ b/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerEducationCommand.java @@ -4,31 +4,37 @@ import com.workup.users.commands.responses.RemoveFreelancerEducationResponse; import com.workup.users.db.Education; import com.workup.users.db.Freelancer; -import org.springframework.http.ResponseEntity; - import java.util.Optional; +import org.springframework.http.ResponseEntity; -public class RemoveFreelancerEducationCommand extends UserCommand { +public class RemoveFreelancerEducationCommand + extends UserCommand { - @Override - public RemoveFreelancerEducationResponse Run(RemoveFreelancerEducationRequest request) { - Optional freelancerOptional = freelancerRepository.findById(request.getFreelancer_id()); - if (freelancerOptional.isEmpty()) - return RemoveFreelancerEducationResponse.builder().withSuccess(false).build(); - Freelancer freelancer = freelancerOptional.get(); - freelancer.getEducations().removeIf(education -> education.getId().toString().equals(request.getEducation_id())); - deleteEducation(request.getEducation_id()); - freelancerRepository.save(freelancer); - return RemoveFreelancerEducationResponse.builder().withSuccess(true).withFreelancer(freelancer).build(); - } + @Override + public RemoveFreelancerEducationResponse Run(RemoveFreelancerEducationRequest request) { + Optional freelancerOptional = + freelancerRepository.findById(request.getFreelancer_id()); + if (freelancerOptional.isEmpty()) + return RemoveFreelancerEducationResponse.builder().withSuccess(false).build(); + Freelancer freelancer = freelancerOptional.get(); + freelancer + .getEducations() + .removeIf(education -> education.getId().toString().equals(request.getEducation_id())); + deleteEducation(request.getEducation_id()); + freelancerRepository.save(freelancer); + return RemoveFreelancerEducationResponse.builder() + .withSuccess(true) + .withFreelancer(freelancer) + .build(); + } - void deleteEducation(String id) { - Optional educationOptional = educationRepository.findById(id); - if (educationOptional.isEmpty()) { - ResponseEntity.notFound().build(); - return; - } - educationRepository.delete(educationOptional.get()); - ResponseEntity.noContent().build(); + void deleteEducation(String id) { + Optional educationOptional = educationRepository.findById(id); + if (educationOptional.isEmpty()) { + ResponseEntity.notFound().build(); + return; } + educationRepository.delete(educationOptional.get()); + ResponseEntity.noContent().build(); + } } diff --git a/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerExperienceCommand.java b/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerExperienceCommand.java index 2c338a06..5a73f423 100644 --- a/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerExperienceCommand.java +++ b/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerExperienceCommand.java @@ -4,30 +4,36 @@ import com.workup.users.commands.responses.RemoveFreelancerExperienceResponse; import com.workup.users.db.Experience; import com.workup.users.db.Freelancer; -import org.springframework.http.ResponseEntity; - import java.util.Optional; +import org.springframework.http.ResponseEntity; -public class RemoveFreelancerExperienceCommand extends UserCommand { - @Override - public RemoveFreelancerExperienceResponse Run(RemoveFreelancerExperienceRequest request) { - Optional freelancerOptional = freelancerRepository.findById(request.getFreelancer_id()); - if (freelancerOptional.isEmpty()) - return RemoveFreelancerExperienceResponse.builder().withSuccess(false).build(); - Freelancer freelancer = freelancerOptional.get(); - freelancer.getExperiences().removeIf(experience -> experience.getId().toString().equals(request.getExperience_id())); - deleteExperience(request.getExperience_id()); - freelancerRepository.save(freelancer); - return RemoveFreelancerExperienceResponse.builder().withSuccess(true).withFreelancer(freelancer).build(); - } +public class RemoveFreelancerExperienceCommand + extends UserCommand { + @Override + public RemoveFreelancerExperienceResponse Run(RemoveFreelancerExperienceRequest request) { + Optional freelancerOptional = + freelancerRepository.findById(request.getFreelancer_id()); + if (freelancerOptional.isEmpty()) + return RemoveFreelancerExperienceResponse.builder().withSuccess(false).build(); + Freelancer freelancer = freelancerOptional.get(); + freelancer + .getExperiences() + .removeIf(experience -> experience.getId().toString().equals(request.getExperience_id())); + deleteExperience(request.getExperience_id()); + freelancerRepository.save(freelancer); + return RemoveFreelancerExperienceResponse.builder() + .withSuccess(true) + .withFreelancer(freelancer) + .build(); + } - public void deleteExperience(String id) { - Optional experienceOptional = experienceRepository.findById(id); - if (experienceOptional.isEmpty()) { - ResponseEntity.notFound().build(); - return; - } - experienceRepository.delete(experienceOptional.get()); - ResponseEntity.noContent().build(); + public void deleteExperience(String id) { + Optional experienceOptional = experienceRepository.findById(id); + if (experienceOptional.isEmpty()) { + ResponseEntity.notFound().build(); + return; } + experienceRepository.delete(experienceOptional.get()); + ResponseEntity.noContent().build(); + } } diff --git a/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerLanguageCommand.java b/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerLanguageCommand.java index c1530c8c..a951d0bd 100644 --- a/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerLanguageCommand.java +++ b/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerLanguageCommand.java @@ -3,19 +3,18 @@ import com.workup.shared.commands.users.requests.RemoveFreelancerLanguageRequest; import com.workup.shared.commands.users.responses.RemoveFreelancerLanguageResponse; import com.workup.users.db.Freelancer; -import org.springframework.http.ResponseEntity; - import java.util.Optional; -public class RemoveFreelancerLanguageCommand extends UserCommand { - @Override - public RemoveFreelancerLanguageResponse Run(RemoveFreelancerLanguageRequest request) { - Optional freelancerOptional = freelancerRepository.findById(request.getUser_id()); - if (freelancerOptional.isEmpty()) - return RemoveFreelancerLanguageResponse.builder().withSuccess(false).build(); - Freelancer freelancer = freelancerOptional.get(); - freelancer.getLanguages().remove(request.getLanguageToRemove()); - freelancerRepository.save(freelancer); - return RemoveFreelancerLanguageResponse.builder().withSuccess(true).build(); - } +public class RemoveFreelancerLanguageCommand + extends UserCommand { + @Override + public RemoveFreelancerLanguageResponse Run(RemoveFreelancerLanguageRequest request) { + Optional freelancerOptional = freelancerRepository.findById(request.getUser_id()); + if (freelancerOptional.isEmpty()) + return RemoveFreelancerLanguageResponse.builder().withSuccess(false).build(); + Freelancer freelancer = freelancerOptional.get(); + freelancer.getLanguages().remove(request.getLanguageToRemove()); + freelancerRepository.save(freelancer); + return RemoveFreelancerLanguageResponse.builder().withSuccess(true).build(); + } } diff --git a/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerSkillCommand.java b/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerSkillCommand.java index bf4bc801..c700deda 100644 --- a/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerSkillCommand.java +++ b/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerSkillCommand.java @@ -3,19 +3,18 @@ import com.workup.shared.commands.users.requests.RemoveFreelancerSkillRequest; import com.workup.shared.commands.users.responses.RemoveFreelancerSkillResponse; import com.workup.users.db.Freelancer; -import org.springframework.http.ResponseEntity; - import java.util.Optional; -public class RemoveFreelancerSkillCommand extends UserCommand { - @Override - public RemoveFreelancerSkillResponse Run(RemoveFreelancerSkillRequest request) { - Optional freelancerOptional = freelancerRepository.findById(request.getUser_id()); - if (freelancerOptional.isEmpty()) - return RemoveFreelancerSkillResponse.builder().withSuccess(false).build(); - Freelancer freelancer = freelancerOptional.get(); - freelancer.getSkills().remove(request.getSkillToRemove()); - freelancerRepository.save(freelancer); - return RemoveFreelancerSkillResponse.builder().withSuccess(false).build(); - } +public class RemoveFreelancerSkillCommand + extends UserCommand { + @Override + public RemoveFreelancerSkillResponse Run(RemoveFreelancerSkillRequest request) { + Optional freelancerOptional = freelancerRepository.findById(request.getUser_id()); + if (freelancerOptional.isEmpty()) + return RemoveFreelancerSkillResponse.builder().withSuccess(false).build(); + Freelancer freelancer = freelancerOptional.get(); + freelancer.getSkills().remove(request.getSkillToRemove()); + freelancerRepository.save(freelancer); + return RemoveFreelancerSkillResponse.builder().withSuccess(false).build(); + } } diff --git a/services/users/src/main/java/com/workup/users/commands/UpdateFreelancerAchievementCommand.java b/services/users/src/main/java/com/workup/users/commands/UpdateFreelancerAchievementCommand.java index 2ce74ac7..5a57d7e1 100644 --- a/services/users/src/main/java/com/workup/users/commands/UpdateFreelancerAchievementCommand.java +++ b/services/users/src/main/java/com/workup/users/commands/UpdateFreelancerAchievementCommand.java @@ -4,33 +4,37 @@ import com.workup.users.commands.responses.UpdateFreelancerAchievementResponse; import com.workup.users.db.Achievement; import com.workup.users.db.Freelancer; +import java.util.Optional; import org.springframework.beans.BeanUtils; import org.springframework.http.ResponseEntity; -import java.util.Optional; - -public class UpdateFreelancerAchievementCommand extends UserCommand { - @Override - public UpdateFreelancerAchievementResponse Run(UpdateFreelancerAchievementRequest request) { - Optional freelancerOptional = freelancerRepository.findById(request.getFreelancer_id()); - if (freelancerOptional.isEmpty()) - return UpdateFreelancerAchievementResponse.builder().withSuccess(false).build(); - Freelancer freelancer = freelancerOptional.get(); - updateAchievement(request.getUpdatedAchievement()); - freelancerRepository.save(freelancer); - return UpdateFreelancerAchievementResponse.builder().withSuccess(true).withFreelancer(freelancer).build(); - } +public class UpdateFreelancerAchievementCommand + extends UserCommand { + @Override + public UpdateFreelancerAchievementResponse Run(UpdateFreelancerAchievementRequest request) { + Optional freelancerOptional = + freelancerRepository.findById(request.getFreelancer_id()); + if (freelancerOptional.isEmpty()) + return UpdateFreelancerAchievementResponse.builder().withSuccess(false).build(); + Freelancer freelancer = freelancerOptional.get(); + updateAchievement(request.getUpdatedAchievement()); + freelancerRepository.save(freelancer); + return UpdateFreelancerAchievementResponse.builder() + .withSuccess(true) + .withFreelancer(freelancer) + .build(); + } - public void updateAchievement(Achievement updatedAchievement) { - String id = updatedAchievement.getId().toString(); - Optional achievementOptional = achievementRepository.findById(id); - if (achievementOptional.isEmpty()) { - ResponseEntity.notFound().build(); - return; - } - Achievement existingAchievement = achievementOptional.get(); - BeanUtils.copyProperties(updatedAchievement, existingAchievement, "id"); - achievementRepository.save(existingAchievement); - ResponseEntity.ok(existingAchievement); + public void updateAchievement(Achievement updatedAchievement) { + String id = updatedAchievement.getId().toString(); + Optional achievementOptional = achievementRepository.findById(id); + if (achievementOptional.isEmpty()) { + ResponseEntity.notFound().build(); + return; } + Achievement existingAchievement = achievementOptional.get(); + BeanUtils.copyProperties(updatedAchievement, existingAchievement, "id"); + achievementRepository.save(existingAchievement); + ResponseEntity.ok(existingAchievement); + } } diff --git a/services/users/src/main/java/com/workup/users/commands/UpdateFreelancerEducationCommand.java b/services/users/src/main/java/com/workup/users/commands/UpdateFreelancerEducationCommand.java index 216bc8e9..58328cc9 100644 --- a/services/users/src/main/java/com/workup/users/commands/UpdateFreelancerEducationCommand.java +++ b/services/users/src/main/java/com/workup/users/commands/UpdateFreelancerEducationCommand.java @@ -4,32 +4,36 @@ import com.workup.users.commands.responses.UpdateFreelancerEducationResponse; import com.workup.users.db.Education; import com.workup.users.db.Freelancer; +import java.util.Optional; import org.springframework.beans.BeanUtils; import org.springframework.http.ResponseEntity; -import java.util.Optional; - -public class UpdateFreelancerEducationCommand extends UserCommand { +public class UpdateFreelancerEducationCommand + extends UserCommand { - @Override - public UpdateFreelancerEducationResponse Run(UpdateFreelancerEducationRequest request) { - Optional freelancerOptional = freelancerRepository.findById(request.getFreelancer_id()); - if (freelancerOptional.isEmpty()) - return UpdateFreelancerEducationResponse.builder().withSuccess(false).build(); - Freelancer freelancer = freelancerOptional.get(); - updateEducation(request.getEducation_id(), request.getUpdatedEducation()); - return UpdateFreelancerEducationResponse.builder().withSuccess(true).withFreelancer(freelancer).build(); - } + @Override + public UpdateFreelancerEducationResponse Run(UpdateFreelancerEducationRequest request) { + Optional freelancerOptional = + freelancerRepository.findById(request.getFreelancer_id()); + if (freelancerOptional.isEmpty()) + return UpdateFreelancerEducationResponse.builder().withSuccess(false).build(); + Freelancer freelancer = freelancerOptional.get(); + updateEducation(request.getEducation_id(), request.getUpdatedEducation()); + return UpdateFreelancerEducationResponse.builder() + .withSuccess(true) + .withFreelancer(freelancer) + .build(); + } - void updateEducation(String id, Education updatedEducation) { - Optional educationOptional = educationRepository.findById(id); - if (educationOptional.isEmpty()) { - ResponseEntity.notFound().build(); - return; - } - Education existingEducation = educationOptional.get(); - BeanUtils.copyProperties(updatedEducation, existingEducation, "id"); - educationRepository.save(existingEducation); - ResponseEntity.ok(existingEducation); + void updateEducation(String id, Education updatedEducation) { + Optional educationOptional = educationRepository.findById(id); + if (educationOptional.isEmpty()) { + ResponseEntity.notFound().build(); + return; } + Education existingEducation = educationOptional.get(); + BeanUtils.copyProperties(updatedEducation, existingEducation, "id"); + educationRepository.save(existingEducation); + ResponseEntity.ok(existingEducation); + } } diff --git a/services/users/src/main/java/com/workup/users/commands/UpdateFreelancerExperienceCommand.java b/services/users/src/main/java/com/workup/users/commands/UpdateFreelancerExperienceCommand.java index ea881cf9..986c607c 100644 --- a/services/users/src/main/java/com/workup/users/commands/UpdateFreelancerExperienceCommand.java +++ b/services/users/src/main/java/com/workup/users/commands/UpdateFreelancerExperienceCommand.java @@ -1,33 +1,36 @@ package com.workup.users.commands; -import com.workup.users.commands.UserCommand; import com.workup.users.commands.requests.UpdateFreelancerExperienceRequest; import com.workup.users.commands.responses.UpdateFreelancerExperienceResponse; import com.workup.users.db.Experience; import com.workup.users.db.Freelancer; +import java.util.Optional; import org.springframework.beans.BeanUtils; import org.springframework.http.ResponseEntity; -import java.util.Optional; - -public class UpdateFreelancerExperienceCommand extends UserCommand { - @Override - public UpdateFreelancerExperienceResponse Run(UpdateFreelancerExperienceRequest request) { - Optional freelancerOptional = freelancerRepository.findById(request.getFreelancer_id()); - if (freelancerOptional.isEmpty()) - return UpdateFreelancerExperienceResponse.builder().withSuccess(false).build(); - Freelancer freelancer = freelancerOptional.get(); - updateExperience(request.getUpdatedExperience().getId().toString(), request.getUpdatedExperience()); - return UpdateFreelancerExperienceResponse.builder().withSuccess(true).withFreelancer(freelancer).build(); - } +public class UpdateFreelancerExperienceCommand + extends UserCommand { + @Override + public UpdateFreelancerExperienceResponse Run(UpdateFreelancerExperienceRequest request) { + Optional freelancerOptional = + freelancerRepository.findById(request.getFreelancer_id()); + if (freelancerOptional.isEmpty()) + return UpdateFreelancerExperienceResponse.builder().withSuccess(false).build(); + Freelancer freelancer = freelancerOptional.get(); + updateExperience( + request.getUpdatedExperience().getId().toString(), request.getUpdatedExperience()); + return UpdateFreelancerExperienceResponse.builder() + .withSuccess(true) + .withFreelancer(freelancer) + .build(); + } - public ResponseEntity updateExperience(String id, Experience updatedExperience) { - Optional experienceOptional = experienceRepository.findById(id); - if (experienceOptional.isEmpty()) - return ResponseEntity.notFound().build(); - Experience existingExperience = experienceOptional.get(); - BeanUtils.copyProperties(updatedExperience, existingExperience, "id"); - experienceRepository.save(existingExperience); - return ResponseEntity.ok(existingExperience); - } + public ResponseEntity updateExperience(String id, Experience updatedExperience) { + Optional experienceOptional = experienceRepository.findById(id); + if (experienceOptional.isEmpty()) return ResponseEntity.notFound().build(); + Experience existingExperience = experienceOptional.get(); + BeanUtils.copyProperties(updatedExperience, existingExperience, "id"); + experienceRepository.save(existingExperience); + return ResponseEntity.ok(existingExperience); + } } diff --git a/services/users/src/main/java/com/workup/users/commands/UserCommand.java b/services/users/src/main/java/com/workup/users/commands/UserCommand.java index a01e0aeb..5e80338f 100644 --- a/services/users/src/main/java/com/workup/users/commands/UserCommand.java +++ b/services/users/src/main/java/com/workup/users/commands/UserCommand.java @@ -6,33 +6,27 @@ import com.workup.users.repositories.ClientRepository; import com.workup.users.repositories.ExperienceRepository; import com.workup.users.repositories.FreelancerRepository; - +import lombok.Setter; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.mongodb.gridfs.GridFsTemplate; -import lombok.Setter; - -public abstract class UserCommand - implements Command { +public abstract class UserCommand< + T extends com.workup.shared.commands.CommandRequest, + Q extends com.workup.shared.commands.CommandResponse> + implements Command { - static final String PHOTO_BUCKET = "photos:"; - static final String RESUME_BUCKET = "resume:"; + static final String PHOTO_BUCKET = "photos:"; + static final String RESUME_BUCKET = "resume:"; - @Setter - FreelancerRepository freelancerRepository; + @Setter FreelancerRepository freelancerRepository; - @Setter - ExperienceRepository experienceRepository; + @Setter ExperienceRepository experienceRepository; - @Setter - EducationRepository educationRepository; + @Setter EducationRepository educationRepository; - @Setter - AchievementRepository achievementRepository; + @Setter AchievementRepository achievementRepository; - @Setter - ClientRepository clientRepository; + @Setter ClientRepository clientRepository; - @Autowired - GridFsTemplate gridFsTemplate; -} \ No newline at end of file + @Autowired GridFsTemplate gridFsTemplate; +} diff --git a/services/users/src/main/java/com/workup/users/commands/UserCommandMap.java b/services/users/src/main/java/com/workup/users/commands/UserCommandMap.java index 41f3d342..1eebf655 100644 --- a/services/users/src/main/java/com/workup/users/commands/UserCommandMap.java +++ b/services/users/src/main/java/com/workup/users/commands/UserCommandMap.java @@ -1,46 +1,45 @@ package com.workup.users.commands; -import com.workup.users.repositories.ClientRepository; -import com.workup.users.repositories.ExperienceRepository; -import com.workup.users.repositories.FreelancerRepository; import com.workup.shared.commands.CommandMap; import com.workup.shared.commands.CommandRequest; import com.workup.shared.commands.CommandResponse; +import com.workup.users.repositories.ClientRepository; +import com.workup.users.repositories.ExperienceRepository; +import com.workup.users.repositories.FreelancerRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @Component -public class UserCommandMap extends CommandMap> { - @Autowired - FreelancerRepository freelancerRepository; - @Autowired - ExperienceRepository experienceRepository; - @Autowired - ClientRepository clientRepository; +public class UserCommandMap + extends CommandMap> { + @Autowired FreelancerRepository freelancerRepository; + @Autowired ExperienceRepository experienceRepository; + @Autowired ClientRepository clientRepository; - public void registerCommands() { + public void registerCommands() { - commands.put("FreelancerGetResume", FreelancerGetResumeCommand.class); - commands.put("FreelancerSetResume", FreelancerSetResumeCommand.class); + commands.put("FreelancerGetResume", FreelancerGetResumeCommand.class); + commands.put("FreelancerSetResume", FreelancerSetResumeCommand.class); - commands.put("FreelancerGetProfile", FreelancerGetProfileCommand.class); - commands.put("FreelancerSetProfile", FreelancerSetProfileCommand.class); + commands.put("FreelancerGetProfile", FreelancerGetProfileCommand.class); + commands.put("FreelancerSetProfile", FreelancerSetProfileCommand.class); - commands.put("FreelancerGetPhoto", FreelancerGetPhotoCommand.class); - commands.put("FreelancerSetPhoto", FreelancerSetPhotoCommand.class); + commands.put("FreelancerGetPhoto", FreelancerGetPhotoCommand.class); + commands.put("FreelancerSetPhoto", FreelancerSetPhotoCommand.class); - commands.put("FreelancerGetProfileBrief", FreelancerGetProfileBriefCommand.class); + commands.put("FreelancerGetProfileBrief", FreelancerGetProfileBriefCommand.class); - commands.put("ClientGetProfile", ClientGetProfileCommand.class); - commands.put("ClientSetProfile", ClientSetProfileCommand.class); + commands.put("ClientGetProfile", ClientGetProfileCommand.class); + commands.put("ClientSetProfile", ClientSetProfileCommand.class); - // NEW_COMMAND_BOILERPLATE - } + // NEW_COMMAND_BOILERPLATE + } - @Override - public void setupCommand(UserCommand command) { - command.setFreelancerRepository(freelancerRepository); - command.setExperienceRepository(experienceRepository); - command.setClientRepository(clientRepository); - } -} \ No newline at end of file + @Override + public void setupCommand( + UserCommand command) { + command.setFreelancerRepository(freelancerRepository); + command.setExperienceRepository(experienceRepository); + command.setClientRepository(clientRepository); + } +} diff --git a/services/users/src/main/java/com/workup/users/commands/requests/AddFreelancerAchievementRequest.java b/services/users/src/main/java/com/workup/users/commands/requests/AddFreelancerAchievementRequest.java index d155dbef..6a1339d0 100644 --- a/services/users/src/main/java/com/workup/users/commands/requests/AddFreelancerAchievementRequest.java +++ b/services/users/src/main/java/com/workup/users/commands/requests/AddFreelancerAchievementRequest.java @@ -10,6 +10,6 @@ @SuperBuilder(setterPrefix = "with") @Jacksonized public class AddFreelancerAchievementRequest extends CommandRequest { - String freelancer_id; - Achievement newAchievement; + String freelancer_id; + Achievement newAchievement; } diff --git a/services/users/src/main/java/com/workup/users/commands/requests/AddFreelancerEducationRequest.java b/services/users/src/main/java/com/workup/users/commands/requests/AddFreelancerEducationRequest.java index 169d4eda..28f2bb2b 100644 --- a/services/users/src/main/java/com/workup/users/commands/requests/AddFreelancerEducationRequest.java +++ b/services/users/src/main/java/com/workup/users/commands/requests/AddFreelancerEducationRequest.java @@ -10,6 +10,6 @@ @SuperBuilder(setterPrefix = "with") @Jacksonized public class AddFreelancerEducationRequest extends CommandRequest { - String freelancer_id; - Education newEducation; + String freelancer_id; + Education newEducation; } diff --git a/services/users/src/main/java/com/workup/users/commands/requests/AddFreelancerExperienceRequest.java b/services/users/src/main/java/com/workup/users/commands/requests/AddFreelancerExperienceRequest.java index f4aa2d7e..3c1a48fe 100644 --- a/services/users/src/main/java/com/workup/users/commands/requests/AddFreelancerExperienceRequest.java +++ b/services/users/src/main/java/com/workup/users/commands/requests/AddFreelancerExperienceRequest.java @@ -10,6 +10,6 @@ @SuperBuilder(setterPrefix = "with") @Jacksonized public class AddFreelancerExperienceRequest extends CommandRequest { - private String freelancerId; - private Experience newExperience; + private String freelancerId; + private Experience newExperience; } diff --git a/services/users/src/main/java/com/workup/users/commands/requests/GetFreelancerAchievementsRequest.java b/services/users/src/main/java/com/workup/users/commands/requests/GetFreelancerAchievementsRequest.java index 69c28729..3f07cd2c 100644 --- a/services/users/src/main/java/com/workup/users/commands/requests/GetFreelancerAchievementsRequest.java +++ b/services/users/src/main/java/com/workup/users/commands/requests/GetFreelancerAchievementsRequest.java @@ -9,5 +9,5 @@ @SuperBuilder(setterPrefix = "with") @Jacksonized public class GetFreelancerAchievementsRequest extends CommandRequest { - String freelancer_id; + String freelancer_id; } diff --git a/services/users/src/main/java/com/workup/users/commands/requests/GetFreelancerEducationsRequest.java b/services/users/src/main/java/com/workup/users/commands/requests/GetFreelancerEducationsRequest.java index 385c3d70..4a542730 100644 --- a/services/users/src/main/java/com/workup/users/commands/requests/GetFreelancerEducationsRequest.java +++ b/services/users/src/main/java/com/workup/users/commands/requests/GetFreelancerEducationsRequest.java @@ -9,5 +9,5 @@ @SuperBuilder(setterPrefix = "with") @Jacksonized public class GetFreelancerEducationsRequest extends CommandRequest { - private String user_id; + private String user_id; } diff --git a/services/users/src/main/java/com/workup/users/commands/requests/GetFreelancerExperiencesRequest.java b/services/users/src/main/java/com/workup/users/commands/requests/GetFreelancerExperiencesRequest.java index 16ab007f..7a31f398 100644 --- a/services/users/src/main/java/com/workup/users/commands/requests/GetFreelancerExperiencesRequest.java +++ b/services/users/src/main/java/com/workup/users/commands/requests/GetFreelancerExperiencesRequest.java @@ -9,5 +9,5 @@ @SuperBuilder(setterPrefix = "with") @Jacksonized public class GetFreelancerExperiencesRequest extends CommandRequest { - private String freelancerId; + private String freelancerId; } diff --git a/services/users/src/main/java/com/workup/users/commands/requests/RemoveFreelancerAchievementRequest.java b/services/users/src/main/java/com/workup/users/commands/requests/RemoveFreelancerAchievementRequest.java index d36ad572..6353d1c0 100644 --- a/services/users/src/main/java/com/workup/users/commands/requests/RemoveFreelancerAchievementRequest.java +++ b/services/users/src/main/java/com/workup/users/commands/requests/RemoveFreelancerAchievementRequest.java @@ -9,6 +9,6 @@ @SuperBuilder(setterPrefix = "with") @Jacksonized public class RemoveFreelancerAchievementRequest extends CommandRequest { - String freelancerId; - String achievementId; + String freelancerId; + String achievementId; } diff --git a/services/users/src/main/java/com/workup/users/commands/requests/RemoveFreelancerEducationRequest.java b/services/users/src/main/java/com/workup/users/commands/requests/RemoveFreelancerEducationRequest.java index 035ea8c6..7a378687 100644 --- a/services/users/src/main/java/com/workup/users/commands/requests/RemoveFreelancerEducationRequest.java +++ b/services/users/src/main/java/com/workup/users/commands/requests/RemoveFreelancerEducationRequest.java @@ -9,6 +9,6 @@ @SuperBuilder(setterPrefix = "with") @Jacksonized public class RemoveFreelancerEducationRequest extends CommandRequest { - String freelancer_id; - String education_id; + String freelancer_id; + String education_id; } diff --git a/services/users/src/main/java/com/workup/users/commands/requests/RemoveFreelancerExperienceRequest.java b/services/users/src/main/java/com/workup/users/commands/requests/RemoveFreelancerExperienceRequest.java index 282c1685..8bd9ce72 100644 --- a/services/users/src/main/java/com/workup/users/commands/requests/RemoveFreelancerExperienceRequest.java +++ b/services/users/src/main/java/com/workup/users/commands/requests/RemoveFreelancerExperienceRequest.java @@ -9,6 +9,6 @@ @SuperBuilder(setterPrefix = "with") @Jacksonized public class RemoveFreelancerExperienceRequest extends CommandRequest { - String freelancer_id; - String experience_id; + String freelancer_id; + String experience_id; } diff --git a/services/users/src/main/java/com/workup/users/commands/requests/UpdateFreelancerAchievementRequest.java b/services/users/src/main/java/com/workup/users/commands/requests/UpdateFreelancerAchievementRequest.java index aee565c8..ff639957 100644 --- a/services/users/src/main/java/com/workup/users/commands/requests/UpdateFreelancerAchievementRequest.java +++ b/services/users/src/main/java/com/workup/users/commands/requests/UpdateFreelancerAchievementRequest.java @@ -10,6 +10,6 @@ @SuperBuilder(setterPrefix = "with") @Jacksonized public class UpdateFreelancerAchievementRequest extends CommandRequest { - String freelancer_id; - Achievement updatedAchievement; + String freelancer_id; + Achievement updatedAchievement; } diff --git a/services/users/src/main/java/com/workup/users/commands/requests/UpdateFreelancerEducationRequest.java b/services/users/src/main/java/com/workup/users/commands/requests/UpdateFreelancerEducationRequest.java index 0de8d9df..fa0bf2dc 100644 --- a/services/users/src/main/java/com/workup/users/commands/requests/UpdateFreelancerEducationRequest.java +++ b/services/users/src/main/java/com/workup/users/commands/requests/UpdateFreelancerEducationRequest.java @@ -10,7 +10,7 @@ @SuperBuilder(setterPrefix = "with") @Jacksonized public class UpdateFreelancerEducationRequest extends CommandRequest { - String freelancer_id; - String education_id; - Education updatedEducation; + String freelancer_id; + String education_id; + Education updatedEducation; } diff --git a/services/users/src/main/java/com/workup/users/commands/requests/UpdateFreelancerExperienceRequest.java b/services/users/src/main/java/com/workup/users/commands/requests/UpdateFreelancerExperienceRequest.java index b4ea37cb..ea913811 100644 --- a/services/users/src/main/java/com/workup/users/commands/requests/UpdateFreelancerExperienceRequest.java +++ b/services/users/src/main/java/com/workup/users/commands/requests/UpdateFreelancerExperienceRequest.java @@ -10,6 +10,6 @@ @SuperBuilder(setterPrefix = "with") @Jacksonized public class UpdateFreelancerExperienceRequest extends CommandRequest { - String freelancer_id; - Experience updatedExperience; + String freelancer_id; + Experience updatedExperience; } diff --git a/services/users/src/main/java/com/workup/users/commands/responses/AddFreelancerAchievementResponse.java b/services/users/src/main/java/com/workup/users/commands/responses/AddFreelancerAchievementResponse.java index fd9ec335..e4503c73 100644 --- a/services/users/src/main/java/com/workup/users/commands/responses/AddFreelancerAchievementResponse.java +++ b/services/users/src/main/java/com/workup/users/commands/responses/AddFreelancerAchievementResponse.java @@ -10,5 +10,5 @@ @SuperBuilder(setterPrefix = "with") @Jacksonized public class AddFreelancerAchievementResponse extends CommandResponse { - Freelancer freelancer; + Freelancer freelancer; } diff --git a/services/users/src/main/java/com/workup/users/commands/responses/AddFreelancerEducationResponse.java b/services/users/src/main/java/com/workup/users/commands/responses/AddFreelancerEducationResponse.java index 995f1b06..ec208805 100644 --- a/services/users/src/main/java/com/workup/users/commands/responses/AddFreelancerEducationResponse.java +++ b/services/users/src/main/java/com/workup/users/commands/responses/AddFreelancerEducationResponse.java @@ -10,5 +10,5 @@ @SuperBuilder(setterPrefix = "with") @Jacksonized public class AddFreelancerEducationResponse extends CommandResponse { - Freelancer freelancer; + Freelancer freelancer; } diff --git a/services/users/src/main/java/com/workup/users/commands/responses/AddFreelancerExperienceResponse.java b/services/users/src/main/java/com/workup/users/commands/responses/AddFreelancerExperienceResponse.java index b043d96b..8b7add6f 100644 --- a/services/users/src/main/java/com/workup/users/commands/responses/AddFreelancerExperienceResponse.java +++ b/services/users/src/main/java/com/workup/users/commands/responses/AddFreelancerExperienceResponse.java @@ -10,5 +10,5 @@ @SuperBuilder(setterPrefix = "with") @Jacksonized public class AddFreelancerExperienceResponse extends CommandResponse { - private Freelancer freelancer; + private Freelancer freelancer; } diff --git a/services/users/src/main/java/com/workup/users/commands/responses/GetFreelancerAchievementsResponse.java b/services/users/src/main/java/com/workup/users/commands/responses/GetFreelancerAchievementsResponse.java index 90345222..10ce5eb2 100644 --- a/services/users/src/main/java/com/workup/users/commands/responses/GetFreelancerAchievementsResponse.java +++ b/services/users/src/main/java/com/workup/users/commands/responses/GetFreelancerAchievementsResponse.java @@ -2,14 +2,14 @@ import com.workup.shared.commands.CommandResponse; import com.workup.users.db.Achievement; +import java.util.List; import lombok.Getter; import lombok.experimental.SuperBuilder; import lombok.extern.jackson.Jacksonized; -import java.util.List; @Getter @SuperBuilder(setterPrefix = "with") @Jacksonized public class GetFreelancerAchievementsResponse extends CommandResponse { - List achievements; + List achievements; } diff --git a/services/users/src/main/java/com/workup/users/commands/responses/GetFreelancerEducationsResponse.java b/services/users/src/main/java/com/workup/users/commands/responses/GetFreelancerEducationsResponse.java index d6415931..4b5608b7 100644 --- a/services/users/src/main/java/com/workup/users/commands/responses/GetFreelancerEducationsResponse.java +++ b/services/users/src/main/java/com/workup/users/commands/responses/GetFreelancerEducationsResponse.java @@ -1,14 +1,15 @@ package com.workup.users.commands.responses; + import com.workup.shared.commands.CommandResponse; import com.workup.users.db.Education; +import java.util.List; import lombok.Getter; import lombok.experimental.SuperBuilder; import lombok.extern.jackson.Jacksonized; -import java.util.List; @Getter @SuperBuilder(setterPrefix = "with") @Jacksonized public class GetFreelancerEducationsResponse extends CommandResponse { - List educations; + List educations; } diff --git a/services/users/src/main/java/com/workup/users/commands/responses/GetFreelancerExperiencesResponse.java b/services/users/src/main/java/com/workup/users/commands/responses/GetFreelancerExperiencesResponse.java index bde46dba..b6930462 100644 --- a/services/users/src/main/java/com/workup/users/commands/responses/GetFreelancerExperiencesResponse.java +++ b/services/users/src/main/java/com/workup/users/commands/responses/GetFreelancerExperiencesResponse.java @@ -2,15 +2,14 @@ import com.workup.shared.commands.CommandResponse; import com.workup.users.db.Experience; +import java.util.List; import lombok.Getter; import lombok.experimental.SuperBuilder; import lombok.extern.jackson.Jacksonized; -import java.util.List; - @Getter @SuperBuilder(setterPrefix = "with") @Jacksonized public class GetFreelancerExperiencesResponse extends CommandResponse { - private List experiences; + private List experiences; } diff --git a/services/users/src/main/java/com/workup/users/commands/responses/RemoveFreelancerAchievementResponse.java b/services/users/src/main/java/com/workup/users/commands/responses/RemoveFreelancerAchievementResponse.java index 2d5f2142..5254cdb8 100644 --- a/services/users/src/main/java/com/workup/users/commands/responses/RemoveFreelancerAchievementResponse.java +++ b/services/users/src/main/java/com/workup/users/commands/responses/RemoveFreelancerAchievementResponse.java @@ -10,5 +10,5 @@ @SuperBuilder(setterPrefix = "with") @Jacksonized public class RemoveFreelancerAchievementResponse extends CommandResponse { - Freelancer freelancer; + Freelancer freelancer; } diff --git a/services/users/src/main/java/com/workup/users/commands/responses/RemoveFreelancerEducationResponse.java b/services/users/src/main/java/com/workup/users/commands/responses/RemoveFreelancerEducationResponse.java index b9f30998..ad4a3b03 100644 --- a/services/users/src/main/java/com/workup/users/commands/responses/RemoveFreelancerEducationResponse.java +++ b/services/users/src/main/java/com/workup/users/commands/responses/RemoveFreelancerEducationResponse.java @@ -10,5 +10,5 @@ @SuperBuilder(setterPrefix = "with") @Jacksonized public class RemoveFreelancerEducationResponse extends CommandResponse { - Freelancer freelancer; + Freelancer freelancer; } diff --git a/services/users/src/main/java/com/workup/users/commands/responses/RemoveFreelancerExperienceResponse.java b/services/users/src/main/java/com/workup/users/commands/responses/RemoveFreelancerExperienceResponse.java index 539d2024..66cc9707 100644 --- a/services/users/src/main/java/com/workup/users/commands/responses/RemoveFreelancerExperienceResponse.java +++ b/services/users/src/main/java/com/workup/users/commands/responses/RemoveFreelancerExperienceResponse.java @@ -10,5 +10,5 @@ @SuperBuilder(setterPrefix = "with") @Jacksonized public class RemoveFreelancerExperienceResponse extends CommandResponse { - Freelancer freelancer; + Freelancer freelancer; } diff --git a/services/users/src/main/java/com/workup/users/commands/responses/UpdateFreelancerAchievementResponse.java b/services/users/src/main/java/com/workup/users/commands/responses/UpdateFreelancerAchievementResponse.java index b138759b..68907f80 100644 --- a/services/users/src/main/java/com/workup/users/commands/responses/UpdateFreelancerAchievementResponse.java +++ b/services/users/src/main/java/com/workup/users/commands/responses/UpdateFreelancerAchievementResponse.java @@ -10,5 +10,5 @@ @SuperBuilder(setterPrefix = "with") @Jacksonized public class UpdateFreelancerAchievementResponse extends CommandResponse { - Freelancer freelancer; + Freelancer freelancer; } diff --git a/services/users/src/main/java/com/workup/users/commands/responses/UpdateFreelancerEducationResponse.java b/services/users/src/main/java/com/workup/users/commands/responses/UpdateFreelancerEducationResponse.java index fd8e41be..06d5af17 100644 --- a/services/users/src/main/java/com/workup/users/commands/responses/UpdateFreelancerEducationResponse.java +++ b/services/users/src/main/java/com/workup/users/commands/responses/UpdateFreelancerEducationResponse.java @@ -10,5 +10,5 @@ @SuperBuilder(setterPrefix = "with") @Jacksonized public class UpdateFreelancerEducationResponse extends CommandResponse { - Freelancer freelancer; + Freelancer freelancer; } diff --git a/services/users/src/main/java/com/workup/users/commands/responses/UpdateFreelancerExperienceResponse.java b/services/users/src/main/java/com/workup/users/commands/responses/UpdateFreelancerExperienceResponse.java index 93477eac..bea5b80a 100644 --- a/services/users/src/main/java/com/workup/users/commands/responses/UpdateFreelancerExperienceResponse.java +++ b/services/users/src/main/java/com/workup/users/commands/responses/UpdateFreelancerExperienceResponse.java @@ -10,5 +10,5 @@ @SuperBuilder(setterPrefix = "with") @Jacksonized public class UpdateFreelancerExperienceResponse extends CommandResponse { - Freelancer freelancer; + Freelancer freelancer; } diff --git a/services/users/src/main/java/com/workup/users/db/AchievementRepository.java b/services/users/src/main/java/com/workup/users/db/AchievementRepository.java index 9d2f3862..d9c3d37d 100644 --- a/services/users/src/main/java/com/workup/users/db/AchievementRepository.java +++ b/services/users/src/main/java/com/workup/users/db/AchievementRepository.java @@ -2,5 +2,4 @@ import org.springframework.data.mongodb.repository.MongoRepository; -public interface AchievementRepository extends MongoRepository { -} +public interface AchievementRepository extends MongoRepository {} diff --git a/services/users/src/main/java/com/workup/users/db/EducationRepository.java b/services/users/src/main/java/com/workup/users/db/EducationRepository.java index 5b8c919b..91fc2006 100644 --- a/services/users/src/main/java/com/workup/users/db/EducationRepository.java +++ b/services/users/src/main/java/com/workup/users/db/EducationRepository.java @@ -2,5 +2,4 @@ import org.springframework.data.mongodb.repository.MongoRepository; -public interface EducationRepository extends MongoRepository { -} +public interface EducationRepository extends MongoRepository {} diff --git a/services/users/src/main/java/com/workup/users/db/ExperienceRepository.java b/services/users/src/main/java/com/workup/users/db/ExperienceRepository.java index fa2f7a01..6fd5066e 100644 --- a/services/users/src/main/java/com/workup/users/db/ExperienceRepository.java +++ b/services/users/src/main/java/com/workup/users/db/ExperienceRepository.java @@ -2,5 +2,4 @@ import org.springframework.data.mongodb.repository.MongoRepository; -public interface ExperienceRepository extends MongoRepository { -} +public interface ExperienceRepository extends MongoRepository {} diff --git a/services/users/src/main/java/com/workup/users/db/FreelancerRepository.java b/services/users/src/main/java/com/workup/users/db/FreelancerRepository.java index 812cf68b..b7ba7214 100644 --- a/services/users/src/main/java/com/workup/users/db/FreelancerRepository.java +++ b/services/users/src/main/java/com/workup/users/db/FreelancerRepository.java @@ -2,5 +2,4 @@ import org.springframework.data.mongodb.repository.MongoRepository; -public interface FreelancerRepository extends MongoRepository { -} +public interface FreelancerRepository extends MongoRepository {} diff --git a/services/users/src/main/java/com/workup/users/repositories/ClientRepository.java b/services/users/src/main/java/com/workup/users/repositories/ClientRepository.java index 4a8c6520..59d0ca4a 100644 --- a/services/users/src/main/java/com/workup/users/repositories/ClientRepository.java +++ b/services/users/src/main/java/com/workup/users/repositories/ClientRepository.java @@ -1,10 +1,6 @@ package com.workup.users.repositories; -import java.util.List; - -import org.springframework.data.mongodb.repository.MongoRepository; - import com.workup.users.db.Client; +import org.springframework.data.mongodb.repository.MongoRepository; -public interface ClientRepository extends MongoRepository { -} +public interface ClientRepository extends MongoRepository {} diff --git a/services/users/src/main/java/com/workup/users/repositories/ExperienceRepository.java b/services/users/src/main/java/com/workup/users/repositories/ExperienceRepository.java index 5ad5f20e..451a84c3 100644 --- a/services/users/src/main/java/com/workup/users/repositories/ExperienceRepository.java +++ b/services/users/src/main/java/com/workup/users/repositories/ExperienceRepository.java @@ -1,10 +1,6 @@ package com.workup.users.repositories; -import java.util.List; - -import org.springframework.data.mongodb.repository.MongoRepository; - import com.workup.users.db.Experience; +import org.springframework.data.mongodb.repository.MongoRepository; -public interface ExperienceRepository extends MongoRepository { -} +public interface ExperienceRepository extends MongoRepository {} diff --git a/services/users/src/main/java/com/workup/users/repositories/FreelancerRepository.java b/services/users/src/main/java/com/workup/users/repositories/FreelancerRepository.java index 994164db..87194732 100644 --- a/services/users/src/main/java/com/workup/users/repositories/FreelancerRepository.java +++ b/services/users/src/main/java/com/workup/users/repositories/FreelancerRepository.java @@ -1,10 +1,6 @@ package com.workup.users.repositories; -import java.util.List; - -import org.springframework.data.mongodb.repository.MongoRepository; import com.workup.users.db.Freelancer; +import org.springframework.data.mongodb.repository.MongoRepository; -public interface FreelancerRepository extends MongoRepository { - -} +public interface FreelancerRepository extends MongoRepository {} diff --git a/shared/.mvn/jvm.config b/shared/.mvn/jvm.config new file mode 100644 index 00000000..e2a50e08 --- /dev/null +++ b/shared/.mvn/jvm.config @@ -0,0 +1 @@ +--add-exports jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED --add-exports jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED --add-exports jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED --add-exports jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED --add-exports jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED \ No newline at end of file diff --git a/shared/src/main/java/com/workup/shared/commands/users/requests/AddFreelancerLanguageRequest.java b/shared/src/main/java/com/workup/shared/commands/users/requests/AddFreelancerLanguageRequest.java index d28f2ecf..bc939d73 100644 --- a/shared/src/main/java/com/workup/shared/commands/users/requests/AddFreelancerLanguageRequest.java +++ b/shared/src/main/java/com/workup/shared/commands/users/requests/AddFreelancerLanguageRequest.java @@ -9,6 +9,6 @@ @SuperBuilder(setterPrefix = "with") @Jacksonized public class AddFreelancerLanguageRequest extends CommandRequest { - String user_id; - String newLanguage; + String user_id; + String newLanguage; } diff --git a/shared/src/main/java/com/workup/shared/commands/users/requests/AddFreelancerSkillRequest.java b/shared/src/main/java/com/workup/shared/commands/users/requests/AddFreelancerSkillRequest.java index 16294db9..0116ca7c 100644 --- a/shared/src/main/java/com/workup/shared/commands/users/requests/AddFreelancerSkillRequest.java +++ b/shared/src/main/java/com/workup/shared/commands/users/requests/AddFreelancerSkillRequest.java @@ -9,6 +9,6 @@ @SuperBuilder(setterPrefix = "with") @Jacksonized public class AddFreelancerSkillRequest extends CommandRequest { - String user_id; - String newSkill; + String user_id; + String newSkill; } diff --git a/shared/src/main/java/com/workup/shared/commands/users/requests/GetFreelancerLanguagesRequest.java b/shared/src/main/java/com/workup/shared/commands/users/requests/GetFreelancerLanguagesRequest.java index b11519d5..a1acf8f8 100644 --- a/shared/src/main/java/com/workup/shared/commands/users/requests/GetFreelancerLanguagesRequest.java +++ b/shared/src/main/java/com/workup/shared/commands/users/requests/GetFreelancerLanguagesRequest.java @@ -9,5 +9,5 @@ @SuperBuilder(setterPrefix = "with") @Jacksonized public class GetFreelancerLanguagesRequest extends CommandRequest { - String user_id; + String user_id; } diff --git a/shared/src/main/java/com/workup/shared/commands/users/requests/GetFreelancerSkillsRequest.java b/shared/src/main/java/com/workup/shared/commands/users/requests/GetFreelancerSkillsRequest.java index 7588e975..dbc325ae 100644 --- a/shared/src/main/java/com/workup/shared/commands/users/requests/GetFreelancerSkillsRequest.java +++ b/shared/src/main/java/com/workup/shared/commands/users/requests/GetFreelancerSkillsRequest.java @@ -9,5 +9,5 @@ @SuperBuilder(setterPrefix = "with") @Jacksonized public class GetFreelancerSkillsRequest extends CommandRequest { - String user_id; + String user_id; } diff --git a/shared/src/main/java/com/workup/shared/commands/users/requests/RemoveFreelancerLanguageRequest.java b/shared/src/main/java/com/workup/shared/commands/users/requests/RemoveFreelancerLanguageRequest.java index ba864a51..a2537640 100644 --- a/shared/src/main/java/com/workup/shared/commands/users/requests/RemoveFreelancerLanguageRequest.java +++ b/shared/src/main/java/com/workup/shared/commands/users/requests/RemoveFreelancerLanguageRequest.java @@ -9,6 +9,6 @@ @SuperBuilder(setterPrefix = "with") @Jacksonized public class RemoveFreelancerLanguageRequest extends CommandRequest { - private String user_id; - private String languageToRemove; + private String user_id; + private String languageToRemove; } diff --git a/shared/src/main/java/com/workup/shared/commands/users/requests/RemoveFreelancerSkillRequest.java b/shared/src/main/java/com/workup/shared/commands/users/requests/RemoveFreelancerSkillRequest.java index 5b43a9bf..3f1cfece 100644 --- a/shared/src/main/java/com/workup/shared/commands/users/requests/RemoveFreelancerSkillRequest.java +++ b/shared/src/main/java/com/workup/shared/commands/users/requests/RemoveFreelancerSkillRequest.java @@ -9,6 +9,6 @@ @SuperBuilder(setterPrefix = "with") @Jacksonized public class RemoveFreelancerSkillRequest extends CommandRequest { - String user_id; - String skillToRemove; + String user_id; + String skillToRemove; } diff --git a/shared/src/main/java/com/workup/shared/commands/users/responses/AddFreelancerLanguageResponse.java b/shared/src/main/java/com/workup/shared/commands/users/responses/AddFreelancerLanguageResponse.java index 93805fdb..29d88c7a 100644 --- a/shared/src/main/java/com/workup/shared/commands/users/responses/AddFreelancerLanguageResponse.java +++ b/shared/src/main/java/com/workup/shared/commands/users/responses/AddFreelancerLanguageResponse.java @@ -8,5 +8,4 @@ @Getter @SuperBuilder(setterPrefix = "with") @Jacksonized -public class AddFreelancerLanguageResponse extends CommandResponse { -} +public class AddFreelancerLanguageResponse extends CommandResponse {} diff --git a/shared/src/main/java/com/workup/shared/commands/users/responses/AddFreelancerSkillResponse.java b/shared/src/main/java/com/workup/shared/commands/users/responses/AddFreelancerSkillResponse.java index 1569b9e0..eed450ce 100644 --- a/shared/src/main/java/com/workup/shared/commands/users/responses/AddFreelancerSkillResponse.java +++ b/shared/src/main/java/com/workup/shared/commands/users/responses/AddFreelancerSkillResponse.java @@ -8,7 +8,4 @@ @Getter @SuperBuilder(setterPrefix = "with") @Jacksonized - -public class AddFreelancerSkillResponse extends CommandResponse { - -} +public class AddFreelancerSkillResponse extends CommandResponse {} diff --git a/shared/src/main/java/com/workup/shared/commands/users/responses/GetFreelancerLanguagesResponse.java b/shared/src/main/java/com/workup/shared/commands/users/responses/GetFreelancerLanguagesResponse.java index 14cad019..7929ff59 100644 --- a/shared/src/main/java/com/workup/shared/commands/users/responses/GetFreelancerLanguagesResponse.java +++ b/shared/src/main/java/com/workup/shared/commands/users/responses/GetFreelancerLanguagesResponse.java @@ -1,15 +1,14 @@ package com.workup.shared.commands.users.responses; import com.workup.shared.commands.CommandResponse; +import java.util.List; import lombok.Getter; import lombok.experimental.SuperBuilder; import lombok.extern.jackson.Jacksonized; -import java.util.List; - @Getter @SuperBuilder(setterPrefix = "with") @Jacksonized public class GetFreelancerLanguagesResponse extends CommandResponse { - List languages; + List languages; } diff --git a/shared/src/main/java/com/workup/shared/commands/users/responses/GetFreelancerSkillsResponse.java b/shared/src/main/java/com/workup/shared/commands/users/responses/GetFreelancerSkillsResponse.java index 1f71dba7..c7f07e94 100644 --- a/shared/src/main/java/com/workup/shared/commands/users/responses/GetFreelancerSkillsResponse.java +++ b/shared/src/main/java/com/workup/shared/commands/users/responses/GetFreelancerSkillsResponse.java @@ -1,15 +1,14 @@ package com.workup.shared.commands.users.responses; import com.workup.shared.commands.CommandResponse; +import java.util.List; import lombok.Getter; import lombok.experimental.SuperBuilder; import lombok.extern.jackson.Jacksonized; -import java.util.List; - @Getter @SuperBuilder(setterPrefix = "with") @Jacksonized public class GetFreelancerSkillsResponse extends CommandResponse { - List skills; + List skills; } diff --git a/shared/src/main/java/com/workup/shared/commands/users/responses/RemoveFreelancerLanguageResponse.java b/shared/src/main/java/com/workup/shared/commands/users/responses/RemoveFreelancerLanguageResponse.java index edb2b51a..3c370160 100644 --- a/shared/src/main/java/com/workup/shared/commands/users/responses/RemoveFreelancerLanguageResponse.java +++ b/shared/src/main/java/com/workup/shared/commands/users/responses/RemoveFreelancerLanguageResponse.java @@ -8,5 +8,4 @@ @Getter @SuperBuilder(setterPrefix = "with") @Jacksonized -public class RemoveFreelancerLanguageResponse extends CommandResponse { -} +public class RemoveFreelancerLanguageResponse extends CommandResponse {} diff --git a/shared/src/main/java/com/workup/shared/commands/users/responses/RemoveFreelancerSkillResponse.java b/shared/src/main/java/com/workup/shared/commands/users/responses/RemoveFreelancerSkillResponse.java index 00dd2c3e..9abb09ba 100644 --- a/shared/src/main/java/com/workup/shared/commands/users/responses/RemoveFreelancerSkillResponse.java +++ b/shared/src/main/java/com/workup/shared/commands/users/responses/RemoveFreelancerSkillResponse.java @@ -8,5 +8,4 @@ @Getter @SuperBuilder(setterPrefix = "with") @Jacksonized -public class RemoveFreelancerSkillResponse extends CommandResponse { -} +public class RemoveFreelancerSkillResponse extends CommandResponse {} From 01e9f867111aceb847413acef5e866c9a16a2c1e Mon Sep 17 00:00:00 2001 From: Mahmoud Gaber Date: Tue, 30 Apr 2024 16:26:03 +0300 Subject: [PATCH 09/12] fix: Change withSuccess to withStatusCode --- .../commands/AddFreelancerAchievementCommand.java | 8 ++++++-- .../commands/AddFreelancerEducationCommand.java | 8 ++++++-- .../commands/AddFreelancerExperienceCommand.java | 8 ++++++-- .../commands/AddFreelancerLanguageCommand.java | 8 ++++++-- .../users/commands/AddFreelancerSkillCommand.java | 8 ++++++-- .../GetFreelancerAchievementsCommand.java | 8 ++++++-- .../commands/GetFreelancerEducationsCommand.java | 8 ++++++-- .../commands/GetFreelancerExperiencesCommand.java | 8 ++++++-- .../commands/GetFreelancerLanguagesCommand.java | 8 ++++++-- .../commands/GetFreelancerSkillsCommand.java | 11 +++++++++-- .../RemoveFreelancerAchievementCommand.java | 15 +++++++-------- .../RemoveFreelancerEducationCommand.java | 15 +++++++-------- .../RemoveFreelancerExperienceCommand.java | 15 +++++++-------- .../commands/RemoveFreelancerLanguageCommand.java | 8 ++++++-- .../commands/RemoveFreelancerSkillCommand.java | 8 ++++++-- .../UpdateFreelancerAchievementCommand.java | 15 +++++++-------- .../UpdateFreelancerEducationCommand.java | 15 +++++++-------- .../UpdateFreelancerExperienceCommand.java | 14 ++++++++------ 18 files changed, 118 insertions(+), 70 deletions(-) diff --git a/services/users/src/main/java/com/workup/users/commands/AddFreelancerAchievementCommand.java b/services/users/src/main/java/com/workup/users/commands/AddFreelancerAchievementCommand.java index 620344f8..54de1865 100644 --- a/services/users/src/main/java/com/workup/users/commands/AddFreelancerAchievementCommand.java +++ b/services/users/src/main/java/com/workup/users/commands/AddFreelancerAchievementCommand.java @@ -1,5 +1,6 @@ package com.workup.users.commands; +import com.workup.shared.enums.HttpStatusCode; import com.workup.users.commands.requests.AddFreelancerAchievementRequest; import com.workup.users.commands.responses.AddFreelancerAchievementResponse; import com.workup.users.db.Achievement; @@ -13,13 +14,16 @@ public AddFreelancerAchievementResponse Run(AddFreelancerAchievementRequest requ Optional freelancerOptional = freelancerRepository.findById(request.getFreelancer_id()); if (freelancerOptional.isEmpty()) - return AddFreelancerAchievementResponse.builder().withSuccess(false).build(); + return AddFreelancerAchievementResponse.builder() + .withStatusCode(HttpStatusCode.NOT_FOUND) + .withErrorMessage("Freelancer Doesn't Exist") + .build(); Freelancer freelancer = freelancerOptional.get(); Achievement newAchievement = achievementRepository.save(request.getNewAchievement()); freelancer.getAchievements().add(newAchievement); freelancerRepository.save(freelancer); return AddFreelancerAchievementResponse.builder() - .withSuccess(true) + .withStatusCode(HttpStatusCode.CREATED) .withFreelancer(freelancer) .build(); } diff --git a/services/users/src/main/java/com/workup/users/commands/AddFreelancerEducationCommand.java b/services/users/src/main/java/com/workup/users/commands/AddFreelancerEducationCommand.java index e9028e7f..27697f12 100644 --- a/services/users/src/main/java/com/workup/users/commands/AddFreelancerEducationCommand.java +++ b/services/users/src/main/java/com/workup/users/commands/AddFreelancerEducationCommand.java @@ -1,6 +1,7 @@ package com.workup.users.commands; import com.workup.shared.commands.users.responses.AddFreelancerEducationResponse; +import com.workup.shared.enums.HttpStatusCode; import com.workup.users.commands.requests.AddFreelancerEducationRequest; import com.workup.users.db.Education; import com.workup.users.db.Freelancer; @@ -14,13 +15,16 @@ public AddFreelancerEducationResponse Run(AddFreelancerEducationRequest request) Optional freelancerOptional = freelancerRepository.findById(request.getFreelancer_id()); if (freelancerOptional.isEmpty()) - return AddFreelancerEducationResponse.builder().withSuccess(false).build(); + return AddFreelancerEducationResponse.builder() + .withStatusCode(HttpStatusCode.NOT_FOUND) + .withErrorMessage("Freelancer Doesn't Exist") + .build(); Freelancer freelancer = freelancerOptional.get(); Education newEducation = educationRepository.save(request.getNewEducation()); freelancer.getEducations().add(newEducation); freelancerRepository.save(freelancer); return AddFreelancerEducationResponse.builder() - .withSuccess(true) + .withStatusCode(HttpStatusCode.CREATED) .withFreelancer(freelancer) .build(); } diff --git a/services/users/src/main/java/com/workup/users/commands/AddFreelancerExperienceCommand.java b/services/users/src/main/java/com/workup/users/commands/AddFreelancerExperienceCommand.java index 9829b419..59c08b88 100644 --- a/services/users/src/main/java/com/workup/users/commands/AddFreelancerExperienceCommand.java +++ b/services/users/src/main/java/com/workup/users/commands/AddFreelancerExperienceCommand.java @@ -1,5 +1,6 @@ package com.workup.users.commands; +import com.workup.shared.enums.HttpStatusCode; import com.workup.users.commands.requests.AddFreelancerExperienceRequest; import com.workup.users.commands.responses.AddFreelancerExperienceResponse; import com.workup.users.db.Experience; @@ -13,13 +14,16 @@ public AddFreelancerExperienceResponse Run(AddFreelancerExperienceRequest reques Optional freelancerOptional = freelancerRepository.findById(request.getFreelancerId()); if (freelancerOptional.isEmpty()) - return AddFreelancerExperienceResponse.builder().withSuccess(false).build(); + return AddFreelancerExperienceResponse.builder() + .withStatusCode(HttpStatusCode.NOT_FOUND) + .withErrorMessage("Freelancer Doesn't Exist") + .build(); Freelancer freelancer = freelancerOptional.get(); Experience newExperience = experienceRepository.save(request.getNewExperience()); freelancer.getExperiences().add(newExperience); freelancerRepository.save(freelancer); return AddFreelancerExperienceResponse.builder() - .withSuccess(true) + .withStatusCode(HttpStatusCode.CREATED) .withFreelancer(freelancer) .build(); } diff --git a/services/users/src/main/java/com/workup/users/commands/AddFreelancerLanguageCommand.java b/services/users/src/main/java/com/workup/users/commands/AddFreelancerLanguageCommand.java index 8361de99..ccf5772f 100644 --- a/services/users/src/main/java/com/workup/users/commands/AddFreelancerLanguageCommand.java +++ b/services/users/src/main/java/com/workup/users/commands/AddFreelancerLanguageCommand.java @@ -2,6 +2,7 @@ import com.workup.shared.commands.users.requests.AddFreelancerLanguageRequest; import com.workup.shared.commands.users.responses.AddFreelancerLanguageResponse; +import com.workup.shared.enums.HttpStatusCode; import com.workup.users.db.Freelancer; import java.util.Optional; @@ -12,10 +13,13 @@ public class AddFreelancerLanguageCommand public AddFreelancerLanguageResponse Run(AddFreelancerLanguageRequest request) { Optional freelancerOptional = freelancerRepository.findById(request.getUser_id()); if (freelancerOptional.isEmpty()) - return AddFreelancerLanguageResponse.builder().withSuccess(false).build(); + return AddFreelancerLanguageResponse.builder() + .withStatusCode(HttpStatusCode.NOT_FOUND) + .withErrorMessage("Freelancer Doesn't Exist") + .build(); Freelancer freelancer = freelancerOptional.get(); freelancer.getLanguages().add(request.getNewLanguage()); freelancerRepository.save(freelancer); - return AddFreelancerLanguageResponse.builder().withSuccess(true).build(); + return AddFreelancerLanguageResponse.builder().withStatusCode(HttpStatusCode.CREATED).build(); } } diff --git a/services/users/src/main/java/com/workup/users/commands/AddFreelancerSkillCommand.java b/services/users/src/main/java/com/workup/users/commands/AddFreelancerSkillCommand.java index e4dc3d60..5d9d77ea 100644 --- a/services/users/src/main/java/com/workup/users/commands/AddFreelancerSkillCommand.java +++ b/services/users/src/main/java/com/workup/users/commands/AddFreelancerSkillCommand.java @@ -2,6 +2,7 @@ import com.workup.shared.commands.users.requests.AddFreelancerSkillRequest; import com.workup.shared.commands.users.responses.AddFreelancerSkillResponse; +import com.workup.shared.enums.HttpStatusCode; import com.workup.users.db.Freelancer; import java.util.List; import java.util.Optional; @@ -13,12 +14,15 @@ public class AddFreelancerSkillCommand public AddFreelancerSkillResponse Run(AddFreelancerSkillRequest request) { Optional freelancerOptional = freelancerRepository.findById(request.getUser_id()); if (freelancerOptional.isEmpty()) - return AddFreelancerSkillResponse.builder().withSuccess(false).build(); + return AddFreelancerSkillResponse.builder() + .withStatusCode(HttpStatusCode.NOT_FOUND) + .withErrorMessage("Freelancer Doesn't Exist") + .build(); String newSkill = request.getNewSkill(); Freelancer freelancer = freelancerOptional.get(); List skills = freelancer.getSkills(); if (!skills.contains(newSkill)) skills.add(newSkill); freelancerRepository.save(freelancer); - return AddFreelancerSkillResponse.builder().withSuccess(true).build(); + return AddFreelancerSkillResponse.builder().withStatusCode(HttpStatusCode.CREATED).build(); } } diff --git a/services/users/src/main/java/com/workup/users/commands/GetFreelancerAchievementsCommand.java b/services/users/src/main/java/com/workup/users/commands/GetFreelancerAchievementsCommand.java index b2c65481..70b86202 100644 --- a/services/users/src/main/java/com/workup/users/commands/GetFreelancerAchievementsCommand.java +++ b/services/users/src/main/java/com/workup/users/commands/GetFreelancerAchievementsCommand.java @@ -1,5 +1,6 @@ package com.workup.users.commands; +import com.workup.shared.enums.HttpStatusCode; import com.workup.users.commands.requests.GetFreelancerAchievementsRequest; import com.workup.users.commands.responses.GetFreelancerAchievementsResponse; import com.workup.users.db.Achievement; @@ -14,11 +15,14 @@ public GetFreelancerAchievementsResponse Run(GetFreelancerAchievementsRequest re Optional freelancerOptional = freelancerRepository.findById(request.getFreelancer_id()); if (freelancerOptional.isEmpty()) - return GetFreelancerAchievementsResponse.builder().withSuccess(false).build(); + return GetFreelancerAchievementsResponse.builder() + .withStatusCode(HttpStatusCode.NOT_FOUND) + .withErrorMessage("Freelancer Doesn't Exist") + .build(); Freelancer freelancer = freelancerOptional.get(); List achievements = freelancer.getAchievements(); return GetFreelancerAchievementsResponse.builder() - .withSuccess(true) + .withStatusCode(HttpStatusCode.OK) .withAchievements(achievements) .build(); } diff --git a/services/users/src/main/java/com/workup/users/commands/GetFreelancerEducationsCommand.java b/services/users/src/main/java/com/workup/users/commands/GetFreelancerEducationsCommand.java index e9aefb4f..a71774ce 100644 --- a/services/users/src/main/java/com/workup/users/commands/GetFreelancerEducationsCommand.java +++ b/services/users/src/main/java/com/workup/users/commands/GetFreelancerEducationsCommand.java @@ -1,5 +1,6 @@ package com.workup.users.commands; +import com.workup.shared.enums.HttpStatusCode; import com.workup.users.commands.requests.GetFreelancerEducationsRequest; import com.workup.users.commands.responses.GetFreelancerEducationsResponse; import com.workup.users.db.Education; @@ -13,11 +14,14 @@ public class GetFreelancerEducationsCommand public GetFreelancerEducationsResponse Run(GetFreelancerEducationsRequest request) { Optional freelancerOptional = freelancerRepository.findById(request.getUser_id()); if (freelancerOptional.isEmpty()) - return GetFreelancerEducationsResponse.builder().withSuccess(false).build(); + return GetFreelancerEducationsResponse.builder() + .withStatusCode(HttpStatusCode.NOT_FOUND) + .withErrorMessage("Freelancer Doesn't Exist") + .build(); Freelancer freelancer = freelancerOptional.get(); List educations = freelancer.getEducations(); return GetFreelancerEducationsResponse.builder() - .withSuccess(true) + .withStatusCode(HttpStatusCode.OK) .withEducations(educations) .build(); } diff --git a/services/users/src/main/java/com/workup/users/commands/GetFreelancerExperiencesCommand.java b/services/users/src/main/java/com/workup/users/commands/GetFreelancerExperiencesCommand.java index 162d599b..9dbd8baf 100644 --- a/services/users/src/main/java/com/workup/users/commands/GetFreelancerExperiencesCommand.java +++ b/services/users/src/main/java/com/workup/users/commands/GetFreelancerExperiencesCommand.java @@ -1,5 +1,6 @@ package com.workup.users.commands; +import com.workup.shared.enums.HttpStatusCode; import com.workup.users.commands.requests.GetFreelancerExperiencesRequest; import com.workup.users.commands.responses.GetFreelancerExperiencesResponse; import com.workup.users.db.Experience; @@ -15,11 +16,14 @@ public GetFreelancerExperiencesResponse Run(GetFreelancerExperiencesRequest requ Optional freelancerOptional = freelancerRepository.findById(request.getFreelancerId()); if (freelancerOptional.isEmpty()) - return GetFreelancerExperiencesResponse.builder().withSuccess(false).build(); + return GetFreelancerExperiencesResponse.builder() + .withStatusCode(HttpStatusCode.NOT_FOUND) + .withErrorMessage("Freelancer Doesn't Exist") + .build(); Freelancer freelancer = freelancerOptional.get(); List experiences = freelancer.getExperiences(); return GetFreelancerExperiencesResponse.builder() - .withSuccess(true) + .withStatusCode(HttpStatusCode.OK) .withExperiences(experiences) .build(); } diff --git a/services/users/src/main/java/com/workup/users/commands/GetFreelancerLanguagesCommand.java b/services/users/src/main/java/com/workup/users/commands/GetFreelancerLanguagesCommand.java index 80187c95..cc3f1fac 100644 --- a/services/users/src/main/java/com/workup/users/commands/GetFreelancerLanguagesCommand.java +++ b/services/users/src/main/java/com/workup/users/commands/GetFreelancerLanguagesCommand.java @@ -2,6 +2,7 @@ import com.workup.shared.commands.users.requests.GetFreelancerLanguagesRequest; import com.workup.shared.commands.users.responses.GetFreelancerLanguagesResponse; +import com.workup.shared.enums.HttpStatusCode; import com.workup.users.db.Freelancer; import java.util.List; import java.util.Optional; @@ -12,11 +13,14 @@ public class GetFreelancerLanguagesCommand public GetFreelancerLanguagesResponse Run(GetFreelancerLanguagesRequest request) { Optional freelancerOptional = freelancerRepository.findById(request.getUser_id()); if (freelancerOptional.isEmpty()) - return GetFreelancerLanguagesResponse.builder().withSuccess(false).build(); + return GetFreelancerLanguagesResponse.builder() + .withStatusCode(HttpStatusCode.NOT_FOUND) + .withErrorMessage("Freelancer Doesn't Exist") + .build(); Freelancer freelancer = freelancerOptional.get(); List languages = freelancer.getLanguages(); return GetFreelancerLanguagesResponse.builder() - .withSuccess(true) + .withStatusCode(HttpStatusCode.OK) .withLanguages(languages) .build(); } diff --git a/services/users/src/main/java/com/workup/users/commands/GetFreelancerSkillsCommand.java b/services/users/src/main/java/com/workup/users/commands/GetFreelancerSkillsCommand.java index 644194be..9874532e 100644 --- a/services/users/src/main/java/com/workup/users/commands/GetFreelancerSkillsCommand.java +++ b/services/users/src/main/java/com/workup/users/commands/GetFreelancerSkillsCommand.java @@ -2,6 +2,7 @@ import com.workup.shared.commands.users.requests.GetFreelancerSkillsRequest; import com.workup.shared.commands.users.responses.GetFreelancerSkillsResponse; +import com.workup.shared.enums.HttpStatusCode; import com.workup.users.db.Freelancer; import java.util.List; import java.util.Optional; @@ -13,9 +14,15 @@ public class GetFreelancerSkillsCommand public GetFreelancerSkillsResponse Run(GetFreelancerSkillsRequest request) { Optional freelancerOptional = freelancerRepository.findById(request.getUser_id()); if (freelancerOptional.isEmpty()) - return GetFreelancerSkillsResponse.builder().withSuccess(false).build(); + return GetFreelancerSkillsResponse.builder() + .withStatusCode(HttpStatusCode.NOT_FOUND) + .withErrorMessage("Freelancer Doesn't Exist") + .build(); Freelancer freelancer = freelancerOptional.get(); List skills = freelancer.getSkills(); - return GetFreelancerSkillsResponse.builder().withSuccess(true).withSkills(skills).build(); + return GetFreelancerSkillsResponse.builder() + .withStatusCode(HttpStatusCode.OK) + .withSkills(skills) + .build(); } } diff --git a/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerAchievementCommand.java b/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerAchievementCommand.java index ba4b5046..b516e63c 100644 --- a/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerAchievementCommand.java +++ b/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerAchievementCommand.java @@ -1,11 +1,11 @@ package com.workup.users.commands; +import com.workup.shared.enums.HttpStatusCode; import com.workup.users.commands.requests.RemoveFreelancerAchievementRequest; import com.workup.users.commands.responses.RemoveFreelancerAchievementResponse; import com.workup.users.db.Achievement; import com.workup.users.db.Freelancer; import java.util.Optional; -import org.springframework.http.ResponseEntity; public class RemoveFreelancerAchievementCommand extends UserCommand { @@ -14,7 +14,10 @@ public RemoveFreelancerAchievementResponse Run(RemoveFreelancerAchievementReques Optional freelancerOptional = freelancerRepository.findById(request.getFreelancerId()); if (freelancerOptional.isEmpty()) - return RemoveFreelancerAchievementResponse.builder().withSuccess(false).build(); + return RemoveFreelancerAchievementResponse.builder() + .withStatusCode(HttpStatusCode.NOT_FOUND) + .withErrorMessage("Freelancer Doesn't Exist") + .build(); Freelancer freelancer = freelancerOptional.get(); freelancer .getAchievements() @@ -22,18 +25,14 @@ public RemoveFreelancerAchievementResponse Run(RemoveFreelancerAchievementReques deleteAchievement(request.getAchievementId()); freelancerRepository.save(freelancer); return RemoveFreelancerAchievementResponse.builder() - .withSuccess(true) + .withStatusCode(HttpStatusCode.OK) .withFreelancer(freelancer) .build(); } public void deleteAchievement(String id) { Optional achievementOptional = achievementRepository.findById(id); - if (achievementOptional.isEmpty()) { - ResponseEntity.notFound().build(); - return; - } + if (achievementOptional.isEmpty()) return; achievementRepository.delete(achievementOptional.get()); - ResponseEntity.noContent().build(); } } diff --git a/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerEducationCommand.java b/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerEducationCommand.java index b800d37e..6ec4d221 100644 --- a/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerEducationCommand.java +++ b/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerEducationCommand.java @@ -1,11 +1,11 @@ package com.workup.users.commands; +import com.workup.shared.enums.HttpStatusCode; import com.workup.users.commands.requests.RemoveFreelancerEducationRequest; import com.workup.users.commands.responses.RemoveFreelancerEducationResponse; import com.workup.users.db.Education; import com.workup.users.db.Freelancer; import java.util.Optional; -import org.springframework.http.ResponseEntity; public class RemoveFreelancerEducationCommand extends UserCommand { @@ -15,7 +15,10 @@ public RemoveFreelancerEducationResponse Run(RemoveFreelancerEducationRequest re Optional freelancerOptional = freelancerRepository.findById(request.getFreelancer_id()); if (freelancerOptional.isEmpty()) - return RemoveFreelancerEducationResponse.builder().withSuccess(false).build(); + return RemoveFreelancerEducationResponse.builder() + .withStatusCode(HttpStatusCode.NOT_FOUND) + .withErrorMessage("Freelancer Doesn't Exist") + .build(); Freelancer freelancer = freelancerOptional.get(); freelancer .getEducations() @@ -23,18 +26,14 @@ public RemoveFreelancerEducationResponse Run(RemoveFreelancerEducationRequest re deleteEducation(request.getEducation_id()); freelancerRepository.save(freelancer); return RemoveFreelancerEducationResponse.builder() - .withSuccess(true) + .withStatusCode(HttpStatusCode.OK) .withFreelancer(freelancer) .build(); } void deleteEducation(String id) { Optional educationOptional = educationRepository.findById(id); - if (educationOptional.isEmpty()) { - ResponseEntity.notFound().build(); - return; - } + if (educationOptional.isEmpty()) return; educationRepository.delete(educationOptional.get()); - ResponseEntity.noContent().build(); } } diff --git a/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerExperienceCommand.java b/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerExperienceCommand.java index 5a73f423..1e798af1 100644 --- a/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerExperienceCommand.java +++ b/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerExperienceCommand.java @@ -1,11 +1,11 @@ package com.workup.users.commands; +import com.workup.shared.enums.HttpStatusCode; import com.workup.users.commands.requests.RemoveFreelancerExperienceRequest; import com.workup.users.commands.responses.RemoveFreelancerExperienceResponse; import com.workup.users.db.Experience; import com.workup.users.db.Freelancer; import java.util.Optional; -import org.springframework.http.ResponseEntity; public class RemoveFreelancerExperienceCommand extends UserCommand { @@ -14,7 +14,10 @@ public RemoveFreelancerExperienceResponse Run(RemoveFreelancerExperienceRequest Optional freelancerOptional = freelancerRepository.findById(request.getFreelancer_id()); if (freelancerOptional.isEmpty()) - return RemoveFreelancerExperienceResponse.builder().withSuccess(false).build(); + return RemoveFreelancerExperienceResponse.builder() + .withStatusCode(HttpStatusCode.NOT_FOUND) + .withErrorMessage("Freelancer Doesn't Exist") + .build(); Freelancer freelancer = freelancerOptional.get(); freelancer .getExperiences() @@ -22,18 +25,14 @@ public RemoveFreelancerExperienceResponse Run(RemoveFreelancerExperienceRequest deleteExperience(request.getExperience_id()); freelancerRepository.save(freelancer); return RemoveFreelancerExperienceResponse.builder() - .withSuccess(true) + .withStatusCode(HttpStatusCode.OK) .withFreelancer(freelancer) .build(); } public void deleteExperience(String id) { Optional experienceOptional = experienceRepository.findById(id); - if (experienceOptional.isEmpty()) { - ResponseEntity.notFound().build(); - return; - } + if (experienceOptional.isEmpty()) return; experienceRepository.delete(experienceOptional.get()); - ResponseEntity.noContent().build(); } } diff --git a/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerLanguageCommand.java b/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerLanguageCommand.java index a951d0bd..31acbee3 100644 --- a/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerLanguageCommand.java +++ b/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerLanguageCommand.java @@ -2,6 +2,7 @@ import com.workup.shared.commands.users.requests.RemoveFreelancerLanguageRequest; import com.workup.shared.commands.users.responses.RemoveFreelancerLanguageResponse; +import com.workup.shared.enums.HttpStatusCode; import com.workup.users.db.Freelancer; import java.util.Optional; @@ -11,10 +12,13 @@ public class RemoveFreelancerLanguageCommand public RemoveFreelancerLanguageResponse Run(RemoveFreelancerLanguageRequest request) { Optional freelancerOptional = freelancerRepository.findById(request.getUser_id()); if (freelancerOptional.isEmpty()) - return RemoveFreelancerLanguageResponse.builder().withSuccess(false).build(); + return RemoveFreelancerLanguageResponse.builder() + .withStatusCode(HttpStatusCode.NOT_FOUND) + .withErrorMessage("Freelancer Doesn't Exist") + .build(); Freelancer freelancer = freelancerOptional.get(); freelancer.getLanguages().remove(request.getLanguageToRemove()); freelancerRepository.save(freelancer); - return RemoveFreelancerLanguageResponse.builder().withSuccess(true).build(); + return RemoveFreelancerLanguageResponse.builder().withStatusCode(HttpStatusCode.OK).build(); } } diff --git a/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerSkillCommand.java b/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerSkillCommand.java index c700deda..2dd93979 100644 --- a/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerSkillCommand.java +++ b/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerSkillCommand.java @@ -2,6 +2,7 @@ import com.workup.shared.commands.users.requests.RemoveFreelancerSkillRequest; import com.workup.shared.commands.users.responses.RemoveFreelancerSkillResponse; +import com.workup.shared.enums.HttpStatusCode; import com.workup.users.db.Freelancer; import java.util.Optional; @@ -11,10 +12,13 @@ public class RemoveFreelancerSkillCommand public RemoveFreelancerSkillResponse Run(RemoveFreelancerSkillRequest request) { Optional freelancerOptional = freelancerRepository.findById(request.getUser_id()); if (freelancerOptional.isEmpty()) - return RemoveFreelancerSkillResponse.builder().withSuccess(false).build(); + return RemoveFreelancerSkillResponse.builder() + .withStatusCode(HttpStatusCode.NOT_FOUND) + .withErrorMessage("Freelancer Doesn't Exist") + .build(); Freelancer freelancer = freelancerOptional.get(); freelancer.getSkills().remove(request.getSkillToRemove()); freelancerRepository.save(freelancer); - return RemoveFreelancerSkillResponse.builder().withSuccess(false).build(); + return RemoveFreelancerSkillResponse.builder().withStatusCode(HttpStatusCode.OK).build(); } } diff --git a/services/users/src/main/java/com/workup/users/commands/UpdateFreelancerAchievementCommand.java b/services/users/src/main/java/com/workup/users/commands/UpdateFreelancerAchievementCommand.java index 5a57d7e1..a292f784 100644 --- a/services/users/src/main/java/com/workup/users/commands/UpdateFreelancerAchievementCommand.java +++ b/services/users/src/main/java/com/workup/users/commands/UpdateFreelancerAchievementCommand.java @@ -1,12 +1,12 @@ package com.workup.users.commands; +import com.workup.shared.enums.HttpStatusCode; import com.workup.users.commands.requests.UpdateFreelancerAchievementRequest; import com.workup.users.commands.responses.UpdateFreelancerAchievementResponse; import com.workup.users.db.Achievement; import com.workup.users.db.Freelancer; import java.util.Optional; import org.springframework.beans.BeanUtils; -import org.springframework.http.ResponseEntity; public class UpdateFreelancerAchievementCommand extends UserCommand { @@ -15,12 +15,15 @@ public UpdateFreelancerAchievementResponse Run(UpdateFreelancerAchievementReques Optional freelancerOptional = freelancerRepository.findById(request.getFreelancer_id()); if (freelancerOptional.isEmpty()) - return UpdateFreelancerAchievementResponse.builder().withSuccess(false).build(); + return UpdateFreelancerAchievementResponse.builder() + .withStatusCode(HttpStatusCode.NOT_FOUND) + .withErrorMessage("Freelancer Doesn't Exist") + .build(); Freelancer freelancer = freelancerOptional.get(); updateAchievement(request.getUpdatedAchievement()); freelancerRepository.save(freelancer); return UpdateFreelancerAchievementResponse.builder() - .withSuccess(true) + .withStatusCode(HttpStatusCode.OK) .withFreelancer(freelancer) .build(); } @@ -28,13 +31,9 @@ public UpdateFreelancerAchievementResponse Run(UpdateFreelancerAchievementReques public void updateAchievement(Achievement updatedAchievement) { String id = updatedAchievement.getId().toString(); Optional achievementOptional = achievementRepository.findById(id); - if (achievementOptional.isEmpty()) { - ResponseEntity.notFound().build(); - return; - } + if (achievementOptional.isEmpty()) return; Achievement existingAchievement = achievementOptional.get(); BeanUtils.copyProperties(updatedAchievement, existingAchievement, "id"); achievementRepository.save(existingAchievement); - ResponseEntity.ok(existingAchievement); } } diff --git a/services/users/src/main/java/com/workup/users/commands/UpdateFreelancerEducationCommand.java b/services/users/src/main/java/com/workup/users/commands/UpdateFreelancerEducationCommand.java index 58328cc9..85a29be2 100644 --- a/services/users/src/main/java/com/workup/users/commands/UpdateFreelancerEducationCommand.java +++ b/services/users/src/main/java/com/workup/users/commands/UpdateFreelancerEducationCommand.java @@ -1,12 +1,12 @@ package com.workup.users.commands; +import com.workup.shared.enums.HttpStatusCode; import com.workup.users.commands.requests.UpdateFreelancerEducationRequest; import com.workup.users.commands.responses.UpdateFreelancerEducationResponse; import com.workup.users.db.Education; import com.workup.users.db.Freelancer; import java.util.Optional; import org.springframework.beans.BeanUtils; -import org.springframework.http.ResponseEntity; public class UpdateFreelancerEducationCommand extends UserCommand { @@ -16,24 +16,23 @@ public UpdateFreelancerEducationResponse Run(UpdateFreelancerEducationRequest re Optional freelancerOptional = freelancerRepository.findById(request.getFreelancer_id()); if (freelancerOptional.isEmpty()) - return UpdateFreelancerEducationResponse.builder().withSuccess(false).build(); + return UpdateFreelancerEducationResponse.builder() + .withStatusCode(HttpStatusCode.NOT_FOUND) + .withErrorMessage("Freelancer Doesn't Exist") + .build(); Freelancer freelancer = freelancerOptional.get(); updateEducation(request.getEducation_id(), request.getUpdatedEducation()); return UpdateFreelancerEducationResponse.builder() - .withSuccess(true) + .withStatusCode(HttpStatusCode.OK) .withFreelancer(freelancer) .build(); } void updateEducation(String id, Education updatedEducation) { Optional educationOptional = educationRepository.findById(id); - if (educationOptional.isEmpty()) { - ResponseEntity.notFound().build(); - return; - } + if (educationOptional.isEmpty()) return; Education existingEducation = educationOptional.get(); BeanUtils.copyProperties(updatedEducation, existingEducation, "id"); educationRepository.save(existingEducation); - ResponseEntity.ok(existingEducation); } } diff --git a/services/users/src/main/java/com/workup/users/commands/UpdateFreelancerExperienceCommand.java b/services/users/src/main/java/com/workup/users/commands/UpdateFreelancerExperienceCommand.java index 986c607c..445d0892 100644 --- a/services/users/src/main/java/com/workup/users/commands/UpdateFreelancerExperienceCommand.java +++ b/services/users/src/main/java/com/workup/users/commands/UpdateFreelancerExperienceCommand.java @@ -1,12 +1,12 @@ package com.workup.users.commands; +import com.workup.shared.enums.HttpStatusCode; import com.workup.users.commands.requests.UpdateFreelancerExperienceRequest; import com.workup.users.commands.responses.UpdateFreelancerExperienceResponse; import com.workup.users.db.Experience; import com.workup.users.db.Freelancer; import java.util.Optional; import org.springframework.beans.BeanUtils; -import org.springframework.http.ResponseEntity; public class UpdateFreelancerExperienceCommand extends UserCommand { @@ -15,22 +15,24 @@ public UpdateFreelancerExperienceResponse Run(UpdateFreelancerExperienceRequest Optional freelancerOptional = freelancerRepository.findById(request.getFreelancer_id()); if (freelancerOptional.isEmpty()) - return UpdateFreelancerExperienceResponse.builder().withSuccess(false).build(); + return UpdateFreelancerExperienceResponse.builder() + .withStatusCode(HttpStatusCode.NOT_FOUND) + .withErrorMessage("Freelancer Doesn't Exist") + .build(); Freelancer freelancer = freelancerOptional.get(); updateExperience( request.getUpdatedExperience().getId().toString(), request.getUpdatedExperience()); return UpdateFreelancerExperienceResponse.builder() - .withSuccess(true) + .withStatusCode(HttpStatusCode.OK) .withFreelancer(freelancer) .build(); } - public ResponseEntity updateExperience(String id, Experience updatedExperience) { + public void updateExperience(String id, Experience updatedExperience) { Optional experienceOptional = experienceRepository.findById(id); - if (experienceOptional.isEmpty()) return ResponseEntity.notFound().build(); + if (experienceOptional.isEmpty()) return; Experience existingExperience = experienceOptional.get(); BeanUtils.copyProperties(updatedExperience, existingExperience, "id"); experienceRepository.save(existingExperience); - return ResponseEntity.ok(existingExperience); } } From 5f415afc56850c98e30638169928298eba55fdc8 Mon Sep 17 00:00:00 2001 From: Abdullah Ahmad Fouad <57245606+Abdullah204@users.noreply.github.com> Date: Thu, 2 May 2024 11:53:57 +0300 Subject: [PATCH 10/12] Payments `GetWallet` and `CreateWallet` unit testing (#58) * Added `GetWallet` request and response * Added `CreatePaymentRequest` request/response * Added inheritance from the Command Request and Response class to the * Added request/response * Added `createWallet` and `getWallet` unit testing --------- Co-authored-by: AhmedNasserG Co-authored-by: Abdulaziz-Hassan --- .../com/workup/payments/RabbitMQListener.java | 19 +++- .../payments/PaymentsApplicationTests.java | 104 ++++++++++++++---- 2 files changed, 103 insertions(+), 20 deletions(-) diff --git a/services/payments/src/main/java/com/workup/payments/RabbitMQListener.java b/services/payments/src/main/java/com/workup/payments/RabbitMQListener.java index 3aec1870..ca42e5f8 100644 --- a/services/payments/src/main/java/com/workup/payments/RabbitMQListener.java +++ b/services/payments/src/main/java/com/workup/payments/RabbitMQListener.java @@ -2,8 +2,14 @@ import com.workup.payments.commands.PaymentCommandMap; import com.workup.payments.commands.paymentrequest.CreatePaymentRequestCommand; +import com.workup.payments.commands.wallet.CreateWalletCommand; +import com.workup.payments.commands.wallet.GetWalletCommand; import com.workup.shared.commands.payments.paymentrequest.requests.CreatePaymentRequestRequest; import com.workup.shared.commands.payments.paymentrequest.responses.CreatePaymentRequestResponse; +import com.workup.shared.commands.payments.wallet.requests.CreateWalletRequest; +import com.workup.shared.commands.payments.wallet.requests.GetWalletRequest; +import com.workup.shared.commands.payments.wallet.responses.CreateWalletResponse; +import com.workup.shared.commands.payments.wallet.responses.GetWalletResponse; import com.workup.shared.enums.ServiceQueueNames; import org.springframework.amqp.rabbit.annotation.RabbitHandler; import org.springframework.amqp.rabbit.annotation.RabbitListener; @@ -14,10 +20,21 @@ @RabbitListener(queues = ServiceQueueNames.PAYMENTS) public class RabbitMQListener { - @Autowired public PaymentCommandMap commandMap; + @Autowired + public PaymentCommandMap commandMap; @RabbitHandler public CreatePaymentRequestResponse receive(CreatePaymentRequestRequest in) throws Exception { return ((CreatePaymentRequestCommand) commandMap.getCommand("CreatePaymentRequest")).Run(in); } + + @RabbitHandler + public CreateWalletResponse receive(CreateWalletRequest in) throws Exception { + return ((CreateWalletCommand) commandMap.getCommand("CreateWallet")).Run(in); + } + + @RabbitHandler + public GetWalletResponse receive(GetWalletRequest in) throws Exception { + return ((GetWalletCommand) commandMap.getCommand("GetWallet")).Run(in); + } } diff --git a/services/payments/src/test/java/com/workup/payments/PaymentsApplicationTests.java b/services/payments/src/test/java/com/workup/payments/PaymentsApplicationTests.java index 288094a5..4006baf0 100644 --- a/services/payments/src/test/java/com/workup/payments/PaymentsApplicationTests.java +++ b/services/payments/src/test/java/com/workup/payments/PaymentsApplicationTests.java @@ -24,6 +24,10 @@ import org.testcontainers.containers.RabbitMQContainer; import org.testcontainers.junit.jupiter.Container; import org.testcontainers.junit.jupiter.Testcontainers; +import com.workup.shared.commands.payments.wallet.requests.CreateWalletRequest; +import com.workup.shared.commands.payments.wallet.responses.CreateWalletResponse; +import com.workup.shared.commands.payments.wallet.requests.GetWalletRequest; +import com.workup.shared.commands.payments.wallet.responses.GetWalletResponse; @SpringBootTest @Testcontainers @@ -31,18 +35,21 @@ class PaymentsApplicationTests { @Container - static final PostgreSQLContainer postgreSQLContainer = - new PostgreSQLContainer<>("postgres:latest"); + static final PostgreSQLContainer postgreSQLContainer = new PostgreSQLContainer<>("postgres:latest"); @Container - static final RabbitMQContainer rabbitMQContainer = - new RabbitMQContainer("rabbitmq:3.13-management"); + static final RabbitMQContainer rabbitMQContainer = new RabbitMQContainer("rabbitmq:3.13-management"); - @Autowired private AmqpTemplate template; - @Autowired private PaymentRequestRepository paymentRequestRepository; - @Autowired private PaymentTransactionRepository paymentTransactionRepository; - @Autowired private WalletRepository walletRepository; - @Autowired private WalletTransactionRepository walletTransactionRepository; + @Autowired + private AmqpTemplate template; + @Autowired + private PaymentRequestRepository paymentRequestRepository; + @Autowired + private PaymentTransactionRepository paymentTransactionRepository; + @Autowired + private WalletRepository walletRepository; + @Autowired + private WalletTransactionRepository walletTransactionRepository; @BeforeEach void clearAll() { @@ -73,16 +80,14 @@ static void setDatasourceProperties(DynamicPropertyRegistry registry) { @Test void testCreatePaymentRequest() { - CreatePaymentRequestRequest createPaymentRequest = - CreatePaymentRequestRequest.builder() - .withAmount(1200) - .withDescription("Payment for services rendered") - .withClientId("3") - .withFreelancerId("4") - .build(); - CreatePaymentRequestResponse response = - (CreatePaymentRequestResponse) - template.convertSendAndReceive(ServiceQueueNames.PAYMENTS, createPaymentRequest); + CreatePaymentRequestRequest createPaymentRequest = CreatePaymentRequestRequest.builder() + .withAmount(1200) + .withDescription("Payment for services rendered") + .withClientId("3") + .withFreelancerId("4") + .build(); + CreatePaymentRequestResponse response = (CreatePaymentRequestResponse) template + .convertSendAndReceive(ServiceQueueNames.PAYMENTS, createPaymentRequest); assertNotNull(response); assertEquals(HttpStatusCode.CREATED, response.getStatusCode()); @@ -98,4 +103,65 @@ void testCreatePaymentRequest() { }, () -> fail("Payment request not found")); } + + @Test + void testCreateWalletCommand() { + + CreateWalletRequest createWalletRequest = CreateWalletRequest.builder() + .withFreelancerId("1") + .build(); + CreateWalletResponse response = (CreateWalletResponse) template.convertSendAndReceive(ServiceQueueNames.PAYMENTS, + createWalletRequest); + assertNotNull(response); + assertEquals(HttpStatusCode.CREATED, response.getStatusCode()); + + } + + @Test + void testCreateDuplicateWalletIsInvalid() { + CreateWalletRequest createWalletRequest = CreateWalletRequest.builder() + .withFreelancerId("1") + .build(); + CreateWalletResponse response = (CreateWalletResponse) template.convertSendAndReceive(ServiceQueueNames.PAYMENTS, + createWalletRequest); + assertNotNull(response); + assertEquals(HttpStatusCode.CREATED, response.getStatusCode()); + + CreateWalletResponse response2 = (CreateWalletResponse) template.convertSendAndReceive(ServiceQueueNames.PAYMENTS, + createWalletRequest); + assertNotNull(response2); + assertEquals(HttpStatusCode.BAD_REQUEST, response2.getStatusCode()); + } + + @Test + void testGetValidWallet() { + CreateWalletRequest createWalletRequest = CreateWalletRequest.builder() + .withFreelancerId("1") + .build(); + CreateWalletResponse response = (CreateWalletResponse) template.convertSendAndReceive(ServiceQueueNames.PAYMENTS, + createWalletRequest); + assertNotNull(response); + assertEquals(HttpStatusCode.CREATED, response.getStatusCode()); + + GetWalletRequest getWalletRequest = GetWalletRequest.builder() + .withFreelancerId("1") + .build(); + GetWalletResponse getWalletResponse = (GetWalletResponse) template.convertSendAndReceive(ServiceQueueNames.PAYMENTS, + getWalletRequest); + assertNotNull(getWalletResponse); + assertEquals(HttpStatusCode.OK, getWalletResponse.getStatusCode()); + assertEquals(0, getWalletResponse.getBalance()); + } + + @Test + void testGetInvalidWallet() { + GetWalletRequest getWalletRequest = GetWalletRequest.builder() + .withFreelancerId("1") + .build(); + GetWalletResponse getWalletResponse = (GetWalletResponse) template.convertSendAndReceive(ServiceQueueNames.PAYMENTS, + getWalletRequest); + assertNotNull(getWalletResponse); + assertEquals(HttpStatusCode.NOT_FOUND, getWalletResponse.getStatusCode()); + } + } From 6c0279f59e4c65b75803bcd3c807180703a134c4 Mon Sep 17 00:00:00 2001 From: Mahmoud Gaber Date: Thu, 2 May 2024 17:08:25 +0300 Subject: [PATCH 11/12] fix: Update user profile CRUD Update the user profile CRUD for better information hiding and move the requests and responses into the shared folder --- .../com/workup/payments/RabbitMQListener.java | 3 +- .../payments/PaymentsApplicationTests.java | 104 +++++++++--------- .../AddFreelancerAchievementCommand.java | 14 ++- .../AddFreelancerEducationCommand.java | 20 +++- .../AddFreelancerExperienceCommand.java | 20 ++-- .../GetFreelancerAchievementsCommand.java | 2 +- .../GetFreelancerEducationsCommand.java | 2 +- .../GetFreelancerExperiencesCommand.java | 2 +- .../RemoveFreelancerAchievementCommand.java | 9 +- .../RemoveFreelancerEducationCommand.java | 9 +- .../RemoveFreelancerExperienceCommand.java | 9 +- .../UpdateFreelancerAchievementCommand.java | 36 ++++-- .../UpdateFreelancerEducationCommand.java | 50 +++++++-- .../UpdateFreelancerExperienceCommand.java | 43 ++++++-- .../AddFreelancerAchievementRequest.java | 9 +- .../AddFreelancerEducationRequest.java | 13 ++- .../AddFreelancerExperienceRequest.java | 13 ++- .../GetFreelancerAchievementsRequest.java | 2 +- .../GetFreelancerEducationsRequest.java | 2 +- .../GetFreelancerExperiencesRequest.java | 2 +- .../RemoveFreelancerAchievementRequest.java | 2 +- .../RemoveFreelancerEducationRequest.java | 2 +- .../RemoveFreelancerExperienceRequest.java | 2 +- .../UpdateFreelancerAchievementRequest.java | 10 +- .../UpdateFreelancerEducationRequest.java | 13 ++- .../UpdateFreelancerExperienceRequest.java | 12 +- .../AddFreelancerAchievementResponse.java | 7 +- .../AddFreelancerEducationResponse.java | 5 +- .../AddFreelancerExperienceResponse.java | 7 +- .../FreelancerSetProfileResponse.java | 3 +- .../RemoveFreelancerAchievementResponse.java | 7 +- .../RemoveFreelancerEducationResponse.java | 7 +- .../RemoveFreelancerExperienceResponse.java | 7 +- .../UpdateFreelancerAchievementResponse.java | 7 +- .../UpdateFreelancerEducationResponse.java | 7 +- .../UpdateFreelancerExperienceResponse.java | 7 +- 36 files changed, 275 insertions(+), 194 deletions(-) rename {services/users/src/main/java/com/workup/users/commands => shared/src/main/java/com/workup/shared/commands/users}/requests/AddFreelancerAchievementRequest.java (63%) rename {services/users/src/main/java/com/workup/users/commands => shared/src/main/java/com/workup/shared/commands/users}/requests/AddFreelancerEducationRequest.java (56%) rename {services/users/src/main/java/com/workup/users/commands => shared/src/main/java/com/workup/shared/commands/users}/requests/AddFreelancerExperienceRequest.java (54%) rename {services/users/src/main/java/com/workup/users/commands => shared/src/main/java/com/workup/shared/commands/users}/requests/GetFreelancerAchievementsRequest.java (85%) rename {services/users/src/main/java/com/workup/users/commands => shared/src/main/java/com/workup/shared/commands/users}/requests/GetFreelancerEducationsRequest.java (85%) rename {services/users/src/main/java/com/workup/users/commands => shared/src/main/java/com/workup/shared/commands/users}/requests/GetFreelancerExperiencesRequest.java (86%) rename {services/users/src/main/java/com/workup/users/commands => shared/src/main/java/com/workup/shared/commands/users}/requests/RemoveFreelancerAchievementRequest.java (86%) rename {services/users/src/main/java/com/workup/users/commands => shared/src/main/java/com/workup/shared/commands/users}/requests/RemoveFreelancerEducationRequest.java (86%) rename {services/users/src/main/java/com/workup/users/commands => shared/src/main/java/com/workup/shared/commands/users}/requests/RemoveFreelancerExperienceRequest.java (86%) rename {services/users/src/main/java/com/workup/users/commands => shared/src/main/java/com/workup/shared/commands/users}/requests/UpdateFreelancerAchievementRequest.java (59%) rename {services/users/src/main/java/com/workup/users/commands => shared/src/main/java/com/workup/shared/commands/users}/requests/UpdateFreelancerEducationRequest.java (55%) rename {services/users/src/main/java/com/workup/users/commands => shared/src/main/java/com/workup/shared/commands/users}/requests/UpdateFreelancerExperienceRequest.java (54%) rename {services/users/src/main/java/com/workup/users/commands => shared/src/main/java/com/workup/shared/commands/users}/responses/AddFreelancerAchievementResponse.java (70%) rename {services/users/src/main/java/com/workup/users/commands => shared/src/main/java/com/workup/shared/commands/users}/responses/AddFreelancerEducationResponse.java (82%) rename {services/users/src/main/java/com/workup/users/commands => shared/src/main/java/com/workup/shared/commands/users}/responses/AddFreelancerExperienceResponse.java (68%) rename {services/users/src/main/java/com/workup/users/commands => shared/src/main/java/com/workup/shared/commands/users}/responses/RemoveFreelancerAchievementResponse.java (69%) rename {services/users/src/main/java/com/workup/users/commands => shared/src/main/java/com/workup/shared/commands/users}/responses/RemoveFreelancerEducationResponse.java (70%) rename {services/users/src/main/java/com/workup/users/commands => shared/src/main/java/com/workup/shared/commands/users}/responses/RemoveFreelancerExperienceResponse.java (69%) rename {services/users/src/main/java/com/workup/users/commands => shared/src/main/java/com/workup/shared/commands/users}/responses/UpdateFreelancerAchievementResponse.java (69%) rename {services/users/src/main/java/com/workup/users/commands => shared/src/main/java/com/workup/shared/commands/users}/responses/UpdateFreelancerEducationResponse.java (70%) rename {services/users/src/main/java/com/workup/users/commands => shared/src/main/java/com/workup/shared/commands/users}/responses/UpdateFreelancerExperienceResponse.java (69%) diff --git a/services/payments/src/main/java/com/workup/payments/RabbitMQListener.java b/services/payments/src/main/java/com/workup/payments/RabbitMQListener.java index ca42e5f8..9bc796e8 100644 --- a/services/payments/src/main/java/com/workup/payments/RabbitMQListener.java +++ b/services/payments/src/main/java/com/workup/payments/RabbitMQListener.java @@ -20,8 +20,7 @@ @RabbitListener(queues = ServiceQueueNames.PAYMENTS) public class RabbitMQListener { - @Autowired - public PaymentCommandMap commandMap; + @Autowired public PaymentCommandMap commandMap; @RabbitHandler public CreatePaymentRequestResponse receive(CreatePaymentRequestRequest in) throws Exception { diff --git a/services/payments/src/test/java/com/workup/payments/PaymentsApplicationTests.java b/services/payments/src/test/java/com/workup/payments/PaymentsApplicationTests.java index 4006baf0..b5917eca 100644 --- a/services/payments/src/test/java/com/workup/payments/PaymentsApplicationTests.java +++ b/services/payments/src/test/java/com/workup/payments/PaymentsApplicationTests.java @@ -8,6 +8,10 @@ import com.workup.payments.repositories.WalletTransactionRepository; import com.workup.shared.commands.payments.paymentrequest.requests.CreatePaymentRequestRequest; import com.workup.shared.commands.payments.paymentrequest.responses.CreatePaymentRequestResponse; +import com.workup.shared.commands.payments.wallet.requests.CreateWalletRequest; +import com.workup.shared.commands.payments.wallet.requests.GetWalletRequest; +import com.workup.shared.commands.payments.wallet.responses.CreateWalletResponse; +import com.workup.shared.commands.payments.wallet.responses.GetWalletResponse; import com.workup.shared.enums.HttpStatusCode; import com.workup.shared.enums.ServiceQueueNames; import java.util.UUID; @@ -24,10 +28,6 @@ import org.testcontainers.containers.RabbitMQContainer; import org.testcontainers.junit.jupiter.Container; import org.testcontainers.junit.jupiter.Testcontainers; -import com.workup.shared.commands.payments.wallet.requests.CreateWalletRequest; -import com.workup.shared.commands.payments.wallet.responses.CreateWalletResponse; -import com.workup.shared.commands.payments.wallet.requests.GetWalletRequest; -import com.workup.shared.commands.payments.wallet.responses.GetWalletResponse; @SpringBootTest @Testcontainers @@ -35,21 +35,18 @@ class PaymentsApplicationTests { @Container - static final PostgreSQLContainer postgreSQLContainer = new PostgreSQLContainer<>("postgres:latest"); + static final PostgreSQLContainer postgreSQLContainer = + new PostgreSQLContainer<>("postgres:latest"); @Container - static final RabbitMQContainer rabbitMQContainer = new RabbitMQContainer("rabbitmq:3.13-management"); - - @Autowired - private AmqpTemplate template; - @Autowired - private PaymentRequestRepository paymentRequestRepository; - @Autowired - private PaymentTransactionRepository paymentTransactionRepository; - @Autowired - private WalletRepository walletRepository; - @Autowired - private WalletTransactionRepository walletTransactionRepository; + static final RabbitMQContainer rabbitMQContainer = + new RabbitMQContainer("rabbitmq:3.13-management"); + + @Autowired private AmqpTemplate template; + @Autowired private PaymentRequestRepository paymentRequestRepository; + @Autowired private PaymentTransactionRepository paymentTransactionRepository; + @Autowired private WalletRepository walletRepository; + @Autowired private WalletTransactionRepository walletTransactionRepository; @BeforeEach void clearAll() { @@ -80,14 +77,16 @@ static void setDatasourceProperties(DynamicPropertyRegistry registry) { @Test void testCreatePaymentRequest() { - CreatePaymentRequestRequest createPaymentRequest = CreatePaymentRequestRequest.builder() - .withAmount(1200) - .withDescription("Payment for services rendered") - .withClientId("3") - .withFreelancerId("4") - .build(); - CreatePaymentRequestResponse response = (CreatePaymentRequestResponse) template - .convertSendAndReceive(ServiceQueueNames.PAYMENTS, createPaymentRequest); + CreatePaymentRequestRequest createPaymentRequest = + CreatePaymentRequestRequest.builder() + .withAmount(1200) + .withDescription("Payment for services rendered") + .withClientId("3") + .withFreelancerId("4") + .build(); + CreatePaymentRequestResponse response = + (CreatePaymentRequestResponse) + template.convertSendAndReceive(ServiceQueueNames.PAYMENTS, createPaymentRequest); assertNotNull(response); assertEquals(HttpStatusCode.CREATED, response.getStatusCode()); @@ -107,47 +106,46 @@ void testCreatePaymentRequest() { @Test void testCreateWalletCommand() { - CreateWalletRequest createWalletRequest = CreateWalletRequest.builder() - .withFreelancerId("1") - .build(); - CreateWalletResponse response = (CreateWalletResponse) template.convertSendAndReceive(ServiceQueueNames.PAYMENTS, - createWalletRequest); + CreateWalletRequest createWalletRequest = + CreateWalletRequest.builder().withFreelancerId("1").build(); + CreateWalletResponse response = + (CreateWalletResponse) + template.convertSendAndReceive(ServiceQueueNames.PAYMENTS, createWalletRequest); assertNotNull(response); assertEquals(HttpStatusCode.CREATED, response.getStatusCode()); - } @Test void testCreateDuplicateWalletIsInvalid() { - CreateWalletRequest createWalletRequest = CreateWalletRequest.builder() - .withFreelancerId("1") - .build(); - CreateWalletResponse response = (CreateWalletResponse) template.convertSendAndReceive(ServiceQueueNames.PAYMENTS, - createWalletRequest); + CreateWalletRequest createWalletRequest = + CreateWalletRequest.builder().withFreelancerId("1").build(); + CreateWalletResponse response = + (CreateWalletResponse) + template.convertSendAndReceive(ServiceQueueNames.PAYMENTS, createWalletRequest); assertNotNull(response); assertEquals(HttpStatusCode.CREATED, response.getStatusCode()); - CreateWalletResponse response2 = (CreateWalletResponse) template.convertSendAndReceive(ServiceQueueNames.PAYMENTS, - createWalletRequest); + CreateWalletResponse response2 = + (CreateWalletResponse) + template.convertSendAndReceive(ServiceQueueNames.PAYMENTS, createWalletRequest); assertNotNull(response2); assertEquals(HttpStatusCode.BAD_REQUEST, response2.getStatusCode()); } @Test void testGetValidWallet() { - CreateWalletRequest createWalletRequest = CreateWalletRequest.builder() - .withFreelancerId("1") - .build(); - CreateWalletResponse response = (CreateWalletResponse) template.convertSendAndReceive(ServiceQueueNames.PAYMENTS, - createWalletRequest); + CreateWalletRequest createWalletRequest = + CreateWalletRequest.builder().withFreelancerId("1").build(); + CreateWalletResponse response = + (CreateWalletResponse) + template.convertSendAndReceive(ServiceQueueNames.PAYMENTS, createWalletRequest); assertNotNull(response); assertEquals(HttpStatusCode.CREATED, response.getStatusCode()); - GetWalletRequest getWalletRequest = GetWalletRequest.builder() - .withFreelancerId("1") - .build(); - GetWalletResponse getWalletResponse = (GetWalletResponse) template.convertSendAndReceive(ServiceQueueNames.PAYMENTS, - getWalletRequest); + GetWalletRequest getWalletRequest = GetWalletRequest.builder().withFreelancerId("1").build(); + GetWalletResponse getWalletResponse = + (GetWalletResponse) + template.convertSendAndReceive(ServiceQueueNames.PAYMENTS, getWalletRequest); assertNotNull(getWalletResponse); assertEquals(HttpStatusCode.OK, getWalletResponse.getStatusCode()); assertEquals(0, getWalletResponse.getBalance()); @@ -155,13 +153,11 @@ void testGetValidWallet() { @Test void testGetInvalidWallet() { - GetWalletRequest getWalletRequest = GetWalletRequest.builder() - .withFreelancerId("1") - .build(); - GetWalletResponse getWalletResponse = (GetWalletResponse) template.convertSendAndReceive(ServiceQueueNames.PAYMENTS, - getWalletRequest); + GetWalletRequest getWalletRequest = GetWalletRequest.builder().withFreelancerId("1").build(); + GetWalletResponse getWalletResponse = + (GetWalletResponse) + template.convertSendAndReceive(ServiceQueueNames.PAYMENTS, getWalletRequest); assertNotNull(getWalletResponse); assertEquals(HttpStatusCode.NOT_FOUND, getWalletResponse.getStatusCode()); } - } diff --git a/services/users/src/main/java/com/workup/users/commands/AddFreelancerAchievementCommand.java b/services/users/src/main/java/com/workup/users/commands/AddFreelancerAchievementCommand.java index 54de1865..1f40a83f 100644 --- a/services/users/src/main/java/com/workup/users/commands/AddFreelancerAchievementCommand.java +++ b/services/users/src/main/java/com/workup/users/commands/AddFreelancerAchievementCommand.java @@ -1,8 +1,8 @@ package com.workup.users.commands; +import com.workup.shared.commands.users.requests.AddFreelancerAchievementRequest; +import com.workup.shared.commands.users.responses.AddFreelancerAchievementResponse; import com.workup.shared.enums.HttpStatusCode; -import com.workup.users.commands.requests.AddFreelancerAchievementRequest; -import com.workup.users.commands.responses.AddFreelancerAchievementResponse; import com.workup.users.db.Achievement; import com.workup.users.db.Freelancer; import java.util.Optional; @@ -19,12 +19,18 @@ public AddFreelancerAchievementResponse Run(AddFreelancerAchievementRequest requ .withErrorMessage("Freelancer Doesn't Exist") .build(); Freelancer freelancer = freelancerOptional.get(); - Achievement newAchievement = achievementRepository.save(request.getNewAchievement()); + Achievement newAchievement = + Achievement.builder() + .withAchievement_description(request.getAchievement_description()) + .withAchievement_name(request.getAchievement_name()) + .withAward_date(request.getAward_date()) + .withAwarded_by(request.getAwarded_by()) + .build(); + newAchievement = achievementRepository.save(newAchievement); freelancer.getAchievements().add(newAchievement); freelancerRepository.save(freelancer); return AddFreelancerAchievementResponse.builder() .withStatusCode(HttpStatusCode.CREATED) - .withFreelancer(freelancer) .build(); } } diff --git a/services/users/src/main/java/com/workup/users/commands/AddFreelancerEducationCommand.java b/services/users/src/main/java/com/workup/users/commands/AddFreelancerEducationCommand.java index 27697f12..78b8b7bf 100644 --- a/services/users/src/main/java/com/workup/users/commands/AddFreelancerEducationCommand.java +++ b/services/users/src/main/java/com/workup/users/commands/AddFreelancerEducationCommand.java @@ -1,8 +1,8 @@ package com.workup.users.commands; +import com.workup.shared.commands.users.requests.AddFreelancerEducationRequest; import com.workup.shared.commands.users.responses.AddFreelancerEducationResponse; import com.workup.shared.enums.HttpStatusCode; -import com.workup.users.commands.requests.AddFreelancerEducationRequest; import com.workup.users.db.Education; import com.workup.users.db.Freelancer; import java.util.Optional; @@ -20,12 +20,20 @@ public AddFreelancerEducationResponse Run(AddFreelancerEducationRequest request) .withErrorMessage("Freelancer Doesn't Exist") .build(); Freelancer freelancer = freelancerOptional.get(); - Education newEducation = educationRepository.save(request.getNewEducation()); + Education newEducation = + Education.builder() + .withCity(request.getCity()) + .withDegree(request.getDegree()) + .withEducation_description(request.getEducation_description()) + .withEducation_start_date(request.getEducation_start_date()) + .withEnd_date(request.getEnd_date()) + .withGrade(request.getGrade()) + .withMajor(request.getMajor()) + .withSchool_name(request.getSchool_name()) + .build(); + newEducation = educationRepository.save(newEducation); freelancer.getEducations().add(newEducation); freelancerRepository.save(freelancer); - return AddFreelancerEducationResponse.builder() - .withStatusCode(HttpStatusCode.CREATED) - .withFreelancer(freelancer) - .build(); + return AddFreelancerEducationResponse.builder().withStatusCode(HttpStatusCode.CREATED).build(); } } diff --git a/services/users/src/main/java/com/workup/users/commands/AddFreelancerExperienceCommand.java b/services/users/src/main/java/com/workup/users/commands/AddFreelancerExperienceCommand.java index 59c08b88..d8704a26 100644 --- a/services/users/src/main/java/com/workup/users/commands/AddFreelancerExperienceCommand.java +++ b/services/users/src/main/java/com/workup/users/commands/AddFreelancerExperienceCommand.java @@ -1,8 +1,8 @@ package com.workup.users.commands; +import com.workup.shared.commands.users.requests.AddFreelancerExperienceRequest; +import com.workup.shared.commands.users.responses.AddFreelancerExperienceResponse; import com.workup.shared.enums.HttpStatusCode; -import com.workup.users.commands.requests.AddFreelancerExperienceRequest; -import com.workup.users.commands.responses.AddFreelancerExperienceResponse; import com.workup.users.db.Experience; import com.workup.users.db.Freelancer; import java.util.Optional; @@ -19,12 +19,18 @@ public AddFreelancerExperienceResponse Run(AddFreelancerExperienceRequest reques .withErrorMessage("Freelancer Doesn't Exist") .build(); Freelancer freelancer = freelancerOptional.get(); - Experience newExperience = experienceRepository.save(request.getNewExperience()); + Experience newExperience = + Experience.builder() + .withExperience_description(request.getExperience_description()) + .withCity(request.getCity()) + .withCompany_name(request.getCompany_name()) + .withEmployment_end(request.getEmployment_end()) + .withEmployment_start(request.getEmployment_start()) + .withJob_title(request.getJob_title()) + .build(); + newExperience = experienceRepository.save(newExperience); freelancer.getExperiences().add(newExperience); freelancerRepository.save(freelancer); - return AddFreelancerExperienceResponse.builder() - .withStatusCode(HttpStatusCode.CREATED) - .withFreelancer(freelancer) - .build(); + return AddFreelancerExperienceResponse.builder().withStatusCode(HttpStatusCode.CREATED).build(); } } diff --git a/services/users/src/main/java/com/workup/users/commands/GetFreelancerAchievementsCommand.java b/services/users/src/main/java/com/workup/users/commands/GetFreelancerAchievementsCommand.java index 70b86202..e0663bff 100644 --- a/services/users/src/main/java/com/workup/users/commands/GetFreelancerAchievementsCommand.java +++ b/services/users/src/main/java/com/workup/users/commands/GetFreelancerAchievementsCommand.java @@ -1,7 +1,7 @@ package com.workup.users.commands; +import com.workup.shared.commands.users.requests.GetFreelancerAchievementsRequest; import com.workup.shared.enums.HttpStatusCode; -import com.workup.users.commands.requests.GetFreelancerAchievementsRequest; import com.workup.users.commands.responses.GetFreelancerAchievementsResponse; import com.workup.users.db.Achievement; import com.workup.users.db.Freelancer; diff --git a/services/users/src/main/java/com/workup/users/commands/GetFreelancerEducationsCommand.java b/services/users/src/main/java/com/workup/users/commands/GetFreelancerEducationsCommand.java index a71774ce..2b9c7fb6 100644 --- a/services/users/src/main/java/com/workup/users/commands/GetFreelancerEducationsCommand.java +++ b/services/users/src/main/java/com/workup/users/commands/GetFreelancerEducationsCommand.java @@ -1,7 +1,7 @@ package com.workup.users.commands; +import com.workup.shared.commands.users.requests.GetFreelancerEducationsRequest; import com.workup.shared.enums.HttpStatusCode; -import com.workup.users.commands.requests.GetFreelancerEducationsRequest; import com.workup.users.commands.responses.GetFreelancerEducationsResponse; import com.workup.users.db.Education; import com.workup.users.db.Freelancer; diff --git a/services/users/src/main/java/com/workup/users/commands/GetFreelancerExperiencesCommand.java b/services/users/src/main/java/com/workup/users/commands/GetFreelancerExperiencesCommand.java index 9dbd8baf..0ed86ed1 100644 --- a/services/users/src/main/java/com/workup/users/commands/GetFreelancerExperiencesCommand.java +++ b/services/users/src/main/java/com/workup/users/commands/GetFreelancerExperiencesCommand.java @@ -1,7 +1,7 @@ package com.workup.users.commands; +import com.workup.shared.commands.users.requests.GetFreelancerExperiencesRequest; import com.workup.shared.enums.HttpStatusCode; -import com.workup.users.commands.requests.GetFreelancerExperiencesRequest; import com.workup.users.commands.responses.GetFreelancerExperiencesResponse; import com.workup.users.db.Experience; import com.workup.users.db.Freelancer; diff --git a/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerAchievementCommand.java b/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerAchievementCommand.java index b516e63c..14fdec63 100644 --- a/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerAchievementCommand.java +++ b/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerAchievementCommand.java @@ -1,8 +1,8 @@ package com.workup.users.commands; +import com.workup.shared.commands.users.requests.RemoveFreelancerAchievementRequest; +import com.workup.shared.commands.users.responses.RemoveFreelancerAchievementResponse; import com.workup.shared.enums.HttpStatusCode; -import com.workup.users.commands.requests.RemoveFreelancerAchievementRequest; -import com.workup.users.commands.responses.RemoveFreelancerAchievementResponse; import com.workup.users.db.Achievement; import com.workup.users.db.Freelancer; import java.util.Optional; @@ -24,10 +24,7 @@ public RemoveFreelancerAchievementResponse Run(RemoveFreelancerAchievementReques .removeIf(achievement -> achievement.getId().toString().equals(request.getAchievementId())); deleteAchievement(request.getAchievementId()); freelancerRepository.save(freelancer); - return RemoveFreelancerAchievementResponse.builder() - .withStatusCode(HttpStatusCode.OK) - .withFreelancer(freelancer) - .build(); + return RemoveFreelancerAchievementResponse.builder().withStatusCode(HttpStatusCode.OK).build(); } public void deleteAchievement(String id) { diff --git a/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerEducationCommand.java b/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerEducationCommand.java index 6ec4d221..e2f4d8eb 100644 --- a/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerEducationCommand.java +++ b/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerEducationCommand.java @@ -1,8 +1,8 @@ package com.workup.users.commands; +import com.workup.shared.commands.users.requests.RemoveFreelancerEducationRequest; +import com.workup.shared.commands.users.responses.RemoveFreelancerEducationResponse; import com.workup.shared.enums.HttpStatusCode; -import com.workup.users.commands.requests.RemoveFreelancerEducationRequest; -import com.workup.users.commands.responses.RemoveFreelancerEducationResponse; import com.workup.users.db.Education; import com.workup.users.db.Freelancer; import java.util.Optional; @@ -25,10 +25,7 @@ public RemoveFreelancerEducationResponse Run(RemoveFreelancerEducationRequest re .removeIf(education -> education.getId().toString().equals(request.getEducation_id())); deleteEducation(request.getEducation_id()); freelancerRepository.save(freelancer); - return RemoveFreelancerEducationResponse.builder() - .withStatusCode(HttpStatusCode.OK) - .withFreelancer(freelancer) - .build(); + return RemoveFreelancerEducationResponse.builder().withStatusCode(HttpStatusCode.OK).build(); } void deleteEducation(String id) { diff --git a/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerExperienceCommand.java b/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerExperienceCommand.java index 1e798af1..665ca054 100644 --- a/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerExperienceCommand.java +++ b/services/users/src/main/java/com/workup/users/commands/RemoveFreelancerExperienceCommand.java @@ -1,8 +1,8 @@ package com.workup.users.commands; +import com.workup.shared.commands.users.requests.RemoveFreelancerExperienceRequest; +import com.workup.shared.commands.users.responses.RemoveFreelancerExperienceResponse; import com.workup.shared.enums.HttpStatusCode; -import com.workup.users.commands.requests.RemoveFreelancerExperienceRequest; -import com.workup.users.commands.responses.RemoveFreelancerExperienceResponse; import com.workup.users.db.Experience; import com.workup.users.db.Freelancer; import java.util.Optional; @@ -24,10 +24,7 @@ public RemoveFreelancerExperienceResponse Run(RemoveFreelancerExperienceRequest .removeIf(experience -> experience.getId().toString().equals(request.getExperience_id())); deleteExperience(request.getExperience_id()); freelancerRepository.save(freelancer); - return RemoveFreelancerExperienceResponse.builder() - .withStatusCode(HttpStatusCode.OK) - .withFreelancer(freelancer) - .build(); + return RemoveFreelancerExperienceResponse.builder().withStatusCode(HttpStatusCode.OK).build(); } public void deleteExperience(String id) { diff --git a/services/users/src/main/java/com/workup/users/commands/UpdateFreelancerAchievementCommand.java b/services/users/src/main/java/com/workup/users/commands/UpdateFreelancerAchievementCommand.java index a292f784..c21da6c8 100644 --- a/services/users/src/main/java/com/workup/users/commands/UpdateFreelancerAchievementCommand.java +++ b/services/users/src/main/java/com/workup/users/commands/UpdateFreelancerAchievementCommand.java @@ -1,12 +1,11 @@ package com.workup.users.commands; +import com.workup.shared.commands.users.requests.UpdateFreelancerAchievementRequest; +import com.workup.shared.commands.users.responses.UpdateFreelancerAchievementResponse; import com.workup.shared.enums.HttpStatusCode; -import com.workup.users.commands.requests.UpdateFreelancerAchievementRequest; -import com.workup.users.commands.responses.UpdateFreelancerAchievementResponse; import com.workup.users.db.Achievement; import com.workup.users.db.Freelancer; import java.util.Optional; -import org.springframework.beans.BeanUtils; public class UpdateFreelancerAchievementCommand extends UserCommand { @@ -20,20 +19,35 @@ public UpdateFreelancerAchievementResponse Run(UpdateFreelancerAchievementReques .withErrorMessage("Freelancer Doesn't Exist") .build(); Freelancer freelancer = freelancerOptional.get(); - updateAchievement(request.getUpdatedAchievement()); + Achievement updatedAchievement = + Achievement.builder() + .withAchievement_description(request.getNew_achievement_description()) + .withAchievement_name(request.getNew_achievement_name()) + .withAward_date(request.getNew_award_date()) + .withAwarded_by(request.getNew_awarded_by()) + .build(); + updateAchievement(request.getAchievement_id(), updatedAchievement); freelancerRepository.save(freelancer); - return UpdateFreelancerAchievementResponse.builder() - .withStatusCode(HttpStatusCode.OK) - .withFreelancer(freelancer) - .build(); + return UpdateFreelancerAchievementResponse.builder().withStatusCode(HttpStatusCode.OK).build(); } - public void updateAchievement(Achievement updatedAchievement) { - String id = updatedAchievement.getId().toString(); + public void updateAchievement(String id, Achievement updatedAchievement) { Optional achievementOptional = achievementRepository.findById(id); if (achievementOptional.isEmpty()) return; Achievement existingAchievement = achievementOptional.get(); - BeanUtils.copyProperties(updatedAchievement, existingAchievement, "id"); + if (updatedAchievement.getAchievement_name() != null) { + existingAchievement.setAchievement_name(updatedAchievement.getAchievement_name()); + } + if (updatedAchievement.getAchievement_description() != null) { + existingAchievement.setAchievement_description( + updatedAchievement.getAchievement_description()); + } + if (updatedAchievement.getAward_date() != null) { + existingAchievement.setAward_date(updatedAchievement.getAward_date()); + } + if (updatedAchievement.getAwarded_by() != null) { + existingAchievement.setAwarded_by(updatedAchievement.getAwarded_by()); + } achievementRepository.save(existingAchievement); } } diff --git a/services/users/src/main/java/com/workup/users/commands/UpdateFreelancerEducationCommand.java b/services/users/src/main/java/com/workup/users/commands/UpdateFreelancerEducationCommand.java index 85a29be2..03beaf0f 100644 --- a/services/users/src/main/java/com/workup/users/commands/UpdateFreelancerEducationCommand.java +++ b/services/users/src/main/java/com/workup/users/commands/UpdateFreelancerEducationCommand.java @@ -1,12 +1,11 @@ package com.workup.users.commands; +import com.workup.shared.commands.users.requests.UpdateFreelancerEducationRequest; +import com.workup.shared.commands.users.responses.UpdateFreelancerEducationResponse; import com.workup.shared.enums.HttpStatusCode; -import com.workup.users.commands.requests.UpdateFreelancerEducationRequest; -import com.workup.users.commands.responses.UpdateFreelancerEducationResponse; import com.workup.users.db.Education; import com.workup.users.db.Freelancer; import java.util.Optional; -import org.springframework.beans.BeanUtils; public class UpdateFreelancerEducationCommand extends UserCommand { @@ -21,18 +20,51 @@ public UpdateFreelancerEducationResponse Run(UpdateFreelancerEducationRequest re .withErrorMessage("Freelancer Doesn't Exist") .build(); Freelancer freelancer = freelancerOptional.get(); - updateEducation(request.getEducation_id(), request.getUpdatedEducation()); - return UpdateFreelancerEducationResponse.builder() - .withStatusCode(HttpStatusCode.OK) - .withFreelancer(freelancer) - .build(); + Education updatedEducation = + Education.builder() + .withCity(request.getNew_city()) + .withDegree(request.getNew_degree()) + .withEducation_description(request.getNew_education_description()) + .withEducation_start_date(request.getNew_education_start_date()) + .withEnd_date(request.getNew_end_date()) + .withGrade(request.getNew_grade()) + .withMajor(request.getNew_major()) + .withSchool_name(request.getNew_school_name()) + .build(); + updateEducation(request.getEducation_id(), updatedEducation); + freelancerRepository.save(freelancer); + return UpdateFreelancerEducationResponse.builder().withStatusCode(HttpStatusCode.OK).build(); } void updateEducation(String id, Education updatedEducation) { Optional educationOptional = educationRepository.findById(id); if (educationOptional.isEmpty()) return; Education existingEducation = educationOptional.get(); - BeanUtils.copyProperties(updatedEducation, existingEducation, "id"); + if (updatedEducation.getCity() != null) { + existingEducation.setCity(updatedEducation.getCity()); + } + if (updatedEducation.getDegree() != null) { + existingEducation.setDegree(updatedEducation.getDegree()); + } + if (updatedEducation.getEducation_start_date() != null) { + existingEducation.setEducation_start_date(updatedEducation.getEducation_start_date()); + } + if (updatedEducation.getEnd_date() != null) { + existingEducation.setEnd_date(updatedEducation.getEnd_date()); + } + if (updatedEducation.getEducation_description() != null) { + existingEducation.setEducation_description(updatedEducation.getEducation_description()); + } + if (updatedEducation.getGrade() != null) { + existingEducation.setGrade(updatedEducation.getGrade()); + } + if (updatedEducation.getMajor() != null) { + existingEducation.setMajor(updatedEducation.getMajor()); + } + if (updatedEducation.getSchool_name() != null) { + existingEducation.setSchool_name(updatedEducation.getSchool_name()); + } + educationRepository.save(existingEducation); } } diff --git a/services/users/src/main/java/com/workup/users/commands/UpdateFreelancerExperienceCommand.java b/services/users/src/main/java/com/workup/users/commands/UpdateFreelancerExperienceCommand.java index 445d0892..e0bf47fb 100644 --- a/services/users/src/main/java/com/workup/users/commands/UpdateFreelancerExperienceCommand.java +++ b/services/users/src/main/java/com/workup/users/commands/UpdateFreelancerExperienceCommand.java @@ -1,12 +1,11 @@ package com.workup.users.commands; +import com.workup.shared.commands.users.requests.UpdateFreelancerExperienceRequest; +import com.workup.shared.commands.users.responses.UpdateFreelancerExperienceResponse; import com.workup.shared.enums.HttpStatusCode; -import com.workup.users.commands.requests.UpdateFreelancerExperienceRequest; -import com.workup.users.commands.responses.UpdateFreelancerExperienceResponse; import com.workup.users.db.Experience; import com.workup.users.db.Freelancer; import java.util.Optional; -import org.springframework.beans.BeanUtils; public class UpdateFreelancerExperienceCommand extends UserCommand { @@ -20,19 +19,43 @@ public UpdateFreelancerExperienceResponse Run(UpdateFreelancerExperienceRequest .withErrorMessage("Freelancer Doesn't Exist") .build(); Freelancer freelancer = freelancerOptional.get(); - updateExperience( - request.getUpdatedExperience().getId().toString(), request.getUpdatedExperience()); - return UpdateFreelancerExperienceResponse.builder() - .withStatusCode(HttpStatusCode.OK) - .withFreelancer(freelancer) - .build(); + Experience updatedExperience = + Experience.builder() + .withExperience_description(request.getNew_experience_description()) + .withCity(request.getNew_city()) + .withCompany_name(request.getNew_company_name()) + .withEmployment_end(request.getNew_employment_end()) + .withEmployment_start(request.getNew_employment_start()) + .withJob_title(request.getNew_job_title()) + .build(); + updateExperience(request.getExperience_id(), updatedExperience); + freelancerRepository.save(freelancer); + return UpdateFreelancerExperienceResponse.builder().withStatusCode(HttpStatusCode.OK).build(); } public void updateExperience(String id, Experience updatedExperience) { Optional experienceOptional = experienceRepository.findById(id); if (experienceOptional.isEmpty()) return; Experience existingExperience = experienceOptional.get(); - BeanUtils.copyProperties(updatedExperience, existingExperience, "id"); + if (updatedExperience.getExperience_description() != null) { + existingExperience.setExperience_description(updatedExperience.getExperience_description()); + } + if (updatedExperience.getCity() != null) { + existingExperience.setCity(updatedExperience.getCity()); + } + if (updatedExperience.getCompany_name() != null) { + existingExperience.setCompany_name(updatedExperience.getCompany_name()); + } + if (updatedExperience.getEmployment_end() != null) { + existingExperience.setEmployment_end(updatedExperience.getEmployment_end()); + } + if (updatedExperience.getEmployment_start() != null) { + existingExperience.setEmployment_start(updatedExperience.getEmployment_start()); + } + if (updatedExperience.getJob_title() != null) { + existingExperience.setJob_title(updatedExperience.getJob_title()); + } + experienceRepository.save(existingExperience); } } diff --git a/services/users/src/main/java/com/workup/users/commands/requests/AddFreelancerAchievementRequest.java b/shared/src/main/java/com/workup/shared/commands/users/requests/AddFreelancerAchievementRequest.java similarity index 63% rename from services/users/src/main/java/com/workup/users/commands/requests/AddFreelancerAchievementRequest.java rename to shared/src/main/java/com/workup/shared/commands/users/requests/AddFreelancerAchievementRequest.java index 6a1339d0..7c950fe5 100644 --- a/services/users/src/main/java/com/workup/users/commands/requests/AddFreelancerAchievementRequest.java +++ b/shared/src/main/java/com/workup/shared/commands/users/requests/AddFreelancerAchievementRequest.java @@ -1,7 +1,7 @@ -package com.workup.users.commands.requests; +package com.workup.shared.commands.users.requests; import com.workup.shared.commands.CommandRequest; -import com.workup.users.db.Achievement; +import java.util.Date; import lombok.Getter; import lombok.experimental.SuperBuilder; import lombok.extern.jackson.Jacksonized; @@ -11,5 +11,8 @@ @Jacksonized public class AddFreelancerAchievementRequest extends CommandRequest { String freelancer_id; - Achievement newAchievement; + String achievement_name; + String awarded_by; + String achievement_description; + Date award_date; } diff --git a/services/users/src/main/java/com/workup/users/commands/requests/AddFreelancerEducationRequest.java b/shared/src/main/java/com/workup/shared/commands/users/requests/AddFreelancerEducationRequest.java similarity index 56% rename from services/users/src/main/java/com/workup/users/commands/requests/AddFreelancerEducationRequest.java rename to shared/src/main/java/com/workup/shared/commands/users/requests/AddFreelancerEducationRequest.java index 28f2bb2b..2bac0981 100644 --- a/services/users/src/main/java/com/workup/users/commands/requests/AddFreelancerEducationRequest.java +++ b/shared/src/main/java/com/workup/shared/commands/users/requests/AddFreelancerEducationRequest.java @@ -1,7 +1,7 @@ -package com.workup.users.commands.requests; +package com.workup.shared.commands.users.requests; import com.workup.shared.commands.CommandRequest; -import com.workup.users.db.Education; +import java.util.Date; import lombok.Getter; import lombok.experimental.SuperBuilder; import lombok.extern.jackson.Jacksonized; @@ -11,5 +11,12 @@ @Jacksonized public class AddFreelancerEducationRequest extends CommandRequest { String freelancer_id; - Education newEducation; + String school_name; + String degree; + Date education_start_date; + String city; + Date end_date; + String major; + String education_description; + String grade; } diff --git a/services/users/src/main/java/com/workup/users/commands/requests/AddFreelancerExperienceRequest.java b/shared/src/main/java/com/workup/shared/commands/users/requests/AddFreelancerExperienceRequest.java similarity index 54% rename from services/users/src/main/java/com/workup/users/commands/requests/AddFreelancerExperienceRequest.java rename to shared/src/main/java/com/workup/shared/commands/users/requests/AddFreelancerExperienceRequest.java index 3c1a48fe..d6aaa03c 100644 --- a/services/users/src/main/java/com/workup/users/commands/requests/AddFreelancerExperienceRequest.java +++ b/shared/src/main/java/com/workup/shared/commands/users/requests/AddFreelancerExperienceRequest.java @@ -1,7 +1,7 @@ -package com.workup.users.commands.requests; +package com.workup.shared.commands.users.requests; import com.workup.shared.commands.CommandRequest; -import com.workup.users.db.Experience; +import java.util.Date; import lombok.Getter; import lombok.experimental.SuperBuilder; import lombok.extern.jackson.Jacksonized; @@ -10,6 +10,11 @@ @SuperBuilder(setterPrefix = "with") @Jacksonized public class AddFreelancerExperienceRequest extends CommandRequest { - private String freelancerId; - private Experience newExperience; + String freelancerId; + String company_name; + String job_title; + Date employment_start; + Date employment_end; + String experience_description; + String city; } diff --git a/services/users/src/main/java/com/workup/users/commands/requests/GetFreelancerAchievementsRequest.java b/shared/src/main/java/com/workup/shared/commands/users/requests/GetFreelancerAchievementsRequest.java similarity index 85% rename from services/users/src/main/java/com/workup/users/commands/requests/GetFreelancerAchievementsRequest.java rename to shared/src/main/java/com/workup/shared/commands/users/requests/GetFreelancerAchievementsRequest.java index 3f07cd2c..35062ba6 100644 --- a/services/users/src/main/java/com/workup/users/commands/requests/GetFreelancerAchievementsRequest.java +++ b/shared/src/main/java/com/workup/shared/commands/users/requests/GetFreelancerAchievementsRequest.java @@ -1,4 +1,4 @@ -package com.workup.users.commands.requests; +package com.workup.shared.commands.users.requests; import com.workup.shared.commands.CommandRequest; import lombok.Getter; diff --git a/services/users/src/main/java/com/workup/users/commands/requests/GetFreelancerEducationsRequest.java b/shared/src/main/java/com/workup/shared/commands/users/requests/GetFreelancerEducationsRequest.java similarity index 85% rename from services/users/src/main/java/com/workup/users/commands/requests/GetFreelancerEducationsRequest.java rename to shared/src/main/java/com/workup/shared/commands/users/requests/GetFreelancerEducationsRequest.java index 4a542730..3fecb3ea 100644 --- a/services/users/src/main/java/com/workup/users/commands/requests/GetFreelancerEducationsRequest.java +++ b/shared/src/main/java/com/workup/shared/commands/users/requests/GetFreelancerEducationsRequest.java @@ -1,4 +1,4 @@ -package com.workup.users.commands.requests; +package com.workup.shared.commands.users.requests; import com.workup.shared.commands.CommandRequest; import lombok.Getter; diff --git a/services/users/src/main/java/com/workup/users/commands/requests/GetFreelancerExperiencesRequest.java b/shared/src/main/java/com/workup/shared/commands/users/requests/GetFreelancerExperiencesRequest.java similarity index 86% rename from services/users/src/main/java/com/workup/users/commands/requests/GetFreelancerExperiencesRequest.java rename to shared/src/main/java/com/workup/shared/commands/users/requests/GetFreelancerExperiencesRequest.java index 7a31f398..cda0209f 100644 --- a/services/users/src/main/java/com/workup/users/commands/requests/GetFreelancerExperiencesRequest.java +++ b/shared/src/main/java/com/workup/shared/commands/users/requests/GetFreelancerExperiencesRequest.java @@ -1,4 +1,4 @@ -package com.workup.users.commands.requests; +package com.workup.shared.commands.users.requests; import com.workup.shared.commands.CommandRequest; import lombok.Getter; diff --git a/services/users/src/main/java/com/workup/users/commands/requests/RemoveFreelancerAchievementRequest.java b/shared/src/main/java/com/workup/shared/commands/users/requests/RemoveFreelancerAchievementRequest.java similarity index 86% rename from services/users/src/main/java/com/workup/users/commands/requests/RemoveFreelancerAchievementRequest.java rename to shared/src/main/java/com/workup/shared/commands/users/requests/RemoveFreelancerAchievementRequest.java index 6353d1c0..266cca34 100644 --- a/services/users/src/main/java/com/workup/users/commands/requests/RemoveFreelancerAchievementRequest.java +++ b/shared/src/main/java/com/workup/shared/commands/users/requests/RemoveFreelancerAchievementRequest.java @@ -1,4 +1,4 @@ -package com.workup.users.commands.requests; +package com.workup.shared.commands.users.requests; import com.workup.shared.commands.CommandRequest; import lombok.Getter; diff --git a/services/users/src/main/java/com/workup/users/commands/requests/RemoveFreelancerEducationRequest.java b/shared/src/main/java/com/workup/shared/commands/users/requests/RemoveFreelancerEducationRequest.java similarity index 86% rename from services/users/src/main/java/com/workup/users/commands/requests/RemoveFreelancerEducationRequest.java rename to shared/src/main/java/com/workup/shared/commands/users/requests/RemoveFreelancerEducationRequest.java index 7a378687..1c68fa73 100644 --- a/services/users/src/main/java/com/workup/users/commands/requests/RemoveFreelancerEducationRequest.java +++ b/shared/src/main/java/com/workup/shared/commands/users/requests/RemoveFreelancerEducationRequest.java @@ -1,4 +1,4 @@ -package com.workup.users.commands.requests; +package com.workup.shared.commands.users.requests; import com.workup.shared.commands.CommandRequest; import lombok.Getter; diff --git a/services/users/src/main/java/com/workup/users/commands/requests/RemoveFreelancerExperienceRequest.java b/shared/src/main/java/com/workup/shared/commands/users/requests/RemoveFreelancerExperienceRequest.java similarity index 86% rename from services/users/src/main/java/com/workup/users/commands/requests/RemoveFreelancerExperienceRequest.java rename to shared/src/main/java/com/workup/shared/commands/users/requests/RemoveFreelancerExperienceRequest.java index 8bd9ce72..1e82f5eb 100644 --- a/services/users/src/main/java/com/workup/users/commands/requests/RemoveFreelancerExperienceRequest.java +++ b/shared/src/main/java/com/workup/shared/commands/users/requests/RemoveFreelancerExperienceRequest.java @@ -1,4 +1,4 @@ -package com.workup.users.commands.requests; +package com.workup.shared.commands.users.requests; import com.workup.shared.commands.CommandRequest; import lombok.Getter; diff --git a/services/users/src/main/java/com/workup/users/commands/requests/UpdateFreelancerAchievementRequest.java b/shared/src/main/java/com/workup/shared/commands/users/requests/UpdateFreelancerAchievementRequest.java similarity index 59% rename from services/users/src/main/java/com/workup/users/commands/requests/UpdateFreelancerAchievementRequest.java rename to shared/src/main/java/com/workup/shared/commands/users/requests/UpdateFreelancerAchievementRequest.java index ff639957..e31a4447 100644 --- a/services/users/src/main/java/com/workup/users/commands/requests/UpdateFreelancerAchievementRequest.java +++ b/shared/src/main/java/com/workup/shared/commands/users/requests/UpdateFreelancerAchievementRequest.java @@ -1,7 +1,7 @@ -package com.workup.users.commands.requests; +package com.workup.shared.commands.users.requests; import com.workup.shared.commands.CommandRequest; -import com.workup.users.db.Achievement; +import java.util.Date; import lombok.Getter; import lombok.experimental.SuperBuilder; import lombok.extern.jackson.Jacksonized; @@ -11,5 +11,9 @@ @Jacksonized public class UpdateFreelancerAchievementRequest extends CommandRequest { String freelancer_id; - Achievement updatedAchievement; + String achievement_id; + String new_achievement_name; + String new_awarded_by; + String new_achievement_description; + Date new_award_date; } diff --git a/services/users/src/main/java/com/workup/users/commands/requests/UpdateFreelancerEducationRequest.java b/shared/src/main/java/com/workup/shared/commands/users/requests/UpdateFreelancerEducationRequest.java similarity index 55% rename from services/users/src/main/java/com/workup/users/commands/requests/UpdateFreelancerEducationRequest.java rename to shared/src/main/java/com/workup/shared/commands/users/requests/UpdateFreelancerEducationRequest.java index fa0bf2dc..3140bf08 100644 --- a/services/users/src/main/java/com/workup/users/commands/requests/UpdateFreelancerEducationRequest.java +++ b/shared/src/main/java/com/workup/shared/commands/users/requests/UpdateFreelancerEducationRequest.java @@ -1,7 +1,7 @@ -package com.workup.users.commands.requests; +package com.workup.shared.commands.users.requests; import com.workup.shared.commands.CommandRequest; -import com.workup.users.db.Education; +import java.util.Date; import lombok.Getter; import lombok.experimental.SuperBuilder; import lombok.extern.jackson.Jacksonized; @@ -12,5 +12,12 @@ public class UpdateFreelancerEducationRequest extends CommandRequest { String freelancer_id; String education_id; - Education updatedEducation; + String new_school_name; + String new_degree; + Date new_education_start_date; + String new_city; + Date new_end_date; + String new_major; + String new_education_description; + String new_grade; } diff --git a/services/users/src/main/java/com/workup/users/commands/requests/UpdateFreelancerExperienceRequest.java b/shared/src/main/java/com/workup/shared/commands/users/requests/UpdateFreelancerExperienceRequest.java similarity index 54% rename from services/users/src/main/java/com/workup/users/commands/requests/UpdateFreelancerExperienceRequest.java rename to shared/src/main/java/com/workup/shared/commands/users/requests/UpdateFreelancerExperienceRequest.java index ea913811..a19f5862 100644 --- a/services/users/src/main/java/com/workup/users/commands/requests/UpdateFreelancerExperienceRequest.java +++ b/shared/src/main/java/com/workup/shared/commands/users/requests/UpdateFreelancerExperienceRequest.java @@ -1,7 +1,7 @@ -package com.workup.users.commands.requests; +package com.workup.shared.commands.users.requests; import com.workup.shared.commands.CommandRequest; -import com.workup.users.db.Experience; +import java.util.Date; import lombok.Getter; import lombok.experimental.SuperBuilder; import lombok.extern.jackson.Jacksonized; @@ -11,5 +11,11 @@ @Jacksonized public class UpdateFreelancerExperienceRequest extends CommandRequest { String freelancer_id; - Experience updatedExperience; + String experience_id; + String new_company_name; + String new_job_title; + Date new_employment_start; + Date new_employment_end; + String new_experience_description; + String new_city; } diff --git a/services/users/src/main/java/com/workup/users/commands/responses/AddFreelancerAchievementResponse.java b/shared/src/main/java/com/workup/shared/commands/users/responses/AddFreelancerAchievementResponse.java similarity index 70% rename from services/users/src/main/java/com/workup/users/commands/responses/AddFreelancerAchievementResponse.java rename to shared/src/main/java/com/workup/shared/commands/users/responses/AddFreelancerAchievementResponse.java index e4503c73..2ba3370a 100644 --- a/services/users/src/main/java/com/workup/users/commands/responses/AddFreelancerAchievementResponse.java +++ b/shared/src/main/java/com/workup/shared/commands/users/responses/AddFreelancerAchievementResponse.java @@ -1,7 +1,6 @@ -package com.workup.users.commands.responses; +package com.workup.shared.commands.users.responses; import com.workup.shared.commands.CommandResponse; -import com.workup.users.db.Freelancer; import lombok.Getter; import lombok.experimental.SuperBuilder; import lombok.extern.jackson.Jacksonized; @@ -9,6 +8,4 @@ @Getter @SuperBuilder(setterPrefix = "with") @Jacksonized -public class AddFreelancerAchievementResponse extends CommandResponse { - Freelancer freelancer; -} +public class AddFreelancerAchievementResponse extends CommandResponse {} diff --git a/services/users/src/main/java/com/workup/users/commands/responses/AddFreelancerEducationResponse.java b/shared/src/main/java/com/workup/shared/commands/users/responses/AddFreelancerEducationResponse.java similarity index 82% rename from services/users/src/main/java/com/workup/users/commands/responses/AddFreelancerEducationResponse.java rename to shared/src/main/java/com/workup/shared/commands/users/responses/AddFreelancerEducationResponse.java index ec208805..398912d2 100644 --- a/services/users/src/main/java/com/workup/users/commands/responses/AddFreelancerEducationResponse.java +++ b/shared/src/main/java/com/workup/shared/commands/users/responses/AddFreelancerEducationResponse.java @@ -1,7 +1,6 @@ package com.workup.shared.commands.users.responses; import com.workup.shared.commands.CommandResponse; -import com.workup.users.db.Freelancer; import lombok.Getter; import lombok.experimental.SuperBuilder; import lombok.extern.jackson.Jacksonized; @@ -9,6 +8,4 @@ @Getter @SuperBuilder(setterPrefix = "with") @Jacksonized -public class AddFreelancerEducationResponse extends CommandResponse { - Freelancer freelancer; -} +public class AddFreelancerEducationResponse extends CommandResponse {} diff --git a/services/users/src/main/java/com/workup/users/commands/responses/AddFreelancerExperienceResponse.java b/shared/src/main/java/com/workup/shared/commands/users/responses/AddFreelancerExperienceResponse.java similarity index 68% rename from services/users/src/main/java/com/workup/users/commands/responses/AddFreelancerExperienceResponse.java rename to shared/src/main/java/com/workup/shared/commands/users/responses/AddFreelancerExperienceResponse.java index 8b7add6f..373a6901 100644 --- a/services/users/src/main/java/com/workup/users/commands/responses/AddFreelancerExperienceResponse.java +++ b/shared/src/main/java/com/workup/shared/commands/users/responses/AddFreelancerExperienceResponse.java @@ -1,7 +1,6 @@ -package com.workup.users.commands.responses; +package com.workup.shared.commands.users.responses; import com.workup.shared.commands.CommandResponse; -import com.workup.users.db.Freelancer; import lombok.Getter; import lombok.experimental.SuperBuilder; import lombok.extern.jackson.Jacksonized; @@ -9,6 +8,4 @@ @Getter @SuperBuilder(setterPrefix = "with") @Jacksonized -public class AddFreelancerExperienceResponse extends CommandResponse { - private Freelancer freelancer; -} +public class AddFreelancerExperienceResponse extends CommandResponse {} diff --git a/shared/src/main/java/com/workup/shared/commands/users/responses/FreelancerSetProfileResponse.java b/shared/src/main/java/com/workup/shared/commands/users/responses/FreelancerSetProfileResponse.java index c700dbf3..ec35a8fc 100644 --- a/shared/src/main/java/com/workup/shared/commands/users/responses/FreelancerSetProfileResponse.java +++ b/shared/src/main/java/com/workup/shared/commands/users/responses/FreelancerSetProfileResponse.java @@ -7,4 +7,5 @@ @Getter @SuperBuilder(setterPrefix = "with") -@Jacksonized public class FreelancerSetProfileResponse extends CommandResponse {} +@Jacksonized +public class FreelancerSetProfileResponse extends CommandResponse {} diff --git a/services/users/src/main/java/com/workup/users/commands/responses/RemoveFreelancerAchievementResponse.java b/shared/src/main/java/com/workup/shared/commands/users/responses/RemoveFreelancerAchievementResponse.java similarity index 69% rename from services/users/src/main/java/com/workup/users/commands/responses/RemoveFreelancerAchievementResponse.java rename to shared/src/main/java/com/workup/shared/commands/users/responses/RemoveFreelancerAchievementResponse.java index 5254cdb8..50cdb78a 100644 --- a/services/users/src/main/java/com/workup/users/commands/responses/RemoveFreelancerAchievementResponse.java +++ b/shared/src/main/java/com/workup/shared/commands/users/responses/RemoveFreelancerAchievementResponse.java @@ -1,7 +1,6 @@ -package com.workup.users.commands.responses; +package com.workup.shared.commands.users.responses; import com.workup.shared.commands.CommandResponse; -import com.workup.users.db.Freelancer; import lombok.Getter; import lombok.experimental.SuperBuilder; import lombok.extern.jackson.Jacksonized; @@ -9,6 +8,4 @@ @Getter @SuperBuilder(setterPrefix = "with") @Jacksonized -public class RemoveFreelancerAchievementResponse extends CommandResponse { - Freelancer freelancer; -} +public class RemoveFreelancerAchievementResponse extends CommandResponse {} diff --git a/services/users/src/main/java/com/workup/users/commands/responses/RemoveFreelancerEducationResponse.java b/shared/src/main/java/com/workup/shared/commands/users/responses/RemoveFreelancerEducationResponse.java similarity index 70% rename from services/users/src/main/java/com/workup/users/commands/responses/RemoveFreelancerEducationResponse.java rename to shared/src/main/java/com/workup/shared/commands/users/responses/RemoveFreelancerEducationResponse.java index ad4a3b03..e88ae8d0 100644 --- a/services/users/src/main/java/com/workup/users/commands/responses/RemoveFreelancerEducationResponse.java +++ b/shared/src/main/java/com/workup/shared/commands/users/responses/RemoveFreelancerEducationResponse.java @@ -1,7 +1,6 @@ -package com.workup.users.commands.responses; +package com.workup.shared.commands.users.responses; import com.workup.shared.commands.CommandResponse; -import com.workup.users.db.Freelancer; import lombok.Getter; import lombok.experimental.SuperBuilder; import lombok.extern.jackson.Jacksonized; @@ -9,6 +8,4 @@ @Getter @SuperBuilder(setterPrefix = "with") @Jacksonized -public class RemoveFreelancerEducationResponse extends CommandResponse { - Freelancer freelancer; -} +public class RemoveFreelancerEducationResponse extends CommandResponse {} diff --git a/services/users/src/main/java/com/workup/users/commands/responses/RemoveFreelancerExperienceResponse.java b/shared/src/main/java/com/workup/shared/commands/users/responses/RemoveFreelancerExperienceResponse.java similarity index 69% rename from services/users/src/main/java/com/workup/users/commands/responses/RemoveFreelancerExperienceResponse.java rename to shared/src/main/java/com/workup/shared/commands/users/responses/RemoveFreelancerExperienceResponse.java index 66cc9707..19ecdc2d 100644 --- a/services/users/src/main/java/com/workup/users/commands/responses/RemoveFreelancerExperienceResponse.java +++ b/shared/src/main/java/com/workup/shared/commands/users/responses/RemoveFreelancerExperienceResponse.java @@ -1,7 +1,6 @@ -package com.workup.users.commands.responses; +package com.workup.shared.commands.users.responses; import com.workup.shared.commands.CommandResponse; -import com.workup.users.db.Freelancer; import lombok.Getter; import lombok.experimental.SuperBuilder; import lombok.extern.jackson.Jacksonized; @@ -9,6 +8,4 @@ @Getter @SuperBuilder(setterPrefix = "with") @Jacksonized -public class RemoveFreelancerExperienceResponse extends CommandResponse { - Freelancer freelancer; -} +public class RemoveFreelancerExperienceResponse extends CommandResponse {} diff --git a/services/users/src/main/java/com/workup/users/commands/responses/UpdateFreelancerAchievementResponse.java b/shared/src/main/java/com/workup/shared/commands/users/responses/UpdateFreelancerAchievementResponse.java similarity index 69% rename from services/users/src/main/java/com/workup/users/commands/responses/UpdateFreelancerAchievementResponse.java rename to shared/src/main/java/com/workup/shared/commands/users/responses/UpdateFreelancerAchievementResponse.java index 68907f80..08158dda 100644 --- a/services/users/src/main/java/com/workup/users/commands/responses/UpdateFreelancerAchievementResponse.java +++ b/shared/src/main/java/com/workup/shared/commands/users/responses/UpdateFreelancerAchievementResponse.java @@ -1,7 +1,6 @@ -package com.workup.users.commands.responses; +package com.workup.shared.commands.users.responses; import com.workup.shared.commands.CommandResponse; -import com.workup.users.db.Freelancer; import lombok.Getter; import lombok.experimental.SuperBuilder; import lombok.extern.jackson.Jacksonized; @@ -9,6 +8,4 @@ @Getter @SuperBuilder(setterPrefix = "with") @Jacksonized -public class UpdateFreelancerAchievementResponse extends CommandResponse { - Freelancer freelancer; -} +public class UpdateFreelancerAchievementResponse extends CommandResponse {} diff --git a/services/users/src/main/java/com/workup/users/commands/responses/UpdateFreelancerEducationResponse.java b/shared/src/main/java/com/workup/shared/commands/users/responses/UpdateFreelancerEducationResponse.java similarity index 70% rename from services/users/src/main/java/com/workup/users/commands/responses/UpdateFreelancerEducationResponse.java rename to shared/src/main/java/com/workup/shared/commands/users/responses/UpdateFreelancerEducationResponse.java index 06d5af17..abcf1dc4 100644 --- a/services/users/src/main/java/com/workup/users/commands/responses/UpdateFreelancerEducationResponse.java +++ b/shared/src/main/java/com/workup/shared/commands/users/responses/UpdateFreelancerEducationResponse.java @@ -1,7 +1,6 @@ -package com.workup.users.commands.responses; +package com.workup.shared.commands.users.responses; import com.workup.shared.commands.CommandResponse; -import com.workup.users.db.Freelancer; import lombok.Getter; import lombok.experimental.SuperBuilder; import lombok.extern.jackson.Jacksonized; @@ -9,6 +8,4 @@ @Getter @SuperBuilder(setterPrefix = "with") @Jacksonized -public class UpdateFreelancerEducationResponse extends CommandResponse { - Freelancer freelancer; -} +public class UpdateFreelancerEducationResponse extends CommandResponse {} diff --git a/services/users/src/main/java/com/workup/users/commands/responses/UpdateFreelancerExperienceResponse.java b/shared/src/main/java/com/workup/shared/commands/users/responses/UpdateFreelancerExperienceResponse.java similarity index 69% rename from services/users/src/main/java/com/workup/users/commands/responses/UpdateFreelancerExperienceResponse.java rename to shared/src/main/java/com/workup/shared/commands/users/responses/UpdateFreelancerExperienceResponse.java index bea5b80a..f68dfe19 100644 --- a/services/users/src/main/java/com/workup/users/commands/responses/UpdateFreelancerExperienceResponse.java +++ b/shared/src/main/java/com/workup/shared/commands/users/responses/UpdateFreelancerExperienceResponse.java @@ -1,7 +1,6 @@ -package com.workup.users.commands.responses; +package com.workup.shared.commands.users.responses; import com.workup.shared.commands.CommandResponse; -import com.workup.users.db.Freelancer; import lombok.Getter; import lombok.experimental.SuperBuilder; import lombok.extern.jackson.Jacksonized; @@ -9,6 +8,4 @@ @Getter @SuperBuilder(setterPrefix = "with") @Jacksonized -public class UpdateFreelancerExperienceResponse extends CommandResponse { - Freelancer freelancer; -} +public class UpdateFreelancerExperienceResponse extends CommandResponse {} From 54cd07c47335c1c73c872d0d8bea9e1e2fc0c50b Mon Sep 17 00:00:00 2001 From: Mahmoud Gaber Date: Sat, 4 May 2024 17:20:46 +0300 Subject: [PATCH 12/12] fix: Remove duplicate files --- .../src/main/java/com/workup/users/commands/UserCommand.java | 4 ++-- .../main/java/com/workup/users/db/ExperienceRepository.java | 5 ----- .../main/java/com/workup/users/db/FreelancerRepository.java | 5 ----- .../users/{db => repositories}/AchievementRepository.java | 3 ++- .../users/{db => repositories}/EducationRepository.java | 3 ++- 5 files changed, 6 insertions(+), 14 deletions(-) delete mode 100644 services/users/src/main/java/com/workup/users/db/ExperienceRepository.java delete mode 100644 services/users/src/main/java/com/workup/users/db/FreelancerRepository.java rename services/users/src/main/java/com/workup/users/{db => repositories}/AchievementRepository.java (66%) rename services/users/src/main/java/com/workup/users/{db => repositories}/EducationRepository.java (66%) diff --git a/services/users/src/main/java/com/workup/users/commands/UserCommand.java b/services/users/src/main/java/com/workup/users/commands/UserCommand.java index 5e80338f..efb85fb9 100644 --- a/services/users/src/main/java/com/workup/users/commands/UserCommand.java +++ b/services/users/src/main/java/com/workup/users/commands/UserCommand.java @@ -1,9 +1,9 @@ package com.workup.users.commands; import com.workup.shared.commands.Command; -import com.workup.users.db.AchievementRepository; -import com.workup.users.db.EducationRepository; +import com.workup.users.repositories.AchievementRepository; import com.workup.users.repositories.ClientRepository; +import com.workup.users.repositories.EducationRepository; import com.workup.users.repositories.ExperienceRepository; import com.workup.users.repositories.FreelancerRepository; import lombok.Setter; diff --git a/services/users/src/main/java/com/workup/users/db/ExperienceRepository.java b/services/users/src/main/java/com/workup/users/db/ExperienceRepository.java deleted file mode 100644 index 6fd5066e..00000000 --- a/services/users/src/main/java/com/workup/users/db/ExperienceRepository.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.workup.users.db; - -import org.springframework.data.mongodb.repository.MongoRepository; - -public interface ExperienceRepository extends MongoRepository {} diff --git a/services/users/src/main/java/com/workup/users/db/FreelancerRepository.java b/services/users/src/main/java/com/workup/users/db/FreelancerRepository.java deleted file mode 100644 index b7ba7214..00000000 --- a/services/users/src/main/java/com/workup/users/db/FreelancerRepository.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.workup.users.db; - -import org.springframework.data.mongodb.repository.MongoRepository; - -public interface FreelancerRepository extends MongoRepository {} diff --git a/services/users/src/main/java/com/workup/users/db/AchievementRepository.java b/services/users/src/main/java/com/workup/users/repositories/AchievementRepository.java similarity index 66% rename from services/users/src/main/java/com/workup/users/db/AchievementRepository.java rename to services/users/src/main/java/com/workup/users/repositories/AchievementRepository.java index d9c3d37d..d6099b45 100644 --- a/services/users/src/main/java/com/workup/users/db/AchievementRepository.java +++ b/services/users/src/main/java/com/workup/users/repositories/AchievementRepository.java @@ -1,5 +1,6 @@ -package com.workup.users.db; +package com.workup.users.repositories; +import com.workup.users.db.Achievement; import org.springframework.data.mongodb.repository.MongoRepository; public interface AchievementRepository extends MongoRepository {} diff --git a/services/users/src/main/java/com/workup/users/db/EducationRepository.java b/services/users/src/main/java/com/workup/users/repositories/EducationRepository.java similarity index 66% rename from services/users/src/main/java/com/workup/users/db/EducationRepository.java rename to services/users/src/main/java/com/workup/users/repositories/EducationRepository.java index 91fc2006..5321cdc0 100644 --- a/services/users/src/main/java/com/workup/users/db/EducationRepository.java +++ b/services/users/src/main/java/com/workup/users/repositories/EducationRepository.java @@ -1,5 +1,6 @@ -package com.workup.users.db; +package com.workup.users.repositories; +import com.workup.users.db.Education; import org.springframework.data.mongodb.repository.MongoRepository; public interface EducationRepository extends MongoRepository {}