Modify code organization

This commit is contained in:
pycook
2019-12-18 23:33:22 +09:00
parent 24664c7686
commit f66a94712e
329 changed files with 38 additions and 38 deletions

View File

@@ -0,0 +1,34 @@
import { axios } from '@/utils/request'
const urlPrefix = '/v1/acl'
export function searchRole (params) {
return axios({
url: urlPrefix + `/roles`,
method: 'GET',
params: params
})
}
export function addRole (params) {
return axios({
url: urlPrefix + '/roles',
method: 'POST',
data: params
})
}
export function updateRoleById (id, params) {
return axios({
url: urlPrefix + `/roles/${id}`,
method: 'PUT',
data: params
})
}
export function deleteRoleById (id) {
return axios({
url: urlPrefix + `/roles/${id}`,
method: 'DELETE'
})
}

View File

@@ -0,0 +1,56 @@
import { axios } from '@/utils/request'
const urlPrefix = '/v1/acl'
export function getResourcePerms (resourceID) {
return axios({
url: urlPrefix + `/resources/${resourceID}/permissions`,
method: 'GET'
})
}
export function getResourceTypePerms (typeID) {
return axios({
url: urlPrefix + `/resource_types/${typeID}/perms`,
method: 'GET'
})
}
export function getResourceGroupPerms (resourceGroupID) {
return axios({
url: urlPrefix + `/resource_groups/${resourceGroupID}/permissions`,
method: 'GET'
})
}
export function setRoleResourcePerm (rid, resourceID, params) {
return axios({
url: urlPrefix + `/roles/${rid}/resources/${resourceID}/grant`,
method: 'POST',
data: params
})
}
export function setRoleResourceGroupPerm (rid, resourceGroupID, params) {
return axios({
url: urlPrefix + `/roles/${rid}/resource_groups/${resourceGroupID}/grant`,
method: 'POST',
data: params
})
}
export function deleteRoleResourcePerm (rid, resourceID, params) {
return axios({
url: urlPrefix + `/roles/${rid}/resources/${resourceID}/revoke`,
method: 'POST',
data: params
})
}
export function deleteRoleResourceGroupPerm (rid, resourceGroupID, params) {
return axios({
url: urlPrefix + `/roles/${rid}/resource_groups/${resourceGroupID}/revoke`,
method: 'POST',
data: params
})
}

View File

@@ -0,0 +1,65 @@
import { axios } from '@/utils/request'
const urlPrefix = '/v1/acl'
export function searchResource (params) {
return axios({
url: urlPrefix + `/resources`,
method: 'GET',
params: params
})
}
export function addResource (params) {
return axios({
url: urlPrefix + '/resources',
method: 'POST',
data: params
})
}
export function updateResourceById (id, params) {
return axios({
url: urlPrefix + `/resources/${id}`,
method: 'PUT',
data: params
})
}
export function deleteResourceById (id) {
return axios({
url: urlPrefix + `/resources/${id}`,
method: 'DELETE'
})
}
export function searchResourceType (params) {
return axios({
url: urlPrefix + `/resource_types`,
method: 'GET',
params: params
})
}
export function addResourceType (params) {
return axios({
url: urlPrefix + '/resource_types',
method: 'POST',
data: params
})
}
export function updateResourceTypeById (id, params) {
return axios({
url: urlPrefix + `/resource_types/${id}`,
method: 'PUT',
data: params
})
}
export function deleteResourceTypeById (id) {
return axios({
url: urlPrefix + `/resource_types/${id}`,
method: 'DELETE'
})
}

View File

