@@ -83,8 +83,8 @@ type PersonStatistics struct {
83
83
}
84
84
85
85
type Error struct {
86
- Message []string `json:"message"`
87
86
Error string `json:"error"`
87
+ Message []string `json:"message"`
88
88
StatusCode int `json:"statusCode"`
89
89
}
90
90
@@ -95,28 +95,28 @@ type Owner struct {
95
95
}
96
96
97
97
type ExifInfo struct {
98
+ DateTimeOriginal time.Time `json:"dateTimeOriginal"`
99
+ ModifyDate time.Time `json:"modifyDate"`
100
+ ProjectionType any `json:"-"` // `json:"projectionType"`
98
101
Make string `json:"make"`
99
102
Model string `json:"model"`
100
- ExifImageWidth int `json:"exifImageWidth"`
101
- ExifImageHeight int `json:"exifImageHeight"`
102
- FileSizeInByte int `json:"fileSizeInByte"`
103
103
Orientation string `json:"orientation"`
104
- DateTimeOriginal time.Time `json:"dateTimeOriginal"`
105
- ModifyDate time.Time `json:"modifyDate"`
106
104
TimeZone string `json:"timeZone"`
107
105
LensModel string `json:"lensModel"`
108
- FNumber float64 `json:"fNumber"`
109
- FocalLength float64 `json:"focalLength"`
110
- Iso int `json:"iso"`
111
106
ExposureTime string `json:"exposureTime"`
112
- Latitude float64 `json:"latitude"`
113
- Longitude float64 `json:"longitude"`
114
107
City string `json:"city"`
115
108
State string `json:"state"`
116
109
Country string `json:"country"`
117
110
Description string `json:"description"`
118
- ProjectionType any `json:"-"` // `json:"projectionType"`
119
111
ImageOrientation ImageOrientation
112
+ ExifImageWidth int `json:"exifImageWidth"`
113
+ ExifImageHeight int `json:"exifImageHeight"`
114
+ FileSizeInByte int `json:"fileSizeInByte"`
115
+ FNumber float64 `json:"fNumber"`
116
+ FocalLength float64 `json:"focalLength"`
117
+ Iso int `json:"iso"`
118
+ Latitude float64 `json:"latitude"`
119
+ Longitude float64 `json:"longitude"`
120
120
}
121
121
122
122
type BirthDate string
@@ -129,13 +129,13 @@ func (bd BirthDate) Time() (time.Time, error) {
129
129
}
130
130
131
131
type Person struct {
132
+ UpdatedAt time.Time `json:"-"` // `json:"updatedAt"`
132
133
ID string `json:"id"`
133
134
Name string `json:"name"`
134
135
BirthDate BirthDate `json:"birthDate"`
135
136
ThumbnailPath string `json:"-"` // `json:"thumbnailPath"`
136
- IsHidden bool `json:"-"` // `json:"isHidden"`
137
- UpdatedAt time.Time `json:"-"` // `json:"updatedAt"`
138
137
Faces []Face `json:"faces"`
138
+ IsHidden bool `json:"-"` // `json:"isHidden"`
139
139
}
140
140
141
141
type Tag struct {
@@ -149,59 +149,62 @@ type Tag struct {
149
149
150
150
type Face struct {
151
151
ID string `json:"id"`
152
+ SourceType string `json:"sourceType"`
152
153
ImageHeight int `json:"imageHeight"`
153
154
ImageWidth int `json:"imageWidth"`
154
155
BoundingBoxX1 int `json:"boundingBoxX1"`
155
156
BoundingBoxX2 int `json:"boundingBoxX2"`
156
157
BoundingBoxY1 int `json:"boundingBoxY1"`
157
158
BoundingBoxY2 int `json:"boundingBoxY2"`
158
- SourceType string `json:"sourceType"`
159
159
}
160
160
161
161
type Asset struct {
162
+ FileCreatedAt time.Time `json:"-"` // `json:"fileCreatedAt"`
163
+ FileModifiedAt time.Time `json:"-"` // `json:"fileModifiedAt"`
164
+ LocalDateTime time.Time `json:"localDateTime"`
165
+ UpdatedAt time.Time `json:"-"` // `json:"updatedAt"`
166
+ StackCount any `json:"-"` // `json:"stackCount"`
167
+ DuplicateID any `json:"-"` // `json:"duplicateId"`
168
+
169
+ ctx context.Context `json:"-"`
170
+
171
+ // Data added and used by Kiosk
172
+ mu * sync.Mutex
173
+ Owner Owner `json:"owner"`
162
174
ID string `json:"id"`
163
175
DeviceAssetID string `json:"-"` // `json:"deviceAssetId"`
164
176
OwnerID string `json:"ownerId"`
165
- Owner Owner `json:"owner"`
166
177
DeviceID string `json:"-"` // `json:"deviceId"`
167
178
LibraryID string `json:"-"` // `json:"libraryId"`
168
179
Type AssetType `json:"type"`
169
180
OriginalPath string `json:"-"` // `json:"originalPath"`
170
181
OriginalFileName string `json:"originalFileName"`
171
182
OriginalMimeType string `json:"originalMimeType"`
172
183
Thumbhash string `json:"-"` // `json:"thumbhash"`
173
- FileCreatedAt time.Time `json:"-"` // `json:"fileCreatedAt"`
174
- FileModifiedAt time.Time `json:"-"` // `json:"fileModifiedAt"`
175
- LocalDateTime time.Time `json:"localDateTime"`
176
- UpdatedAt time.Time `json:"-"` // `json:"updatedAt"`
177
- IsFavorite bool `json:"isFavorite"`
178
- IsArchived bool `json:"isArchived"`
179
- IsTrashed bool `json:"isTrashed"`
180
184
Duration string `json:"-"` // `json:"duration"`
181
- ExifInfo ExifInfo `json:"exifInfo"`
182
185
LivePhotoVideoID string `json:"livePhotoVideoId"`
183
- People []Person `json:"people"`
184
- Tags Tags `json:"tags"`
185
- UnassignedFaces []Face `json:"unassignedFaces"`
186
186
Checksum string `json:"checksum"`
187
- StackCount any `json:"-"` // `json:"stackCount"`
188
- IsOffline bool `json:"-"` // `json:"isOffline"`
189
- HasMetadata bool `json:"-"` // `json:"hasMetadata"`
190
- DuplicateID any `json:"-"` // `json:"duplicateId"`
191
187
Visibility string `json:"-"` // `json:"visibility"`
192
188
193
- // Data added and used by Kiosk
194
- mu * sync.Mutex
195
189
RatioWanted ImageOrientation `json:"-"`
196
- IsPortrait bool `json:"isPortrait"`
197
- IsLandscape bool `json:"isLandscape"`
198
190
MemoryTitle string `json:"-"`
199
- AppearsIn Albums `json:"kioskAppearsIn"`
200
191
Bucket kiosk.Source `json:"kioskBucket"`
201
192
BucketID string `json:"kioskBucketId"`
202
193
203
- ctx context.Context `json:"-"`
204
- requestConfig config.Config `json:"-"`
194
+ People []Person `json:"people"`
195
+ Tags Tags `json:"tags"`
196
+ UnassignedFaces []Face `json:"unassignedFaces"`
197
+ AppearsIn Albums `json:"kioskAppearsIn"`
198
+ ExifInfo ExifInfo `json:"exifInfo"`
199
+
200
+ requestConfig config.Config `json:"-"`
201
+ IsFavorite bool `json:"isFavorite"`
202
+ IsArchived bool `json:"isArchived"`
203
+ IsTrashed bool `json:"isTrashed"`
204
+ IsOffline bool `json:"-"` // `json:"isOffline"`
205
+ HasMetadata bool `json:"-"` // `json:"hasMetadata"`
206
+ IsPortrait bool `json:"isPortrait"`
207
+ IsLandscape bool `json:"isLandscape"`
205
208
}
206
209
207
210
type Album struct {
@@ -220,34 +223,34 @@ type SearchRandomBody struct {
220
223
CreatedAfter string `url:"createdAfter,omitempty" json:"createdAfter,omitempty"`
221
224
CreatedBefore string `url:"createdBefore,omitempty" json:"createdBefore,omitempty"`
222
225
DeviceID string `url:"deviceId,omitempty" json:"deviceId,omitempty"`
223
- IsArchived bool `url:"isArchived,omitempty" json:"isArchived,omitempty"`
224
- IsEncoded bool `url:"isEncoded,omitempty" json:"isEncoded,omitempty"`
225
- IsFavorite bool `url:"isFavorite,omitempty" json:"isFavorite,omitempty"`
226
- IsMotion bool `url:"isMotion,omitempty" json:"isMotion,omitempty"`
227
- IsNotInAlbum bool `url:"isNotInAlbum,omitempty" json:"isNotInAlbum,omitempty"`
228
- IsOffline bool `url:"isOffline,omitempty" json:"isOffline,omitempty"`
229
- IsVisible bool `url:"isVisible,omitempty" json:"isVisible,omitempty"`
230
226
LensModel string `url:"lensModel,omitempty" json:"lensModel,omitempty"`
231
227
LibraryID string `url:"libraryId,omitempty" json:"libraryId,omitempty"`
232
228
Make string `url:"make,omitempty" json:"make,omitempty"`
233
229
Model string `url:"model,omitempty" json:"model,omitempty"`
234
- PersonIDs []string `url:"personIds,omitempty" json:"personIds,omitempty"`
235
- Size int `url:"size,omitempty" json:"size,omitempty"`
236
230
State string `url:"state,omitempty" json:"state,omitempty"`
237
- TagIDs []string `url:"tagIds,omitempty" json:"tagIds,omitempty"`
238
231
TakenAfter string `url:"takenAfter,omitempty" json:"takenAfter,omitempty"`
239
232
TakenBefore string `url:"takenBefore,omitempty" json:"takenBefore,omitempty"`
240
233
TrashedAfter string `url:"trashedAfter,omitempty" json:"trashedAfter,omitempty"`
241
234
TrashedBefore string `url:"trashedBefore,omitempty" json:"trashedBefore,omitempty"`
242
235
Type string `url:"type,omitempty" json:"type,omitempty"`
243
236
UpdatedAfter string `url:"updatedAfter,omitempty" json:"updatedAfter,omitempty"`
244
237
UpdatedBefore string `url:"updatedBefore,omitempty" json:"updatedBefore,omitempty"`
238
+ PersonIDs []string `url:"personIds,omitempty" json:"personIds,omitempty"`
239
+ TagIDs []string `url:"tagIds,omitempty" json:"tagIds,omitempty"`
240
+ Size int `url:"size,omitempty" json:"size,omitempty"`
241
+ Page int `url:"page,omitempty" json:"page,omitempty"`
242
+ IsArchived bool `url:"isArchived,omitempty" json:"isArchived,omitempty"`
243
+ IsEncoded bool `url:"isEncoded,omitempty" json:"isEncoded,omitempty"`
244
+ IsFavorite bool `url:"isFavorite,omitempty" json:"isFavorite,omitempty"`
245
+ IsMotion bool `url:"isMotion,omitempty" json:"isMotion,omitempty"`
246
+ IsNotInAlbum bool `url:"isNotInAlbum,omitempty" json:"isNotInAlbum,omitempty"`
247
+ IsOffline bool `url:"isOffline,omitempty" json:"isOffline,omitempty"`
248
+ IsVisible bool `url:"isVisible,omitempty" json:"isVisible,omitempty"`
245
249
WithArchived bool `url:"withArchived,omitempty" json:"withArchived,omitempty"`
246
250
WithDeleted bool `url:"withDeleted,omitempty" json:"withDeleted,omitempty"`
247
251
WithExif bool `url:"withExif,omitempty" json:"withExif,omitempty"`
248
252
WithPeople bool `url:"withPeople,omitempty" json:"withPeople,omitempty"`
249
253
WithStacked bool `url:"withStacked,omitempty" json:"withStacked,omitempty"`
250
- Page int `url:"page,omitempty" json:"page,omitempty"`
251
254
}
252
255
253
256
type TagAssetsBody struct {
@@ -272,38 +275,38 @@ type UpsertTagResponse []struct {
272
275
273
276
type SearchMetadataResponse struct {
274
277
Assets struct {
275
- Total int `json:"total"`
276
278
NextPage string `json:"nextPage"`
279
+ Total int `json:"total"`
277
280
} `json:"assets"`
278
281
}
279
282
280
283
type Memory struct {
281
- ID string `json:"id"`
282
284
CreatedAt time.Time `json:"createdAt"`
283
285
UpdatedAt time.Time `json:"updatedAt"`
284
286
MemoryAt time.Time `json:"memoryAt"`
285
287
ShowAt time.Time `json:"showAt"`
286
288
HideAt time.Time `json:"hideAt"`
289
+ ID string `json:"id"`
287
290
OwnerID string `json:"ownerId"`
288
291
Type immich_open_api.MemoryType `json:"type"`
292
+ Assets []Asset `json:"assets"`
289
293
Data struct {
290
294
Year int `json:"year"`
291
295
} `json:"data"`
292
- IsSaved bool `json:"isSaved"`
293
- Assets []Asset `json:"assets"`
296
+ IsSaved bool `json:"isSaved"`
294
297
}
295
298
296
299
type MemoriesResponse []Memory
297
300
298
301
type AssetFaceResponse struct {
302
+ ID string `json:"id"`
303
+ Person Person `json:"person"`
299
304
BoundingBoxX1 int `json:"boundingBoxX1"`
300
305
BoundingBoxX2 int `json:"boundingBoxX2"`
301
306
BoundingBoxY1 int `json:"boundingBoxY1"`
302
307
BoundingBoxY2 int `json:"boundingBoxY2"`
303
- ID string `json:"id"`
304
308
ImageHeight int `json:"imageHeight"`
305
309
ImageWidth int `json:"imageWidth"`
306
- Person Person `json:"person"`
307
310
}
308
311
309
312
type TagAssetsResponse []struct {
@@ -322,13 +325,13 @@ type AlbumCreateBody struct {
322
325
type UpdateAssetBody struct {
323
326
DateTimeOriginal string `json:"dateTimeOriginal,omitempty"`
324
327
Description string `json:"description,omitempty"`
325
- IsArchived bool `json:"isArchived"`
326
- IsFavorite bool `json:"isFavorite"`
327
- Latitude float64 `json:"latitude,omitempty"`
328
328
LivePhotoVideoID string `json:"livePhotoVideoId,omitempty"`
329
+ Visibility string `json:"visibility,omitempty"`
330
+ Latitude float64 `json:"latitude,omitempty"`
329
331
Longitude float64 `json:"longitude,omitempty"`
330
332
Rating int `json:"rating,omitempty"`
331
- Visibility string `json:"visibility,omitempty"`
333
+ IsArchived bool `json:"isArchived"`
334
+ IsFavorite bool `json:"isFavorite"`
332
335
}
333
336
334
337
// UserAvatarColor defines model for UserAvatarColor.
@@ -345,30 +348,30 @@ type UserLicense struct {
345
348
type UserStatus string
346
349
347
350
type UserResponse struct {
348
- AvatarColor UserAvatarColor `json:"avatarColor"`
349
351
CreatedAt time.Time `json:"createdAt"`
352
+ ProfileChangedAt time.Time `json:"profileChangedAt"`
353
+ UpdatedAt time.Time `json:"updatedAt"`
350
354
DeletedAt * time.Time `json:"deletedAt"`
355
+ License * UserLicense `json:"license"`
356
+ QuotaSizeInBytes * int64 `json:"quotaSizeInBytes"`
357
+ QuotaUsageInBytes * int64 `json:"quotaUsageInBytes"`
358
+ StorageLabel * string `json:"storageLabel"`
359
+ AvatarColor UserAvatarColor `json:"avatarColor"`
351
360
Email string `json:"email"`
352
361
ID string `json:"id"`
353
- IsAdmin bool `json:"isAdmin"`
354
- License * UserLicense `json:"license"`
355
362
Name string `json:"name"`
356
363
OauthID string `json:"oauthId"`
357
- ProfileChangedAt time.Time `json:"profileChangedAt"`
358
364
ProfileImagePath string `json:"profileImagePath"`
359
- QuotaSizeInBytes * int64 `json:"quotaSizeInBytes"`
360
- QuotaUsageInBytes * int64 `json:"quotaUsageInBytes"`
361
- ShouldChangePassword bool `json:"shouldChangePassword"`
362
365
Status UserStatus `json:"status"`
363
- StorageLabel * string `json:"storageLabel "`
364
- UpdatedAt time. Time `json:"updatedAt "`
366
+ IsAdmin bool `json:"isAdmin "`
367
+ ShouldChangePassword bool `json:"shouldChangePassword "`
365
368
}
366
369
367
370
type AllPeopleResponse struct {
368
- HasNextPage bool `json:"hasNextPage"`
369
- Hidden int `json:"hidden"`
370
371
People []Person `json:"people"`
372
+ Hidden int `json:"hidden"`
371
373
Total int `json:"total"`
374
+ HasNextPage bool `json:"hasNextPage"`
372
375
}
373
376
374
377
type apiCall func (context.Context , string , string , []byte , ... map [string ]string ) ([]byte , string , error )
0 commit comments