File size: 839 Bytes
5ec491a
 
1b0e328
 
ca7a659
 
 
 
 
 
 
 
4af6326
 
 
 
 
 
 
 
 
 
 
 
ca7a659
 
 
1b0e328
5ec491a
1b0e328
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import { PrismaClient } from '@prisma/client';

declare global {
  var prisma: PrismaClient | undefined;
  namespace PrismaJson {
    // you can use classes, interfaces, types, etc.
    type FinalChatResult = {
      type: 'final_code';
      status: 'completed' | 'failed';
      payload: {
        code: string;
        test: string;
        result: string; // TODO To be fixed to JSON below
        // result: {
        //   logs: {
        //     stderr: string[];
        //     stdout: string[];
        //   };
        //   results: Array<{
        //     png?: string;
        //     text: string;
        //     is_main_result: boolean;
        //   }>;
        // };
      };
    };
  }
}

const db = globalThis.prisma || new PrismaClient();

if (process.env.NODE_ENV != 'production') globalThis.prisma = db;

export default db;