diff --git a/src/middleware.ts b/src/middleware.ts index 6d2f87f6..85a0c84a 100644 --- a/src/middleware.ts +++ b/src/middleware.ts @@ -8,6 +8,7 @@ export async function middleware(req: NextRequest) { if ( req.nextUrl.pathname.startsWith('/_next') || req.nextUrl.pathname.includes('/api/') || + req.nextUrl.pathname.startsWith('/_/enonic') || PUBLIC_ASSET.test(req.nextUrl.pathname) ) { return @@ -29,4 +30,4 @@ export async function middleware(req: NextRequest) { } return NextResponse.next(); -} \ No newline at end of file +} diff --git a/src/pages/api/revalidate.ts b/src/pages/api/revalidate.ts index 3183c652..8be6c6f6 100644 --- a/src/pages/api/revalidate.ts +++ b/src/pages/api/revalidate.ts @@ -5,8 +5,7 @@ interface ResponseData { message: string } -export default async function handler(req: NextApiRequest, - res: NextApiResponse) { +export default async function handler(req: NextApiRequest, res: NextApiResponse) { const {token, path} = req.query; // Check for secret to confirm this is a valid request if (token !== process.env.ENONIC_API_TOKEN) { @@ -21,8 +20,16 @@ export default async function handler(req: NextApiRequest, console.info('Started revalidating everything...'); const projectId = req.headers[PROJECT_ID_HEADER] as string | undefined; const config = getLocaleProjectConfigById(projectId); - const paths = await fetchContentPathsForLocale('\${site}/', config!); - const promises = paths.map((item: ContentPathItem) => revalidatePath(res, item.params.contentPath)); + const paths = await fetchContentPathsForLocale('\${site}/', config); + const promises = paths.map((item: ContentPathItem) => { + const cp = item.params.contentPath; + if (cp[0] === "") { + cp[0] = config.locale; + } else { + cp.unshift(config.locale); + } + return revalidatePath(res, cp); + }); await Promise.all(promises); console.info(`Done revalidating everything`); } else {