mirror of
https://github.com/photoprism/photoprism.git
synced 2025-12-12 00:34:13 +01:00
PWA: Add fs constants for "assets.json" and "manifest.json" #5274
Signed-off-by: Michael Mayer <michael@photoprism.app>
This commit is contained in:
@@ -7,6 +7,8 @@ import (
|
||||
"html/template"
|
||||
"os"
|
||||
"path/filepath"
|
||||
|
||||
"github.com/photoprism/photoprism/pkg/fs"
|
||||
)
|
||||
|
||||
// ClientAssets holds hashed frontend asset filenames emitted by the build pipeline.
|
||||
@@ -137,9 +139,9 @@ func (a *ClientAssets) readFile(fileName string) string {
|
||||
func (c *Config) ClientAssets() *ClientAssets {
|
||||
result := NewClientAssets(c.StaticBuildPath(), c.StaticUri())
|
||||
|
||||
if err := result.Load("assets.json"); err != nil {
|
||||
if err := result.Load(fs.AssetsJsonFile); err != nil {
|
||||
log.Debugf("frontend: %s", err)
|
||||
log.Errorf("frontend: cannot read assets.json")
|
||||
log.Errorf("frontend: cannot read %s", fs.AssetsJsonFile)
|
||||
}
|
||||
|
||||
return result
|
||||
@@ -147,5 +149,5 @@ func (c *Config) ClientAssets() *ClientAssets {
|
||||
|
||||
// ClientManifestUri returns the frontend manifest.json URI.
|
||||
func (c *Config) ClientManifestUri() string {
|
||||
return fmt.Sprintf("%s?%x", c.BaseUri("/manifest.json"), c.VersionChecksum())
|
||||
return fmt.Sprintf("%s?%x", c.BaseUri("/"+fs.ManifestJsonFile), c.VersionChecksum())
|
||||
}
|
||||
|
||||
@@ -6,6 +6,8 @@ import (
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
|
||||
"github.com/photoprism/photoprism/pkg/fs"
|
||||
)
|
||||
|
||||
func TestClientAssets_Load(t *testing.T) {
|
||||
@@ -15,7 +17,7 @@ func TestClientAssets_Load(t *testing.T) {
|
||||
testBuildPath := "testdata/static/build"
|
||||
a := NewClientAssets(testBuildPath, c.StaticUri())
|
||||
|
||||
err := a.Load("assets.json")
|
||||
err := a.Load(fs.AssetsJsonFile)
|
||||
|
||||
assert.NoError(t, err)
|
||||
|
||||
@@ -36,7 +38,7 @@ func TestClientAssets_Load(t *testing.T) {
|
||||
testBuildPath := "testdata/foo"
|
||||
a := NewClientAssets(testBuildPath, c.StaticUri())
|
||||
|
||||
err := a.Load("assets.json")
|
||||
err := a.Load(fs.AssetsJsonFile)
|
||||
|
||||
assert.Error(t, err)
|
||||
|
||||
|
||||
@@ -84,7 +84,7 @@ func TestWebAppRoutes(t *testing.T) {
|
||||
})
|
||||
t.Run("GetManifest", func(t *testing.T) {
|
||||
w := httptest.NewRecorder()
|
||||
req, _ := http.NewRequest("GET", "/manifest.json", nil)
|
||||
req, _ := http.NewRequest("GET", "/"+fs.ManifestJsonFile, nil)
|
||||
r.ServeHTTP(w, req)
|
||||
assert.Equal(t, 200, w.Code)
|
||||
assert.NotEmpty(t, w.Body.String())
|
||||
|
||||
@@ -51,7 +51,7 @@ func registerWebAppRoutes(router *gin.Engine, conf *config.Config) {
|
||||
}
|
||||
|
||||
// Web App Manifest (served at /manifest.json under the base URI).
|
||||
router.Any(conf.BaseUri("/manifest.json"), manifest)
|
||||
router.Any(conf.BaseUri("/"+fs.ManifestJsonFile), manifest)
|
||||
|
||||
// Serve user interface service worker file.
|
||||
swWorker := func(c *gin.Context) {
|
||||
|
||||
@@ -42,5 +42,7 @@ const (
|
||||
// Common file names used across packages (sorted by name).
|
||||
const (
|
||||
AppJsFile = "app.js"
|
||||
AssetsJsonFile = "assets.json"
|
||||
ManifestJsonFile = "manifest.json"
|
||||
SwJsFile = "sw.js"
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user