1 import { config as dotenv } from 'dotenv';
2 import { db } from "../src/server/lib/db";
3 import Airtable from 'airtable';
8 apiKey: process.env.AIRTABLE_API_KEY
11 const base = Airtable.base('appDfPLPajPNog5Iw');
13 export async function createShopItems(): Promise<void> {
14 return new Promise(async (resolve) => {
15 base('Shop Items').select().eachPage(async (records, next) => {
16 await db('shop_items').insert(records.map(r => {
20 type: r.fields['Equipment Type'],
21 equipment_slot: r.fields['Equipment Slot'],
25 level: r.fields['Required Level'],
26 strength: r.fields['Required STR'],
27 constitution: r.fields['Required CON'],
28 dexterity: r.fields['Required DEX'],
29 intelligence: r.fields['Required INT']
32 strength: r.fields['Boost STR'],
33 constitution: r.fields['Boost CON'],
34 dexterity: r.fields['Boost DEX'],
35 intelligence: r.fields['Boost INT'],
36 damage: r.fields['Boost DMG'],
37 damage_mitigation: r.fields['Damage Mitigation']
39 currentAp: r.fields['Armour Points'],
40 maxAp: r.fields['Armour Points'],
41 affectedSkills: JSON.stringify(r.fields['Affected Skills']),
42 location_id: r.fields.location_id[0]
45 })).onConflict('id').merge();
47 }).finally(() => resolve());
52 createShopItems().then(() => {
53 console.log('Complete');