|
1 |
| -import { get, getAllPackages, post, uploadFile } from './api'; |
| 1 | +import { get, getAllPackages, post, uploadFile, doDelete } from './api'; |
2 | 2 | import { question, saveToLocal } from './utils';
|
3 | 3 | import { t } from './utils/i18n';
|
4 | 4 |
|
@@ -212,4 +212,47 @@ export const packageCommands = {
|
212 | 212 | const { appId } = await getSelectedApp(platform);
|
213 | 213 | await listPackage(appId);
|
214 | 214 | },
|
| 215 | + deletePackage: async ({ |
| 216 | + args, |
| 217 | + options, |
| 218 | + }: { |
| 219 | + args: string[]; |
| 220 | + options: { appId?: string }; |
| 221 | + }) => { |
| 222 | + let packageId = args[0]; |
| 223 | + let { appId } = options; |
| 224 | + |
| 225 | + if (!appId) { |
| 226 | + const platform = await getPlatform(); |
| 227 | + appId = (await getSelectedApp(platform)).appId as string; |
| 228 | + } |
| 229 | + |
| 230 | + // If no packageId provided as argument, let user choose from list |
| 231 | + if (!packageId) { |
| 232 | + const selectedPackage = await choosePackage(appId); |
| 233 | + packageId = selectedPackage.id; |
| 234 | + } |
| 235 | + |
| 236 | + // Confirm deletion |
| 237 | + // const confirmDelete = await question( |
| 238 | + // t('confirmDeletePackage', { packageId }), |
| 239 | + // ); |
| 240 | + |
| 241 | + // if ( |
| 242 | + // confirmDelete.toLowerCase() !== 'y' && |
| 243 | + // confirmDelete.toLowerCase() !== 'yes' |
| 244 | + // ) { |
| 245 | + // console.log(t('cancelled')); |
| 246 | + // return; |
| 247 | + // } |
| 248 | + |
| 249 | + try { |
| 250 | + await doDelete(`/app/${appId}/package/${packageId}`); |
| 251 | + console.log(t('deletePackageSuccess', { packageId })); |
| 252 | + } catch (error: any) { |
| 253 | + throw new Error( |
| 254 | + t('deletePackageError', { packageId, error: error.message }), |
| 255 | + ); |
| 256 | + } |
| 257 | + }, |
215 | 258 | };
|
0 commit comments