diff --git a/applicationFE/src/api/repository.ts b/applicationFE/src/api/repository.ts new file mode 100644 index 0000000..246119d --- /dev/null +++ b/applicationFE/src/api/repository.ts @@ -0,0 +1,43 @@ +import request from "../common/request"; +import type { Repository } from "@/views/type/type"; + +// Repository 목록 +export const getRepositoryList = (module:string) => { + return request.get(`/oss/v1/repositories/${module}/list`) +} + +// Repository 삭제 +export function deleteRepository(module: string, name: string) { + return request.delete(`/oss/v1/repositories/${module}/delete/${name}`) +} + +// Repository 등록 +export function registRepository(module: string, param: Repository) { + return request.post(`/oss/v1/repositories/${module}/create`, param) +} + +// Repository 상세정보 조회 +export const getRepositoryDetailInfo = (module:string, name: string) => { + return request.get(`/oss/v1/repositories/${module}/detail/${name}`) +} + +// Repository 수정 +export const updateRepository = (module:string, param: Repository) => { + return request.put(`/oss/v1/repositories/${module}/update`, param) +} + +// Repository 삭제 +export function deleteComponent(module: string, id: string) { + return request.delete(`/oss/v1/components/${module}/delete/${id}`) +} + +// 컴포넌트 목록 +export const getComponentList = (module:string, name: string) => { + return request.get(`/oss/v1/components/${module}/list/${name}`) +} + + +// 컴포넌트 파일 upload +export const uploadComponent = (module:string, name: string, param: object) => { + return request.post(`/oss/v1/components/${module}/create/${name}`, param) +} \ No newline at end of file diff --git a/applicationFE/src/router/index.ts b/applicationFE/src/router/index.ts index 8812cc9..4ed8119 100644 --- a/applicationFE/src/router/index.ts +++ b/applicationFE/src/router/index.ts @@ -13,6 +13,21 @@ const router = createRouter({ name: 'ossList', component: () => import('@/views/oss/OssList.vue' as any) }, + { + path: '/web/generate/yaml', + name: 'yamlGenerate', + component: () => import('@/views/generate/YamlGenerate.vue' as any) + }, + { + path: '/web/repository/list', + name: 'repositoryList', + component: () => import('@/views/repository/RepositoryList.vue' as any) + }, + { + path: `/web/repository/detail/:repositoryName`, + name: 'repositoryDetail', + component: () => import('@/views/repository/RepositoryDetail.vue' as any) + }, ] }) diff --git a/applicationFE/src/views/repository/RepositoryDetail.vue b/applicationFE/src/views/repository/RepositoryDetail.vue new file mode 100644 index 0000000..bc426f5 --- /dev/null +++ b/applicationFE/src/views/repository/RepositoryDetail.vue @@ -0,0 +1,210 @@ + + \ No newline at end of file diff --git a/applicationFE/src/views/repository/RepositoryList.vue b/applicationFE/src/views/repository/RepositoryList.vue new file mode 100644 index 0000000..f12e73b --- /dev/null +++ b/applicationFE/src/views/repository/RepositoryList.vue @@ -0,0 +1,165 @@ + + \ No newline at end of file diff --git a/applicationFE/src/views/repository/components/deleteComponent.vue b/applicationFE/src/views/repository/components/deleteComponent.vue new file mode 100644 index 0000000..8623913 --- /dev/null +++ b/applicationFE/src/views/repository/components/deleteComponent.vue @@ -0,0 +1,59 @@ + + + \ No newline at end of file diff --git a/applicationFE/src/views/repository/components/deleteRepository.vue b/applicationFE/src/views/repository/components/deleteRepository.vue new file mode 100644 index 0000000..6428d8e --- /dev/null +++ b/applicationFE/src/views/repository/components/deleteRepository.vue @@ -0,0 +1,58 @@ + + + \ No newline at end of file diff --git a/applicationFE/src/views/repository/components/repositoryForm.vue b/applicationFE/src/views/repository/components/repositoryForm.vue new file mode 100644 index 0000000..f99af53 --- /dev/null +++ b/applicationFE/src/views/repository/components/repositoryForm.vue @@ -0,0 +1,236 @@ + + + + + \ No newline at end of file diff --git a/applicationFE/src/views/repository/components/uploadComponent.vue b/applicationFE/src/views/repository/components/uploadComponent.vue new file mode 100644 index 0000000..e0513ef --- /dev/null +++ b/applicationFE/src/views/repository/components/uploadComponent.vue @@ -0,0 +1,108 @@ + + + \ No newline at end of file diff --git a/applicationFE/src/views/type/type.ts b/applicationFE/src/views/type/type.ts index 350316e..fc985b4 100644 --- a/applicationFE/src/views/type/type.ts +++ b/applicationFE/src/views/type/type.ts @@ -11,4 +11,55 @@ export interface OssType { ossTypeIdx: number ossTypeName: string ossTypeDesc: string +} + +export interface Pod { + podName: string + namespace: string + labels: [] + image: string + containerPort: [] + env: [] + volumeMounts: [] +} + +export interface Deployment { + deployName: string + namespace: string + labels: [] + selector: [] + replicas: number + image: string + containerPort: [] + env: [] + volumeMounts: [] +} + +export interface Hpa { + hpaName: string + namespace: string + labels: {} + target: {} + metric: {} + minReplicas: number + maxReplicas: number +} + +export interface Repository { + name: string + format: string + type: string + url: string + online: boolean + storage: {} + docker: {} +} + +export interface Component { + id: string + repository: string + format: string + group: string + name: string + assets: [] } \ No newline at end of file