prisma_rust_schema/
jsonrpc.rs

1use 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}