adds list
This commit is contained in:
34
web/src/lib/models/list.ts
Normal file
34
web/src/lib/models/list.ts
Normal file
@@ -0,0 +1,34 @@
|
||||
import { object, string } from "yup";
|
||||
import type { Trail } from "./trail";
|
||||
|
||||
export class List {
|
||||
id?: string;
|
||||
name: string;
|
||||
description?: string;
|
||||
avatar?: string;
|
||||
expand?: {
|
||||
trails: Trail[]
|
||||
}
|
||||
author?: string;
|
||||
|
||||
constructor(name: string, trails: Trail[], params?: { description?: string, avatar?: string, author?: string }) {
|
||||
this.name = name;
|
||||
this.expand = { trails: trails };
|
||||
this.description = params?.description;
|
||||
this.avatar = params?.description;
|
||||
this.author = params?.author;
|
||||
}
|
||||
}
|
||||
|
||||
export interface ListFilter {
|
||||
q: string,
|
||||
sort: "name" | "size" | "created";
|
||||
sortOrder: "+" | "-"
|
||||
}
|
||||
|
||||
export const listSchema = object<List>({
|
||||
id: string().optional(),
|
||||
name: string().required(),
|
||||
description: string().optional(),
|
||||
avatar: string().optional()
|
||||
});
|
||||
@@ -75,7 +75,7 @@ class Trail {
|
||||
}
|
||||
}
|
||||
|
||||
const trailSchema = object<SummitLog>({
|
||||
const trailSchema = object<Trail>({
|
||||
id: string().optional(),
|
||||
name: string().required("Required"),
|
||||
location: string().optional(),
|
||||
|
||||
Reference in New Issue
Block a user