immich_api_rs 1.137.3

Immich API
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
/*
 * Immich
 *
 * Immich API
 *
 * The version of the OpenAPI document: 1.137.3
 * 
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

/// 
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Permission {
    #[serde(rename = "all")]
    All,
    #[serde(rename = "activity.create")]
    ActivityPeriodCreate,
    #[serde(rename = "activity.read")]
    ActivityPeriodRead,
    #[serde(rename = "activity.update")]
    ActivityPeriodUpdate,
    #[serde(rename = "activity.delete")]
    ActivityPeriodDelete,
    #[serde(rename = "activity.statistics")]
    ActivityPeriodStatistics,
    #[serde(rename = "apiKey.create")]
    ApiKeyPeriodCreate,
    #[serde(rename = "apiKey.read")]
    ApiKeyPeriodRead,
    #[serde(rename = "apiKey.update")]
    ApiKeyPeriodUpdate,
    #[serde(rename = "apiKey.delete")]
    ApiKeyPeriodDelete,
    #[serde(rename = "asset.read")]
    AssetPeriodRead,
    #[serde(rename = "asset.update")]
    AssetPeriodUpdate,
    #[serde(rename = "asset.delete")]
    AssetPeriodDelete,
    #[serde(rename = "asset.statistics")]
    AssetPeriodStatistics,
    #[serde(rename = "asset.share")]
    AssetPeriodShare,
    #[serde(rename = "asset.view")]
    AssetPeriodView,
    #[serde(rename = "asset.download")]
    AssetPeriodDownload,
    #[serde(rename = "asset.upload")]
    AssetPeriodUpload,
    #[serde(rename = "asset.replace")]
    AssetPeriodReplace,
    #[serde(rename = "album.create")]
    AlbumPeriodCreate,
    #[serde(rename = "album.read")]
    AlbumPeriodRead,
    #[serde(rename = "album.update")]
    AlbumPeriodUpdate,
    #[serde(rename = "album.delete")]
    AlbumPeriodDelete,
    #[serde(rename = "album.statistics")]
    AlbumPeriodStatistics,
    #[serde(rename = "album.share")]
    AlbumPeriodShare,
    #[serde(rename = "album.download")]
    AlbumPeriodDownload,
    #[serde(rename = "albumAsset.create")]
    AlbumAssetPeriodCreate,
    #[serde(rename = "albumAsset.delete")]
    AlbumAssetPeriodDelete,
    #[serde(rename = "albumUser.create")]
    AlbumUserPeriodCreate,
    #[serde(rename = "albumUser.update")]
    AlbumUserPeriodUpdate,
    #[serde(rename = "albumUser.delete")]
    AlbumUserPeriodDelete,
    #[serde(rename = "auth.changePassword")]
    AuthPeriodChangePassword,
    #[serde(rename = "authDevice.delete")]
    AuthDevicePeriodDelete,
    #[serde(rename = "archive.read")]
    ArchivePeriodRead,
    #[serde(rename = "duplicate.read")]
    DuplicatePeriodRead,
    #[serde(rename = "duplicate.delete")]
    DuplicatePeriodDelete,
    #[serde(rename = "face.create")]
    FacePeriodCreate,
    #[serde(rename = "face.read")]
    FacePeriodRead,
    #[serde(rename = "face.update")]
    FacePeriodUpdate,
    #[serde(rename = "face.delete")]
    FacePeriodDelete,
    #[serde(rename = "job.create")]
    JobPeriodCreate,
    #[serde(rename = "job.read")]
    JobPeriodRead,
    #[serde(rename = "library.create")]
    LibraryPeriodCreate,
    #[serde(rename = "library.read")]
    LibraryPeriodRead,
    #[serde(rename = "library.update")]
    LibraryPeriodUpdate,
    #[serde(rename = "library.delete")]
    LibraryPeriodDelete,
    #[serde(rename = "library.statistics")]
    LibraryPeriodStatistics,
    #[serde(rename = "timeline.read")]
    TimelinePeriodRead,
    #[serde(rename = "timeline.download")]
    TimelinePeriodDownload,
    #[serde(rename = "memory.create")]
    MemoryPeriodCreate,
    #[serde(rename = "memory.read")]
    MemoryPeriodRead,
    #[serde(rename = "memory.update")]
    MemoryPeriodUpdate,
    #[serde(rename = "memory.delete")]
    MemoryPeriodDelete,
    #[serde(rename = "memory.statistics")]
    MemoryPeriodStatistics,
    #[serde(rename = "memoryAsset.create")]
    MemoryAssetPeriodCreate,
    #[serde(rename = "memoryAsset.delete")]
    MemoryAssetPeriodDelete,
    #[serde(rename = "notification.create")]
    NotificationPeriodCreate,
    #[serde(rename = "notification.read")]
    NotificationPeriodRead,
    #[serde(rename = "notification.update")]
    NotificationPeriodUpdate,
    #[serde(rename = "notification.delete")]
    NotificationPeriodDelete,
    #[serde(rename = "partner.create")]
    PartnerPeriodCreate,
    #[serde(rename = "partner.read")]
    PartnerPeriodRead,
    #[serde(rename = "partner.update")]
    PartnerPeriodUpdate,
    #[serde(rename = "partner.delete")]
    PartnerPeriodDelete,
    #[serde(rename = "person.create")]
    PersonPeriodCreate,
    #[serde(rename = "person.read")]
    PersonPeriodRead,
    #[serde(rename = "person.update")]
    PersonPeriodUpdate,
    #[serde(rename = "person.delete")]
    PersonPeriodDelete,
    #[serde(rename = "person.statistics")]
    PersonPeriodStatistics,
    #[serde(rename = "person.merge")]
    PersonPeriodMerge,
    #[serde(rename = "person.reassign")]
    PersonPeriodReassign,
    #[serde(rename = "pinCode.create")]
    PinCodePeriodCreate,
    #[serde(rename = "pinCode.update")]
    PinCodePeriodUpdate,
    #[serde(rename = "pinCode.delete")]
    PinCodePeriodDelete,
    #[serde(rename = "server.about")]
    ServerPeriodAbout,
    #[serde(rename = "server.apkLinks")]
    ServerPeriodApkLinks,
    #[serde(rename = "server.storage")]
    ServerPeriodStorage,
    #[serde(rename = "server.statistics")]
    ServerPeriodStatistics,
    #[serde(rename = "server.versionCheck")]
    ServerPeriodVersionCheck,
    #[serde(rename = "serverLicense.read")]
    ServerLicensePeriodRead,
    #[serde(rename = "serverLicense.update")]
    ServerLicensePeriodUpdate,
    #[serde(rename = "serverLicense.delete")]
    ServerLicensePeriodDelete,
    #[serde(rename = "session.create")]
    SessionPeriodCreate,
    #[serde(rename = "session.read")]
    SessionPeriodRead,
    #[serde(rename = "session.update")]
    SessionPeriodUpdate,
    #[serde(rename = "session.delete")]
    SessionPeriodDelete,
    #[serde(rename = "session.lock")]
    SessionPeriodLock,
    #[serde(rename = "sharedLink.create")]
    SharedLinkPeriodCreate,
    #[serde(rename = "sharedLink.read")]
    SharedLinkPeriodRead,
    #[serde(rename = "sharedLink.update")]
    SharedLinkPeriodUpdate,
    #[serde(rename = "sharedLink.delete")]
    SharedLinkPeriodDelete,
    #[serde(rename = "stack.create")]
    StackPeriodCreate,
    #[serde(rename = "stack.read")]
    StackPeriodRead,
    #[serde(rename = "stack.update")]
    StackPeriodUpdate,
    #[serde(rename = "stack.delete")]
    StackPeriodDelete,
    #[serde(rename = "sync.stream")]
    SyncPeriodStream,
    #[serde(rename = "syncCheckpoint.read")]
    SyncCheckpointPeriodRead,
    #[serde(rename = "syncCheckpoint.update")]
    SyncCheckpointPeriodUpdate,
    #[serde(rename = "syncCheckpoint.delete")]
    SyncCheckpointPeriodDelete,
    #[serde(rename = "systemConfig.read")]
    SystemConfigPeriodRead,
    #[serde(rename = "systemConfig.update")]
    SystemConfigPeriodUpdate,
    #[serde(rename = "systemMetadata.read")]
    SystemMetadataPeriodRead,
    #[serde(rename = "systemMetadata.update")]
    SystemMetadataPeriodUpdate,
    #[serde(rename = "tag.create")]
    TagPeriodCreate,
    #[serde(rename = "tag.read")]
    TagPeriodRead,
    #[serde(rename = "tag.update")]
    TagPeriodUpdate,
    #[serde(rename = "tag.delete")]
    TagPeriodDelete,
    #[serde(rename = "tag.asset")]
    TagPeriodAsset,
    #[serde(rename = "user.read")]
    UserPeriodRead,
    #[serde(rename = "user.update")]
    UserPeriodUpdate,
    #[serde(rename = "userLicense.create")]
    UserLicensePeriodCreate,
    #[serde(rename = "userLicense.read")]
    UserLicensePeriodRead,
    #[serde(rename = "userLicense.update")]
    UserLicensePeriodUpdate,
    #[serde(rename = "userLicense.delete")]
    UserLicensePeriodDelete,
    #[serde(rename = "userOnboarding.read")]
    UserOnboardingPeriodRead,
    #[serde(rename = "userOnboarding.update")]
    UserOnboardingPeriodUpdate,
    #[serde(rename = "userOnboarding.delete")]
    UserOnboardingPeriodDelete,
    #[serde(rename = "userPreference.read")]
    UserPreferencePeriodRead,
    #[serde(rename = "userPreference.update")]
    UserPreferencePeriodUpdate,
    #[serde(rename = "userProfileImage.create")]
    UserProfileImagePeriodCreate,
    #[serde(rename = "userProfileImage.read")]
    UserProfileImagePeriodRead,
    #[serde(rename = "userProfileImage.update")]
    UserProfileImagePeriodUpdate,
    #[serde(rename = "userProfileImage.delete")]
    UserProfileImagePeriodDelete,
    #[serde(rename = "adminUser.create")]
    AdminUserPeriodCreate,
    #[serde(rename = "adminUser.read")]
    AdminUserPeriodRead,
    #[serde(rename = "adminUser.update")]
    AdminUserPeriodUpdate,
    #[serde(rename = "adminUser.delete")]
    AdminUserPeriodDelete,
    #[serde(rename = "adminAuth.unlinkAll")]
    AdminAuthPeriodUnlinkAll,

}

impl std::fmt::Display for Permission {
    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
        match self {
            Self::All => write!(f, "all"),
            Self::ActivityPeriodCreate => write!(f, "activity.create"),
            Self::ActivityPeriodRead => write!(f, "activity.read"),
            Self::ActivityPeriodUpdate => write!(f, "activity.update"),
            Self::ActivityPeriodDelete => write!(f, "activity.delete"),
            Self::ActivityPeriodStatistics => write!(f, "activity.statistics"),
            Self::ApiKeyPeriodCreate => write!(f, "apiKey.create"),
            Self::ApiKeyPeriodRead => write!(f, "apiKey.read"),
            Self::ApiKeyPeriodUpdate => write!(f, "apiKey.update"),
            Self::ApiKeyPeriodDelete => write!(f, "apiKey.delete"),
            Self::AssetPeriodRead => write!(f, "asset.read"),
            Self::AssetPeriodUpdate => write!(f, "asset.update"),
            Self::AssetPeriodDelete => write!(f, "asset.delete"),
            Self::AssetPeriodStatistics => write!(f, "asset.statistics"),
            Self::AssetPeriodShare => write!(f, "asset.share"),
            Self::AssetPeriodView => write!(f, "asset.view"),
            Self::AssetPeriodDownload => write!(f, "asset.download"),
            Self::AssetPeriodUpload => write!(f, "asset.upload"),
            Self::AssetPeriodReplace => write!(f, "asset.replace"),
            Self::AlbumPeriodCreate => write!(f, "album.create"),
            Self::AlbumPeriodRead => write!(f, "album.read"),
            Self::AlbumPeriodUpdate => write!(f, "album.update"),
            Self::AlbumPeriodDelete => write!(f, "album.delete"),
            Self::AlbumPeriodStatistics => write!(f, "album.statistics"),
            Self::AlbumPeriodShare => write!(f, "album.share"),
            Self::AlbumPeriodDownload => write!(f, "album.download"),
            Self::AlbumAssetPeriodCreate => write!(f, "albumAsset.create"),
            Self::AlbumAssetPeriodDelete => write!(f, "albumAsset.delete"),
            Self::AlbumUserPeriodCreate => write!(f, "albumUser.create"),
            Self::AlbumUserPeriodUpdate => write!(f, "albumUser.update"),
            Self::AlbumUserPeriodDelete => write!(f, "albumUser.delete"),
            Self::AuthPeriodChangePassword => write!(f, "auth.changePassword"),
            Self::AuthDevicePeriodDelete => write!(f, "authDevice.delete"),
            Self::ArchivePeriodRead => write!(f, "archive.read"),
            Self::DuplicatePeriodRead => write!(f, "duplicate.read"),
            Self::DuplicatePeriodDelete => write!(f, "duplicate.delete"),
            Self::FacePeriodCreate => write!(f, "face.create"),
            Self::FacePeriodRead => write!(f, "face.read"),
            Self::FacePeriodUpdate => write!(f, "face.update"),
            Self::FacePeriodDelete => write!(f, "face.delete"),
            Self::JobPeriodCreate => write!(f, "job.create"),
            Self::JobPeriodRead => write!(f, "job.read"),
            Self::LibraryPeriodCreate => write!(f, "library.create"),
            Self::LibraryPeriodRead => write!(f, "library.read"),
            Self::LibraryPeriodUpdate => write!(f, "library.update"),
            Self::LibraryPeriodDelete => write!(f, "library.delete"),
            Self::LibraryPeriodStatistics => write!(f, "library.statistics"),
            Self::TimelinePeriodRead => write!(f, "timeline.read"),
            Self::TimelinePeriodDownload => write!(f, "timeline.download"),
            Self::MemoryPeriodCreate => write!(f, "memory.create"),
            Self::MemoryPeriodRead => write!(f, "memory.read"),
            Self::MemoryPeriodUpdate => write!(f, "memory.update"),
            Self::MemoryPeriodDelete => write!(f, "memory.delete"),
            Self::MemoryPeriodStatistics => write!(f, "memory.statistics"),
            Self::MemoryAssetPeriodCreate => write!(f, "memoryAsset.create"),
            Self::MemoryAssetPeriodDelete => write!(f, "memoryAsset.delete"),
            Self::NotificationPeriodCreate => write!(f, "notification.create"),
            Self::NotificationPeriodRead => write!(f, "notification.read"),
            Self::NotificationPeriodUpdate => write!(f, "notification.update"),
            Self::NotificationPeriodDelete => write!(f, "notification.delete"),
            Self::PartnerPeriodCreate => write!(f, "partner.create"),
            Self::PartnerPeriodRead => write!(f, "partner.read"),
            Self::PartnerPeriodUpdate => write!(f, "partner.update"),
            Self::PartnerPeriodDelete => write!(f, "partner.delete"),
            Self::PersonPeriodCreate => write!(f, "person.create"),
            Self::PersonPeriodRead => write!(f, "person.read"),
            Self::PersonPeriodUpdate => write!(f, "person.update"),
            Self::PersonPeriodDelete => write!(f, "person.delete"),
            Self::PersonPeriodStatistics => write!(f, "person.statistics"),
            Self::PersonPeriodMerge => write!(f, "person.merge"),
            Self::PersonPeriodReassign => write!(f, "person.reassign"),
            Self::PinCodePeriodCreate => write!(f, "pinCode.create"),
            Self::PinCodePeriodUpdate => write!(f, "pinCode.update"),
            Self::PinCodePeriodDelete => write!(f, "pinCode.delete"),
            Self::ServerPeriodAbout => write!(f, "server.about"),
            Self::ServerPeriodApkLinks => write!(f, "server.apkLinks"),
            Self::ServerPeriodStorage => write!(f, "server.storage"),
            Self::ServerPeriodStatistics => write!(f, "server.statistics"),
            Self::ServerPeriodVersionCheck => write!(f, "server.versionCheck"),
            Self::ServerLicensePeriodRead => write!(f, "serverLicense.read"),
            Self::ServerLicensePeriodUpdate => write!(f, "serverLicense.update"),
            Self::ServerLicensePeriodDelete => write!(f, "serverLicense.delete"),
            Self::SessionPeriodCreate => write!(f, "session.create"),
            Self::SessionPeriodRead => write!(f, "session.read"),
            Self::SessionPeriodUpdate => write!(f, "session.update"),
            Self::SessionPeriodDelete => write!(f, "session.delete"),
            Self::SessionPeriodLock => write!(f, "session.lock"),
            Self::SharedLinkPeriodCreate => write!(f, "sharedLink.create"),
            Self::SharedLinkPeriodRead => write!(f, "sharedLink.read"),
            Self::SharedLinkPeriodUpdate => write!(f, "sharedLink.update"),
            Self::SharedLinkPeriodDelete => write!(f, "sharedLink.delete"),
            Self::StackPeriodCreate => write!(f, "stack.create"),
            Self::StackPeriodRead => write!(f, "stack.read"),
            Self::StackPeriodUpdate => write!(f, "stack.update"),
            Self::StackPeriodDelete => write!(f, "stack.delete"),
            Self::SyncPeriodStream => write!(f, "sync.stream"),
            Self::SyncCheckpointPeriodRead => write!(f, "syncCheckpoint.read"),
            Self::SyncCheckpointPeriodUpdate => write!(f, "syncCheckpoint.update"),
            Self::SyncCheckpointPeriodDelete => write!(f, "syncCheckpoint.delete"),
            Self::SystemConfigPeriodRead => write!(f, "systemConfig.read"),
            Self::SystemConfigPeriodUpdate => write!(f, "systemConfig.update"),
            Self::SystemMetadataPeriodRead => write!(f, "systemMetadata.read"),
            Self::SystemMetadataPeriodUpdate => write!(f, "systemMetadata.update"),
            Self::TagPeriodCreate => write!(f, "tag.create"),
            Self::TagPeriodRead => write!(f, "tag.read"),
            Self::TagPeriodUpdate => write!(f, "tag.update"),
            Self::TagPeriodDelete => write!(f, "tag.delete"),
            Self::TagPeriodAsset => write!(f, "tag.asset"),
            Self::UserPeriodRead => write!(f, "user.read"),
            Self::UserPeriodUpdate => write!(f, "user.update"),
            Self::UserLicensePeriodCreate => write!(f, "userLicense.create"),
            Self::UserLicensePeriodRead => write!(f, "userLicense.read"),
            Self::UserLicensePeriodUpdate => write!(f, "userLicense.update"),
            Self::UserLicensePeriodDelete => write!(f, "userLicense.delete"),
            Self::UserOnboardingPeriodRead => write!(f, "userOnboarding.read"),
            Self::UserOnboardingPeriodUpdate => write!(f, "userOnboarding.update"),
            Self::UserOnboardingPeriodDelete => write!(f, "userOnboarding.delete"),
            Self::UserPreferencePeriodRead => write!(f, "userPreference.read"),
            Self::UserPreferencePeriodUpdate => write!(f, "userPreference.update"),
            Self::UserProfileImagePeriodCreate => write!(f, "userProfileImage.create"),
            Self::UserProfileImagePeriodRead => write!(f, "userProfileImage.read"),
            Self::UserProfileImagePeriodUpdate => write!(f, "userProfileImage.update"),
            Self::UserProfileImagePeriodDelete => write!(f, "userProfileImage.delete"),
            Self::AdminUserPeriodCreate => write!(f, "adminUser.create"),
            Self::AdminUserPeriodRead => write!(f, "adminUser.read"),
            Self::AdminUserPeriodUpdate => write!(f, "adminUser.update"),
            Self::AdminUserPeriodDelete => write!(f, "adminUser.delete"),
            Self::AdminAuthPeriodUnlinkAll => write!(f, "adminAuth.unlinkAll"),
        }
    }
}

impl Default for Permission {
    fn default() -> Permission {
        Self::All
    }
}