-
-
Notifications
You must be signed in to change notification settings - Fork 2.9k
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): read-write external assets #9235
Conversation
Deploying immich with Cloudflare Pages
|
@@ -106,9 +106,6 @@ export class AssetEntity { | |||
@Column({ type: 'boolean', default: false }) | |||
isExternal!: boolean; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I noticed you removed this from the open API definition. Do we still need it here? If you end up making your change to have null libraryId indicate an upload library then this becomes redundant because you can just check if there's a library id present or not
Thank you so much for all the work you've done on the external libraries, it's the feature I need most at the moment and it's finally here! |
@@ -113,6 +113,7 @@ export const DummyValue = { | |||
PAGINATION: { take: 10, skip: 0 }, | |||
EMAIL: 'user@immich.app', | |||
STRING: 'abcdefghi', | |||
NUMBER: 50, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
NUMBER: 50, | |
NUMBER: 42, |
Missed opportunity ;)
@@ -170,7 +170,7 @@ export class StorageTemplateService { | |||
} | |||
|
|||
async moveAsset(asset: AssetEntity, metadata: MoveAssetMetadata) { | |||
if (asset.isReadOnly || asset.isExternal || StorageCore.isAndroidMotionPath(asset.originalPath)) { | |||
if (asset.isExternal || StorageCore.isAndroidMotionPath(asset.originalPath)) { | |||
// External assets are not affected by storage template | |||
// TODO: shouldn't this only apply to external assets? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
// TODO: shouldn't this only apply to external assets? |
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yeah, yeah need to write something explaining why android motion path ones are skipped as well
Breaking change: external libraries and associated assets are no longer read only and can now be deleted.
After a bunch of back and forth within the developer team, this is the final implementation we landed on:
isReadOnly
columnisExternal
andisReadOnly
asset response propertiesSupersedes: #9188, #8992, #8943
Closes: #5449
Reference: #8438