From 8e5f8ee8e78be2f2f6060b1740c8e9f440542dda Mon Sep 17 00:00:00 2001
From: Alexandrov Alexandr <144331961+butareyka@users.noreply.github.com>
Date: Sun, 10 Nov 2024 22:57:59 +0300
Subject: [PATCH] Proposal CRUD: add, update, delete
---
.idea/misc.xml | 2 +-
.idea/modules.xml | 2 +
.idea/workspace.xml | 110 +++++++++++-------
Frontend/.idea/Frontend.iml | 9 ++
Frontend/Frontend.iml | 9 ++
.../server/services/ProposalService.java | 27 -----
.../server/DTO/MemberDTO.java | 2 +-
.../server/DTO/OrganizationDTO.java | 2 +-
.../server/DTO/OrganizationProfileDTO.java | 2 +-
.../server/DTO/ProposalDTO.java | 2 +-
.../server/DTO/ProposalInfoDTO.java | 3 +-
.../server/ServerApplication.java | 2 +-
.../server/controllers/MemberController.java | 6 +-
.../controllers/OrganizationController.java | 10 +-
.../controllers/ProposalController.java | 34 +++++-
.../server/models/Member.java | 2 +-
.../server/models/ModerationStatus.java | 2 +-
.../server/models/Organization.java | 2 +-
.../server/models/OrganizationLinks.java | 3 +-
.../server/models/OrganizationModeration.java | 2 +-
.../models/OrganizationModerationId.java | 2 +-
.../server/models/OrganizationProposal.java | 3 +-
.../server/models/OrganizationProposalId.java | 2 +-
.../server/models/Proposal.java | 20 +++-
.../server/models/ProposalInfo.java | 2 +-
.../server/models/ProposalStatus.java | 2 +-
.../server/models/Wallet.java | 2 +-
.../server/repositories/MemberRepository.java | 4 +-
.../OrganizationLinksRepository.java | 4 +-
.../repositories/OrganizationRepository.java | 4 +-
.../repositories/ProposalInfoRepository.java | 4 +-
.../repositories/ProposalRepository.java | 5 +-
.../server/services/MemberService.java | 6 +-
.../services/OrganizationProfileService.java | 20 ++--
.../server/services/OrganizationService.java | 6 +-
.../services/ProposalProfileService.java | 8 +-
.../server/services/ProposalService.java | 52 +++++++++
.../src/main/resources/application.properties | 6 +-
.../src/main/resources/templates/profile.html | 1 +
.../server/ServerApplicationTests.java | 2 +-
40 files changed, 250 insertions(+), 138 deletions(-)
create mode 100644 Frontend/.idea/Frontend.iml
create mode 100644 Frontend/Frontend.iml
delete mode 100644 Server/src/main/java/by/titanic/server/services/ProposalService.java
rename Server/src/main/java/by/{titanic => tonArea}/server/DTO/MemberDTO.java (85%)
rename Server/src/main/java/by/{titanic => tonArea}/server/DTO/OrganizationDTO.java (86%)
rename Server/src/main/java/by/{titanic => tonArea}/server/DTO/OrganizationProfileDTO.java (93%)
rename Server/src/main/java/by/{titanic => tonArea}/server/DTO/ProposalDTO.java (89%)
rename Server/src/main/java/by/{titanic => tonArea}/server/DTO/ProposalInfoDTO.java (93%)
rename Server/src/main/java/by/{titanic => tonArea}/server/ServerApplication.java (91%)
rename Server/src/main/java/by/{titanic => tonArea}/server/controllers/MemberController.java (75%)
rename Server/src/main/java/by/{titanic => tonArea}/server/controllers/OrganizationController.java (80%)
rename Server/src/main/java/by/{titanic => tonArea}/server/controllers/ProposalController.java (50%)
rename Server/src/main/java/by/{titanic => tonArea}/server/models/Member.java (91%)
rename Server/src/main/java/by/{titanic => tonArea}/server/models/ModerationStatus.java (63%)
rename Server/src/main/java/by/{titanic => tonArea}/server/models/Organization.java (92%)
rename Server/src/main/java/by/{titanic => tonArea}/server/models/OrganizationLinks.java (90%)
rename Server/src/main/java/by/{titanic => tonArea}/server/models/OrganizationModeration.java (90%)
rename Server/src/main/java/by/{titanic => tonArea}/server/models/OrganizationModerationId.java (91%)
rename Server/src/main/java/by/{titanic => tonArea}/server/models/OrganizationProposal.java (72%)
rename Server/src/main/java/by/{titanic => tonArea}/server/models/OrganizationProposalId.java (90%)
rename Server/src/main/java/by/{titanic => tonArea}/server/models/Proposal.java (72%)
rename Server/src/main/java/by/{titanic => tonArea}/server/models/ProposalInfo.java (96%)
rename Server/src/main/java/by/{titanic => tonArea}/server/models/ProposalStatus.java (66%)
rename Server/src/main/java/by/{titanic => tonArea}/server/models/Wallet.java (91%)
rename Server/src/main/java/by/{titanic => tonArea}/server/repositories/MemberRepository.java (63%)
rename Server/src/main/java/by/{titanic => tonArea}/server/repositories/OrganizationLinksRepository.java (89%)
rename Server/src/main/java/by/{titanic => tonArea}/server/repositories/OrganizationRepository.java (79%)
rename Server/src/main/java/by/{titanic => tonArea}/server/repositories/ProposalInfoRepository.java (84%)
rename Server/src/main/java/by/{titanic => tonArea}/server/repositories/ProposalRepository.java (77%)
rename Server/src/main/java/by/{titanic => tonArea}/server/services/MemberService.java (70%)
rename Server/src/main/java/by/{titanic => tonArea}/server/services/OrganizationProfileService.java (77%)
rename Server/src/main/java/by/{titanic => tonArea}/server/services/OrganizationService.java (81%)
rename Server/src/main/java/by/{titanic => tonArea}/server/services/ProposalProfileService.java (80%)
create mode 100644 Server/src/main/java/by/tonArea/server/services/ProposalService.java
rename Server/src/test/java/by/{titanic => tonArea}/server/ServerApplicationTests.java (87%)
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 24be906..c228e75 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -4,7 +4,7 @@
-
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
index 47dc2a9..cadadc1 100644
--- a/.idea/modules.xml
+++ b/.idea/modules.xml
@@ -2,8 +2,10 @@
+
+
\ No newline at end of file
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 80e015d..89571b3 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -5,18 +5,43 @@
-
-
-
-
-
-
-
-
-
-
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -62,42 +87,42 @@
- {
- "keyToString": {
- "Gradle.Build Server.executor": "Run",
- "Gradle.Download Sources.executor": "Run",
- "Gradle.Server.executor": "Run",
- "RequestMappingsPanelOrder0": "0",
- "RequestMappingsPanelOrder1": "1",
- "RequestMappingsPanelWidth0": "75",
- "RequestMappingsPanelWidth1": "75",
- "RunOnceActivity.ShowReadmeOnStart": "true",
- "SHARE_PROJECT_CONFIGURATION_FILES": "true",
- "Spring Boot.ServerApplication.executor": "Run",
- "git-widget-placeholder": "main",
- "kotlin-language-version-configured": "true",
- "last_opened_file_path": "/Users/macbook/pets/Titanic",
- "node.js.detected.package.eslint": "true",
- "node.js.detected.package.tslint": "true",
- "node.js.selected.package.eslint": "(autodetect)",
- "node.js.selected.package.tslint": "(autodetect)",
- "nodejs_package_manager_path": "npm",
- "project.structure.last.edited": "Project",
- "project.structure.proportion": "0.0",
- "project.structure.side.proportion": "0.0",
- "settings.editor.selected.configurable": "reference.settingsdialog.project.gradle",
- "vue.rearranger.settings.migration": "true"
+
+}]]>
-
+
@@ -124,6 +149,9 @@
+
+
+
diff --git a/Frontend/.idea/Frontend.iml b/Frontend/.idea/Frontend.iml
new file mode 100644
index 0000000..d6ebd48
--- /dev/null
+++ b/Frontend/.idea/Frontend.iml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Frontend/Frontend.iml b/Frontend/Frontend.iml
new file mode 100644
index 0000000..8021953
--- /dev/null
+++ b/Frontend/Frontend.iml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Server/src/main/java/by/titanic/server/services/ProposalService.java b/Server/src/main/java/by/titanic/server/services/ProposalService.java
deleted file mode 100644
index ee2102c..0000000
--- a/Server/src/main/java/by/titanic/server/services/ProposalService.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package by.titanic.server.services;
-
-import by.titanic.server.models.Proposal;
-import by.titanic.server.repositories.ProposalRepository;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-
-@Service
-public class ProposalService {
-
- @Autowired
- private ProposalRepository proposalRepository;
-
- public List getAllProposals() {
- return proposalRepository.findAll();
- }
-
- public Proposal createProposal(Proposal proposal) {
- return proposalRepository.save(proposal);
- }
- public Proposal getProposalById(Integer id) {
- return proposalRepository.findById(id).orElse(null);
- }
-}
-
diff --git a/Server/src/main/java/by/titanic/server/DTO/MemberDTO.java b/Server/src/main/java/by/tonArea/server/DTO/MemberDTO.java
similarity index 85%
rename from Server/src/main/java/by/titanic/server/DTO/MemberDTO.java
rename to Server/src/main/java/by/tonArea/server/DTO/MemberDTO.java
index 885c29b..5bb9e87 100644
--- a/Server/src/main/java/by/titanic/server/DTO/MemberDTO.java
+++ b/Server/src/main/java/by/tonArea/server/DTO/MemberDTO.java
@@ -1,4 +1,4 @@
-package by.titanic.server.DTO;
+package by.tonArea.server.DTO;
import lombok.*;
diff --git a/Server/src/main/java/by/titanic/server/DTO/OrganizationDTO.java b/Server/src/main/java/by/tonArea/server/DTO/OrganizationDTO.java
similarity index 86%
rename from Server/src/main/java/by/titanic/server/DTO/OrganizationDTO.java
rename to Server/src/main/java/by/tonArea/server/DTO/OrganizationDTO.java
index 72b226f..9d01583 100644
--- a/Server/src/main/java/by/titanic/server/DTO/OrganizationDTO.java
+++ b/Server/src/main/java/by/tonArea/server/DTO/OrganizationDTO.java
@@ -1,4 +1,4 @@
-package by.titanic.server.DTO;
+package by.tonArea.server.DTO;
import lombok.*;
diff --git a/Server/src/main/java/by/titanic/server/DTO/OrganizationProfileDTO.java b/Server/src/main/java/by/tonArea/server/DTO/OrganizationProfileDTO.java
similarity index 93%
rename from Server/src/main/java/by/titanic/server/DTO/OrganizationProfileDTO.java
rename to Server/src/main/java/by/tonArea/server/DTO/OrganizationProfileDTO.java
index 157bba5..619e6bf 100644
--- a/Server/src/main/java/by/titanic/server/DTO/OrganizationProfileDTO.java
+++ b/Server/src/main/java/by/tonArea/server/DTO/OrganizationProfileDTO.java
@@ -1,4 +1,4 @@
-package by.titanic.server.DTO;
+package by.tonArea.server.DTO;
import lombok.*;
diff --git a/Server/src/main/java/by/titanic/server/DTO/ProposalDTO.java b/Server/src/main/java/by/tonArea/server/DTO/ProposalDTO.java
similarity index 89%
rename from Server/src/main/java/by/titanic/server/DTO/ProposalDTO.java
rename to Server/src/main/java/by/tonArea/server/DTO/ProposalDTO.java
index be559de..a67e7f5 100644
--- a/Server/src/main/java/by/titanic/server/DTO/ProposalDTO.java
+++ b/Server/src/main/java/by/tonArea/server/DTO/ProposalDTO.java
@@ -1,4 +1,4 @@
-package by.titanic.server.DTO;
+package by.tonArea.server.DTO;
import lombok.*;
diff --git a/Server/src/main/java/by/titanic/server/DTO/ProposalInfoDTO.java b/Server/src/main/java/by/tonArea/server/DTO/ProposalInfoDTO.java
similarity index 93%
rename from Server/src/main/java/by/titanic/server/DTO/ProposalInfoDTO.java
rename to Server/src/main/java/by/tonArea/server/DTO/ProposalInfoDTO.java
index 117758d..f45be53 100644
--- a/Server/src/main/java/by/titanic/server/DTO/ProposalInfoDTO.java
+++ b/Server/src/main/java/by/tonArea/server/DTO/ProposalInfoDTO.java
@@ -1,10 +1,11 @@
-package by.titanic.server.DTO;
+package by.tonArea.server.DTO;
import lombok.*;
/**
* DTO для передачи информации странице конкретного предложения
*/
+
@Getter
@Setter
@AllArgsConstructor
diff --git a/Server/src/main/java/by/titanic/server/ServerApplication.java b/Server/src/main/java/by/tonArea/server/ServerApplication.java
similarity index 91%
rename from Server/src/main/java/by/titanic/server/ServerApplication.java
rename to Server/src/main/java/by/tonArea/server/ServerApplication.java
index d9766f1..78fbff0 100644
--- a/Server/src/main/java/by/titanic/server/ServerApplication.java
+++ b/Server/src/main/java/by/tonArea/server/ServerApplication.java
@@ -1,4 +1,4 @@
-package by.titanic.server;
+package by.tonArea.server;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
diff --git a/Server/src/main/java/by/titanic/server/controllers/MemberController.java b/Server/src/main/java/by/tonArea/server/controllers/MemberController.java
similarity index 75%
rename from Server/src/main/java/by/titanic/server/controllers/MemberController.java
rename to Server/src/main/java/by/tonArea/server/controllers/MemberController.java
index 9df2f11..0ac39c3 100644
--- a/Server/src/main/java/by/titanic/server/controllers/MemberController.java
+++ b/Server/src/main/java/by/tonArea/server/controllers/MemberController.java
@@ -1,7 +1,7 @@
-package by.titanic.server.controllers;
+package by.tonArea.server.controllers;
-import by.titanic.server.models.Member;
-import by.titanic.server.services.MemberService;
+import by.tonArea.server.models.Member;
+import by.tonArea.server.services.MemberService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
diff --git a/Server/src/main/java/by/titanic/server/controllers/OrganizationController.java b/Server/src/main/java/by/tonArea/server/controllers/OrganizationController.java
similarity index 80%
rename from Server/src/main/java/by/titanic/server/controllers/OrganizationController.java
rename to Server/src/main/java/by/tonArea/server/controllers/OrganizationController.java
index dd96eca..a5c4e01 100644
--- a/Server/src/main/java/by/titanic/server/controllers/OrganizationController.java
+++ b/Server/src/main/java/by/tonArea/server/controllers/OrganizationController.java
@@ -1,9 +1,9 @@
-package by.titanic.server.controllers;
+package by.tonArea.server.controllers;
-import by.titanic.server.DTO.OrganizationProfileDTO;
-import by.titanic.server.models.Organization;
-import by.titanic.server.services.OrganizationProfileService;
-import by.titanic.server.services.OrganizationService;
+import by.tonArea.server.DTO.OrganizationProfileDTO;
+import by.tonArea.server.models.Organization;
+import by.tonArea.server.services.OrganizationProfileService;
+import by.tonArea.server.services.OrganizationService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
diff --git a/Server/src/main/java/by/titanic/server/controllers/ProposalController.java b/Server/src/main/java/by/tonArea/server/controllers/ProposalController.java
similarity index 50%
rename from Server/src/main/java/by/titanic/server/controllers/ProposalController.java
rename to Server/src/main/java/by/tonArea/server/controllers/ProposalController.java
index 9dfa98e..6e3822a 100644
--- a/Server/src/main/java/by/titanic/server/controllers/ProposalController.java
+++ b/Server/src/main/java/by/tonArea/server/controllers/ProposalController.java
@@ -1,9 +1,9 @@
-package by.titanic.server.controllers;
+package by.tonArea.server.controllers;
-import by.titanic.server.DTO.ProposalInfoDTO;
-import by.titanic.server.models.Proposal;
-import by.titanic.server.services.ProposalProfileService;
-import by.titanic.server.services.ProposalService;
+import by.tonArea.server.DTO.ProposalInfoDTO;
+import by.tonArea.server.models.Proposal;
+import by.tonArea.server.services.ProposalProfileService;
+import by.tonArea.server.services.ProposalService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -37,4 +37,28 @@ public Proposal createProposal(@RequestBody Proposal proposal) {
public ProposalInfoDTO getProposal(@PathVariable Long proposalId) {
return proposalProfileService.showProposalProfile(proposalId);
}
+
+ /**
+ * Update an existing proposal
+ */
+ @PutMapping("/{proposalId}")
+ public Proposal updateProposal(@PathVariable Integer proposalId, @RequestBody Proposal updatedProposal) {
+ return proposalService.updateProposal(proposalId, updatedProposal);
+ }
+
+ /**
+ * Delete a proposal
+ */
+ @DeleteMapping("/{proposalId}")
+ public void deleteProposal(@PathVariable Integer proposalId) {
+ proposalService.deleteProposal(proposalId);
+ }
+
+ /**
+ * Publish a proposal
+ */
+ @PostMapping("/{proposalId}/publish")
+ public Proposal publishProposal(@PathVariable Integer proposalId) {
+ return proposalService.publishProposal(proposalId);
+ }
}
diff --git a/Server/src/main/java/by/titanic/server/models/Member.java b/Server/src/main/java/by/tonArea/server/models/Member.java
similarity index 91%
rename from Server/src/main/java/by/titanic/server/models/Member.java
rename to Server/src/main/java/by/tonArea/server/models/Member.java
index e27365c..761c508 100644
--- a/Server/src/main/java/by/titanic/server/models/Member.java
+++ b/Server/src/main/java/by/tonArea/server/models/Member.java
@@ -1,4 +1,4 @@
-package by.titanic.server.models;
+package by.tonArea.server.models;
import jakarta.persistence.*;
import lombok.*;
diff --git a/Server/src/main/java/by/titanic/server/models/ModerationStatus.java b/Server/src/main/java/by/tonArea/server/models/ModerationStatus.java
similarity index 63%
rename from Server/src/main/java/by/titanic/server/models/ModerationStatus.java
rename to Server/src/main/java/by/tonArea/server/models/ModerationStatus.java
index 3b10208..aff854b 100644
--- a/Server/src/main/java/by/titanic/server/models/ModerationStatus.java
+++ b/Server/src/main/java/by/tonArea/server/models/ModerationStatus.java
@@ -1,4 +1,4 @@
-package by.titanic.server.models;
+package by.tonArea.server.models;
public enum ModerationStatus {
AUTHOR,
diff --git a/Server/src/main/java/by/titanic/server/models/Organization.java b/Server/src/main/java/by/tonArea/server/models/Organization.java
similarity index 92%
rename from Server/src/main/java/by/titanic/server/models/Organization.java
rename to Server/src/main/java/by/tonArea/server/models/Organization.java
index 63370b0..f5e8249 100644
--- a/Server/src/main/java/by/titanic/server/models/Organization.java
+++ b/Server/src/main/java/by/tonArea/server/models/Organization.java
@@ -1,4 +1,4 @@
-package by.titanic.server.models;
+package by.tonArea.server.models;
import jakarta.persistence.*;
import lombok.*;
diff --git a/Server/src/main/java/by/titanic/server/models/OrganizationLinks.java b/Server/src/main/java/by/tonArea/server/models/OrganizationLinks.java
similarity index 90%
rename from Server/src/main/java/by/titanic/server/models/OrganizationLinks.java
rename to Server/src/main/java/by/tonArea/server/models/OrganizationLinks.java
index 9e28ea5..27c312c 100644
--- a/Server/src/main/java/by/titanic/server/models/OrganizationLinks.java
+++ b/Server/src/main/java/by/tonArea/server/models/OrganizationLinks.java
@@ -1,6 +1,5 @@
-package by.titanic.server.models;
+package by.tonArea.server.models;
-import by.titanic.server.models.Organization;
import jakarta.persistence.*;
import lombok.*;
diff --git a/Server/src/main/java/by/titanic/server/models/OrganizationModeration.java b/Server/src/main/java/by/tonArea/server/models/OrganizationModeration.java
similarity index 90%
rename from Server/src/main/java/by/titanic/server/models/OrganizationModeration.java
rename to Server/src/main/java/by/tonArea/server/models/OrganizationModeration.java
index fdf8e0a..fa24713 100644
--- a/Server/src/main/java/by/titanic/server/models/OrganizationModeration.java
+++ b/Server/src/main/java/by/tonArea/server/models/OrganizationModeration.java
@@ -1,4 +1,4 @@
-package by.titanic.server.models;
+package by.tonArea.server.models;
import jakarta.persistence.*;
import lombok.*;
diff --git a/Server/src/main/java/by/titanic/server/models/OrganizationModerationId.java b/Server/src/main/java/by/tonArea/server/models/OrganizationModerationId.java
similarity index 91%
rename from Server/src/main/java/by/titanic/server/models/OrganizationModerationId.java
rename to Server/src/main/java/by/tonArea/server/models/OrganizationModerationId.java
index dd9fb1f..8175419 100644
--- a/Server/src/main/java/by/titanic/server/models/OrganizationModerationId.java
+++ b/Server/src/main/java/by/tonArea/server/models/OrganizationModerationId.java
@@ -1,4 +1,4 @@
-package by.titanic.server.models;
+package by.tonArea.server.models;
import jakarta.persistence.*;
import lombok.*;
diff --git a/Server/src/main/java/by/titanic/server/models/OrganizationProposal.java b/Server/src/main/java/by/tonArea/server/models/OrganizationProposal.java
similarity index 72%
rename from Server/src/main/java/by/titanic/server/models/OrganizationProposal.java
rename to Server/src/main/java/by/tonArea/server/models/OrganizationProposal.java
index 09870a5..7c97e2d 100644
--- a/Server/src/main/java/by/titanic/server/models/OrganizationProposal.java
+++ b/Server/src/main/java/by/tonArea/server/models/OrganizationProposal.java
@@ -1,6 +1,5 @@
-package by.titanic.server.models;
+package by.tonArea.server.models;
-import by.titanic.server.models.OrganizationProposalId;
import jakarta.persistence.*;
import lombok.*;
diff --git a/Server/src/main/java/by/titanic/server/models/OrganizationProposalId.java b/Server/src/main/java/by/tonArea/server/models/OrganizationProposalId.java
similarity index 90%
rename from Server/src/main/java/by/titanic/server/models/OrganizationProposalId.java
rename to Server/src/main/java/by/tonArea/server/models/OrganizationProposalId.java
index 30dffa6..dafe473 100644
--- a/Server/src/main/java/by/titanic/server/models/OrganizationProposalId.java
+++ b/Server/src/main/java/by/tonArea/server/models/OrganizationProposalId.java
@@ -1,4 +1,4 @@
-package by.titanic.server.models;
+package by.tonArea.server.models;
import jakarta.persistence.*;
import lombok.*;
diff --git a/Server/src/main/java/by/titanic/server/models/Proposal.java b/Server/src/main/java/by/tonArea/server/models/Proposal.java
similarity index 72%
rename from Server/src/main/java/by/titanic/server/models/Proposal.java
rename to Server/src/main/java/by/tonArea/server/models/Proposal.java
index 3f5b7e5..d605e4d 100644
--- a/Server/src/main/java/by/titanic/server/models/Proposal.java
+++ b/Server/src/main/java/by/tonArea/server/models/Proposal.java
@@ -1,4 +1,4 @@
-package by.titanic.server.models;
+package by.tonArea.server.models;
import jakarta.persistence.*;
import lombok.*;
@@ -14,7 +14,7 @@ public class Proposal {
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
- @Column
+ @Column(insertable=false, updatable=false)
private Integer organization_id;
//Предлагаю добавить столбец organization_id в эту сущность, чтобы ссылаться на конкретную организацию, от которой поступает предложение
@@ -43,6 +43,9 @@ public class Proposal {
@Column(name = "topic", length = 128, nullable = false)
private String topic;
+ @Column(name = "description", length = 1024, nullable = false)
+ private String description;
+
public HashMap getMapOfOptions(){
HashMap options = new HashMap<>();
options.put("first_option", this.firstOption);
@@ -50,4 +53,17 @@ public HashMap getMapOfOptions(){
options.put("third_option", this.thirdOption);
return options;
}
+
+ public void setMapOfOptions(HashMap options) {
+ if (options.containsKey("first_option")) {
+ this.firstOption = options.get("first_option");
+ }
+ if (options.containsKey("second_option")) {
+ this.secondOption = options.get("second_option");
+ }
+ if (options.containsKey("third_option")) {
+ this.thirdOption = options.get("third_option");
+ }
+ }
+
}
diff --git a/Server/src/main/java/by/titanic/server/models/ProposalInfo.java b/Server/src/main/java/by/tonArea/server/models/ProposalInfo.java
similarity index 96%
rename from Server/src/main/java/by/titanic/server/models/ProposalInfo.java
rename to Server/src/main/java/by/tonArea/server/models/ProposalInfo.java
index 04bce75..f9345a6 100644
--- a/Server/src/main/java/by/titanic/server/models/ProposalInfo.java
+++ b/Server/src/main/java/by/tonArea/server/models/ProposalInfo.java
@@ -1,4 +1,4 @@
-package by.titanic.server.models;
+package by.tonArea.server.models;
import jakarta.persistence.*;
import lombok.*;
diff --git a/Server/src/main/java/by/titanic/server/models/ProposalStatus.java b/Server/src/main/java/by/tonArea/server/models/ProposalStatus.java
similarity index 66%
rename from Server/src/main/java/by/titanic/server/models/ProposalStatus.java
rename to Server/src/main/java/by/tonArea/server/models/ProposalStatus.java
index b595277..779308a 100644
--- a/Server/src/main/java/by/titanic/server/models/ProposalStatus.java
+++ b/Server/src/main/java/by/tonArea/server/models/ProposalStatus.java
@@ -1,4 +1,4 @@
-package by.titanic.server.models;
+package by.tonArea.server.models;
public enum ProposalStatus {
PENDING,
diff --git a/Server/src/main/java/by/titanic/server/models/Wallet.java b/Server/src/main/java/by/tonArea/server/models/Wallet.java
similarity index 91%
rename from Server/src/main/java/by/titanic/server/models/Wallet.java
rename to Server/src/main/java/by/tonArea/server/models/Wallet.java
index 17af14c..4f2535d 100644
--- a/Server/src/main/java/by/titanic/server/models/Wallet.java
+++ b/Server/src/main/java/by/tonArea/server/models/Wallet.java
@@ -1,4 +1,4 @@
-package by.titanic.server.models;
+package by.tonArea.server.models;
import jakarta.persistence.*;
import lombok.*;
diff --git a/Server/src/main/java/by/titanic/server/repositories/MemberRepository.java b/Server/src/main/java/by/tonArea/server/repositories/MemberRepository.java
similarity index 63%
rename from Server/src/main/java/by/titanic/server/repositories/MemberRepository.java
rename to Server/src/main/java/by/tonArea/server/repositories/MemberRepository.java
index e17931e..6ccbbab 100644
--- a/Server/src/main/java/by/titanic/server/repositories/MemberRepository.java
+++ b/Server/src/main/java/by/tonArea/server/repositories/MemberRepository.java
@@ -1,6 +1,6 @@
-package by.titanic.server.repositories;
+package by.tonArea.server.repositories;
-import by.titanic.server.models.Member;
+import by.tonArea.server.models.Member;
import org.springframework.data.jpa.repository.JpaRepository;
public interface MemberRepository extends JpaRepository {
diff --git a/Server/src/main/java/by/titanic/server/repositories/OrganizationLinksRepository.java b/Server/src/main/java/by/tonArea/server/repositories/OrganizationLinksRepository.java
similarity index 89%
rename from Server/src/main/java/by/titanic/server/repositories/OrganizationLinksRepository.java
rename to Server/src/main/java/by/tonArea/server/repositories/OrganizationLinksRepository.java
index a7c91aa..57fae4e 100644
--- a/Server/src/main/java/by/titanic/server/repositories/OrganizationLinksRepository.java
+++ b/Server/src/main/java/by/tonArea/server/repositories/OrganizationLinksRepository.java
@@ -1,6 +1,6 @@
-package by.titanic.server.repositories;
+package by.tonArea.server.repositories;
-import by.titanic.server.models.OrganizationLinks;
+import by.tonArea.server.models.OrganizationLinks;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
diff --git a/Server/src/main/java/by/titanic/server/repositories/OrganizationRepository.java b/Server/src/main/java/by/tonArea/server/repositories/OrganizationRepository.java
similarity index 79%
rename from Server/src/main/java/by/titanic/server/repositories/OrganizationRepository.java
rename to Server/src/main/java/by/tonArea/server/repositories/OrganizationRepository.java
index fc6bc8a..65548f5 100644
--- a/Server/src/main/java/by/titanic/server/repositories/OrganizationRepository.java
+++ b/Server/src/main/java/by/tonArea/server/repositories/OrganizationRepository.java
@@ -1,6 +1,6 @@
-package by.titanic.server.repositories;
+package by.tonArea.server.repositories;
-import by.titanic.server.models.Organization;
+import by.tonArea.server.models.Organization;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
diff --git a/Server/src/main/java/by/titanic/server/repositories/ProposalInfoRepository.java b/Server/src/main/java/by/tonArea/server/repositories/ProposalInfoRepository.java
similarity index 84%
rename from Server/src/main/java/by/titanic/server/repositories/ProposalInfoRepository.java
rename to Server/src/main/java/by/tonArea/server/repositories/ProposalInfoRepository.java
index 643659c..3a6d30f 100644
--- a/Server/src/main/java/by/titanic/server/repositories/ProposalInfoRepository.java
+++ b/Server/src/main/java/by/tonArea/server/repositories/ProposalInfoRepository.java
@@ -1,6 +1,6 @@
-package by.titanic.server.repositories;
+package by.tonArea.server.repositories;
-import by.titanic.server.models.ProposalInfo;
+import by.tonArea.server.models.ProposalInfo;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
diff --git a/Server/src/main/java/by/titanic/server/repositories/ProposalRepository.java b/Server/src/main/java/by/tonArea/server/repositories/ProposalRepository.java
similarity index 77%
rename from Server/src/main/java/by/titanic/server/repositories/ProposalRepository.java
rename to Server/src/main/java/by/tonArea/server/repositories/ProposalRepository.java
index 9a397d8..512001d 100644
--- a/Server/src/main/java/by/titanic/server/repositories/ProposalRepository.java
+++ b/Server/src/main/java/by/tonArea/server/repositories/ProposalRepository.java
@@ -1,7 +1,6 @@
-package by.titanic.server.repositories;
+package by.tonArea.server.repositories;
-import by.titanic.server.models.OrganizationLinks;
-import by.titanic.server.models.Proposal;
+import by.tonArea.server.models.Proposal;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
diff --git a/Server/src/main/java/by/titanic/server/services/MemberService.java b/Server/src/main/java/by/tonArea/server/services/MemberService.java
similarity index 70%
rename from Server/src/main/java/by/titanic/server/services/MemberService.java
rename to Server/src/main/java/by/tonArea/server/services/MemberService.java
index 7b3bdd1..4cc00ce 100644
--- a/Server/src/main/java/by/titanic/server/services/MemberService.java
+++ b/Server/src/main/java/by/tonArea/server/services/MemberService.java
@@ -1,7 +1,7 @@
-package by.titanic.server.services;
+package by.tonArea.server.services;
-import by.titanic.server.models.Member;
-import by.titanic.server.repositories.MemberRepository;
+import by.tonArea.server.models.Member;
+import by.tonArea.server.repositories.MemberRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
diff --git a/Server/src/main/java/by/titanic/server/services/OrganizationProfileService.java b/Server/src/main/java/by/tonArea/server/services/OrganizationProfileService.java
similarity index 77%
rename from Server/src/main/java/by/titanic/server/services/OrganizationProfileService.java
rename to Server/src/main/java/by/tonArea/server/services/OrganizationProfileService.java
index 8c2b2a8..8cf2a59 100644
--- a/Server/src/main/java/by/titanic/server/services/OrganizationProfileService.java
+++ b/Server/src/main/java/by/tonArea/server/services/OrganizationProfileService.java
@@ -1,13 +1,13 @@
-package by.titanic.server.services;
-
-import by.titanic.server.DTO.OrganizationProfileDTO;
-import by.titanic.server.DTO.ProposalDTO;
-import by.titanic.server.models.Organization;
-import by.titanic.server.models.OrganizationLinks;
-import by.titanic.server.models.Proposal;
-import by.titanic.server.repositories.OrganizationLinksRepository;
-import by.titanic.server.repositories.OrganizationRepository;
-import by.titanic.server.repositories.ProposalRepository;
+package by.tonArea.server.services;
+
+import by.tonArea.server.DTO.OrganizationProfileDTO;
+import by.tonArea.server.DTO.ProposalDTO;
+import by.tonArea.server.models.Organization;
+import by.tonArea.server.models.OrganizationLinks;
+import by.tonArea.server.models.Proposal;
+import by.tonArea.server.repositories.OrganizationLinksRepository;
+import by.tonArea.server.repositories.OrganizationRepository;
+import by.tonArea.server.repositories.ProposalRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
diff --git a/Server/src/main/java/by/titanic/server/services/OrganizationService.java b/Server/src/main/java/by/tonArea/server/services/OrganizationService.java
similarity index 81%
rename from Server/src/main/java/by/titanic/server/services/OrganizationService.java
rename to Server/src/main/java/by/tonArea/server/services/OrganizationService.java
index c305591..46d3410 100644
--- a/Server/src/main/java/by/titanic/server/services/OrganizationService.java
+++ b/Server/src/main/java/by/tonArea/server/services/OrganizationService.java
@@ -1,7 +1,7 @@
-package by.titanic.server.services;
+package by.tonArea.server.services;
-import by.titanic.server.models.Organization;
-import by.titanic.server.repositories.OrganizationRepository;
+import by.tonArea.server.models.Organization;
+import by.tonArea.server.repositories.OrganizationRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
diff --git a/Server/src/main/java/by/titanic/server/services/ProposalProfileService.java b/Server/src/main/java/by/tonArea/server/services/ProposalProfileService.java
similarity index 80%
rename from Server/src/main/java/by/titanic/server/services/ProposalProfileService.java
rename to Server/src/main/java/by/tonArea/server/services/ProposalProfileService.java
index 74ff815..1d83e41 100644
--- a/Server/src/main/java/by/titanic/server/services/ProposalProfileService.java
+++ b/Server/src/main/java/by/tonArea/server/services/ProposalProfileService.java
@@ -1,8 +1,8 @@
-package by.titanic.server.services;
+package by.tonArea.server.services;
-import by.titanic.server.DTO.ProposalInfoDTO;
-import by.titanic.server.models.ProposalInfo;
-import by.titanic.server.repositories.ProposalInfoRepository;
+import by.tonArea.server.DTO.ProposalInfoDTO;
+import by.tonArea.server.models.ProposalInfo;
+import by.tonArea.server.repositories.ProposalInfoRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
diff --git a/Server/src/main/java/by/tonArea/server/services/ProposalService.java b/Server/src/main/java/by/tonArea/server/services/ProposalService.java
new file mode 100644
index 0000000..87037ac
--- /dev/null
+++ b/Server/src/main/java/by/tonArea/server/services/ProposalService.java
@@ -0,0 +1,52 @@
+package by.tonArea.server.services;
+
+import by.tonArea.server.models.Proposal;
+import by.tonArea.server.repositories.ProposalRepository;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class ProposalService {
+
+ @Autowired
+ private ProposalRepository proposalRepository;
+
+ public List getAllProposals() {
+ return proposalRepository.findAll();
+ }
+
+ public Proposal createProposal(Proposal proposal) {
+ return proposalRepository.save(proposal);
+ }
+
+ public Proposal getProposalById(Integer id) {
+ return proposalRepository.findById(id).orElse(null);
+ }
+
+ public Proposal updateProposal(Integer id, Proposal updatedProposal) {
+ return proposalRepository.findById(id).map(proposal -> {
+ proposal.setTopic(updatedProposal.getTopic());
+ proposal.setDescription(updatedProposal.getDescription());
+ proposal.setStartDate(updatedProposal.getStartDate());
+ proposal.setEndDate(updatedProposal.getEndDate());
+ proposal.setStatus(updatedProposal.getStatus());
+ proposal.setMapOfOptions(updatedProposal.getMapOfOptions());
+ return proposalRepository.save(proposal);
+ }).orElseThrow(() -> new RuntimeException("Proposal not found"));
+ }
+
+ public void deleteProposal(Integer id) {
+ proposalRepository.deleteById(id);
+ }
+
+ public Proposal publishProposal(Integer id) {
+ return proposalRepository.findById(id).map(proposal -> {
+ proposal.setStatus("PUBLISHED");
+ return proposalRepository.save(proposal);
+ }).orElseThrow(() -> new RuntimeException("Proposal not found"));
+ }
+
+}
+
diff --git a/Server/src/main/resources/application.properties b/Server/src/main/resources/application.properties
index 29e8af1..025bcb0 100644
--- a/Server/src/main/resources/application.properties
+++ b/Server/src/main/resources/application.properties
@@ -1,5 +1,5 @@
# application.properties
-spring.datasource.url=jdbc:postgresql://localhost:5432/postgres
-spring.datasource.username=postgres
-spring.datasource.password=root
+spring.datasource.url=jdbc:postgresql://62.60.159.0:5432/titanic
+spring.datasource.username=weebat
+spring.datasource.password=Eqz7eWXcUNPFm0c
spring.jpa.hibernate.ddl-auto=update
diff --git a/Server/src/main/resources/templates/profile.html b/Server/src/main/resources/templates/profile.html
index c9976c7..13fb967 100644
--- a/Server/src/main/resources/templates/profile.html
+++ b/Server/src/main/resources/templates/profile.html
@@ -1,3 +1,4 @@
+
diff --git a/Server/src/test/java/by/titanic/server/ServerApplicationTests.java b/Server/src/test/java/by/tonArea/server/ServerApplicationTests.java
similarity index 87%
rename from Server/src/test/java/by/titanic/server/ServerApplicationTests.java
rename to Server/src/test/java/by/tonArea/server/ServerApplicationTests.java
index a972ef9..94ee7e1 100644
--- a/Server/src/test/java/by/titanic/server/ServerApplicationTests.java
+++ b/Server/src/test/java/by/tonArea/server/ServerApplicationTests.java
@@ -1,4 +1,4 @@
-package by.titanic.server;
+package by.tonArea.server;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;