pagesift_api/types/
locate.rs1use serde::{Deserialize, Serialize};
4use serde_json::Value;
5
6pub type Observed = (Vec<Value>, Vec<String>);
8
9#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
10#[serde(rename_all = "camelCase")]
11pub struct ObserveRequest {
12 pub url: String,
13 pub instruction: String,
14}
15
16#[derive(Debug, Clone, PartialEq, Serialize)]
17pub struct ObserveResponse {
18 pub success: bool,
19 pub data: Vec<Value>,
21 pub warnings: Vec<String>,
22}
23
24#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
25#[serde(rename_all = "camelCase")]
26pub struct SimilarRequest {
27 pub url: String,
28 pub selector: String,
30 #[serde(default)]
31 pub engine: Option<String>,
32}
33
34#[derive(Debug, Clone, PartialEq, Serialize)]
35pub struct SimilarItem {
36 pub text: String,
37 pub html: String,
38}
39
40#[derive(Debug, Clone, Default, PartialEq, Serialize)]
42pub struct SimilarData {
43 pub selector: Option<String>,
44 pub depth: Option<usize>,
45 pub items: Vec<SimilarItem>,
46}
47
48#[derive(Debug, Clone, PartialEq, Serialize)]
49pub struct SimilarResponse {
50 pub success: bool,
51 pub data: SimilarData,
52 pub warnings: Vec<String>,
53}