@@ -84,11 +84,12 @@ function addTask (description, callback) {
8484 ]
8585 } , function ( err ) {
8686 if ( err ) {
87- callback ( err ) ;
88- return ;
87+ return callback ( err ) ;
8988 }
9089
91- callback ( null , taskKey ) ;
90+ var taskId = taskKey . path . pop ( ) ;
91+ console . log ( 'Task %d created successfully.' , taskId ) ;
92+ return callback ( null , taskKey ) ;
9293 } ) ;
9394}
9495// [END add_entity]
@@ -126,7 +127,8 @@ function markDone (taskId, callback) {
126127 }
127128
128129 // The transaction completed successfully.
129- callback ( ) ;
130+ console . log ( 'Task %d updated successfully.' , options . taskId ) ;
131+ return callback ( null ) ;
130132 } ) ;
131133 } ) ;
132134 } ) ;
@@ -138,7 +140,14 @@ function listTasks (callback) {
138140 var query = datastore . createQuery ( 'Task' )
139141 . order ( 'created' ) ;
140142
141- datastore . runQuery ( query , callback ) ;
143+ datastore . runQuery ( query , function ( err , tasks ) {
144+ if ( err ) {
145+ return callback ( err ) ;
146+ }
147+
148+ console . log ( 'Found %d task(s)!' , tasks . length ) ;
149+ return callback ( null , tasks ) ;
150+ } ) ;
142151}
143152// [END retrieve_entities]
144153
@@ -149,37 +158,24 @@ function deleteTask (taskId, callback) {
149158 taskId
150159 ] ) ;
151160
152- datastore . delete ( taskKey , callback ) ;
153- }
154- // [END delete_entity]
155-
156- // [START format_results]
157- function formatTasks ( tasks ) {
158- return tasks
159- . map ( function ( task ) {
160- var taskKey = task . key . path . pop ( ) ;
161- var status ;
162-
163- if ( task . data . done ) {
164- status = 'done' ;
165- } else {
166- status = 'created ' + new Date ( task . data . created ) ;
167- }
161+ datastore . delete ( taskKey , function ( err ) {
162+ if ( err ) {
163+ return callback ( err ) ;
164+ }
168165
169- return taskKey + ' : ' + task . data . description + ' (' + status + ')' ;
170- } )
171- . join ( '\n' ) ;
166+ return callback ( ) ;
167+ } ) ;
172168}
173- // [END format_results ]
169+ // [END delete_entity ]
174170
175171var cli = require ( 'yargs' ) ;
172+ var makeHandler = require ( '../utils' ) . makeHandler
176173
177174var program = module . exports = {
178175 addEntity : addTask ,
179176 updateEntity : markDone ,
180177 retrieveEntities : listTasks ,
181178 deleteEntity : deleteTask ,
182- formatTasks : formatTasks ,
183179 main : function ( args ) {
184180 // Run the command-line program
185181 cli . help ( ) . strict ( ) . parse ( args ) . argv ;
@@ -189,41 +185,16 @@ var program = module.exports = {
189185cli
190186 . demand ( 1 )
191187 . command ( 'new <description>' , 'Adds a task with a description <description>.' , { } , function ( options ) {
192- addTask ( options . description , function ( err , taskKey ) {
193- if ( err ) {
194- throw err ;
195- }
196-
197- var taskId = taskKey . path . pop ( ) ;
198- console . log ( 'Task %d created successfully.' , taskId ) ;
199- } ) ;
188+ addTask ( options . description , makeHandler ( ) ) ;
200189 } )
201190 . command ( 'done <taskId>' , 'Marks the specified task as done.' , { } , function ( options ) {
202- markDone ( options . taskId , function ( err ) {
203- if ( err ) {
204- throw err ;
205- }
206-
207- console . log ( 'Task %d updated successfully.' , options . taskId ) ;
208- } ) ;
191+ markDone ( options . taskId , makeHandler ( ) ) ;
209192 } )
210193 . command ( 'list' , 'Lists all tasks ordered by creation time.' , { } , function ( options ) {
211- listTasks ( function ( err , tasks ) {
212- if ( err ) {
213- throw err ;
214- }
215-
216- console . log ( formatTasks ( tasks ) ) ;
217- } ) ;
194+ listTasks ( makeHandler ( ) ) ;
218195 } )
219196 . command ( 'delete <taskId>' , 'Deletes a task.' , { } , function ( options ) {
220- deleteTask ( options . taskId , function ( err ) {
221- if ( err ) {
222- throw err ;
223- }
224-
225- console . log ( 'Task %d deleted successfully.' , options . taskId ) ;
226- } ) ;
197+ deleteTask ( options . taskId , makeHandler ( ) ) ;
227198 } )
228199 . example ( 'node $0 new "Buy milk"' , 'Adds a task with description "Buy milk".' )
229200 . example ( 'node $0 done 12345' , 'Marks task 12345 as Done.' )
0 commit comments