implements trail sharing

This commit is contained in:
Christian Beutel
2024-06-06 02:02:23 +02:00
parent 5d46ad96b4
commit ad5a4e668b
44 changed files with 1257 additions and 308 deletions

View File

@@ -1,6 +1,7 @@
import type { Category } from "./category";
import type { Comment } from "./comment";
import type { SummitLog } from "./summit_log";
import type { TrailShare } from "./trail_share";
import type { Waypoint } from "./waypoint";
class Trail {
@@ -28,6 +29,7 @@ class Trail {
summit_logs: SummitLog[]
comments_via_trail: Comment[]
gpx_data?: string
trail_share_via_trail?: TrailShare[]
}
tags?: string[];
description?: string;
@@ -52,6 +54,7 @@ class Trail {
waypoints?: Waypoint[],
summit_logs?: SummitLog[],
comments?: Comment[],
shares?: TrailShare[],
tags?: string[],
description?: string
created?: string
@@ -78,7 +81,8 @@ class Trail {
category: params?.category,
waypoints: params?.waypoints ?? [],
summit_logs: params?.summit_logs ?? [],
comments_via_trail: params?.comments ?? []
comments_via_trail: params?.comments ?? [],
trail_share_via_trail: params?.shares ?? []
}
this.tags = params?.tags ?? []
this.description = params?.description ?? "";

View File

@@ -0,0 +1,17 @@
import type { User } from "./user";
export class TrailShare {
id?: string;
user: string;
trail: string;
permission: "view" | "edit"
expand?: {
user: User
}
constructor(user: string, trail: string, permission: "view" | "edit") {
this.user = user;
this.trail = trail;
this.permission = permission
}
}