[MediaWiki-commits] [Gerrit] marvin[master]: Update: add revision support to wiki endpoint

2017-10-17 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged. ( 
https://gerrit.wikimedia.org/r/383406 )

Change subject: Update: add revision support to wiki endpoint
..


Update: add revision support to wiki endpoint

Change-Id: I3439048cc3094218f17edc107d1084aa484f841a
---
M src/common/pages/home.tsx
M src/common/pages/wiki.tsx
M src/common/routers/api.test.ts
M src/common/routers/api.ts
M src/common/routers/route.ts
5 files changed, 41 insertions(+), 11 deletions(-)

Approvals:
  Jhernandez: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/src/common/pages/home.tsx b/src/common/pages/home.tsx
index bb478eb..8e33bc6 100644
--- a/src/common/pages/home.tsx
+++ b/src/common/pages/home.tsx
@@ -45,6 +45,11 @@
 {
   title: "Carrot cake",
   text: "Encoding redirect"
+},
+{
+  title: "Ice_cream_cake",
+  revision: "24242119",
+  text: "An arbitrary revision"
 }
   ];
   return (
@@ -69,11 +74,21 @@
 
 Pages
 
-  {testPages.map(({ title, text }) => (
-
-  {text}
-
-  ))}
+  {testPages.map(
+({
+  title,
+  revision,
+  text
+}: {
+  title: string;
+  revision?: string;
+  text: string;
+}) => (
+  
+{text}
+  
+)
+  )}
 
 
 Summaries
diff --git a/src/common/pages/wiki.tsx b/src/common/pages/wiki.tsx
index 3de8e71..3b008c0 100644
--- a/src/common/pages/wiki.tsx
+++ b/src/common/pages/wiki.tsx
@@ -15,14 +15,19 @@
* an encoded PageTitlePath.
*/
   title: PageTitleID | PageTitlePath;
+
+  revision?: string;
 }
 
 export interface Props {
   page: PageModel;
 }
 
