Skip to content
Original file line number Diff line number Diff line change
@@ -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;
}
Original file line number Diff line number Diff line change
@@ -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<Workflow> findById(Long id);

List<WorkflowCardDto> selectWorkflowList(PageParams pageParams);

int selectWorkflowCount(PageParams pageParams);

WorkflowCardDto selectWorkflowById(BigInteger id);
}
Original file line number Diff line number Diff line change
Expand Up @@ -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<WorkflowCardDto> {

private final WorkflowMapper workflowMapper;

@Override
@Transactional(readOnly = true)
public PageResult<WorkflowCardDto> 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));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -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())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,42 +1,42 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="site.icebang.domain.workflow.mapper.WorkflowMapper">

<select id="findById" resultType="site.icebang.domain.workflow.model.Workflow">
<select id="selectWorkflowList" parameterType="site.icebang.common.dto.PageParams"
resultType="site.icebang.domain.workflow.dto.WorkflowCardDto">
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>

<select id="selectWorkflowList" resultType="site.icebang.domain.workflow.dto.WorkflowCardDto">
SELECT
id,
name,
description,
is_enabled AS isEnabled
FROM
workflow
ORDER BY id DESC
LIMIT #{limit} OFFSET #{offset}
<select id="selectWorkflowCount" parameterType="site.icebang.common.dto.PageParams"
resultType="int">
SELECT COUNT(*)
FROM workflow w
WHERE 1=1
</select>

<select id="selectWorkflowCount" resultType="int">
SELECT COUNT(id)
FROM workflow
<select id="selectWorkflowById" parameterType="java.math.BigInteger"
resultType="site.icebang.domain.workflow.dto.WorkflowCardDto">
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}
</select>

</mapper>
Loading