xync-schema 0.6.73.dev6__tar.gz → 0.6.73.dev8__tar.gz
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.
- {xync_schema-0.6.73.dev6/xync_schema.egg-info → xync_schema-0.6.73.dev8}/PKG-INFO +1 -1
- {xync_schema-0.6.73.dev6 → xync_schema-0.6.73.dev8}/tests/test_db.py +3 -3
- {xync_schema-0.6.73.dev6 → xync_schema-0.6.73.dev8}/xync_schema/models.py +39 -20
- xync_schema-0.6.73.dev8/xync_schema/types.py +133 -0
- {xync_schema-0.6.73.dev6 → xync_schema-0.6.73.dev8/xync_schema.egg-info}/PKG-INFO +1 -1
- xync_schema-0.6.73.dev6/xync_schema/types.py +0 -181
- {xync_schema-0.6.73.dev6 → xync_schema-0.6.73.dev8}/.env.sample +0 -0
- {xync_schema-0.6.73.dev6 → xync_schema-0.6.73.dev8}/.gitignore +0 -0
- {xync_schema-0.6.73.dev6 → xync_schema-0.6.73.dev8}/.pre-commit-config.yaml +0 -0
- {xync_schema-0.6.73.dev6 → xync_schema-0.6.73.dev8}/README.md +0 -0
- {xync_schema-0.6.73.dev6 → xync_schema-0.6.73.dev8}/makefile +0 -0
- {xync_schema-0.6.73.dev6 → xync_schema-0.6.73.dev8}/pyproject.toml +0 -0
- {xync_schema-0.6.73.dev6 → xync_schema-0.6.73.dev8}/setup.cfg +0 -0
- {xync_schema-0.6.73.dev6 → xync_schema-0.6.73.dev8}/tests/__init__.py +0 -0
- {xync_schema-0.6.73.dev6 → xync_schema-0.6.73.dev8}/xync_schema/__init__.py +0 -0
- {xync_schema-0.6.73.dev6 → xync_schema-0.6.73.dev8}/xync_schema/enums.py +0 -0
- {xync_schema-0.6.73.dev6 → xync_schema-0.6.73.dev8}/xync_schema.egg-info/SOURCES.txt +0 -0
- {xync_schema-0.6.73.dev6 → xync_schema-0.6.73.dev8}/xync_schema.egg-info/dependency_links.txt +0 -0
- {xync_schema-0.6.73.dev6 → xync_schema-0.6.73.dev8}/xync_schema.egg-info/requires.txt +0 -0
- {xync_schema-0.6.73.dev6 → xync_schema-0.6.73.dev8}/xync_schema.egg-info/top_level.txt +0 -0
|
@@ -7,7 +7,7 @@ from tortoise.backends.asyncpg import AsyncpgDBClient
|
|
|
7
7
|
from x_model import init_db
|
|
8
8
|
|
|
9
9
|
from xync_schema import models
|
|
10
|
-
from xync_schema.models import
|
|
10
|
+
from xync_schema.models import Ex
|
|
11
11
|
|
|
12
12
|
load_dotenv()
|
|
13
13
|
|
|
@@ -25,5 +25,5 @@ async def test_init_db(dbc):
|
|
|
25
25
|
|
|
26
26
|
|
|
27
27
|
async def test_models(dbc):
|
|
28
|
-
c = await
|
|
29
|
-
assert isinstance(c,
|
|
28
|
+
c = await Ex.first()
|
|
29
|
+
assert isinstance(c, Ex), "No exs"
|
|
@@ -8,7 +8,17 @@ from tortoise.signals import pre_save
|
|
|
8
8
|
from x_auth.models import Model, UserTg
|
|
9
9
|
from x_model.models import TsTrait, DatetimeSecField
|
|
10
10
|
|
|
11
|
-
from xync_schema.enums import
|
|
11
|
+
from xync_schema.enums import (
|
|
12
|
+
ExType,
|
|
13
|
+
AdStatus,
|
|
14
|
+
AssetType,
|
|
15
|
+
OrderStatus,
|
|
16
|
+
ExAction,
|
|
17
|
+
ExStatus,
|
|
18
|
+
PersonStatus,
|
|
19
|
+
UserStatus,
|
|
20
|
+
PmType,
|
|
21
|
+
)
|
|
12
22
|
|
|
13
23
|
|
|
14
24
|
class Country(Model):
|
|
@@ -24,6 +34,7 @@ class Country(Model):
|
|
|
24
34
|
class Cur(Model):
|
|
25
35
|
id = fields.SmallIntField(True)
|
|
26
36
|
ticker: str = fields.CharField(3, unique=True)
|
|
37
|
+
scale: int = fields.SmallIntField(default=0)
|
|
27
38
|
rate: float | None = fields.FloatField(default=0, null=True)
|
|
28
39
|
|
|
29
40
|
pms: fields.ManyToManyRelation["Pm"] = fields.ManyToManyField("models.Pm", through="pmcur")
|
|
@@ -40,6 +51,7 @@ class Cur(Model):
|
|
|
40
51
|
class Coin(Model):
|
|
41
52
|
id: int = fields.SmallIntField(True)
|
|
42
53
|
ticker: str = fields.CharField(15, unique=True)
|
|
54
|
+
scale: int = fields.SmallIntField(default=0)
|
|
43
55
|
rate: float | None = fields.FloatField(default=0)
|
|
44
56
|
is_fiat: bool = fields.BooleanField(default=False)
|
|
45
57
|
exs: fields.ManyToManyRelation["Ex"] = fields.ManyToManyField("models.Ex", through="coinex")
|
|
@@ -160,7 +172,7 @@ class Direction(Model):
|
|
|
160
172
|
|
|
161
173
|
class Person(Model, TsTrait):
|
|
162
174
|
status: PersonStatus = fields.IntEnumField(PersonStatus, default=PersonStatus.DEFAULT)
|
|
163
|
-
name: str | None = fields.CharField(127)
|
|
175
|
+
name: str | None = fields.CharField(127, null=True)
|
|
164
176
|
|
|
165
177
|
user: fields.BackwardOneToOneRelation["User"]
|
|
166
178
|
creds: fields.BackwardFKRelation["Cred"]
|
|
@@ -274,10 +286,10 @@ class Agent(Model, TsTrait):
|
|
|
274
286
|
client = sys.modules[module_name].AssetClient
|
|
275
287
|
return client(self)
|
|
276
288
|
|
|
277
|
-
class PydanticMeta(Model.PydanticMeta):
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
289
|
+
# class PydanticMeta(Model.PydanticMeta):
|
|
290
|
+
# max_recursion = 3
|
|
291
|
+
# include = "id", "actor__ex", "auth", "updated_at"
|
|
292
|
+
# computed = ["balance"]
|
|
281
293
|
|
|
282
294
|
|
|
283
295
|
# class Adpm(Model):
|
|
@@ -304,8 +316,8 @@ class Ad(Model, TsTrait):
|
|
|
304
316
|
exid: int = fields.BigIntField()
|
|
305
317
|
direction: fields.ForeignKeyRelation[Direction] = fields.ForeignKeyField("models.Direction", related_name="ads")
|
|
306
318
|
price: float = fields.FloatField()
|
|
307
|
-
max_fiat: float = fields.FloatField()
|
|
308
319
|
min_fiat: float = fields.FloatField()
|
|
320
|
+
max_fiat: float = fields.FloatField()
|
|
309
321
|
detail: str | None = fields.CharField(4095, null=True)
|
|
310
322
|
auto_msg: str | None = fields.CharField(255, null=True)
|
|
311
323
|
status: AdStatus = fields.IntEnumField(AdStatus, defaut=AdStatus.active)
|
|
@@ -337,15 +349,17 @@ class Ad(Model, TsTrait):
|
|
|
337
349
|
|
|
338
350
|
|
|
339
351
|
class Pm(Model):
|
|
340
|
-
name: str = fields.CharField(63
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
country: fields.ForeignKeyRelation[Country] = fields.ForeignKeyField(
|
|
344
|
-
|
|
345
|
-
)
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
352
|
+
# name: str = fields.CharField(63) # mv to pmex cause it diffs on each ex
|
|
353
|
+
norm: str | None = fields.CharField(63)
|
|
354
|
+
acronym: str | None = fields.CharField(7, unique=True, null=True)
|
|
355
|
+
country: fields.ForeignKeyRelation[Country] = fields.ForeignKeyField("models.Country", "pms", null=True)
|
|
356
|
+
alias: str | None = fields.CharField(63, null=True)
|
|
357
|
+
extra: str | None = fields.CharField(63, null=True)
|
|
358
|
+
ok: bool = fields.BooleanField(default=True)
|
|
359
|
+
bank: bool = fields.BooleanField(null=True)
|
|
360
|
+
|
|
361
|
+
type_: PmType | None = fields.IntEnumField(PmType, null=True)
|
|
362
|
+
logo: str | None = fields.CharField(119, null=True)
|
|
349
363
|
|
|
350
364
|
ads: fields.ManyToManyRelation[Ad]
|
|
351
365
|
curs: fields.ManyToManyRelation[Cur]
|
|
@@ -356,6 +370,7 @@ class Pm(Model):
|
|
|
356
370
|
|
|
357
371
|
class Meta:
|
|
358
372
|
table_description = "Payment methods"
|
|
373
|
+
unique_together = (("norm", "country"), ("alias", "country"))
|
|
359
374
|
|
|
360
375
|
# class PydanticMeta(Model.PydanticMeta):
|
|
361
376
|
# max_recursion = 3
|
|
@@ -387,17 +402,21 @@ class Pmcur(Model): # for fiat with no exs tie
|
|
|
387
402
|
|
|
388
403
|
|
|
389
404
|
class Pmex(BaseModel): # existence pm in ex with no cur tie
|
|
390
|
-
pm: fields.ForeignKeyRelation[Pm] = fields.ForeignKeyField("models.Pm", "pmexs")
|
|
391
|
-
pm_id: int
|
|
392
405
|
ex: fields.ForeignKeyRelation[Ex] = fields.ForeignKeyField("models.Ex", "pmexs")
|
|
393
406
|
ex_id: int
|
|
407
|
+
pm: fields.ForeignKeyRelation[Pm] = fields.ForeignKeyField("models.Pm", "pmexs")
|
|
408
|
+
pm_id: int
|
|
394
409
|
exid: str = fields.CharField(63)
|
|
395
410
|
name: str = fields.CharField(63)
|
|
411
|
+
name_: str = fields.CharField(63, null=True)
|
|
396
412
|
|
|
397
413
|
banks: fields.BackwardFKRelation["PmexBank"]
|
|
398
414
|
|
|
399
415
|
class Meta:
|
|
400
|
-
unique_together = (
|
|
416
|
+
unique_together = (
|
|
417
|
+
("ex", "exid"),
|
|
418
|
+
("ex", "name_"),
|
|
419
|
+
) # , ("ex", "pm"), ("ex", "name") # todo: tmp removed for HTX duplicates
|
|
401
420
|
|
|
402
421
|
|
|
403
422
|
class PmexBank(BaseModel): # banks for SBP
|
|
@@ -462,7 +481,7 @@ class Fiat(Model):
|
|
|
462
481
|
cred: fields.OneToOneRelation[Cred] = fields.OneToOneField("models.Cred", "fiat")
|
|
463
482
|
cred_id: int
|
|
464
483
|
amount: float | None = fields.FloatField(default=0)
|
|
465
|
-
target: float
|
|
484
|
+
target: float = fields.FloatField(default=0)
|
|
466
485
|
|
|
467
486
|
class Meta:
|
|
468
487
|
table_description = "Currency balances"
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
from datetime import datetime
|
|
2
|
+
from pydantic import BaseModel
|
|
3
|
+
from x_model.types import New
|
|
4
|
+
|
|
5
|
+
from xync_schema.enums import AdStatus, OrderStatus
|
|
6
|
+
from xync_schema import models
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class UnitEx(BaseModel):
|
|
10
|
+
exid: int | str
|
|
11
|
+
ticker: str
|
|
12
|
+
scale: int = None
|
|
13
|
+
rate: float | None = None
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class CoinEx(UnitEx):
|
|
17
|
+
p2p: bool = None
|
|
18
|
+
minimum: float | None = None
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class CurEx(UnitEx):
|
|
22
|
+
rounding_scale: int | None = None
|
|
23
|
+
minimum: int | None = None
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
class PmexBank(BaseModel):
|
|
27
|
+
# id: int | None = None
|
|
28
|
+
exid: str
|
|
29
|
+
name: str
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
# class Pmcur(Struct):
|
|
33
|
+
# id: int | None = None
|
|
34
|
+
# pm_id: int
|
|
35
|
+
# cur_id: int
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
class CredIn(New):
|
|
39
|
+
exid: int
|
|
40
|
+
pmcur: models.Pmcur
|
|
41
|
+
actor: models.Actor
|
|
42
|
+
detail: str = ""
|
|
43
|
+
name: str = ""
|
|
44
|
+
id: int | None = None
|
|
45
|
+
banks: list[str] | None = None
|
|
46
|
+
_unq = "id", "exid", "ch", "pmcur"
|
|
47
|
+
|
|
48
|
+
class Config:
|
|
49
|
+
arbitrary_types_allowed = True
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
class FiatIn(New):
|
|
53
|
+
cred: models.Cred
|
|
54
|
+
amount: float
|
|
55
|
+
id: int = None
|
|
56
|
+
target: float | None = None
|
|
57
|
+
_unq = "id", "cred"
|
|
58
|
+
|
|
59
|
+
class Config:
|
|
60
|
+
arbitrary_types_allowed = True
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
class BaseAd(BaseModel):
|
|
64
|
+
price: float
|
|
65
|
+
id: int | None = None
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
class BaseAdIn(New):
|
|
69
|
+
exid: int
|
|
70
|
+
min_fiat: float
|
|
71
|
+
max_fiat: float
|
|
72
|
+
direction: models.Direction
|
|
73
|
+
detail: str | None = None
|
|
74
|
+
auto_msg: str | None = None
|
|
75
|
+
status: AdStatus = AdStatus.active
|
|
76
|
+
maker: models.Actor = None
|
|
77
|
+
_unq = "id", "exid", "maker", "direction"
|
|
78
|
+
|
|
79
|
+
class Config:
|
|
80
|
+
arbitrary_types_allowed = True
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
class AdBuyIn(BaseAdIn):
|
|
84
|
+
pms_: list[models.Pm]
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
class AdSaleIn(BaseAdIn):
|
|
88
|
+
creds_: list[models.Cred]
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
class BaseOrder(BaseModel):
|
|
92
|
+
id: int | None = None
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
class Order(BaseModel):
|
|
96
|
+
id: int
|
|
97
|
+
amount: float
|
|
98
|
+
status: str
|
|
99
|
+
cred: models.Cred.out_type()
|
|
100
|
+
is_sell: bool
|
|
101
|
+
created_at: datetime
|
|
102
|
+
topic: int
|
|
103
|
+
actions: dict | None = {}
|
|
104
|
+
actor: int | None = None
|
|
105
|
+
payed_at: datetime | None = None
|
|
106
|
+
appealed_at: datetime | None = None
|
|
107
|
+
confirmed_at: datetime | None = None
|
|
108
|
+
msgs: int = 0
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
class OrderIn(BaseModel):
|
|
112
|
+
exid: int
|
|
113
|
+
amount: float
|
|
114
|
+
created_at: datetime
|
|
115
|
+
ad: models.Ad
|
|
116
|
+
cred: models.Cred
|
|
117
|
+
taker: models.Actor
|
|
118
|
+
id: int = None
|
|
119
|
+
maker_topic: int | None = None
|
|
120
|
+
taker_topic: int | None = None
|
|
121
|
+
status: OrderStatus = OrderStatus.created
|
|
122
|
+
payed_at: datetime | None = None
|
|
123
|
+
confirmed_at: datetime | None = None
|
|
124
|
+
appealed_at: datetime | None = None
|
|
125
|
+
_unq = "id", "exid", "amount", "maker_topic", "taker_topic", "ad", "cred", "taker"
|
|
126
|
+
|
|
127
|
+
class Config:
|
|
128
|
+
arbitrary_types_allowed = True
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
class UreadMsgs(BaseModel):
|
|
132
|
+
order_id: int
|
|
133
|
+
unread_cnt: int
|
|
@@ -1,181 +0,0 @@
|
|
|
1
|
-
from datetime import datetime
|
|
2
|
-
|
|
3
|
-
from pydantic import BaseModel
|
|
4
|
-
|
|
5
|
-
from xync_schema.enums import AdStatus, OrderStatus, PmType
|
|
6
|
-
from xync_schema import models
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
class _CurCoin(BaseModel):
|
|
10
|
-
exid: int | str
|
|
11
|
-
ticker: str
|
|
12
|
-
rate: float | None = None
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
class CoinE(_CurCoin):
|
|
16
|
-
p2p: bool = True
|
|
17
|
-
minimum: float | None = None
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
class CurE(_CurCoin):
|
|
21
|
-
rounding_scale: int | None = None
|
|
22
|
-
minimum: int | None = None
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
class PmexBank(BaseModel):
|
|
26
|
-
id: int | None = None
|
|
27
|
-
exid: str
|
|
28
|
-
name: str
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
class Pm(BaseModel):
|
|
32
|
-
id: int = None
|
|
33
|
-
name: str
|
|
34
|
-
identifier: str | None = None
|
|
35
|
-
type_: PmType | None = None
|
|
36
|
-
logo: str | None = None
|
|
37
|
-
banks: list[PmexBank] | None = None
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
# class Pmcur(BaseModel):
|
|
41
|
-
# id: int | None = None
|
|
42
|
-
# pm_id: int
|
|
43
|
-
# cur_id: int
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
class FFiat(BaseModel):
|
|
47
|
-
detail: str
|
|
48
|
-
name: str | None = None
|
|
49
|
-
amount: float = 0
|
|
50
|
-
target: int | None = None
|
|
51
|
-
banks: list[str] = []
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
class FiatNew(FFiat):
|
|
55
|
-
cur_id: int
|
|
56
|
-
pm_id: int
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
class FiatUpd(FFiat):
|
|
60
|
-
id: int
|
|
61
|
-
exid: int
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
class CredIn(BaseModel):
|
|
65
|
-
id: int | None = None
|
|
66
|
-
exid: int
|
|
67
|
-
pmcur: models.Pmcur
|
|
68
|
-
actor: models.Actor
|
|
69
|
-
detail: str = ""
|
|
70
|
-
name: str = ""
|
|
71
|
-
banks: list[str] | None = None
|
|
72
|
-
|
|
73
|
-
class Config:
|
|
74
|
-
arbitrary_types_allowed = True
|
|
75
|
-
|
|
76
|
-
def args(self) -> tuple[dict, dict]:
|
|
77
|
-
unq: tuple[str, ...] = "id", "exid", "ch", "pmcur"
|
|
78
|
-
df: tuple[str, ...] = "detail", "name"
|
|
79
|
-
d = self.model_dump()
|
|
80
|
-
return {k: getattr(self, k) for k in df if d.get(k)}, {k: getattr(self, k) for k in unq if d.get(k)}
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
class FiatIn(BaseModel):
|
|
84
|
-
# unq
|
|
85
|
-
id: int = None
|
|
86
|
-
cred: models.Cred
|
|
87
|
-
# df
|
|
88
|
-
amount: float
|
|
89
|
-
target: float | None = None
|
|
90
|
-
|
|
91
|
-
class Config:
|
|
92
|
-
arbitrary_types_allowed = True
|
|
93
|
-
|
|
94
|
-
def args(self) -> tuple[dict, dict]:
|
|
95
|
-
unq: tuple[str, ...] = "id", "cred"
|
|
96
|
-
df: tuple[str, ...] = "amount", "target"
|
|
97
|
-
d = self.model_dump()
|
|
98
|
-
return {k: getattr(self, k) for k in df if d.get(k)}, {k: getattr(self, k) for k in unq if d.get(k)}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
class BaseAd(BaseModel):
|
|
102
|
-
id: int | None = None
|
|
103
|
-
price: float
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
class BaseAdIn(BaseAd):
|
|
107
|
-
exid: int
|
|
108
|
-
min_fiat: float
|
|
109
|
-
max_fiat: float | None = None
|
|
110
|
-
detail: str | None = None
|
|
111
|
-
auto_msg: str | None = None
|
|
112
|
-
status: AdStatus = AdStatus.active
|
|
113
|
-
maker: models.Actor = None
|
|
114
|
-
direction: models.Direction
|
|
115
|
-
|
|
116
|
-
class Config:
|
|
117
|
-
arbitrary_types_allowed = True
|
|
118
|
-
|
|
119
|
-
def args(self) -> tuple[dict, dict]:
|
|
120
|
-
unq: tuple[str, ...] = "id", "exid", "maker", "direction"
|
|
121
|
-
df: tuple[str, ...] = "price", "price", "min_fiat", "max_fiat", "detail", "auto_msg", "status"
|
|
122
|
-
d = self.model_dump(exclude_none=True)
|
|
123
|
-
return {k: getattr(self, k) for k in df if d.get(k)}, {k: getattr(self, k) for k in unq if d.get(k)}
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
class AdBuyIn(BaseAdIn):
|
|
127
|
-
pms_: list[Pm]
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
class AdSaleIn(BaseAdIn):
|
|
131
|
-
creds_: list[models.Cred]
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
class BaseOrder(BaseModel):
|
|
135
|
-
id: int | None = None
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
class Order(BaseModel):
|
|
139
|
-
id: int
|
|
140
|
-
amount: float
|
|
141
|
-
status: str
|
|
142
|
-
actions: dict | None = {}
|
|
143
|
-
cred: models.Cred.pyd()
|
|
144
|
-
is_sell: bool
|
|
145
|
-
actor: int | None = None
|
|
146
|
-
created_at: datetime
|
|
147
|
-
payed_at: datetime | None = None
|
|
148
|
-
appealed_at: datetime | None = None
|
|
149
|
-
confirmed_at: datetime | None = None
|
|
150
|
-
msgs: int = 0
|
|
151
|
-
topic: int
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
class OrderIn(BaseModel):
|
|
155
|
-
id: int = None
|
|
156
|
-
exid: int
|
|
157
|
-
amount: float
|
|
158
|
-
maker_topic: int | None = None
|
|
159
|
-
taker_topic: int | None = None
|
|
160
|
-
status: OrderStatus = OrderStatus.created
|
|
161
|
-
created_at: datetime
|
|
162
|
-
payed_at: datetime | None = None
|
|
163
|
-
confirmed_at: datetime | None = None
|
|
164
|
-
appealed_at: datetime | None = None
|
|
165
|
-
ad: models.Ad
|
|
166
|
-
cred: models.Cred
|
|
167
|
-
taker: models.Actor
|
|
168
|
-
|
|
169
|
-
class Config:
|
|
170
|
-
arbitrary_types_allowed = True
|
|
171
|
-
|
|
172
|
-
def args(self) -> tuple[dict, dict]:
|
|
173
|
-
unq: tuple[str, ...] = "id", "exid", "amount", "maker_topic", "taker_topic", "ad", "cred", "taker"
|
|
174
|
-
df: tuple[str, ...] = "status", "created_at", "payed_at", "confirmed_at", "appealed_at"
|
|
175
|
-
d = self.model_dump(exclude_none=True)
|
|
176
|
-
return {k: getattr(self, k) for k in df if d.get(k)}, {k: getattr(self, k) for k in unq if d.get(k)}
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
class UreadMsgs(BaseModel):
|
|
180
|
-
order_id: int
|
|
181
|
-
unread_cnt: int
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{xync_schema-0.6.73.dev6 → xync_schema-0.6.73.dev8}/xync_schema.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|