From 4e06deda76a45983c00ee6b9ffb4722214ba379a Mon Sep 17 00:00:00 2001 From: Michael Mayer Date: Wed, 11 Dec 2019 16:55:18 +0100 Subject: [PATCH] Backend: Rename "models" package to "entity" Signed-off-by: Michael Mayer --- internal/api/albums.go | 10 ++--- internal/api/batch.go | 12 +++--- internal/config/config.go | 38 +++++++++---------- internal/{models => entity}/album.go | 2 +- internal/{models => entity}/album_test.go | 2 +- internal/{models => entity}/camera.go | 2 +- internal/{models => entity}/camera_test.go | 2 +- internal/{models => entity}/category.go | 2 +- internal/{models => entity}/country.go | 2 +- internal/{models => entity}/country_test.go | 2 +- .../{models/models.go => entity/entity.go} | 2 +- .../models_test.go => entity/entity_test.go} | 2 +- internal/{models => entity}/event.go | 2 +- internal/{models => entity}/file.go | 2 +- internal/{models => entity}/file_test.go | 2 +- internal/{models => entity}/keyword.go | 2 +- internal/{models => entity}/label.go | 2 +- internal/{models => entity}/label_test.go | 2 +- internal/{models => entity}/lens.go | 2 +- internal/{models => entity}/lens_test.go | 2 +- internal/{models => entity}/location.go | 2 +- internal/{models => entity}/model.go | 2 +- internal/{models => entity}/photo.go | 2 +- internal/{models => entity}/photo_album.go | 2 +- .../{models => entity}/photo_album_test.go | 2 +- internal/{models => entity}/photo_keyword.go | 2 +- internal/{models => entity}/photo_label.go | 2 +- .../{models => entity}/photo_label_test.go | 2 +- internal/{models => entity}/share.go | 2 +- internal/photoprism/importer.go | 4 +- internal/photoprism/indexer_mediafile.go | 24 ++++++------ internal/photoprism/mediafile.go | 4 +- internal/photoprism/openstreetmap.go | 6 +-- internal/photoprism/thumbnails_test.go | 8 ++-- internal/repo/albums.go | 6 +-- internal/repo/files.go | 14 +++---- internal/repo/labels.go | 10 ++--- internal/repo/photos.go | 10 ++--- 38 files changed, 99 insertions(+), 99 deletions(-) rename internal/{models => entity}/album.go (99%) rename internal/{models => entity}/album_test.go (97%) rename internal/{models => entity}/camera.go (98%) rename internal/{models => entity}/camera_test.go (99%) rename internal/{models => entity}/category.go (95%) rename internal/{models => entity}/country.go (98%) rename internal/{models => entity}/country_test.go (97%) rename internal/{models/models.go => entity/entity.go} (94%) rename internal/{models/models_test.go => entity/entity_test.go} (91%) rename internal/{models => entity}/event.go (98%) rename internal/{models => entity}/file.go (99%) rename internal/{models => entity}/file_test.go (96%) rename internal/{models => entity}/keyword.go (97%) rename internal/{models => entity}/label.go (98%) rename internal/{models => entity}/label_test.go (97%) rename internal/{models => entity}/lens.go (98%) rename internal/{models => entity}/lens_test.go (97%) rename internal/{models => entity}/location.go (97%) rename internal/{models => entity}/model.go (91%) rename internal/{models => entity}/photo.go (99%) rename internal/{models => entity}/photo_album.go (97%) rename internal/{models => entity}/photo_album_test.go (94%) rename internal/{models => entity}/photo_keyword.go (97%) rename internal/{models => entity}/photo_label.go (98%) rename internal/{models => entity}/photo_label_test.go (96%) rename internal/{models => entity}/share.go (98%) diff --git a/internal/api/albums.go b/internal/api/albums.go index 660d21c41..34948d33e 100644 --- a/internal/api/albums.go +++ b/internal/api/albums.go @@ -10,9 +10,9 @@ import ( "strings" "time" + "github.com/photoprism/photoprism/internal/entity" "github.com/photoprism/photoprism/internal/event" "github.com/photoprism/photoprism/internal/form" - "github.com/photoprism/photoprism/internal/models" "github.com/photoprism/photoprism/internal/repo" "github.com/gin-gonic/gin" @@ -78,7 +78,7 @@ func CreateAlbum(router *gin.RouterGroup, conf *config.Config) { return } - m := models.NewAlbum(f.AlbumName) + m := entity.NewAlbum(f.AlbumName) if res := conf.Db().Create(m); res.Error != nil { log.Error(res.Error.Error()) @@ -245,14 +245,14 @@ func AddPhotosToAlbum(router *gin.RouterGroup, conf *config.Config) { } db := conf.Db() - var added []*models.PhotoAlbum + var added []*entity.PhotoAlbum var failed []string for _, photoUUID := range f.Photos { if p, err := r.FindPhotoByUUID(photoUUID); err != nil { failed = append(failed, photoUUID) } else { - added = append(added, models.NewPhotoAlbum(p.PhotoUUID, a.AlbumUUID).FirstOrCreate(db)) + added = append(added, entity.NewPhotoAlbum(p.PhotoUUID, a.AlbumUUID).FirstOrCreate(db)) } } @@ -297,7 +297,7 @@ func RemovePhotosFromAlbum(router *gin.RouterGroup, conf *config.Config) { db := conf.Db() - db.Where("album_uuid = ? AND photo_uuid IN (?)", a.AlbumUUID, f.Photos).Delete(&models.PhotoAlbum{}) + db.Where("album_uuid = ? AND photo_uuid IN (?)", a.AlbumUUID, f.Photos).Delete(&entity.PhotoAlbum{}) event.Success(fmt.Sprintf("photos removed from %s", a.AlbumName)) diff --git a/internal/api/batch.go b/internal/api/batch.go index 4fe1c4b27..16dbf5e9a 100644 --- a/internal/api/batch.go +++ b/internal/api/batch.go @@ -7,9 +7,9 @@ import ( "github.com/jinzhu/gorm" "github.com/photoprism/photoprism/internal/config" + "github.com/photoprism/photoprism/internal/entity" "github.com/photoprism/photoprism/internal/event" "github.com/photoprism/photoprism/internal/form" - "github.com/photoprism/photoprism/internal/models" "github.com/photoprism/photoprism/internal/util" "github.com/gin-gonic/gin" @@ -42,7 +42,7 @@ func BatchPhotosDelete(router *gin.RouterGroup, conf *config.Config) { db := conf.Db() - db.Where("photo_uuid IN (?)", f.Photos).Delete(&models.Photo{}) + db.Where("photo_uuid IN (?)", f.Photos).Delete(&entity.Photo{}) elapsed := int(time.Since(start).Seconds()) @@ -79,8 +79,8 @@ func BatchAlbumsDelete(router *gin.RouterGroup, conf *config.Config) { db := conf.Db() - db.Where("album_uuid IN (?)", f.Albums).Delete(&models.Album{}) - db.Where("album_uuid IN (?)", f.Albums).Delete(&models.PhotoAlbum{}) + db.Where("album_uuid IN (?)", f.Albums).Delete(&entity.Album{}) + db.Where("album_uuid IN (?)", f.Albums).Delete(&entity.PhotoAlbum{}) event.Publish("config.updated", event.Data(conf.ClientConfig())) @@ -115,7 +115,7 @@ func BatchPhotosPrivate(router *gin.RouterGroup, conf *config.Config) { db := conf.Db() - db.Model(models.Photo{}).Where("photo_uuid IN (?)", f.Photos).UpdateColumn("photo_private", gorm.Expr("IF (`photo_private`, 0, 1)")) + db.Model(entity.Photo{}).Where("photo_uuid IN (?)", f.Photos).UpdateColumn("photo_private", gorm.Expr("IF (`photo_private`, 0, 1)")) elapsed := time.Since(start) @@ -150,7 +150,7 @@ func BatchPhotosStory(router *gin.RouterGroup, conf *config.Config) { db := conf.Db() - db.Model(models.Photo{}).Where("photo_uuid IN (?)", f.Photos).Updates(map[string]interface{}{ + db.Model(entity.Photo{}).Where("photo_uuid IN (?)", f.Photos).Updates(map[string]interface{}{ "photo_story": gorm.Expr("IF (`photo_story`, 0, 1)"), }) diff --git a/internal/config/config.go b/internal/config/config.go index 53064972e..799a188c7 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -12,8 +12,8 @@ import ( _ "github.com/jinzhu/gorm/dialects/mysql" _ "github.com/jinzhu/gorm/dialects/sqlite" gc "github.com/patrickmn/go-cache" + "github.com/photoprism/photoprism/internal/entity" "github.com/photoprism/photoprism/internal/event" - "github.com/photoprism/photoprism/internal/models" "github.com/photoprism/photoprism/internal/tidb" "github.com/photoprism/photoprism/internal/util" "github.com/sirupsen/logrus" @@ -531,22 +531,22 @@ func (c *Config) MigrateDb() { // db.LogMode(true) db.AutoMigrate( - &models.File{}, - &models.Photo{}, - &models.Event{}, - &models.Location{}, - &models.Camera{}, - &models.Lens{}, - &models.Country{}, - &models.Share{}, + &entity.File{}, + &entity.Photo{}, + &entity.Event{}, + &entity.Location{}, + &entity.Camera{}, + &entity.Lens{}, + &entity.Country{}, + &entity.Share{}, - &models.Album{}, - &models.PhotoAlbum{}, - &models.Label{}, - &models.Category{}, - &models.PhotoLabel{}, - &models.Keyword{}, - &models.PhotoKeyword{}, + &entity.Album{}, + &entity.PhotoAlbum{}, + &entity.Label{}, + &entity.Category{}, + &entity.PhotoLabel{}, + &entity.Keyword{}, + &entity.PhotoKeyword{}, ) } @@ -554,8 +554,8 @@ func (c *Config) MigrateDb() { func (c *Config) ClientConfig() ClientConfig { db := c.Db() - var cameras []*models.Camera - var albums []*models.Album + var cameras []*entity.Camera + var albums []*entity.Album type country struct { LocCountry string @@ -592,7 +592,7 @@ func (c *Config) ClientConfig() ClientConfig { Select("COUNT(*) AS countries"). Take(&count) - db.Model(&models.Location{}). + db.Model(&entity.Location{}). Select("DISTINCT loc_country_code, loc_country"). Scan(&countries) diff --git a/internal/models/album.go b/internal/entity/album.go similarity index 99% rename from internal/models/album.go rename to internal/entity/album.go index 28a934676..be0c587ce 100644 --- a/internal/models/album.go +++ b/internal/entity/album.go @@ -1,4 +1,4 @@ -package models +package entity import ( "strings" diff --git a/internal/models/album_test.go b/internal/entity/album_test.go similarity index 97% rename from internal/models/album_test.go rename to internal/entity/album_test.go index 1ed6e5c71..f25ca4391 100644 --- a/internal/models/album_test.go +++ b/internal/entity/album_test.go @@ -1,4 +1,4 @@ -package models +package entity import ( "testing" diff --git a/internal/models/camera.go b/internal/entity/camera.go similarity index 98% rename from internal/models/camera.go rename to internal/entity/camera.go index adfac9ae7..f1b27d85c 100644 --- a/internal/models/camera.go +++ b/internal/entity/camera.go @@ -1,4 +1,4 @@ -package models +package entity import ( "fmt" diff --git a/internal/models/camera_test.go b/internal/entity/camera_test.go similarity index 99% rename from internal/models/camera_test.go rename to internal/entity/camera_test.go index 4d567472f..241131a77 100644 --- a/internal/models/camera_test.go +++ b/internal/entity/camera_test.go @@ -1,4 +1,4 @@ -package models +package entity import ( "testing" diff --git a/internal/models/category.go b/internal/entity/category.go similarity index 95% rename from internal/models/category.go rename to internal/entity/category.go index c33e57268..9338f2b83 100644 --- a/internal/models/category.go +++ b/internal/entity/category.go @@ -1,4 +1,4 @@ -package models +package entity // Labels can have zero or more categories with the same or a similar meaning type Category struct { diff --git a/internal/models/country.go b/internal/entity/country.go similarity index 98% rename from internal/models/country.go rename to internal/entity/country.go index 9785b82e2..440e9a93b 100644 --- a/internal/models/country.go +++ b/internal/entity/country.go @@ -1,4 +1,4 @@ -package models +package entity import ( "github.com/gosimple/slug" diff --git a/internal/models/country_test.go b/internal/entity/country_test.go similarity index 97% rename from internal/models/country_test.go rename to internal/entity/country_test.go index 08eafecc4..8b28dc5b5 100644 --- a/internal/models/country_test.go +++ b/internal/entity/country_test.go @@ -1,4 +1,4 @@ -package models +package entity import ( "testing" diff --git a/internal/models/models.go b/internal/entity/entity.go similarity index 94% rename from internal/models/models.go rename to internal/entity/entity.go index 40f93c60a..221558d4e 100644 --- a/internal/models/models.go +++ b/internal/entity/entity.go @@ -7,4 +7,4 @@ Additional information concerning data storage can be found in our Developer Gui https://github.com/photoprism/photoprism/wiki/Storage */ -package models +package entity diff --git a/internal/models/models_test.go b/internal/entity/entity_test.go similarity index 91% rename from internal/models/models_test.go rename to internal/entity/entity_test.go index c50960428..c43f8c9e3 100644 --- a/internal/models/models_test.go +++ b/internal/entity/entity_test.go @@ -1,4 +1,4 @@ -package models +package entity import ( "os" diff --git a/internal/models/event.go b/internal/entity/event.go similarity index 98% rename from internal/models/event.go rename to internal/entity/event.go index 1a947114f..ab4d1e966 100644 --- a/internal/models/event.go +++ b/internal/entity/event.go @@ -1,4 +1,4 @@ -package models +package entity import ( "time" diff --git a/internal/models/file.go b/internal/entity/file.go similarity index 99% rename from internal/models/file.go rename to internal/entity/file.go index f75d0d103..341ec5c36 100644 --- a/internal/models/file.go +++ b/internal/entity/file.go @@ -1,4 +1,4 @@ -package models +package entity import ( "fmt" diff --git a/internal/models/file_test.go b/internal/entity/file_test.go similarity index 96% rename from internal/models/file_test.go rename to internal/entity/file_test.go index 76da4b90b..f07e2bae4 100644 --- a/internal/models/file_test.go +++ b/internal/entity/file_test.go @@ -1,4 +1,4 @@ -package models +package entity import ( "testing" diff --git a/internal/models/keyword.go b/internal/entity/keyword.go similarity index 97% rename from internal/models/keyword.go rename to internal/entity/keyword.go index 7ea9d3296..f666c7b84 100644 --- a/internal/models/keyword.go +++ b/internal/entity/keyword.go @@ -1,4 +1,4 @@ -package models +package entity import ( "strings" diff --git a/internal/models/label.go b/internal/entity/label.go similarity index 98% rename from internal/models/label.go rename to internal/entity/label.go index 4c805c851..3ae1553c9 100644 --- a/internal/models/label.go +++ b/internal/entity/label.go @@ -1,4 +1,4 @@ -package models +package entity import ( "strings" diff --git a/internal/models/label_test.go b/internal/entity/label_test.go similarity index 97% rename from internal/models/label_test.go rename to internal/entity/label_test.go index e1741bde6..9c0ac2716 100644 --- a/internal/models/label_test.go +++ b/internal/entity/label_test.go @@ -1,4 +1,4 @@ -package models +package entity import ( "testing" diff --git a/internal/models/lens.go b/internal/entity/lens.go similarity index 98% rename from internal/models/lens.go rename to internal/entity/lens.go index e29cd9ea2..26bfd397c 100644 --- a/internal/models/lens.go +++ b/internal/entity/lens.go @@ -1,4 +1,4 @@ -package models +package entity import ( "github.com/gosimple/slug" diff --git a/internal/models/lens_test.go b/internal/entity/lens_test.go similarity index 97% rename from internal/models/lens_test.go rename to internal/entity/lens_test.go index 9999aa554..2e1eb503f 100644 --- a/internal/models/lens_test.go +++ b/internal/entity/lens_test.go @@ -1,4 +1,4 @@ -package models +package entity import ( "testing" diff --git a/internal/models/location.go b/internal/entity/location.go similarity index 97% rename from internal/models/location.go rename to internal/entity/location.go index 4237da5b5..8c9dcee7d 100644 --- a/internal/models/location.go +++ b/internal/entity/location.go @@ -1,4 +1,4 @@ -package models +package entity // Photo location type Location struct { diff --git a/internal/models/model.go b/internal/entity/model.go similarity index 91% rename from internal/models/model.go rename to internal/entity/model.go index 50369461e..965bb2bd9 100644 --- a/internal/models/model.go +++ b/internal/entity/model.go @@ -1,4 +1,4 @@ -package models +package entity import "time" diff --git a/internal/models/photo.go b/internal/entity/photo.go similarity index 99% rename from internal/models/photo.go rename to internal/entity/photo.go index 762139d17..fb8758916 100644 --- a/internal/models/photo.go +++ b/internal/entity/photo.go @@ -1,4 +1,4 @@ -package models +package entity import ( "sort" diff --git a/internal/models/photo_album.go b/internal/entity/photo_album.go similarity index 97% rename from internal/models/photo_album.go rename to internal/entity/photo_album.go index 358ad978f..2982b6b0c 100644 --- a/internal/models/photo_album.go +++ b/internal/entity/photo_album.go @@ -1,4 +1,4 @@ -package models +package entity import ( "time" diff --git a/internal/models/photo_album_test.go b/internal/entity/photo_album_test.go similarity index 94% rename from internal/models/photo_album_test.go rename to internal/entity/photo_album_test.go index d9139e60c..f323f0bae 100644 --- a/internal/models/photo_album_test.go +++ b/internal/entity/photo_album_test.go @@ -1,4 +1,4 @@ -package models +package entity import ( "testing" diff --git a/internal/models/photo_keyword.go b/internal/entity/photo_keyword.go similarity index 97% rename from internal/models/photo_keyword.go rename to internal/entity/photo_keyword.go index ce750c348..5c296890a 100644 --- a/internal/models/photo_keyword.go +++ b/internal/entity/photo_keyword.go @@ -1,4 +1,4 @@ -package models +package entity import "github.com/jinzhu/gorm" diff --git a/internal/models/photo_label.go b/internal/entity/photo_label.go similarity index 98% rename from internal/models/photo_label.go rename to internal/entity/photo_label.go index 1d7500756..5b84084fc 100644 --- a/internal/models/photo_label.go +++ b/internal/entity/photo_label.go @@ -1,4 +1,4 @@ -package models +package entity import ( "github.com/jinzhu/gorm" diff --git a/internal/models/photo_label_test.go b/internal/entity/photo_label_test.go similarity index 96% rename from internal/models/photo_label_test.go rename to internal/entity/photo_label_test.go index 5272caa74..d0ca2cbc3 100644 --- a/internal/models/photo_label_test.go +++ b/internal/entity/photo_label_test.go @@ -1,4 +1,4 @@ -package models +package entity import ( "testing" diff --git a/internal/models/share.go b/internal/entity/share.go similarity index 98% rename from internal/models/share.go rename to internal/entity/share.go index 5ae2da821..f65668c00 100644 --- a/internal/models/share.go +++ b/internal/entity/share.go @@ -1,4 +1,4 @@ -package models +package entity import ( "time" diff --git a/internal/photoprism/importer.go b/internal/photoprism/importer.go index 04699a508..b7c9e3640 100644 --- a/internal/photoprism/importer.go +++ b/internal/photoprism/importer.go @@ -9,8 +9,8 @@ import ( "strings" "github.com/photoprism/photoprism/internal/config" + "github.com/photoprism/photoprism/internal/entity" "github.com/photoprism/photoprism/internal/event" - "github.com/photoprism/photoprism/internal/models" "github.com/photoprism/photoprism/internal/util" ) @@ -179,7 +179,7 @@ func (i *Importer) DestinationFilename(mainFile *MediaFile, mediaFile *MediaFile fileExtension := mediaFile.Extension() dateCreated := mainFile.DateCreated() - if file, err := models.FindFileByHash(i.conf.Db(), mediaFile.Hash()); err == nil { + if file, err := entity.FindFileByHash(i.conf.Db(), mediaFile.Hash()); err == nil { existingFilename := i.conf.OriginalsPath() + string(os.PathSeparator) + file.FileName return existingFilename, fmt.Errorf("\"%s\" is identical to \"%s\" (%s)", mediaFile.Filename(), file.FileName, mediaFile.Hash()) } diff --git a/internal/photoprism/indexer_mediafile.go b/internal/photoprism/indexer_mediafile.go index b49bf80df..acbf5aa4b 100644 --- a/internal/photoprism/indexer_mediafile.go +++ b/internal/photoprism/indexer_mediafile.go @@ -8,8 +8,8 @@ import ( "time" "github.com/jinzhu/gorm" + "github.com/photoprism/photoprism/internal/entity" "github.com/photoprism/photoprism/internal/event" - "github.com/photoprism/photoprism/internal/models" "github.com/photoprism/photoprism/internal/util" ) @@ -22,8 +22,8 @@ const ( type IndexResult string func (i *Indexer) indexMediaFile(mediaFile *MediaFile, o IndexerOptions) IndexResult { - var photo models.Photo - var file, primaryFile models.File + var photo entity.Photo + var file, primaryFile entity.File var isPrimary = false var exifData *Exif var photoQuery, fileQuery *gorm.DB @@ -98,8 +98,8 @@ func (i *Indexer) indexMediaFile(mediaFile *MediaFile, o IndexerOptions) IndexRe if fileChanged || o.UpdateCamera { // Set UpdateCamera, Lens, Focal Length and F Number - photo.Camera = models.NewCamera(mediaFile.CameraModel(), mediaFile.CameraMake()).FirstOrCreate(i.db) - photo.Lens = models.NewLens(mediaFile.LensModel(), mediaFile.LensMake()).FirstOrCreate(i.db) + photo.Camera = entity.NewCamera(mediaFile.CameraModel(), mediaFile.CameraMake()).FirstOrCreate(i.db) + photo.Lens = entity.NewLens(mediaFile.LensModel(), mediaFile.LensMake()).FirstOrCreate(i.db) photo.PhotoFocalLength = mediaFile.FocalLength() photo.PhotoFNumber = mediaFile.FNumber() photo.PhotoIso = mediaFile.Iso() @@ -273,7 +273,7 @@ func (i *Indexer) classifyImage(jpeg *MediaFile) (results Labels) { func (i *Indexer) addLabels(photoId uint, labels Labels) { for _, label := range labels { - lm := models.NewLabel(label.Name, label.Priority).FirstOrCreate(i.db) + lm := entity.NewLabel(label.Name, label.Priority).FirstOrCreate(i.db) if lm.New { event.Publish("count.labels", event.Data{ @@ -286,11 +286,11 @@ func (i *Indexer) addLabels(photoId uint, labels Labels) { i.db.Save(&lm) } - plm := models.NewPhotoLabel(photoId, lm.ID, label.Uncertainty, label.Source).FirstOrCreate(i.db) + plm := entity.NewPhotoLabel(photoId, lm.ID, label.Uncertainty, label.Source).FirstOrCreate(i.db) // Add categories for _, category := range label.Categories { - sn := models.NewLabel(category, -1).FirstOrCreate(i.db) + sn := entity.NewLabel(category, -1).FirstOrCreate(i.db) i.db.Model(&lm).Association("LabelCategories").Append(sn) } @@ -302,13 +302,13 @@ func (i *Indexer) addLabels(photoId uint, labels Labels) { } } -func (i *Indexer) indexLocation(mediaFile *MediaFile, photo *models.Photo, keywords []string, labels Labels, fileChanged bool, o IndexerOptions) ([]string, Labels) { +func (i *Indexer) indexLocation(mediaFile *MediaFile, photo *entity.Photo, keywords []string, labels Labels, fileChanged bool, o IndexerOptions) ([]string, Labels) { if location, err := mediaFile.Location(); err == nil { i.db.FirstOrCreate(location, "id = ?", location.ID) photo.Location = location photo.LocationEstimated = false - photo.Country = models.NewCountry(location.LocCountryCode, location.LocCountry).FirstOrCreate(i.db) + photo.Country = entity.NewCountry(location.LocCountryCode, location.LocCountry).FirstOrCreate(i.db) if photo.Country.New { event.Publish("count.countries", event.Data{ @@ -381,8 +381,8 @@ func (i *Indexer) indexLocation(mediaFile *MediaFile, photo *models.Photo, keywo return keywords, labels } -func (i *Indexer) estimateLocation(photo *models.Photo) { - var recentPhoto models.Photo +func (i *Indexer) estimateLocation(photo *entity.Photo) { + var recentPhoto entity.Photo if result := i.db.Unscoped().Order(gorm.Expr("ABS(DATEDIFF(taken_at, ?)) ASC", photo.TakenAt)).Preload("Country").First(&recentPhoto); result.Error == nil { if recentPhoto.Country != nil { diff --git a/internal/photoprism/mediafile.go b/internal/photoprism/mediafile.go index 1a15c92ef..0e45775ed 100644 --- a/internal/photoprism/mediafile.go +++ b/internal/photoprism/mediafile.go @@ -13,7 +13,7 @@ import ( "time" "github.com/djherbis/times" - "github.com/photoprism/photoprism/internal/models" + "github.com/photoprism/photoprism/internal/entity" "github.com/photoprism/photoprism/internal/util" ) @@ -29,7 +29,7 @@ type MediaFile struct { width int height int exifData *Exif - location *models.Location + location *entity.Location } // NewMediaFile returns a new MediaFile. diff --git a/internal/photoprism/openstreetmap.go b/internal/photoprism/openstreetmap.go index 5b557c614..2641a8c00 100644 --- a/internal/photoprism/openstreetmap.go +++ b/internal/photoprism/openstreetmap.go @@ -7,7 +7,7 @@ import ( "strconv" "strings" - "github.com/photoprism/photoprism/internal/models" + "github.com/photoprism/photoprism/internal/entity" "github.com/photoprism/photoprism/internal/util" "github.com/pkg/errors" ) @@ -37,12 +37,12 @@ type openstreetmapLocation struct { } // Location See https://wiki.openstreetmap.org/wiki/Nominatim#Reverse_Geocoding -func (m *MediaFile) Location() (*models.Location, error) { +func (m *MediaFile) Location() (*entity.Location, error) { if m.location != nil { return m.location, nil } - location := &models.Location{} + location := &entity.Location{} openstreetmapLocation := &openstreetmapLocation{ Address: &openstreetmapAddress{}, diff --git a/internal/photoprism/thumbnails_test.go b/internal/photoprism/thumbnails_test.go index 517758645..92b5959f7 100644 --- a/internal/photoprism/thumbnails_test.go +++ b/internal/photoprism/thumbnails_test.go @@ -5,7 +5,7 @@ import ( "testing" "github.com/disintegration/imaging" - "github.com/photoprism/photoprism/internal/models" + "github.com/photoprism/photoprism/internal/entity" "github.com/photoprism/photoprism/internal/config" "github.com/stretchr/testify/assert" @@ -162,7 +162,7 @@ func TestThumbnails_ThumbnailFromFile(t *testing.T) { } t.Run("valid parameter", func(t *testing.T) { - fileModel := &models.File{ + fileModel := &entity.File{ FileName: conf.ExamplesPath() + "/elephants.jpg", FileHash: "1234568889", } @@ -173,7 +173,7 @@ func TestThumbnails_ThumbnailFromFile(t *testing.T) { }) t.Run("hash too short", func(t *testing.T) { - fileModel := &models.File{ + fileModel := &entity.File{ FileName: conf.ExamplesPath() + "/elephants.jpg", FileHash: "123", } @@ -182,7 +182,7 @@ func TestThumbnails_ThumbnailFromFile(t *testing.T) { assert.Equal(t, "file hash is empty or too short: 123", err.Error()) }) t.Run("filename too short", func(t *testing.T) { - fileModel := &models.File{ + fileModel := &entity.File{ FileName: "xxx", FileHash: "12367890", } diff --git a/internal/repo/albums.go b/internal/repo/albums.go index 4266974a2..ff4ce470a 100644 --- a/internal/repo/albums.go +++ b/internal/repo/albums.go @@ -5,8 +5,8 @@ import ( "strings" "time" + "github.com/photoprism/photoprism/internal/entity" "github.com/photoprism/photoprism/internal/form" - "github.com/photoprism/photoprism/internal/models" "github.com/photoprism/photoprism/internal/util" ) @@ -26,7 +26,7 @@ type AlbumResult struct { } // FindAlbumByUUID returns a Album based on the UUID. -func (s *Repo) FindAlbumByUUID(albumUUID string) (album models.Album, err error) { +func (s *Repo) FindAlbumByUUID(albumUUID string) (album entity.Album, err error) { if err := s.db.Where("album_uuid = ?", albumUUID).First(&album).Error; err != nil { return album, err } @@ -35,7 +35,7 @@ func (s *Repo) FindAlbumByUUID(albumUUID string) (album models.Album, err error) } // FindAlbumThumbByUUID returns a album preview file based on the uuid. -func (s *Repo) FindAlbumThumbByUUID(albumUUID string) (file models.File, err error) { +func (s *Repo) FindAlbumThumbByUUID(albumUUID string) (file entity.File, err error) { // s.db.LogMode(true) if err := s.db.Where("files.file_primary AND files.deleted_at IS NULL"). diff --git a/internal/repo/files.go b/internal/repo/files.go index 31f38d551..00053a94a 100644 --- a/internal/repo/files.go +++ b/internal/repo/files.go @@ -1,11 +1,11 @@ package repo -import "github.com/photoprism/photoprism/internal/models" +import "github.com/photoprism/photoprism/internal/entity" // FindFiles finds files returning maximum results defined by limit // and finding them from an offest defined by offset. -func (s *Repo) FindFiles(limit int, offset int) (files []models.File, err error) { - if err := s.db.Where(&models.File{}).Limit(limit).Offset(offset).Find(&files).Error; err != nil { +func (s *Repo) FindFiles(limit int, offset int) (files []entity.File, err error) { + if err := s.db.Where(&entity.File{}).Limit(limit).Offset(offset).Find(&files).Error; err != nil { return files, err } @@ -13,7 +13,7 @@ func (s *Repo) FindFiles(limit int, offset int) (files []models.File, err error) } // FindFilesByUUID -func (s *Repo) FindFilesByUUID(u []string, limit int, offset int) (files []models.File, err error) { +func (s *Repo) FindFilesByUUID(u []string, limit int, offset int) (files []entity.File, err error) { if err := s.db.Where("(photo_uuid IN (?) AND file_primary = 1) OR file_uuid IN (?)", u, u).Preload("Photo").Limit(limit).Offset(offset).Find(&files).Error; err != nil { return files, err } @@ -22,7 +22,7 @@ func (s *Repo) FindFilesByUUID(u []string, limit int, offset int) (files []model } // FindFileByPhotoUUID -func (s *Repo) FindFileByPhotoUUID(u string) (file models.File, err error) { +func (s *Repo) FindFileByPhotoUUID(u string) (file entity.File, err error) { if err := s.db.Where("photo_uuid = ? AND file_primary = 1", u).Preload("Photo").First(&file).Error; err != nil { return file, err } @@ -31,7 +31,7 @@ func (s *Repo) FindFileByPhotoUUID(u string) (file models.File, err error) { } // FindFileByID returns a mediafile given a certain ID. -func (s *Repo) FindFileByID(id string) (file models.File, err error) { +func (s *Repo) FindFileByID(id string) (file entity.File, err error) { if err := s.db.Where("id = ?", id).Preload("Photo").First(&file).Error; err != nil { return file, err } @@ -40,7 +40,7 @@ func (s *Repo) FindFileByID(id string) (file models.File, err error) { } // FindFileByHash finds a file with a given hash string. -func (s *Repo) FindFileByHash(fileHash string) (file models.File, err error) { +func (s *Repo) FindFileByHash(fileHash string) (file entity.File, err error) { if err := s.db.Where("file_hash = ?", fileHash).Preload("Photo").First(&file).Error; err != nil { return file, err } diff --git a/internal/repo/labels.go b/internal/repo/labels.go index a1c378695..32e72651a 100644 --- a/internal/repo/labels.go +++ b/internal/repo/labels.go @@ -5,8 +5,8 @@ import ( "strings" "time" + "github.com/photoprism/photoprism/internal/entity" "github.com/photoprism/photoprism/internal/form" - "github.com/photoprism/photoprism/internal/models" "github.com/photoprism/photoprism/internal/util" ) @@ -27,7 +27,7 @@ type LabelResult struct { } // FindLabelBySlug returns a Label based on the slug name. -func (s *Repo) FindLabelBySlug(labelSlug string) (label models.Label, err error) { +func (s *Repo) FindLabelBySlug(labelSlug string) (label entity.Label, err error) { if err := s.db.Where("label_slug = ?", labelSlug).First(&label).Error; err != nil { return label, err } @@ -36,7 +36,7 @@ func (s *Repo) FindLabelBySlug(labelSlug string) (label models.Label, err error) } // FindLabelThumbBySlug returns a label preview file based on the slug name. -func (s *Repo) FindLabelThumbBySlug(labelSlug string) (file models.File, err error) { +func (s *Repo) FindLabelThumbBySlug(labelSlug string) (file entity.File, err error) { // s.db.LogMode(true) if err := s.db.Where("files.file_primary AND files.deleted_at IS NULL"). @@ -70,8 +70,8 @@ func (s *Repo) Labels(f form.LabelSearch) (results []LabelResult, err error) { if f.Query != "" { var labelIds []uint - var categories []models.Category - var label models.Label + var categories []entity.Category + var label entity.Label likeString := "%" + strings.ToLower(f.Query) + "%" diff --git a/internal/repo/photos.go b/internal/repo/photos.go index 415fdb45a..9b104e871 100644 --- a/internal/repo/photos.go +++ b/internal/repo/photos.go @@ -6,8 +6,8 @@ import ( "time" "github.com/gosimple/slug" + "github.com/photoprism/photoprism/internal/entity" "github.com/photoprism/photoprism/internal/form" - "github.com/photoprism/photoprism/internal/models" "github.com/photoprism/photoprism/internal/util" ) @@ -133,8 +133,8 @@ func (s *Repo) Photos(f form.PhotoSearch) (results []PhotoResult, err error) { Joins("LEFT JOIN photos_labels ON photos_labels.photo_id = photos.id"). Where("photos.deleted_at IS NULL AND files.file_missing = 0"). Group("photos.id, files.id") - var categories []models.Category - var label models.Label + var categories []entity.Category + var label entity.Label var labelIds []uint if f.Label != "" { @@ -320,7 +320,7 @@ func (s *Repo) Photos(f form.PhotoSearch) (results []PhotoResult, err error) { } // FindPhotoByID returns a Photo based on the ID. -func (s *Repo) FindPhotoByID(photoID uint64) (photo models.Photo, err error) { +func (s *Repo) FindPhotoByID(photoID uint64) (photo entity.Photo, err error) { if err := s.db.Where("id = ?", photoID).First(&photo).Error; err != nil { return photo, err } @@ -329,7 +329,7 @@ func (s *Repo) FindPhotoByID(photoID uint64) (photo models.Photo, err error) { } // FindPhotoByUUID returns a Photo based on the UUID. -func (s *Repo) FindPhotoByUUID(photoUUID string) (photo models.Photo, err error) { +func (s *Repo) FindPhotoByUUID(photoUUID string) (photo entity.Photo, err error) { if err := s.db.Where("photo_uuid = ?", photoUUID).First(&photo).Error; err != nil { return photo, err }