Spaces:
Running
Running
import { base } from "$app/paths"; | |
import { authCondition } from "$lib/server/auth.js"; | |
import { collections } from "$lib/server/database.js"; | |
import { models } from "$lib/server/models"; | |
import { redirect } from "@sveltejs/kit"; | |
export async function load({ params, locals, parent }) { | |
const model = models.find(({ id }) => id === params.model); | |
const data = await parent(); | |
if (!model || model.unlisted) { | |
throw redirect(302, `${base}/`); | |
} | |
if (locals.user?._id ?? locals.sessionId) { | |
await collections.settings.updateOne( | |
authCondition(locals), | |
{ | |
$set: { | |
activeModel: model.id, | |
updatedAt: new Date(), | |
}, | |
$setOnInsert: { | |
createdAt: new Date(), | |
}, | |
}, | |
{ | |
upsert: true, | |
} | |
); | |
} | |
return { | |
settings: { | |
...data.settings, | |
activeModel: model.id, | |
}, | |
}; | |
} | |