prisma_rust_schema/
jsonrpc.rs1use serde::{Deserialize, Serialize};
2use serde_json::Value;
3use std::default::Default;
4
5#[derive(Serialize, Deserialize, Default)]
6#[serde(rename_all = "camelCase")]
7pub struct Manifest {
8 pub pretty_name: String,
9 pub default_output: String,
10 pub denylists: Option<Denylists>,
11 pub requires_generators: Option<Vec<String>>,
12 pub requires_engines: Option<Vec<String>>,
13 pub version: Option<String>,
14 pub requires_engine_version: Option<String>,
15}
16
17#[derive(Serialize, Deserialize, Default)]
18pub struct Denylists {
19 pub models: Option<Vec<String>>,
20 pub fields: Option<Vec<String>>,
21}
22
23#[derive(Serialize, Deserialize)]
24pub struct ManifestResponse {
25 pub manifest: Manifest,
26}
27
28#[derive(Serialize, Deserialize, Debug)]
29pub struct Request {
30 pub jsonrpc: String,
31 pub id: i32,
32 pub method: String,
33 pub params: Value,
34}
35
36#[derive(Serialize, Deserialize, Debug)]
37#[serde(rename_all = "camelCase")]
38pub enum ResponseData {
39 Result(Value),
40 Error { code: i32, message: String },
41}
42
43#[derive(Serialize, Deserialize, Debug)]
44pub struct Response {
45 pub jsonrpc: String,
46 pub id: i32,
47 #[serde(flatten)]
48 pub data: ResponseData,
49}