Merged in feat/sw-2872-dependency-inject-app-context-in-trpc-package (pull request #2478)

feat(SW-2872) Dependency inject app context in trpc package

* Move appRouter to trpc package

* WIP Move serverClient to trpc package

Doesn't handle errors yet

* Don't use global

* Use trpc everywhere


Approved-by: Linus Flood
This commit is contained in:
Anton Gunnarsson
2025-07-01 08:49:33 +00:00
parent a3702d0ecc
commit 6eeaa1cd40
19 changed files with 194 additions and 100 deletions

View File

@@ -0,0 +1,34 @@
import { headers } from "next/headers"
import { createContext } from "@scandic-hotels/trpc/context"
import {
appServerClient,
configureServerClient,
} from "@scandic-hotels/trpc/serverClient"
import type { Lang } from "@scandic-hotels/common/constants/language"
export async function createAppContext() {
const headersList = await headers()
const ctx = createContext({
lang: headersList.get("x-lang") as Lang,
pathname: headersList.get("x-pathname")!,
uid: headersList.get("x-uid"),
url: headersList.get("x-url")!,
contentType: headersList.get("x-contenttype")!,
auth: async () => {
return null
},
})
return ctx
}
configureServerClient(createAppContext)
export async function serverClient() {
const ctx = await createAppContext()
return appServerClient(ctx)
}