1use serde::{Deserialize, Serialize};
2
3
4#[derive(Serialize, Deserialize, Clone)]
5#[serde(rename_all = "camelCase")]
6pub struct CodeDeck {
7 pub name: String,
8 pub description: String,
9 pub codes: Option<Vec<Code>>,
10}
11
12#[derive(Serialize, Deserialize, Clone)]
13#[serde(rename_all = "camelCase")]
14pub struct Code {
15 #[serde(rename = "_id")]
16 pub id: String,
17 pub caller: String,
18 pub called: String,
19 pub code: String,
20 pub category: String,
21 pub country: String,
22 pub country_code: String,
23}
24
25#[derive(Serialize, Deserialize, Clone)]
26#[serde(rename_all = "camelCase")]
27pub struct CodeCache {
28 pub code: &'static str,
29 pub category: Category,
30 pub country: Country,
31 pub country_code: CountryCode,
32}
33
34#[derive(Serialize, Deserialize, Clone)]
35pub enum Category {
36 CallsAustralia,
37 CallsAustria,
38 CallsBelgium,
39 CallsBulgaria,
40 CallsCanada,
41 CallsCroatia,
42 CallsCzechRepublic,
43 CallsDenmark,
44 CallsEstonia,
45 CallsFinland,
46 CallsFrance,
47 CallsGermany,
48 CallsGreece,
49 CallsHongKong,
50 CallsHungary,
51 CallsIngress,
52 CallsInternational,
53 CallsIreland,
54 CallsItaly,
55 CallsJapan,
56 CallsLatvia,
57 CallsLithuania,
58 CallsLuxembourg,
59 CallsNetherlands,
60 CallsNewZealand,
61 CallsNorway,
62 CallsPoland,
63 CallsPortugal,
64 CallsPuertoRico,
65 CallsRomania,
66 CallsSingapore,
67 CallsSlovakia,
68 CallsSlovenia,
69 CallsSpain,
70 CallsSweden,
71 CallsSwitzerland,
72 CallsTurkey,
73 CallsUnitedKingdom,
74 CallsUnitedStates,
75 MessagingWA
76}
77#[derive(Serialize, Deserialize, Clone)]
78pub enum CountryCode {
79 AB,
80 AC,
81 AD,
82 AE,
83 AF,
84 AG,
85 AI,
86 AL,
87 AM,
88 AN,
89 AO,
90 AQ,
91 AR,
92 AS,
93 AT,
94 AU,
95 AW,
96 AZ,
97 BA,
98 BB,
99 BD,
100 BE,
101 BF,
102 BG,
103 BH,
104 BI,
105 BJ,
106 BM,
107 BN,
108 BO,
109 BR,
110 BS,
111 BT,
112 BW,
113 BY,
114 BZ,
115 CA,
116 CD,
117 CF,
118 CG,
119 CH,
120 CI,
121 CK,
122 CL,
123 CM,
124 CN,
125 CO,
126 CR,
127 CU,
128 CV,
129 CY,
130 CZ,
131 DE,
132 DG,
133 DJ,
134 DK,
135 DM,
136 DO,
137 DZ,
138 EC,
139 EE,
140 EG,
141 ER,
142 ES,
143 ET,
144 FI,
145 FJ,
146 FK,
147 FM,
148 FO,
149 FR,
150 GA,
151 GB,
152 GD,
153 GE,
154 GF,
155 GH,
156 GI,
157 GL,
158 GM,
159 GN,
160 GO,
161 GP,
162 GQ,
163 GR,
164 GT,
165 GU,
166 GW,
167 GY,
168 HK,
169 HN,
170 HR,
171 HT,
172 HU,
173 ID,
174 IE,
175 II,
176 IL,
177 IN,
178 IQ,
179 IR,
180 IS,
181 IT,
182 JM,
183 JO,
184 JP,
185 KE,
186 KG,
187 KH,
188 KI,
189 KM,
190 KN,
191 KP,
192 KR,
193 KW,
194 KY,
195 KZ,
196 LA,
197 LB,
198 LC,
199 LI,
200 LK,
201 LR,
202 LS,
203 LT,
204 LU,
205 LV,
206 LY,
207 MA,
208 MC,
209 MD,
210 ME,
211 MG,
212 MH,
213 MK,
214 ML,
215 MM,
216 MN,
217 MO,
218 MP,
219 MQ,
220 MR,
221 MS,
222 MT,
223 MU,
224 MV,
225 MW,
226 MX,
227 MY,
228 MZ,
229 NA,
230 NC,
231 NE,
232 NF,
233 NG,
234 NI,
235 NL,
236 NO,
237 NP,
238 NR,
239 NU,
240 NZ,
241 OM,
242 PA,
243 PE,
244 PF,
245 PG,
246 PH,
247 PK,
248 PL,
249 PM,
250 PR,
251 PS,
252 PT,
253 PW,
254 PY,
255 QA,
256 RE,
257 RO,
258 ROW,
259 RS,
260 RU,
261 RW,
262 SA,
263 SB,
264 SC,
265 SD,
266 SE,
267 SG,
268 SH,
269 SI,
270 SK,
271 SL,
272 SM,
273 SN,
274 SO,
275 SR,
276 SS,
277 ST,
278 SV,
279 SX,
280 SY,
281 SZ,
282 TC,
283 TD,
284 TG,
285 TH,
286 TJ,
287 TK,
288 TL,
289 TM,
290 TN,
291 TO,
292 TR,
293 TT,
294 TV,
295 TW,
296 TZ,
297 UA,
298 UG,
299 US,
300 UY,
301 UZ,
302 VA,
303 VC,
304 VE,
305 VG,
306 VI,
307 VN,
308 VU,
309 WF,
310 WS,
311 XK,
312 YE,
313 ZA,
314 ZM,
315 ZW
316}
317#[derive(Serialize, Deserialize, Clone)]
318pub enum Country {
319 #[serde(rename = "St Vincent and Grenadines")]
320 StVincentAndGrenadines,
321 #[serde(rename = "North Yemen")]
322 NorthYemen,
323 #[serde(rename = "North American")]
324 NorthAmerican,
325 #[serde(rename = "Ivory Coast")]
326 IvoryCoast,
327 #[serde(rename = "Garuda")]
328 Garuda,
329 #[serde(rename = "Global Satellite")]
330 GlobalSatellite,
331 #[serde(rename = "Mayotte Island")]
332 MayotteIsland,
333 #[serde(rename = "Afghanistan")]
334 Afghanistan,
335 #[serde(rename = "Ellipso")]
336 Ellipso,
337 #[serde(rename = "Abkhazia")]
338 Abkhazia,
339 #[serde(rename = "Albania")]
340 Albania,
341 #[serde(rename = "Algeria")]
342 Algeria,
343 #[serde(rename = "American Samoa")]
344 AmericanSamoa,
345 #[serde(rename = "Andorra")]
346 Andorra,
347 #[serde(rename = "Angola")]
348 Angola,
349 #[serde(rename = "Anguilla")]
350 Anguilla,
351 #[serde(rename = "Antarctic")]
352 Antarctic,
353 #[serde(rename = "Antigua and Barbuda")]
354 AntiguaAndBarbuda,
355 #[serde(rename = "Argentina")]
356 Argentina,
357 #[serde(rename = "Armenia")]
358 Armenia,
359 #[serde(rename = "Aruba")]
360 Aruba,
361 #[serde(rename = "Ascension Island")]
362 AscensionIsland,
363 #[serde(rename = "Australia")]
364 Australia,
365 #[serde(rename = "Austria")]
366 Austria,
367 #[serde(rename = "Azerbaijan")]
368 Azerbaijan,
369 #[serde(rename = "Bahamas")]
370 Bahamas,
371 #[serde(rename = "Bahrain")]
372 Bahrain,
373 #[serde(rename = "Bangladesh")]
374 Bangladesh,
375 #[serde(rename = "Barbados")]
376 Barbados,
377 #[serde(rename = "Belarus")]
378 Belarus,
379 #[serde(rename = "Belgium")]
380 Belgium,
381 #[serde(rename = "Belize")]
382 Belize,
383 #[serde(rename = "Benin")]
384 Benin,
385 #[serde(rename = "Bermuda")]
386 Bermuda,
387 #[serde(rename = "Bhutan")]
388 Bhutan,
389 #[serde(rename = "Bolivia")]
390 Bolivia,
391 #[serde(rename = "Bosnia and Herzegovina")]
392 BosniaAndHerzegovina,
393 #[serde(rename = "Botswana")]
394 Botswana,
395 #[serde(rename = "Brazil")]
396 Brazil,
397 #[serde(rename = "British Virgin Islands")]
398 BritishVirginIslands,
399 #[serde(rename = "Brunei Darussalam")]
400 BruneiDarussalam,
401 #[serde(rename = "Bulgaria")]
402 Bulgaria,
403 #[serde(rename = "Burkina Faso")]
404 BurkinaFaso,
405 #[serde(rename = "Burundi")]
406 Burundi,
407 #[serde(rename = "Cambodia")]
408 Cambodia,
409 #[serde(rename = "Cameroon")]
410 Cameroon,
411 #[serde(rename = "Canada")]
412 Canada,
413 #[serde(rename = "Cape Verde")]
414 CapeVerde,
415 #[serde(rename = "Cayman Islands")]
416 CaymanIslands,
417 #[serde(rename = "Central African Republic")]
418 CentralAfricanRepublic,
419 #[serde(rename = "Chad")]
420 Chad,
421 #[serde(rename = "Chile")]
422 Chile,
423 #[serde(rename = "Colombia")]
424 Colombia,
425 #[serde(rename = "Comoros")]
426 Comoros,
427 #[serde(rename = "Congo")]
428 Congo,
429 #[serde(rename = "Cook Islands")]
430 CookIslands,
431 #[serde(rename = "Costa Rica")]
432 CostaRica,
433 #[serde(rename = "Croatia")]
434 Croatia,
435 #[serde(rename = "Cuba")]
436 Cuba,
437 #[serde(rename = "Cyprus")]
438 Cyprus,
439 #[serde(rename = "Czech Republic")]
440 CzechRepublic,
441 #[serde(rename = "Democratic Republic of Timor")]
442 DemocraticRepublicofTimor,
443 #[serde(rename = "Denmark")]
444 Denmark,
445 #[serde(rename = "Diego Garcia")]
446 DiegoGarcia,
447 #[serde(rename = "Djibouti")]
448 Djibouti,
449 #[serde(rename = "Dominica")]
450 Dominica,
451 #[serde(rename = "Dominican Republic")]
452 DominicanRepublic,
453 #[serde(rename = "DR of Congo")]
454 DRofCongo,
455 #[serde(rename = "Ecuador")]
456 Ecuador,
457 #[serde(rename = "Egypt")]
458 Egypt,
459 #[serde(rename = "El Salvador")]
460 ElSalvador,
461 #[serde(rename = "Equatorial Guinea")]
462 EquatorialGuinea,
463 #[serde(rename = "Eritrea")]
464 Eritrea,
465 #[serde(rename = "Estonia")]
466 Estonia,
467 #[serde(rename = "Ethiopia")]
468 Ethiopia,
469 #[serde(rename = "Falkland Islands")]
470 FalklandIslands,
471 #[serde(rename = "Faroe Islands")]
472 FaroeIslands,
473 #[serde(rename = "Fiji")]
474 Fiji,
475 #[serde(rename = "Finland")]
476 Finland,
477 #[serde(rename = "France")]
478 France,
479 #[serde(rename = "French Guiana")]
480 FrenchGuiana,
481 #[serde(rename = "French Polynesia")]
482 FrenchPolynesia,
483 #[serde(rename = "Gabon")]
484 Gabon,
485 #[serde(rename = "Gambia")]
486 Gambia,
487 #[serde(rename = "Georgia")]
488 Georgia,
489 #[serde(rename = "Germany")]
490 Germany,
491 #[serde(rename = "Ghana")]
492 Ghana,
493 #[serde(rename = "Gibraltar")]
494 Gibraltar,
495 #[serde(rename = "Greece")]
496 Greece,
497 #[serde(rename = "Greenland")]
498 Greenland,
499 #[serde(rename = "Grenada")]
500 Grenada,
501 #[serde(rename = "Guadeloupe")]
502 Guadeloupe,
503 #[serde(rename = "Guam")]
504 Guam,
505 #[serde(rename = "Guatemala")]
506 Guatemala,
507 #[serde(rename = "Guinea")]
508 Guinea,
509 #[serde(rename = "Guyana")]
510 Guyana,
511 #[serde(rename = "Haiti")]
512 Haiti,
513 #[serde(rename = "Honduras")]
514 Honduras,
515 #[serde(rename = "Hong Kong")]
516 HongKong,
517 #[serde(rename = "Hungary")]
518 Hungary,
519 #[serde(rename = "Iceland")]
520 Iceland,
521 #[serde(rename = "India")]
522 India,
523 #[serde(rename = "Indonesia")]
524 Indonesia,
525 #[serde(rename = "Iran")]
526 Iran,
527 #[serde(rename = "Iraq")]
528 Iraq,
529 #[serde(rename = "Ireland")]
530 Ireland,
531 #[serde(rename = "Iridium")]
532 Iridium,
533 #[serde(rename = "Israel")]
534 Israel,
535 #[serde(rename = "Italy")]
536 Italy,
537 #[serde(rename = "Jamaica")]
538 Jamaica,
539 #[serde(rename = "Japan")]
540 Japan,
541 #[serde(rename = "Jordan")]
542 Jordan,
543 #[serde(rename = "Kazakhstan")]
544 Kazakhstan,
545 #[serde(rename = "Kenya")]
546 Kenya,
547 #[serde(rename = "Kiribati")]
548 Kiribati,
549 #[serde(rename = "Kosovo")]
550 Kosovo,
551 #[serde(rename = "Kuwait")]
552 Kuwait,
553 #[serde(rename = "Kyrgyzstan")]
554 Kyrgyzstan,
555 #[serde(rename = "Laos")]
556 Laos,
557 #[serde(rename = "Latvia")]
558 Latvia,
559 #[serde(rename = "Lebanon")]
560 Lebanon,
561 #[serde(rename = "Lesotho")]
562 Lesotho,
563 #[serde(rename = "Liberia")]
564 Liberia,
565 #[serde(rename = "Libya")]
566 Libya,
567 #[serde(rename = "Liechtenstein")]
568 Liechtenstein,
569 #[serde(rename = "Lithuania")]
570 Lithuania,
571 #[serde(rename = "Luxembourg")]
572 Luxembourg,
573 #[serde(rename = "Macau")]
574 Macau,
575 #[serde(rename = "Macedonia")]
576 Macedonia,
577 #[serde(rename = "Madagascar")]
578 Madagascar,
579 #[serde(rename = "Malawi")]
580 Malawi,
581 #[serde(rename = "Malaysia")]
582 Malaysia,
583 #[serde(rename = "Maldives")]
584 Maldives,
585 #[serde(rename = "Mali")]
586 Mali,
587 #[serde(rename = "Malta")]
588 Malta,
589 #[serde(rename = "Mariana Islands")]
590 MarianaIslands,
591 #[serde(rename = "Marshall Islands")]
592 MarshallIslands,
593 #[serde(rename = "Martinique")]
594 Martinique,
595 #[serde(rename = "Mauritania")]
596 Mauritania,
597 #[serde(rename = "Mauritius")]
598 Mauritius,
599 #[serde(rename = "Mexico")]
600 Mexico,
601 #[serde(rename = "Micronesia")]
602 Micronesia,
603 #[serde(rename = "Moldova")]
604 Moldova,
605 #[serde(rename = "Monaco")]
606 Monaco,
607 #[serde(rename = "Mongolia")]
608 Mongolia,
609 #[serde(rename = "Montenegro")]
610 Montenegro,
611 #[serde(rename = "Montserrat")]
612 Montserrat,
613 #[serde(rename = "Morocco")]
614 Morocco,
615 #[serde(rename = "Mozambique")]
616 Mozambique,
617 #[serde(rename = "Myanmar")]
618 Myanmar,
619 #[serde(rename = "Namibia")]
620 Namibia,
621 #[serde(rename = "Nauru")]
622 Nauru,
623 #[serde(rename = "Nepal")]
624 Nepal,
625 #[serde(rename = "Netherlands")]
626 Netherlands,
627 #[serde(rename = "Netherlands Antilles")]
628 NetherlandsAntilles,
629 #[serde(rename = "New Caledonia")]
630 NewCaledonia,
631 #[serde(rename = "New Zealand")]
632 NewZealand,
633 #[serde(rename = "Nicaragua")]
634 Nicaragua,
635 #[serde(rename = "Niger")]
636 Niger,
637 #[serde(rename = "Nigeria")]
638 Nigeria,
639 #[serde(rename = "Niue")]
640 Niue,
641 #[serde(rename = "Norfolk Island")]
642 NorfolkIsland,
643 #[serde(rename = "North Korea")]
644 NorthKorea,
645 #[serde(rename = "Norway")]
646 Norway,
647 #[serde(rename = "Oman")]
648 Oman,
649 #[serde(rename = "Pakistan")]
650 Pakistan,
651 #[serde(rename = "Palau")]
652 Palau,
653 #[serde(rename = "Palestine")]
654 Palestine,
655 #[serde(rename = "Panama")]
656 Panama,
657 #[serde(rename = "Papua New Guinea")]
658 PapuaNewGuinea,
659 #[serde(rename = "Paraguay")]
660 Paraguay,
661 #[serde(rename = "Peru")]
662 Peru,
663 #[serde(rename = "Philippines")]
664 Philippines,
665 #[serde(rename = "Poland")]
666 Poland,
667 #[serde(rename = "Portugal")]
668 Portugal,
669 #[serde(rename = "Puerto Rico")]
670 PuertoRico,
671 #[serde(rename = "Qatar")]
672 Qatar,
673 #[serde(rename = "Rest of World")]
674 RestofWorld,
675 #[serde(rename = "Reunion Island")]
676 ReunionIsland,
677 #[serde(rename = "Romania")]
678 Romania,
679 #[serde(rename = "Russia")]
680 Russia,
681 #[serde(rename = "Rwanda")]
682 Rwanda,
683 #[serde(rename = "Samoa")]
684 Samoa,
685 #[serde(rename = "San Marino")]
686 SanMarino,
687 #[serde(rename = "Sao Tome and Principe")]
688 SaoTomeAndPrincipe,
689 #[serde(rename = "Saudi Arabia")]
690 SaudiArabia,
691 #[serde(rename = "Senegal")]
692 Senegal,
693 #[serde(rename = "Serbia")]
694 Serbia,
695 #[serde(rename = "Seychelles")]
696 Seychelles,
697 #[serde(rename = "Sierra Leone")]
698 SierraLeone,
699 #[serde(rename = "Singapore")]
700 Singapore,
701 #[serde(rename = "Sint Maarten")]
702 SintMaarten,
703 #[serde(rename = "Slovakia")]
704 Slovakia,
705 #[serde(rename = "Slovenia")]
706 Slovenia,
707 #[serde(rename = "Solomon Islands")]
708 SolomonIslands,
709 #[serde(rename = "Somalia")]
710 Somalia,
711 #[serde(rename = "South Africa")]
712 SouthAfrica,
713 #[serde(rename = "South Korea")]
714 SouthKorea,
715 #[serde(rename = "South Sudan")]
716 SouthSudan,
717 #[serde(rename = "Spain")]
718 Spain,
719 #[serde(rename = "Sri Lanka")]
720 SriLanka,
721 #[serde(rename = "St. Helena")]
722 StHelena,
723 #[serde(rename = "St. Lucia")]
724 StLucia,
725 #[serde(rename = "St. Pierre and Miquelon")]
726 StPierreAndMiquelon,
727 #[serde(rename = "St.Kitts And Nevis")]
728 StKittsAndNevis,
729 #[serde(rename = "Sudan")]
730 Sudan,
731 #[serde(rename = "Suriname")]
732 Suriname,
733 #[serde(rename = "Swaziland")]
734 Swaziland,
735 #[serde(rename = "Sweden")]
736 Sweden,
737 #[serde(rename = "Switzerland")]
738 Switzerland,
739 #[serde(rename = "Syria")]
740 Syria,
741 #[serde(rename = "Taiwan")]
742 Taiwan,
743 #[serde(rename = "Tajikistan")]
744 Tajikistan,
745 #[serde(rename = "Tanzania")]
746 Tanzania,
747 #[serde(rename = "Thailand")]
748 Thailand,
749 #[serde(rename = "Togo")]
750 Togo,
751 #[serde(rename = "Tokelau")]
752 Tokelau,
753 #[serde(rename = "Tonga")]
754 Tonga,
755 #[serde(rename = "Trinidad and Tobago")]
756 TrinidadAndTobago,
757 #[serde(rename = "Tunisia")]
758 Tunisia,
759 #[serde(rename = "Turkey")]
760 Turkey,
761 #[serde(rename = "Turkmenistan")]
762 Turkmenistan,
763 #[serde(rename = "Turks and Caicos Islands")]
764 TurksAndCaicosIslands,
765 #[serde(rename = "Tuvalu")]
766 Tuvalu,
767 #[serde(rename = "Uganda")]
768 Uganda,
769 #[serde(rename = "Ukraine")]
770 Ukraine,
771 #[serde(rename = "United Arab Emirate")]
772 UnitedArabEmirate,
773 #[serde(rename = "United Arab Emirates")]
774 UnitedArabEmirates,
775 #[serde(rename = "United Kingdom")]
776 UnitedKingdom,
777 #[serde(rename = "United States")]
778 UnitedStates,
779 #[serde(rename = "USA")]
780 USA,
781 #[serde(rename = "Uruguay")]
782 Uruguay,
783 #[serde(rename = "US Virgin Island")]
784 USVirginIsland,
785 #[serde(rename = "Uzbekistan")]
786 Uzbekistan,
787 #[serde(rename = "Vanuatu")]
788 Vanuatu,
789 #[serde(rename = "Vatican")]
790 Vatican,
791 #[serde(rename = "Venezuela")]
792 Venezuela,
793 #[serde(rename = "Vietnam")]
794 Vietnam,
795 #[serde(rename = "Voxbone")]
796 Voxbone,
797 #[serde(rename = "Wallis and Futuna Islands")]
798 WallisAndFutunaIslands,
799 #[serde(rename = "Yemen")]
800 Yemen,
801 #[serde(rename = "Zambia")]
802 Zambia,
803 #[serde(rename = "Zimbabwe")]
804 Zimbabwe,
805}