diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml deleted file mode 100644 index 797acea53..000000000 --- a/.idea/runConfigurations.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/src/main/java/com/example/demo/controller/MessageController.java b/src/main/java/com/example/demo/controller/MessageController.java index 2129c124f..251c94ea4 100644 --- a/src/main/java/com/example/demo/controller/MessageController.java +++ b/src/main/java/com/example/demo/controller/MessageController.java @@ -1,4 +1,53 @@ package com.example.demo.controller; +import com.example.demo.models.Message; +import com.example.demo.repository.MessageRepo; +import com.example.demo.service.MessageService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@Controller +@RequestMapping("/message") public class MessageController { -} + + private MessageService messageService; + + @Autowired + public MessageController(MessageService messageService) { + this.messageService = messageService; + + } + + @PostMapping(value = "/create") + public ResponseEntity create(@RequestBody Message message) { + return new ResponseEntity<>(messageService.create(message), HttpStatus.CREATED); + } + + @GetMapping(value = "/read/{id}") + public ResponseEntity read(@PathVariable Long id ){ + return new ResponseEntity<>(messageService.read(id), HttpStatus.OK); + + } + + @GetMapping(value = "/all") + public ResponseEntity> readAll(){ + return new ResponseEntity<>(messageService.readAll(), HttpStatus.OK); + } + + @PutMapping(value = "/update{id}") + public ResponseEntity update (@PathVariable Long id, @RequestBody Message newMessageData){ + return new ResponseEntity<>(messageService.update(id, newMessageData), HttpStatus.OK); + } + + @DeleteMapping(value = "delete{id}") + public ResponseEntity delete(@PathVariable Long id ){ + return new ResponseEntity<>(messageService.delete(id), HttpStatus.OK); + } + + +} \ No newline at end of file diff --git a/src/main/java/com/example/demo/models/Channel.java b/src/main/java/com/example/demo/models/Channel.java index 36bf7e819..4964093eb 100644 --- a/src/main/java/com/example/demo/models/Channel.java +++ b/src/main/java/com/example/demo/models/Channel.java @@ -1,50 +1,5 @@ package com.example.demo.models; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import java.util.List; - -@Entity public class Channel { - @Id - @GeneratedValue(strategy = GenerationType.AUTO) - private Long id; - private String name; - private List profileList; - private List messages; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public List getProfileList() { - return profileList; - } - - public void setProfileList(List profileList) { - this.profileList = profileList; - } - - public List getMessages() { - return messages; - } - - public void setMessages(List messages) { - this.messages = messages; - } } diff --git a/src/main/java/com/example/demo/models/Message.java b/src/main/java/com/example/demo/models/Message.java index 7f846d245..563851cc1 100644 --- a/src/main/java/com/example/demo/models/Message.java +++ b/src/main/java/com/example/demo/models/Message.java @@ -1,4 +1,64 @@ package com.example.demo.models; +import org.apache.catalina.User; + +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import java.util.Date; + +@Entity public class Message { + + @Id + @GeneratedValue(strategy = GenerationType.AUTO) + Long id; + Profile profile; + String body; + Date timestamp; + + + public Message() { + } + + public Message(Long id, Profile profile, String body, Date timestamp) { + this.id = id; + this.profile = profile; + this.body = body; + this.timestamp = timestamp; + } + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Profile getProfile() { + return profile; + } + + public void setProfile(Profile profile) { + this.profile = profile; + } + + public String getBody() { + return body; + } + + public void setBody(String body) { + this.body = body; + } + + public Date getTimestamp() { + return timestamp; + } + + public void setTimestamp(Date timestamp) { + this.timestamp = timestamp; + } + } diff --git a/src/main/java/com/example/demo/repository/MessageRepo.java b/src/main/java/com/example/demo/repository/MessageRepo.java index 38eca51bb..d4c9bd8ef 100644 --- a/src/main/java/com/example/demo/repository/MessageRepo.java +++ b/src/main/java/com/example/demo/repository/MessageRepo.java @@ -1,4 +1,10 @@ package com.example.demo.repository; -public class MessageRepo { +import com.example.demo.models.Message; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; + +@Repository +public interface MessageRepo extends JpaRepository { + } diff --git a/src/main/java/com/example/demo/service/MessageService.java b/src/main/java/com/example/demo/service/MessageService.java index b953cf94b..c36f67100 100644 --- a/src/main/java/com/example/demo/service/MessageService.java +++ b/src/main/java/com/example/demo/service/MessageService.java @@ -1,4 +1,52 @@ package com.example.demo.service; +import com.example.demo.models.Message; +import com.example.demo.repository.MessageRepo; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.List; + public class MessageService { + private MessageRepo messageRepo; + + + @Autowired + public MessageService(MessageRepo messageRepo){ + this.messageRepo = messageRepo; + } + + + public Message create (Message message){ + return messageRepo.save(message); + } + + public Message read(Long id){ + return messageRepo.getById(id); + } + + public List readAll(){ + return messageRepo.findAll(); + } + + public Message update(Long id, Message newMessageData){ + Message messageInDB = read(id); + messageInDB.setBody(newMessageData.getBody()); + messageInDB.setProfile(newMessageData.getProfile()); + messageInDB.setTimestamp(newMessageData.getTimestamp()); + messageRepo.save(messageInDB); + return messageInDB; + } + + public Message delete(Long id){ + Message messageInDB = read(id); + messageRepo.delete(messageInDB); + return messageInDB; + } + + public void deleteAll(){ + messageRepo.deleteAll(); + } + + + } diff --git a/target/classes/com/example/demo/config/ChannelConfig.class b/target/classes/com/example/demo/config/ChannelConfig.class new file mode 100644 index 000000000..bb2612675 Binary files /dev/null and b/target/classes/com/example/demo/config/ChannelConfig.class differ diff --git a/target/classes/com/example/demo/config/MessageConfig.class b/target/classes/com/example/demo/config/MessageConfig.class new file mode 100644 index 000000000..de19b497b Binary files /dev/null and b/target/classes/com/example/demo/config/MessageConfig.class differ diff --git a/target/classes/com/example/demo/config/ProfileConfig.class b/target/classes/com/example/demo/config/ProfileConfig.class new file mode 100644 index 000000000..dea009db9 Binary files /dev/null and b/target/classes/com/example/demo/config/ProfileConfig.class differ diff --git a/target/classes/com/example/demo/controller/ChannelController.class b/target/classes/com/example/demo/controller/ChannelController.class new file mode 100644 index 000000000..16bf677d4 Binary files /dev/null and b/target/classes/com/example/demo/controller/ChannelController.class differ diff --git a/target/classes/com/example/demo/controller/MessageController.class b/target/classes/com/example/demo/controller/MessageController.class new file mode 100644 index 000000000..0f631f61e Binary files /dev/null and b/target/classes/com/example/demo/controller/MessageController.class differ diff --git a/target/classes/com/example/demo/controller/ProfileController.class b/target/classes/com/example/demo/controller/ProfileController.class new file mode 100644 index 000000000..bac317719 Binary files /dev/null and b/target/classes/com/example/demo/controller/ProfileController.class differ diff --git a/target/classes/com/example/demo/models/Channel.class b/target/classes/com/example/demo/models/Channel.class new file mode 100644 index 000000000..021a44606 Binary files /dev/null and b/target/classes/com/example/demo/models/Channel.class differ diff --git a/target/classes/com/example/demo/models/Message.class b/target/classes/com/example/demo/models/Message.class new file mode 100644 index 000000000..953bcac9c Binary files /dev/null and b/target/classes/com/example/demo/models/Message.class differ diff --git a/target/classes/com/example/demo/models/Profile.class b/target/classes/com/example/demo/models/Profile.class new file mode 100644 index 000000000..75bf6f170 Binary files /dev/null and b/target/classes/com/example/demo/models/Profile.class differ diff --git a/target/classes/com/example/demo/repository/ChannelRepo.class b/target/classes/com/example/demo/repository/ChannelRepo.class new file mode 100644 index 000000000..91a30cadd Binary files /dev/null and b/target/classes/com/example/demo/repository/ChannelRepo.class differ diff --git a/target/classes/com/example/demo/repository/MessageRepo.class b/target/classes/com/example/demo/repository/MessageRepo.class new file mode 100644 index 000000000..aa8a258cb Binary files /dev/null and b/target/classes/com/example/demo/repository/MessageRepo.class differ diff --git a/target/classes/com/example/demo/repository/ProfileRepo.class b/target/classes/com/example/demo/repository/ProfileRepo.class new file mode 100644 index 000000000..017fd49fc Binary files /dev/null and b/target/classes/com/example/demo/repository/ProfileRepo.class differ diff --git a/target/classes/com/example/demo/service/ChannelService.class b/target/classes/com/example/demo/service/ChannelService.class new file mode 100644 index 000000000..bee65a896 Binary files /dev/null and b/target/classes/com/example/demo/service/ChannelService.class differ diff --git a/target/classes/com/example/demo/service/MessageService.class b/target/classes/com/example/demo/service/MessageService.class new file mode 100644 index 000000000..4e3c8f004 Binary files /dev/null and b/target/classes/com/example/demo/service/MessageService.class differ diff --git a/target/classes/com/example/demo/service/ProfileService.class b/target/classes/com/example/demo/service/ProfileService.class new file mode 100644 index 000000000..68a2c8821 Binary files /dev/null and b/target/classes/com/example/demo/service/ProfileService.class differ diff --git a/target/test-classes/com/example/demo/config/TestChannelConfig.class b/target/test-classes/com/example/demo/config/TestChannelConfig.class new file mode 100644 index 000000000..20ae89798 Binary files /dev/null and b/target/test-classes/com/example/demo/config/TestChannelConfig.class differ diff --git a/target/test-classes/com/example/demo/config/TestMessageConfig.class b/target/test-classes/com/example/demo/config/TestMessageConfig.class new file mode 100644 index 000000000..3cff01262 Binary files /dev/null and b/target/test-classes/com/example/demo/config/TestMessageConfig.class differ diff --git a/target/test-classes/com/example/demo/config/TestProfileConfig.class b/target/test-classes/com/example/demo/config/TestProfileConfig.class new file mode 100644 index 000000000..e81974155 Binary files /dev/null and b/target/test-classes/com/example/demo/config/TestProfileConfig.class differ diff --git a/target/test-classes/com/example/demo/controllers/TestChannelController.class b/target/test-classes/com/example/demo/controllers/TestChannelController.class new file mode 100644 index 000000000..c7cb4ee57 Binary files /dev/null and b/target/test-classes/com/example/demo/controllers/TestChannelController.class differ diff --git a/target/test-classes/com/example/demo/controllers/TestMessageController.class b/target/test-classes/com/example/demo/controllers/TestMessageController.class new file mode 100644 index 000000000..0c30170cf Binary files /dev/null and b/target/test-classes/com/example/demo/controllers/TestMessageController.class differ diff --git a/target/test-classes/com/example/demo/controllers/TestProfileController.class b/target/test-classes/com/example/demo/controllers/TestProfileController.class new file mode 100644 index 000000000..f6fc918ed Binary files /dev/null and b/target/test-classes/com/example/demo/controllers/TestProfileController.class differ diff --git a/target/test-classes/com/example/demo/models/TestChannel.class b/target/test-classes/com/example/demo/models/TestChannel.class new file mode 100644 index 000000000..9ee3d414d Binary files /dev/null and b/target/test-classes/com/example/demo/models/TestChannel.class differ diff --git a/target/test-classes/com/example/demo/models/TestMessage.class b/target/test-classes/com/example/demo/models/TestMessage.class new file mode 100644 index 000000000..1bf48a94e Binary files /dev/null and b/target/test-classes/com/example/demo/models/TestMessage.class differ diff --git a/target/test-classes/com/example/demo/models/TestProfile.class b/target/test-classes/com/example/demo/models/TestProfile.class new file mode 100644 index 000000000..9784c6fab Binary files /dev/null and b/target/test-classes/com/example/demo/models/TestProfile.class differ diff --git a/target/test-classes/com/example/demo/repositories/TestChannelRepo.class b/target/test-classes/com/example/demo/repositories/TestChannelRepo.class new file mode 100644 index 000000000..7224277b1 Binary files /dev/null and b/target/test-classes/com/example/demo/repositories/TestChannelRepo.class differ diff --git a/target/test-classes/com/example/demo/repositories/TestMessageRepo.class b/target/test-classes/com/example/demo/repositories/TestMessageRepo.class new file mode 100644 index 000000000..d861fb7d1 Binary files /dev/null and b/target/test-classes/com/example/demo/repositories/TestMessageRepo.class differ diff --git a/target/test-classes/com/example/demo/repositories/TestProfileRepo.class b/target/test-classes/com/example/demo/repositories/TestProfileRepo.class new file mode 100644 index 000000000..8a519520a Binary files /dev/null and b/target/test-classes/com/example/demo/repositories/TestProfileRepo.class differ diff --git a/target/test-classes/com/example/demo/services/TestChannelService.class b/target/test-classes/com/example/demo/services/TestChannelService.class new file mode 100644 index 000000000..1f069309f Binary files /dev/null and b/target/test-classes/com/example/demo/services/TestChannelService.class differ diff --git a/target/test-classes/com/example/demo/services/TestMessageService.class b/target/test-classes/com/example/demo/services/TestMessageService.class new file mode 100644 index 000000000..10d33fe70 Binary files /dev/null and b/target/test-classes/com/example/demo/services/TestMessageService.class differ diff --git a/target/test-classes/com/example/demo/services/TestProfileService.class b/target/test-classes/com/example/demo/services/TestProfileService.class new file mode 100644 index 000000000..278cabb0a Binary files /dev/null and b/target/test-classes/com/example/demo/services/TestProfileService.class differ