mirror of
https://github.com/immich-app/immich.git
synced 2024-12-26 10:50:29 +02:00
e171fec5aa
* Added read-only flag for assets, endpoint to trigger file import vs upload * updated fixtures with new property * if upload is 'read-only', ensure there is no existing asset at the designated originalPath * added test for file import as well as detecting existing image at read-only destination location * Added storage service test for a case where it should not move read-only assets * upload doesn't need the read-only flag available, just importing * default isReadOnly on import endpoint to true * formatting fixes * create-asset dto needs isReadOnly, so set it to false by default on create, updated api generation * updated code to reflect changes in MR * fixed read stream promise return type * new index for originalPath, check for existing path on import, reglardless of user, to prevent duplicates * refactor: import asset * chore: open api * chore: tests * Added externalPath support for individual users, updated UI to allow this to be set by admin * added missing var for externalPath in ui * chore: open api * fix: compilation issues * fix: server test * built api, fixed user-response dto to include externalPath * reverted accidental commit * bad commit of duplicate externalPath in user response dto * fixed tests to include externalPath on expected result * fix: unit tests * centralized supported filetypes, perform file type checking of asset and sidecar during file import process * centralized supported filetype check method to keep regex DRY * fixed typo * combined migrations into one * update api * Removed externalPath from shared-link code, added column to admin user page whether external paths / import is enabled or not * update mimetype * Fixed detect correct mimetype * revert asset-upload config * reverted domain.constant * refactor * fix mime-type issue * fix format --------- Co-authored-by: Jason Rasmussen <jrasm91@gmail.com> Co-authored-by: Alex Tran <alex.tran1502@gmail.com> |
||
---|---|---|
.. | ||
.openapi-generator | ||
doc | ||
lib | ||
test | ||
.gitignore | ||
.openapi-generator-ignore | ||
.travis.yml | ||
analysis_options.yaml | ||
git_push.sh | ||
pubspec.yaml | ||
README.md |
openapi
Immich API
This Dart package is automatically generated by the OpenAPI Generator project:
- API version: 1.62.1
- Build package: org.openapitools.codegen.languages.DartClientCodegen
Requirements
Dart 2.12 or later
Installation & Usage
Github
If this Dart package is published to Github, add the following dependency to your pubspec.yaml
dependencies:
openapi:
git: https://github.com/GIT_USER_ID/GIT_REPO_ID.git
Local
To use the package in your local drive, add the following dependency to your pubspec.yaml
dependencies:
openapi:
path: /path/to/openapi
Tests
TODO
Getting Started
Please follow the installation procedure and then run the following:
import 'package:openapi/api.dart';
// TODO Configure API key authorization: cookie
//defaultApiClient.getAuthentication<ApiKeyAuth>('cookie').apiKey = 'YOUR_API_KEY';
// uncomment below to setup prefix (e.g. Bearer) for API key, if needed
//defaultApiClient.getAuthentication<ApiKeyAuth>('cookie').apiKeyPrefix = 'Bearer';
// TODO Configure API key authorization: api_key
//defaultApiClient.getAuthentication<ApiKeyAuth>('api_key').apiKey = 'YOUR_API_KEY';
// uncomment below to setup prefix (e.g. Bearer) for API key, if needed
//defaultApiClient.getAuthentication<ApiKeyAuth>('api_key').apiKeyPrefix = 'Bearer';
// TODO Configure HTTP Bearer authorization: bearer
// Case 1. Use String Token
//defaultApiClient.getAuthentication<HttpBearerAuth>('bearer').setAccessToken('YOUR_ACCESS_TOKEN');
// Case 2. Use Function which generate token.
// String yourTokenGeneratorFunction() { ... }
//defaultApiClient.getAuthentication<HttpBearerAuth>('bearer').setAccessToken(yourTokenGeneratorFunction);
final api_instance = APIKeyApi();
final aPIKeyCreateDto = APIKeyCreateDto(); // APIKeyCreateDto |
try {
final result = api_instance.createKey(aPIKeyCreateDto);
print(result);
} catch (e) {
print('Exception when calling APIKeyApi->createKey: $e\n');
}
Documentation for API Endpoints
All URIs are relative to /api
Class | Method | HTTP request | Description |
---|---|---|---|
APIKeyApi | createKey | POST /api-key | |
APIKeyApi | deleteKey | DELETE /api-key/{id} | |
APIKeyApi | getKey | GET /api-key/{id} | |
APIKeyApi | getKeys | GET /api-key | |
APIKeyApi | updateKey | PUT /api-key/{id} | |
AlbumApi | addAssetsToAlbum | PUT /album/{id}/assets | |
AlbumApi | addUsersToAlbum | PUT /album/{id}/users | |
AlbumApi | createAlbum | POST /album | |
AlbumApi | deleteAlbum | DELETE /album/{id} | |
AlbumApi | downloadArchive | GET /album/{id}/download | |
AlbumApi | getAlbumCount | GET /album/count | |
AlbumApi | getAlbumInfo | GET /album/{id} | |
AlbumApi | getAllAlbums | GET /album | |
AlbumApi | removeAssetFromAlbum | DELETE /album/{id}/assets | |
AlbumApi | removeUserFromAlbum | DELETE /album/{id}/user/{userId} | |
AlbumApi | updateAlbumInfo | PATCH /album/{id} | |
AssetApi | bulkUploadCheck | POST /asset/bulk-upload-check | |
AssetApi | checkDuplicateAsset | POST /asset/check | |
AssetApi | checkExistingAssets | POST /asset/exist | |
AssetApi | deleteAsset | DELETE /asset | |
AssetApi | downloadFile | GET /asset/download/{id} | |
AssetApi | downloadFiles | POST /asset/download-files | |
AssetApi | downloadLibrary | GET /asset/download-library | |
AssetApi | getAllAssets | GET /asset | |
AssetApi | getArchivedAssetCountByUserId | GET /asset/stat/archive | |
AssetApi | getAssetById | GET /asset/assetById/{id} | |
AssetApi | getAssetByTimeBucket | POST /asset/time-bucket | |
AssetApi | getAssetCountByTimeBucket | POST /asset/count-by-time-bucket | |
AssetApi | getAssetCountByUserId | GET /asset/count-by-user-id | |
AssetApi | getAssetSearchTerms | GET /asset/search-terms | |
AssetApi | getAssetThumbnail | GET /asset/thumbnail/{id} | |
AssetApi | getCuratedLocations | GET /asset/curated-locations | |
AssetApi | getCuratedObjects | GET /asset/curated-objects | |
AssetApi | getMapMarkers | GET /asset/map-marker | |
AssetApi | getMemoryLane | GET /asset/memory-lane | |
AssetApi | getUserAssetsByDeviceId | GET /asset/{deviceId} | |
AssetApi | importFile | POST /asset/import | |
AssetApi | searchAsset | POST /asset/search | |
AssetApi | serveFile | GET /asset/file/{id} | |
AssetApi | updateAsset | PUT /asset/{id} | |
AssetApi | uploadFile | POST /asset/upload | |
AuthenticationApi | adminSignUp | POST /auth/admin-sign-up | |
AuthenticationApi | changePassword | POST /auth/change-password | |
AuthenticationApi | getAuthDevices | GET /auth/devices | |
AuthenticationApi | login | POST /auth/login | |
AuthenticationApi | logout | POST /auth/logout | |
AuthenticationApi | logoutAuthDevice | DELETE /auth/devices/{id} | |
AuthenticationApi | logoutAuthDevices | DELETE /auth/devices | |
AuthenticationApi | validateAccessToken | POST /auth/validateToken | |
JobApi | getAllJobsStatus | GET /jobs | |
JobApi | sendJobCommand | PUT /jobs/{id} | |
OAuthApi | callback | POST /oauth/callback | |
OAuthApi | generateConfig | POST /oauth/config | |
OAuthApi | link | POST /oauth/link | |
OAuthApi | mobileRedirect | GET /oauth/mobile-redirect | |
OAuthApi | unlink | POST /oauth/unlink | |
PartnerApi | createPartner | POST /partner/{id} | |
PartnerApi | getPartners | GET /partner | |
PartnerApi | removePartner | DELETE /partner/{id} | |
PersonApi | getAllPeople | GET /person | |
PersonApi | getPerson | GET /person/{id} | |
PersonApi | getPersonAssets | GET /person/{id}/assets | |
PersonApi | getPersonThumbnail | GET /person/{id}/thumbnail | |
PersonApi | updatePerson | PUT /person/{id} | |
SearchApi | getExploreData | GET /search/explore | |
SearchApi | getSearchConfig | GET /search/config | |
SearchApi | search | GET /search | |
ServerInfoApi | getServerInfo | GET /server-info | |
ServerInfoApi | getServerVersion | GET /server-info/version | |
ServerInfoApi | getStats | GET /server-info/stats | |
ServerInfoApi | pingServer | GET /server-info/ping | |
SharedLinkApi | addSharedLinkAssets | PUT /shared-link/{id}/assets | |
SharedLinkApi | createSharedLink | POST /shared-link | |
SharedLinkApi | getAllSharedLinks | GET /shared-link | |
SharedLinkApi | getMySharedLink | GET /shared-link/me | |
SharedLinkApi | getSharedLinkById | GET /shared-link/{id} | |
SharedLinkApi | removeSharedLink | DELETE /shared-link/{id} | |
SharedLinkApi | removeSharedLinkAssets | DELETE /shared-link/{id}/assets | |
SharedLinkApi | updateSharedLink | PATCH /shared-link/{id} | |
SystemConfigApi | getConfig | GET /system-config | |
SystemConfigApi | getDefaults | GET /system-config/defaults | |
SystemConfigApi | getStorageTemplateOptions | GET /system-config/storage-template-options | |
SystemConfigApi | updateConfig | PUT /system-config | |
TagApi | createTag | POST /tag | |
TagApi | deleteTag | DELETE /tag/{id} | |
TagApi | getAllTags | GET /tag | |
TagApi | getTagAssets | GET /tag/{id}/assets | |
TagApi | getTagById | GET /tag/{id} | |
TagApi | tagAssets | PUT /tag/{id}/assets | |
TagApi | untagAssets | DELETE /tag/{id}/assets | |
TagApi | updateTag | PATCH /tag/{id} | |
UserApi | createProfileImage | POST /user/profile-image | |
UserApi | createUser | POST /user | |
UserApi | deleteUser | DELETE /user/{userId} | |
UserApi | getAllUsers | GET /user | |
UserApi | getMyUserInfo | GET /user/me | |
UserApi | getProfileImage | GET /user/profile-image/{userId} | |
UserApi | getUserById | GET /user/info/{userId} | |
UserApi | getUserCount | GET /user/count | |
UserApi | restoreUser | POST /user/{userId}/restore | |
UserApi | updateUser | PUT /user |
Documentation For Models
- APIKeyCreateDto
- APIKeyCreateResponseDto
- APIKeyResponseDto
- APIKeyUpdateDto
- AddAssetsDto
- AddAssetsResponseDto
- AddUsersDto
- AdminSignupResponseDto
- AlbumCountResponseDto
- AlbumResponseDto
- AllJobStatusResponseDto
- AssetBulkUploadCheckDto
- AssetBulkUploadCheckItem
- AssetBulkUploadCheckResponseDto
- AssetBulkUploadCheckResult
- AssetCountByTimeBucket
- AssetCountByTimeBucketResponseDto
- AssetCountByUserIdResponseDto
- AssetFileUploadResponseDto
- AssetIdsDto
- AssetIdsResponseDto
- AssetResponseDto
- AssetTypeEnum
- AuthDeviceResponseDto
- ChangePasswordDto
- CheckDuplicateAssetDto
- CheckDuplicateAssetResponseDto
- CheckExistingAssetsDto
- CheckExistingAssetsResponseDto
- CreateAlbumDto
- CreateProfileImageResponseDto
- CreateTagDto
- CreateUserDto
- CuratedLocationsResponseDto
- CuratedObjectsResponseDto
- DeleteAssetDto
- DeleteAssetResponseDto
- DeleteAssetStatus
- DownloadFilesDto
- ExifResponseDto
- GetAssetByTimeBucketDto
- GetAssetCountByTimeBucketDto
- ImportAssetDto
- JobCommand
- JobCommandDto
- JobCountsDto
- JobName
- JobSettingsDto
- JobStatusDto
- LoginCredentialDto
- LoginResponseDto
- LogoutResponseDto
- MapMarkerResponseDto
- MemoryLaneResponseDto
- OAuthCallbackDto
- OAuthConfigDto
- OAuthConfigResponseDto
- PersonResponseDto
- PersonUpdateDto
- QueueStatusDto
- RemoveAssetsDto
- SearchAlbumResponseDto
- SearchAssetDto
- SearchAssetResponseDto
- SearchConfigResponseDto
- SearchExploreItem
- SearchExploreResponseDto
- SearchFacetCountResponseDto
- SearchFacetResponseDto
- SearchResponseDto
- ServerInfoResponseDto
- ServerPingResponse
- ServerStatsResponseDto
- ServerVersionReponseDto
- SharedLinkCreateDto
- SharedLinkEditDto
- SharedLinkResponseDto
- SharedLinkType
- SignUpDto
- SmartInfoResponseDto
- SystemConfigDto
- SystemConfigFFmpegDto
- SystemConfigJobDto
- SystemConfigOAuthDto
- SystemConfigPasswordLoginDto
- SystemConfigStorageTemplateDto
- SystemConfigTemplateStorageOptionDto
- TagResponseDto
- TagTypeEnum
- ThumbnailFormat
- TimeGroupEnum
- UpdateAlbumDto
- UpdateAssetDto
- UpdateTagDto
- UpdateUserDto
- UsageByUserDto
- UserCountResponseDto
- UserResponseDto
- ValidateAccessTokenResponseDto
Documentation For Authorization
bearer
- Type: HTTP Bearer authentication
cookie
- Type: API key
- API key parameter name: immich_access_token
- Location:
api_key
- Type: API key
- API key parameter name: x-api-key
- Location: HTTP header