|
@@ -2,6 +2,8 @@ const API = require("../../lib/API")
|
|
|
const AccessControl = require("../../lib/AccessControl")
|
|
|
const { BaseStdResponse } = require("../../BaseStdResponse")
|
|
|
const db = require("../../plugin/DataBase/db")
|
|
|
+const axios = require('axios')
|
|
|
+const { core_url } = require('../../config.json')
|
|
|
|
|
|
// 添加仓库
|
|
|
class AddRepo extends API {
|
|
@@ -25,7 +27,7 @@ class AddRepo extends API {
|
|
|
...BaseStdResponse.MISSING_PARAMETER
|
|
|
})
|
|
|
|
|
|
- if (!this.checkUsername(username))
|
|
|
+ if (!this.checkName(name))
|
|
|
return res.json({
|
|
|
...BaseStdResponse.ERR,
|
|
|
msg: '仓库名称不合法!'
|
|
@@ -37,8 +39,17 @@ class AddRepo extends API {
|
|
|
...BaseStdResponse.ACCESS_DENIED
|
|
|
})
|
|
|
|
|
|
+ // 检查仓库是否重复
|
|
|
+ let sql = 'SELECT id FROM repos WHERE create_user = ? AND url = ?'
|
|
|
+ let r = await db.query(sql, [uuid, url])
|
|
|
+ if(r && r.length > 0)
|
|
|
+ return res.json({
|
|
|
+ ...BaseStdResponse.ERR,
|
|
|
+ msg: '用户已添加该仓库!'
|
|
|
+ })
|
|
|
+
|
|
|
const time = new Date().getTime()
|
|
|
- let sql = 'INSERT INTO repos (name, url, create_user, create_time) VALUES (?, ?, ?, ?)'
|
|
|
+ sql = 'INSERT INTO repos (name, url, create_user, create_time) VALUES (?, ?, ?, ?)'
|
|
|
|
|
|
let result = await db.query(sql, [name, url, uuid, time])
|
|
|
|
|
@@ -46,6 +57,10 @@ class AddRepo extends API {
|
|
|
res.json({
|
|
|
...BaseStdResponse.OK
|
|
|
})
|
|
|
+
|
|
|
+ // 发起克隆
|
|
|
+ const url = core_url + '/git/clone'
|
|
|
+ await axios.post(url, { uuid, repo_url: url })
|
|
|
} else {
|
|
|
res.json({ ...BaseStdResponse.ERR, endpoint: 7894378, msg: '添加仓库失败!' })
|
|
|
}
|