xync-schema 0.6.71__tar.gz → 0.6.72__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: xync-schema
3
- Version: 0.6.71
3
+ Version: 0.6.72
4
4
  Summary: XyncNet project database model schema
5
5
  Author-email: Mike Artemiev <mixartemev@gmail.com>
6
6
  License: EULA
@@ -112,9 +112,7 @@ class ExAction(IntEnum):
112
112
  coins = 22 # Список торгуемых монет (с ограничениям по валютам, если есть)
113
113
  pairs = 23 # Список пар валюта/монет
114
114
  ads = 24 # Список объяв по покупке/продаже, валюте, монете, платежному методу (buy/sell, cur, coin, pm)
115
- ad = 42 # Объява по id
116
- cur_mins = 43 # Минимальные объемы валют в объявлении
117
- coin_mins = 44 # Минимальные объемы монет в объявлении
115
+ ad = 42 # Чужая объява по id
118
116
  """ Agent: Fiat """
119
117
  my_fiats = 25 # Список реквизитов моих платежных методов
120
118
  fiat_new = 26 # Создание реквизита моего платежного метода
@@ -122,6 +120,7 @@ class ExAction(IntEnum):
122
120
  fiat_del = 28 # Удаление реквизита моего платежного метода
123
121
  """ Agent: Ad """
124
122
  my_ads = 29 # Список моих объявлений
123
+ my_ad = 43 # Моя объява по id
125
124
  ad_new = 30 # Создание объявления
126
125
  ad_upd = 31 # Редактирование объявления
127
126
  ad_del = 32 # Удаление объявления
@@ -69,7 +69,7 @@ class Ex(Model):
69
69
  pmcurs: fields.ManyToManyRelation["Pmcur"] = fields.ManyToManyField("models.Pmcur", through="pmcurex")
70
70
  coins: fields.ManyToManyRelation[Coin]
71
71
 
72
- agents: fields.ReverseRelation["Agent"]
72
+ contragents: fields.ReverseRelation["Contragent"]
73
73
  pmexs: fields.ReverseRelation["Pmex"]
74
74
  pairs: fields.ReverseRelation["Pair"]
75
75
  # deps: fields.ReverseRelation["Dep"]
@@ -159,7 +159,7 @@ class User(Model, TsTrait, UserInfoTrait):
159
159
 
160
160
  proteges: fields.BackwardFKRelation["User"]
161
161
  agents: fields.BackwardFKRelation["Agent"]
162
- fiats: fields.BackwardFKRelation["Fiat"]
162
+ # fiats: fields.BackwardFKRelation["Fiat"]
163
163
  limits: fields.BackwardFKRelation["Limit"]
164
164
  # vpn: fields.BackwardOneToOneRelation["Vpn"]
165
165
  # invite_requests: fields.BackwardFKRelation["Invite"]
@@ -196,15 +196,16 @@ class Contragent(Model):
196
196
  updated_at: datetime | None = DatetimeSecField(auto_now=True)
197
197
 
198
198
  agent: fields.BackwardOneToOneRelation["Agent"]
199
- taken_orders: fields.BackwardFKRelation["Order"]
199
+ creds: fields.BackwardFKRelation["Cred"]
200
200
  my_ads: fields.BackwardFKRelation["Ad"]
201
+ taken_orders: fields.BackwardFKRelation["Order"]
201
202
 
202
203
  class Meta:
203
204
  table_description = "Agents"
204
205
  unique_together = (("ex", "exid"),)
205
206
 
206
207
 
207
- class Agent(Model):
208
+ class Agent(Model, TsTrait):
208
209
  auth: dict[str, str] = fields.JSONField(null=True)
209
210
  contragent: fields.OneToOneRelation[Contragent] = fields.OneToOneField("models.Contragent", "agent")
210
211
  contragent_id: int
@@ -373,8 +374,8 @@ class PmexBank(BaseModel): # banks for SBP
373
374
  unique_together = (("pmex", "exid"),)
374
375
 
375
376
 
376
- class FiatBank(BaseModel): # banks for SBP
377
- pmexbank: fields.ForeignKeyRelation[PmexBank] = fields.ForeignKeyField("models.PmexBank", "fiatbanks")
377
+ class CredBank(BaseModel): # banks for SBP
378
+ pmexbank: fields.ForeignKeyRelation[PmexBank] = fields.ForeignKeyField("models.PmexBank", "credbanks")
378
379
  pmexbank_id: int
379
380
  cred: fields.ForeignKeyRelation["Cred"] = fields.ForeignKeyField("models.Cred", "credbanks")
380
381
  cred_id: int
@@ -528,7 +529,7 @@ class Order(Model):
528
529
  class PydanticMeta(Model.PydanticMeta):
529
530
  max_recursion: int = 0
530
531
  exclude_raw_fields: bool = False
531
- exclude = ("taker", "ad", "fiat", "msgs")
532
+ exclude = ("taker", "ad", "cred", "msgs")
532
533
 
533
534
 
534
535
  class Msg(Model):
@@ -1,9 +1,8 @@
1
1
  from datetime import datetime
2
-
3
2
  from pydantic import BaseModel, model_validator
4
3
 
5
4
  from xync_schema.enums import AdStatus, PmType
6
- from xync_schema.models import Fiat, Agent, Direction, Pmcur, User, Ex
5
+ from xync_schema.models import Direction, Pmcur, Ex, Cred, Contragent
7
6
 
