Skip to content

Commit

Permalink
Merge branch 'm-cmp:main' into main
Browse files Browse the repository at this point in the history
  • Loading branch information
pbcccbeatboard-strato authored Aug 29, 2024
2 parents efbb132 + 96294d2 commit f3df032
Show file tree
Hide file tree
Showing 37 changed files with 1,986 additions and 2 deletions.
1 change: 1 addition & 0 deletions applicationFE/.env
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# VITE_API_URL="http://localhost:18083"
19 changes: 19 additions & 0 deletions applicationFE/.eslintrc.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
/* eslint-env node */
require('@rushstack/eslint-patch/modern-module-resolution')

module.exports = {
root: true,
'extends': [
'plugin:vue/vue3-essential',
'eslint:recommended',
'@vue/eslint-config-typescript',
'@vue/eslint-config-prettier/skip-formatting'
],
parserOptions: {
ecmaVersion: 'latest'
},
rules: {
// should always be multi-word 적용 X
'vue/multi-word-component-names' : 0
},
}
31 changes: 31 additions & 0 deletions applicationFE/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
yarn.lock
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*

node_modules
.DS_Store
dist
dist-ssr
coverage
*.local

/cypress/videos/
/cypress/screenshots/

# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?

*.tsbuildinfo
8 changes: 8 additions & 0 deletions applicationFE/.prettierrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"$schema": "https://json.schemastore.org/prettierrc",
"semi": false,
"tabWidth": 2,
"singleQuote": true,
"printWidth": 100,
"trailingComma": "none"
}
39 changes: 39 additions & 0 deletions applicationFE/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# workflow-manager-ui

This template should help get you started developing with Vue 3 in Vite.

## Recommended IDE Setup

[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur).

## Type Support for `.vue` Imports in TS

TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) to make the TypeScript language service aware of `.vue` types.

## Customize configuration

