rain_sdk/models/
common.rs1use serde::{Deserialize, Serialize};
4use uuid::Uuid;
5
6#[derive(Debug, Clone, Serialize, Deserialize)]
8pub struct Address {
9 pub line1: String,
10 #[serde(skip_serializing_if = "Option::is_none")]
11 pub line2: Option<String>,
12 pub city: String,
13 pub region: String,
14 pub postal_code: String,
15 pub country_code: String,
16 #[serde(skip_serializing_if = "Option::is_none")]
17 pub country: Option<String>,
18}
19
20#[derive(Debug, Clone, Serialize, Deserialize)]
22pub struct ApplicationLink {
23 pub url: String,
24 pub params: ApplicationLinkParams,
25}
26
27#[derive(Debug, Clone, Serialize, Deserialize)]
29pub struct ApplicationLinkParams {
30 pub user_id: Uuid,
31}
32
33#[derive(Debug, Clone, Serialize, Deserialize)]
35pub struct PersonInfo {
36 pub id: Uuid,
37 pub first_name: String,
38 pub last_name: String,
39 #[serde(skip_serializing_if = "Option::is_none")]
40 pub birth_date: Option<String>, #[serde(skip_serializing_if = "Option::is_none")]
42 pub national_id: Option<String>,
43 #[serde(skip_serializing_if = "Option::is_none")]
44 pub country_of_issue: Option<String>,
45 #[serde(skip_serializing_if = "Option::is_none")]
46 pub email: Option<String>,
47 #[serde(skip_serializing_if = "Option::is_none")]
48 pub phone_country_code: Option<String>,
49 #[serde(skip_serializing_if = "Option::is_none")]
50 pub phone_number: Option<String>,
51 pub address: Address,
52}
53
54#[derive(Debug, Clone, Serialize, Deserialize)]
56#[serde(rename_all = "lowercase")]
57pub enum ApplicationStatus {
58 Pending,
59 Approved,
60 Rejected,
61 InReview,
62}
63
64#[derive(Debug, Clone, Serialize, Deserialize)]
66#[serde(rename_all = "camelCase")]
67pub enum CompanyDocumentType {
68 DirectorsRegistry,
69 StateRegistry,
70 IncumbencyCert,
71 ProofOfAddress,
72 TrustAgreement,
73 InformationStatement,
74 IncorporationCert,
75 IncorporationArticles,
76 ShareholderRegistry,
77 GoodStandingCert,
78 PowerOfAttorney,
79 Other,
80}
81
82#[derive(Debug, Clone, Serialize, Deserialize)]
84#[serde(rename_all = "camelCase")]
85pub enum UserDocumentType {
86 IdCard,
87 Passport,
88 Drivers,
89 ResidencePermit,
90 UtilityBill,
91 Selfie,
92 VideoSelfie,
93 ProfileImage,
94 IdDocPhoto,
95 Agreement,
96 Contract,
97 DriversTranslation,
98 InvestorDoc,
99 VehicleRegistrationCertificate,
100 IncomeSource,
101 PaymentMethod,
102 BankCard,
103 CovidVaccinationForm,
104 Other,
105}
106
107#[derive(Debug, Clone, Serialize, Deserialize)]
109#[serde(rename_all = "lowercase")]
110pub enum DocumentSide {
111 Front,
112 Back,
113}