-
-
Notifications
You must be signed in to change notification settings - Fork 115
/
Copy pathdata-module.js
46 lines (42 loc) · 1.13 KB
/
data-module.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
/* eslint-disable prettier/prettier */
import { inject as service } from '@ember/service';
import Route from '@ember/routing/route';
export default class DataModuleRoute extends Route {
/** @type {import('@ember/routing/router-service').default} */
@service
router;
@service
legacyModuleMappings;
model(params) {
return {
moduleName: params.module.substr(0, params.module.lastIndexOf('.')),
mappings: this.legacyModuleMappings.buildMappings(
this.legacyModuleMappings.legacyMappings
),
};
}
redirect(model) {
let { moduleName, mappings } = model;
if (moduleName.indexOf('ember-data') === 0) {
moduleName = '@' + moduleName;
}
let mappingInfo = this.legacyModuleMappings.getNewModuleFromOld(
moduleName,
mappings
);
if (mappingInfo.module === '@ember-data') {
return this.router.transitionTo(
`project-version`,
'ember-data',
'release'
);
} else {
return this.router.transitionTo(
`project-version.modules.module`,
'ember-data',
'release',
mappingInfo.module
);
}
}
}