See [Vite Configuration Reference](https://vitejs.dev/config/).

## Project Setup

```sh
yarn install
```

### Compile and Hot-Reload for Development

```sh
yarn dev
```

### Type-Check, Compile and Minify for Production

```sh
yarn build
```

### Lint with [ESLint](https://eslint.org/)

```sh
yarn lint
```
10 changes: 10 additions & 0 deletions applicationFE/env.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
/// <reference types="vite/client" />

interface ImportMetaEnv {
readonly VITE_API_URL: string
// 다른 환경 변수들에 대한 타입 정의...
}

interface ImportMeta {
readonly env: ImportMetaEnv
}
13 changes: 13 additions & 0 deletions applicationFE/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<!-- <link rel="icon" href="/favicon.ico"> -->
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Workflow</title>
</head>
<body>
<div id="app"></div>
<script type="module" src="/src/main.ts"></script>
</body>
</html>
15 changes: 15 additions & 0 deletions applicationFE/nginx/nginx.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
server {
listen 80;
listen [::]:80;
server_name localhost;

location / {
root /usr/share/nginx/html;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
47 changes: 47 additions & 0 deletions applicationFE/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
{
"name": "application-manager-ui",
"version": "0.0.0",
"private": true,
"type": "module",
"scripts": {
"dev": "vite",
"build": "run-p type-check \"build-only {@}\" --",
"preview": "vite preview",
"build-only": "vite build",
"type-check": "vue-tsc --build --force",
"lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore",
"format": "prettier --write src/"
},
"dependencies": {
"@tabler/core": "^1.0.0-beta20",
"ace-builds": "^1.35.2",
"axios": "^1.7.2",
"bootstrap": "^5.3.0",
"lodash": "^4.17.21",
"pinia": "^2.1.7",
"tabulator-tables": "^6.2.1",
"vue": "^3.4.29",
"vue-draggable-next": "^2.2.1",
"vue-router": "^4.3.3",
"vue-toastification": "^2.0.0-rc.5",
"vue3-ace-editor": "^2.2.4"
},
"devDependencies": {
"@rushstack/eslint-patch": "^1.8.0",
"@tsconfig/node20": "^20.1.4",
"@types/node": "^20.14.5",
"@types/tabulator-tables": "^6.2.2",
"@vitejs/plugin-vue": "^5.0.5",
"@vue/eslint-config-prettier": "^9.0.0",
"@vue/eslint-config-typescript": "^13.0.0",
"@vue/tsconfig": "^0.5.1",
"eslint": "^8.57.0",
"eslint-plugin-vue": "^9.23.0",
"npm-run-all2": "^6.2.0",
"prettier": "^3.2.5",
"typescript": "~5.4.0",
"vite": "^5.3.1",
"vite-plugin-vue-devtools": "^7.3.1",
"vue-tsc": "^2.0.21"
}
}
11 changes: 11 additions & 0 deletions applicationFE/src/App.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@

<script setup lang="ts">
import { RouterView } from 'vue-router'
</script>

<template>
<RouterView />
</template>

<style scoped>
</style>
45 changes: 45 additions & 0 deletions applicationFE/src/api/eventListener.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
import request from "../common/request";
import type { EventListener } from "../views/type/type";


// Event Listener 목록
export const getEventListenerList = () => {
return request.get('/eventlistener/list')
}

// Event Listener 상세
export function getEventListenerDetailInfo(eventlistenerIdx:number) {
return request.get("/eventlistener/" + eventlistenerIdx);
}

// 중복확인
export function duplicateCheck(param: {eventListenerName:string, eventListenerUrl: string}) {
return request.get(`/eventlistener/duplicate?eventlistenerName=${param.eventListenerName}&eventListenerUrl=${param.eventListenerUrl}`)
}

// Event Listener 등록
export function registEventListener(param: EventListener) {
return request.post(`/eventlistener`, param)
}

// Event Listener 수정
export function updateEventListener(param: EventListener) {
return request.patch(`/eventlistener/${param.eventListenerIdx}`, param)
}

// Event Listener 삭제
export function deleteEventListener(eventlistenerIdx: number) {
return request.delete(`/eventlistener/${eventlistenerIdx}`)
}












57 changes: 57 additions & 0 deletions applicationFE/src/api/oss.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
import request from "../common/request";
import type { Oss } from "../views/type/type";


// OSS Type 목록
export const getOssTypeList = () => {
return request.get('/ossType/list')
}

// OSS Type 필터링 목록
// 이미 생성된 OSS는 또 다시 생성할 수 없다
export const getOssTypeFilteredList = () => {
return request.get('/ossType/filter/list')
}

// OSS 목록
export const getOssAllList = () => {
return request.get('/oss/list')
}

// OSS 목록
export const getOssList = (ossTypeName:string) => {
return request.get(`/oss/list/${ossTypeName}`)
}

// 중복확인
export function duplicateCheck(param: { ossName:string, ossUrl:string, ossUsername:string}) {
return request.get(`/oss/duplicate?ossName=${param.ossName}&ossUrl=${param.ossUrl}&ossUsername=${param.ossUsername}`)
}


// 연결 확인
export function ossConnectionChecked(param: { ossUrl: string, ossUsername: string, ossPassword: string, ossTypeIdx: number }) {
return request.post(`/oss/connection-check`, param)
}


// OSS 상세
export function getOssDetailInfo(ossIdx:number | string | string[]) {
return request.get("/oss/" + ossIdx);
}


// OSS 등록
export function registOss(param:Oss) {
return request.post(`/oss`, param)
}

// OSS 수정
export function updateOss(param: Oss) {
return request.patch(`/oss/${param.ossIdx}`, param)
}

// OSS 삭제
export function deleteOss(ossIdx: number) {
return request.delete(`/oss/${ossIdx}`)
}
63 changes: 63 additions & 0 deletions applicationFE/src/api/workflow.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
import request from "../common/request";
import type { Workflow } from "../views/type/type"

// 워크플로우 목록
// export const getWorkflowList = () => {
// return request.get('/workflow/list')
// }
export const getWorkflowList = (eventlistenerYn:String) => {
return request.get(`/eventlistener/workflowList/${eventlistenerYn}`)
}

// 중복확인
export function duplicateCheck(workflowName:string) {
return request.get(`/workflow/name/duplicate?workflowName=${workflowName}`)
}

// default 스크립트
export function getTemplateStage(workflowName:string) {
return request.get(`/workflow/template/${workflowName}`)
}

// 파이프라인 목록
export function getWorkflowPipelineList() {
return request.get(`/workflow/workflowStageList`)
}

// 파이프라인 구분 목록
export function getPipelineCdList() {
return request.get(`/workflowStageType/list`);
}

// 워크플로우 상세
// export function getWorkflowDetailInfo(workflowIdx:number | string | string[]) {
// return request.get("/workflow/" + workflowIdx + "/N");
// }
export function getWorkflowDetailInfo(workflowIdx:number | string | string[], eventlistenerYn:String) {
return request.get(`/eventlistener/workflowDetail/${workflowIdx}/${eventlistenerYn}`);
}

// 저장
export function registWorkflow(workflow: Workflow | any) {
return request.post(`/workflow`, workflow);
}

// 수정
export function updateWorkflow(workflow: Workflow | any) {
return request.patch(`/workflow/${workflow.workflowInfo.workflowIdx}`, workflow);
}


// 삭제
export function deleteWorkflow(workflowIdx: number) {
return request.delete(`/workflow/${workflowIdx}`);
}

// 배포 실행
export function runWorkflow(params: Workflow) {
return request.post(`/workflow/run`, params);
}

export function existEventListener(workflowIdx: number) {
return request.get(`/workflow/existEventListener/${workflowIdx}`);
}
Loading

0 comments on commit f3df032

Please sign in to comment.