@@ -2,43 +2,44 @@ import { Item } from 'qiita-js-2';
22import { window } from 'vscode' ;
33import * as nls from 'vscode-nls' ;
44import { client } from '../client' ;
5+ import { handleErrorMessage } from '../utils/errorHandler' ;
56
67const localize = nls . loadMessageBundle ( ) ;
78
8- const messages = {
9- next : localize ( 'commads.qiita.deleteItem.confirm.continue' , '削除する' ) ,
10- cancel : localize ( 'commads.qiita.deleteItem.confirm.cancel' , 'キャンセル' ) ,
11- confirmation : localize ( 'commads.qiita.deleteItem.confirm' , '投稿を削除してもよろしいですか?' ) ,
12- success : localize ( 'commads.qiita.deleteItem.success' , '投稿を削除しました' ) ,
13- } ;
14-
159/**
1610 * コマンド `qiita.deleteItem` のハンドラーで、Qiitaの投稿を削除します。
1711 * @param arg Commandで渡される引数。qiitaItemsビューから発行されるので `item` キーに投稿が入っています。
1812 */
1913export async function deleteItem ( arg : object & { item : Item } ) {
20- const result = await window . showInformationMessage ( messages . confirmation , messages . next , messages . cancel ) ;
14+ const next = localize (
15+ 'commands.qiita.deleteItem.confirm.next' ,
16+ '削除する' ,
17+ ) ;
18+
19+ const result = await window . showInformationMessage (
20+ localize (
21+ 'commands.qiita.deleteItem.confirm.title' ,
22+ '投稿を削除してもよろしいですか?' ,
23+ ) ,
24+ next ,
25+ localize (
26+ 'commands.qiita.deleteItem.confirm.cancel' ,
27+ 'キャンセル' ,
28+ ) ,
29+ ) ;
2130
22- if ( result !== messages . next ) {
31+ if ( result !== next ) {
2332 return ;
2433 }
2534
2635 try {
2736 await client . deleteItem ( arg . item . id ) ;
28- return window . showInformationMessage ( messages . success ) ;
37+
38+ return window . showInformationMessage ( localize (
39+ 'commands.qiita.deleteItem.success' ,
40+ '投稿を削除しました' ,
41+ ) ) ;
2942 } catch ( error ) {
30- switch ( error . name ) {
31- case 'QiitaUnauthorizedError' :
32- case 'QiitaForbiddenError' :
33- return window . showErrorMessage ( '削除に失敗しました。投稿の所有権を確認してもう一度お試しください。' ) ;
34- case 'QiitaNotFoundError' :
35- return window . showErrorMessage ( '削除に失敗しました。この投稿は既に削除されている可能性があります。' ) ;
36- case 'QiitaRateLimitError' :
37- return window . showErrorMessage ( 'APIのレートリミットに到達しました。時間をおいてもう一度お試しください。' ) ;
38- case 'QiitaInternalServerError' :
39- return window . showErrorMessage ( '削除に失敗しました。Qiitaのサーバーがダウンしている可能性があります。' ) ;
40- default :
41- return window . showErrorMessage ( 'ご迷惑をお掛けしてしまい申し訳ございませんが、エラーが発生しました。 バグの可能性がある場合は開発者にご報告いただけると幸いです。\nhttps://github.com/neet/vscode-qiita/issues' ) ;
42- }
43+ return handleErrorMessage ( error ) ;
4344 }
4445}
0 commit comments