xync-schema 0.6.73.dev7__tar.gz → 0.6.73.dev9__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.dev9}/PKG-INFO +1 -1
  2. {xync_schema-0.6.73.dev7 → xync_schema-0.6.73.dev9}/xync_schema/types.py +27 -65
  3. {xync_schema-0.6.73.dev7 → xync_schema-0.6.73.dev9/xync_schema.egg-info}/PKG-INFO +1 -1
  4. {xync_schema-0.6.73.dev7 → xync_schema-0.6.73.dev9}/.env.sample +0 -0
  5. {xync_schema-0.6.73.dev7 → xync_schema-0.6.73.dev9}/.gitignore +0 -0
  6. {xync_schema-0.6.73.dev7 → xync_schema-0.6.73.dev9}/.pre-commit-config.yaml +0 -0
  7. {xync_schema-0.6.73.dev7 → xync_schema-0.6.73.dev9}/README.md +0 -0
  8. {xync_schema-0.6.73.dev7 → xync_schema-0.6.73.dev9}/makefile +0 -0
  9. {xync_schema-0.6.73.dev7 → xync_schema-0.6.73.dev9}/pyproject.toml +0 -0
  10. {xync_schema-0.6.73.dev7 → xync_schema-0.6.73.dev9}/setup.cfg +0 -0
  11. {xync_schema-0.6.73.dev7 → xync_schema-0.6.73.dev9}/tests/__init__.py +0 -0
  12. {xync_schema-0.6.73.dev7 → xync_schema-0.6.73.dev9}/tests/test_db.py +0 -0
  13. {xync_schema-0.6.73.dev7 → xync_schema-0.6.73.dev9}/xync_schema/__init__.py +0 -0
  14. {xync_schema-0.6.73.dev7 → xync_schema-0.6.73.dev9}/xync_schema/enums.py +0 -0
  15. {xync_schema-0.6.73.dev7 → xync_schema-0.6.73.dev9}/xync_schema/models.py +1 -1
  16. {xync_schema-0.6.73.dev7 → xync_schema-0.6.73.dev9}/xync_schema.egg-info/SOURCES.txt +0 -0
  17. {xync_schema-0.6.73.dev7 → xync_schema-0.6.73.dev9}/xync_schema.egg-info/dependency_links.txt +0 -0
  18. {xync_schema-0.6.73.dev7 → xync_schema-0.6.73.dev9}/xync_schema.egg-info/requires.txt +0 -0
  19. {xync_schema-0.6.73.dev7 → xync_schema-0.6.73.dev9}/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.dev9
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
+ from pydantic import BaseModel, Field
3
+ from x_model.types import New
2
4
 
3
- from pydantic import BaseModel
4
- from x_model.types import New, Upd
5
-
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,60 @@ 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
+ exid: int | None = Field(alias="id")
93
66
 
94
67
 
95
- class BaseAdIn(BaseAd):
96
- exid: int
68
+ class BaseAdIn(BaseAd, New):
97
69
  min_fiat: float
98
- max_fiat: float | None = None
70
+ max_fiat: float
71
+ direction: models.Direction
99
72
  detail: str | None = None
100
73
  auto_msg: str | None = None
101
74
  status: AdStatus = AdStatus.active
102
75
  maker: models.Actor = None
103
- direction: models.Direction
76
+ _unq = "exid", "maker", "direction"
104
77
 
105
78
  class Config:
106
79
  arbitrary_types_allowed = True
107
80
 
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
81
 
115
82
  class AdBuyIn(BaseAdIn):
116
83
  pms_: list[models.Pm]
@@ -128,42 +95,37 @@ class Order(BaseModel):
128
95
  id: int
129
96
  amount: float
130
97
  status: str
131
- actions: dict | None = {}
132
98
  cred: models.Cred.out_type()
133
99
  is_sell: bool
134
- actor: int | None = None
135
100
  created_at: datetime
101
+ topic: int
102
+ actions: dict | None = {}
103
+ actor: int | None = None
136
104
  payed_at: datetime | None = None
137
105
  appealed_at: datetime | None = None
138
106
  confirmed_at: datetime | None = None
139
107
  msgs: int = 0
140
- topic: int
141
108
 
142
109
 
143
110
  class OrderIn(BaseModel):
144
- id: int = None
145
111
  exid: int
146
112
  amount: float
113
+ created_at: datetime
114
+ ad: models.Ad
115
+ cred: models.Cred
116
+ taker: models.Actor
117
+ id: int = None
147
118
  maker_topic: int | None = None
148
119
  taker_topic: int | None = None
149
120
  status: OrderStatus = OrderStatus.created
150
- created_at: datetime
151
121
  payed_at: datetime | None = None
152
122
  confirmed_at: datetime | None = None
153
123
  appealed_at: datetime | None = None
154
- ad: models.Ad
155
- cred: models.Cred
156
- taker: models.Actor
124
+ _unq = "id", "exid", "amount", "maker_topic", "taker_topic", "ad", "cred", "taker"
157
125
 
158
126
  class Config:
159
127
  arbitrary_types_allowed = True
160
128
 
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
129
 
168
130
  class UreadMsgs(BaseModel):
169
131
  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.dev9
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)