{"code":"var __defProp=Object.defineProperty;var __name=(target,value)=>__defProp(target,\"name\",{value,configurable:true});import{randomUUID}from\"node:crypto\";import bcrypt from\"bcryptjs\";import{and,eq}from\"drizzle-orm\";import{db}from\"../lib/db/client\";import{account,posts,user}from\"../lib/db/schema\";const ADMIN_EMAIL=\"noor@latif.se\";const ADMIN_NAME=\"Noor Latif\";const DEFAULT_PASSWORD=\"dev-password-change-me\";const SEED_SAMPLES=process.env.SEED_SAMPLES===\"1\"||process.argv.includes(\"--samples\");const SAMPLE_POSTS=[{slug:\"exempel-fem-vanor-for-lugnare-vardag\",title:\"Exempel: Fem enkla vanor f\\xF6r en lugnare vardag\",excerpt:\"Ett exempelinl\\xE4gg som visar hur inl\\xE4gg ser ut: fem sm\\xE5 vanor som g\\xF6r vardagen lugnare och tydligare.\",content:`Sm\\xE5 vanor g\\xF6r ofta st\\xF6rre skillnad \\xE4n stora f\\xF6r\\xE4ndringar. H\\xE4r \\xE4r fem exempel:\n\n1. **B\\xF6rja dagen utan sk\\xE4rm** i tio minuter.\n2. **Drick ett glas vatten** direkt n\\xE4r du vaknar.\n3. **G\\xE5 en kort promenad** efter lunch.\n4. **St\\xE4ng av notiser** n\\xE4r du arbetar.\n5. **Skriv tre tacksamma saker** innan du sover.\n\n> Vanor byggs av upprepning, inte av viljestyrka.\n\nProva en i taget och se vad som h\\xE4nder. L\\xE4s g\\xE4rna mer p\\xE5 [1177](https://www.1177.se/) om h\\xE4lsosamma vanor.`,publishedAt:17859168e5,updatedAt:17859168e5},{slug:\"exempel-darfor-spelar-somnen-roll\",title:\"Exempel: D\\xE4rf\\xF6r spelar s\\xF6mnen roll f\\xF6r h\\xE4lsan\",excerpt:\"Ett exempelinl\\xE4gg om s\\xF6mn: vad som h\\xE4nder i kroppen n\\xE4r vi sover och n\\xE5gra enkla r\\xE5d f\\xF6r b\\xE4ttre s\\xF6mn.\",content:`S\\xF6mnen \\xE4r kroppens \\xE5terh\\xE4mtningsl\\xE4ge. Under natten h\\xE4nder mycket:\n\n- Minnen **bef\\xE4sts** i hj\\xE4rnan.\n- Kroppen **reparerar** muskler och v\\xE4vnad.\n- Immunf\\xF6rsvaret **laddas om**.\n\n## N\\xE5gra r\\xE5d\n\nH\\xE5ll en j\\xE4mn dygnsrytm, d\\xE4mpa ljuset p\\xE5 kv\\xE4llen och undvik koffein efter lunch.\n\nS\\xF6mnen \\xE4r *minst lika viktig* som tr\\xE4ning och kost.`,publishedAt:17858304e5,updatedAt:17858304e5}];async function main(){const password=process.env.CREATE_USER_PASSWORD??DEFAULT_PASSWORD;if(!process.env.CREATE_USER_PASSWORD){console.warn(`[seed] CREATE_USER_PASSWORD not set \\u2014 using the dev default password. Set it via env var before deploying (see README.md).`)}const passwordHash=await bcrypt.hash(password,12);const now=new Date;const existing=await db.select({id:user.id}).from(user).where(eq(user.email,ADMIN_EMAIL)).limit(1);let adminId;if(existing.length>0){adminId=existing[0].id;await db.update(user).set({name:ADMIN_NAME,updatedAt:now}).where(eq(user.email,ADMIN_EMAIL));const cred=await db.select({id:account.id}).from(account).where(and(eq(account.userId,adminId),eq(account.providerId,\"credential\"))).limit(1);if(cred.length>0){await db.update(account).set({password:passwordHash,updatedAt:now}).where(eq(account.id,cred[0].id))}else{await db.insert(account).values({id:randomUUID(),accountId:adminId,providerId:\"credential\",userId:adminId,password:passwordHash,createdAt:now,updatedAt:now})}console.log(`[seed] Updated admin user ${ADMIN_EMAIL} (password hash refreshed).`)}else{adminId=randomUUID();await db.insert(user).values({id:adminId,name:ADMIN_NAME,email:ADMIN_EMAIL,emailVerified:true,createdAt:now,updatedAt:now});await db.insert(account).values({id:randomUUID(),accountId:adminId,providerId:\"credential\",userId:adminId,password:passwordHash,createdAt:now,updatedAt:now});console.log(`[seed] Created admin user ${ADMIN_EMAIL}.`)}if(SEED_SAMPLES){for(const sample of SAMPLE_POSTS){const existingPost=await db.select({id:posts.id}).from(posts).where(eq(posts.slug,sample.slug)).limit(1);if(existingPost.length>0){await db.update(posts).set({title:sample.title,excerpt:sample.excerpt,content:sample.content,published:1,createdAt:sample.publishedAt,updatedAt:sample.updatedAt}).where(eq(posts.slug,sample.slug));console.log(`[seed] Updated sample post \"${sample.slug}\".`)}else{await db.insert(posts).values({id:randomUUID(),title:sample.title,slug:sample.slug,excerpt:sample.excerpt,content:sample.content,published:1,authorId:adminId,createdAt:sample.publishedAt,updatedAt:sample.updatedAt});console.log(`[seed] Inserted sample post \"${sample.slug}\".`)}}console.log(`[seed] Sample posts seeded (${SAMPLE_POSTS.length}).`)}}__name(main,\"main\");main().then(()=>process.exit(0)).catch(err=>{console.error(\"[seed] Failed:\",err);process.exit(1)});\n","warnings":[],"map":{"version":3,"mappings":"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","names":[],"ignoreList":[],"sources":["/home/noor/dev/latif-blog/scripts/seed.ts"],"sourcesContent":[null]}}