/
githubmirror
/
photoprism
Обзор
Документация
Войти
/
githubmirror
/
photoprism
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
internal/form/camera.go
39 строк
903 B
Michael Mayer
Metadata: Add Camera Make and Model updates via CLI & API #5663 #5656
15 июн 2026, 12:25
15 июн 2026, 12:25
bc32701
Код
Авторство
О чём код?
package form import ( "github.com/ulule/deepcopier" "github.com/photoprism/photoprism/pkg/i18n" "github.com/photoprism/photoprism/pkg/txt" ) // Camera represents a camera edit form. type Camera struct { CameraMake string `json:"Make"` CameraModel string `json:"Model"` } // NewCamera creates a new form struct based on the interface values. func NewCamera(m any) (*Camera, error) { frm := &Camera{} err := deepcopier.Copy(m).To(frm) return frm, err } // Validate returns an error if any form values are invalid. func (frm *Camera) Validate() error { cameraMake := txt.Clip(frm.CameraMake, txt.ClipName) cameraModel := txt.Clip(frm.CameraModel, txt.ClipName) if cameraMake == "" || cameraModel == "" { return i18n.Error(i18n.ErrInvalidName) } cameraSlug := txt.Slug(cameraMake + " " + cameraModel) if cameraSlug == "" { return i18n.Error(i18n.ErrInvalidName) } return nil }