@@ -0,0 +1,66 @@
import { axios } from '@/utils/request'
const urlPrefix = '/v1/acl'
export function searchRole (params) {
return axios({
url: urlPrefix + `/roles`,
method: 'GET',
params: params
})
}
export function addRole (params) {
return axios({
url: urlPrefix + '/roles',
method: 'POST',
data: params
})
}
export function updateRoleById (id, params) {
return axios({
url: urlPrefix + `/roles/${id}`,
method: 'PUT',
data: params
})
}
export function deleteRoleById (id) {
return axios({
url: urlPrefix + `/roles/${id}`,
method: 'DELETE'
})
}
export function addParentRole (id, otherID) {
return axios({
url: urlPrefix + `/roles/${id}/parents`,
method: 'POST',
data: { parent_id: otherID }
})
}
export function addChildRole (id, otherID) {
return axios({
url: urlPrefix + `/roles/${otherID}/parents`,
method: 'POST',
data: { parent_id: id }
})
}
export function delParentRole (cid, pid) {
return axios({
url: urlPrefix + `/roles/${cid}/parents`,
method: 'DELETE',
data: { parent_id: pid }
})
}
export function delChildRole (pid, cid) {
return axios({
url: urlPrefix + `/roles/${cid}/parents`,
method: 'DELETE',
data: { parent_id: pid }
})
}

View File

@@ -0,0 +1,41 @@
import { axios } from '@/utils/request'
const urlPrefix = '/v1/acl'
export function currentUser () {
return axios({
url: urlPrefix + `/users/info`,
method: 'GET'
})
}
export function searchUser (params) {
return axios({
url: urlPrefix + `/users`,
method: 'GET',
params: params
})
}
export function addUser (params) {
return axios({
url: urlPrefix + '/users',
method: 'POST',
data: params
})
}
export function updateUserById (id, params) {
return axios({
url: urlPrefix + `/users/${id}`,
method: 'PUT',
data: params
})
}
export function deleteUserById (id) {
return axios({
url: urlPrefix + `/users/${id}`,
method: 'DELETE'
})
}

View File

@@ -0,0 +1,30 @@
import { axios } from '@/utils/request'
export function getFirstCIs (ciId) {
return axios({
url: '/v0.1/ci_relations/' + ciId + '/first_cis',
method: 'GET'
})
}
export function getSecondCIs (ciId) {
return axios({
url: '/v0.1/ci_relations/' + ciId + '/second_cis',
method: 'GET'
})
}
export function searchCIRelation (params) {
return axios({
url: `/v0.1/ci_relations/s?${params}`,
method: 'GET'
})
}
export function statisticsCIRelation (params) {
return axios({
url: '/v0.1/ci_relations/statistics',
method: 'GET',
params: params
})
}

View File

@@ -0,0 +1,123 @@
import { axios } from '@/utils/request'
/**
* 获取 所有的 ci_types
* @param parameter
* @returns {AxiosPromise}
*/
export function getCITypes (parameter) {
return axios({
url: '/v0.1/ci_types',
method: 'GET',
params: parameter
})
}
/**
* 获取 某个 ci_types
* @param CITypeName
* @param parameter
* @returns {AxiosPromise}
*/
export function getCIType (CITypeName, parameter) {
return axios({
url: `/v0.1/ci_types/${CITypeName}`,
method: 'GET',
params: parameter
})
}
/**
* 创建 ci_type
* @param data
* @returns {AxiosPromise}
*/
export function createCIType (data) {
return axios({
url: '/v0.1/ci_types',
method: 'POST',
data: data
})
}
/**
* 更新 ci_type
* @param CITypeId
* @param data
* @returns {AxiosPromise}
*/
export function updateCIType (CITypeId, data) {
return axios({
url: `/v0.1/ci_types/${CITypeId}`,
method: 'PUT',
data: data
})
}
/**
* 删除 ci_type
* @param CITypeId
* @returns {AxiosPromise}
*/
export function deleteCIType (CITypeId) {
return axios({
url: `/v0.1/ci_types/${CITypeId}`,
method: 'DELETE'
})
}
/**
* 获取 某个 ci_type 的分组
* @param CITypeId
* @param data
* @returns {AxiosPromise}
*/
export function getCITypeGroupById (CITypeId, data) {
return axios({
url: `/v0.1/ci_types/${CITypeId}/attribute_groups`,
method: 'GET',
params: data
})
}
/**
* 保存 某个 ci_type 的分组
* @param CITypeId
* @param data
* @returns {AxiosPromise}
*/
export function createCITypeGroupById (CITypeId, data) {
return axios({
url: `/v0.1/ci_types/${CITypeId}/attribute_groups`,
method: 'POST',
data: data
})
}
/**
* 修改 某个 ci_type 的分组
* @param groupId
* @param data
* @returns {AxiosPromise}
*/
export function updateCITypeGroupById (groupId, data) {
return axios({
url: `/v0.1/ci_types/attribute_groups/${groupId}`,
method: 'PUT',
data: data
})
}
/**
* 删除 某个 ci_type 的分组
* @param groupId
* @param data
* @returns {AxiosPromise}
*/
export function deleteCITypeGroupById (groupId, data) {
return axios({
url: `/v0.1/ci_types/attribute_groups/${groupId}`,
method: 'delete',
data: data
})
}

