xync-schema 0.6.73.dev7__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.
Files changed (19) hide show
  1. {xync_schema-0.6.73.dev7/xync_schema.egg-info → xync_schema-0.6.73.dev8}/PKG-INFO +1 -1
  2. {xync_schema-0.6.73.dev7 → xync_schema-0.6.73.dev8}/xync_schema/types.py +26 -63
  3. {xync_schema-0.6.73.dev7 → xync_schema-0.6.73.dev8/xync_schema.egg-info}/PKG-INFO +1 -1
  4. {xync_schema-0.6.73.dev7 → xync_schema-0.6.73.dev8}/.env.sample +0 -0
  5. {xync_schema-0.6.73.dev7 → xync_schema-0.6.73.dev8}/.gitignore +0 -0
  6. {xync_schema-0.6.73.dev7 → xync_schema-0.6.73.dev8}/.pre-commit-config.yaml +0 -0
  7. {xync_schema-0.6.73.dev7 → xync_schema-0.6.73.dev8}/README.md +0 -0
  8. {xync_schema-0.6.73.dev7 → xync_schema-0.6.73.dev8}/makefile +0 -0
  9. {xync_schema-0.6.73.dev7 → xync_schema-0.6.73.dev8}/pyproject.toml +0 -0
  10. {xync_schema-0.6.73.dev7 → xync_schema-0.6.73.dev8}/setup.cfg +0 -0
  11. {xync_schema-0.6.73.dev7 → xync_schema-0.6.73.dev8}/tests/__init__.py +0 -0
  12. {xync_schema-0.6.73.dev7 → xync_schema-0.6.73.dev8}/tests/test_db.py +0 -0
  13. {xync_schema-0.6.73.dev7 → xync_schema-0.6.73.dev8}/xync_schema/__init__.py +0 -0
  14. {xync_schema-0.6.73.dev7 → xync_schema-0.6.73.dev8}/xync_schema/enums.py +0 -0
  15. {xync_schema-0.6.73.dev7 → xync_schema-0.6.73.dev8}/xync_schema/models.py +1 -1
  16. {xync_schema-0.6.73.dev7 → xync_schema-0.6.73.dev8}/xync_schema.egg-info/SOURCES.txt +0 -0
  17. {xync_schema-0.6.73.dev7 → xync_schema-0.6.73.dev8}/xync_schema.egg-info/dependency_links.txt +0 -0
  18. {xync_schema-0.6.73.dev7 → xync_schema-0.6.73.dev8}/xync_schema.egg-info/requires.txt +0 -0
  19. {xync_schema-0.6.73.dev7 → xync_schema-0.6.73.dev8}/xync_schema.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: xync-schema
3
- Version: 0.6.73.dev7
3
+ Version: 0.6.73.dev8
4
4
  Summary: XyncNet project database model schema
5
5
  Author-email: Mike Artemiev <mixartemev@gmail.com>
6
6
  License: EULA
@@ -1,16 +1,16 @@
1
1
  from datetime import datetime
2
-
3
2
  from pydantic import BaseModel
4
- from x_model.types import New, Upd
3
+ from x_model.types import New
5
4
 
6
- from xync_schema.enums import AdStatus, OrderStatus, PmType
5
+ from xync_schema.enums import AdStatus, OrderStatus
7
6
  from xync_schema import models
8
7
 
9
8
 
10
9
  class UnitEx(BaseModel):
11
10
  exid: int | str
12
11
  ticker: str
13
- scale: int
12
+ scale: int = None
13
+ rate: float | None = None
14
14
 
15
15
 
16
16
  class CoinEx(UnitEx):
@@ -24,93 +24,61 @@ class CurEx(UnitEx):
24
24
 
25
25
 
26
26
  class PmexBank(BaseModel):
27
- id: int | None = None
27
+ # id: int | None = None
28
28
  exid: str
29
29
  name: str
30
30
 
31
31
 
32
- class PmIn(New):
33
- norm: str
34
- acronym: str | None = None
35
- alias: str | None = None
36
- extra: str | None = None
37
- bank: bool | None = None
38
- country_id: int | None = None
39
- type_: PmType | None = None
40
- logo: str | None = None
41
-
42
-
43
- class PmOut(PmIn, Upd):
44
- banks: list[PmexBank] | None = None
45
-
46
-
47
- # class Pmcur(BaseModel):
32
+ # class Pmcur(Struct):
48
33
  # id: int | None = None
49
34
  # pm_id: int
50
35
  # cur_id: int
51
36
 
52
37
 
53
- class CredIn(BaseModel):
54
- id: int | None = None
38
+ class CredIn(New):
55
39
  exid: int
56
40
  pmcur: models.Pmcur
57
41
  actor: models.Actor
58
42
  detail: str = ""
59
43
  name: str = ""
44
+ id: int | None = None
60
45
  banks: list[str] | None = None
46
+ _unq = "id", "exid", "ch", "pmcur"
61
47
 
62
48
  class Config:
63
49
  arbitrary_types_allowed = True
64
50
 
