Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(server) Tagging system #1046

Merged
merged 35 commits into from
Dec 5, 2022
Merged
Show file tree
Hide file tree
Changes from 26 commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
bc79a71
Added tags entity and table
alextran1502 Nov 29, 2022
a2cdb81
Merge upstream
alextran1502 Dec 2, 2022
b12ecd0
Create tables, implement endpoint for create and get tags
alextran1502 Dec 2, 2022
228aed5
Added test for creating tag
alextran1502 Dec 2, 2022
41f26ef
Added more tests
alextran1502 Dec 2, 2022
790247f
Resolve dependency
alextran1502 Dec 2, 2022
c0ddef1
Add gitattributes
alextran1502 Dec 2, 2022
f0aa2a2
Add gitattributes
alextran1502 Dec 2, 2022
6d9e47d
Add gitattributes
alextran1502 Dec 2, 2022
d65d12a
Edit gitattributes
alextran1502 Dec 3, 2022
23e4d5d
Implement update and delete tag
alextran1502 Dec 3, 2022
6d65335
Working on deleting a tag
alextran1502 Dec 3, 2022
af14e6a
Implemented delete operation
alextran1502 Dec 3, 2022
d9c2d92
Added getByIds to tag repository
alextran1502 Dec 4, 2022
6219077
Update repository
alextran1502 Dec 4, 2022
6bf2608
Fix test
alextran1502 Dec 4, 2022
8ef8cab
Fix test
alextran1502 Dec 4, 2022
d379f63
Merge branch 'main' of github.com:immich-app/immich into feat/tagging…
alextran1502 Dec 4, 2022
609c9ab
Merge upstream
alextran1502 Dec 4, 2022
faf43bf
Generate APIs
alextran1502 Dec 4, 2022
0b7a91c
Fix test
alextran1502 Dec 4, 2022
297faef
Fix web test
alextran1502 Dec 4, 2022
3b03be9
Merge branch 'main' of github.com:immich-app/immich into feat/tagging…
alextran1502 Dec 4, 2022
893d6b9
Resolve dependency
alextran1502 Dec 4, 2022
dc0c2e5
Resolve dependency
alextran1502 Dec 5, 2022
0081a66
Merge branch 'main' of github.com:immich-app/immich into feat/tagging…
alextran1502 Dec 5, 2022
ce6410a
Update TagType comment
alextran1502 Dec 5, 2022
23342eb
Update entity and migration
alextran1502 Dec 5, 2022
5e87912
Merge branch 'main' of github.com:immich-app/immich into feat/tagging…
alextran1502 Dec 5, 2022
19544c6
Finalizingg and generating apis
alextran1502 Dec 5, 2022
c9804d3
Naming
alextran1502 Dec 5, 2022
8c164d9
Final fix I promise
alextran1502 Dec 5, 2022
26cf312
Final fix I promise2
alextran1502 Dec 5, 2022
3cb1a06
Final fix for dto validation
alextran1502 Dec 5, 2022
cd68a17
Consolidate find tag by ID
alextran1502 Dec 5, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
mobile/openapi/**/*.md -diff -merge
mobile/openapi/**/*.md linguist-generated=true
mobile/openapi/**/*.dart -diff -merge
mobile/openapi/**/*.dart linguist-generated=true

web/src/api/open-api/**/*.md -diff -merge
web/src/api/open-api/**/*.md linguist-generated=true

web/src/api/open-api/**/*.ts -diff -merge
web/src/api/open-api/**/*.ts linguist-generated=true

mobile/openapi/.openapi-generator/FILES -diff -merge
mobile/openapi/.openapi-generator/FILES linguist-generated=true
3 changes: 3 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -27,3 +27,6 @@ prod-scale:

api:
cd ./server && npm run api:generate

attach-server:
docker exec -it docker_immich-server_1 sh
32 changes: 27 additions & 5 deletions NOTES.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,31 @@
# TODO
# Tagging system
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this file need to be committed? Are we going to start documenting "notes" here? Should we maybe just add something like this to the documentation site instead?


Server scenario with web
This feature implements a tagging system for Immich. The goal is to achieve the following features:

[ ] 1 user exist without admin right -> make admin on first check
- Users can create tags
- Users can delete tags
- Users can edit tags
- Users can view tags
- Users can add tags to an asset
- Users can remove tags from an asset
- Albums can be created from tags
- Search can be performed on tags

[ ] 2 users exist without admin right -> ask user to choose which account will be the admin
## Implementation

- Tags are stored in a separate table.
- Tags type are defined as an enum (i.e Objects, Faces, Custom (User Defined)...etc).
- Migrate the current `smart_info` album to the tags table - How to do this undisruptively? - add then delete entry?
- Search interface for tags
- tags are displayed in search suggestion
- tags can be search as text similar to exif table
- Tags are displayed in the asset view
- Smart album creation from tags?
- Tags can only be added by the owner

## Tag types (extensible)

- Objects (system generated)
- Faces (system generated)
- Custom (user defined)

[ X ] No users exist -> prompt signup form for Admin
20 changes: 20 additions & 0 deletions mobile/openapi/.openapi-generator/FILES

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

16 changes: 15 additions & 1 deletion mobile/openapi/README.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 5 additions & 5 deletions mobile/openapi/doc/AssetApi.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

34 changes: 34 additions & 0 deletions mobile/openapi/doc/AssetEntity.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions mobile/openapi/doc/AssetResponseDto.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

16 changes: 16 additions & 0 deletions mobile/openapi/doc/CreateTagDto.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

39 changes: 39 additions & 0 deletions mobile/openapi/doc/ExifEntity.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

19 changes: 19 additions & 0 deletions mobile/openapi/doc/SmartInfoEntity.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading