mirror of
https://github.com/immich-app/immich.git
synced 2025-05-24 01:12:58 -04:00
* feat(server): extract full-size previews from RAW images * feat(web): load fullsize preview for RAW images when zoomed in * refactor: tweaks for code review * refactor: rename "converted" preview/assets to "fullsize" * feat(web/server): fullsize preview for non-web-friendly images * feat: tweaks for code review * feat(server): require ASSET_DOWNLOAD premission for fullsize previews * test: fix types and interfaces * chore: gen open-api * feat(server): keep only essential exif in fullsize preview * chore: regen openapi * test: revert unnecessary timeout * feat: move full-size preview config to standalone entry * feat(i18n): update en texts * fix: don't return fullsizePath when disabled * test: full-size previews * test(web): full-size previews * chore: make open-api * feat(server): redirect to preview/original URL when fullsize thumbnail not available * fix(server): delete fullsize preview image on thumbnail regen after fullsize preview turned off * refactor(server): AssetRepository.deleteFiles with Kysely * fix(server): type of MediaRepository.writeExif * minor simplification * minor styling changes and condensed wording * simplify * chore: reuild open-api * test(server): fix media.service tests * test(web): fix photo-viewer test * fix(server): use fullsize image when requested * fix file path extension * formatting * use fullsize when zooming back out or when "display original photos" is enabled * simplify condition --------- Co-authored-by: mertalev <101130780+mertalev@users.noreply.github.com>
53 lines
1.8 KiB
TypeScript
53 lines
1.8 KiB
TypeScript
import { AssetRepository } from 'src/repositories/asset.repository';
|
|
import { RepositoryInterface } from 'src/types';
|
|
import { Mocked, vitest } from 'vitest';
|
|
|
|
export const newAssetRepositoryMock = (): Mocked<RepositoryInterface<AssetRepository>> => {
|
|
return {
|
|
create: vitest.fn(),
|
|
createAll: vitest.fn(),
|
|
upsertExif: vitest.fn(),
|
|
updateAllExif: vitest.fn(),
|
|
upsertJobStatus: vitest.fn(),
|
|
getByDayOfYear: vitest.fn(),
|
|
getByIds: vitest.fn().mockResolvedValue([]),
|
|
getByIdsWithAllRelations: vitest.fn().mockResolvedValue([]),
|
|
getByAlbumId: vitest.fn(),
|
|
getByDeviceIds: vitest.fn(),
|
|
getByUserId: vitest.fn(),
|
|
getById: vitest.fn(),
|
|
getWithout: vitest.fn(),
|
|
getByChecksum: vitest.fn(),
|
|
getByChecksums: vitest.fn(),
|
|
getUploadAssetIdByChecksum: vitest.fn(),
|
|
getRandom: vitest.fn(),
|
|
getAll: vitest.fn().mockResolvedValue({ items: [], hasNextPage: false }),
|
|
getAllByDeviceId: vitest.fn(),
|
|
getLivePhotoCount: vitest.fn(),
|
|
getLibraryAssetCount: vitest.fn(),
|
|
updateAll: vitest.fn(),
|
|
updateDuplicates: vitest.fn(),
|
|
getByLibraryIdAndOriginalPath: vitest.fn(),
|
|
deleteAll: vitest.fn(),
|
|
update: vitest.fn(),
|
|
remove: vitest.fn(),
|
|
findLivePhotoMatch: vitest.fn(),
|
|
getStatistics: vitest.fn(),
|
|
getTimeBucket: vitest.fn(),
|
|
getTimeBuckets: vitest.fn(),
|
|
getAssetIdByCity: vitest.fn(),
|
|
getAllForUserFullSync: vitest.fn(),
|
|
getChangedDeltaSync: vitest.fn(),
|
|
getDuplicates: vitest.fn(),
|
|
upsertFile: vitest.fn(),
|
|
upsertFiles: vitest.fn(),
|
|
deleteFiles: vitest.fn(),
|
|
detectOfflineExternalAssets: vitest.fn(),
|
|
filterNewExternalAssetPaths: vitest.fn(),
|
|
updateByLibraryId: vitest.fn(),
|
|
streamStorageTemplateAssets: vitest.fn(),
|
|
getStorageTemplateAsset: vitest.fn(),
|
|
streamDeletedAssets: vitest.fn(),
|
|
};
|
|
};
|