Compare commits

..

No commits in common. "c2a0633f2b0aae10d44e7e36817ac2742b24e654" and "851410fbf0e602aa508cf84b5453037f6ff5b025" have entirely different histories.

2 changed files with 19 additions and 17 deletions

View File

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

View File

@ -87,24 +87,27 @@ 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].data?.newContentSchema[locale]);
// let objectId = redirectDto.items[0].data.newContent[locale];
console.log("getting redirectReferencesDto for", SCHEMAS.REDIRECTS, redirectDto.items[0].id);
//next line crashes:
// 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);
let redirectReferencesDto = await client.contents.getReferences({ schema: SCHEMAS.REDIRECTS, id: redirectDto.items[0].id });
console.log("redirectReferencesDto:", redirectReferencesDto);
// client.contents.getConten
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);
}
// 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)
}
return redirect404NotFound();
}