dub 0.27.4__py3-none-any.whl → 0.28.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. dub/_version.py +3 -3
  2. dub/models/components/__init__.py +0 -56
  3. dub/models/components/clickevent.py +5 -764
  4. dub/models/components/leadcreatedevent.py +5 -764
  5. dub/models/components/leadevent.py +5 -764
  6. dub/models/components/linkclickedevent.py +5 -764
  7. dub/models/components/linkschema.py +5 -764
  8. dub/models/components/linkwebhookevent.py +5 -764
  9. dub/models/components/partnerenrolledevent.py +20 -7
  10. dub/models/components/salecreatedevent.py +5 -764
  11. dub/models/components/saleevent.py +13 -772
  12. dub/models/components/tagschema.py +1 -1
  13. dub/models/components/workspaceschema.py +5 -5
  14. dub/models/operations/__init__.py +0 -6
  15. dub/models/operations/bulkcreatelinks.py +5 -6
  16. dub/models/operations/bulkupdatelinks.py +5 -6
  17. dub/models/operations/createcustomer.py +0 -3
  18. dub/models/operations/createlink.py +5 -6
  19. dub/models/operations/createpartner.py +30 -266
  20. dub/models/operations/createreferralsembedtoken.py +10 -260
  21. dub/models/operations/createtag.py +4 -4
  22. dub/models/operations/getcustomer.py +0 -3
  23. dub/models/operations/getcustomers.py +0 -3
  24. dub/models/operations/listcommissions.py +9 -0
  25. dub/models/operations/listevents.py +4 -5
  26. dub/models/operations/listpartners.py +23 -9
  27. dub/models/operations/retrieveanalytics.py +4 -5
  28. dub/models/operations/retrievepartneranalytics.py +8 -0
  29. dub/models/operations/tracksale.py +8 -7
  30. dub/models/operations/updatecustomer.py +0 -3
  31. dub/models/operations/updatelink.py +5 -6
  32. dub/models/operations/updatetag.py +4 -4
  33. dub/models/operations/updateworkspace.py +2 -13
  34. dub/models/operations/upsertlink.py +5 -6
  35. {dub-0.27.4.dist-info → dub-0.28.1.dist-info}/METADATA +12 -4
  36. {dub-0.27.4.dist-info → dub-0.28.1.dist-info}/RECORD +38 -40
  37. dub/models/components/countrycode.py +0 -259
  38. dub/models/components/linkgeotargeting.py +0 -766
  39. {dub-0.27.4.dist-info → dub-0.28.1.dist-info}/LICENSE +0 -0
  40. {dub-0.27.4.dist-info → dub-0.28.1.dist-info}/WHEEL +0 -0
@@ -6,7 +6,7 @@ from dub.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTIN
6
6
  from enum import Enum
7
7
  import pydantic
8
8
  from pydantic import model_serializer
9
- from typing import Any, List, Optional
9
+ from typing import Any, Dict, List, Optional
10
10
  from typing_extensions import Annotated, NotRequired, TypedDict
11
11
 
12
12
 
@@ -28,29 +28,29 @@ class PaymentProcessor(str, Enum):
28
28
  class SaleTypedDict(TypedDict):
29
29
  amount: int
30
30
  r"""The amount of the sale in cents (for all two-decimal currencies). If the sale is in a zero-decimal currency, pass the full integer value (e.g. `1437` JPY). Learn more: https://d.to/currency"""
31
- payment_processor: PaymentProcessor
32
- r"""The payment processor via which the sale was made."""
33
31
  invoice_id: NotRequired[Nullable[str]]
34
32
  r"""The invoice ID of the sale. Can be used as a idempotency key – only one sale event can be recorded for a given invoice ID."""
33
+ payment_processor: NotRequired[PaymentProcessor]
34
+ r"""The payment processor via which the sale was made."""
35
35
 
36
36
 
37
37
  class Sale(BaseModel):
38
38
  amount: int
39
39
  r"""The amount of the sale in cents (for all two-decimal currencies). If the sale is in a zero-decimal currency, pass the full integer value (e.g. `1437` JPY). Learn more: https://d.to/currency"""
40
40
 
41
- payment_processor: Annotated[
42
- PaymentProcessor, pydantic.Field(alias="paymentProcessor")
43
- ]
44
- r"""The payment processor via which the sale was made."""
45
-
46
41
  invoice_id: Annotated[OptionalNullable[str], pydantic.Field(alias="invoiceId")] = (
47
42
  None
48
43
  )
49
44
  r"""The invoice ID of the sale. Can be used as a idempotency key – only one sale event can be recorded for a given invoice ID."""
50
45
 
46
+ payment_processor: Annotated[
47
+ Optional[PaymentProcessor], pydantic.Field(alias="paymentProcessor")
48
+ ] = PaymentProcessor.CUSTOM
49
+ r"""The payment processor via which the sale was made."""
50
+
51
51
  @model_serializer(mode="wrap")
52
52
  def serialize_model(self, handler):
53
- optional_fields = ["invoiceId"]
53
+ optional_fields = ["invoiceId", "paymentProcessor"]
54
54
  nullable_fields = ["invoiceId"]
