2026-03-03 17:08:58 +00:00
|
|
|
package html
|
2026-02-07 18:26:47 +00:00
|
|
|
|
|
|
|
|
import (
|
2026-03-02 18:49:02 +00:00
|
|
|
"strconv"
|
|
|
|
|
|
2026-02-07 18:26:47 +00:00
|
|
|
"github.com/Gleipnir-Technology/nidus-sync/config"
|
|
|
|
|
)
|
|
|
|
|
|
2026-03-03 17:08:58 +00:00
|
|
|
type ContentURL struct {
|
2026-02-27 16:51:41 +00:00
|
|
|
Configuration contentURLConfiguration
|
2026-02-25 17:21:37 +00:00
|
|
|
OAuthRefreshArcGIS string
|
|
|
|
|
Root string
|
|
|
|
|
Route string
|
2026-02-27 16:17:48 +00:00
|
|
|
Sidebar contentURLSidebar
|
2026-02-25 17:21:37 +00:00
|
|
|
Tegola string
|
2026-03-01 22:21:20 +00:00
|
|
|
Upload contentURLUpload
|
2026-02-25 17:21:37 +00:00
|
|
|
}
|
|
|
|
|
|
2026-03-03 17:08:58 +00:00
|
|
|
func NewContentURL() ContentURL {
|
|
|
|
|
return ContentURL{
|
2026-02-27 16:51:41 +00:00
|
|
|
Configuration: newContentURLConfiguration(),
|
2026-02-27 16:17:48 +00:00
|
|
|
OAuthRefreshArcGIS: config.MakeURLNidus("/arcgis/oauth/begin"),
|
|
|
|
|
Root: config.MakeURLNidus("/"),
|
|
|
|
|
Route: config.MakeURLNidus("/route"),
|
|
|
|
|
Sidebar: newContentURLSidebar(),
|
|
|
|
|
Tegola: config.MakeURLTegola("/"),
|
2026-03-01 22:21:20 +00:00
|
|
|
Upload: newContentURLUpload(),
|
2026-02-27 16:17:48 +00:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2026-02-27 16:51:41 +00:00
|
|
|
type contentURLConfiguration struct {
|
2026-02-28 23:23:16 +00:00
|
|
|
ArcGIS string
|
|
|
|
|
Fieldseeker string
|
|
|
|
|
Integration string
|
|
|
|
|
Organization string
|
|
|
|
|
Pesticide string
|
|
|
|
|
PesticideAdd string
|
|
|
|
|
Root string
|
|
|
|
|
User string
|
|
|
|
|
Upload string
|
|
|
|
|
UserAdd string
|
2026-02-27 16:51:41 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func newContentURLConfiguration() contentURLConfiguration {
|
|
|
|
|
return contentURLConfiguration{
|
2026-02-28 23:23:16 +00:00
|
|
|
ArcGIS: config.MakeURLNidus("/configuration/integration/arcgis"),
|
|
|
|
|
Fieldseeker: config.MakeURLNidus("/configuration/integration/fieldseeker"),
|
|
|
|
|
Integration: config.MakeURLNidus("/configuration/integration"),
|
|
|
|
|
Organization: config.MakeURLNidus("/configuration/organization"),
|
|
|
|
|
Pesticide: config.MakeURLNidus("/configuration/pesticide"),
|
|
|
|
|
PesticideAdd: config.MakeURLNidus("/configuration/pesticide/add"),
|
|
|
|
|
Root: config.MakeURLNidus("/configuration"),
|
|
|
|
|
User: config.MakeURLNidus("/configuration/user"),
|
|
|
|
|
Upload: config.MakeURLNidus("/configuration/upload"),
|
|
|
|
|
UserAdd: config.MakeURLNidus("/configuration/user/add"),
|
2026-02-27 16:51:41 +00:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2026-02-27 16:17:48 +00:00
|
|
|
type contentURLSidebar struct {
|
|
|
|
|
Communication string
|
|
|
|
|
Configuration string
|
|
|
|
|
Intelligence string
|
|
|
|
|
Operations string
|
|
|
|
|
Planning string
|
|
|
|
|
Review string
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func newContentURLSidebar() contentURLSidebar {
|
|
|
|
|
return contentURLSidebar{
|
|
|
|
|
Communication: config.MakeURLNidus("/communication"),
|
|
|
|
|
Configuration: config.MakeURLNidus("/configuration"),
|
|
|
|
|
Intelligence: config.MakeURLNidus("/intelligence"),
|
|
|
|
|
Operations: config.MakeURLNidus("/operations"),
|
|
|
|
|
Planning: config.MakeURLNidus("/planning"),
|
|
|
|
|
Review: config.MakeURLNidus("/review"),
|
|
|
|
|
}
|
|
|
|
|
}
|
2026-03-01 22:21:20 +00:00
|
|
|
|
2026-03-02 18:49:02 +00:00
|
|
|
type urlForID = func(int) string
|
|
|
|
|
|
|
|
|
|
func makeURLForID(pattern string) urlForID {
|
|
|
|
|
return func(id int) string {
|
|
|
|
|
return config.MakeURLNidus(pattern, strconv.Itoa(id))
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2026-03-01 22:21:20 +00:00
|
|
|
type contentURLUpload struct {
|
2026-03-02 18:49:02 +00:00
|
|
|
Commit urlForID
|
|
|
|
|
Discard urlForID
|
2026-03-01 22:21:20 +00:00
|
|
|
Pool string
|
|
|
|
|
PoolCustom string
|
2026-03-02 18:49:02 +00:00
|
|
|
PoolFlyover string
|
2026-03-01 22:21:20 +00:00
|
|
|
SamplePoolCSV string
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func newContentURLUpload() contentURLUpload {
|
|
|
|
|
return contentURLUpload{
|
2026-03-02 18:49:02 +00:00
|
|
|
Commit: makeURLForID("/configuration/upload/%s/commit"),
|
|
|
|
|
Discard: makeURLForID("/configuration/upload/%s/discard"),
|
2026-03-01 22:21:20 +00:00
|
|
|
Pool: config.MakeURLNidus("/configuration/upload/pool"),
|
2026-03-02 18:49:02 +00:00
|
|
|
PoolFlyover: config.MakeURLNidus("/configuration/upload/pool/flyover"),
|
2026-03-01 22:21:20 +00:00
|
|
|
PoolCustom: config.MakeURLNidus("/configuration/upload/pool/custom"),
|
|
|
|
|
SamplePoolCSV: config.MakeURLNidus("/static/file/sample-pool.csv"),
|
|
|
|
|
}
|
|
|
|
|
}
|