Skip to content

Commit 2b11013

Browse files
author
Michal Nowak
committed
feat: update page model and integration to support redirects
1 parent b5c9ee9 commit 2b11013

8 files changed

Lines changed: 27 additions & 4 deletions

File tree

.changeset/all-islands-search.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@o2s/integrations.mocked-dxp': minor
3+
---
4+
5+
feat: added redirection for homepage dxp mock

.changeset/odd-stars-heal.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
'@o2s/api-harmonization': minor
3+
'@o2s/framework': minor
4+
'@o2s/frontend': minor
5+
---
6+
7+
feat: update page model and integration to support redirects

apps/api-harmonization/src/modules/page/page.mapper.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ export const mapPage = (
3131
},
3232
locales,
3333
theme: page.theme,
34+
redirect: page.redirect,
3435
},
3536
data: {
3637
alternativeUrls,

apps/api-harmonization/src/modules/page/page.model.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ export class Metadata {
6464
seo!: Models.SEO.Page;
6565
locales!: string[];
6666
theme?: string;
67+
redirect?: string;
6768
}
6869

6970
export class Breadcrumb {

apps/frontend/src/app/[locale]/[[...slug]]/page.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { Metadata } from 'next';
22
import { setRequestLocale } from 'next-intl/server';
33
import { headers } from 'next/headers';
4-
import { notFound } from 'next/navigation';
4+
import { notFound, redirect } from 'next/navigation';
55
import React from 'react';
66

77
import { GlobalProvider } from '@o2s/ui/providers/GlobalProvider';
@@ -96,6 +96,10 @@ export default async function Page({ params }: Props) {
9696
session?.accessToken,
9797
);
9898

99+
if (meta.redirect) {
100+
redirect(`/${locale}${meta.redirect}`);
101+
}
102+
99103
if (session?.user && session?.error === 'RefreshTokenError') {
100104
return await signIn();
101105
}

package-lock.json

Lines changed: 4 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/framework/src/modules/cms/models/page.model.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ export class Page {
2424
/** Role-based access control (e.g., ['ORG_USER', 'ORG_ADMIN']) */
2525
roles?: string[];
2626
theme?: string;
27+
redirect?: string;
2728
}
2829

2930
export abstract class Template {

packages/integrations/mocked-dxp/src/modules/cms/mappers/mocks/pages/home.page.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ export const PAGE_HOME_EN: CMS.Model.Page.Page = {
4141
},
4242
},
4343
hasOwnTitle: true,
44+
redirect: '/personal',
4445
template: {
4546
__typename: 'OneColumnTemplate',
4647
slots: {
@@ -92,6 +93,7 @@ export const PAGE_HOME_DE: CMS.Model.Page.Page = {
9293
},
9394
},
9495
hasOwnTitle: false,
96+
redirect: '/personlich',
9597
template: {
9698
__typename: 'OneColumnTemplate',
9799
slots: {
@@ -143,6 +145,7 @@ export const PAGE_HOME_PL: CMS.Model.Page.Page = {
143145
},
144146
},
145147
hasOwnTitle: false,
148+
redirect: '/indywidualny',
146149
template: {
147150
__typename: 'OneColumnTemplate',
148151
slots: {

0 commit comments

Comments
 (0)