O'Reilly logo

TypeScript Blueprints by Ivo Gabe de Wolff

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Adding CRUD operations

Most servers handle CRUD operations primarily. Our server must handle five different requests: list all notes of the current user, find a specific note, insert a new note, update a note, and remove a note.

First, we add a helper function that can be used on the server side and the client side. In lib/shared/note.ts, we add a function that returns the title of a note—the first line, if available, or "Untitled":

export function getTitle(content: string) { 
  const lineEnd = content.indexOf("\n"); 
  if (content === "" || lineEnd === 0) { 
    return "Untitled"; 
  } 
  if (lineEnd === -1) { 
    // Note contains one line 
    return content; 
  } 
  // Get first line 
  return content.substring(0, lineEnd); 
} 

We write the CRUD functions in lib/server/note.ts

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required