mirror of
https://github.com/immich-app/immich.git
synced 2025-12-18 01:11:07 +03:00
feat: asset copy (#23172)
This commit is contained in:
@@ -517,6 +517,15 @@ export type AssetBulkUploadCheckResult = {
|
||||
export type AssetBulkUploadCheckResponseDto = {
|
||||
results: AssetBulkUploadCheckResult[];
|
||||
};
|
||||
export type AssetCopyDto = {
|
||||
albums?: boolean;
|
||||
favorite?: boolean;
|
||||
sharedLinks?: boolean;
|
||||
sidecar?: boolean;
|
||||
sourceId: string;
|
||||
stack?: boolean;
|
||||
targetId: string;
|
||||
};
|
||||
export type CheckExistingAssetsDto = {
|
||||
deviceAssetIds: string[];
|
||||
deviceId: string;
|
||||
@@ -2256,6 +2265,18 @@ export function checkBulkUpload({ assetBulkUploadCheckDto }: {
|
||||
body: assetBulkUploadCheckDto
|
||||
})));
|
||||
}
|
||||
/**
|
||||
* This endpoint requires the `asset.copy` permission.
|
||||
*/
|
||||
export function copyAsset({ assetCopyDto }: {
|
||||
assetCopyDto: AssetCopyDto;
|
||||
}, opts?: Oazapfts.RequestOpts) {
|
||||
return oazapfts.ok(oazapfts.fetchText("/assets/copy", oazapfts.json({
|
||||
...opts,
|
||||
method: "PUT",
|
||||
body: assetCopyDto
|
||||
})));
|
||||
}
|
||||
/**
|
||||
* getAllUserAssetsByDeviceId
|
||||
*/
|
||||
@@ -4796,6 +4817,7 @@ export enum Permission {
|
||||
AssetDownload = "asset.download",
|
||||
AssetUpload = "asset.upload",
|
||||
AssetReplace = "asset.replace",
|
||||
AssetCopy = "asset.copy",
|
||||
AlbumCreate = "album.create",
|
||||
AlbumRead = "album.read",
|
||||
AlbumUpdate = "album.update",
|
||||
|
||||
Reference in New Issue
Block a user