Skip to main content

orvanta_api/models/
new_copilot_conversation_message.rs

1/*
2 * Orvanta API
3 *
4 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5 *
6 * The version of the OpenAPI document: 6.5.0
7 * Contact: contact@orvanta.cloud
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct NewCopilotConversationMessage {
16    #[serde(rename = "channel")]
17    pub channel: Channel,
18    #[serde(rename = "role")]
19    pub role: Role,
20    /// Arbitrary JSON. Size is measured server-side on the re-serialised value, so a client cannot understate what it stores.
21    #[serde(rename = "payload", deserialize_with = "Option::deserialize")]
22    pub payload: Option<serde_json::Value>,
23}
24
25impl NewCopilotConversationMessage {
26    pub fn new(channel: Channel, role: Role, payload: Option<serde_json::Value>) -> NewCopilotConversationMessage {
27        NewCopilotConversationMessage {
28            channel,
29            role,
30            payload,
31        }
32    }
33}
34/// 
35#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
36pub enum Channel {
37    #[serde(rename = "actual")]
38    Actual,
39    #[serde(rename = "display")]
40    Display,
41}
42
43impl Default for Channel {
44    fn default() -> Channel {
45        Self::Actual
46    }
47}
48/// 
49#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
50pub enum Role {
51    #[serde(rename = "user")]
52    User,
53    #[serde(rename = "assistant")]
54    Assistant,
55    #[serde(rename = "system")]
56    System,
57    #[serde(rename = "tool")]
58    Tool,
59    #[serde(rename = "developer")]
60    Developer,
61    #[serde(rename = "function")]
62    Function,
63}
64
65impl Default for Role {
66    fn default() -> Role {
67        Self::User
68    }
69}
70