Skip to content

Commit ffadb14

Browse files
committed
app: Fetch crate downloads with versions
1 parent 7f4e033 commit ffadb14

File tree

2 files changed

+9
-11
lines changed

2 files changed

+9
-11
lines changed

app/adapters/crate.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,15 @@ export default class CrateAdapter extends ApplicationAdapter {
99
return super.findRecord(store, type, id, setDefaultInclude(snapshot));
1010
}
1111

12+
findHasMany(store, snapshot, url, relationship) {
13+
if (relationship.key === 'version_downloads') {
14+
// This ensures that related versions are included so we don't have to wait for versions
15+
// request to finish for `belongsTo` relationships.
16+
url += '?include=versions';
17+
}
18+
return super.findHasMany(store, snapshot, url, relationship);
19+
}
20+
1221
queryRecord(store, type, query, adapterOptions) {
1322
return super.queryRecord(store, type, setDefaultInclude(query), adapterOptions);
1423
}

app/routes/crate/version.js

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,17 +15,6 @@ export default class VersionRoute extends Route {
1515
async model(params, transition) {
1616
let crate = this.modelFor('crate');
1717

18-
// TODO: Resolved version without waiting for versions to be resolved
19-
// The main blocker for this right now is that we have a "belongsTo" relationship between
20-
// `version-download` and `version` in sync mode. This requires us to wait for `versions` to
21-
// exist before `version-download` can be created.
22-
try {
23-
await crate.loadVersionsTask.perform();
24-
} catch (error) {
25-
let title = `${crate.name}: Failed to load version data`;
26-
return this.router.replaceWith('catch-all', { transition, error, title, tryAgain: true });
27-
}
28-
2918
let version;
3019
let requestedVersion = params.version_num;
3120
let num = requestedVersion || crate.default_version;

0 commit comments

Comments
 (0)