@@ -167,38 +167,53 @@ export function register(server) {
167167 return resp ;
168168 } ) ;
169169
170- server . get ( '/api/v1/crates/:name/:version_num /authors' , ( schema , request ) => {
170+ server . get ( '/api/v1/crates/:name/:version /authors' , ( schema , request ) => {
171171 let { name } = request . params ;
172172 let crate = schema . crates . findBy ( { name } ) ;
173173 if ( ! crate ) return notFound ( ) ;
174174
175- let num = request . params . version_num ;
175+ let num = request . params . version ;
176176 let version = schema . versions . findBy ( { crateId : crate . id , num } ) ;
177- if ( ! version ) return { errors : [ { detail : `crate \`${ crate . name } \` does not have a version \`${ num } \`` } ] } ;
177+ if ( ! version )
178+ return new Response (
179+ 404 ,
180+ { } ,
181+ { errors : [ { detail : `crate \`${ crate . name } \` does not have a version \`${ num } \`` } ] } ,
182+ ) ;
178183
179184 return { meta : { names : [ ] } , users : [ ] } ;
180185 } ) ;
181186
182- server . get ( '/api/v1/crates/:name/:version_num /dependencies' , ( schema , request ) => {
187+ server . get ( '/api/v1/crates/:name/:version /dependencies' , ( schema , request ) => {
183188 let { name } = request . params ;
184189 let crate = schema . crates . findBy ( { name } ) ;
185190 if ( ! crate ) return notFound ( ) ;
186191
187- let num = request . params . version_num ;
192+ let num = request . params . version ;
188193 let version = schema . versions . findBy ( { crateId : crate . id , num } ) ;
189- if ( ! version ) return { errors : [ { detail : `crate \`${ crate . name } \` does not have a version \`${ num } \`` } ] } ;
194+ if ( ! version )
195+ return new Response (
196+ 404 ,
197+ { } ,
198+ { errors : [ { detail : `crate \`${ crate . name } \` does not have a version \`${ num } \`` } ] } ,
199+ ) ;
190200
191201 return schema . dependencies . where ( { versionId : version . id } ) ;
192202 } ) ;
193203
194- server . get ( '/api/v1/crates/:name/:version_num /downloads' , function ( schema , request ) {
204+ server . get ( '/api/v1/crates/:name/:version /downloads' , function ( schema , request ) {
195205 let { name } = request . params ;
196206 let crate = schema . crates . findBy ( { name } ) ;
197207 if ( ! crate ) return notFound ( ) ;
198208
199- let versionNum = request . params . version_num ;
200- let version = schema . versions . findBy ( { crateId : crate . id , num : versionNum } ) ;
201- if ( ! version ) return { errors : [ { detail : `crate \`${ crate . name } \` does not have a version \`${ versionNum } \`` } ] } ;
209+ let num = request . params . version ;
210+ let version = schema . versions . findBy ( { crateId : crate . id , num } ) ;
211+ if ( ! version )
212+ return new Response (
213+ 404 ,
214+ { } ,
215+ { errors : [ { detail : `crate \`${ crate . name } \` does not have a version \`${ num } \`` } ] } ,
216+ ) ;
202217
203218 return schema . versionDownloads . where ( { versionId : version . id } ) ;
204219 } ) ;
@@ -339,19 +354,36 @@ export function register(server) {
339354 return { ok : true , msg : 'owners successfully removed' } ;
340355 } ) ;
341356
357+ server . get ( '/api/v1/crates/:name/:version' , function ( schema , request ) {
358+ let { name } = request . params ;
359+ let crate = schema . crates . findBy ( { name } ) ;
360+ if ( ! crate ) return notFound ( ) ;
361+
362+ let num = request . params . version ;
363+ let version = schema . versions . findBy ( { crateId : crate . id , num } ) ;
364+ if ( ! version ) {
365+ return new Response (
366+ 404 ,
367+ { } ,
368+ { errors : [ { detail : `crate \`${ crate . name } \` does not have a version \`${ num } \`` } ] } ,
369+ ) ;
370+ }
371+ return this . serialize ( version ) ;
372+ } ) ;
373+
342374 server . patch ( '/api/v1/crates/:name/:version' , function ( schema , request ) {
343375 let { user } = getSession ( schema ) ;
344376 if ( ! user ) {
345377 return new Response ( 403 , { } , { errors : [ { detail : 'must be logged in to perform that action' } ] } ) ;
346378 }
347379
348- const { name, version : versionNum } = request . params ;
380+ const { name, version : num } = request . params ;
349381 const crate = schema . crates . findBy ( { name } ) ;
350382 if ( ! crate ) {
351383 return notFound ( ) ;
352384 }
353385
354- const version = schema . versions . findBy ( { crateId : crate . id , num : versionNum } ) ;
386+ const version = schema . versions . findBy ( { crateId : crate . id , num } ) ;
355387 if ( ! version ) {
356388 return notFound ( ) ;
357389 }
@@ -371,13 +403,13 @@ export function register(server) {
371403 return new Response ( 403 , { } , { errors : [ { detail : 'must be logged in to perform that action' } ] } ) ;
372404 }
373405
374- const { name, version : versionNum } = request . params ;
406+ const { name, version : num } = request . params ;
375407 const crate = schema . crates . findBy ( { name } ) ;
376408 if ( ! crate ) {
377409 return notFound ( ) ;
378410 }
379411
380- const version = schema . versions . findBy ( { crateId : crate . id , num : versionNum } ) ;
412+ const version = schema . versions . findBy ( { crateId : crate . id , num } ) ;
381413 if ( ! version ) {
382414 return notFound ( ) ;
383415 }
@@ -393,13 +425,13 @@ export function register(server) {
393425 return new Response ( 403 , { } , { errors : [ { detail : 'must be logged in to perform that action' } ] } ) ;
394426 }
395427
396- const { name, version : versionNum } = request . params ;
428+ const { name, version : num } = request . params ;
397429 const crate = schema . crates . findBy ( { name } ) ;
398430 if ( ! crate ) {
399431 return notFound ( ) ;
400432 }
401433
402- const version = schema . versions . findBy ( { crateId : crate . id , num : versionNum } ) ;
434+ const version = schema . versions . findBy ( { crateId : crate . id , num } ) ;
403435 if ( ! version ) {
404436 return notFound ( ) ;
405437 }
@@ -410,13 +442,13 @@ export function register(server) {
410442 } ) ;
411443
412444 server . get ( '/api/v1/crates/:name/:version/readme' , ( schema , request ) => {
413- const { name, version : versionNum } = request . params ;
445+ const { name, version : num } = request . params ;
414446 const crate = schema . crates . findBy ( { name } ) ;
415447 if ( ! crate ) {
416448 return new Response ( 403 , { 'Content-Type' : 'text/html' } , '' ) ;
417449 }
418450
419- const version = schema . versions . findBy ( { crateId : crate . id , num : versionNum } ) ;
451+ const version = schema . versions . findBy ( { crateId : crate . id , num } ) ;
420452 if ( ! version || ! version . readme ) {
421453 return new Response ( 403 , { 'Content-Type' : 'text/html' } , '' ) ;
422454 }
0 commit comments