mirror of
https://github.com/jcreek/LivingDexTracker.git
synced 2026-07-13 02:53:45 +00:00
chore(*): Fix remaining PR comments
This commit is contained in:
@@ -32,21 +32,16 @@ export const GET = async (event: RequestEvent) => {
|
|||||||
|
|
||||||
export const PUT = async (event: RequestEvent) => {
|
export const PUT = async (event: RequestEvent) => {
|
||||||
try {
|
try {
|
||||||
console.log('PUT request received for catch-records');
|
|
||||||
|
|
||||||
// Check if we can get a session first
|
// Check if we can get a session first
|
||||||
const { session, user } = await event.locals.safeGetSession();
|
const { session, user } = await event.locals.safeGetSession();
|
||||||
console.log('Session check:', { hasSession: !!session, hasUser: !!user, userId: user?.id });
|
|
||||||
|
|
||||||
const userId = await requireAuth(event);
|
const userId = await requireAuth(event);
|
||||||
console.log('Auth successful, userId:', userId);
|
|
||||||
|
|
||||||
const data: Partial<CatchRecord> = await event.request.json();
|
const data: Partial<CatchRecord> = await event.request.json();
|
||||||
|
|
||||||
// Get the user's session and set it on the Supabase client
|
// Get the user's session and set it on the Supabase client
|
||||||
if (session) {
|
if (session) {
|
||||||
await event.locals.supabase.auth.setSession(session);
|
await event.locals.supabase.auth.setSession(session);
|
||||||
console.log('Session set on Supabase client');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ensure the userId is set to the authenticated user
|
// Ensure the userId is set to the authenticated user
|
||||||
|
|||||||
@@ -0,0 +1,98 @@
|
|||||||
|
import { json } from '@sveltejs/kit';
|
||||||
|
import { createClient } from '@supabase/supabase-js';
|
||||||
|
import { PUBLIC_SUPABASE_URL, PUBLIC_SUPABASE_ANON_KEY } from '$env/static/public';
|
||||||
|
import dex from '$lib/helpers/pokedex.json';
|
||||||
|
import RegionGameMappingJson from '$lib/helpers/region-game-mapping.json';
|
||||||
|
|
||||||
|
export const GET = async () => {
|
||||||
|
// Only allow seeding in development
|
||||||
|
if (process.env.NODE_ENV === 'production') {
|
||||||
|
return json({ message: 'Seeding not allowed in production' }, { status: 403 });
|
||||||
|
}
|
||||||
|
|
||||||
|
const supabase = createClient(PUBLIC_SUPABASE_URL, PUBLIC_SUPABASE_ANON_KEY);
|
||||||
|
|
||||||
|
try {
|
||||||
|
// Seed Pokédex entries
|
||||||
|
const { data: existingEntries, error: countError } = await supabase
|
||||||
|
.from('pokedex_entries')
|
||||||
|
.select('id', { count: 'exact', head: true });
|
||||||
|
|
||||||
|
if (countError) {
|
||||||
|
throw new Error(`Failed to check existing entries: ${countError.message}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Only seed if table is empty
|
||||||
|
if (!existingEntries || existingEntries.length === 0) {
|
||||||
|
console.log('Seeding Pokédex entries...');
|
||||||
|
|
||||||
|
// Transform data to match database schema
|
||||||
|
const pokemonData = dex.map((pokemon: any) => ({
|
||||||
|
pokedexNumber: pokemon.pokedexNumber,
|
||||||
|
pokemon: pokemon.pokemon,
|
||||||
|
form: pokemon.form || null,
|
||||||
|
canGigantamax: pokemon.canGigantamax || false,
|
||||||
|
regionToCatchIn: pokemon.regionToCatchIn || null,
|
||||||
|
gamesToCatchIn: pokemon.gamesToCatchIn || null,
|
||||||
|
regionToEvolveIn: pokemon.regionToEvolveIn || null,
|
||||||
|
evolutionInformation: pokemon.evolutionInformation || null,
|
||||||
|
catchInformation: pokemon.catchInformation || null,
|
||||||
|
boxPlacementFormsBox: pokemon.boxPlacementForms?.box || null,
|
||||||
|
boxPlacementFormsRow: pokemon.boxPlacementForms?.row || null,
|
||||||
|
boxPlacementFormsColumn: pokemon.boxPlacementForms?.column || null,
|
||||||
|
boxPlacementBox: pokemon.boxPlacement?.box || null,
|
||||||
|
boxPlacementRow: pokemon.boxPlacement?.row || null,
|
||||||
|
boxPlacementColumn: pokemon.boxPlacement?.column || null
|
||||||
|
}));
|
||||||
|
|
||||||
|
const { error: insertError } = await supabase.from('pokedex_entries').insert(pokemonData);
|
||||||
|
|
||||||
|
if (insertError) {
|
||||||
|
throw new Error(`Failed to seed Pokédex entries: ${insertError.message}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log(`Seeded ${pokemonData.length} Pokédex entries`);
|
||||||
|
} else {
|
||||||
|
console.log('Pokédex entries already exist, skipping seeding');
|
||||||
|
}
|
||||||
|
|
||||||
|
// Seed region-game mappings (check if table exists first)
|
||||||
|
const { data: existingMappings, error: mappingCountError } = await supabase
|
||||||
|
.from('region_game_mappings')
|
||||||
|
.select('id', { count: 'exact', head: true });
|
||||||
|
|
||||||
|
if (!mappingCountError && (!existingMappings || existingMappings.length === 0)) {
|
||||||
|
console.log('Seeding region-game mappings...');
|
||||||
|
|
||||||
|
const { error: mappingInsertError } = await supabase
|
||||||
|
.from('region_game_mappings')
|
||||||
|
.insert(RegionGameMappingJson);
|
||||||
|
|
||||||
|
if (mappingInsertError) {
|
||||||
|
throw new Error(`Failed to seed region-game mappings: ${mappingInsertError.message}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log(`Seeded ${RegionGameMappingJson.length} region-game mappings`);
|
||||||
|
} else if (!mappingCountError) {
|
||||||
|
console.log('Region-game mappings already exist, skipping seeding');
|
||||||
|
}
|
||||||
|
|
||||||
|
return json({
|
||||||
|
message: 'Seeding completed successfully',
|
||||||
|
seeded: {
|
||||||
|
pokemonEntries: !existingEntries || existingEntries.length === 0,
|
||||||
|
regionGameMappings:
|
||||||
|
!mappingCountError && (!existingMappings || existingMappings.length === 0)
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} catch (error) {
|
||||||
|
console.error('Seeding failed:', error);
|
||||||
|
return json(
|
||||||
|
{
|
||||||
|
message: 'Seeding failed',
|
||||||
|
error: error instanceof Error ? error.message : 'Unknown error'
|
||||||
|
},
|
||||||
|
{ status: 500 }
|
||||||
|
);
|
||||||
|
}
|
||||||
|
};
|
||||||
+1
-6
@@ -17,12 +17,7 @@
|
|||||||
"virtual:pwa-assets"
|
"virtual:pwa-assets"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"include": [
|
"include": ["src/**/*.ts", "src/**/*.svelte", "node_modules/vite-plugin-pwa/client.d.ts"],
|
||||||
"src/**/*.ts",
|
|
||||||
"src/**/*.svelte",
|
|
||||||
"node_modules/vite-plugin-pwa/client.d.ts",
|
|
||||||
"node_modules/**/*.d.ts"
|
|
||||||
],
|
|
||||||
"exclude": [".svelte-kit/**/*", "node_modules/**/*"]
|
"exclude": [".svelte-kit/**/*", "node_modules/**/*"]
|
||||||
// Path aliases are handled by https://kit.svelte.dev/docs/configuration#alias
|
// Path aliases are handled by https://kit.svelte.dev/docs/configuration#alias
|
||||||
//
|
//
|
||||||
|
|||||||
Reference in New Issue
Block a user