From 10970042456dc2a7b6d314e43479daae7dbeb8e5 Mon Sep 17 00:00:00 2001 From: Eli Ribble Date: Wed, 15 Apr 2026 18:25:12 +0000 Subject: [PATCH] Add custom pool upload page --- api/routes.go | 2 +- ts/components/TableUploadRequirements.vue | 7 +- ts/router.ts | 7 ++ ts/view/configuration/UploadPoolCustom.vue | 128 ++++++++++++++++++++ ts/view/configuration/UploadPoolFlyover.vue | 2 +- 5 files changed, 143 insertions(+), 3 deletions(-) create mode 100644 ts/view/configuration/UploadPoolCustom.vue diff --git a/api/routes.go b/api/routes.go index 575ba71c..d275dcec 100644 --- a/api/routes.go +++ b/api/routes.go @@ -61,8 +61,8 @@ func AddRoutes(r *mux.Router) { r.Handle("/trap-data", auth.NewEnsureAuth(apiTrapData)).Methods("GET") r.Handle("/tile/{z}/{y}/{x}", auth.NewEnsureAuth(getTile)).Methods("GET") upload := resource.Upload(r) - r.Handle("/upload/pool/flyover", authenticatedHandlerPostMultipart(upload.PoolFlyoverCreate, file.CollectionCSV)).Methods("POST") r.Handle("/upload/pool/custom", authenticatedHandlerPostMultipart(upload.PoolCustomCreate, file.CollectionCSV)).Methods("POST") + r.Handle("/upload/pool/flyover", authenticatedHandlerPostMultipart(upload.PoolFlyoverCreate, file.CollectionCSV)).Methods("POST") r.Handle("/upload", authenticatedHandlerJSON(upload.List)).Methods("GET") r.Handle("/upload/{id}", authenticatedHandlerJSON(upload.ByIDGet)).Methods("GET") r.Handle("/upload/{id}/commit", authenticatedHandlerJSONPost(upload.Commit)).Methods("POST") diff --git a/ts/components/TableUploadRequirements.vue b/ts/components/TableUploadRequirements.vue index 06728b60..38a24bb4 100644 --- a/ts/components/TableUploadRequirements.vue +++ b/ts/components/TableUploadRequirements.vue @@ -23,7 +23,12 @@ {{ req.field }} {{ req.description }} - {{ req.format }} + + E164 format, or enough digits to be a valid phone number + + {{ req.format }} {{ req.example }} diff --git a/ts/router.ts b/ts/router.ts index 94c9d8cd..88912eb3 100644 --- a/ts/router.ts +++ b/ts/router.ts @@ -12,6 +12,7 @@ import ConfigurationRoot from "./view/configuration/Root.vue"; import ConfigurationUpload from "./view/configuration/Upload.vue"; import ConfigurationUploadDetail from "./view/configuration/UploadDetail.vue"; import ConfigurationUploadPool from "./view/configuration/UploadPool.vue"; +import ConfigurationUploadPoolCustom from "./view/configuration/UploadPoolCustom.vue"; import ConfigurationUploadPoolFlyover from "./view/configuration/UploadPoolFlyover.vue"; import ConfigurationUser from "./view/configuration/User.vue"; import ConfigurationUserAdd from "./view/configuration/UserAdd.vue"; @@ -95,6 +96,12 @@ const routes: RouteRecordRaw[] = [ component: ConfigurationUploadPool, meta: { requiresAuth: true, showSidebar: true }, }, + { + path: "/_/configuration/upload/pool/custom", + name: "Custom Pool Upload", + component: ConfigurationUploadPoolCustom, + meta: { requiresAuth: true, showSidebar: true }, + }, { path: "/_/configuration/upload/pool/flyover", name: "Flyover Upload", diff --git a/ts/view/configuration/UploadPoolCustom.vue b/ts/view/configuration/UploadPoolCustom.vue new file mode 100644 index 00000000..4b5f9d15 --- /dev/null +++ b/ts/view/configuration/UploadPoolCustom.vue @@ -0,0 +1,128 @@ + + diff --git a/ts/view/configuration/UploadPoolFlyover.vue b/ts/view/configuration/UploadPoolFlyover.vue index 13434839..478b18e4 100644 --- a/ts/view/configuration/UploadPoolFlyover.vue +++ b/ts/view/configuration/UploadPoolFlyover.vue @@ -1,7 +1,7 @@