adds meilisearch

This commit is contained in:
Christian Beutel
2024-02-03 14:26:47 +01:00
parent 905995a01c
commit c370690747
14 changed files with 242 additions and 66 deletions

View File

@@ -7,6 +7,7 @@ import { util } from "$lib/vendor/svelte-form-lib/util";
import { writable, type Writable } from "svelte/store";
import { summit_logs_create, summit_logs_delete, summit_logs_update } from "./summit_log_store";
import { waypoints_create, waypoints_delete, waypoints_update } from "./waypoint_store";
import { ms } from "$lib/meilisearch";
export const trails: Writable<Trail[]> = writable([])
export const trail: Writable<Trail> = writable(new Trail(""));
@@ -26,7 +27,7 @@ export async function trails_index() {
}
export async function trails_show(id: string, loadGPX?: boolean) {
const response: Trail = await pb.collection('trails').getOne<Trail>(id, { expand: "category,waypoints,summit_logs" })
const response: Trail = await pb.collection('trails').getOne<Trail>(id, { expand: "category,waypoints,summit_logs" })
if (loadGPX) {
const gpxData: string = await fetchGPX(response);
@@ -91,6 +92,8 @@ export async function trails_create(trail: Trail, formData: { [key: string]: any
.collection("trails")
.update<Trail>(model.id!, { thumbnail: thumbnail });
index_trail(model);
return model;
}
@@ -169,7 +172,9 @@ export async function trails_update(oldTrail: Trail, newTrail: Trail, formData:
trail.set(model);
// return model;
index_trail(model);
return model;
}
@@ -231,3 +236,21 @@ function compareObjectArrays<T extends { id?: string }>(oldArray: T[], newArray:
};
}
function index_trail(trail: Trail) {
ms.index('trails').addDocuments([
{
"id": trail.id,
"name": trail.name,
"description": trail.description,
"location": trail.location,
"distance": trail.distance,
"elevation_gain": trail.elevation_gain,
"duration": trail.duration,
"category": trail.expand.category?.name,
"_geo": {
"lat": trail.lat,
"lng": trail.lon,
}
}]);
}