xync-db 0.5.5.dev15__tar.gz → 0.5.5.dev19__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 (40) hide show
  1. {xync_db-0.5.5.dev15 → xync_db-0.5.5.dev19}/PKG-INFO +1 -1
  2. {xync_db-0.5.5.dev15 → xync_db-0.5.5.dev19}/src/xync_db/models/__init__.py +12 -0
  3. {xync_db-0.5.5.dev15 → xync_db-0.5.5.dev19}/.gitignore +0 -0
  4. {xync_db-0.5.5.dev15 → xync_db-0.5.5.dev19}/README.md +0 -0
  5. {xync_db-0.5.5.dev15 → xync_db-0.5.5.dev19}/pyproject.toml +0 -0
  6. {xync_db-0.5.5.dev15 → xync_db-0.5.5.dev19}/src/xync_db/__init__.py +0 -0
  7. {xync_db-0.5.5.dev15 → xync_db-0.5.5.dev19}/src/xync_db/config.py +0 -0
  8. {xync_db-0.5.5.dev15 → xync_db-0.5.5.dev19}/src/xync_db/enums.py +0 -0
  9. {xync_db-0.5.5.dev15 → xync_db-0.5.5.dev19}/src/xync_db/exceptions.py +0 -0
  10. {xync_db-0.5.5.dev15 → xync_db-0.5.5.dev19}/src/xync_db/graph.py +0 -0
  11. {xync_db-0.5.5.dev15 → xync_db-0.5.5.dev19}/src/xync_db/i18n.py +0 -0
  12. {xync_db-0.5.5.dev15 → xync_db-0.5.5.dev19}/src/xync_db/login_store.py +0 -0
  13. {xync_db-0.5.5.dev15 → xync_db-0.5.5.dev19}/src/xync_db/logo.png +0 -0
  14. {xync_db-0.5.5.dev15 → xync_db-0.5.5.dev19}/src/xync_db/migrations/CLAUDE.md +0 -0
  15. {xync_db-0.5.5.dev15 → xync_db-0.5.5.dev19}/src/xync_db/migrations/__init__.py +0 -0
  16. {xync_db-0.5.5.dev15 → xync_db-0.5.5.dev19}/src/xync_db/migrations/models/0001_initial.py +0 -0
  17. {xync_db-0.5.5.dev15 → xync_db-0.5.5.dev19}/src/xync_db/migrations/models/0002_triggers.py +0 -0
  18. {xync_db-0.5.5.dev15 → xync_db-0.5.5.dev19}/src/xync_db/migrations/models/0003_seed.py +0 -0
  19. {xync_db-0.5.5.dev15 → xync_db-0.5.5.dev19}/src/xync_db/migrations/models/__init__.py +0 -0
  20. {xync_db-0.5.5.dev15 → xync_db-0.5.5.dev19}/src/xync_db/migrations/models/seed/__init__.py +0 -0
  21. {xync_db-0.5.5.dev15 → xync_db-0.5.5.dev19}/src/xync_db/migrations/models/seed/a_actor_seed.py +0 -0
  22. {xync_db-0.5.5.dev15 → xync_db-0.5.5.dev19}/src/xync_db/migrations/models/seed/a_bin_seed.py +0 -0
  23. {xync_db-0.5.5.dev15 → xync_db-0.5.5.dev19}/src/xync_db/migrations/models/seed/a_country_seed.py +0 -0
  24. {xync_db-0.5.5.dev15 → xync_db-0.5.5.dev19}/src/xync_db/migrations/models/seed/a_tg_seed.py +0 -0
  25. {xync_db-0.5.5.dev15 → xync_db-0.5.5.dev19}/src/xync_db/migrations/models/seed/b_htx_seed.py +0 -0
  26. {xync_db-0.5.5.dev15 → xync_db-0.5.5.dev19}/src/xync_db/migrations/models/seed/c_net_seed.py +0 -0
  27. {xync_db-0.5.5.dev15 → xync_db-0.5.5.dev19}/src/xync_db/migrations/models/seed/countries.json +0 -0
  28. {xync_db-0.5.5.dev15 → xync_db-0.5.5.dev19}/src/xync_db/migrations/models/seed/ranges.csv +0 -0
  29. {xync_db-0.5.5.dev15 → xync_db-0.5.5.dev19}/src/xync_db/migrations/models/seed/xync_files.sql +0 -0
  30. {xync_db-0.5.5.dev15 → xync_db-0.5.5.dev19}/src/xync_db/models/CLAUDE.md +0 -0
  31. {xync_db-0.5.5.dev15 → xync_db-0.5.5.dev19}/src/xync_db/py.typed +0 -0
  32. {xync_db-0.5.5.dev15 → xync_db-0.5.5.dev19}/src/xync_db/shared.py +0 -0
  33. {xync_db-0.5.5.dev15 → xync_db-0.5.5.dev19}/src/xync_db/typs/__init__.py +0 -0
  34. {xync_db-0.5.5.dev15 → xync_db-0.5.5.dev19}/src/xync_db/typs/db/__init__.py +0 -0
  35. {xync_db-0.5.5.dev15 → xync_db-0.5.5.dev19}/src/xync_db/typs/db/actor.py +0 -0
  36. {xync_db-0.5.5.dev15 → xync_db-0.5.5.dev19}/src/xync_db/typs/db/ad.py +0 -0
  37. {xync_db-0.5.5.dev15 → xync_db-0.5.5.dev19}/src/xync_db/typs/db/common.py +0 -0
  38. {xync_db-0.5.5.dev15 → xync_db-0.5.5.dev19}/src/xync_db/typs/db/cred.py +0 -0
  39. {xync_db-0.5.5.dev15 → xync_db-0.5.5.dev19}/src/xync_db/typs/db/order.py +0 -0
  40. {xync_db-0.5.5.dev15 → xync_db-0.5.5.dev19}/src/xync_db/typs/db/pm.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: xync-db
3
- Version: 0.5.5.dev15
3
+ Version: 0.5.5.dev19
4
4
  Summary: Xync DB schema: Tortoise ORM models, enums, pydantic DTOs.
5
5
  Author-email: Mike Artemiev <mixartemev@gmail.com>
6
6
  License: LicenseRef-EULA
@@ -1672,6 +1672,18 @@ class MyAdHotUser(Model):
1672
1672
  class Meta:
1673
1673
  table = "myad_user"
1674
1674
 
1675
+ @classmethod
1676
+ async def click(cls, ad_id: int, user_id: int) -> None:
1677
+ """Единый писатель клика юзера по hot-объяве — оба входа (web HotAds.tsx → `/public/ad-link`,
1678
+ первый тап по кнопке бота → `xync_bot.routers.hot.ad_go`) пишут только сюда.
1679
+
1680
+ Свежие (≤5 мин) клики — единственный источник кандидатов для вопроса «Вы ли это?», когда в
1681
+ объяву зашёл актор без привязанного юзера (`api.handlers.orders._hot_ad_order_new`), поэтому
1682
+ повторный клик именно ПЕРЕзаписывает строку: `save()` двигает `updated_at` (auto_now) и
1683
+ продлевает окно."""
1684
+ my_ad = await MyAd.get(ad_id=ad_id)
1685
+ await cls.update_or_create(my_ad=my_ad, user_id=user_id)
1686
+
1675
1687
 
1676
1688
  class Race(Model):
1677
1689
  road: ForeignKeyRelation[MyAd] = ForeignKeyField("models.MyAd", "race", on_update=CASCADE)
File without changes
File without changes