rivetkit_client/protocol/
query.rs1use serde::{Deserialize, Serialize};
2use serde_json::Value as JsonValue;
3
4use crate::common::ActorKey;
5
6#[derive(Debug, Clone, Serialize, Deserialize)]
7pub struct CreateRequest {
8 pub name: String,
9 pub key: ActorKey,
10 #[serde(skip_serializing_if = "Option::is_none")]
11 pub input: Option<JsonValue>,
12 #[serde(skip_serializing_if = "Option::is_none")]
13 pub region: Option<String>,
14 #[serde(rename = "poolName", skip_serializing_if = "Option::is_none")]
15 pub pool_name: Option<String>,
16}
17
18#[derive(Debug, Clone, Serialize, Deserialize)]
19pub struct GetForKeyRequest {
20 pub name: String,
21 pub key: ActorKey,
22}
23
24#[derive(Debug, Clone, Serialize, Deserialize)]
25pub struct GetForIdRequest {
26 pub name: String,
27 #[serde(rename = "actorId")]
28 pub actor_id: String,
29}
30
31#[derive(Debug, Clone, Serialize, Deserialize)]
32pub struct GetOrCreateRequest {
33 pub name: String,
34 pub key: ActorKey,
35 #[serde(skip_serializing_if = "Option::is_none")]
36 pub input: Option<JsonValue>,
37 #[serde(skip_serializing_if = "Option::is_none")]
38 pub region: Option<String>,
39 #[serde(rename = "poolName", skip_serializing_if = "Option::is_none")]
40 pub pool_name: Option<String>,
41}
42
43#[derive(Debug, Clone, Serialize, Deserialize)]
44#[serde(untagged)]
45pub enum ActorQuery {
46 GetForId {
47 #[serde(rename = "getForId")]
48 get_for_id: GetForIdRequest,
49 },
50 GetForKey {
51 #[serde(rename = "getForKey")]
52 get_for_key: GetForKeyRequest,
53 },
54 GetOrCreateForKey {
55 #[serde(rename = "getOrCreateForKey")]
56 get_or_create_for_key: GetOrCreateRequest,
57 },
58 Create {
59 create: CreateRequest,
60 },
61}