const { randomUUID } = require("crypto"); const CUISINES = [ "american", "argentinian", "armenian", "asian", "bakery", "bar_grill", "barbecue", "bavarian", "bbq", "belgian", "bistro", "breakfast", "bubble_tea", "burger", "cake", "caucasian", "chicken", "chinese", "chocolate", "coffee", "coffee_shop", "czech", "dessert", "donut", "eclair", "european", "falafel", "fast_food", "fine_dining", "fish", "french", "fries", "fusion", "georgian", "grill", "ice_cream", "indian", "international", "italian", "italian_pizza", "japanese", "jewish", "kebab", "korean", "latvian", "local", "lunch", "meat", "mediterranean", "mexican", "oriental", "oyster", "pancake", "pastry", "pizza", "ramen", "regional", "russian", "sandwich", "savory_pancakes", "seafood", "soup", "soviet", "steak_house", "sushi", "tapas", "tea", "traditional", "turkish", "ukrainian", "uzbek", "vietnamese", "waffle" ] const CATEGORIES = [ { id: randomUUID(), name: 'restaurant', subcategories: CUISINES.map(name => ({ id: randomUUID(), name })) }, { id: randomUUID(), name: 'cafe', subcategories: CUISINES.map(name => ({ id: randomUUID(), name })) }, { id: randomUUID(), name: 'bar', subcategories: CUISINES.map(name => ({ id: randomUUID(), name })) }, { id: randomUUID(), name: 'pub', subcategories: CUISINES.map(name => ({ id: randomUUID(), name })) }, { id: randomUUID(), name: 'biergarten', subcategories: CUISINES.map(name => ({ id: randomUUID(), name })) }, { id: randomUUID(), name: 'fast_food', subcategories: CUISINES.map(name => ({ id: randomUUID(), name })) }, { id: randomUUID(), name: 'food_court', subcategories: CUISINES.map(name => ({ id: randomUUID(), name })) }, { id: randomUUID(), name: 'ice_cream', subcategories: CUISINES.map(name => ({ id: randomUUID(), name })) }, ]; exports.CATEGORIES = CATEGORIES; /** * @param { import("knex").Knex } knex * @returns { Promise } */ exports.seed = async function (knex) { await knex('categories').insert(CATEGORIES.map(({ name, id }) => ({ name, id }))); await knex('subcategories').insert(CATEGORIES.flatMap(({ subcategories, id }) => subcategories.map((s) => ({ id: s.id, name: s.name, category_id: id })))); };