touchups after refactor
This commit is contained in:
@@ -130,7 +130,7 @@
|
||||
{/if}
|
||||
</td>
|
||||
{/if}
|
||||
{#if showAuthor && log.expand.author}
|
||||
{#if showAuthor && log.expand?.author}
|
||||
<td>
|
||||
<p
|
||||
class="tooltip flex justify-center"
|
||||
@@ -162,7 +162,7 @@
|
||||
</p>
|
||||
</td>
|
||||
{/if}
|
||||
{#if showRoute && log.expand.gpx_data}
|
||||
{#if showRoute && log.expand?.gpx_data}
|
||||
<td>
|
||||
<button on:click={openRoute} class="btn-icon">
|
||||
<i class="fa fa-map-location-dot px-[3px] text-xl"></i></button
|
||||
|
||||
@@ -12,8 +12,8 @@ const SummitLogCreateSchema = z.object({
|
||||
elevation_loss: z.number().nonnegative().optional(),
|
||||
duration: z.number().nonnegative().optional(),
|
||||
author: z.string().length(15),
|
||||
photos: z.array(z.string())
|
||||
}) satisfies ZodType<SummitLog>
|
||||
photos: z.array(z.string()).default([])
|
||||
}) satisfies ZodType<Partial<SummitLog>>
|
||||
|
||||
const SummitLogUpdateSchema = z.object({
|
||||
date: z.string().date().refine((val) => !val || !isNaN(Date.parse(val)), "invalid-date").optional(),
|
||||
|
||||
@@ -10,21 +10,21 @@ const TrailCreateSchema = z.object({
|
||||
date: z.string().optional().refine((val) => !val || !isNaN(Date.parse(val)), "invalid-date"),
|
||||
public: z.boolean(),
|
||||
difficulty: z.enum(["easy", "moderate", "difficult"]).optional(),
|
||||
lat: z.number().optional(),
|
||||
lon: z.number().optional(),
|
||||
lat: z.number().min(-90).max(90).optional(),
|
||||
lon: z.number().min(-180).max(180).optional(),
|
||||
distance: z.number({coerce: true}).nonnegative().optional(),
|
||||
elevation_gain: z.number({coerce: true}).nonnegative().optional(),
|
||||
elevation_loss: z.number({coerce: true}).nonnegative().optional(),
|
||||
duration: z.number({coerce: true}).nonnegative().optional(),
|
||||
photos: z.array(z.string()),
|
||||
photos: z.array(z.string()).default([]),
|
||||
thumbnail: z.number().int().nonnegative().optional(),
|
||||
waypoints: z.array(z.string()),
|
||||
summit_logs: z.array(z.string()),
|
||||
category: z.string().optional(),
|
||||
waypoints: z.array(z.string()).default([]),
|
||||
summit_logs: z.array(z.string()).default([]),
|
||||
category: z.string().length(15).optional(),
|
||||
gpx: z.string().optional(),
|
||||
author: z.string().length(15),
|
||||
|
||||
}) satisfies ZodType<Trail>
|
||||
}) satisfies ZodType<Partial<Trail>>
|
||||
|
||||
const TrailUpdateSchema = z.object({
|
||||
name: z.string(),
|
||||
@@ -33,13 +33,15 @@ const TrailUpdateSchema = z.object({
|
||||
date: z.string().optional().refine((val) => !val || !isNaN(Date.parse(val)), "invalid-date"),
|
||||
public: z.boolean().optional(),
|
||||
difficulty: z.enum(["easy", "moderate", "difficult"]).optional(),
|
||||
lat: z.number().optional(),
|
||||
lon: z.number().optional(),
|
||||
lat: z.number().min(-90).max(90).optional(),
|
||||
lon: z.number().min(-180).max(180).optional(),
|
||||
distance: z.number({coerce: true}).nonnegative().optional(),
|
||||
elevation_gain: z.number({coerce: true}).nonnegative().optional(),
|
||||
elevation_loss: z.number({coerce: true}).nonnegative().optional(),
|
||||
duration: z.number({coerce: true}).nonnegative().optional(),
|
||||
photos: z.array(z.string()).optional(),
|
||||
"photos-": z.string().optional(),
|
||||
"photos+": z.string().optional(),
|
||||
thumbnail: z.number().int().nonnegative().optional(),
|
||||
waypoints: z.array(z.string()).optional(),
|
||||
summit_logs: z.array(z.string()).optional(),
|
||||
|
||||
@@ -7,7 +7,7 @@ const UserCreateSchema = (z.object({
|
||||
password: z.string().min(8, "must-be-at-least-n-characters-long"),
|
||||
passwordConfirm: z.string().optional()
|
||||
|
||||
}) satisfies ZodType<User>).refine((data) => data.password === data.passwordConfirm, {
|
||||
}) satisfies ZodType<Partial<User>>).refine((data) => data.password === data.passwordConfirm, {
|
||||
message: "passwords-must-match",
|
||||
path: ["passwordConfirm"],
|
||||
})
|
||||
|
||||
@@ -5,22 +5,20 @@ const WaypointCreateSchema = z.object({
|
||||
id: z.string().length(15).optional(),
|
||||
name: z.string().optional(),
|
||||
description: z.string().optional(),
|
||||
text: z.string().optional(),
|
||||
lat: z.number(),
|
||||
lon: z.number(),
|
||||
lat: z.number({coerce: true}).min(-90).max(90),
|
||||
lon: z.number({coerce: true}).min(-180).max(180),
|
||||
icon: z.string().optional(),
|
||||
author: z.string().length(15),
|
||||
photos: z.array(z.string()),
|
||||
}) satisfies ZodType<Waypoint>
|
||||
photos: z.array(z.string()).default([]),
|
||||
}) satisfies ZodType<Partial<Waypoint>>
|
||||
|
||||
const WaypointUpdateSchema = z.object({
|
||||
name: z.string().optional(),
|
||||
description: z.string().optional(),
|
||||
text: z.string().optional(),
|
||||
lat: z.number({coerce: true}).optional(),
|
||||
lon: z.number({coerce: true}).optional(),
|
||||
lat: z.number({coerce: true}).min(-90).max(90).optional(),
|
||||
lon: z.number({coerce: true}).min(-180).max(180).optional(),
|
||||
icon: z.string().optional(),
|
||||
photos: z.array(z.string()),
|
||||
photos: z.array(z.string()).optional(),
|
||||
"photos-": z.string().optional(),
|
||||
"photos+": z.string().optional(),
|
||||
}) satisfies ZodType<Partial<Waypoint>>
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
import { SummitLogCreateSchema } from '$lib/models/api/summit_log_schema';
|
||||
import type { SummitLog } from '$lib/models/summit_log';
|
||||
import { pb } from '$lib/pocketbase';
|
||||
import { create, handleError } from '$lib/util/api_util';
|
||||
import { Collection, list } from '$lib/util/api_util';
|
||||
import { error, json, type RequestEvent } from '@sveltejs/kit';
|
||||
import { Collection, create, handleError, list } from '$lib/util/api_util';
|
||||
import { json, type RequestEvent } from '@sveltejs/kit';
|
||||
|
||||
export async function GET(event: RequestEvent) {
|
||||
try {
|
||||
@@ -29,6 +28,6 @@ export async function PUT(event: RequestEvent) {
|
||||
const r = await create<SummitLog>(event, SummitLogCreateSchema, Collection.summit_logs)
|
||||
return json(r);
|
||||
} catch (e: any) {
|
||||
throw error(e.status, e)
|
||||
throw handleError(e)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user