55
55
  null_default_fields = ["invoiceId"]
56
56
 
@@ -79,765 +79,6 @@ class Sale(BaseModel):
79
79
  return m
80
80
 
81
81
 
82
- class SaleEventGeoTypedDict(TypedDict):
83
- r"""Geo targeting information for the short link in JSON format `{[COUNTRY]: https://example.com }`. Learn more: https://d.to/geo"""
84
-
85
- af: NotRequired[str]
86
- al: NotRequired[str]
87
- dz: NotRequired[str]
88
- as_: NotRequired[str]
89
- ad: NotRequired[str]
90
- ao: NotRequired[str]
91
- ai: NotRequired[str]
92
- aq: NotRequired[str]
93
- ag: NotRequired[str]
94
- ar: NotRequired[str]
95
- am: NotRequired[str]
96
- aw: NotRequired[str]
97
- au: NotRequired[str]
98
- at: NotRequired[str]
99
- az: NotRequired[str]
100
- bs: NotRequired[str]
101
- bh: NotRequired[str]
102
- bd: NotRequired[str]
103
- bb: NotRequired[str]
104
- by: NotRequired[str]
105
- be: NotRequired[str]
106
- bz: NotRequired[str]
107
- bj: NotRequired[str]
108
- bm: NotRequired[str]
109
- bt: NotRequired[str]
110
- bo: NotRequired[str]
111
- ba: NotRequired[str]
112
- bw: NotRequired[str]
113
- bv: NotRequired[str]
114
- br: NotRequired[str]
115
- io: NotRequired[str]
116
- bn: NotRequired[str]
117
- bg: NotRequired[str]
118
- bf: NotRequired[str]
119
- bi: NotRequired[str]
120
- kh: NotRequired[str]
121
- cm: NotRequired[str]
122
- ca: NotRequired[str]
123
- cv: NotRequired[str]
124
- ky: NotRequired[str]
125
- cf: NotRequired[str]
126
- td: NotRequired[str]
127
- cl: NotRequired[str]
128
- cn: NotRequired[str]
129
- cx: NotRequired[str]
130
- cc: NotRequired[str]
131
- co: NotRequired[str]
132
- km: NotRequired[str]
133
- cg: NotRequired[str]
134
- cd: NotRequired[str]
135
- ck: NotRequired[str]
136
- cr: NotRequired[str]
137
- ci: NotRequired[str]
138
- hr: NotRequired[str]
139
- cu: NotRequired[str]
140
- cy: NotRequired[str]
141
- cz: NotRequired[str]
142
- dk: NotRequired[str]
143
- dj: NotRequired[str]
144
- dm: NotRequired[str]
145
- do: NotRequired[str]
146
- ec: NotRequired[str]
147
- eg: NotRequired[str]
148
- sv: NotRequired[str]
149
- gq: NotRequired[str]
150
- er: NotRequired[str]
151
- ee: NotRequired[str]
152
- et: NotRequired[str]
153
- fk: NotRequired[str]
154
- fo: NotRequired[str]
155
- fj: NotRequired[str]
156
- fi: NotRequired[str]
157
- fr: NotRequired[str]
158
- gf: NotRequired[str]
159
- pf: NotRequired[str]
160
- tf: NotRequired[str]
161
- ga: NotRequired[str]
162
- gm: NotRequired[str]
163
- ge: NotRequired[str]
164
- de: NotRequired[str]
165
- gh: NotRequired[str]
166
- gi: NotRequired[str]
167
- gr: NotRequired[str]
168
- gl: NotRequired[str]
169
- gd: NotRequired[str]
170
- gp: NotRequired[str]
171
- gu: NotRequired[str]
172
- gt: NotRequired[str]
173
- gn: NotRequired[str]
174
- gw: NotRequired[str]
175
- gy: NotRequired[str]
176
- ht: NotRequired[str]
177
- hm: NotRequired[str]
178
- va: NotRequired[str]
179
- hn: NotRequired[str]
180
- hk: NotRequired[str]
181
- hu: NotRequired[str]
182
- is_: NotRequired[str]
183
- in_: NotRequired[str]
184
- id: NotRequired[str]
185
- ir: NotRequired[str]
186
- iq: NotRequired[str]
187
- ie: NotRequired[str]
188
- il: NotRequired[str]
189
- it: NotRequired[str]
190
- jm: NotRequired[str]
191
- jp: NotRequired[str]
192
- jo: NotRequired[str]
193
- kz: NotRequired[str]
194
- ke: NotRequired[str]
195
- ki: NotRequired[str]
196
- kp: NotRequired[str]
197
- kr: NotRequired[str]
198
- kw: NotRequired[str]
199
- kg: NotRequired[str]
200
- la: NotRequired[str]
201
- lv: NotRequired[str]
202
- lb: NotRequired[str]
203
- ls: NotRequired[str]
204
- lr: NotRequired[str]
205
- ly: NotRequired[str]
206
- li: NotRequired[str]
207
- lt: NotRequired[str]
208
- lu: NotRequired[str]
209
- mo: NotRequired[str]
210
- mg: NotRequired[str]
211
- mw: NotRequired[str]
212
- my: NotRequired[str]
213
- mv: NotRequired[str]
214
- ml: NotRequired[str]
215
- mt: NotRequired[str]
216
- mh: NotRequired[str]
217
- mq: NotRequired[str]
218
- mr: NotRequired[str]
219
- mu: NotRequired[str]
220
- yt: NotRequired[str]
221
- mx: NotRequired[str]
222
- fm: NotRequired[str]
223
- md: NotRequired[str]
224
- mc: NotRequired[str]
225
- mn: NotRequired[str]
226
- ms: NotRequired[str]
227
- ma: NotRequired[str]
228
- mz: NotRequired[str]
229
- mm: NotRequired[str]
230
- na: NotRequired[str]
231
- nr: NotRequired[str]
232
- np: NotRequired[str]
233
- nl: NotRequired[str]
234
- nc: NotRequired[str]
235
- nz: NotRequired[str]
236
- ni: NotRequired[str]
237
- ne: NotRequired[str]
238
- ng: NotRequired[str]
239
- nu: NotRequired[str]
240
- nf: NotRequired[str]
241
- mk: NotRequired[str]
242
- mp: NotRequired[str]
243
- no: NotRequired[str]
244
- om: NotRequired[str]
245
- pk: NotRequired[str]
246
- pw: NotRequired[str]
247
- ps: NotRequired[str]
248
- pa: NotRequired[str]
249
- pg: NotRequired[str]
250
- py: NotRequired[str]
251
- pe: NotRequired[str]
252
- ph: NotRequired[str]
253
- pn: NotRequired[str]
254
- pl: NotRequired[str]
255
- pt: NotRequired[str]
256
- pr: NotRequired[str]
257
- qa: NotRequired[str]
258
- re: NotRequired[str]
259
- ro: NotRequired[str]
260
- ru: NotRequired[str]
261
- rw: NotRequired[str]
262
- sh: NotRequired[str]
263
- kn: NotRequired[str]
264
- lc: NotRequired[str]
265
- pm: NotRequired[str]
266
- vc: NotRequired[str]
267
- ws: NotRequired[str]
268
- sm: NotRequired[str]
269
- st: NotRequired[str]
270
- sa: NotRequired[str]
271
- sn: NotRequired[str]
272
- sc: NotRequired[str]
273
- sl: NotRequired[str]
274
- sg: NotRequired[str]
275
- sk: NotRequired[str]
276
- si: NotRequired[str]
277
- sb: NotRequired[str]
278
- so: NotRequired[str]
279
- za: NotRequired[str]
280
- gs: NotRequired[str]
281
- es: NotRequired[str]
282
- lk: NotRequired[str]
283
- sd: NotRequired[str]
284
- sr: NotRequired[str]
285
- sj: NotRequired[str]
286
- sz: NotRequired[str]
287
- se: NotRequired[str]
288
- ch: NotRequired[str]
289
- sy: NotRequired[str]
290
- tw: NotRequired[str]
291
- tj: NotRequired[str]
292
- tz: NotRequired[str]
293
- th: NotRequired[str]
294
- tl: NotRequired[str]
295
- tg: NotRequired[str]
296
- tk: NotRequired[str]
297
- to: NotRequired[str]
298
- tt: NotRequired[str]
299
- tn: NotRequired[str]
300
- tr: NotRequired[str]
301
- tm: NotRequired[str]
302
- tc: NotRequired[str]
303
- tv: NotRequired[str]
304
- ug: NotRequired[str]
305
- ua: NotRequired[str]
306
- ae: NotRequired[str]
307
- gb: NotRequired[str]
308
- us: NotRequired[str]
309
- um: NotRequired[str]
310
- uy: NotRequired[str]
311
- uz: NotRequired[str]
312
- vu: NotRequired[str]
313
- ve: NotRequired[str]
314
- vn: NotRequired[str]
315
- vg: NotRequired[str]
316
- vi: NotRequired[str]
317
- wf: NotRequired[str]
318
- eh: NotRequired[str]
319
- ye: NotRequired[str]
320
- zm: NotRequired[str]
321
- zw: NotRequired[str]
322
- ax: NotRequired[str]
323
- bq: NotRequired[str]
324
- cw: NotRequired[str]
325
- gg: NotRequired[str]
326
- im: NotRequired[str]
327
- je: NotRequired[str]
328
- me: NotRequired[str]
329
- bl: NotRequired[str]
330
- mf: NotRequired[str]
331
- rs: NotRequired[str]
332
- sx: NotRequired[str]
333
- ss: NotRequired[str]
334
- xk: NotRequired[str]
335
-
336
-
337
- class SaleEventGeo(BaseModel):
338
- r"""Geo targeting information for the short link in JSON format `{[COUNTRY]: https://example.com }`. Learn more: https://d.to/geo"""
339
-
340
- af: Annotated[Optional[str], pydantic.Field(alias="AF")] = None
341
-
342
- al: Annotated[Optional[str], pydantic.Field(alias="AL")] = None
343
-
344
- dz: Annotated[Optional[str], pydantic.Field(alias="DZ")] = None
345
-
346
- as_: Annotated[Optional[str], pydantic.Field(alias="AS")] = None
347
-
348
- ad: Annotated[Optional[str], pydantic.Field(alias="AD")] = None
349
-
350
- ao: Annotated[Optional[str], pydantic.Field(alias="AO")] = None
351
-
352
- ai: Annotated[Optional[str], pydantic.Field(alias="AI")] = None
353
-
354
- aq: Annotated[Optional[str], pydantic.Field(alias="AQ")] = None
355
-
356
- ag: Annotated[Optional[str], pydantic.Field(alias="AG")] = None
357
-
358
- ar: Annotated[Optional[str], pydantic.Field(alias="AR")] = None
359
-
360
- am: Annotated[Optional[str], pydantic.Field(alias="AM")] = None
361
-
362
- aw: Annotated[Optional[str], pydantic.Field(alias="AW")] = None
363
-
364
- au: Annotated[Optional[str], pydantic.Field(alias="AU")] = None
365
-
366
- at: Annotated[Optional[str], pydantic.Field(alias="AT")] = None
367
-
368
- az: Annotated[Optional[str], pydantic.Field(alias="AZ")] = None
369
-
370
- bs: Annotated[Optional[str], pydantic.Field(alias="BS")] = None
371
-
372
- bh: Annotated[Optional[str], pydantic.Field(alias="BH")] = None
373
-
374
- bd: Annotated[Optional[str], pydantic.Field(alias="BD")] = None
375
-
376
- bb: Annotated[Optional[str], pydantic.Field(alias="BB")] = None
377
-
378
- by: Annotated[Optional[str], pydantic.Field(alias="BY")] = None
379
-
380
- be: Annotated[Optional[str], pydantic.Field(alias="BE")] = None
381
-
382
- bz: Annotated[Optional[str], pydantic.Field(alias="BZ")] = None
383
-
384
- bj: Annotated[Optional[str], pydantic.Field(alias="BJ")] = None
385
-
386
- bm: Annotated[Optional[str], pydantic.Field(alias="BM")] = None
387
-
388
- bt: Annotated[Optional[str], pydantic.Field(alias="BT")] = None
389
-
390
- bo: Annotated[Optional[str], pydantic.Field(alias="BO")] = None
391
-
392
- ba: Annotated[Optional[str], pydantic.Field(alias="BA")] = None
393
-
394
- bw: Annotated[Optional[str], pydantic.Field(alias="BW")] = None
395
-
396
- bv: Annotated[Optional[str], pydantic.Field(alias="BV")] = None
397
-
398
- br: Annotated[Optional[str], pydantic.Field(alias="BR")] = None
399
-
400
- io: Annotated[Optional[str], pydantic.Field(alias="IO")] = None
401
-
402
- bn: Annotated[Optional[str], pydantic.Field(alias="BN")] = None
403
-
404
- bg: Annotated[Optional[str], pydantic.Field(alias="BG")] = None
405
-
406
- bf: Annotated[Optional[str], pydantic.Field(alias="BF")] = None
407
-
408
- bi: Annotated[Optional[str], pydantic.Field(alias="BI")] = None
409
-
410
- kh: Annotated[Optional[str], pydantic.Field(alias="KH")] = None
411
-
412
- cm: Annotated[Optional[str], pydantic.Field(alias="CM")] = None
413
-
414
- ca: Annotated[Optional[str], pydantic.Field(alias="CA")] = None
415
-
416
- cv: Annotated[Optional[str], pydantic.Field(alias="CV")] = None
417
-
418
- ky: Annotated[Optional[str], pydantic.Field(alias="KY")] = None
419
-
420
- cf: Annotated[Optional[str], pydantic.Field(alias="CF")] = None
421
-
422
- td: Annotated[Optional[str], pydantic.Field(alias="TD")] = None
423
-
424
- cl: Annotated[Optional[str], pydantic.Field(alias="CL")] = None
425
-
426
- cn: Annotated[Optional[str], pydantic.Field(alias="CN")] = None
427
-
428
- cx: Annotated[Optional[str], pydantic.Field(alias="CX")] = None
429
-
430
- cc: Annotated[Optional[str], pydantic.Field(alias="CC")] = None
431
-
432
- co: Annotated[Optional[str], pydantic.Field(alias="CO")] = None
433
-
434
- km: Annotated[Optional[str], pydantic.Field(alias="KM")] = None
435
-
436
- cg: Annotated[Optional[str], pydantic.Field(alias="CG")] = None
437
-
438
- cd: Annotated[Optional[str], pydantic.Field(alias="CD")] = None
439
-
440
- ck: Annotated[Optional[str], pydantic.Field(alias="CK")] = None
441
-
442
- cr: Annotated[Optional[str], pydantic.Field(alias="CR")] = None
443
-
444
- ci: Annotated[Optional[str], pydantic.Field(alias="CI")] = None
445
-
446
- hr: Annotated[Optional[str], pydantic.Field(alias="HR")] = None
447
-
448
- cu: Annotated[Optional[str], pydantic.Field(alias="CU")] = None
449
-
450
- cy: Annotated[Optional[str], pydantic.Field(alias="CY")] = None
451
-
452
- cz: Annotated[Optional[str], pydantic.Field(alias="CZ")] = None
453
-
454
- dk: Annotated[Optional[str], pydantic.Field(alias="DK")] = None
455
-
456
- dj: Annotated[Optional[str], pydantic.Field(alias="DJ")] = None
457
-
458
- dm: Annotated[Optional[str], pydantic.Field(alias="DM")] = None
459
-
460
- do: Annotated[Optional[str], pydantic.Field(alias="DO")] = None
461
-
462
- ec: Annotated[Optional[str], pydantic.Field(alias="EC")] = None
463
-
464
- eg: Annotated[Optional[str], pydantic.Field(alias="EG")] = None
465
-
466
- sv: Annotated[Optional[str], pydantic.Field(alias="SV")] = None
467
-
468
- gq: Annotated[Optional[str], pydantic.Field(alias="GQ")] = None
469
-
470
- er: Annotated[Optional[str], pydantic.Field(alias="ER")] = None
471
-
472
- ee: Annotated[Optional[str], pydantic.Field(alias="EE")] = None
473
-
474
- et: Annotated[Optional[str], pydantic.Field(alias="ET")] = None
475
-
476
- fk: Annotated[Optional[str], pydantic.Field(alias="FK")] = None
477
-
478
- fo: Annotated[Optional[str], pydantic.Field(alias="FO")] = None
479
-
480
- fj: Annotated[Optional[str], pydantic.Field(alias="FJ")] = None
481
-
482
- fi: Annotated[Optional[str], pydantic.Field(alias="FI")] = None
483
-
484
- fr: Annotated[Optional[str], pydantic.Field(alias="FR")] = None
485
-
486
- gf: Annotated[Optional[str], pydantic.Field(alias="GF")] = None
487
-
488
- pf: Annotated[Optional[str], pydantic.Field(alias="PF")] = None
489
-
490
- tf: Annotated[Optional[str], pydantic.Field(alias="TF")] = None
491
-
492
- ga: Annotated[Optional[str], pydantic.Field(alias="GA")] = None
493
-
494
- gm: Annotated[Optional[str], pydantic.Field(alias="GM")] = None
495
-
496
- ge: Annotated[Optional[str], pydantic.Field(alias="GE")] = None
497
-
498
- de: Annotated[Optional[str], pydantic.Field(alias="DE")] = None
499
-
500
- gh: Annotated[Optional[str], pydantic.Field(alias="GH")] = None
501
-
502
- gi: Annotated[Optional[str], pydantic.Field(alias="GI")] = None
503
-
504
- gr: Annotated[Optional[str], pydantic.Field(alias="GR")] = None
505
-
506
- gl: Annotated[Optional[str], pydantic.Field(alias="GL")] = None
507
-
508
- gd: Annotated[Optional[str], pydantic.Field(alias="GD")] = None
509
-
510
- gp: Annotated[Optional[str], pydantic.Field(alias="GP")] = None
511
-
512
- gu: Annotated[Optional[str], pydantic.Field(alias="GU")] = None
513
-
514
- gt: Annotated[Optional[str], pydantic.Field(alias="GT")] = None
515
-
516
- gn: Annotated[Optional[str], pydantic.Field(alias="GN")] = None
517
-
518
- gw: Annotated[Optional[str], pydantic.Field(alias="GW")] = None
519
-
520
- gy: Annotated[Optional[str], pydantic.Field(alias="GY")] = None
521
-
522
- ht: Annotated[Optional[str], pydantic.Field(alias="HT")] = None
523
-
524
- hm: Annotated[Optional[str], pydantic.Field(alias="HM")] = None
525
-
526
- va: Annotated[Optional[str], pydantic.Field(alias="VA")] = None
527
-
528
- hn: Annotated[Optional[str], pydantic.Field(alias="HN")] = None
529
-
530
- hk: Annotated[Optional[str], pydantic.Field(alias="HK")] = None
531
-
532
- hu: Annotated[Optional[str], pydantic.Field(alias="HU")] = None
533
-
534
- is_: Annotated[Optional[str], pydantic.Field(alias="IS")] = None
535
-
536
- in_: Annotated[Optional[str], pydantic.Field(alias="IN")] = None
537
-
538
- id: Annotated[Optional[str], pydantic.Field(alias="ID")] = None
539
-
540
- ir: Annotated[Optional[str], pydantic.Field(alias="IR")] = None
541
-
542
- iq: Annotated[Optional[str], pydantic.Field(alias="IQ")] = None
543
-
544
- ie: Annotated[Optional[str], pydantic.Field(alias="IE")] = None
545
-
546
- il: Annotated[Optional[str], pydantic.Field(alias="IL")] = None
547
-
548
- it: Annotated[Optional[str], pydantic.Field(alias="IT")] = None
549
-
550
- jm: Annotated[Optional[str], pydantic.Field(alias="JM")] = None
551
-
552
- jp: Annotated[Optional[str], pydantic.Field(alias="JP")] = None
553
-
554
- jo: Annotated[Optional[str], pydantic.Field(alias="JO")] = None
555
-
556
- kz: Annotated[Optional[str], pydantic.Field(alias="KZ")] = None
557
-
558
- ke: Annotated[Optional[str], pydantic.Field(alias="KE")] = None
559
-
560
- ki: Annotated[Optional[str], pydantic.Field(alias="KI")] = None
561
-
562
- kp: Annotated[Optional[str], pydantic.Field(alias="KP")] = None
563
-
564
- kr: Annotated[Optional[str], pydantic.Field(alias="KR")] = None
565
-
566
- kw: Annotated[Optional[str], pydantic.Field(alias="KW")] = None
567
-
568
- kg: Annotated[Optional[str], pydantic.Field(alias="KG")] = None
569
-
570
- la: Annotated[Optional[str], pydantic.Field(alias="LA")] = None
571
-
572
- lv: Annotated[Optional[str], pydantic.Field(alias="LV")] = None
573
-
574
- lb: Annotated[Optional[str], pydantic.Field(alias="LB")] = None
575
-
576
- ls: Annotated[Optional[str], pydantic.Field(alias="LS")] = None
577
-
578
- lr: Annotated[Optional[str], pydantic.Field(alias="LR")] = None
579
-
580
- ly: Annotated[Optional[str], pydantic.Field(alias="LY")] = None
581
-
582
- li: Annotated[Optional[str], pydantic.Field(alias="LI")] = None
583
-
584
- lt: Annotated[Optional[str], pydantic.Field(alias="LT")] = None
585
-
586
- lu: Annotated[Optional[str], pydantic.Field(alias="LU")] = None
587
-
588
- mo: Annotated[Optional[str], pydantic.Field(alias="MO")] = None
589
-
590
- mg: Annotated[Optional[str], pydantic.Field(alias="MG")] = None
591
-
592
- mw: Annotated[Optional[str], pydantic.Field(alias="MW")] = None
593
-
594
- my: Annotated[Optional[str], pydantic.Field(alias="MY")] = None
595
-
596
- mv: Annotated[Optional[str], pydantic.Field(alias="MV")] = None
597
-
598
- ml: Annotated[Optional[str], pydantic.Field(alias="ML")] = None
599
-
600
- mt: Annotated[Optional[str], pydantic.Field(alias="MT")] = None
601
-
602
- mh: Annotated[Optional[str], pydantic.Field(alias="MH")] = None
603
-
604
- mq: Annotated[Optional[str], pydantic.Field(alias="MQ")] = None
605
-
606
- mr: Annotated[Optional[str], pydantic.Field(alias="MR")] = None
607
-
608
- mu: Annotated[Optional[str], pydantic.Field(alias="MU")] = None
609
-
610
- yt: Annotated[Optional[str], pydantic.Field(alias="YT")] = None
611
-
612
- mx: Annotated[Optional[str], pydantic.Field(alias="MX")] = None
613
-
614
- fm: Annotated[Optional[str], pydantic.Field(alias="FM")] = None
615
-
616
- md: Annotated[Optional[str], pydantic.Field(alias="MD")] = None
617
-
618
- mc: Annotated[Optional[str], pydantic.Field(alias="MC")] = None
619
-
620
- mn: Annotated[Optional[str], pydantic.Field(alias="MN")] = None
621
-
622
- ms: Annotated[Optional[str], pydantic.Field(alias="MS")] = None
623
-
624
- ma: Annotated[Optional[str], pydantic.Field(alias="MA")] = None
625
-
626
- mz: Annotated[Optional[str], pydantic.Field(alias="MZ")] = None
627
-
628
- mm: Annotated[Optional[str], pydantic.Field(alias="MM")] = None
629
-
630
- na: Annotated[Optional[str], pydantic.Field(alias="NA")] = None
631
-
632
- nr: Annotated[Optional[str], pydantic.Field(alias="NR")] = None
633
-
634
- np: Annotated[Optional[str], pydantic.Field(alias="NP")] = None
635
-
636
- nl: Annotated[Optional[str], pydantic.Field(alias="NL")] = None
637
-
638
- nc: Annotated[Optional[str], pydantic.Field(alias="NC")] = None
639
-
640
- nz: Annotated[Optional[str], pydantic.Field(alias="NZ")] = None
641
-
642
- ni: Annotated[Optional[str], pydantic.Field(alias="NI")] = None
643
-
644
- ne: Annotated[Optional[str], pydantic.Field(alias="NE")] = None
645
-
646
- ng: Annotated[Optional[str], pydantic.Field(alias="NG")] = None
647
-
648
- nu: Annotated[Optional[str], pydantic.Field(alias="NU")] = None
649
-
650
- nf: Annotated[Optional[str], pydantic.Field(alias="NF")] = None
651
-
652
- mk: Annotated[Optional[str], pydantic.Field(alias="MK")] = None
653
-
654
- mp: Annotated[Optional[str], pydantic.Field(alias="MP")] = None
655
-
656
- no: Annotated[Optional[str], pydantic.Field(alias="NO")] = None
657
-
658
- om: Annotated[Optional[str], pydantic.Field(alias="OM")] = None
659
-
660
- pk: Annotated[Optional[str], pydantic.Field(alias="PK")] = None
661
-
662
- pw: Annotated[Optional[str], pydantic.Field(alias="PW")] = None
663
-
664
- ps: Annotated[Optional[str], pydantic.Field(alias="PS")] = None
665
-
666
- pa: Annotated[Optional[str], pydantic.Field(alias="PA")] = None
667
-
668
- pg: Annotated[Optional[str], pydantic.Field(alias="PG")] = None
669
-
670
- py: Annotated[Optional[str], pydantic.Field(alias="PY")] = None
671
-
672
- pe: Annotated[Optional[str], pydantic.Field(alias="PE")] = None
673
-
674
- ph: Annotated[Optional[str], pydantic.Field(alias="PH")] = None
675
-
676
- pn: Annotated[Optional[str], pydantic.Field(alias="PN")] = None
677
-
678
- pl: Annotated[Optional[str], pydantic.Field(alias="PL")] = None
679
-
680
- pt: Annotated[Optional[str], pydantic.Field(alias="PT")] = None
681
-
682
- pr: Annotated[Optional[str], pydantic.Field(alias="PR")] = None
683
-
684
- qa: Annotated[Optional[str], pydantic.Field(alias="QA")] = None
685
-
686
- re: Annotated[Optional[str], pydantic.Field(alias="RE")] = None
687
-
688
- ro: Annotated[Optional[str], pydantic.Field(alias="RO")] = None
689
-
690
- ru: Annotated[Optional[str], pydantic.Field(alias="RU")] = None
691
-
692
- rw: Annotated[Optional[str], pydantic.Field(alias="RW")] = None
693
-
694
- sh: Annotated[Optional[str], pydantic.Field(alias="SH")] = None
695
-
696
- kn: Annotated[Optional[str], pydantic.Field(alias="KN")] = None
697
-
698
- lc: Annotated[Optional[str], pydantic.Field(alias="LC")] = None
699
-
700
- pm: Annotated[Optional[str], pydantic.Field(alias="PM")] = None
701
-
702
- vc: Annotated[Optional[str], pydantic.Field(alias="VC")] = None
703
-
704
- ws: Annotated[Optional[str], pydantic.Field(alias="WS")] = None
705
-
706
- sm: Annotated[Optional[str], pydantic.Field(alias="SM")] = None
707
-
708
- st: Annotated[Optional[str], pydantic.Field(alias="ST")] = None
709
-
710
- sa: Annotated[Optional[str], pydantic.Field(alias="SA")] = None
711
-
712
- sn: Annotated[Optional[str], pydantic.Field(alias="SN")] = None
713
-
714
- sc: Annotated[Optional[str], pydantic.Field(alias="SC")] = None
715
-
716
- sl: Annotated[Optional[str], pydantic.Field(alias="SL")] = None
717
-
718
- sg: Annotated[Optional[str], pydantic.Field(alias="SG")] = None
719
-
720
- sk: Annotated[Optional[str], pydantic.Field(alias="SK")] = None
721
-
722
- si: Annotated[Optional[str], pydantic.Field(alias="SI")] = None
723
-
724
- sb: Annotated[Optional[str], pydantic.Field(alias="SB")] = None
725
-
726
- so: Annotated[Optional[str], pydantic.Field(alias="SO")] = None
727
-
728
- za: Annotated[Optional[str], pydantic.Field(alias="ZA")] = None
729
-
730
- gs: Annotated[Optional[str], pydantic.Field(alias="GS")] = None
731
-
732
- es: Annotated[Optional[str], pydantic.Field(alias="ES")] = None
733
-
734
- lk: Annotated[Optional[str], pydantic.Field(alias="LK")] = None
735
-
736
- sd: Annotated[Optional[str], pydantic.Field(alias="SD")] = None
737
-
738
- sr: Annotated[Optional[str], pydantic.Field(alias="SR")] = None
739
-
740
- sj: Annotated[Optional[str], pydantic.Field(alias="SJ")] = None
741
-
742
- sz: Annotated[Optional[str], pydantic.Field(alias="SZ")] = None
743
-
744
- se: Annotated[Optional[str], pydantic.Field(alias="SE")] = None
745
-
746
- ch: Annotated[Optional[str], pydantic.Field(alias="CH")] = None
747
-
748
- sy: Annotated[Optional[str], pydantic.Field(alias="SY")] = None
749
-
750
- tw: Annotated[Optional[str], pydantic.Field(alias="TW")] = None
751
-
752
- tj: Annotated[Optional[str], pydantic.Field(alias="TJ")] = None
753
-
754
- tz: Annotated[Optional[str], pydantic.Field(alias="TZ")] = None
755
-
756
- th: Annotated[Optional[str], pydantic.Field(alias="TH")] = None
757
-
758
- tl: Annotated[Optional[str], pydantic.Field(alias="TL")] = None
759
-
760
- tg: Annotated[Optional[str], pydantic.Field(alias="TG")] = None
761
-
762
- tk: Annotated[Optional[str], pydantic.Field(alias="TK")] = None
763
-
764
- to: Annotated[Optional[str], pydantic.Field(alias="TO")] = None
765
-
766
- tt: Annotated[Optional[str], pydantic.Field(alias="TT")] = None
767
-
768
- tn: Annotated[Optional[str], pydantic.Field(alias="TN")] = None
769
-
770
- tr: Annotated[Optional[str], pydantic.Field(alias="TR")] = None
771
-
772
- tm: Annotated[Optional[str], pydantic.Field(alias="TM")] = None
773
-
774
- tc: Annotated[Optional[str], pydantic.Field(alias="TC")] = None
775
-
776
- tv: Annotated[Optional[str], pydantic.Field(alias="TV")] = None
777
-
778
- ug: Annotated[Optional[str], pydantic.Field(alias="UG")] = None
779
-
780
- ua: Annotated[Optional[str], pydantic.Field(alias="UA")] = None
781
-
782
- ae: Annotated[Optional[str], pydantic.Field(alias="AE")] = None
783
-
784
- gb: Annotated[Optional[str], pydantic.Field(alias="GB")] = None
785
-
786
- us: Annotated[Optional[str], pydantic.Field(alias="US")] = None
787
-
788
- um: Annotated[Optional[str], pydantic.Field(alias="UM")] = None
789
-
790
- uy: Annotated[Optional[str], pydantic.Field(alias="UY")] = None
791
-
792
- uz: Annotated[Optional[str], pydantic.Field(alias="UZ")] = None
793
-
794
- vu: Annotated[Optional[str], pydantic.Field(alias="VU")] = None
795
-
796
- ve: Annotated[Optional[str], pydantic.Field(alias="VE")] = None
797
-
798
- vn: Annotated[Optional[str], pydantic.Field(alias="VN")] = None
799
-
800
- vg: Annotated[Optional[str], pydantic.Field(alias="VG")] = None
801
-
802
- vi: Annotated[Optional[str], pydantic.Field(alias="VI")] = None
803
-
804
- wf: Annotated[Optional[str], pydantic.Field(alias="WF")] = None
805
-
806
- eh: Annotated[Optional[str], pydantic.Field(alias="EH")] = None
807
-
808
- ye: Annotated[Optional[str], pydantic.Field(alias="YE")] = None
809
-
810
- zm: Annotated[Optional[str], pydantic.Field(alias="ZM")] = None
811
-
812
- zw: Annotated[Optional[str], pydantic.Field(alias="ZW")] = None
813
-
814
- ax: Annotated[Optional[str], pydantic.Field(alias="AX")] = None
815
-
816
- bq: Annotated[Optional[str], pydantic.Field(alias="BQ")] = None
817
-
818
- cw: Annotated[Optional[str], pydantic.Field(alias="CW")] = None
819
-
820
- gg: Annotated[Optional[str], pydantic.Field(alias="GG")] = None
821
-
822
- im: Annotated[Optional[str], pydantic.Field(alias="IM")] = None
823
-
824
- je: Annotated[Optional[str], pydantic.Field(alias="JE")] = None
825
-
826
- me: Annotated[Optional[str], pydantic.Field(alias="ME")] = None
827
-
828
- bl: Annotated[Optional[str], pydantic.Field(alias="BL")] = None
829
-
830
- mf: Annotated[Optional[str], pydantic.Field(alias="MF")] = None
831
-
832
- rs: Annotated[Optional[str], pydantic.Field(alias="RS")] = None
833
-
834
- sx: Annotated[Optional[str], pydantic.Field(alias="SX")] = None
835
-
836
- ss: Annotated[Optional[str], pydantic.Field(alias="SS")] = None
837
-
838
- xk: Annotated[Optional[str], pydantic.Field(alias="XK")] = None
839
-
840
-
841
82
  class SaleEventTestVariantsTypedDict(TypedDict):
