Skip to content

Commit 0fc232e

Browse files
committed
add prisma and middleware
1 parent bc3694d commit 0fc232e

File tree

25 files changed

+4267
-27
lines changed

25 files changed

+4267
-27
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,3 +80,5 @@ blob-report
8080
*.sqlite
8181
*.sqlite3
8282
*.db-journal
83+
84+
/generated/prisma

app/entry.server.tsx

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,16 @@ import { createInstance } from "i18next"
44
import { isbot } from "isbot"
55
import { renderToPipeableStream } from "react-dom/server"
66
import { I18nextProvider, initReactI18next } from "react-i18next"
7-
import { type AppLoadContext, type EntryContext, type HandleDataRequestFunction, ServerRouter } from "react-router"
7+
import {
8+
type EntryContext,
9+
type HandleDataRequestFunction,
10+
ServerRouter,
11+
type unstable_RouterContextProvider,
12+
} from "react-router"
813
import i18n from "./localization/i18n" // your i18n configuration file
914
import i18nextOpts from "./localization/i18n.server"
1015
import { resources } from "./localization/resource"
16+
import { globalAppContext } from "./server/context"
1117

1218
// Reject all pending promises from handler functions after 10 seconds
1319
export const streamTimeout = 10000
@@ -17,11 +23,12 @@ export default async function handleRequest(
1723
responseStatusCode: number,
1824
responseHeaders: Headers,
1925
context: EntryContext,
20-
appContext: AppLoadContext
26+
appContext: unstable_RouterContextProvider
2127
) {
28+
const ctx = appContext.get(globalAppContext)
2229
const callbackName = isbot(request.headers.get("user-agent")) ? "onAllReady" : "onShellReady"
2330
const instance = createInstance()
24-
const lng = appContext.lang
31+
const lng = ctx.lang
2532
const ns = i18nextOpts.getRouteNamespaces(context)
2633

2734
await instance
@@ -48,7 +55,7 @@ export default async function handleRequest(
4855

4956
resolve(
5057
// @ts-expect-error - We purposely do not define the body as existent so it's not used inside loaders as it's injected there as well
51-
appContext.body(stream, {
58+
ctx.body(stream, {
5259
headers: responseHeaders,
5360
status: didError ? 500 : responseStatusCode,
5461
})

app/generated/prisma/client.ts

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
/* !!! This is code generated by Prisma. Do not edit directly. !!! */
2+
/* eslint-disable */
3+
// @ts-nocheck
4+
/**
5+
* This file should be your main import to use Prisma. Through it you get access to all the models, enums, and input types.
6+
*
7+
* 🟢 You can import this file directly.
8+
*/
9+
10+
import * as path from "node:path"
11+
import * as process from "node:process"
12+
import { fileURLToPath } from "node:url"
13+
14+
const __dirname = path.dirname(fileURLToPath(import.meta.url))
15+
16+
import type * as runtime from "@prisma/client/runtime/library"
17+
import * as $Enums from "./enums"
18+
import * as $Class from "./internal/class"
19+
import * as Prisma from "./internal/prismaNamespace"
20+
21+
export * as $Enums from "./enums"
22+
/**
23+
* ## Prisma Client
24+
*
25+
* Type-safe database client for TypeScript
26+
* @example
27+
* ```
28+
* const prisma = new PrismaClient()
29+
* // Fetch zero or more Users
30+
* const users = await prisma.user.findMany()
31+
* ```
32+
*
33+
* Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client).
34+
*/
35+
export const PrismaClient = $Class.getPrismaClientClass(__dirname)
36+
export type PrismaClient<
37+
ClientOptions extends Prisma.PrismaClientOptions = Prisma.PrismaClientOptions,
38+
Log = $Class.LogOptions<ClientOptions>,
39+
ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs,
40+
> = $Class.PrismaClient<ClientOptions, Log, ExtArgs>
41+
export { Prisma }
42+
43+
// file annotations for bundling tools to include these files
44+
path.join(__dirname, "query_engine-windows.dll.node")
45+
path.join(process.cwd(), "app/generated/prisma/query_engine-windows.dll.node")
46+
47+
/**
48+
* Model User
49+
*
50+
*/
51+
export type User = Prisma.UserModel
52+
/**
53+
* Model Password
54+
*
55+
*/
56+
export type Password = Prisma.PasswordModel
Lines changed: 137 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,137 @@
1+
/* !!! This is code generated by Prisma. Do not edit directly. !!! */
2+
/* eslint-disable */
3+
// @ts-nocheck
4+
/**
5+
* This file exports various common sort, input & filter types that are not directly linked to a particular model.
6+
*
7+
* 🟢 You can import this file directly.
8+
*/
9+
10+
import * as runtime from "@prisma/client/runtime/library"
11+
import * as $Enums from "./enums"
12+
import type * as Prisma from "./internal/prismaNamespace"
13+
14+
export type StringFilter<$PrismaModel = never> = {
15+
equals?: string | Prisma.StringFieldRefInput<$PrismaModel>
16+
in?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel>
17+
notIn?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel>
18+
lt?: string | Prisma.StringFieldRefInput<$PrismaModel>
19+
lte?: string | Prisma.StringFieldRefInput<$PrismaModel>
20+
gt?: string | Prisma.StringFieldRefInput<$PrismaModel>
21+
gte?: string | Prisma.StringFieldRefInput<$PrismaModel>
22+
contains?: string | Prisma.StringFieldRefInput<$PrismaModel>
23+
startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
24+
endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
25+
mode?: Prisma.QueryMode
26+
not?: Prisma.NestedStringFilter<$PrismaModel> | string
27+
}
28+
29+
export type DateTimeFilter<$PrismaModel = never> = {
30+
equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
31+
in?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel>
32+
notIn?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel>
33+
lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
34+
lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
35+
gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
36+
gte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
37+
not?: Prisma.NestedDateTimeFilter<$PrismaModel> | Date | string
38+
}
39+
40+
export type StringWithAggregatesFilter<$PrismaModel = never> = {
41+
equals?: string | Prisma.StringFieldRefInput<$PrismaModel>
42+
in?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel>
43+
notIn?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel>
44+
lt?: string | Prisma.StringFieldRefInput<$PrismaModel>
45+
lte?: string | Prisma.StringFieldRefInput<$PrismaModel>
46+
gt?: string | Prisma.StringFieldRefInput<$PrismaModel>
47+
gte?: string | Prisma.StringFieldRefInput<$PrismaModel>
48+
contains?: string | Prisma.StringFieldRefInput<$PrismaModel>
49+
startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
50+
endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
51+
mode?: Prisma.QueryMode
52+
not?: Prisma.NestedStringWithAggregatesFilter<$PrismaModel> | string
53+
_count?: Prisma.NestedIntFilter<$PrismaModel>
54+
_min?: Prisma.NestedStringFilter<$PrismaModel>
55+
_max?: Prisma.NestedStringFilter<$PrismaModel>
56+
}
57+
58+
export type DateTimeWithAggregatesFilter<$PrismaModel = never> = {
59+
equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
60+
in?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel>
61+
notIn?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel>
62+
lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
63+
lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
64+
gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
65+
gte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
66+
not?: Prisma.NestedDateTimeWithAggregatesFilter<$PrismaModel> | Date | string
67+
_count?: Prisma.NestedIntFilter<$PrismaModel>
68+
_min?: Prisma.NestedDateTimeFilter<$PrismaModel>
69+
_max?: Prisma.NestedDateTimeFilter<$PrismaModel>
70+
}
71+
72+
export type NestedStringFilter<$PrismaModel = never> = {
73+
equals?: string | Prisma.StringFieldRefInput<$PrismaModel>
74+
in?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel>
75+
notIn?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel>
76+
lt?: string | Prisma.StringFieldRefInput<$PrismaModel>
77+
lte?: string | Prisma.StringFieldRefInput<$PrismaModel>
78+
gt?: string | Prisma.StringFieldRefInput<$PrismaModel>
79+
gte?: string | Prisma.StringFieldRefInput<$PrismaModel>
80+
contains?: string | Prisma.StringFieldRefInput<$PrismaModel>
81+
startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
82+
endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
83+
not?: Prisma.NestedStringFilter<$PrismaModel> | string
84+
}
85+
86+
export type NestedDateTimeFilter<$PrismaModel = never> = {
87+
equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
88+
in?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel>
89+
notIn?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel>
90+
lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
91+
lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
92+
gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
93+
gte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
94+
not?: Prisma.NestedDateTimeFilter<$PrismaModel> | Date | string
95+
}
96+
97+
export type NestedStringWithAggregatesFilter<$PrismaModel = never> = {
98+
equals?: string | Prisma.StringFieldRefInput<$PrismaModel>
99+
in?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel>
100+
notIn?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel>
101+
lt?: string | Prisma.StringFieldRefInput<$PrismaModel>
102+
lte?: string | Prisma.StringFieldRefInput<$PrismaModel>
103+
gt?: string | Prisma.StringFieldRefInput<$PrismaModel>
104+
gte?: string | Prisma.StringFieldRefInput<$PrismaModel>
105+
contains?: string | Prisma.StringFieldRefInput<$PrismaModel>
106+
startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
107+
endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
108+
not?: Prisma.NestedStringWithAggregatesFilter<$PrismaModel> | string
109+
_count?: Prisma.NestedIntFilter<$PrismaModel>
110+
_min?: Prisma.NestedStringFilter<$PrismaModel>
111+
_max?: Prisma.NestedStringFilter<$PrismaModel>
112+
}
113+
114+
export type NestedIntFilter<$PrismaModel = never> = {
115+
equals?: number | Prisma.IntFieldRefInput<$PrismaModel>
116+
in?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel>
117+
notIn?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel>
118+
lt?: number | Prisma.IntFieldRefInput<$PrismaModel>
119+
lte?: number | Prisma.IntFieldRefInput<$PrismaModel>
120+
gt?: number | Prisma.IntFieldRefInput<$PrismaModel>
121+
gte?: number | Prisma.IntFieldRefInput<$PrismaModel>
122+
not?: Prisma.NestedIntFilter<$PrismaModel> | number
123+
}
124+
125+
export type NestedDateTimeWithAggregatesFilter<$PrismaModel = never> = {
126+
equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
127+
in?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel>
128+
notIn?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel>
129+
lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
130+
lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
131+
gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
132+
gte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
133+
not?: Prisma.NestedDateTimeWithAggregatesFilter<$PrismaModel> | Date | string
134+
_count?: Prisma.NestedIntFilter<$PrismaModel>
135+
_min?: Prisma.NestedDateTimeFilter<$PrismaModel>
136+
_max?: Prisma.NestedDateTimeFilter<$PrismaModel>
137+
}

app/generated/prisma/enums.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
/* !!! This is code generated by Prisma. Do not edit directly. !!! */
2+
/* eslint-disable */
3+
// @ts-nocheck
4+
/**
5+
* This file exports all enum related types from the schema.
6+
*
7+
* 🟢 You can import this file directly.
8+
*/
9+
10+
// This file is empty because there are no enums in the schema.
11+
export {}

0 commit comments

Comments
 (0)