main #5

Merged
daball merged 11 commits from main into openapi-sdk-migration 2024-08-26 18:19:11 -04:00
2 changed files with 17 additions and 19 deletions
Showing only changes of commit c2ffefe251 - Show all commits

View File

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

View File

@ -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();
}