in src/commands/deployments/delete.ts [45:108]
export async function handleDeleteDeployments(argv: ArgumentsCamelCase) {
if (!checkDirectory()) {
return;
}
const projectConfig = getProjectConfig();
if (!projectConfig) return logger.notInProject();
const isSuccess = await checkIsLoginSuccess();
if (!isSuccess) return;
await validRoutine(projectConfig.name);
const server = await ApiService.getInstance();
let versions: string[] = argv.deploymentId as string[];
// const req: DeleteRoutineCodeVersionReq = {
// Name: projectConfig.name,
// CodeVersion: version
// };
// const res = await server.deleteRoutineCodeVersion(req);
// if (res?.Status === 'OK') {
// logger.success(
// `${t('deployments_delete_success').d('Delete success')}: ${version}`
// );
// } else {
// logger.error(
// `🙅 ${t('deployments_delete_failed').d('Delete failed')}: ${version}`
// );
// }
const isInteractive = argv.i;
if (isInteractive) {
const versionList = await getRoutineVersionList(projectConfig.name);
logger.log(
t('delete_deployments_table_title').d(
' Version ID Description'
)
);
const selectList: TableItem[] = versionList.map((item) => {
return {
label: item.CodeVersion + ' ' + Base64.decode(item.CodeDescription)
};
});
versions = (await displayMultiSelectTable(selectList, 1, 100)).map((item) =>
item.slice(0, item.indexOf(' '))
);
}
for (let i = 0; i < versions.length; i++) {
const version = versions[i];
const req: DeleteRoutineCodeVersionReq = {
Name: projectConfig.name,
CodeVersion: version
};
const res = await server.deleteRoutineCodeVersion(req);
if (res?.Status === 'OK') {
logger.success(
`${t('deployments_delete_success').d('Delete success')}: ${version}`
);
} else {
logger.error(
`🙅 ${t('deployments_delete_failed').d('Delete failed')}: ${version}`
);
}
}
}