From 9a637e3d3bbfc42f14a3ca997e19732311837367 Mon Sep 17 00:00:00 2001 From: Seyi Adebajo Date: Mon, 26 Mar 2018 14:29:06 -0400 Subject: [PATCH] replaces dataset number id's to urn identifiers in url --- wherehows-web/app/routes/datasets/dataset.js | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/wherehows-web/app/routes/datasets/dataset.js b/wherehows-web/app/routes/datasets/dataset.js index 460cfc5962..eab16b422c 100644 --- a/wherehows-web/app/routes/datasets/dataset.js +++ b/wherehows-web/app/routes/datasets/dataset.js @@ -58,6 +58,21 @@ export default Route.extend({ throw new TypeError(`Could not parse identifier ${identifier}. Please ensure format is valid.`); }, + serialize({ uri }) { + // updates routes dataset_id param with dataset urn (urn property) + return { dataset_id: uri }; + }, + + afterModel(model, transition) { + const { dataset_id } = transition.params['datasets.dataset']; + + // Check is dataset_id is a number, and replace with urn + // urn's are the primary means of referencing a dataset + if (!isNaN(parseInt(dataset_id, 10)) && isFinite(dataset_id)) { + this.replaceWith('datasets.dataset', model); + } + }, + /** * resetting the urn query param when the hook is invoked * @param {Controller} controller