From ae9dc8c5c0d7effeec3ad51171b703d221803b7a Mon Sep 17 00:00:00 2001 From: Hun3431 <68728352+Hun3431@users.noreply.github.com> Date: Wed, 13 Sep 2023 22:37:50 +0900 Subject: [PATCH 01/16] [Feat] ChatLogRequest DTO --- server/DTOs/chat/ChatLogRequest.cs | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 server/DTOs/chat/ChatLogRequest.cs diff --git a/server/DTOs/chat/ChatLogRequest.cs b/server/DTOs/chat/ChatLogRequest.cs new file mode 100644 index 0000000..e70ae37 --- /dev/null +++ b/server/DTOs/chat/ChatLogRequest.cs @@ -0,0 +1,8 @@ +namespace server.DTOs; + +public class ChatLogRequest +{ + public long id { get; set; } + + public long room_id { get; set; } +} From e630dc159d984074459d770139257f2dd1478395 Mon Sep 17 00:00:00 2001 From: Hun3431 <68728352+Hun3431@users.noreply.github.com> Date: Wed, 13 Sep 2023 22:38:06 +0900 Subject: [PATCH 02/16] [Feat] ChatLogResponse DTO --- server/DTOs/chat/ChatLogResponse.cs | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 server/DTOs/chat/ChatLogResponse.cs diff --git a/server/DTOs/chat/ChatLogResponse.cs b/server/DTOs/chat/ChatLogResponse.cs new file mode 100644 index 0000000..e531b1f --- /dev/null +++ b/server/DTOs/chat/ChatLogResponse.cs @@ -0,0 +1,12 @@ +namespace server.DTOs; + +public class ChatLogResponse +{ + public long sender { get; set; } + + public long receiver { get; set; } + + public string message { get; set; } + + public DateTime datatime { get; set; } +} From c7b311ea855579bf24dc46cc74b503c73ea1d13f Mon Sep 17 00:00:00 2001 From: Hun3431 <68728352+Hun3431@users.noreply.github.com> Date: Wed, 13 Sep 2023 23:08:13 +0900 Subject: [PATCH 03/16] =?UTF-8?q?[Fix]=20ChatLogEntity=20DateTime=20type?= =?UTF-8?q?=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/Entities/ChatLogsEntity.cs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/server/Entities/ChatLogsEntity.cs b/server/Entities/ChatLogsEntity.cs index e43c16b..c1a0836 100644 --- a/server/Entities/ChatLogsEntity.cs +++ b/server/Entities/ChatLogsEntity.cs @@ -11,7 +11,7 @@ public class ChatLogsEntity : BaseEntity public long Receiver { get; set; } [Required] - public string DateTime { get; set; } + public DateTime DateTime { get; set; } [Required] public string Message { get; set; } @@ -21,7 +21,6 @@ public class ChatLogsEntity : BaseEntity public ChatLogsEntity() { - DateTime = ""; Message = ""; } } From 8e693e9e0af7ea8ebf45a0fa088bf9cb7d512b1c Mon Sep 17 00:00:00 2001 From: Hun3431 <68728352+Hun3431@users.noreply.github.com> Date: Wed, 13 Sep 2023 23:08:52 +0900 Subject: [PATCH 04/16] [Feat] ChatLog Controller --- server/Controllers/ChatHttpController.cs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/server/Controllers/ChatHttpController.cs b/server/Controllers/ChatHttpController.cs index bc5e47a..f3b4319 100644 --- a/server/Controllers/ChatHttpController.cs +++ b/server/Controllers/ChatHttpController.cs @@ -34,4 +34,16 @@ public async Task Join([FromBody] ChatJoinRequest chatJoinRequest) return Ok(); } + + [HttpGet] + [Authorize] + public async Task ChatLog([FromBody] ChatLogRequest chatLogRequest) + { + long id = chatLogRequest.id; + long roomId = chatLogRequest.room_id; + + var chatLogResponse = await _chatHttpService.ChatLog(id, roomId); + + return chatLogResponse; + } } From 85f5b3c3aa84eae2d616e61584351c7737db56b9 Mon Sep 17 00:00:00 2001 From: Hun3431 <68728352+Hun3431@users.noreply.github.com> Date: Wed, 13 Sep 2023 23:09:15 +0900 Subject: [PATCH 05/16] [Feat] ChatLog Service --- server/Services/ChatHttpService.cs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/server/Services/ChatHttpService.cs b/server/Services/ChatHttpService.cs index 7dbc6ec..0633201 100644 --- a/server/Services/ChatHttpService.cs +++ b/server/Services/ChatHttpService.cs @@ -33,4 +33,20 @@ public ChatHttpService(ApplicationDbContext context) return true; } + + public async Task ChatLog(long id, long roomId) + { + var chatLog = await this._context.ChatLogsEntities.FindAsync(id, roomId); + + ChatLogResponse chatLogs = new ChatLogResponse + { + sender = chatLog.Sender, + receiver = chatLog.Receiver, + message = chatLog.Message, + datatime = chatLog.DateTime + }; + + return chatLogs; + } + } From d246f0343a5da4012899f454d496be4439efce3d Mon Sep 17 00:00:00 2001 From: Hun3431 <68728352+Hun3431@users.noreply.github.com> Date: Wed, 13 Sep 2023 23:21:50 +0900 Subject: [PATCH 06/16] =?UTF-8?q?[Fix]=20=EC=98=A4=ED=83=80=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/DTOs/chat/ChatLogResponse.cs | 2 +- server/Services/ChatHttpService.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/server/DTOs/chat/ChatLogResponse.cs b/server/DTOs/chat/ChatLogResponse.cs index e531b1f..13d640d 100644 --- a/server/DTOs/chat/ChatLogResponse.cs +++ b/server/DTOs/chat/ChatLogResponse.cs @@ -8,5 +8,5 @@ public class ChatLogResponse public string message { get; set; } - public DateTime datatime { get; set; } + public DateTime datetime { get; set; } } diff --git a/server/Services/ChatHttpService.cs b/server/Services/ChatHttpService.cs index 0633201..269ebb6 100644 --- a/server/Services/ChatHttpService.cs +++ b/server/Services/ChatHttpService.cs @@ -43,7 +43,7 @@ public async Task ChatLog(long id, long roomId) sender = chatLog.Sender, receiver = chatLog.Receiver, message = chatLog.Message, - datatime = chatLog.DateTime + datetime = chatLog.DateTime }; return chatLogs; From 0b2ec158675d9e281b18ce5df3057f81fe0c83c4 Mon Sep 17 00:00:00 2001 From: Hun3431 <68728352+Hun3431@users.noreply.github.com> Date: Thu, 14 Sep 2023 00:45:08 +0900 Subject: [PATCH 07/16] [Fix] Remove ChatLog Response receiver --- server/DTOs/chat/ChatLogResponse.cs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/server/DTOs/chat/ChatLogResponse.cs b/server/DTOs/chat/ChatLogResponse.cs index 13d640d..41d1893 100644 --- a/server/DTOs/chat/ChatLogResponse.cs +++ b/server/DTOs/chat/ChatLogResponse.cs @@ -3,9 +3,7 @@ public class ChatLogResponse { public long sender { get; set; } - - public long receiver { get; set; } - + public string message { get; set; } public DateTime datetime { get; set; } From 83652699b0fa3509890cd9efc7ab55dcf6339010 Mon Sep 17 00:00:00 2001 From: Hun3431 <68728352+Hun3431@users.noreply.github.com> Date: Thu, 14 Sep 2023 00:46:07 +0900 Subject: [PATCH 08/16] =?UTF-8?q?[Feat]=20ChatLog=20=EB=A6=AC=EC=8A=A4?= =?UTF-8?q?=ED=8A=B8=EB=A1=9C=20=EB=8D=B0=EC=9D=B4=ED=84=B0=20=EB=B0=98?= =?UTF-8?q?=ED=99=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/Services/ChatHttpService.cs | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/server/Services/ChatHttpService.cs b/server/Services/ChatHttpService.cs index 269ebb6..0cde932 100644 --- a/server/Services/ChatHttpService.cs +++ b/server/Services/ChatHttpService.cs @@ -1,4 +1,5 @@ -using server.DTOs; +using System.Data.Entity; +using server.DTOs; using server.Entities; using server.Interface; @@ -34,19 +35,26 @@ public ChatHttpService(ApplicationDbContext context) return true; } - public async Task ChatLog(long id, long roomId) + public async Task> ChatLog(long roomId) { - var chatLog = await this._context.ChatLogsEntities.FindAsync(id, roomId); - - ChatLogResponse chatLogs = new ChatLogResponse + // RoomId가 동일한 채팅 기록들을 모두 받아옴 + var chatLogs = await this._context.ChatLogsEntities.Where(log => log.RoomId == roomId).ToListAsync(); + List chatLogResponses = new List(); + + // RoomId가 동일한 채팅 기록이 없는 경우 null을 반환함. + if (chatLogs == null || !chatLogs.Any()) return null; + + foreach (var chatLog in chatLogs) { - sender = chatLog.Sender, - receiver = chatLog.Receiver, - message = chatLog.Message, - datetime = chatLog.DateTime - }; + ChatLogResponse response = new ChatLogResponse + { + sender = chatLog.Sender, message = chatLog.Message, datetime = chatLog.DateTime + }; + + chatLogResponses.Add(response); + } - return chatLogs; + return chatLogResponses; } } From b51026cfc9d6c26a7aa7e0bc3a945035c1622fe4 Mon Sep 17 00:00:00 2001 From: Hun3431 <68728352+Hun3431@users.noreply.github.com> Date: Thu, 14 Sep 2023 00:47:27 +0900 Subject: [PATCH 09/16] =?UTF-8?q?[Feat]=20=ED=8C=8C=EB=9D=BC=EB=AF=B8?= =?UTF-8?q?=ED=84=B0=20roomId=EB=A7=8C=EC=9C=BC=EB=A1=9C=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/Controllers/ChatHttpController.cs | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/server/Controllers/ChatHttpController.cs b/server/Controllers/ChatHttpController.cs index f3b4319..dc6f9eb 100644 --- a/server/Controllers/ChatHttpController.cs +++ b/server/Controllers/ChatHttpController.cs @@ -37,13 +37,12 @@ public async Task Join([FromBody] ChatJoinRequest chatJoinRequest) [HttpGet] [Authorize] - public async Task ChatLog([FromBody] ChatLogRequest chatLogRequest) + public async Task ChatLog(long roomId) { - long id = chatLogRequest.id; - long roomId = chatLogRequest.room_id; + var chatLogResponse = await _chatHttpService.ChatLog(roomId); - var chatLogResponse = await _chatHttpService.ChatLog(id, roomId); - - return chatLogResponse; + if (chatLogResponse == null) return NotFound(); + + return Ok(chatLogResponse); } } From ee54193d26bd81d1ce5ca944195dc869d4e5b2e1 Mon Sep 17 00:00:00 2001 From: Hun3431 <68728352+Hun3431@users.noreply.github.com> Date: Thu, 14 Sep 2023 01:46:56 +0900 Subject: [PATCH 10/16] =?UTF-8?q?[Fix]=20Test=EB=A5=BC=20=EC=9C=84?= =?UTF-8?q?=ED=95=9C=20Authorize=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/Controllers/ChatHttpController.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/server/Controllers/ChatHttpController.cs b/server/Controllers/ChatHttpController.cs index dc6f9eb..54001f8 100644 --- a/server/Controllers/ChatHttpController.cs +++ b/server/Controllers/ChatHttpController.cs @@ -36,7 +36,6 @@ public async Task Join([FromBody] ChatJoinRequest chatJoinRequest) } [HttpGet] - [Authorize] public async Task ChatLog(long roomId) { var chatLogResponse = await _chatHttpService.ChatLog(roomId); From 109c6092658ece80c9461f20ba54e861cc8f2bfe Mon Sep 17 00:00:00 2001 From: Hun3431 <68728352+Hun3431@users.noreply.github.com> Date: Thu, 14 Sep 2023 01:47:46 +0900 Subject: [PATCH 11/16] =?UTF-8?q?[Fix]=20=EC=97=90=EB=9F=AC=EB=A1=9C=20?= =?UTF-8?q?=EC=9D=B8=ED=95=9C=20=EB=8F=99=EA=B8=B0=20=EB=A9=94=EC=84=9C?= =?UTF-8?q?=EB=93=9C=20ToList()=20=EB=A1=9C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/Services/ChatHttpService.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/Services/ChatHttpService.cs b/server/Services/ChatHttpService.cs index 0cde932..5e5b240 100644 --- a/server/Services/ChatHttpService.cs +++ b/server/Services/ChatHttpService.cs @@ -38,7 +38,7 @@ public ChatHttpService(ApplicationDbContext context) public async Task> ChatLog(long roomId) { // RoomId가 동일한 채팅 기록들을 모두 받아옴 - var chatLogs = await this._context.ChatLogsEntities.Where(log => log.RoomId == roomId).ToListAsync(); + var chatLogs = this._context.ChatLogsEntities.Where(log => log.RoomId == roomId).ToList(); List chatLogResponses = new List(); // RoomId가 동일한 채팅 기록이 없는 경우 null을 반환함. From 4e90501fc8b3920210b39513260dba4e9d1c7300 Mon Sep 17 00:00:00 2001 From: Hun3431 <68728352+Hun3431@users.noreply.github.com> Date: Thu, 14 Sep 2023 01:58:31 +0900 Subject: [PATCH 12/16] =?UTF-8?q?Req=20DTO=20=EC=A3=BC=EC=84=9D=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/DTOs/chat/ChatLogRequest.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/server/DTOs/chat/ChatLogRequest.cs b/server/DTOs/chat/ChatLogRequest.cs index e70ae37..9bab17e 100644 --- a/server/DTOs/chat/ChatLogRequest.cs +++ b/server/DTOs/chat/ChatLogRequest.cs @@ -1,4 +1,5 @@ -namespace server.DTOs; +// 추후에 개발하다가 안쓰는게 확실해지면 지울 예정입니다. +namespace server.DTOs; public class ChatLogRequest { From bd6e17e5a14517df07a8a3c32268e62fe89edfa6 Mon Sep 17 00:00:00 2001 From: "Dotnet Format Bot (by YeJun, Jung)" Date: Wed, 13 Sep 2023 17:00:14 +0000 Subject: [PATCH 13/16] [Style] Auto dotnet format --- server/Controllers/ChatHttpController.cs | 2 +- server/DTOs/chat/ChatLogRequest.cs | 2 +- server/Services/ChatHttpService.cs | 10 ++++++---- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/server/Controllers/ChatHttpController.cs b/server/Controllers/ChatHttpController.cs index 54001f8..86a510c 100644 --- a/server/Controllers/ChatHttpController.cs +++ b/server/Controllers/ChatHttpController.cs @@ -41,7 +41,7 @@ public async Task ChatLog(long roomId) var chatLogResponse = await _chatHttpService.ChatLog(roomId); if (chatLogResponse == null) return NotFound(); - + return Ok(chatLogResponse); } } diff --git a/server/DTOs/chat/ChatLogRequest.cs b/server/DTOs/chat/ChatLogRequest.cs index 9bab17e..aecad57 100644 --- a/server/DTOs/chat/ChatLogRequest.cs +++ b/server/DTOs/chat/ChatLogRequest.cs @@ -4,6 +4,6 @@ namespace server.DTOs; public class ChatLogRequest { public long id { get; set; } - + public long room_id { get; set; } } diff --git a/server/Services/ChatHttpService.cs b/server/Services/ChatHttpService.cs index 5e5b240..4fb2348 100644 --- a/server/Services/ChatHttpService.cs +++ b/server/Services/ChatHttpService.cs @@ -34,7 +34,7 @@ public ChatHttpService(ApplicationDbContext context) return true; } - + public async Task> ChatLog(long roomId) { // RoomId가 동일한 채팅 기록들을 모두 받아옴 @@ -48,12 +48,14 @@ public async Task> ChatLog(long roomId) { ChatLogResponse response = new ChatLogResponse { - sender = chatLog.Sender, message = chatLog.Message, datetime = chatLog.DateTime + sender = chatLog.Sender, + message = chatLog.Message, + datetime = chatLog.DateTime }; - + chatLogResponses.Add(response); } - + return chatLogResponses; } From a8859a81299775b8fae1049f89a9db707c0ddae7 Mon Sep 17 00:00:00 2001 From: Hun3431 <68728352+Hun3431@users.noreply.github.com> Date: Thu, 14 Sep 2023 18:08:34 +0900 Subject: [PATCH 14/16] [Fix] Remove ChatLogRequest DTO --- server/DTOs/chat/ChatLogRequest.cs | 9 --------- 1 file changed, 9 deletions(-) delete mode 100644 server/DTOs/chat/ChatLogRequest.cs diff --git a/server/DTOs/chat/ChatLogRequest.cs b/server/DTOs/chat/ChatLogRequest.cs deleted file mode 100644 index aecad57..0000000 --- a/server/DTOs/chat/ChatLogRequest.cs +++ /dev/null @@ -1,9 +0,0 @@ -// 추후에 개발하다가 안쓰는게 확실해지면 지울 예정입니다. -namespace server.DTOs; - -public class ChatLogRequest -{ - public long id { get; set; } - - public long room_id { get; set; } -} From 2b642f6adb676f018392773cc7cc55beedf2add3 Mon Sep 17 00:00:00 2001 From: Hun3431 <68728352+Hun3431@users.noreply.github.com> Date: Fri, 13 Oct 2023 09:33:53 +0900 Subject: [PATCH 15/16] =?UTF-8?q?[Feat]=20ChatLog=20=EC=9D=B8=EC=A6=9D=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/Controllers/ChatHttpController.cs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/server/Controllers/ChatHttpController.cs b/server/Controllers/ChatHttpController.cs index 86a510c..04e9ac5 100644 --- a/server/Controllers/ChatHttpController.cs +++ b/server/Controllers/ChatHttpController.cs @@ -41,7 +41,18 @@ public async Task ChatLog(long roomId) var chatLogResponse = await _chatHttpService.ChatLog(roomId); if (chatLogResponse == null) return NotFound(); + + JwtSecurityToken jwtToken = HttpContext.GetJwtToken(); + long id = long.Parse(jwtToken.GetClaimByType("id")); + + foreach (var response in chatLogResponse) + { + if (response.sender == id) + { + return Ok(chatLogResponse); + } + } - return Ok(chatLogResponse); + return Unauthorized(); } } From 07d280c99dc27a4a7676616c4ea96311cc2ed2c0 Mon Sep 17 00:00:00 2001 From: "Dotnet Format Bot (by YeJun, Jung)" Date: Fri, 13 Oct 2023 00:34:42 +0000 Subject: [PATCH 16/16] [Style] Auto dotnet format --- server/Controllers/ChatHttpController.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/Controllers/ChatHttpController.cs b/server/Controllers/ChatHttpController.cs index 04e9ac5..ce2f832 100644 --- a/server/Controllers/ChatHttpController.cs +++ b/server/Controllers/ChatHttpController.cs @@ -41,7 +41,7 @@ public async Task ChatLog(long roomId) var chatLogResponse = await _chatHttpService.ChatLog(roomId); if (chatLogResponse == null) return NotFound(); - + JwtSecurityToken jwtToken = HttpContext.GetJwtToken(); long id = long.Parse(jwtToken.GetClaimByType("id"));