Files
cannaiq/backend/update-curaleaf-dutchie-urls.ts
2025-11-28 19:45:44 -07:00

65 lines
2.6 KiB
TypeScript

import { pool } from './src/db/migrate';
// Map of Curaleaf store names to their Dutchie URLs
const curaleafDutchieUrls: { [key: string]: string } = {
'curaleaf-az-48th-street': 'https://dutchie.com/dispensary/curaleaf-dispensary-48th-street',
'curaleaf-az-phoenix-med': 'https://dutchie.com/dispensary/curaleaf-phoenix',
'curaleaf-az-tucson-med': 'https://dutchie.com/dispensary/curaleaf-tucson',
'curaleaf-az-scottsdale-natural-remedy-patient-center-med': 'https://dutchie.com/dispensary/curaleaf-dispensary-scottsdale',
'curaleaf-az-midtown-med': 'https://dutchie.com/dispensary/curaleaf-dispensary-midtown',
'curaleaf-az-gilbert-med': 'https://dutchie.com/dispensary/curaleaf-gilbert',
'curaleaf-az-glendale-med': 'https://dutchie.com/dispensary/curaleaf-glendale',
'curaleaf-az-bell-med': 'https://dutchie.com/dispensary/curaleaf-bell-road',
'curaleaf-az-peoria-med': 'https://dutchie.com/dispensary/curaleaf-dispensary-peoria',
'curaleaf-az-camelback-med': 'https://dutchie.com/dispensary/curaleaf-camelback',
'curaleaf-az-central-med': 'https://dutchie.com/dispensary/curaleaf-central',
'curaleaf-az-queen-creek': 'https://dutchie.com/dispensary/curaleaf-queen-creek',
'curaleaf-az-sedona-med': 'https://dutchie.com/dispensary/curaleaf-dispensary-sedona',
'curaleaf-az-youngtown-med': 'https://dutchie.com/dispensary/curaleaf-youngtown',
};
async function updateCuraleafUrls() {
console.log('🔄 Updating Curaleaf stores to use Dutchie menu URLs...\n');
try {
// Get all Curaleaf stores
const stores = await pool.query(
"SELECT id, name, slug FROM stores WHERE name LIKE '%Curaleaf%' ORDER BY id"
);
console.log(`Found ${stores.rows.length} Curaleaf stores\n`);
for (const store of stores.rows) {
const dutchieUrl = curaleafDutchieUrls[store.slug];
if (dutchieUrl) {
await pool.query(
'UPDATE stores SET dutchie_url = $1 WHERE id = $2',
[dutchieUrl, store.id]
);
console.log(`✅ Updated: ${store.name}`);
console.log(` New URL: ${dutchieUrl}\n`);
} else {
console.log(`⚠️ No Dutchie URL mapping for: ${store.name} (${store.slug})`);
console.log(` Keeping current URL\n`);
}
}
console.log('\n✅ Update complete!');
// Show updated stores
console.log('\n📊 Updated Curaleaf stores:');
const updated = await pool.query(
"SELECT id, name, dutchie_url FROM stores WHERE name LIKE '%Curaleaf%' ORDER BY id LIMIT 5"
);
console.table(updated.rows);
} catch (error) {
console.error('❌ Error:', error);
} finally {
await pool.end();
}
}
updateCuraleafUrls();