Set up redirects from old URLs to new URLs

This commit is contained in:
David Ball 2024-08-26 03:36:04 -04:00
parent 1ce08dbe40
commit c2ffefe251
2 changed files with 17 additions and 19 deletions

View File

@ -3,4 +3,5 @@ import type { NonLocalized } from "../../internals/NonLocalizedT";
export interface Redirect { export interface Redirect {
prevSlug: NonLocalized<string>, prevSlug: NonLocalized<string>,
newContent: NonLocalized<string[]>, newContent: NonLocalized<string[]>,
newContentSchema: NonLocalized<{ schemaName: string }[]>,
} }

View File

@ -87,27 +87,24 @@ else {
const redirectDto = await getRedirectsByPreviousSlug(routeLookup!); const redirectDto = await getRedirectsByPreviousSlug(routeLookup!);
console.log("redirectDto:", redirectDto); console.log("redirectDto:", redirectDto);
if (redirectDto && redirectDto.items && redirectDto.items.length > 0) { 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: //next line crashes:
let redirectReferencesDto = await client.contents.getReferences({ schema: SCHEMAS.REDIRECTS, id: redirectDto.items[0].id }); // let redirectReferencesDto = await client.contents.getReferences({ schema: SCHEMAS.REDIRECTS, id: redirectDto.items[0].id });
console.log("redirectReferencesDto:", redirectReferencesDto); 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 // client.contents.getConten
// switch (redirectDto.items[0].data?.referenceSchema.iv) { switch (schemaName) {
// case SCHEMAS.BRANDS: case SCHEMAS.BRANDS:
// return Astro.rewrite(`/view/brands/${locale}/${objectId}`); case SCHEMAS.MARKETPLACES:
// case SCHEMAS.MARKETPLACES: case SCHEMAS.PAGES:
// return Astro.rewrite(`/view/marketplaces/${locale}/${objectId}`); case SCHEMAS.PRODUCT_CATEGORIES:
// case SCHEMAS.PAGES: case SCHEMAS.PRODUCTS:
// return Astro.rewrite(`/view/pages/${locale}/${objectId}`); case SCHEMAS.SELLERS:
// case SCHEMAS.PRODUCT_CATEGORIES: Astro.response.headers.set('Vary', 'Accept-Language');
// return Astro.rewrite(`/view/product-categories/${locale}/${objectId}`); return Astro.redirect(`/${whicheverDto.data.slug[locale]}`, 303);
// 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)
} }
return redirect404NotFound(); return redirect404NotFound();
} }