1
0
mirror of https://github.com/immich-app/immich.git synced 2024-12-25 10:43:13 +02:00
immich/mobile/openapi
shenlong 4a8887f37b
feat(server): trash asset (#4015)
* refactor(server): delete assets endpoint

* fix: formatting

* chore: cleanup

* chore: open api

* chore(mobile): replace DeleteAssetDTO with BulkIdsDTOs

* feat: trash an asset

* chore(server): formatting

* chore: open api

* chore: wording

* chore: open-api

* feat(server): add withDeleted to getAssets queries

* WIP: mobile-recycle-bin

* feat(server): recycle-bin to system config

* feat(web): use recycle-bin system config

* chore(server): domain assetcore removed

* chore(server): rename recycle-bin to trash

* chore(web): rename recycle-bin to trash

* chore(server): always send soft deleted assets for getAllByUserId

* chore(web): formatting

* feat(server): permanent delete assets older than trashed period

* feat(web): trash empty placeholder image

* feat(server): empty trash

* feat(web): empty trash

* WIP: mobile-recycle-bin

* refactor(server): empty / restore trash to separate endpoint

* test(server): handle failures

* test(server): fix e2e server-info test

* test(server): deletion test refactor

* feat(mobile): use map settings from server-config to enable / disable map

* feat(mobile): trash asset

* fix(server): operations on assets in trash

* feat(web): show trash statistics

* fix(web): handle trash enabled

* fix(mobile): restore updates from trash

* fix(server): ignore trashed assets for person

* fix(server): add / remove search index when trashed / restored

* chore(web): format

* fix(server): asset service test

* fix(server): include trashed assts for duplicates from uploads

* feat(mobile): no dialog for trash, always dialog for permanent delete

* refactor(mobile): use isar where instead of dart filter

* refactor(mobile): asset provide - handle deletes in single db txn

* chore(mobile): review changes

* feat(web): confirmation before empty trash

* server: review changes

* fix(server): handle library changes

* fix: filter external assets from getting trashed / deleted

* fix(server): empty-bin

* feat: broadcast config update events through ws

* change order of trash button on mobile

* styling

* fix(mobile): do not show trashed toast for local only assets

---------

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
2023-10-06 02:01:14 -05:00
..
.openapi-generator feat(server): trash asset (#4015) 2023-10-06 02:01:14 -05:00
doc feat(server): trash asset (#4015) 2023-10-06 02:01:14 -05:00
lib feat(server): trash asset (#4015) 2023-10-06 02:01:14 -05:00
test feat(server): trash asset (#4015) 2023-10-06 02:01:14 -05:00
.gitignore
.openapi-generator-ignore
.travis.yml
analysis_options.yaml
git_push.sh
pubspec.yaml chore(mobile): Upgrade to Flutter 3.10 (#2429) 2023-05-12 09:21:13 -05:00
README.md feat(server): trash asset (#4015) 2023-10-06 02:01:14 -05:00

openapi

Immich API

This Dart package is automatically generated by the OpenAPI Generator project:

  • API version: 1.81.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 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 deleteAssets DELETE /asset
AssetApi downloadArchive POST /asset/download/archive
AssetApi downloadFile POST /asset/download/{id}
AssetApi emptyTrash POST /asset/trash/empty
AssetApi getAllAssets GET /asset
AssetApi getAssetById GET /asset/assetById/{id}
AssetApi getAssetSearchTerms GET /asset/search-terms
AssetApi getAssetStats GET /asset/statistics
AssetApi getAssetThumbnail GET /asset/thumbnail/{id}
AssetApi getByTimeBucket GET /asset/time-bucket
AssetApi getCuratedLocations GET /asset/curated-locations
AssetApi getCuratedObjects GET /asset/curated-objects
AssetApi getDownloadInfo POST /asset/download/info
AssetApi getMapMarkers GET /asset/map-marker
AssetApi getMemoryLane GET /asset/memory-lane
AssetApi getRandom GET /asset/random
AssetApi getTimeBuckets GET /asset/time-buckets
AssetApi getUserAssetsByDeviceId GET /asset/{deviceId}
AssetApi importFile POST /asset/import
AssetApi restoreAssets POST /asset/restore
AssetApi restoreTrash POST /asset/trash/restore
AssetApi runAssetJobs POST /asset/jobs
AssetApi searchAsset POST /asset/search
AssetApi serveFile GET /asset/file/{id}
AssetApi updateAsset PUT /asset/{id}
AssetApi updateAssets PUT /asset
AssetApi uploadFile POST /asset/upload
AuditApi getAuditDeletes GET /audit/deletes
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}
LibraryApi createLibrary POST /library
LibraryApi deleteLibrary DELETE /library/{id}
LibraryApi getAllForUser GET /library
LibraryApi getLibraryInfo GET /library/{id}
LibraryApi getLibraryStatistics GET /library/{id}/statistics
LibraryApi removeOfflineFiles POST /library/{id}/removeOffline
LibraryApi scanLibrary POST /library/{id}/scan
LibraryApi updateLibrary PUT /library/{id}
OAuthApi authorizeOAuth POST /oauth/authorize
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 mergePerson POST /person/{id}/merge
PersonApi updatePeople PUT /person
PersonApi updatePerson PUT /person/{id}
SearchApi getExploreData GET /search/explore
SearchApi search GET /search
ServerInfoApi getServerConfig GET /server-info/config
ServerInfoApi getServerFeatures GET /server-info/features
ServerInfoApi getServerInfo GET /server-info
ServerInfoApi getServerVersion GET /server-info/version
ServerInfoApi getStats GET /server-info/stats
ServerInfoApi getSupportedMediaTypes GET /server-info/media-types
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/{id}
UserApi getAllUsers GET /user
UserApi getMyUserInfo GET /user/me
UserApi getProfileImage GET /user/profile-image/{id}
UserApi getUserById GET /user/info/{id}
UserApi getUserCount GET /user/count
UserApi restoreUser POST /user/{id}/restore
UserApi updateUser PUT /user

Documentation For Models

Documentation For Authorization

bearer

  • Type: HTTP Bearer authentication
  • 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

Author