next-drupal
Version:
Helpers for Next.js + Drupal.
47 lines (38 loc) • 990 B
text/typescript
import { buildHeaders, buildUrl, getPathFromContext } from "./utils"
import type { GetStaticPropsContext } from "next"
import type { AccessToken, DrupalTranslatedPath } from "../types"
export async function translatePath(
path: string,
options?: {
accessToken?: AccessToken
}
): Promise<DrupalTranslatedPath> {
const url = buildUrl("/router/translate-path", {
path,
})
const response = await fetch(url.toString(), {
headers: await buildHeaders(options),
})
if (!response.ok) {
return null
}
const json = await response.json()
return json
}
export async function translatePathFromContext(
context: GetStaticPropsContext,
options?: {
accessToken?: AccessToken
prefix?: string
}
): Promise<DrupalTranslatedPath> {
options = {
prefix: "",
...options,
}
const path = getPathFromContext(context, options.prefix)
const response = await translatePath(path, {
accessToken: options.accessToken,
})
return response
}