Skip to content

Commit ab70b03

Browse files
committed
sender was missing - add to frontend and backend
1 parent f8004bc commit ab70b03

File tree

6 files changed

+22
-10
lines changed

6 files changed

+22
-10
lines changed

backend/src/main/java/com/ssechat/model/ChatMessage.java

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,20 @@
55
import org.springframework.data.mongodb.core.mapping.Document;
66

77
import java.time.Instant;
8-
import java.util.Date;
98

109
@Document(collection = "chatmessages")
1110
public class ChatMessage {
1211
@Id
1312
private String id;
1413
private String message;
14+
private String sender;
1515
@CreatedDate
1616
private Instant createdDate = Instant.now();
1717
private String channelId;
1818

19-
public ChatMessage(String id, String message, String channelId) {
19+
public ChatMessage(String id, String message, String sender, String channelId) {
2020
this.message = message;
21+
this.sender = sender;
2122
this.channelId = channelId;
2223
this.id = id;
2324
}
@@ -53,4 +54,12 @@ public Instant getCreatedDate() {
5354
public void setCreatedDate(Instant createdDate) {
5455
this.createdDate = createdDate;
5556
}
57+
58+
public String getSender() {
59+
return sender;
60+
}
61+
62+
public void setSender(String sender) {
63+
this.sender = sender;
64+
}
5665
}

client/src/App.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ function App() {
66
return (
77
<div className="App">
88
<ChatList channelId={1} />
9-
<ChatForm channelId={1} />
9+
<ChatForm channelId={1} sender="sender name" />
1010
</div>
1111
);
1212
}

client/src/components/ChatForm.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,18 @@ import { addMessage } from "../lib/api";
33

44
interface ChatFormProps {
55
channelId: number;
6+
sender: string;
67
}
78

8-
const ChatForm = ({ channelId }: ChatFormProps) => {
9+
const ChatForm = ({ channelId, sender }: ChatFormProps) => {
910
const [message, setMessage] = React.useState("");
1011
const handleChange = (event: ChangeEvent<HTMLInputElement>) => {
1112
setMessage(event.target.value);
1213
};
1314

1415
const sendMessage = () => {
1516
if (message !== "") {
16-
addMessage({ channelId, message });
17+
addMessage({ channelId, message, sender });
1718
setMessage("");
1819
}
1920
};

client/src/components/ChatList.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ class ChatList extends Component<ChatListProps, ChatListState> {
3232

3333
render() {
3434
const list = this.state.messages.map((row) => {
35-
return <ChatRow key={row.id} message={row} />;
35+
return <ChatRow key={row.id} item={row} />;
3636
});
3737

3838
return <ul className="chatlist">{list}</ul>;

client/src/components/ChatRow.tsx

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,17 @@ import React from "react";
22
import { ChatMessage } from "../lib/types";
33

44
interface ChatRowProps {
5-
message: ChatMessage;
5+
item: ChatMessage;
66
}
77

8-
const ChatRow = ({ message }: ChatRowProps) => {
8+
const ChatRow = ({ item }: ChatRowProps) => {
99
return (
1010
<li>
11+
<small>{item.sender}</small>
12+
<p>{item.message}</p>
1113
<small>
12-
{message.createdDate && new Date(message.createdDate).toLocaleString()}
14+
{item.createdDate && new Date(item.createdDate).toLocaleString()}
1315
</small>
14-
<p>{message.message}</p>
1516
</li>
1617
);
1718
};

client/src/lib/types.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
export interface ChatMessage {
55
createdDate?: Date;
66
message: string;
7+
sender: string;
78
id?: string;
89
channelId: number;
910
}

0 commit comments

Comments
 (0)