Skip to content

Commit f466b43

Browse files
committed
mirage/crates: Fix error handling for GET /api/v1/crates/:id/:version/downloads request handler
1 parent c63f0b2 commit f466b43

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

mirage/route-handlers/crates.js

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,9 +90,14 @@ export function register(server) {
9090

9191
server.get('/api/v1/crates/:crate_id/:version_num/downloads', function(schema, request) {
9292
let crateId = request.params.crate_id;
93+
let crate = schema.crates.find(crateId);
94+
if (!crate) return notFound();
95+
9396
let versionNum = request.params.version_num;
94-
let versionId = schema.versions.findBy({ crate: crateId, num: versionNum }).id;
95-
return schema.versionDownloads.where({ version: versionId });
97+
let version = schema.versions.findBy({ crate: crateId, num: versionNum });
98+
if (!version) return { errors: [{ detail: `crate \`${crateId}\` does not have a version \`${versionNum}\`` }] };
99+
100+
return schema.versionDownloads.where({ version: version.id });
96101
});
97102

98103
server.get('/api/v1/crates/:crate_id/owner_user', function(schema, request) {

0 commit comments

Comments
 (0)