彻底重构-2

This commit is contained in:
yml
2026-04-09 10:17:50 +08:00
parent df2eb34478
commit 606ef875e2
4 changed files with 155 additions and 12 deletions
+21 -4
View File
@@ -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
}