提交 311f0d50 authored 作者: vipcxj's avatar vipcxj

完善app相关接口文档

app部署相关接口增加status字段,表示部署状态
上级 d07c865e
...@@ -14,11 +14,12 @@ const { isNumber, isFinite, isString } = _; ...@@ -14,11 +14,12 @@ const { isNumber, isFinite, isString } = _;
/** /**
* @typedef {Object} DeploymentInfo 部署信息 * @typedef {Object} DeploymentInfo 部署信息
* @property {id} number * @property {number} id 部署id
* @property {string} versionNumber * @property {string} versionNumber 版本号
* @property {string} description * @property {string} description 描述,一般为更新说明
* @property {Date} updateTime * @property {Date} updateTime 部署发布时间
* @property {string} uri * @property {string} uri 资源内部uri,表示app安装包文件的内部定位地址
* @property {string} status 部署状态,可能值为release,development,broken。release表示公开版本,development表示内部测试版,broken表示有重大bug,短时间不能解决,需要回滚
*/ */
/** /**
...@@ -32,9 +33,9 @@ const { isNumber, isFinite, isString } = _; ...@@ -32,9 +33,9 @@ const { isNumber, isFinite, isString } = _;
/** /**
* *
* @param name 对app名字的筛选条件,支持模糊查询,为空时等价于查全部 * @param {!string} name 对app名字的筛选条件,支持模糊查询,为空时等价于查全部
* @param pst 分页的开始位置,-1代表不分页 * @param {?number} pst 分页的开始位置,-1代表不分页
* @param psz 分页的大小 * @param {?number} psz 分页的大小
* @returns {Promise.<RestResponse.<Array.<AppInfo>>>} 所有符合条件的app信息 * @returns {Promise.<RestResponse.<Array.<AppInfo>>>} 所有符合条件的app信息
*/ */
export const getAppInfoes = async (name, pst = -1, psz = -1) => { export const getAppInfoes = async (name, pst = -1, psz = -1) => {
...@@ -43,18 +44,18 @@ export const getAppInfoes = async (name, pst = -1, psz = -1) => { ...@@ -43,18 +44,18 @@ export const getAppInfoes = async (name, pst = -1, psz = -1) => {
/** /**
* 新增app * 新增app
* @param {string} name 名称 * @param {!string} name 名称
* @param {string} packageName * @param {?string} packageName
* @param {?string} description * @param {?string} description
* @returns {Promise.<RestResponse.<AppInfo>>} 新增的app信息 * @returns {Promise.<RestResponse.<AppInfo>>} 新增的app信息
*/ */
export const addApp = async (name, packageName, description = '') => { export const addApp = async (name, packageName, description) => {
return post(`${config.apiContextPath}/api/app/admin/apps/create`, { name, package: packageName, description }); return post(`${config.apiContextPath}/api/app/admin/apps/create`, { name, package: packageName, description });
}; };
/** /**
* 更新app信息,忽略undefined的字段 * 更新app信息,忽略undefined的字段
* @param idOrName app的id或名称,若为数字,则认为是id,字符串则认为是名称 * @param {!number|string} idOrName app的id或名称,若为数字,则认为是id,字符串则认为是名称
* @param {?string} newName 新的名称 * @param {?string} newName 新的名称
* @param {?string} packageName 包名 * @param {?string} packageName 包名
* @param {?string} description 描述 * @param {?string} description 描述
...@@ -72,7 +73,7 @@ export const editApp = async (idOrName, newName, packageName, description) => { ...@@ -72,7 +73,7 @@ export const editApp = async (idOrName, newName, packageName, description) => {
/** /**
* 删除app,所有部署包会一同删除 * 删除app,所有部署包会一同删除
* @param {number|string} idOrName app的id或名称,若为数字,则认为是id,字符串则认为是名称 * @param {!number|string} idOrName app的id或名称,若为数字,则认为是id,字符串则认为是名称
* @returns {Promise.<RestResponse.<null>>} * @returns {Promise.<RestResponse.<null>>}
*/ */
export const removeApp = async (idOrName) => { export const removeApp = async (idOrName) => {
...@@ -87,16 +88,17 @@ export const removeApp = async (idOrName) => { ...@@ -87,16 +88,17 @@ export const removeApp = async (idOrName) => {
/** /**
* 部署app,必须是一个新版本,若版本号低于或等于已部署的最高版本,则会部署失败 * 部署app,必须是一个新版本,若版本号低于或等于已部署的最高版本,则会部署失败
* @param {number|string} idOrName app的id或名称,若为数字,则认为是id,字符串则认为是名称 * @param {!number|string} idOrName app的id或名称,若为数字,则认为是id,字符串则认为是名称
* @param {string} uri apk上传后得到的内部uri * @param {!string} uri apk上传后得到的内部uri
* @param {?string} description 更新说明 * @param {?string} description 更新说明
* @param {?boolean} release 是否release版本,默认true
* @returns {Promise.<RestResponse.<DeploymentInfo>>} 部署信息 * @returns {Promise.<RestResponse.<DeploymentInfo>>} 部署信息
*/ */
export const deployApp = async (idOrName, uri, description = '') => { export const deployApp = async (idOrName, uri, description, release) => {
if (isNumber(idOrName) && !isFinite(idOrName)) { if (isNumber(idOrName) && !isFinite(idOrName)) {
return post(`${config.apiContextPath}/api/app/admin/apps/deploy`, { id: idOrName, uri, description }); return post(`${config.apiContextPath}/api/app/admin/apps/deploy`, { id: idOrName, uri, description, release });
} else if (isString(idOrName)) { } else if (isString(idOrName)) {
return post(`${config.apiContextPath}/api/app/admin/apps/deploy`, { name: idOrName, uri, description }); return post(`${config.apiContextPath}/api/app/admin/apps/deploy`, { name: idOrName, uri, description, release });
} else { } else {
throw new Error(`Invalid id or name: ${idOrName}`); throw new Error(`Invalid id or name: ${idOrName}`);
} }
...@@ -104,7 +106,7 @@ export const deployApp = async (idOrName, uri, description = '') => { ...@@ -104,7 +106,7 @@ export const deployApp = async (idOrName, uri, description = '') => {
/** /**
* 反部署app * 反部署app
* @param id 部署app后返回的部署信息中记录的部署id * @param {!number} id 部署app后返回的部署信息中记录的部署id
* @returns {Promise.<RestResponse.<null>>} * @returns {Promise.<RestResponse.<null>>}
*/ */
export const undeployApp = async (id) => { export const undeployApp = async (id) => {
...@@ -113,10 +115,11 @@ export const undeployApp = async (id) => { ...@@ -113,10 +115,11 @@ export const undeployApp = async (id) => {
/** /**
* 修改部署信息 * 修改部署信息
* @param id 部署app后返回的部署信息中记录的部署id * @param {!number} id 部署app后返回的部署信息中记录的部署id
* @param description 部署描述,即更新说明 * @param {?string} description 部署描述,即更新说明
* @param {?string} status 部署状态,可能值为release,development,broken。release表示公开版本,development表示内部测试版,broken表示有重大bug,短时间不能解决,需要回滚
* @returns {Promise.<RestResponse.<null>>} * @returns {Promise.<RestResponse.<null>>}
*/ */
export const editDeployment = async (id, description) => { export const editDeployment = async (id, description, status) => {
return post(`${config.apiContextPath}/api/app/admin/apps/deployments/edit`, { id, description }); return post(`${config.apiContextPath}/api/app/admin/apps/deployments/edit`, { id, description, status });
}; };
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论