2022-02-11 08:06:49 +13:00
|
|
|
const { getGlobalDB } = require("@budibase/backend-core/tenancy")
|
|
|
|
const { generateDevInfoID } = require("@budibase/backend-core/db")
|
|
|
|
const { newid } = require("@budibase/backend-core/utils")
|
|
|
|
|
|
|
|
function cleanupDevInfo(info) {
|
|
|
|
// user doesn't need to aware of dev doc info
|
|
|
|
delete info._id
|
|
|
|
delete info._rev
|
|
|
|
return info
|
|
|
|
}
|
|
|
|
|
2022-02-11 07:34:55 +13:00
|
|
|
exports.generateAPIKey = async ctx => {
|
2022-02-11 08:06:49 +13:00
|
|
|
const db = getGlobalDB()
|
|
|
|
const id = generateDevInfoID(ctx.user._id)
|
|
|
|
let devInfo
|
|
|
|
try {
|
|
|
|
devInfo = await db.get(id)
|
|
|
|
} catch (err) {
|
|
|
|
devInfo = { _id: id }
|
2022-02-11 07:34:55 +13:00
|
|
|
}
|
2022-02-11 08:06:49 +13:00
|
|
|
devInfo.apiKey = newid()
|
|
|
|
await db.put(devInfo)
|
|
|
|
ctx.body = cleanupDevInfo(devInfo)
|
2022-02-11 07:34:55 +13:00
|
|
|
}
|
|
|
|
|
|
|
|
exports.fetchAPIKey = async ctx => {
|
2022-02-11 08:06:49 +13:00
|
|
|
const db = getGlobalDB()
|
|
|
|
const id = generateDevInfoID(ctx.user._id)
|
|
|
|
let devInfo
|
|
|
|
try {
|
|
|
|
devInfo = await db.get(id)
|
|
|
|
} catch (err) {
|
|
|
|
devInfo = {
|
|
|
|
_id: id,
|
|
|
|
apiKey: newid(),
|
|
|
|
}
|
|
|
|
await db.put(devInfo)
|
2022-02-11 07:34:55 +13:00
|
|
|
}
|
2022-02-11 08:06:49 +13:00
|
|
|
ctx.body = cleanupDevInfo(devInfo)
|
2022-02-11 07:34:55 +13:00
|
|
|
}
|