export async function handleDeleteDeployments()

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}`
      );
    }
  }
}