11// @ts -check 
2+ //  <ImportConfiguration> 
23const  CosmosClient  =  require ( "@azure/cosmos" ) . CosmosClient ; 
34const  config  =  require ( "./config" ) ; 
45const  dbContext  =  require ( "./data/databaseContext" ) ; 
6+ //  </ImportConfiguration> 
57
8+ //  <DefineNewItem> 
69const  newItem  =  { 
710  id : "3" , 
811  category : "fun" , 
912  name : "Cosmos DB" , 
1013  description : "Complete Cosmos DB Node.js Quickstart ⚡" , 
1114  isComplete : false 
1215} ; 
16+ //  </DefineNewItem> 
1317
1418async  function  main ( )  { 
19+   
20+   // <CreateClientObjectDatabaseContainer> 
1521  const  {  endpoint,  key,  databaseId,  containerId }  =  config ; 
1622
1723  const  client  =  new  CosmosClient ( {  endpoint,  key } ) ; 
@@ -21,15 +27,19 @@ async function main() {
2127
2228  // Make sure Tasks database is already setup. If not, create it. 
2329  await  dbContext . create ( client ,  databaseId ,  containerId ) ; 
24- 
30+   // </CreateClientObjectDatabaseContainer> 
31+   
2532  try  { 
33+     // <QueryItems> 
2634    console . log ( `Querying container: Items` ) ; 
2735
2836    // query to return all items 
2937    const  querySpec  =  { 
3038      query : "SELECT * from c" 
3139    } ; 
32- 
40+     // </QueryItems> 
41+     
42+     // <GetItems> 
3343    // read all items in the Items container 
3444    const  {  resources : items  }  =  await  container . items 
3545      . query ( querySpec ) 
@@ -38,14 +48,18 @@ async function main() {
3848    items . forEach ( item  =>  { 
3949      console . log ( `${ item . id }   - ${ item . description }  ` ) ; 
4050    } ) ; 
51+     // </GetItems> 
4152
53+     // <CreateItem> 
4254    /** Create new item 
4355     * newItem is defined at the top of this file 
4456     */ 
4557    const  {  resource : createdItem  }  =  await  container . items . create ( newItem ) ; 
4658
4759    console . log ( `\r\nCreated new item: ${ createdItem . id }   - ${ createdItem . description }  \r\n` ) ; 
48- 
60+     // </CreateItem> 
61+     
62+     // <UpdateItem> 
4963    /** Update item 
5064     * Pull the id and partition key value from the newly created item. 
5165     * Update the isComplete field to true. 
@@ -60,13 +74,16 @@ async function main() {
6074
6175    console . log ( `Updated item: ${ updatedItem . id }   - ${ updatedItem . description }  ` ) ;  
6276    console . log ( `Updated isComplete to ${ updatedItem . isComplete }  \r\n` ) ; 
63- 
77+     // </UpdateItem> 
78+     
79+     // <DeleteItem>     
6480    /** 
6581     * Delete item 
6682     * Pass the id and partition key value to delete the item 
6783     */ 
6884    const  {  resource : result  }  =  await  container . item ( id ,  category ) . delete ( ) ; 
6985    console . log ( `Deleted item with id: ${ id }  ` ) ; 
86+     // </DeleteItem>   
7087
7188  }  catch  ( err )  { 
7289    console . log ( err . message ) ; 
0 commit comments