[MediaWiki-commits] [Gerrit] marvin[master]: Update: add revision support to wiki endpoint
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
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