Set up redirects from old URLs to new URLs
This commit is contained in:
parent
1ce08dbe40
commit
c2ffefe251
|
@ -3,4 +3,5 @@ import type { NonLocalized } from "../../internals/NonLocalizedT";
|
|||
export interface Redirect {
|
||||
prevSlug: NonLocalized<string>,
|
||||
newContent: NonLocalized<string[]>,
|
||||
newContentSchema: NonLocalized<{ schemaName: string }[]>,
|
||||
}
|
|
@ -87,27 +87,24 @@ else {
|
|||
const redirectDto = await getRedirectsByPreviousSlug(routeLookup!);
|
||||
console.log("redirectDto:", redirectDto);
|
||||
if (redirectDto && redirectDto.items && redirectDto.items.length > 0) {
|
||||
console.log("getting redirectReferencesDto for", SCHEMAS.REDIRECTS, redirectDto.items[0].id);
|
||||
console.log("getting redirectReferencesDto for", SCHEMAS.REDIRECTS, redirectDto.items[0].data?.newContentSchema[locale]);
|
||||
// let objectId = redirectDto.items[0].data.newContent[locale];
|
||||
//next line crashes:
|
||||
let redirectReferencesDto = await client.contents.getReferences({ schema: SCHEMAS.REDIRECTS, id: redirectDto.items[0].id });
|
||||
console.log("redirectReferencesDto:", redirectReferencesDto);
|
||||
// let redirectReferencesDto = await client.contents.getReferences({ schema: SCHEMAS.REDIRECTS, id: redirectDto.items[0].id });
|
||||
let schemaName = redirectDto.items[0].data?.newContentSchema[locale][0].schemaName;
|
||||
let whicheverDto = await client.contents.getContent({schema: schemaName, id: redirectDto.items[0].data?.newContent[locale][0]});
|
||||
// console.log("redirectReferencesDto:", redirectReferencesDto);
|
||||
// client.contents.getConten
|
||||
// switch (redirectDto.items[0].data?.referenceSchema.iv) {
|
||||
// case SCHEMAS.BRANDS:
|
||||
// return Astro.rewrite(`/view/brands/${locale}/${objectId}`);
|
||||
// case SCHEMAS.MARKETPLACES:
|
||||
// return Astro.rewrite(`/view/marketplaces/${locale}/${objectId}`);
|
||||
// case SCHEMAS.PAGES:
|
||||
// return Astro.rewrite(`/view/pages/${locale}/${objectId}`);
|
||||
// case SCHEMAS.PRODUCT_CATEGORIES:
|
||||
// return Astro.rewrite(`/view/product-categories/${locale}/${objectId}`);
|
||||
// case SCHEMAS.PRODUCTS:
|
||||
// return Astro.rewrite(`/view/products/${locale}/${objectId}`);
|
||||
// case SCHEMAS.SELLERS:
|
||||
// return Astro.rewrite(`/view/sellers/${locale}/${objectId}`);
|
||||
// }
|
||||
// Astro.response.headers.set('Vary', 'Accept-Language');
|
||||
// return Astro.redirect(,303)
|
||||
switch (schemaName) {
|
||||
case SCHEMAS.BRANDS:
|
||||
case SCHEMAS.MARKETPLACES:
|
||||
case SCHEMAS.PAGES:
|
||||
case SCHEMAS.PRODUCT_CATEGORIES:
|
||||
case SCHEMAS.PRODUCTS:
|
||||
case SCHEMAS.SELLERS:
|
||||
Astro.response.headers.set('Vary', 'Accept-Language');
|
||||
return Astro.redirect(`/${whicheverDto.data.slug[locale]}`, 303);
|
||||
}
|
||||
}
|
||||
return redirect404NotFound();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user