c10710d6a7ac04e3c0b14370e2bd915865de6013
- Add extractCName() helper to parse cName from dispensary.menuUrl - Handles /embedded-menu/<cName> and /dispensary/<cName> URL patterns - Falls back to dispensary.slug if menuUrl extraction fails - Pass cName to fetchAllProductsBothModes and fetchAllProducts - Make cName required parameter (no hardcoded defaults) - Add normBool and normDate helpers for API data normalization - Refactor graphql-client to use server-side fetch with Puppeteer session cookies Previously all stores were using AZ-Deeply-Rooted cName, causing 0 products for other dispensaries like Sol Flower. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Description
CannaiQ Scraper
Languages
TypeScript
54.5%
JavaScript
37.5%
PLpgSQL
3.6%
PHP
3.1%
Python
0.5%
Other
0.7%