diff --git a/apps/user-service/src/main/java/site/icebang/domain/workflow/dto/WorkflowCardDto.java b/apps/user-service/src/main/java/site/icebang/domain/workflow/dto/WorkflowCardDto.java index 95a6b704..a39ce0c3 100644 --- a/apps/user-service/src/main/java/site/icebang/domain/workflow/dto/WorkflowCardDto.java +++ b/apps/user-service/src/main/java/site/icebang/domain/workflow/dto/WorkflowCardDto.java @@ -1,13 +1,16 @@ package site.icebang.domain.workflow.dto; -import lombok.Getter; -import lombok.NoArgsConstructor; +import java.math.BigInteger; +import java.time.LocalDateTime; -@Getter -@NoArgsConstructor +import lombok.Data; + +@Data public class WorkflowCardDto { - private Long id; + private BigInteger id; private String name; private String description; private boolean isEnabled; + private String createdBy; + private LocalDateTime createdAt; } diff --git a/apps/user-service/src/main/java/site/icebang/domain/workflow/mapper/WorkflowMapper.java b/apps/user-service/src/main/java/site/icebang/domain/workflow/mapper/WorkflowMapper.java index 4ddd94d3..00afbebc 100644 --- a/apps/user-service/src/main/java/site/icebang/domain/workflow/mapper/WorkflowMapper.java +++ b/apps/user-service/src/main/java/site/icebang/domain/workflow/mapper/WorkflowMapper.java @@ -1,19 +1,15 @@ package site.icebang.domain.workflow.mapper; -import java.util.List; -import java.util.Optional; - -import org.apache.ibatis.annotations.Mapper; +import java.math.BigInteger; +import java.util.*; import site.icebang.common.dto.PageParams; import site.icebang.domain.workflow.dto.WorkflowCardDto; -import site.icebang.domain.workflow.model.Workflow; -@Mapper public interface WorkflowMapper { - Optional findById(Long id); - List selectWorkflowList(PageParams pageParams); int selectWorkflowCount(PageParams pageParams); + + WorkflowCardDto selectWorkflowById(BigInteger id); } diff --git a/apps/user-service/src/main/java/site/icebang/domain/workflow/service/WorkflowService.java b/apps/user-service/src/main/java/site/icebang/domain/workflow/service/WorkflowService.java index 1a358924..71600b4b 100644 --- a/apps/user-service/src/main/java/site/icebang/domain/workflow/service/WorkflowService.java +++ b/apps/user-service/src/main/java/site/icebang/domain/workflow/service/WorkflowService.java @@ -9,19 +9,20 @@ import site.icebang.common.dto.PageResult; import site.icebang.common.service.PageableService; import site.icebang.domain.workflow.dto.WorkflowCardDto; +import site.icebang.domain.workflow.mapper.WorkflowMapper; @Service @RequiredArgsConstructor public class WorkflowService implements PageableService { + private final WorkflowMapper workflowMapper; + @Override @Transactional(readOnly = true) public PageResult getPagedResult(PageParams pageParams) { - throw new RuntimeException("Not implemented"); - // return PageResult.from( - // pageParams, - // () -> workflowMapper.selectWorkflowList(pageParams), - // () -> workflowMapper.selectWorkflowCount(pageParams) - // ); + return PageResult.from( + pageParams, + () -> workflowMapper.selectWorkflowList(pageParams), + () -> workflowMapper.selectWorkflowCount(pageParams)); } } diff --git a/apps/user-service/src/main/java/site/icebang/global/config/security/SecurityConfig.java b/apps/user-service/src/main/java/site/icebang/global/config/security/SecurityConfig.java index c915867d..61d668cc 100644 --- a/apps/user-service/src/main/java/site/icebang/global/config/security/SecurityConfig.java +++ b/apps/user-service/src/main/java/site/icebang/global/config/security/SecurityConfig.java @@ -64,6 +64,8 @@ public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { .permitAll() .requestMatchers("/auth/login", "/auth/logout") .permitAll() + .requestMatchers("/v0/workflows/**") + .permitAll() .requestMatchers("/v0/auth/check-session") .authenticated() .requestMatchers(SecurityEndpoints.DATA_ADMIN.getMatchers()) diff --git a/apps/user-service/src/main/java/site/icebang/global/config/security/endpoints/SecurityEndpoints.java b/apps/user-service/src/main/java/site/icebang/global/config/security/endpoints/SecurityEndpoints.java index 16065d8e..e6e24243 100644 --- a/apps/user-service/src/main/java/site/icebang/global/config/security/endpoints/SecurityEndpoints.java +++ b/apps/user-service/src/main/java/site/icebang/global/config/security/endpoints/SecurityEndpoints.java @@ -27,7 +27,7 @@ public enum SecurityEndpoints { OPS("/api/scheduler/**", "/api/monitoring/**"), // 일반 사용자 엔드포인트 - USER("/user/**", "/profile/**", "/v0/auth/check-session"); + USER("/user/**", "/profile/**", "/v0/auth/check-session", "/v0/workflows/**"); private final String[] patterns; diff --git a/apps/user-service/src/main/resources/mybatis/mapper/WorkflowMapper.xml b/apps/user-service/src/main/resources/mybatis/mapper/WorkflowMapper.xml index d10c487a..dacade96 100644 --- a/apps/user-service/src/main/resources/mybatis/mapper/WorkflowMapper.xml +++ b/apps/user-service/src/main/resources/mybatis/mapper/WorkflowMapper.xml @@ -1,42 +1,42 @@ - - + - - SELECT - id, - name, - description, - is_enabled AS isEnabled, - created_at AS createdAt, - created_by AS createdBy, - updated_at AS updatedAt, - updated_by AS updatedBy, - default_config AS defaultConfig - FROM - workflow - WHERE - id = #{id} + w.id, + w.name, + w.description, + w.is_enabled as isEnabled, + u.name as createdBy, + w.created_at as createdAt + FROM workflow w + LEFT JOIN user u ON w.created_by = u.id + WHERE 1=1 + ORDER BY w.created_at DESC + LIMIT #{pageSize} OFFSET #{offset} - + SELECT COUNT(*) + FROM workflow w + WHERE 1=1 - + SELECT + w.id, + w.name, + w.description, + w.is_enabled as isEnabled, + u.name as createdBy, + w.created_at as createdAt + FROM workflow w + LEFT JOIN user u ON w.created_by = u.id + WHERE w.id = #{id} - \ No newline at end of file