File size: 885 Bytes
992a8de
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import { collections } from "$lib/server/database";
import { ObjectId } from "mongodb";
import type { LayoutServerLoad } from "./$types";

export const load = (async ({ locals, parent }) => {
	const { settings } = await parent();

	// find assistants matching the settings assistants
	const assistants = await collections.assistants
		.find({
			_id: { $in: settings.assistants.map((el) => new ObjectId(el)) },
		})
		.toArray();

	return {
		assistants: await Promise.all(
			assistants.map(async (el) => ({
				...el,
				_id: el._id.toString(),
				createdById: undefined,
				createdByMe:
					el.createdById.toString() === (locals.user?._id ?? locals.sessionId).toString(),
				reported:
					(await collections.reports.countDocuments({
						assistantId: el._id,
						createdBy: locals.user?._id ?? locals.sessionId,
					})) > 0,
			}))
		),
	};
}) satisfies LayoutServerLoad;