彻底重构-2
This commit is contained in:
@@ -1,16 +1,33 @@
|
||||
import { assignReservedCdk, findFirstAvailableCdkBySkuCode } from '../../repositories/cdk-repo.js'
|
||||
import { assignReservedCdk, findFirstAvailableCdkBySkuCode, releaseReservedCdk } from '../../repositories/cdk-repo.js'
|
||||
import { nowIso } from '../../utils/time.js'
|
||||
|
||||
export function reserveCdkForTask(skuCode, taskId) {
|
||||
export async function reserveCdkForTask({ skuCode, taskId, credentialType = 'tencent_code', roleKey = 'primary_code' }) {
|
||||
if (!skuCode) {
|
||||
return null
|
||||
}
|
||||
|
||||
const available = findFirstAvailableCdkBySkuCode(skuCode)
|
||||
const available = await findFirstAvailableCdkBySkuCode(skuCode, credentialType)
|
||||
|
||||
if (!available) {
|
||||
return null
|
||||
}
|
||||
|
||||
return assignReservedCdk(available.id, taskId, nowIso())
|
||||
return assignReservedCdk(available.id, taskId, nowIso(), roleKey)
|
||||
}
|
||||
|
||||
export async function releaseReservedCdks(cdkIds = [], updatedAt = nowIso()) {
|
||||
const released = []
|
||||
|
||||
for (const cdkId of cdkIds) {
|
||||
if (!cdkId) {
|
||||
continue
|
||||
}
|
||||
|
||||
const item = await releaseReservedCdk(cdkId, updatedAt)
|
||||
if (item) {
|
||||
released.push(item)
|
||||
}
|
||||
}
|
||||
|
||||
return released
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user