xync-schema 0.6.73.dev3__tar.gz → 0.6.73.dev4__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.dev3/xync_schema.egg-info → xync_schema-0.6.73.dev4}/PKG-INFO +1 -1
- {xync_schema-0.6.73.dev3 → xync_schema-0.6.73.dev4}/xync_schema/models.py +16 -2
- {xync_schema-0.6.73.dev3 → xync_schema-0.6.73.dev4}/xync_schema/pydantic.py +1 -1
- {xync_schema-0.6.73.dev3 → xync_schema-0.6.73.dev4/xync_schema.egg-info}/PKG-INFO +1 -1
- {xync_schema-0.6.73.dev3 → xync_schema-0.6.73.dev4}/.env.sample +0 -0
- {xync_schema-0.6.73.dev3 → xync_schema-0.6.73.dev4}/.gitignore +0 -0
- {xync_schema-0.6.73.dev3 → xync_schema-0.6.73.dev4}/.pre-commit-config.yaml +0 -0
- {xync_schema-0.6.73.dev3 → xync_schema-0.6.73.dev4}/README.md +0 -0
- {xync_schema-0.6.73.dev3 → xync_schema-0.6.73.dev4}/makefile +0 -0
- {xync_schema-0.6.73.dev3 → xync_schema-0.6.73.dev4}/pyproject.toml +0 -0
- {xync_schema-0.6.73.dev3 → xync_schema-0.6.73.dev4}/setup.cfg +0 -0
- {xync_schema-0.6.73.dev3 → xync_schema-0.6.73.dev4}/tests/__init__.py +0 -0
- {xync_schema-0.6.73.dev3 → xync_schema-0.6.73.dev4}/tests/test_db.py +0 -0
- {xync_schema-0.6.73.dev3 → xync_schema-0.6.73.dev4}/xync_schema/__init__.py +0 -0
- {xync_schema-0.6.73.dev3 → xync_schema-0.6.73.dev4}/xync_schema/enums.py +0 -0
- {xync_schema-0.6.73.dev3 → xync_schema-0.6.73.dev4}/xync_schema.egg-info/SOURCES.txt +0 -0
- {xync_schema-0.6.73.dev3 → xync_schema-0.6.73.dev4}/xync_schema.egg-info/dependency_links.txt +0 -0
- {xync_schema-0.6.73.dev3 → xync_schema-0.6.73.dev4}/xync_schema.egg-info/requires.txt +0 -0
- {xync_schema-0.6.73.dev3 → xync_schema-0.6.73.dev4}/xync_schema.egg-info/top_level.txt +0 -0
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import sys
|
|
2
2
|
from datetime import datetime
|
|
3
|
+
|
|
3
4
|
from tortoise import fields
|
|
4
5
|
from tortoise.queryset import QuerySet
|
|
5
6
|
from tortoise import Model as BaseModel
|
|
7
|
+
from tortoise.signals import pre_save
|
|
6
8
|
from x_auth.enums import Role
|
|
7
9
|
from x_auth.models import Model
|
|
8
10
|
from x_model.models import TsTrait, DatetimeSecField
|
|
@@ -164,11 +166,10 @@ class CredHolder(Model, TsTrait):
|
|
|
164
166
|
actor: fields.BackwardOneToOneRelation["Actor"]
|
|
165
167
|
|
|
166
168
|
|
|
167
|
-
class User(Model, UserInfoTrait):
|
|
169
|
+
class User(Model, UserInfoTrait, TsTrait):
|
|
168
170
|
id: int = fields.BigIntField(True)
|
|
169
171
|
ch: fields.OneToOneRelation[CredHolder] = fields.OneToOneField("models.CredHolder", "users")
|
|
170
172
|
ch_id: int
|
|
171
|
-
forum: int = fields.BigIntField()
|
|
172
173
|
role: Role = fields.IntEnumField(Role, default=Role.READER)
|
|
173
174
|
status: UserStatus = fields.IntEnumField(UserStatus, default=UserStatus.RESTRICTED)
|
|
174
175
|
username: str | None = fields.CharField(95, unique=True, null=True)
|
|
@@ -177,6 +178,7 @@ class User(Model, UserInfoTrait):
|
|
|
177
178
|
)
|
|
178
179
|
ref_id: int | None
|
|
179
180
|
|
|
181
|
+
forum: fields.BackwardOneToOneRelation["Forum"]
|
|
180
182
|
proteges: fields.BackwardFKRelation["User"]
|
|
181
183
|
agents: fields.BackwardFKRelation["Agent"]
|
|
182
184
|
# fiats: fields.BackwardFKRelation["Fiat"]
|
|
@@ -208,6 +210,18 @@ class User(Model, UserInfoTrait):
|
|
|
208
210
|
# computed = ["balance"]
|
|
209
211
|
|
|
210
212
|
|
|
213
|
+
@pre_save(User)
|
|
214
|
+
async def ch(_meta, user: User, _db, _updated: dict) -> None:
|
|
215
|
+
if not user.ch_id:
|
|
216
|
+
user.ch = await CredHolder.create()
|
|
217
|
+
|
|
218
|
+
|
|
219
|
+
class Forum(Model, TsTrait):
|
|
220
|
+
id: int = fields.BigIntField(True)
|
|
221
|
+
joined: bool = fields.BooleanField(default=False)
|
|
222
|
+
user: fields.OneToOneRelation[User] = fields.OneToOneField("models.User", "forum")
|
|
223
|
+
|
|
224
|
+
|
|
211
225
|
class Actor(Model):
|
|
212
226
|
exid: int = fields.BigIntField()
|
|
213
227
|
name: int = fields.CharField(63)
|
|
@@ -73,7 +73,7 @@ class CredPydIn(BaseModel):
|
|
|
73
73
|
arbitrary_types_allowed = True
|
|
74
74
|
|
|
75
75
|
def args(self) -> tuple[dict, dict]:
|
|
76
|
-
unq: tuple[str, ...] = "id", "exid", "
|
|
76
|
+
unq: tuple[str, ...] = "id", "exid", "ch", "pmcur"
|
|
77
77
|
df: tuple[str, ...] = "detail", "name"
|
|
78
78
|
d = self.model_dump()
|
|
79
79
|
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)}
|
|
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
|
|
File without changes
|
{xync_schema-0.6.73.dev3 → xync_schema-0.6.73.dev4}/xync_schema.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|