-export const getInitialProps = ({ title }: Params): Promise =>
-  requestPage({ titlePath: title }).then(page => ({ page }));
+export const getInitialProps = ({ title, revision }: Params): Promise =>
+  requestPage({
+titlePath: title,
+revision: (revision && parseInt(revision, 10)) || undefined
+  }).then(page => ({ page }));
 
 export const Component = ({ page }: Props): JSX.Element => (
   
diff --git a/src/common/routers/api.test.ts b/src/common/routers/api.test.ts
index 95d778c..a349fe7 100644
--- a/src/common/routers/api.test.ts
+++ b/src/common/routers/api.test.ts
@@ -15,7 +15,8 @@
 const expected: RouteParams = {};
 Object.keys((params as RouteParams) || {}).forEach(name => {
   const value = (params as RouteParams)[name];
-  expected[name] = encodeURIComponent(value);
+  expected[name] =
+value === undefined ? undefined : encodeURIComponent(value);
 });
 
 const path = route.toPath(params);
@@ -28,7 +29,16 @@
 [
   { name: "home", route: home, params: undefined },
   { name: "about", route: about, params: undefined },
-  { name: "wiki", route: wiki, params: { title: "title" } },
+  {
+name: "wiki (latest)",
+route: wiki,
+params: { title: "title", revision: undefined }
+  },
+  {
+name: "wiki (revision)",
+route: wiki,
+params: { title: "title", revision: "1" }
+  },
   { name: "summary", route: summary, params: { title: "title" } },
   { name: "styleGuide", route: styleGuide, params: undefined },
   { name: "notFound", route: notFound, params: { 0: "/404" } }
diff --git a/src/common/routers/api.ts b/src/common/routers/api.ts
index a420c31..0116c09 100644
--- a/src/common/routers/api.ts
+++ b/src/common/routers/api.ts
@@ -21,7 +21,7 @@
 });
 
 export const wiki: Route = newRoute({
-  path: "/wiki/:title",
+  path: "/wiki/:title/:revision?",
   importModule: () =>
 import(/* webpackChunkName: "pages/wiki" */ "../pages/wiki"),
   chunkName: "pages/wiki"
diff --git a/src/common/routers/route.ts b/src/common/routers/route.ts
index fce500f..eeebcd5 100644
--- a/src/common/routers/route.ts
+++ b/src/common/routers/route.ts
@@ -7,7 +7,7 @@
  * Route.url().
  */
 export interface RouteParams {
-  [name: string]: string;
+  [name: string]: string | undefined;
 }
 
 /**

-- 
To view, visit https://gerrit.wikimedia.org/r/383406
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I3439048cc3094218f17edc107d1084aa484f841a
Gerrit-PatchSet: 1
Gerrit-Project: marvin
Gerrit-Branch: master
Gerrit-Owner: Niedzielski 
Gerrit-Reviewer: Jhernandez 
Gerrit-Reviewer: Sniedzielski 
Gerrit-Reviewer: jenkins-bot <>

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] marvin[master]: Update: add revision support to wiki endpoint

2017-10-10 Thread Niedzielski (Code Review)
Niedzielski has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/383406 )

Change subject: Update: add revision support to wiki endpoint
..

Update: add revision support to wiki endpoint

Change-Id: I3439048cc3094218f17edc107d1084aa484f841a
---
M src/common/pages/home.tsx
M src/common/pages/wiki.tsx
M src/common/routers/api.test.ts
M src/common/routers/api.ts
M src/common/routers/route.ts
5 files changed, 41 insertions(+), 11 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/marvin refs/changes/06/383406/1

diff --git a/src/common/pages/home.tsx b/src/common/pages/home.tsx
index bb478eb..8e33bc6 100644
--- a/src/common/pages/home.tsx
+++ b/src/common/pages/home.tsx
@@ -45,6 +45,11 @@
 {
   title: "Carrot cake",
   text: "Encoding redirect"
+},
+{
+  title: "Ice_cream_cake",
+  revision: "24242119",
+  text: "An arbitrary revision"
 }
   ];
   return (
@@ -69,11 +74,21 @@
 
 Pages
 
-  {testPages.map(({ title, text }) => (
-
-  {text}
-
-  ))}
+  {testPages.map(
+({
+  title,
+  revision,
+  text
+}: {
+  title: string;
+  revision?: string;
+  text: string;
+}) => (
+  
+{text}
+  
+)
+  )}
 
 
 Summaries
diff --git a/src/common/pages/wiki.tsx b/src/common/pages/wiki.tsx
index 3de8e71..3b008c0 100644
--- a/src/common/pages/wiki.tsx
+++ b/src/common/pages/wiki.tsx
@@ -15,14 +15,19 @@
* an encoded PageTitlePath.
*/
   title: PageTitleID | PageTitlePath;
+
+  revision?: string;
 }
 
 export interface Props {
   page: PageModel;
 }
 
-export const getInitialProps = ({ title }: Params): Promise =>
-  requestPage({ titlePath: title }).then(page => ({ page }));
+export const getInitialProps = ({ title, revision }: Params): Promise =>
+  requestPage({
+titlePath: title,
+revision: (revision && parseInt(revision, 10)) || undefined
+  }).then(page => ({ page }));
 
 export const Component = ({ page }: Props): JSX.Element => (
   
diff --git a/src/common/routers/api.test.ts b/src/common/routers/api.test.ts
index 95d778c..a349fe7 100644
--- a/src/common/routers/api.test.ts
+++ b/src/common/routers/api.test.ts
@@ -15,7 +15,8 @@
 const expected: RouteParams = {};
 Object.keys((params as RouteParams) || {}).forEach(name => {
   const value = (params as RouteParams)[name];
-  expected[name] = encodeURIComponent(value);
+  expected[name] =
+value === undefined ? undefined : encodeURIComponent(value);
 });
 
 const path = route.toPath(params);
@@ -28,7 +29,16 @@
 [
   { name: "home", route: home, params: undefined },
   { name: "about", route: about, params: undefined },
-  { name: "wiki", route: wiki, params: { title: "title" } },
+  {
+name: "wiki (latest)",
+route: wiki,
+params: { title: "title", revision: undefined }
+  },
+  {
+name: "wiki (revision)",
+route: wiki,
+params: { title: "title", revision: "1" }
+  },
   { name: "summary", route: summary, params: { title: "title" } },
   { name: "styleGuide", route: styleGuide, params: undefined },
   { name: "notFound", route: notFound, params: { 0: "/404" } }
diff --git a/src/common/routers/api.ts b/src/common/routers/api.ts
index a420c31..0116c09 100644
--- a/src/common/routers/api.ts
+++ b/src/common/routers/api.ts
@@ -21,7 +21,7 @@
 });
 
 export const wiki: Route = newRoute({
-  path: "/wiki/:title",
+  path: "/wiki/:title/:revision?",
   importModule: () =>
 import(/* webpackChunkName: "pages/wiki" */ "../pages/wiki"),
   chunkName: "pages/wiki"
diff --git a/src/common/routers/route.ts b/src/common/routers/route.ts
index fce500f..eeebcd5 100644
--- a/src/common/routers/route.ts
+++ b/src/common/routers/route.ts
@@ -7,7 +7,7 @@
  * Route.url().
  */
 export interface RouteParams {
-  [name: string]: string;
+  [name: string]: string | undefined;
 }
 
 /**

-- 
To view, visit https://gerrit.wikimedia.org/r/383406
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I3439048cc3094218f17edc107d1084aa484f841a
Gerrit-PatchSet: 1
Gerrit-Project: marvin
Gerrit-Branch: master
Gerrit-Owner: Niedzielski 
Gerrit-Reviewer: Sniedzielski 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits