Skip to main content

musdk_common/incoming_message/
db.rs

1use std::borrow::Cow;
2
3use borsh::{BorshDeserialize, BorshSerialize};
4
5#[derive(Debug, BorshSerialize, BorshDeserialize)]
6pub struct EmptyResult;
7
8#[derive(Debug, BorshSerialize, BorshDeserialize)]
9pub struct SingleResult<'a> {
10    pub item: Cow<'a, [u8]>,
11}
12
13#[derive(Debug, BorshSerialize, BorshDeserialize)]
14pub struct ListResult<'a> {
15    pub list: Vec<Cow<'a, [u8]>>,
16}
17
18#[derive(Debug, BorshSerialize, BorshDeserialize)]
19pub struct TableKeyValue<'a> {
20    pub table: Cow<'a, str>,
21    pub key: Cow<'a, [u8]>,
22    pub value: Cow<'a, [u8]>,
23}
24
25#[derive(Debug, BorshSerialize, BorshDeserialize)]
26pub struct TableKey<'a> {
27    pub table: Cow<'a, str>,
28    pub key: Cow<'a, [u8]>,
29}
30
31#[derive(Debug, BorshSerialize, BorshDeserialize)]
32pub struct KeyValue<'a> {
33    pub key: Cow<'a, [u8]>,
34    pub value: Cow<'a, [u8]>,
35}
36
37#[derive(Debug, BorshSerialize, BorshDeserialize)]
38pub struct KeyValueListResult<'a> {
39    pub list: Vec<KeyValue<'a>>,
40}
41
42#[derive(Debug, BorshSerialize, BorshDeserialize)]
43pub struct TableKeyListResult<'a> {
44    pub list: Vec<TableKey<'a>>,
45}
46
47#[derive(Debug, BorshSerialize, BorshDeserialize)]
48pub struct TableKeyValueListResult<'a> {
49    pub list: Vec<TableKeyValue<'a>>,
50}
51
52#[derive(Debug, BorshSerialize, BorshDeserialize)]
53pub struct CasResult<'a> {
54    pub previous_value: Option<Cow<'a, [u8]>>,
55    pub is_swapped: bool,
56}
57
58#[derive(Debug, BorshSerialize, BorshDeserialize)]
59pub struct DbError<'a> {
60    pub error: Cow<'a, str>,
61}