51
51
// masih ingatkan bahwa fungsi handler pada Hapi memiliki 2 parameter.
52
52
// jangan lupa menambahkan parameter tsb setiap kali membuat fungsi handler
53
53
// lalu kita eksport fungsi handler ini , kita gunakan objek literas dg tujuan utk memudahkan eksport lebih dari 1 nilai pada
54
- // berkas JS
54
+ // berkas JS
55
+ /**
56
+ * const addNoteHandler = (request, h) => {
57
+ *
58
+ * };
59
+ * module.exports = {addNoteHandler};
60
+ */
61
+
62
+ // selanjutnya adalah tuliskan logika utk simpan catatan dari client ke dalam array notes
63
+ // client kirim data catatan (title, tags, body) dan disimpan dalam bentuk JSON lewat body request
64
+ // kita perlu mendapatkan body request dari Hapi menggunakan properti request.payload utk mengambil data
65
+ /**
66
+ * const addNoteHandler = (request, h)=>{
67
+ * const {title, tags, body} = request.payload;
68
+ * } ;
69
+ */
70
+
71
+ // selain itu, objek notes yang perlu kita simpan harus memiliki struktur seperti ini
72
+ /**
73
+ * {
74
+ * id: string,
75
+ * title: string,
76
+ *
77
+ * createdAt : string,
78
+ * updatedAt: string,
79
+ * tags: array of string,
80
+ * body: string,
81
+ * },
82
+ */
83
+ // kita hanya mendapatkan nilai title, tags, body dari client, itu berarti sisanya kita perlu olah sendiri
84
+ // mari kita pikirkan dari properti id terlebih dulu
85
+ // kriteria menyebutkan, properti id merupakan string dan unik, sehingga perlu menggunakan bantuan library pihak ke-3
86
+ // nanoid merupakan library yg populer utk menangani hal ini. silahkan pasang library dng perintah
87
+ /**
88
+
89
+ */
90
+ // nb: gunakan versi 3.x.x karena versi terbaru tidak kompatibel dg format module CommonJS
91
+
92
+ //lalu, panggil metod nanoid() dan memberikan parameter number yang merpakan ukuran dr stringnya
93
+
94
+ /**
95
+ * const addNoteHandler = (request,h) => {
96
+ * const {title, tags, body} = request.payload;
97
+ * const id = nanoid(16);
98
+ * }
99
+ */
100
+ // jgn lupa import nanoid dar packagenya
101
+
102
+ /**
103
+ * const {nanoid} = require('nanoid');
104
+ * const addNoteHandler = (request, h)=>{
105
+ *
106
+ * const {title, tags, body} = request.payload;
107
+ *
108
+ * const id = nanoid(16);
109
+ * }
110
+ */
111
+
112
+ // sekarang kamu sudah memiliki nilai properti id
113
+
114
+ // selanjutnya adalah properti createdAt dan updatedAt,
115
+ // karena kasus sekarang adalah menambah catatan baru, maka nilai kedua properti tsb harusnya sama.
116
+ // jadi bisa secara mudah memberikan nilai new Date().toISOString();
117
+ /**
118
+ * const addNoteHandler = (request, h)=> {
119
+ * const {title,tags, body}= request.payload;
120
+ *
121
+ * const id = nanoid(16);
122
+ * const createdAt = new Date ().toISOString();
123
+ * const updatedAt = creadetAt;
124
+ * }
125
+ */
126
+
127
+ // kita sudah punya properti dari objek catatan secara lengkap
128
+ // sekarang saatnya kita masukkin nilai tsb ke dalam array ntes pake metod push()
129
+
0 commit comments