@@ -77,19 +77,37 @@ function get ({
7777 query,
7878 options
7979 } )
80- } ) . then ( response => {
81- if ( isRestIDQuery && response . results . length === 0 ) {
80+ } ) . then ( ( { metadata , results } ) => {
81+ if ( isRestIDQuery && results . length === 0 ) {
8282 let error = new Error ( 'Document not found' )
8383
8484 error . statusCode = 404
8585
8686 return Promise . reject ( error )
8787 }
8888
89- if ( this . settings . hooks && this . settings . hooks . afterGet ) {
89+ let formatter = rawOutput
90+ ? Promise . resolve ( results )
91+ : this . formatForOutput (
92+ results ,
93+ {
94+ client,
95+ composeOverride : options . compose ,
96+ language,
97+ urlFields : options . fields
98+ }
99+ )
100+
101+ return formatter . then ( results => {
102+ return { results, metadata}
103+ } )
104+ } ) . then ( response => {
105+ const { hooks} = this . settings
106+
107+ if ( hooks && hooks . afterGet ) {
90108 return new Promise ( ( resolve , reject ) => {
91109 async . reduce (
92- this . settings . hooks . afterGet ,
110+ hooks . afterGet ,
93111 response ,
94112 ( current , hookConfig , callback ) => {
95113 let hook = new Hook ( hookConfig , 'afterGet' )
@@ -113,22 +131,6 @@ function get ({
113131 }
114132
115133 return response
116- } ) . then ( ( { metadata, results} ) => {
117- let formatter = rawOutput
118- ? Promise . resolve ( results )
119- : this . formatForOutput (
120- results ,
121- {
122- client,
123- composeOverride : options . compose ,
124- language,
125- urlFields : options . fields
126- }
127- )
128-
129- return formatter . then ( results => {
130- return { results, metadata}
131- } )
132134 } )
133135}
134136
0 commit comments