View File

@@ -0,0 +1,124 @@
import { axios } from '@/utils/request'
/**
* 获取 ci_type 的属性
* @param CITypeName
* @param parameter
* @returns {AxiosPromise}
*/
export function getCITypeAttributesByName (CITypeName, parameter) {
return axios({
url: `/v0.1/ci_types/${CITypeName}/attributes`,
method: 'get',
params: parameter
})
}
/**
* 获取 ci_type 的属性
* @param CITypeId
* @param parameter
* @returns {AxiosPromise}
*/
export function getCITypeAttributesById (CITypeId, parameter) {
return axios({
url: `/v0.1/ci_types/${CITypeId}/attributes`,
method: 'get',
params: parameter
})
}
/**
* 更新属性
* @param attrId
* @param data
* @returns {AxiosPromise}
*/
export function updateAttributeById (attrId, data) {
return axios({
url: `/v0.1/attributes/${attrId}`,
method: 'put',
data: data
})
}
/**
* 添加属性
* @param data
* @returns {AxiosPromise}
*/
export function createAttribute (data) {
return axios({
url: `/v0.1/attributes`,
method: 'post',
data: data
})
}
/**
* 搜索属性/ 获取所有的属性
* @param data
* @returns {AxiosPromise}
*/
export function searchAttributes (params) {
return axios({
url: `/v0.1/attributes/s`,
method: 'get',
params: params
})
}
/**
* 删除属性
* @param attrId
* @returns {AxiosPromise}
*/
export function deleteAttributesById (attrId) {
return axios({
url: `/v0.1/attributes/${attrId}`,
method: 'delete'
})
}
/**
* 绑定ci_type 属性
* @param CITypeId
* @param data
* @returns {AxiosPromise}
*/
export function createCITypeAttributes (CITypeId, data) {
return axios({
url: `/v0.1/ci_types/${CITypeId}/attributes`,
method: 'post',
data: data
})
}
/**
* 更新ci_type 属性
* @param CITypeId
* @param data
* @returns {AxiosPromise}
*/
export function updateCITypeAttributesById (CITypeId, data) {
return axios({
url: `/v0.1/ci_types/${CITypeId}/attributes`,
method: 'put',
data: data
})
}
/**
* 删除ci_type 属性
* @param CITypeId
* @param data
* @returns {AxiosPromise}
*/
export function deleteCITypeAttributesById (CITypeId, data) {
return axios({
url: `/v0.1/ci_types/${CITypeId}/attributes`,
method: 'delete',
data: data
})
}

View File

@@ -0,0 +1,39 @@
import { axios } from '@/utils/request'
export function getCITypeChildren (CITypeID, parameter) {
return axios({
url: '/v0.1/ci_type_relations/' + CITypeID + '/children',
method: 'GET',
params: parameter
})
}
export function getCITypeParent (CITypeID) {
return axios({
url: '/v0.1/ci_type_relations/' + CITypeID + '/parents',
method: 'GET'
})
}
export function getCITypeRelations () {
return axios({
url: '/v0.1/ci_type_relations',
method: 'GET'
})
}
export function createRelation (parentId, childrenId, relationTypeId) {
return axios({
url: `/v0.1/ci_type_relations/${parentId}/${childrenId}`,
method: 'POST',
data: { relation_type_id: relationTypeId }
})
}
export function deleteRelation (parentId, childrenId) {
return axios({
url: `/v0.1/ci_type_relations/${parentId}/${childrenId}`,
method: 'DELETE'
})
}