8
7
 
9
8
  class _CurCoin(BaseModel):
@@ -58,20 +57,15 @@ class FiatNew(FiatUpd):
58
57
  target: int | None = None
59
58
 
60
59
 
61
- class FiatPydIn(BaseModel):
62
- # unq
63
- id: int = None
64
- user_id: int | None = None
65
- user: User | None = None
60
+ class CredPydIn(BaseModel):
61
+ id: int | None = None
62
+ exid: str
63
+ ex: Ex | None = None
64
+ ex_id: int | None = None
66
65
  pmcur_id: int | None = None
67
66
  pmcur: Pmcur | None = None
68
- # df
69
67
  detail: str
70
68
  name: str = ""
71
- amount: float
72
- target: float | None = None
73
-
74
- banks: list[str] = []
75
69
 
76
70
  class Config:
77
71
  arbitrary_types_allowed = True
@@ -79,24 +73,21 @@ class FiatPydIn(BaseModel):
79
73
  @classmethod
80
74
  @model_validator(mode="before")
81
75
  def check_at_least_one_field(cls, values):
82
- if (values.get("pmcur") or values.get("pmcur_id")) and (values.get("user") or values.get("user_id")):
76
+ if (values.get("ex") or values.get("ex_id")) and (values.get("pmcur") or values.get("pmcur_id")):
83
77
  return values
84
- raise ValueError("pmcur(_id) and user(_id) is required")
78
+ raise ValueError("ex(_id) and pmcur(_id) is required")
85
79
 
86
- def args(self) -> tuple[dict, dict]:
87
- unq: tuple[str, ...] = "id", "user_id", "user", "pmcur_id", "pmcur"
88
- df: tuple[str, ...] = "detail", "name", "amount", "target"
89
- d = self.model_dump()
90
- 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)}
91
80
 
81
+ class FiatPydIn(BaseModel):
82
+ # unq
83
+ id: int = None
84
+ cred_id: int | None = None
85
+ cred: Cred | None = None
86
+ # df
87
+ amount: float
88
+ target: float | None = None
92
89
 
93
- class FiatexPydIn(BaseModel):
94
- id: int | None = None
95
- exid: str
96
- ex: Ex | None = None
97
- ex_id: int | None = None
98
- fiat: Fiat | None = None
99
- fiat_id: int | None = None
90
+ banks: list[str] = []
100
91
 
101
92
  class Config:
102
93
  arbitrary_types_allowed = True
@@ -104,9 +95,15 @@ class FiatexPydIn(BaseModel):
104
95
  @classmethod
105
96
  @model_validator(mode="before")
106
97
  def check_at_least_one_field(cls, values):
107
- if (values.get("ex") or values.get("ex_id")) and (values.get("fiat") or values.get("fiat_id")):
98
+ if values.get("cred") or values.get("cred_id"):
108
99
  return values
109
- raise ValueError("ex(_id) and fiat(_id) is required")
100
+ raise ValueError("cred(_id) is required")
101
+
102
+ def args(self) -> tuple[dict, dict]:
103
+ unq: tuple[str, ...] = "id", "cred_id", "cred"
104
+ df: tuple[str, ...] = "amount", "target"
105
+ d = self.model_dump()
106
+ 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)}
110
107
 
111
108
 
112
109
  class BaseAd(BaseModel):
@@ -120,9 +117,9 @@ class AdPydIn(BaseAd):
120
117
  detail: str | None = None
121
118
  auto_msg: str | None = None
122
119
  status: AdStatus = AdStatus.active
123
- agent_id: int | None = None
120
+ maker_id: int | None = None
121
+ maker: Contragent | None = None
124
122
  direction_id: int | None = None
125
- agent: Agent | None = None
126
123
  direction: Direction | None = None
127
124
  pms_: list | None = None
128
125
  fiats_: list | None = None
@@ -133,12 +130,12 @@ class AdPydIn(BaseAd):
133
130
  @classmethod
134
131
  @model_validator(mode="before")
135
132
  def check_at_least_one_field(cls, values):
136
- agent = values.get("agent") or values.get("agent_id")
133
+ maker = values.get("maker") or values.get("maker_id")
137
134
  direction = values.get("direction") or values.get("direction_id")
138
135
  pms_or_fiats = values.get("pms_") or values.get("fiats_")
139
- if agent and direction and pms_or_fiats:
136
+ if maker and direction and pms_or_fiats:
140
137
  return values
141
- raise ValueError("(pms or fiats) and agent(_id) and direction(_id) is required")
138
+ raise ValueError("(pms or fiats) and maker(_id) and direction(_id) is required")
142
139
 
143
140
 
144
141
  class OrderPyd(BaseModel):
@@ -146,7 +143,7 @@ class OrderPyd(BaseModel):
146
143
  amount: float
147
144
  status: str
148
145
  actions: dict | None = {}
149
- fiat: Fiat.pyd()
146
+ cred: Cred.pyd()
150
147
  is_sell: bool
151
148
  contragent: int | None = None
152
149
  created_at: datetime
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: xync-schema
3
- Version: 0.6.71
3
+ Version: 0.6.72
4
4
  Summary: XyncNet project database model schema
5
5
  Author-email: Mike Artemiev <mixartemev@gmail.com>
6
6
  License: EULA
File without changes
File without changes
File without changes
File without changes
File without changes