diff --git a/backend-java/src/main/java/com/tasteby/config/WebConfig.java b/backend-java/src/main/java/com/tasteby/config/WebConfig.java index dd8a53c..b762735 100644 --- a/backend-java/src/main/java/com/tasteby/config/WebConfig.java +++ b/backend-java/src/main/java/com/tasteby/config/WebConfig.java @@ -21,7 +21,7 @@ public class WebConfig implements WebMvcConfigurer { public CorsConfigurationSource corsConfigurationSource() { CorsConfiguration config = new CorsConfiguration(); config.setAllowedOrigins(Arrays.asList(allowedOrigins.split(","))); - config.setAllowedMethods(List.of("GET", "POST", "PUT", "DELETE", "OPTIONS")); + config.setAllowedMethods(List.of("GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS")); config.setAllowedHeaders(List.of("*")); config.setAllowCredentials(true); diff --git a/backend-java/src/main/java/com/tasteby/mapper/UserMapper.java b/backend-java/src/main/java/com/tasteby/mapper/UserMapper.java index 81bb90a..e95c540 100644 --- a/backend-java/src/main/java/com/tasteby/mapper/UserMapper.java +++ b/backend-java/src/main/java/com/tasteby/mapper/UserMapper.java @@ -21,4 +21,6 @@ public interface UserMapper { List findAllWithCounts(@Param("limit") int limit, @Param("offset") int offset); int countAll(); + + int updateAdmin(@Param("id") String id, @Param("admin") int admin); } diff --git a/backend-java/src/main/java/com/tasteby/service/UserService.java b/backend-java/src/main/java/com/tasteby/service/UserService.java index d3c5ebb..71b52e1 100644 --- a/backend-java/src/main/java/com/tasteby/service/UserService.java +++ b/backend-java/src/main/java/com/tasteby/service/UserService.java @@ -3,8 +3,10 @@ package com.tasteby.service; import com.tasteby.domain.UserInfo; import com.tasteby.mapper.UserMapper; import com.tasteby.util.IdGenerator; +import org.springframework.http.HttpStatus; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.server.ResponseStatusException; import java.util.List; @@ -47,4 +49,12 @@ public class UserService { public int countAll() { return mapper.countAll(); } + + @Transactional + public void updateAdmin(String userId, boolean admin) { + int rows = mapper.updateAdmin(userId, admin ? 1 : 0); + if (rows == 0) { + throw new ResponseStatusException(HttpStatus.NOT_FOUND, "User not found"); + } + } } diff --git a/backend-java/src/main/resources/mybatis/mapper/UserMapper.xml b/backend-java/src/main/resources/mybatis/mapper/UserMapper.xml index f3764b9..1abee66 100644 --- a/backend-java/src/main/resources/mybatis/mapper/UserMapper.xml +++ b/backend-java/src/main/resources/mybatis/mapper/UserMapper.xml @@ -37,7 +37,7 @@ + + UPDATE tasteby_users SET is_admin = #{admin,jdbcType=NUMERIC} WHERE id = #{id} + +