|
1 | 1 | use anyhow::Result;
|
2 |
| -#[cfg(feature = "axum")] |
3 |
| -use axum::extract::ws; |
4 | 2 | use bincode::{config, Decode, Encode};
|
5 |
| -use gloo_net::websocket; |
6 |
| -use my_youtube_extractor::youtube_info::YtVideoPageInfo; |
| 3 | +use entity::video::Model; |
7 | 4 |
|
8 | 5 | #[derive(Debug, Encode, Decode, Clone)]
|
9 |
| -pub enum NetDataAxum { |
10 |
| - Remove(String), |
11 |
| - Add(YtVideoPageInfo), |
12 |
| - Search(Vec<YtVideoPageInfo>), |
13 |
| - Next, |
14 |
| -} |
15 |
| - |
16 |
| -#[derive(Debug, Encode, Decode)] |
17 |
| -pub enum NetDataYew { |
| 6 | +pub enum NetData { |
18 | 7 | Search(String),
|
| 8 | + SearchResult(Vec<Model>), |
19 | 9 | Remove(String),
|
20 |
| - Add(YtVideoPageInfo), |
| 10 | + Add(Model), |
21 | 11 | Play,
|
22 | 12 | Pause,
|
23 | 13 | Next,
|
24 | 14 | }
|
25 | 15 |
|
26 |
| -impl NetDataYew { |
27 |
| - pub fn encode_yew_message(&self) -> Result<websocket::Message> { |
28 |
| - let encoded = bincode::encode_to_vec(self, config::standard())?; |
29 |
| - Ok(websocket::Message::Bytes(encoded)) |
30 |
| - } |
31 |
| - |
32 |
| - pub fn decode_message(bytes: &[u8]) -> Result<NetDataYew> { |
33 |
| - Ok(bincode::decode_from_slice(bytes, config::standard())?.0) |
34 |
| - } |
35 |
| -} |
36 |
| - |
37 |
| -impl NetDataAxum { |
38 |
| - #[cfg(feature = "axum")] |
39 |
| - pub fn encode_axum_message(&self) -> Result<ws::Message> { |
40 |
| - let encoded = bincode::encode_to_vec(self, config::standard())?; |
41 |
| - Ok(ws::Message::Binary(encoded)) |
| 16 | +impl NetData { |
| 17 | + pub fn encode_message(&self) -> Result<Vec<u8>> { |
| 18 | + Ok(bincode::encode_to_vec(self, config::standard())?) |
42 | 19 | }
|
43 | 20 |
|
44 |
| - pub fn decode_message(bytes: &[u8]) -> Result<NetDataAxum> { |
| 21 | + pub fn decode_message(bytes: &[u8]) -> Result<NetData> { |
45 | 22 | Ok(bincode::decode_from_slice(bytes, config::standard())?.0)
|
46 | 23 | }
|
47 | 24 | }
|
0 commit comments