feat(hunt): track walking distance via GPS, show live locations on map
Add foreground-only GPS distance tracking for hunts
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
/**
|
||||
* Shared DTO shapes for the organizer live map. Both endpoints return plain
|
||||
* JSON (no SuperJSON) with `Date` fields serialized as ISO strings and Prisma
|
||||
* `Decimal` coordinates coerced to numbers.
|
||||
*/
|
||||
|
||||
export type MapUser = {
|
||||
id: number;
|
||||
name: string;
|
||||
email: string;
|
||||
};
|
||||
|
||||
export type MapTeam = {
|
||||
id: number;
|
||||
name: string;
|
||||
owner: MapUser;
|
||||
members: MapUser[];
|
||||
};
|
||||
|
||||
export type MapPosition = {
|
||||
userId: number;
|
||||
lat: number;
|
||||
lon: number;
|
||||
accuracy: number | null;
|
||||
recordedAt: string;
|
||||
};
|
||||
|
||||
export type MapAnswer = {
|
||||
id: number;
|
||||
lat: number;
|
||||
lon: number;
|
||||
createdAt: string;
|
||||
memberId: number;
|
||||
teamId: number;
|
||||
pictureUrl: string | null;
|
||||
quest: {
|
||||
id: number;
|
||||
title_de: string;
|
||||
title_en: string;
|
||||
};
|
||||
};
|
||||
|
||||
export type HuntMapData = {
|
||||
teams: MapTeam[];
|
||||
positions: MapPosition[];
|
||||
answers: MapAnswer[];
|
||||
};
|
||||
|
||||
export type TrailPoint = {
|
||||
lat: number;
|
||||
lon: number;
|
||||
accuracy: number | null;
|
||||
recordedAt: string;
|
||||
};
|
||||
|
||||
export type UserTrail = {
|
||||
points: TrailPoint[];
|
||||
};
|
||||
Reference in New Issue
Block a user