View File

@@ -0,0 +1,67 @@
import XLSX from 'xlsx'
import { axios } from '@/utils/request'
export function processFile (fileObj) {
const promise = new Promise(function (resolve) {
const reader = new FileReader()
reader.readAsBinaryString(fileObj)
reader.onload = function (e) {
const data = e.target.result
const workbook = XLSX.read(data, { type: 'binary' })
const sheet = workbook.Sheets[workbook.SheetNames[0]]
const lt = XLSX.utils.sheet_to_json(sheet, { header: 1 })
resolve(lt)
}
})
return promise
}
export function uploadData (ciId, data) {
data.ci_type = ciId
return axios({
url: '/v0.1/ci',
method: 'PUT',
data: data
})
}
export function writeCsv (columns) {
const { Parser } = require('json2csv')
const fields = columns
const opts = { fields }
const p = new Parser(opts)
return p.parse([])
}
export function writeExcel (columns, name) {
const worksheet = XLSX.utils.aoa_to_sheet([columns])
const newWorkBoot = XLSX.utils.book_new()
XLSX.utils.book_append_sheet(newWorkBoot, worksheet, name)
const s = XLSX.write(newWorkBoot, { type: 'array' })
console.log(s)
return s
}
// 判断一个数组元素是否都为空的
export function any (ArrayList) {
let flag = false
for (let i = 0; i < ArrayList.length; i++) {
if (ArrayList[i]) {
flag = true
return flag
}
}
return false
}
// 去除一个二维数组 底下为空的部分
export function filterNull (twoDimArray) {
console.log(twoDimArray)
const newArray = []
for (let i = 0; i < twoDimArray.length; i++) {
if (any(twoDimArray[i])) {
newArray.push(twoDimArray[i])
}
}
return newArray
}

View File

@@ -0,0 +1,41 @@
import { axios } from '@/utils/request'
const urlPrefix = '/v0.1'
export function searchCI (params) {
return axios({
url: urlPrefix + `/ci/s?${params}`,
method: 'GET'
})
}
export function addCI (params) {
return axios({
url: urlPrefix + '/ci',
method: 'POST',
data: params
})
}
export function updateCI (id, params) {
return axios({
url: urlPrefix + `/ci/${id}`,
method: 'PUT',
data: params
})
}
export function deleteCI (ciId) {
return axios({
url: urlPrefix + `/ci/${ciId}`,
method: 'DELETE'
})
}
// 获取单个ci实例
export function getCIById (ciId) {
return axios({
url: urlPrefix + `/ci/${ciId}`,
method: 'GET'
})
}

View File

@@ -0,0 +1,8 @@
import { axios } from '@/utils/request'
export function getCIHistory (ciId) {
return axios({
url: `/v0.1/history/ci/${ciId}`,
method: 'GET'
})
}

View File

@@ -0,0 +1,64 @@
import { axios } from '@/utils/request'
export function getPreference (instance = true, tree = null) {
return axios({
url: '/v0.1/preference/ci_types',
method: 'GET',
params: { instance: instance, tree: tree }
})
}
export function getSubscribeAttributes (ciTypeId) {
return axios({
url: `/v0.1/preference/ci_types/${ciTypeId}/attributes`,
method: 'GET'
})
}
export function getSubscribeTreeView () {
return axios({
url: '/v0.1/preference/tree/view',
method: 'GET'
})
}
export function subscribeCIType (ciTypeId, attrs) {
return axios({
url: `/v0.1/preference/ci_types/${ciTypeId}/attributes`,
method: 'POST',
data: {
attr: attrs
}
})
}
export function subscribeTreeView (ciTypeId, levels) {
return axios({
url: `/v0.1/preference/tree/view`,
method: 'POST',
data: { type_id: ciTypeId, levels: levels }
})
}
export function getRelationView () {
return axios({
url: `/v0.1/preference/relation/view`,
method: 'GET'
})
}
export function deleteRelationView (viewName) {
return axios({
url: `/v0.1/preference/relation/view`,
method: 'DELETE',
data: { name: viewName }
})
}
export function subscribeRelationView (payload) {
return axios({
url: `/v0.1/preference/relation/view`,
method: 'POST',
data: payload
})
}

