Skip to content

Commit af38c8b

Browse files
committed
feat: 게시판 CRUD API 구현
1 parent c0a25f4 commit af38c8b

4 files changed

Lines changed: 43 additions & 0 deletions

File tree

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,3 +38,4 @@ out/
3838

3939
### VS Code ###
4040
.vscode/
41+
.claude/
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package com.bootsignal.domain.user.entity;
2+
3+
import com.bootsignal.global.entity.BaseEntity;
4+
import jakarta.persistence.*;
5+
import lombok.*;
6+
7+
@Entity
8+
@Table(name = "users")
9+
@Getter
10+
@NoArgsConstructor(access = AccessLevel.PROTECTED)
11+
@Builder
12+
public class User extends BaseEntity {
13+
14+
@Id
15+
@GeneratedValue(strategy = GenerationType.IDENTITY)
16+
private Long id;
17+
18+
@Column(nullable = false, unique = true)
19+
private String email;
20+
21+
// OAuth2 가입 초기에 미설정 가능 → nullable
22+
private String nickname;
23+
24+
@Enumerated(EnumType.STRING)
25+
@Column(nullable = false)
26+
private UserRole role;
27+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package com.bootsignal.domain.user.entity;
2+
3+
public enum UserRole {
4+
USER, ADMIN
5+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package com.bootsignal.domain.user.repository;
2+
3+
import com.bootsignal.domain.user.entity.User;
4+
import org.springframework.data.jpa.repository.JpaRepository;
5+
6+
import java.util.Optional;
7+
8+
public interface UserRepository extends JpaRepository<User, Long> {
9+
Optional<User> findByEmail(String email);
10+
}

0 commit comments

Comments
 (0)