1// ⚠️ GENERATED FILE - DO NOT EDIT
2// This file is automatically generated by 'prisma contract emit'.
3// To regenerate, run: prisma contract emit
4import type { QueryOperationTypes as PgAdapterQueryOps } from '@prisma/orm-postgres/adapter/operation-types';
5import type {
6 Bit,
7 Char,
8 CodecTypes as PgTypes,
9 Interval,
10 JsonValue,
11 Numeric,
12 Time,
13 TimeString,
14 Timestamp,
15 TimestampString,
16 Timestamptz,
17 TimestamptzString,
18 Timetz,
19 VarBit,
20 Varchar,
21} from '@prisma/orm-postgres/target/codec-types';
22
23import type {
24 ContractWithTypeMaps,
25 RelationKeys,
26 TypeMaps as TypeMapsType,
27} from '@prisma/orm-postgres/family-contract/types';
28import type {
29 Contract as ContractType,
30 ExecutionHashBase,
31 NamespaceId,
32 ProfileHashBase,
33 StorageHashBase,
34} from '@prisma/orm-postgres/contract/types';
35
36export type StorageHash =
37 StorageHashBase<'7de60ab4aee8baa42480f8a2d3559ff4027deae801de73c6a93c9eeb4170f558'>;
38export type ExecutionHash =
39 ExecutionHashBase<'3d1e5ef7d0bf68e99ed01f74317c9cb4403c9f0235bcb38e447cfe4595460215'>;
40export type ProfileHash =
41 ProfileHashBase<'3916f444a8a17ad749191acf9e08dad97d1a327b88c2f1d45d12f240296aa8b2'>;
42
43export type CodecTypes = PgTypes;
44export type LaneCodecTypes = CodecTypes;
45export type QueryOperationTypes = PgAdapterQueryOps<CodecTypes>;
46export type AggregateTypes = {
47 readonly avg: {
48 readonly byCodec: {
49 readonly 'pg/float@1': { readonly output: 'pg/float8@1'; readonly nullable: true };
50 readonly 'pg/float4@1': { readonly output: 'pg/float8@1'; readonly nullable: true };
51 readonly 'pg/float8@1': { readonly output: 'pg/float8@1'; readonly nullable: true };
52 readonly 'pg/int@1': { readonly output: 'pg/float8@1'; readonly nullable: true };
53 readonly 'pg/int2@1': { readonly output: 'pg/float8@1'; readonly nullable: true };
54 readonly 'pg/int4@1': { readonly output: 'pg/float8@1'; readonly nullable: true };
55 readonly 'pg/int8@1': { readonly output: 'pg/float8@1'; readonly nullable: true };
56 readonly 'pg/int8number@1': { readonly output: 'pg/float8@1'; readonly nullable: true };
57 readonly 'pg/interval@1': { readonly output: 'pg/interval@1'; readonly nullable: true };
58 readonly 'pg/numeric@1': { readonly output: 'pg/numeric@1'; readonly nullable: true };
59 readonly 'pg/time-string@1': { readonly output: 'pg/interval@1'; readonly nullable: true };
60 readonly 'pg/time-temporal@1': { readonly output: 'pg/interval@1'; readonly nullable: true };
61 readonly 'pg/unboundedint@1': { readonly output: 'pg/float8@1'; readonly nullable: true };
62 readonly 'sql/float@1': { readonly output: 'pg/float8@1'; readonly nullable: true };
63 readonly 'sql/int@1': { readonly output: 'pg/float8@1'; readonly nullable: true };
64 };
65 };
66 readonly avgDecimal: {
67 readonly byCodec: {
68 readonly 'pg/int@1': { readonly output: 'pg/numeric@1'; readonly nullable: true };
69 readonly 'pg/int2@1': { readonly output: 'pg/numeric@1'; readonly nullable: true };
70 readonly 'pg/int4@1': { readonly output: 'pg/numeric@1'; readonly nullable: true };
71 readonly 'pg/int8@1': { readonly output: 'pg/numeric@1'; readonly nullable: true };
72 readonly 'pg/int8number@1': { readonly output: 'pg/numeric@1'; readonly nullable: true };
73 readonly 'pg/numeric@1': { readonly output: 'pg/numeric@1'; readonly nullable: true };
74 readonly 'pg/unboundedint@1': { readonly output: 'pg/numeric@1'; readonly nullable: true };
75 readonly 'sql/int@1': { readonly output: 'pg/numeric@1'; readonly nullable: true };
76 };
77 };
78 readonly count: {
79 readonly byCodec: {};
80 readonly withoutInput: { readonly output: 'pg/int8number@1'; readonly nullable: false };
81 readonly anyInput: { readonly output: 'pg/int8number@1'; readonly nullable: false };
82 };
83 readonly countBigInt: {
84 readonly byCodec: {};
85 readonly withoutInput: { readonly output: 'pg/int8@1'; readonly nullable: false };
86 readonly anyInput: { readonly output: 'pg/int8@1'; readonly nullable: false };
87 };
88 readonly max: {
89 readonly byCodec: {
90 readonly 'pg/char@1': { readonly output: 'pg/char@1'; readonly nullable: true };
91 readonly 'pg/date-string@1': { readonly output: 'pg/date-string@1'; readonly nullable: true };
92 readonly 'pg/date-temporal@1': {
93 readonly output: 'pg/date-temporal@1';
94 readonly nullable: true;
95 };
96 readonly 'pg/enum@1': { readonly output: 'pg/enum@1'; readonly nullable: true };
97 readonly 'pg/float@1': { readonly output: 'pg/float@1'; readonly nullable: true };
98 readonly 'pg/float4@1': { readonly output: 'pg/float4@1'; readonly nullable: true };
99 readonly 'pg/float8@1': { readonly output: 'pg/float8@1'; readonly nullable: true };
100 readonly 'pg/inet@1': { readonly output: 'pg/inet@1'; readonly nullable: true };
101 readonly 'pg/int@1': { readonly output: 'pg/int@1'; readonly nullable: true };
102 readonly 'pg/int2@1': { readonly output: 'pg/int2@1'; readonly nullable: true };
103 readonly 'pg/int4@1': { readonly output: 'pg/int4@1'; readonly nullable: true };
104 readonly 'pg/int8@1': { readonly output: 'pg/int8@1'; readonly nullable: true };
105 readonly 'pg/int8number@1': { readonly output: 'pg/int8number@1'; readonly nullable: true };
106 readonly 'pg/interval@1': { readonly output: 'pg/interval@1'; readonly nullable: true };
107 readonly 'pg/numeric@1': { readonly output: 'pg/numeric@1'; readonly nullable: true };
108 readonly 'pg/text-array@1': { readonly output: 'pg/text-array@1'; readonly nullable: true };
109 readonly 'pg/text@1': { readonly output: 'pg/text@1'; readonly nullable: true };
110 readonly 'pg/time-string@1': { readonly output: 'pg/time-string@1'; readonly nullable: true };
111 readonly 'pg/time-temporal@1': {
112 readonly output: 'pg/time-temporal@1';
113 readonly nullable: true;
114 };
115 readonly 'pg/timestamp-string@1': {
116 readonly output: 'pg/timestamp-string@1';
117 readonly nullable: true;
118 };
119 readonly 'pg/timestamp-temporal@1': {
120 readonly output: 'pg/timestamp-temporal@1';
121 readonly nullable: true;
122 };
123 readonly 'pg/timestamptz-string@1': {
124 readonly output: 'pg/timestamptz-string@1';
125 readonly nullable: true;
126 };
127 readonly 'pg/timestamptz-temporal@1': {
128 readonly output: 'pg/timestamptz-temporal@1';
129 readonly nullable: true;
130 };
131 readonly 'pg/timetz@1': { readonly output: 'pg/timetz@1'; readonly nullable: true };
132 readonly 'pg/unboundedint@1': {
133 readonly output: 'pg/unboundedint@1';
134 readonly nullable: true;
135 };
136 readonly 'pg/varchar@1': { readonly output: 'pg/text@1'; readonly nullable: true };
137 readonly 'sql/char@1': { readonly output: 'sql/char@1'; readonly nullable: true };
138 readonly 'sql/float@1': { readonly output: 'sql/float@1'; readonly nullable: true };
139 readonly 'sql/int@1': { readonly output: 'sql/int@1'; readonly nullable: true };
140 readonly 'sql/text@1': { readonly output: 'sql/text@1'; readonly nullable: true };
141 readonly 'sql/varchar@1': { readonly output: 'pg/text@1'; readonly nullable: true };
142 };
143 };
144 readonly min: {
145 readonly byCodec: {
146 readonly 'pg/char@1': { readonly output: 'pg/char@1'; readonly nullable: true };
147 readonly 'pg/date-string@1': { readonly output: 'pg/date-string@1'; readonly nullable: true };
148 readonly 'pg/date-temporal@1': {
149 readonly output: 'pg/date-temporal@1';
150 readonly nullable: true;
151 };
152 readonly 'pg/enum@1': { readonly output: 'pg/enum@1'; readonly nullable: true };
153 readonly 'pg/float@1': { readonly output: 'pg/float@1'; readonly nullable: true };
154 readonly 'pg/float4@1': { readonly output: 'pg/float4@1'; readonly nullable: true };
155 readonly 'pg/float8@1': { readonly output: 'pg/float8@1'; readonly nullable: true };
156 readonly 'pg/inet@1': { readonly output: 'pg/inet@1'; readonly nullable: true };
157 readonly 'pg/int@1': { readonly output: 'pg/int@1'; readonly nullable: true };
158 readonly 'pg/int2@1': { readonly output: 'pg/int2@1'; readonly nullable: true };
159 readonly 'pg/int4@1': { readonly output: 'pg/int4@1'; readonly nullable: true };
160 readonly 'pg/int8@1': { readonly output: 'pg/int8@1'; readonly nullable: true };
161 readonly 'pg/int8number@1': { readonly output: 'pg/int8number@1'; readonly nullable: true };
162 readonly 'pg/interval@1': { readonly output: 'pg/interval@1'; readonly nullable: true };
163 readonly 'pg/numeric@1': { readonly output: 'pg/numeric@1'; readonly nullable: true };
164 readonly 'pg/text-array@1': { readonly output: 'pg/text-array@1'; readonly nullable: true };
165 readonly 'pg/text@1': { readonly output: 'pg/text@1'; readonly nullable: true };
166 readonly 'pg/time-string@1': { readonly output: 'pg/time-string@1'; readonly nullable: true };
167 readonly 'pg/time-temporal@1': {
168 readonly output: 'pg/time-temporal@1';
169 readonly nullable: true;
170 };
171 readonly 'pg/timestamp-string@1': {
172 readonly output: 'pg/timestamp-string@1';
173 readonly nullable: true;
174 };
175 readonly 'pg/timestamp-temporal@1': {
176 readonly output: 'pg/timestamp-temporal@1';
177 readonly nullable: true;
178 };
179 readonly 'pg/timestamptz-string@1': {
180 readonly output: 'pg/timestamptz-string@1';
181 readonly nullable: true;
182 };
183 readonly 'pg/timestamptz-temporal@1': {
184 readonly output: 'pg/timestamptz-temporal@1';
185 readonly nullable: true;
186 };
187 readonly 'pg/timetz@1': { readonly output: 'pg/timetz@1'; readonly nullable: true };
188 readonly 'pg/unboundedint@1': {
189 readonly output: 'pg/unboundedint@1';
190 readonly nullable: true;
191 };
192 readonly 'pg/varchar@1': { readonly output: 'pg/text@1'; readonly nullable: true };
193 readonly 'sql/char@1': { readonly output: 'sql/char@1'; readonly nullable: true };
194 readonly 'sql/float@1': { readonly output: 'sql/float@1'; readonly nullable: true };
195 readonly 'sql/int@1': { readonly output: 'sql/int@1'; readonly nullable: true };
196 readonly 'sql/text@1': { readonly output: 'sql/text@1'; readonly nullable: true };
197 readonly 'sql/varchar@1': { readonly output: 'pg/text@1'; readonly nullable: true };
198 };
199 };
200 readonly sum: {
201 readonly byCodec: {
202 readonly 'pg/float@1': { readonly output: 'pg/float8@1'; readonly nullable: true };
203 readonly 'pg/float4@1': { readonly output: 'pg/float4@1'; readonly nullable: true };
204 readonly 'pg/float8@1': { readonly output: 'pg/float8@1'; readonly nullable: true };
205 readonly 'pg/int@1': { readonly output: 'pg/int8number@1'; readonly nullable: true };
206 readonly 'pg/int2@1': { readonly output: 'pg/int8number@1'; readonly nullable: true };
207 readonly 'pg/int4@1': { readonly output: 'pg/int8number@1'; readonly nullable: true };
208 readonly 'pg/int8@1': { readonly output: 'pg/int8number@1'; readonly nullable: true };
209 readonly 'pg/int8number@1': { readonly output: 'pg/int8number@1'; readonly nullable: true };
210 readonly 'pg/interval@1': { readonly output: 'pg/interval@1'; readonly nullable: true };
211 readonly 'pg/numeric@1': { readonly output: 'pg/numeric@1'; readonly nullable: true };
212 readonly 'pg/time-string@1': { readonly output: 'pg/interval@1'; readonly nullable: true };
213 readonly 'pg/time-temporal@1': { readonly output: 'pg/interval@1'; readonly nullable: true };
214 readonly 'pg/unboundedint@1': {
215 readonly output: 'pg/unboundedint@1';
216 readonly nullable: true;
217 };
218 readonly 'sql/float@1': { readonly output: 'pg/float8@1'; readonly nullable: true };
219 readonly 'sql/int@1': { readonly output: 'pg/int8number@1'; readonly nullable: true };
220 };
221 };
222 readonly sumBigInt: {
223 readonly byCodec: {
224 readonly 'pg/int@1': { readonly output: 'pg/int8@1'; readonly nullable: true };
225 readonly 'pg/int2@1': { readonly output: 'pg/int8@1'; readonly nullable: true };
226 readonly 'pg/int4@1': { readonly output: 'pg/int8@1'; readonly nullable: true };
227 readonly 'pg/int8@1': { readonly output: 'pg/unboundedint@1'; readonly nullable: true };
228 readonly 'pg/int8number@1': { readonly output: 'pg/unboundedint@1'; readonly nullable: true };
229 readonly 'pg/unboundedint@1': {
230 readonly output: 'pg/unboundedint@1';
231 readonly nullable: true;
232 };
233 readonly 'sql/int@1': { readonly output: 'pg/int8@1'; readonly nullable: true };
234 };
235 };
236};
237type DefaultLiteralValue<CodecId extends string, Encoded> = CodecId extends keyof CodecTypes
238 ? Encoded extends CodecTypes[CodecId]['json']
239 ? Encoded
240 : CodecTypes[CodecId]['json']
241 : Encoded;
242
243export type FieldOutputTypes = {
244 readonly public: {
245 readonly Post: {
246 readonly id: CodecTypes['pg/uuid@1']['output'];
247 readonly title: CodecTypes['pg/text@1']['output'];
248 readonly authorId: CodecTypes['pg/uuid@1']['output'];
249 };
250 readonly User: {
251 readonly id: CodecTypes['pg/uuid@1']['output'];
252 readonly email: CodecTypes['pg/text@1']['output'];
253 readonly name: CodecTypes['pg/text@1']['output'];
254 readonly createdAt: CodecTypes['pg/timestamptz-string@1']['output'];
255 };
256 };
257};
258export type FieldInputTypes = {
259 readonly public: {
260 readonly Post: {
261 readonly id: CodecTypes['pg/uuid@1']['input'];
262 readonly title: CodecTypes['pg/text@1']['input'];
263 readonly authorId: CodecTypes['pg/uuid@1']['input'];
264 };
265 readonly User: {
266 readonly id: CodecTypes['pg/uuid@1']['input'];
267 readonly email: CodecTypes['pg/text@1']['input'];
268 readonly name: CodecTypes['pg/text@1']['input'];
269 readonly createdAt: CodecTypes['pg/timestamptz-string@1']['input'];
270 };
271 };
272};
273export type StorageColumnTypes = {
274 readonly public: {
275 readonly Post: {
276 readonly authorId: CodecTypes['pg/uuid@1']['output'];
277 readonly id: CodecTypes['pg/uuid@1']['output'];
278 readonly title: CodecTypes['pg/text@1']['output'];
279 };
280 readonly User: {
281 readonly createdAt: CodecTypes['pg/timestamptz-string@1']['output'];
282 readonly email: CodecTypes['pg/text@1']['output'];
283 readonly id: CodecTypes['pg/uuid@1']['output'];
284 readonly name: CodecTypes['pg/text@1']['output'];
285 };
286 };
287};
288export type StorageColumnInputTypes = {
289 readonly public: {
290 readonly Post: {
291 readonly authorId: CodecTypes['pg/uuid@1']['input'];
292 readonly id: CodecTypes['pg/uuid@1']['input'];
293 readonly title: CodecTypes['pg/text@1']['input'];
294 };
295 readonly User: {
296 readonly createdAt: CodecTypes['pg/timestamptz-string@1']['input'];
297 readonly email: CodecTypes['pg/text@1']['input'];
298 readonly id: CodecTypes['pg/uuid@1']['input'];
299 readonly name: CodecTypes['pg/text@1']['input'];
300 };
301 };
302};
303
304export namespace Models {
305 export type public_User = {
306 id: CodecTypes['pg/uuid@1']['output'];
307 email: CodecTypes['pg/text@1']['output'];
308 name: CodecTypes['pg/text@1']['output'];
309 createdAt: CodecTypes['pg/timestamptz-string@1']['output'];
310 posts: public_Post[];
311 readonly [RelationKeys]?: 'posts';
312 };
313 export type public_Post = {
314 id: CodecTypes['pg/uuid@1']['output'];
315 title: CodecTypes['pg/text@1']['output'];
316 authorId: CodecTypes['pg/uuid@1']['output'];
317 author: public_User;
318 readonly [RelationKeys]?: 'author';
319 };
320}
321
322export declare const models: {
323 public: {
324 User: Models.public_User;
325 Post: Models.public_Post;
326 };
327};
328
329export type TypeMaps = TypeMapsType<
330 CodecTypes,
331 QueryOperationTypes,
332 FieldOutputTypes,
333 FieldInputTypes,
334 StorageColumnTypes,
335 StorageColumnInputTypes,
336 AggregateTypes
337>;
338
339type ContractBase = Omit<
340 ContractType<{
341 readonly namespaces: {
342 readonly public: {
343 readonly id: 'public';
344 readonly kind: 'postgres-schema';
345 readonly entries: {
346 readonly table: {
347 readonly Post: {
348 columns: {
349 readonly id: {
350 readonly nativeType: 'uuid';
351 readonly codecId: 'pg/uuid@1';
352 readonly nullable: false;
353 };
354 readonly title: {
355 readonly nativeType: 'text';
356 readonly codecId: 'pg/text@1';
357 readonly nullable: false;
358 };
359 readonly authorId: {
360 readonly nativeType: 'uuid';
361 readonly codecId: 'pg/uuid@1';
362 readonly nullable: false;
363 };
364 };
365 primaryKey: { readonly columns: readonly ['id'] };
366 uniques: readonly [];
367 indexes: readonly [];
368 foreignKeys: readonly [];
369 };
370 readonly User: {
371 columns: {
372 readonly id: {
373 readonly nativeType: 'uuid';
374 readonly codecId: 'pg/uuid@1';
375 readonly nullable: false;
376 };
377 readonly email: {
378 readonly nativeType: 'text';
379 readonly codecId: 'pg/text@1';
380 readonly nullable: false;
381 };
382 readonly name: {
383 readonly nativeType: 'text';
384 readonly codecId: 'pg/text@1';
385 readonly nullable: false;
386 };
387 readonly createdAt: {
388 readonly nativeType: 'timestamptz';
389 readonly codecId: 'pg/timestamptz-string@1';
390 readonly nullable: false;
391 readonly default: { readonly kind: 'function'; readonly expression: 'now()' };
392 };
393 };
394 primaryKey: { readonly columns: readonly ['id'] };
395 uniques: readonly [{ readonly columns: readonly ['email'] }];
396 indexes: readonly [];
397 foreignKeys: readonly [];
398 };
399 };
400 };
401 };
402 };
403 readonly storageHash: StorageHash;
404 }>,
405 'roots' | 'domain'
406> & {
407 readonly target: 'postgres';
408 readonly targetFamily: 'sql';
409 readonly roots: {
410 readonly User: { readonly namespace: 'public' & NamespaceId; readonly model: 'User' };
411 readonly Post: { readonly namespace: 'public' & NamespaceId; readonly model: 'Post' };
412 };
413 readonly domain: {
414 readonly namespaces: {
415 readonly public: {
416 readonly models: {
417 readonly Post: {
418 readonly fields: {
419 readonly id: {
420 readonly nullable: false;
421 readonly type: { readonly kind: 'scalar'; readonly codecId: 'pg/uuid@1' };
422 };
423 readonly title: {
424 readonly nullable: false;
425 readonly type: { readonly kind: 'scalar'; readonly codecId: 'pg/text@1' };
426 };
427 readonly authorId: {
428 readonly nullable: false;
429 readonly type: { readonly kind: 'scalar'; readonly codecId: 'pg/uuid@1' };
430 };
431 };
432 readonly relations: {
433 readonly author: {
434 readonly to: { readonly namespace: 'public' & NamespaceId; readonly model: 'User' };
435 readonly cardinality: 'N:1';
436 readonly nullable: false;
437 readonly on: {
438 readonly localFields: readonly ['authorId'];
439 readonly targetFields: readonly ['id'];
440 };
441 };
442 };
443 readonly storage: {
444 readonly table: 'Post';
445 readonly namespaceId: 'public';
446 readonly fields: {
447 readonly id: { readonly column: 'id' };
448 readonly title: { readonly column: 'title' };
449 readonly authorId: { readonly column: 'authorId' };
450 };
451 };
452 };
453 readonly User: {
454 readonly fields: {
455 readonly id: {
456 readonly nullable: false;
457 readonly type: { readonly kind: 'scalar'; readonly codecId: 'pg/uuid@1' };
458 };
459 readonly email: {
460 readonly nullable: false;
461 readonly type: { readonly kind: 'scalar'; readonly codecId: 'pg/text@1' };
462 };
463 readonly name: {
464 readonly nullable: false;
465 readonly type: { readonly kind: 'scalar'; readonly codecId: 'pg/text@1' };
466 };
467 readonly createdAt: {
468 readonly nullable: false;
469 readonly type: {
470 readonly kind: 'scalar';
471 readonly codecId: 'pg/timestamptz-string@1';
472 };
473 };
474 };
475 readonly relations: {
476 readonly posts: {
477 readonly to: { readonly namespace: 'public' & NamespaceId; readonly model: 'Post' };
478 readonly cardinality: '1:N';
479 readonly on: {
480 readonly localFields: readonly ['id'];
481 readonly targetFields: readonly ['authorId'];
482 };
483 };
484 };
485 readonly storage: {
486 readonly table: 'User';
487 readonly namespaceId: 'public';
488 readonly fields: {
489 readonly id: { readonly column: 'id' };
490 readonly email: { readonly column: 'email' };
491 readonly name: { readonly column: 'name' };
492 readonly createdAt: { readonly column: 'createdAt' };
493 };
494 };
495 };
496 };
497 };
498 };
499 };
500 readonly capabilities: {
501 readonly postgres: {
502 readonly distinctOn: true;
503 readonly jsonAgg: true;
504 readonly lateral: true;
505 readonly limit: true;
506 readonly orderBy: true;
507 readonly returning: true;
508 };
509 readonly sql: {
510 readonly checkConstraint: true;
511 readonly defaultInInsert: true;
512 readonly enums: true;
513 readonly lateral: true;
514 readonly returning: true;
515 readonly scalarList: true;
516 };
517 };
518 readonly extensions: {};
519 readonly execution: {
520 readonly executionHash: ExecutionHash;
521 readonly mutations: {
522 readonly defaults: readonly [
523 {
524 readonly ref: {
525 readonly namespace: 'public';
526 readonly table: 'Post';
527 readonly column: 'id';
528 };
529 readonly onCreate: { readonly kind: 'generator'; readonly id: 'uuidv7' };
530 },
531 {
532 readonly ref: {
533 readonly namespace: 'public';
534 readonly table: 'User';
535 readonly column: 'id';
536 };
537 readonly onCreate: { readonly kind: 'generator'; readonly id: 'uuidv7' };
538 },
539 ];
540 };
541 };
542 readonly meta: {};
543
544 readonly profileHash: ProfileHash;
545};
546
547export type Contract = ContractWithTypeMaps<ContractBase, TypeMaps>;
548
549export type Namespaces = Contract['storage']['namespaces'];