View File

@@ -0,0 +1,31 @@
import { axios } from '@/utils/request'
export function getRelationTypes () {
return axios({
url: '/v0.1/relation_types',
method: 'GET'
})
}
export function addRelationType (payload) {
return axios({
url: `/v0.1/relation_types`,
method: 'POST',
data: payload
})
}
export function updateRelationType (rtId, payload) {
return axios({
url: `/v0.1/relation_types/${rtId}`,
method: 'PUT',
data: payload
})
}
export function deleteRelationType (rtId) {
return axios({
url: `/v0.1/relation_types/${rtId}`,
method: 'DELETE'
})
}

14
cmdb-ui/src/api/index.js Normal file
View File

@@ -0,0 +1,14 @@
import config from '@/config/defaultSettings'
const api = {
Login: config.useSSO ? '/api/sso/login' : '/login',
Logout: config.useSSO ? '/api/sso/logout' : '/logout',
ForgePassword: '/auth/forge-password',
Register: '/auth/register',
twoStepCode: '/auth/2step-code',
SendSms: '/account/sms',
SendSmsErr: '/account/sms_err',
// get my info
UserInfo: '/v1/acl/users/info'
}
export default api

66
cmdb-ui/src/api/login.js Normal file
View File

@@ -0,0 +1,66 @@
import api from './index'
import { axios } from '@/utils/request'
import config from '@/config/defaultSettings'
/**
* login func
* parameter: {
* username: '',
* password: '',
* remember_me: true,
* captcha: '12345'
* }
* @param parameter
* @returns {*}
*/
export function login (parameter) {
return axios({
url: api.Login,
method: 'post',
data: parameter
})
}
export function getSmsCaptcha (parameter) {
return axios({
url: api.SendSms,
method: 'post',
data: parameter
})
}
export function getInfo () {
return axios({
url: api.UserInfo,
method: 'get',
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})
}
export function logout () {
console.log('logout........')
if (config.useSSO) {
window.location.replace(api.Logout)
} else {
return axios({
url: api.Logout,
method: 'post',
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})
}
}
/**
* get user 2step code open?
* @param parameter {*}
*/
export function get2step (parameter) {
return axios({
url: api.twoStepCode,
method: 'post',
data: parameter
})
}

62
cmdb-ui/src/api/manage.js Normal file
View File

@@ -0,0 +1,62 @@
import { axios } from '@/utils/request'
const api = {
user: '/user',
role: '/role',
service: '/service',
permission: '/permission',
permissionNoPager: '/permission/no-pager',
orgTree: '/org/tree'
}
export default api
export function getUserList (parameter) {
return axios({
url: api.user,
method: 'get',
params: parameter
})
}
export function getRoleList (parameter) {
return axios({
url: api.role,
method: 'get',
params: parameter
})
}
export function getServiceList (parameter) {
return axios({
url: api.service,
method: 'get',
params: parameter
})
}
export function getPermissions (parameter) {
return axios({
url: api.permissionNoPager,
method: 'get',
params: parameter
})
}
export function getOrgTree (parameter) {
return axios({
url: api.orgTree,
method: 'get',
params: parameter
})
}
// id == 0 add post
// id != 0 update put
export function saveService (parameter) {
return axios({
url: api.service,
method: parameter.id === 0 ? 'post' : 'put',
data: parameter
})
}