headless_lms_models/
cms_ai.rs

1use crate::prelude::*;
2use utoipa::ToSchema;
3
4#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, ToSchema)]
5
6pub enum ParagraphSuggestionAction {
7    #[serde(rename = "moocfi/ai/generate-draft-from-notes")]
8    GenerateDraftFromNotes,
9    #[serde(rename = "moocfi/ai/generate-continue-paragraph")]
10    GenerateContinueParagraph,
11    #[serde(rename = "moocfi/ai/generate-add-example")]
12    GenerateAddExample,
13    #[serde(rename = "moocfi/ai/generate-add-counterpoint")]
14    GenerateAddCounterpoint,
15    #[serde(rename = "moocfi/ai/generate-add-concluding-sentence")]
16    GenerateAddConcludingSentence,
17    #[serde(rename = "moocfi/fix-spelling")]
18    FixSpelling,
19    #[serde(rename = "moocfi/ai/improve-clarity")]
20    ImproveClarity,
21    #[serde(rename = "moocfi/ai/improve-flow")]
22    ImproveFlow,
23    #[serde(rename = "moocfi/ai/improve-concise")]
24    ImproveConcise,
25    #[serde(rename = "moocfi/ai/improve-expand-detail")]
26    ImproveExpandDetail,
27    #[serde(rename = "moocfi/ai/improve-academic-style")]
28    ImproveAcademicStyle,
29    #[serde(rename = "moocfi/ai/structure-create-topic-sentence")]
30    StructureCreateTopicSentence,
31    #[serde(rename = "moocfi/ai/structure-reorder-sentences")]
32    StructureReorderSentences,
33    #[serde(rename = "moocfi/ai/structure-split-into-paragraphs")]
34    StructureSplitIntoParagraphs,
35    #[serde(rename = "moocfi/ai/structure-combine-into-one")]
36    StructureCombineIntoOne,
37    #[serde(rename = "moocfi/ai/structure-to-bullets")]
38    StructureToBullets,
39    #[serde(rename = "moocfi/ai/structure-from-bullets")]
40    StructureFromBullets,
41    #[serde(rename = "moocfi/ai/learning-simplify-beginners")]
42    LearningSimplifyBeginners,
43    #[serde(rename = "moocfi/ai/learning-add-definitions")]
44    LearningAddDefinitions,
45    #[serde(rename = "moocfi/ai/learning-add-analogy")]
46    LearningAddAnalogy,
47    #[serde(rename = "moocfi/ai/learning-add-practice-question")]
48    LearningAddPracticeQuestion,
49    #[serde(rename = "moocfi/ai/learning-add-check-understanding")]
50    LearningAddCheckUnderstanding,
51    #[serde(rename = "moocfi/ai/summaries-one-sentence")]
52    SummariesOneSentence,
53    #[serde(rename = "moocfi/ai/summaries-two-three-sentences")]
54    SummariesTwoThreeSentences,
55    #[serde(rename = "moocfi/ai/summaries-key-takeaway")]
56    SummariesKeyTakeaway,
57    #[serde(rename = "moocfi/ai/tone-academic-formal")]
58    ToneAcademicFormal,
59    #[serde(rename = "moocfi/ai/tone-friendly-conversational")]
60    ToneFriendlyConversational,
61    #[serde(rename = "moocfi/ai/tone-encouraging-supportive")]
62    ToneEncouragingSupportive,
63    #[serde(rename = "moocfi/ai/tone-neutral-objective")]
64    ToneNeutralObjective,
65    #[serde(rename = "moocfi/ai/tone-confident")]
66    ToneConfident,
67    #[serde(rename = "moocfi/ai/tone-serious")]
68    ToneSerious,
69    #[serde(rename = "moocfi/ai/translate-english")]
70    TranslateEnglish,
71    #[serde(rename = "moocfi/ai/translate-finnish")]
72    TranslateFinnish,
73    #[serde(rename = "moocfi/ai/translate-norwegian")]
74    TranslateNorwegian,
75    #[serde(rename = "moocfi/ai/translate-swedish")]
76    TranslateSwedish,
77}
78
79impl ParagraphSuggestionAction {
80    /// Returns the API string value for this action.
81    pub fn as_str(self) -> &'static str {
82        match self {
83            Self::GenerateDraftFromNotes => "moocfi/ai/generate-draft-from-notes",
84            Self::GenerateContinueParagraph => "moocfi/ai/generate-continue-paragraph",
85            Self::GenerateAddExample => "moocfi/ai/generate-add-example",
86            Self::GenerateAddCounterpoint => "moocfi/ai/generate-add-counterpoint",
87            Self::GenerateAddConcludingSentence => "moocfi/ai/generate-add-concluding-sentence",
88            Self::FixSpelling => "moocfi/fix-spelling",
89            Self::ImproveClarity => "moocfi/ai/improve-clarity",
90            Self::ImproveFlow => "moocfi/ai/improve-flow",
91            Self::ImproveConcise => "moocfi/ai/improve-concise",
92            Self::ImproveExpandDetail => "moocfi/ai/improve-expand-detail",
93            Self::ImproveAcademicStyle => "moocfi/ai/improve-academic-style",
94            Self::StructureCreateTopicSentence => "moocfi/ai/structure-create-topic-sentence",
95            Self::StructureReorderSentences => "moocfi/ai/structure-reorder-sentences",
96            Self::StructureSplitIntoParagraphs => "moocfi/ai/structure-split-into-paragraphs",
97            Self::StructureCombineIntoOne => "moocfi/ai/structure-combine-into-one",
98            Self::StructureToBullets => "moocfi/ai/structure-to-bullets",
99            Self::StructureFromBullets => "moocfi/ai/structure-from-bullets",
100            Self::LearningSimplifyBeginners => "moocfi/ai/learning-simplify-beginners",
101            Self::LearningAddDefinitions => "moocfi/ai/learning-add-definitions",
102            Self::LearningAddAnalogy => "moocfi/ai/learning-add-analogy",
103            Self::LearningAddPracticeQuestion => "moocfi/ai/learning-add-practice-question",
104            Self::LearningAddCheckUnderstanding => "moocfi/ai/learning-add-check-understanding",
105            Self::SummariesOneSentence => "moocfi/ai/summaries-one-sentence",
106            Self::SummariesTwoThreeSentences => "moocfi/ai/summaries-two-three-sentences",
107            Self::SummariesKeyTakeaway => "moocfi/ai/summaries-key-takeaway",
108            Self::ToneAcademicFormal => "moocfi/ai/tone-academic-formal",
109            Self::ToneFriendlyConversational => "moocfi/ai/tone-friendly-conversational",
110            Self::ToneEncouragingSupportive => "moocfi/ai/tone-encouraging-supportive",
111            Self::ToneNeutralObjective => "moocfi/ai/tone-neutral-objective",
112            Self::ToneConfident => "moocfi/ai/tone-confident",
113            Self::ToneSerious => "moocfi/ai/tone-serious",
114            Self::TranslateEnglish => "moocfi/ai/translate-english",
115            Self::TranslateFinnish => "moocfi/ai/translate-finnish",
116            Self::TranslateNorwegian => "moocfi/ai/translate-norwegian",
117            Self::TranslateSwedish => "moocfi/ai/translate-swedish",
118        }
119    }
120}