diff --git a/frontend/src/lib/stores/trailMarkers.svelte.ts b/frontend/src/lib/stores/trailMarkers.svelte.ts index dbaf98c..948b525 100644 --- a/frontend/src/lib/stores/trailMarkers.svelte.ts +++ b/frontend/src/lib/stores/trailMarkers.svelte.ts @@ -25,6 +25,23 @@ export class TrailMarkerStore { return this.byTrail(trailId).filter((r) => !r.resolved) } + /** + * Ändern darf, wer den Marker angelegt hat, sowie Trail-Paten und + * Team-Admins — dieselbe Regel wie in der updateRule der Collection. + * Der Trail wird übergeben, weil der Store ihn nicht kennt. + */ + canEdit(marker: TrailMarkersResponse, stewards: string[], teamOwner?: string, teamAdmins: string[] = []): boolean { + const uid = auth.user?.id + if (!uid) return false + + return ( + marker.created_by === uid || + stewards.includes(uid) || + teamOwner === uid || + teamAdmins.includes(uid) + ) + } + async load() { this.loading = true this.error = null