Ruslan Bakiev
41064339ea
Update geo submodule - fix supplier query
2026-01-23 11:24:06 +07:00
Ruslan Bakiev
dd1e9ce960
Update geo and webapp - offersCount, map default on catalog
2026-01-22 17:22:39 +07:00
Ruslan Bakiev
75f4506549
Add navigation from offer cards to offer detail page
2026-01-21 14:36:25 +07:00
Ruslan Bakiev
966e9d8fe4
Add KYC company monitoring system with MongoDB integration
...
- Rename KYC models: KYCRequest → KYCApplication, KYCMonitoring → KYCProfile
- Add public GraphQL API for company data (teaser/full by profileUuid)
- Add kyc_profile_uuid field to SupplierProfile
- Add Temporal activity create_kyc_profile for post-approval monitoring
- Add Dagster assets for MongoDB data collection
- Add SupplierInfoBlock component for displaying company info
- Integrate company info into CalcResultContent
2026-01-21 09:19:58 +07:00
Ruslan Bakiev
e4b809d7d9
Update submodules
2026-01-16 17:33:10 +07:00
Ruslan Bakiev
e64dab7920
Update geo - fix deliveryToHub
2026-01-16 16:03:35 +07:00
Ruslan Bakiev
01be312dd8
Update geo - fix offers_to_hub
2026-01-16 15:56:39 +07:00
Ruslan Bakiev
026880f108
Update submodules - replace graph traversal with DISTANCE() queries
2026-01-16 15:40:14 +07:00
Ruslan Bakiev
fb9311d0a7
Add supplier_uuid to graph sync pipeline
2026-01-16 10:51:08 +07:00
Ruslan Bakiev
e247256e36
Update submodules - fix catalog navigation
2026-01-16 10:35:42 +07:00
Ruslan Bakiev
5714e8e3fd
chore: update geo and webapp submodules (catalog filtering)
2026-01-16 01:42:39 +07:00
Ruslan Bakiev
9a0a8e3d58
Update submodules
2026-01-15 23:02:56 +07:00
Ruslan Bakiev
6227d3c2e0
Update geo and webapp submodules
...
- geo: Filter offer edges from route stages
- webapp: Simplify OfferResultCard, use daisyUI Steps
2026-01-15 00:33:33 +07:00
Ruslan Bakiev
f10d9bee3a
fix: remove overflow-hidden from header (dropdowns should overlay map)
2026-01-14 22:42:42 +07:00
Ruslan Bakiev
a3c9c3e189
Store EGRUL JSON in Mongo and parse PDFs
2026-01-14 21:12:05 +07:00
Ruslan Bakiev
9b12bdd414
Add meltano tap-egrul + update submodules
...
- Add meltano/ with tap-egrul extractor for EGRUL data
- tap-egrul calls egrul-agent API for PDF scraping
- Update exchange, orders, webapp submodules
2026-01-11 16:14:41 +07:00
Ruslan Bakiev
9d05386337
Update exchange and orders submodules
2026-01-09 01:11:22 +07:00
Ruslan Bakiev
46eec3e06b
Update submodules (webapp, geo)
2026-01-08 16:49:47 +07:00
Ruslan Bakiev
77a345dfa6
Update submodules (UI improvements, backend filters)
2026-01-08 10:43:15 +07:00
Ruslan Bakiev
7121c69599
Add nearest_nodes tool for coordinate-based node search
2026-01-08 00:37:30 +07:00
Ruslan Bakiev
2605b1a3b4
refactor: use GEO search param instead of client-side filtering
2026-01-07 22:01:50 +07:00
Ruslan Bakiev
b93e7859e8
chore: update submodules (teams + webapp) - address edit page
2026-01-07 16:21:15 +07:00
Ruslan Bakiev
69ff0ffe5b
Update billing submodule (add Infisical env vars)
2026-01-07 10:06:56 +07:00
Ruslan Bakiev
6fba01ad51
Update billing submodule
2026-01-07 09:55:07 +07:00
Ruslan Bakiev
ac33950f87
Update submodules with webhook URLs
2026-01-07 09:45:46 +07:00
Ruslan Bakiev
e8c67b50bd
Convert webapp and backends to submodules from Gitea
2026-01-07 09:33:15 +07:00
Ruslan Bakiev
582c3ccdd9
Allow finding offers at any search phase (rail not required)
...
Offers can be found at any stage of the search:
- Directly from destination (1 edge)
- After 1 auto edge
- At rail station
- After rail + 1 auto
Rail is not mandatory - search expands radius until offers found.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-06 12:41:51 +07:00
Ruslan Bakiev
cc12895ab8
Fix findProductRoutes: limit auto segments to 1 edge each
...
Business rule: auto can only be 1 edge at start and end of route.
- end_auto → end_auto_done after 1 auto edge
- rail → start_auto_done after 1 auto edge
- Remove MAX_AUTO_DISTANCE_KM/MAX_AUTO_TIME_SECONDS constraints
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-06 12:18:18 +07:00
Ruslan Bakiev
dfeba64305
Remove self from standalone helper functions
...
These functions are now called directly, not as class methods.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-06 12:03:31 +07:00
Ruslan Bakiev
d348f80bbb
Fix self.method calls in Graphene resolver
...
Graphene can pass None as self for root queries. Call helper functions
directly instead of via self.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-06 11:46:21 +07:00
Ruslan Bakiev
52ebc53383
Skip migrations for geo Docker startup
2026-01-06 11:09:13 +07:00
Ruslan Bakiev
24fc5230da
Fix Django Dockerfile env and Poetry install
2026-01-06 11:04:41 +07:00
Ruslan Bakiev
c23efe0746
Unify Django Docker startup
2026-01-06 10:48:55 +07:00
Ruslan Bakiev
f4c2d65588
Add Dockerfiles for backends and webapp
2026-01-06 10:29:53 +07:00
Ruslan Bakiev
09033bb162
Fix findProductRoutes: add offer phase to find product offers
...
- Add 'offer' transport_type transition in allowed_next_phase()
- Include 'offer' in fetch_neighbors() types for start_auto phase
- Enables algorithm to traverse: destination → auto → rail → auto → offer
2026-01-06 10:10:12 +07:00
Ruslan Bakiev
2e7b5ac39e
Refine product route search for constrained auto-rail-auto paths
2026-01-05 19:55:52 +07:00
Ruslan Bakiev
e4aed8e7ff
Add --product filter to seed_exchange
2026-01-05 18:26:35 +07:00
Ruslan Bakiev
11e550977a
Fix seed_exchange: fetch all hubs and filter by country in Python
2026-01-05 17:17:53 +07:00
Ruslan Bakiev
450ff73dbe
Fix geo GraphQL URL in seed_exchange
2026-01-05 16:59:06 +07:00
Ruslan Bakiev
8c1bceb0b1
Fix seed_exchange: fetch product UUIDs from Odoo instead of hardcoded slugs
2026-01-05 16:45:52 +07:00
Ruslan Bakiev
f32a7d5b6e
Add OfferService for workflow-based offer creation
...
- Add offers/services.py with OfferService class
- Add Django admin action 'Sync to graph' for offers
- Update seed_exchange for African cocoa belt hubs
- Seed can now create offers via Temporal workflow
2026-01-05 10:30:54 +07:00
Ruslan Bakiev
1208ffc153
Rename Supplier to SupplierProfile in Exchange
...
- Rename model class Supplier → SupplierProfile (keep db_table='suppliers')
- Add backwards compatibility alias Supplier = SupplierProfile
- Rename GraphQL type SupplierType → SupplierProfileType
- Rename queries: getSuppliers → getSupplierProfiles, etc.
- Update admin, apps, management commands
2026-01-05 10:11:00 +07:00
Ruslan Bakiev
5b40cde8da
Add codeName to teamTransactions from OperationCode table
...
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-05 09:25:29 +07:00
Ruslan Bakiev
3dbd44fe82
Add teamTransactions from TigerBeetle
...
- Add get_account_transfers() to TigerBeetle client
- Update team_schema to return real transactions from TigerBeetle
- Include direction (credit/debit) and counterparty UUID
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-04 13:12:13 +07:00
Ruslan Bakiev
dae2605fe2
Refactor billing: Django as wrapper for TigerBeetle
...
- Remove Operation and TransactionReason models (transactions in TigerBeetle only)
- Add OperationCode model (справочник кодов операций)
- Add ServiceAccount model (bank, revenue accounts)
- Simplify AccountType to USER/SERVICE only
- Update M2M schema: createTransaction mutation, operationCodes/serviceAccounts queries
- Update Team schema: teamBalance from TigerBeetle directly
- Add migration 0003_refactor_models
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-04 12:52:26 +07:00
Ruslan Bakiev
0219d95ec9
Fix TigerBeetle DNS resolution in Python client
2026-01-04 12:47:27 +07:00
Ruslan Bakiev
4d3e011740
Use poetry install --no-root in billing image
2026-01-04 12:00:11 +07:00
Ruslan Bakiev
655d8d3949
Fix billing Dockerfile README copy
2026-01-04 11:49:26 +07:00
Ruslan Bakiev
1bd87eb1b8
Fix K_SHORTEST_PATHS AQL syntax: add ANY direction modifier
...
The ArangoDB K_SHORTEST_PATHS function requires a direction modifier
(OUTBOUND/INBOUND/ANY) before the keyword. Without it, the query fails
with syntax error.
Ref: https://docs.arangodb.com/3.12/aql/graphs/k-shortest-paths/
2026-01-04 11:03:11 +07:00
Ruslan Bakiev
e36addef2c
Unify billing and tigerbeetle compose
2026-01-04 10:41:56 +07:00