842
83
  url: str
843
84
  percentage: float
@@ -886,8 +127,8 @@ class SaleEventLinkTypedDict(TypedDict):
886
127
  r"""The iOS destination URL for the short link for iOS device targeting."""
887
128
  android: Nullable[str]
888
129
  r"""The Android destination URL for the short link for Android device targeting."""
889
- geo: Nullable[SaleEventGeoTypedDict]
890
- r"""Geo targeting information for the short link in JSON format `{[COUNTRY]: https://example.com }`. Learn more: https://d.to/geo"""
130
+ geo: Nullable[Dict[str, str]]
131
+ r"""Geo targeting information for the short link in JSON format `{[COUNTRY]: https://example.com }`. See https://d.to/geo for more information."""
891
132
  public_stats: bool
892
133
  tags: Nullable[List[TagSchemaTypedDict]]
893
134
  r"""The tags assigned to the short link."""
@@ -996,8 +237,8 @@ class SaleEventLink(BaseModel):
996
237
  android: Nullable[str]
997
238
  r"""The Android destination URL for the short link for Android device targeting."""
998
239
 
999
- geo: Nullable[SaleEventGeo]
1000
- r"""Geo targeting information for the short link in JSON format `{[COUNTRY]: https://example.com }`. Learn more: https://d.to/geo"""
240
+ geo: Nullable[Dict[str, str]]
241
+ r"""Geo targeting information for the short link in JSON format `{[COUNTRY]: https://example.com }`. See https://d.to/geo for more information."""
1001
242
 
1002
243
  public_stats: Annotated[bool, pydantic.Field(alias="publicStats")]
1003
244