From 3fc7730c562fb14f46e37a451ac69d45cd2ca70d Mon Sep 17 00:00:00 2001 From: Peter - Ubuntu dual boot Date: Sat, 18 Sep 2021 19:10:57 +0100 Subject: [PATCH] Beginning basic logic for face covers - adding new PreviewImageFaces field. --- api/graph/schema.graphqls | 28 +++++++++++++++++++ api/graphql/models/face_detection.go | 1 + api/scanner/face_detection/face_detector.go | 1 + ui/src/Pages/PeoplePage/PeoplePage.tsx | 18 ++++++++++++ .../sidebar/__generated__/resetAlbumCover.ts | 2 +- .../sidebar/__generated__/setAlbumCover.ts | 2 +- 6 files changed, 50 insertions(+), 2 deletions(-) create mode 100644 api/graph/schema.graphqls diff --git a/api/graph/schema.graphqls b/api/graph/schema.graphqls new file mode 100644 index 00000000..f6e1bac5 --- /dev/null +++ b/api/graph/schema.graphqls @@ -0,0 +1,28 @@ +# GraphQL schema example +# +# https://gqlgen.com/getting-started/ + +type Todo { + id: ID! + text: String! + done: Boolean! + user: User! +} + +type User { + id: ID! + name: String! +} + +type Query { + todos: [Todo!]! +} + +input NewTodo { + text: String! + userId: String! +} + +type Mutation { + createTodo(input: NewTodo!): Todo! +} \ No newline at end of file diff --git a/api/graphql/models/face_detection.go b/api/graphql/models/face_detection.go index dca422f6..f2a8f4d0 100644 --- a/api/graphql/models/face_detection.go +++ b/api/graphql/models/face_detection.go @@ -19,6 +19,7 @@ type FaceGroup struct { Model Label *string ImageFaces []ImageFace `gorm:"constraint:OnDelete:CASCADE;"` + PreviewImageFace ImageFace `gorm:"constraint:OnDelete:CASCADE;"` } type ImageFace struct { diff --git a/api/scanner/face_detection/face_detector.go b/api/scanner/face_detection/face_detector.go index 506cb887..07208ff9 100644 --- a/api/scanner/face_detection/face_detector.go +++ b/api/scanner/face_detection/face_detector.go @@ -155,6 +155,7 @@ func (fd *FaceDetector) classifyFace(db *gorm.DB, face *face.Face, media *models faceGroup = models.FaceGroup{ ImageFaces: []models.ImageFace{imageFace}, + PreviewImageFace: []models.ImageFace{imageFace}[0], } if err := db.Create(&faceGroup).Error; err != nil { diff --git a/ui/src/Pages/PeoplePage/PeoplePage.tsx b/ui/src/Pages/PeoplePage/PeoplePage.tsx index e60135d3..a1f26e09 100644 --- a/ui/src/Pages/PeoplePage/PeoplePage.tsx +++ b/ui/src/Pages/PeoplePage/PeoplePage.tsx @@ -44,6 +44,24 @@ export const MY_FACES_QUERY = gql` } } } + previewImageFace { + id + rectangle { + minX + maxX + minY + maxY + } + media { + id + title + thumbnail { + url + width + height + } + } + } } } ` diff --git a/ui/src/components/sidebar/__generated__/resetAlbumCover.ts b/ui/src/components/sidebar/__generated__/resetAlbumCover.ts index c9410349..dbd452fc 100644 --- a/ui/src/components/sidebar/__generated__/resetAlbumCover.ts +++ b/ui/src/components/sidebar/__generated__/resetAlbumCover.ts @@ -14,7 +14,7 @@ export interface resetAlbumCover_resetAlbumCover { export interface resetAlbumCover { /** - * Reset the assigned cover image for an album + * Reset the assigned cover photo for an album */ resetAlbumCover: resetAlbumCover_resetAlbumCover } diff --git a/ui/src/components/sidebar/__generated__/setAlbumCover.ts b/ui/src/components/sidebar/__generated__/setAlbumCover.ts index 6df1e641..beba8fa0 100644 --- a/ui/src/components/sidebar/__generated__/setAlbumCover.ts +++ b/ui/src/components/sidebar/__generated__/setAlbumCover.ts @@ -14,7 +14,7 @@ export interface setAlbumCover_setAlbumCover { export interface setAlbumCover { /** - * Assign a cover image to an album + * Assign a cover photo to an album */ setAlbumCover: setAlbumCover_setAlbumCover }