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}
15
16#[derive(Debug, Clone, Serialize, Deserialize)]
17pub struct GetForKeyRequest {
18 pub name: String,
19 pub key: ActorKey,
20}
21
22#[derive(Debug, Clone, Serialize, Deserialize)]
23pub struct GetForIdRequest {
24 pub name: String,
25 #[serde(rename = "actorId")]
26 pub actor_id: String,
27}
28
29#[derive(Debug, Clone, Serialize, Deserialize)]
30pub struct GetOrCreateRequest {
31 pub name: String,
32 pub key: ActorKey,
33 #[serde(skip_serializing_if = "Option::is_none")]
34 pub input: Option<JsonValue>,
35 #[serde(skip_serializing_if = "Option::is_none")]
36 pub region: Option<String>,
37}
38
39#[derive(Debug, Clone, Serialize, Deserialize)]
40#[serde(untagged)]
41pub enum ActorQuery {
42 GetForId {
43 #[serde(rename = "getForId")]
44 get_for_id: GetForIdRequest,
45 },
46 GetForKey {
47 #[serde(rename = "getForKey")]
48 get_for_key: GetForKeyRequest,
49 },
50 GetOrCreateForKey {
51 #[serde(rename = "getOrCreateForKey")]
52 get_or_create_for_key: GetOrCreateRequest,
53 },
54 Create {
55 create: CreateRequest,
56 },
57}