Skip to content

Commit 4f0a37d

Browse files
authored
feat(be) : WebSocket 설정 삭제 및 entity, repository 추가 (#35)
* fix(be) : WebSocket 관련 설정 삭제 * feat(be): entity,repository 추가 * feat(be): @repository 어노테이션 추가 강사님 조언에 따라서 필수적인 기능 제외하고 전부 삭제 후 다시 작업 중
1 parent 9889deb commit 4f0a37d

File tree

7 files changed

+79
-97
lines changed

7 files changed

+79
-97
lines changed

src/main/kotlin/com/back/koreaTravelGuide/common/config/websocket/JwtHandshakeInterceptor.kt

Lines changed: 0 additions & 55 deletions
This file was deleted.

src/main/kotlin/com/back/koreaTravelGuide/common/config/websocket/WebSocketConfig.kt

Lines changed: 0 additions & 25 deletions
This file was deleted.

src/main/kotlin/com/back/koreaTravelGuide/common/util/JwtUtil.kt

Lines changed: 0 additions & 17 deletions
This file was deleted.
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package com.back.koreaTravelGuide.domain.userChat.chatmessage.entity
2+
3+
import jakarta.persistence.Column
4+
import jakarta.persistence.Entity
5+
import jakarta.persistence.GeneratedValue
6+
import jakarta.persistence.GenerationType
7+
import jakarta.persistence.Id
8+
import jakarta.persistence.Index
9+
import jakarta.persistence.Table
10+
import java.time.Instant
11+
12+
@Entity
13+
@Table(
14+
name = "userchat_message",
15+
indexes = [Index(name = "ix_msg_room_id_id", columnList = "room_id,id")],
16+
)
17+
data class ChatMessage(
18+
@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
19+
val id: Long? = null,
20+
@Column(name = "room_id", nullable = false)
21+
val roomId: Long,
22+
@Column(name = "sender_id", nullable = false)
23+
val senderId: Long,
24+
@Column(columnDefinition = "text", nullable = false)
25+
val content: String,
26+
@Column(name = "created_at", nullable = false)
27+
val createdAt: Instant = Instant.now(),
28+
)
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package com.back.koreaTravelGuide.domain.userChat.chatmessage.repository
2+
3+
import com.back.koreaTravelGuide.domain.userChat.chatmessage.entity.ChatMessage
4+
import org.springframework.data.jpa.repository.JpaRepository
5+
import org.springframework.stereotype.Repository
6+
7+
@Repository
8+
interface ChatMessageRepository : JpaRepository<ChatMessage, Long> {
9+
fun findTop50ByRoomIdOrderByIdDesc(roomId: Long): List<ChatMessage>
10+
11+
fun findByRoomIdAndIdGreaterThanOrderByIdAsc(
12+
roomId: Long,
13+
afterId: Long,
14+
): List<ChatMessage>
15+
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package com.back.koreaTravelGuide.domain.userChat.chatroom.entity
2+
3+
import jakarta.persistence.Column
4+
import jakarta.persistence.Entity
5+
import jakarta.persistence.GeneratedValue
6+
import jakarta.persistence.GenerationType
7+
import jakarta.persistence.Id
8+
import jakarta.persistence.Index
9+
import jakarta.persistence.Table
10+
import java.time.Instant
11+
12+
@Entity
13+
@Table(
14+
name = "userchat_room",
15+
indexes = [Index(name = "ix_room_updated_at", columnList = "updated_at")],
16+
)
17+
data class ChatRoom(
18+
@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
19+
val id: Long? = null,
20+
@Column(nullable = false)
21+
val title: String,
22+
@Column(name = "owner_id", nullable = false)
23+
val ownerId: Long,
24+
@Column(name = "updated_at", nullable = false)
25+
val updatedAt: Instant = Instant.now(),
26+
@Column(name = "last_message_id")
27+
val lastMessageId: Long? = null,
28+
)
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package com.back.koreaTravelGuide.domain.userChat.chatroom.repository
2+
3+
import com.back.koreaTravelGuide.domain.userChat.chatroom.entity.ChatRoom
4+
import org.springframework.data.jpa.repository.JpaRepository
5+
import org.springframework.stereotype.Repository
6+
7+
@Repository
8+
interface ChatRoomRepository : JpaRepository<ChatRoom, Long>

0 commit comments

Comments
 (0)