{"version":3,"sources":["../src/cli/commands/projects/update.ts"],"sourcesContent":["import chalk from \"chalk\";\nimport ora from \"ora\";\nimport { ProjectsApiService } from \"@/client-sdk/services/projects/projects-api.service\";\nimport { checkApiKey } from \"../../utils/apiKey\";\nimport { failSpinner } from \"../../utils/spinnerError\";\n\nexport interface UpdateProjectOptions {\n  name?: string;\n  language?: string;\n  framework?: string;\n  piiRedactionLevel?: \"STRICT\" | \"ESSENTIAL\" | \"DISABLED\";\n  format?: string;\n}\n\nexport const updateProjectCommand = async (\n  id: string,\n  options: UpdateProjectOptions,\n): Promise<void> => {\n  checkApiKey();\n\n  const noFieldsProvided =\n    options.name === undefined &&\n    options.language === undefined &&\n    options.framework === undefined &&\n    options.piiRedactionLevel === undefined;\n\n  if (noFieldsProvided) {\n    console.error(\n      chalk.red(\n        \"Error: nothing to update. Provide at least one of --name, --language, --framework, --pii-redaction-level.\",\n      ),\n    );\n    process.exit(1);\n  }\n\n  const service = new ProjectsApiService();\n  const spinner = ora(`Updating project \"${id}\"...`).start();\n\n  try {\n    const updated = await service.update(id, {\n      name: options.name,\n      language: options.language,\n      framework: options.framework,\n      piiRedactionLevel: options.piiRedactionLevel,\n    });\n\n    spinner.succeed(`Updated project \"${chalk.cyan(updated.name)}\"`);\n\n    if (options.format === \"json\") {\n      console.log(JSON.stringify(updated, null, 2));\n      return;\n    }\n\n    console.log();\n    console.log(`${chalk.bold(\"ID:\")}              ${updated.id}`);\n    console.log(`${chalk.bold(\"Name:\")}            ${chalk.cyan(updated.name)}`);\n    console.log(`${chalk.bold(\"Slug:\")}            ${updated.slug}`);\n    console.log(`${chalk.bold(\"Language:\")}        ${updated.language}`);\n    console.log(`${chalk.bold(\"Framework:\")}       ${updated.framework}`);\n    console.log(`${chalk.bold(\"PII Redaction:\")}   ${updated.piiRedactionLevel}`);\n    console.log(`${chalk.bold(\"Updated:\")}         ${new Date(updated.updatedAt).toLocaleString()}`);\n    console.log();\n  } catch (error) {\n    failSpinner({ spinner, error, action: \"update project\" });\n    process.exit(1);\n  }\n};\n"],"mappings":";;;;;;;;;;;;;;;;AAAA,OAAO,WAAW;AAClB,OAAO,SAAS;AAaT,IAAM,uBAAuB,OAClC,IACA,YACkB;AAClB,cAAY;AAEZ,QAAM,mBACJ,QAAQ,SAAS,UACjB,QAAQ,aAAa,UACrB,QAAQ,cAAc,UACtB,QAAQ,sBAAsB;AAEhC,MAAI,kBAAkB;AACpB,YAAQ;AAAA,MACN,MAAM;AAAA,QACJ;AAAA,MACF;AAAA,IACF;AACA,YAAQ,KAAK,CAAC;AAAA,EAChB;AAEA,QAAM,UAAU,IAAI,mBAAmB;AACvC,QAAM,UAAU,IAAI,qBAAqB,EAAE,MAAM,EAAE,MAAM;AAEzD,MAAI;AACF,UAAM,UAAU,MAAM,QAAQ,OAAO,IAAI;AAAA,MACvC,MAAM,QAAQ;AAAA,MACd,UAAU,QAAQ;AAAA,MAClB,WAAW,QAAQ;AAAA,MACnB,mBAAmB,QAAQ;AAAA,IAC7B,CAAC;AAED,YAAQ,QAAQ,oBAAoB,MAAM,KAAK,QAAQ,IAAI,CAAC,GAAG;AAE/D,QAAI,QAAQ,WAAW,QAAQ;AAC7B,cAAQ,IAAI,KAAK,UAAU,SAAS,MAAM,CAAC,CAAC;AAC5C;AAAA,IACF;AAEA,YAAQ,IAAI;AACZ,YAAQ,IAAI,GAAG,MAAM,KAAK,KAAK,CAAC,iBAAiB,QAAQ,EAAE,EAAE;AAC7D,YAAQ,IAAI,GAAG,MAAM,KAAK,OAAO,CAAC,eAAe,MAAM,KAAK,QAAQ,IAAI,CAAC,EAAE;AAC3E,YAAQ,IAAI,GAAG,MAAM,KAAK,OAAO,CAAC,eAAe,QAAQ,IAAI,EAAE;AAC/D,YAAQ,IAAI,GAAG,MAAM,KAAK,WAAW,CAAC,WAAW,QAAQ,QAAQ,EAAE;AACnE,YAAQ,IAAI,GAAG,MAAM,KAAK,YAAY,CAAC,UAAU,QAAQ,SAAS,EAAE;AACpE,YAAQ,IAAI,GAAG,MAAM,KAAK,gBAAgB,CAAC,MAAM,QAAQ,iBAAiB,EAAE;AAC5E,YAAQ,IAAI,GAAG,MAAM,KAAK,UAAU,CAAC,YAAY,IAAI,KAAK,QAAQ,SAAS,EAAE,eAAe,CAAC,EAAE;AAC/F,YAAQ,IAAI;AAAA,EACd,SAAS,OAAO;AACd,gBAAY,EAAE,SAAS,OAAO,QAAQ,iBAAiB,CAAC;AACxD,YAAQ,KAAK,CAAC;AAAA,EAChB;AACF;","names":[]}