65
- def args(self) -> tuple[dict, dict]:
66
- unq: tuple[str, ...] = "id", "exid", "ch", "pmcur"
67
- df: tuple[str, ...] = "detail", "name"
68
- d = self.model_dump()
69
- 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)}
70
-
71
51
 
72
- class FiatIn(BaseModel):
73
- # unq
74
- id: int = None
52
+ class FiatIn(New):
75
53
  cred: models.Cred
76
- # df
77
54
  amount: float
55
+ id: int = None
78
56
  target: float | None = None
57
+ _unq = "id", "cred"
79
58
 
80
59
  class Config:
81
60
  arbitrary_types_allowed = True
82
61
 
83
- def args(self) -> tuple[dict, dict]:
84
- unq: tuple[str, ...] = "id", "cred"
85
- df: tuple[str, ...] = "amount", "target"
86
- d = self.model_dump()
87
- 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)}
88
-
89
62
 
90
63
  class BaseAd(BaseModel):
91
- id: int | None = None
92
64
  price: float
65
+ id: int | None = None
93
66
 
94
67
 
95
- class BaseAdIn(BaseAd):
68
+ class BaseAdIn(New):
96
69
  exid: int
97
70
  min_fiat: float
98
- max_fiat: float | None = None
71
+ max_fiat: float
72
+ direction: models.Direction
99
73
  detail: str | None = None
100
74
  auto_msg: str | None = None
101
75
  status: AdStatus = AdStatus.active
102
76
  maker: models.Actor = None
103
- direction: models.Direction
77
+ _unq = "id", "exid", "maker", "direction"
104
78
 
105
79
  class Config:
106
80
  arbitrary_types_allowed = True
107
81
 
108
- def args(self) -> tuple[dict, dict]:
109
- unq: tuple[str, ...] = "id", "exid", "maker", "direction"
110
- df: tuple[str, ...] = "price", "price", "min_fiat", "max_fiat", "detail", "auto_msg", "status"
111
- d = self.model_dump(exclude_none=True)
112
- 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)}
113
-
114
82
 
115
83
  class AdBuyIn(BaseAdIn):
116
84
  pms_: list[models.Pm]
@@ -128,42 +96,37 @@ class Order(BaseModel):
128
96
  id: int
129
97
  amount: float
130
98
  status: str
131
- actions: dict | None = {}
132
99
  cred: models.Cred.out_type()
133
100
  is_sell: bool
134
- actor: int | None = None
135
101
  created_at: datetime
102
+ topic: int
103
+ actions: dict | None = {}
104
+ actor: int | None = None
136
105
  payed_at: datetime | None = None
137
106
  appealed_at: datetime | None = None
138
107
  confirmed_at: datetime | None = None
139
108
  msgs: int = 0
140
- topic: int
141
109
 
142
110
 
143
111
  class OrderIn(BaseModel):
144
- id: int = None
145
112
  exid: int
146
113
  amount: float
114
+ created_at: datetime
115
+ ad: models.Ad
116
+ cred: models.Cred
117
+ taker: models.Actor
118
+ id: int = None
147
119
  maker_topic: int | None = None
148
120
  taker_topic: int | None = None
149
121
  status: OrderStatus = OrderStatus.created
150
- created_at: datetime
151
122
  payed_at: datetime | None = None
152
123
  confirmed_at: datetime | None = None
153
124
  appealed_at: datetime | None = None
154
- ad: models.Ad
155
- cred: models.Cred
156
- taker: models.Actor
125
+ _unq = "id", "exid", "amount", "maker_topic", "taker_topic", "ad", "cred", "taker"
157
126
 
158
127
  class Config:
159
128
  arbitrary_types_allowed = True
160
129
 
161
- def args(self) -> tuple[dict, dict]:
162
- unq: tuple[str, ...] = "id", "exid", "amount", "maker_topic", "taker_topic", "ad", "cred", "taker"
163
- df: tuple[str, ...] = "status", "created_at", "payed_at", "confirmed_at", "appealed_at"
164
- d = self.model_dump(exclude_none=True)
165
- 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)}
166
-
167
130
 
168
131
  class UreadMsgs(BaseModel):
169
132
  order_id: int
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: xync-schema
3
- Version: 0.6.73.dev7
3
+ Version: 0.6.73.dev8
4
4
  Summary: XyncNet project database model schema
5
5
  Author-email: Mike Artemiev <mixartemev@gmail.com>
6
6
  License: EULA
@@ -316,8 +316,8 @@ class Ad(Model, TsTrait):
316
316
  exid: int = fields.BigIntField()
317
317
  direction: fields.ForeignKeyRelation[Direction] = fields.ForeignKeyField("models.Direction", related_name="ads")
318
318
  price: float = fields.FloatField()
319
- max_fiat: float = fields.FloatField()
320
319
  min_fiat: float = fields.FloatField()
320
+ max_fiat: float = fields.FloatField()
321
321
  detail: str | None = fields.CharField(4095, null=True)
322
322
  auto_msg: str | None = fields.CharField(255, null=True)
323
323
  status: AdStatus = fields.IntEnumField(AdStatus, defaut=AdStatus.active)