@@ -65,6 +65,8 @@ const bodyParse = (req) => new Promise((resolve, reject) => {
6565 req . on ( 'end' , ( ) => resolve ( body ? JSON . parse ( body ) : { } ) )
6666} )
6767
68+ const noIdErr = ( ) => JSON . stringify ( new Error ( 'no id passed' ) )
69+
6870// exports
6971module . exports = { register, start, logger, _find, _findAll, _create, _save}
7072
@@ -119,7 +121,11 @@ function handleRequest (req, res) {
119121function logger ( ) { return null }
120122
121123// helper: find resource
122- function _find ( ) { return null }
124+ function _find ( resource , id ) {
125+ let attrs = { id_array : [ id ] }
126+ let firstRecord = ( d ) => Promise . resolve ( d [ 0 ] )
127+ return callPgFunc ( `${ pgPrefix } ${ resource } _read` , attrs ) . then ( firstRecord )
128+ }
123129
124130// helper: find set of resources
125131function _findAll ( ) { return null }
@@ -152,7 +158,14 @@ function resourceCreate (req, res, name) {
152158
153159// resource method: read
154160function resourceRead ( req , res , name ) {
155- return res . end ( `{"data": null, "error": null}` )
161+ if ( ! req . id && req . id !== 0 ) {
162+ return res . end ( `{"data": null, "error": ${ noIdErr ( ) } }` )
163+ }
164+ _find ( name , req . id ) . then ( ( d ) => {
165+ return res . end ( `{"data": ${ JSON . stringify ( d ) } , "error": null}` )
166+ } ) . catch ( ( err ) => {
167+ return res . end ( `{"data": null, "error": ${ JSON . stringify ( err ) } }` )
168+ } )
156169}
157170
158171// resource method: update
0 commit comments