mirror of
https://github.com/immich-app/immich
synced 2026-08-15 13:03:57 +00:00
refactor!: migrate class-validator to zod (#26597)
This commit is contained in:
parent
3753b7a4d1
commit
7d8f843be6
318 changed files with 7830 additions and 8316 deletions
|
|
@ -4,7 +4,7 @@ import path from 'node:path';
|
||||||
import { setTimeout as sleep } from 'node:timers/promises';
|
import { setTimeout as sleep } from 'node:timers/promises';
|
||||||
import { describe, expect, it, MockedFunction, vi } from 'vitest';
|
import { describe, expect, it, MockedFunction, vi } from 'vitest';
|
||||||
|
|
||||||
import { Action, checkBulkUpload, defaults, getSupportedMediaTypes, Reason } from '@immich/sdk';
|
import { AssetRejectReason, AssetUploadAction, checkBulkUpload, defaults, getSupportedMediaTypes } from '@immich/sdk';
|
||||||
import createFetchMock from 'vitest-fetch-mock';
|
import createFetchMock from 'vitest-fetch-mock';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
|
|
@ -120,7 +120,7 @@ describe('checkForDuplicates', () => {
|
||||||
vi.mocked(checkBulkUpload).mockResolvedValue({
|
vi.mocked(checkBulkUpload).mockResolvedValue({
|
||||||
results: [
|
results: [
|
||||||
{
|
{
|
||||||
action: Action.Accept,
|
action: AssetUploadAction.Accept,
|
||||||
id: testFilePath,
|
id: testFilePath,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
|
@ -144,10 +144,10 @@ describe('checkForDuplicates', () => {
|
||||||
vi.mocked(checkBulkUpload).mockResolvedValue({
|
vi.mocked(checkBulkUpload).mockResolvedValue({
|
||||||
results: [
|
results: [
|
||||||
{
|
{
|
||||||
action: Action.Reject,
|
action: AssetUploadAction.Reject,
|
||||||
id: testFilePath,
|
id: testFilePath,
|
||||||
assetId: 'fc5621b1-86f6-44a1-9905-403e607df9f5',
|
assetId: 'fc5621b1-86f6-44a1-9905-403e607df9f5',
|
||||||
reason: Reason.Duplicate,
|
reason: AssetRejectReason.Duplicate,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
});
|
});
|
||||||
|
|
@ -167,7 +167,7 @@ describe('checkForDuplicates', () => {
|
||||||
vi.mocked(checkBulkUpload).mockResolvedValue({
|
vi.mocked(checkBulkUpload).mockResolvedValue({
|
||||||
results: [
|
results: [
|
||||||
{
|
{
|
||||||
action: Action.Accept,
|
action: AssetUploadAction.Accept,
|
||||||
id: testFilePath,
|
id: testFilePath,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
|
@ -187,7 +187,7 @@ describe('checkForDuplicates', () => {
|
||||||
mocked.mockResolvedValue({
|
mocked.mockResolvedValue({
|
||||||
results: [
|
results: [
|
||||||
{
|
{
|
||||||
action: Action.Accept,
|
action: AssetUploadAction.Accept,
|
||||||
id: testFilePath,
|
id: testFilePath,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
import {
|
import {
|
||||||
Action,
|
|
||||||
AssetBulkUploadCheckItem,
|
AssetBulkUploadCheckItem,
|
||||||
AssetBulkUploadCheckResult,
|
AssetBulkUploadCheckResult,
|
||||||
AssetMediaResponseDto,
|
AssetMediaResponseDto,
|
||||||
AssetMediaStatus,
|
AssetMediaStatus,
|
||||||
|
AssetUploadAction,
|
||||||
Permission,
|
Permission,
|
||||||
addAssetsToAlbum,
|
addAssetsToAlbum,
|
||||||
checkBulkUpload,
|
checkBulkUpload,
|
||||||
|
|
@ -234,7 +234,7 @@ export const checkForDuplicates = async (files: string[], { concurrency, skipHas
|
||||||
const results = response.results as AssetBulkUploadCheckResults;
|
const results = response.results as AssetBulkUploadCheckResults;
|
||||||
|
|
||||||
for (const { id: filepath, assetId, action } of results) {
|
for (const { id: filepath, assetId, action } of results) {
|
||||||
if (action === Action.Accept) {
|
if (action === AssetUploadAction.Accept) {
|
||||||
newFiles.push(filepath);
|
newFiles.push(filepath);
|
||||||
} else {
|
} else {
|
||||||
// rejects are always duplicates
|
// rejects are always duplicates
|
||||||
|
|
|
||||||
|
|
@ -95,8 +95,8 @@ describe('/asset', () => {
|
||||||
utils.createAsset(user1.accessToken),
|
utils.createAsset(user1.accessToken),
|
||||||
utils.createAsset(user1.accessToken, {
|
utils.createAsset(user1.accessToken, {
|
||||||
isFavorite: true,
|
isFavorite: true,
|
||||||
fileCreatedAt: yesterday.toISO(),
|
fileCreatedAt: yesterday.toUTC().toISO(),
|
||||||
fileModifiedAt: yesterday.toISO(),
|
fileModifiedAt: yesterday.toUTC().toISO(),
|
||||||
assetData: { filename: 'example.mp4' },
|
assetData: { filename: 'example.mp4' },
|
||||||
}),
|
}),
|
||||||
utils.createAsset(user1.accessToken),
|
utils.createAsset(user1.accessToken),
|
||||||
|
|
@ -435,7 +435,8 @@ describe('/asset', () => {
|
||||||
it('should require access', async () => {
|
it('should require access', async () => {
|
||||||
const { status, body } = await request(app)
|
const { status, body } = await request(app)
|
||||||
.put(`/assets/${user2Assets[0].id}`)
|
.put(`/assets/${user2Assets[0].id}`)
|
||||||
.set('Authorization', `Bearer ${user1.accessToken}`);
|
.set('Authorization', `Bearer ${user1.accessToken}`)
|
||||||
|
.send({});
|
||||||
expect(status).toBe(400);
|
expect(status).toBe(400);
|
||||||
expect(body).toEqual(errorDto.noPermission);
|
expect(body).toEqual(errorDto.noPermission);
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -110,7 +110,7 @@ describe('/libraries', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
expect(status).toBe(400);
|
expect(status).toBe(400);
|
||||||
expect(body).toEqual(errorDto.badRequest(["All importPaths's elements must be unique"]));
|
expect(body).toEqual(errorDto.badRequest(['[importPaths] Array must have unique items']));
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should not create an external library with duplicate exclusion patterns', async () => {
|
it('should not create an external library with duplicate exclusion patterns', async () => {
|
||||||
|
|
@ -125,7 +125,7 @@ describe('/libraries', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
expect(status).toBe(400);
|
expect(status).toBe(400);
|
||||||
expect(body).toEqual(errorDto.badRequest(["All exclusionPatterns's elements must be unique"]));
|
expect(body).toEqual(errorDto.badRequest(['[exclusionPatterns] Array must have unique items']));
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -157,7 +157,7 @@ describe('/libraries', () => {
|
||||||
.send({ name: '' });
|
.send({ name: '' });
|
||||||
|
|
||||||
expect(status).toBe(400);
|
expect(status).toBe(400);
|
||||||
expect(body).toEqual(errorDto.badRequest(['name should not be empty']));
|
expect(body).toEqual(errorDto.badRequest(['[name] Too small: expected string to have >=1 characters']));
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should change the import paths', async () => {
|
it('should change the import paths', async () => {
|
||||||
|
|
@ -181,7 +181,7 @@ describe('/libraries', () => {
|
||||||
.send({ importPaths: [''] });
|
.send({ importPaths: [''] });
|
||||||
|
|
||||||
expect(status).toBe(400);
|
expect(status).toBe(400);
|
||||||
expect(body).toEqual(errorDto.badRequest(['each value in importPaths should not be empty']));
|
expect(body).toEqual(errorDto.badRequest(['[importPaths] Array items must not be empty']));
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should reject duplicate import paths', async () => {
|
it('should reject duplicate import paths', async () => {
|
||||||
|
|
@ -191,7 +191,7 @@ describe('/libraries', () => {
|
||||||
.send({ importPaths: ['/path', '/path'] });
|
.send({ importPaths: ['/path', '/path'] });
|
||||||
|
|
||||||
expect(status).toBe(400);
|
expect(status).toBe(400);
|
||||||
expect(body).toEqual(errorDto.badRequest(["All importPaths's elements must be unique"]));
|
expect(body).toEqual(errorDto.badRequest(['[importPaths] Array must have unique items']));
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should change the exclusion pattern', async () => {
|
it('should change the exclusion pattern', async () => {
|
||||||
|
|
@ -215,7 +215,7 @@ describe('/libraries', () => {
|
||||||
.send({ exclusionPatterns: ['**/*.jpg', '**/*.jpg'] });
|
.send({ exclusionPatterns: ['**/*.jpg', '**/*.jpg'] });
|
||||||
|
|
||||||
expect(status).toBe(400);
|
expect(status).toBe(400);
|
||||||
expect(body).toEqual(errorDto.badRequest(["All exclusionPatterns's elements must be unique"]));
|
expect(body).toEqual(errorDto.badRequest(['[exclusionPatterns] Array must have unique items']));
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should reject an empty exclusion pattern', async () => {
|
it('should reject an empty exclusion pattern', async () => {
|
||||||
|
|
@ -225,7 +225,7 @@ describe('/libraries', () => {
|
||||||
.send({ exclusionPatterns: [''] });
|
.send({ exclusionPatterns: [''] });
|
||||||
|
|
||||||
expect(status).toBe(400);
|
expect(status).toBe(400);
|
||||||
expect(body).toEqual(errorDto.badRequest(['each value in exclusionPatterns should not be empty']));
|
expect(body).toEqual(errorDto.badRequest(['[exclusionPatterns] Array items must not be empty']));
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -109,7 +109,7 @@ describe('/map', () => {
|
||||||
.get('/map/reverse-geocode?lon=123')
|
.get('/map/reverse-geocode?lon=123')
|
||||||
.set('Authorization', `Bearer ${admin.accessToken}`);
|
.set('Authorization', `Bearer ${admin.accessToken}`);
|
||||||
expect(status).toBe(400);
|
expect(status).toBe(400);
|
||||||
expect(body).toEqual(errorDto.badRequest(['lat must be a number between -90 and 90']));
|
expect(body).toEqual(errorDto.badRequest(['[lat] Invalid input: expected number, received NaN']));
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should throw an error if a lat is not a number', async () => {
|
it('should throw an error if a lat is not a number', async () => {
|
||||||
|
|
@ -117,7 +117,7 @@ describe('/map', () => {
|
||||||
.get('/map/reverse-geocode?lat=abc&lon=123.456')
|
.get('/map/reverse-geocode?lat=abc&lon=123.456')
|
||||||
.set('Authorization', `Bearer ${admin.accessToken}`);
|
.set('Authorization', `Bearer ${admin.accessToken}`);
|
||||||
expect(status).toBe(400);
|
expect(status).toBe(400);
|
||||||
expect(body).toEqual(errorDto.badRequest(['lat must be a number between -90 and 90']));
|
expect(body).toEqual(errorDto.badRequest(['[lat] Invalid input: expected number, received NaN']));
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should throw an error if a lat is out of range', async () => {
|
it('should throw an error if a lat is out of range', async () => {
|
||||||
|
|
@ -125,7 +125,7 @@ describe('/map', () => {
|
||||||
.get('/map/reverse-geocode?lat=91&lon=123.456')
|
.get('/map/reverse-geocode?lat=91&lon=123.456')
|
||||||
.set('Authorization', `Bearer ${admin.accessToken}`);
|
.set('Authorization', `Bearer ${admin.accessToken}`);
|
||||||
expect(status).toBe(400);
|
expect(status).toBe(400);
|
||||||
expect(body).toEqual(errorDto.badRequest(['lat must be a number between -90 and 90']));
|
expect(body).toEqual(errorDto.badRequest(['[lat] Too big: expected number to be <=90']));
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should throw an error if a lon is not provided', async () => {
|
it('should throw an error if a lon is not provided', async () => {
|
||||||
|
|
@ -133,7 +133,7 @@ describe('/map', () => {
|
||||||
.get('/map/reverse-geocode?lat=75')
|
.get('/map/reverse-geocode?lat=75')
|
||||||
.set('Authorization', `Bearer ${admin.accessToken}`);
|
.set('Authorization', `Bearer ${admin.accessToken}`);
|
||||||
expect(status).toBe(400);
|
expect(status).toBe(400);
|
||||||
expect(body).toEqual(errorDto.badRequest(['lon must be a number between -180 and 180']));
|
expect(body).toEqual(errorDto.badRequest(['[lon] Invalid input: expected number, received NaN']));
|
||||||
});
|
});
|
||||||
|
|
||||||
const reverseGeocodeTestCases = [
|
const reverseGeocodeTestCases = [
|
||||||
|
|
|
||||||
|
|
@ -101,7 +101,7 @@ describe(`/oauth`, () => {
|
||||||
it(`should throw an error if a redirect uri is not provided`, async () => {
|
it(`should throw an error if a redirect uri is not provided`, async () => {
|
||||||
const { status, body } = await request(app).post('/oauth/authorize').send({});
|
const { status, body } = await request(app).post('/oauth/authorize').send({});
|
||||||
expect(status).toBe(400);
|
expect(status).toBe(400);
|
||||||
expect(body).toEqual(errorDto.badRequest(['redirectUri must be a string', 'redirectUri should not be empty']));
|
expect(body).toEqual(errorDto.badRequest(['[redirectUri] Invalid input: expected string, received undefined']));
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should return a redirect uri', async () => {
|
it('should return a redirect uri', async () => {
|
||||||
|
|
@ -123,13 +123,13 @@ describe(`/oauth`, () => {
|
||||||
it(`should throw an error if a url is not provided`, async () => {
|
it(`should throw an error if a url is not provided`, async () => {
|
||||||
const { status, body } = await request(app).post('/oauth/callback').send({});
|
const { status, body } = await request(app).post('/oauth/callback').send({});
|
||||||
expect(status).toBe(400);
|
expect(status).toBe(400);
|
||||||
expect(body).toEqual(errorDto.badRequest(['url must be a string', 'url should not be empty']));
|
expect(body).toEqual(errorDto.badRequest(['[url] Invalid input: expected string, received undefined']));
|
||||||
});
|
});
|
||||||
|
|
||||||
it(`should throw an error if the url is empty`, async () => {
|
it(`should throw an error if the url is empty`, async () => {
|
||||||
const { status, body } = await request(app).post('/oauth/callback').send({ url: '' });
|
const { status, body } = await request(app).post('/oauth/callback').send({ url: '' });
|
||||||
expect(status).toBe(400);
|
expect(status).toBe(400);
|
||||||
expect(body).toEqual(errorDto.badRequest(['url should not be empty']));
|
expect(body).toEqual(errorDto.badRequest(['[url] Too small: expected string to have >=1 characters']));
|
||||||
});
|
});
|
||||||
|
|
||||||
it(`should throw an error if the state is not provided`, async () => {
|
it(`should throw an error if the state is not provided`, async () => {
|
||||||
|
|
|
||||||
|
|
@ -309,7 +309,7 @@ describe('/tags', () => {
|
||||||
.get(`/tags/${uuidDto.invalid}`)
|
.get(`/tags/${uuidDto.invalid}`)
|
||||||
.set('Authorization', `Bearer ${admin.accessToken}`);
|
.set('Authorization', `Bearer ${admin.accessToken}`);
|
||||||
expect(status).toBe(400);
|
expect(status).toBe(400);
|
||||||
expect(body).toEqual(errorDto.badRequest(['id must be a UUID']));
|
expect(body).toEqual(errorDto.badRequest(['[id] Invalid UUID']));
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should get tag details', async () => {
|
it('should get tag details', async () => {
|
||||||
|
|
@ -427,7 +427,7 @@ describe('/tags', () => {
|
||||||
.delete(`/tags/${uuidDto.invalid}`)
|
.delete(`/tags/${uuidDto.invalid}`)
|
||||||
.set('Authorization', `Bearer ${admin.accessToken}`);
|
.set('Authorization', `Bearer ${admin.accessToken}`);
|
||||||
expect(status).toBe(400);
|
expect(status).toBe(400);
|
||||||
expect(body).toEqual(errorDto.badRequest(['id must be a UUID']));
|
expect(body).toEqual(errorDto.badRequest(['[id] Invalid UUID']));
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should delete a tag', async () => {
|
it('should delete a tag', async () => {
|
||||||
|
|
|
||||||
|
|
@ -287,7 +287,8 @@ describe('/admin/users', () => {
|
||||||
it('should delete user', async () => {
|
it('should delete user', async () => {
|
||||||
const { status, body } = await request(app)
|
const { status, body } = await request(app)
|
||||||
.delete(`/admin/users/${userToDelete.userId}`)
|
.delete(`/admin/users/${userToDelete.userId}`)
|
||||||
.set('Authorization', `Bearer ${admin.accessToken}`);
|
.set('Authorization', `Bearer ${admin.accessToken}`)
|
||||||
|
.send({});
|
||||||
|
|
||||||
expect(status).toBe(200);
|
expect(status).toBe(200);
|
||||||
expect(body).toMatchObject({
|
expect(body).toMatchObject({
|
||||||
|
|
|
||||||
|
|
@ -178,7 +178,9 @@ describe('/users', () => {
|
||||||
.set('Authorization', `Bearer ${admin.accessToken}`);
|
.set('Authorization', `Bearer ${admin.accessToken}`);
|
||||||
|
|
||||||
expect(status).toBe(400);
|
expect(status).toBe(400);
|
||||||
expect(body).toEqual(errorDto.badRequest(['download.archiveSize must be an integer number']));
|
expect(body).toEqual(
|
||||||
|
errorDto.badRequest(['[download.archiveSize] Invalid input: expected int, received number']),
|
||||||
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should update download archive size', async () => {
|
it('should update download archive size', async () => {
|
||||||
|
|
@ -204,7 +206,9 @@ describe('/users', () => {
|
||||||
.set('Authorization', `Bearer ${admin.accessToken}`);
|
.set('Authorization', `Bearer ${admin.accessToken}`);
|
||||||
|
|
||||||
expect(status).toBe(400);
|
expect(status).toBe(400);
|
||||||
expect(body).toEqual(errorDto.badRequest(['download.includeEmbeddedVideos must be a boolean value']));
|
expect(body).toEqual(
|
||||||
|
errorDto.badRequest(['[download.includeEmbeddedVideos] Invalid input: expected boolean, received number']),
|
||||||
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should update download include embedded videos', async () => {
|
it('should update download include embedded videos', async () => {
|
||||||
|
|
|
||||||
|
|
@ -69,7 +69,7 @@ export const createMockStackAsset = (ownerId: string): AssetResponseDto => {
|
||||||
tags: [],
|
tags: [],
|
||||||
people: [],
|
people: [],
|
||||||
unassignedFaces: [],
|
unassignedFaces: [],
|
||||||
stack: null,
|
stack: undefined,
|
||||||
isOffline: false,
|
isOffline: false,
|
||||||
hasMetadata: true,
|
hasMetadata: true,
|
||||||
duplicateId: null,
|
duplicateId: null,
|
||||||
|
|
|
||||||
|
|
@ -80,12 +80,14 @@ Future<void> _processCloudIdMappingsInBatches(
|
||||||
AssetMetadataBulkUpsertItemDto(
|
AssetMetadataBulkUpsertItemDto(
|
||||||
assetId: mapping.remoteAssetId,
|
assetId: mapping.remoteAssetId,
|
||||||
key: kMobileMetadataKey,
|
key: kMobileMetadataKey,
|
||||||
value: RemoteAssetMobileAppMetadata(
|
value: Map<String, Object>.from(
|
||||||
cloudId: mapping.localAsset.cloudId,
|
RemoteAssetMobileAppMetadata(
|
||||||
createdAt: mapping.localAsset.createdAt.toIso8601String(),
|
cloudId: mapping.localAsset.cloudId,
|
||||||
adjustmentTime: mapping.localAsset.adjustmentTime?.toIso8601String(),
|
createdAt: mapping.localAsset.createdAt.toIso8601String(),
|
||||||
latitude: mapping.localAsset.latitude?.toString(),
|
adjustmentTime: mapping.localAsset.adjustmentTime?.toIso8601String(),
|
||||||
longitude: mapping.localAsset.longitude?.toString(),
|
latitude: mapping.localAsset.latitude?.toString(),
|
||||||
|
longitude: mapping.localAsset.longitude?.toString(),
|
||||||
|
).toJson(),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -97,7 +97,7 @@ class AlbumApiRepository extends ApiRepository {
|
||||||
for (final result in response) {
|
for (final result in response) {
|
||||||
if (result.success) {
|
if (result.success) {
|
||||||
added.add(result.id);
|
added.add(result.id);
|
||||||
} else if (result.error == BulkIdResponseDtoErrorEnum.duplicate) {
|
} else if (result.error == BulkIdErrorReason.duplicate) {
|
||||||
duplicates.add(result.id);
|
duplicates.add(result.id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,13 +5,13 @@ dynamic upgradeDto(dynamic value, String targetType) {
|
||||||
case 'UserPreferencesResponseDto':
|
case 'UserPreferencesResponseDto':
|
||||||
if (value is Map) {
|
if (value is Map) {
|
||||||
addDefault(value, 'download.includeEmbeddedVideos', false);
|
addDefault(value, 'download.includeEmbeddedVideos', false);
|
||||||
addDefault(value, 'folders', FoldersResponse().toJson());
|
addDefault(value, 'folders', FoldersResponse(enabled: false, sidebarWeb: false).toJson());
|
||||||
addDefault(value, 'memories', MemoriesResponse().toJson());
|
addDefault(value, 'memories', MemoriesResponse(enabled: true, duration: 5).toJson());
|
||||||
addDefault(value, 'ratings', RatingsResponse().toJson());
|
addDefault(value, 'ratings', RatingsResponse(enabled: false).toJson());
|
||||||
addDefault(value, 'people', PeopleResponse().toJson());
|
addDefault(value, 'people', PeopleResponse(enabled: true, sidebarWeb: false).toJson());
|
||||||
addDefault(value, 'tags', TagsResponse().toJson());
|
addDefault(value, 'tags', TagsResponse(enabled: false, sidebarWeb: false).toJson());
|
||||||
addDefault(value, 'sharedLinks', SharedLinksResponse().toJson());
|
addDefault(value, 'sharedLinks', SharedLinksResponse(enabled: true, sidebarWeb: false).toJson());
|
||||||
addDefault(value, 'cast', CastResponse().toJson());
|
addDefault(value, 'cast', CastResponse(gCastEnabled: false).toJson());
|
||||||
addDefault(value, 'albums', {'defaultAssetOrder': 'desc'});
|
addDefault(value, 'albums', {'defaultAssetOrder': 'desc'});
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
8
mobile/openapi/README.md
generated
8
mobile/openapi/README.md
generated
|
|
@ -371,6 +371,7 @@ Class | Method | HTTP request | Description
|
||||||
- [AssetFaceUpdateItem](doc//AssetFaceUpdateItem.md)
|
- [AssetFaceUpdateItem](doc//AssetFaceUpdateItem.md)
|
||||||
- [AssetFaceWithoutPersonResponseDto](doc//AssetFaceWithoutPersonResponseDto.md)
|
- [AssetFaceWithoutPersonResponseDto](doc//AssetFaceWithoutPersonResponseDto.md)
|
||||||
- [AssetFullSyncDto](doc//AssetFullSyncDto.md)
|
- [AssetFullSyncDto](doc//AssetFullSyncDto.md)
|
||||||
|
- [AssetIdErrorReason](doc//AssetIdErrorReason.md)
|
||||||
- [AssetIdsDto](doc//AssetIdsDto.md)
|
- [AssetIdsDto](doc//AssetIdsDto.md)
|
||||||
- [AssetIdsResponseDto](doc//AssetIdsResponseDto.md)
|
- [AssetIdsResponseDto](doc//AssetIdsResponseDto.md)
|
||||||
- [AssetJobName](doc//AssetJobName.md)
|
- [AssetJobName](doc//AssetJobName.md)
|
||||||
|
|
@ -388,10 +389,12 @@ Class | Method | HTTP request | Description
|
||||||
- [AssetMetadataUpsertItemDto](doc//AssetMetadataUpsertItemDto.md)
|
- [AssetMetadataUpsertItemDto](doc//AssetMetadataUpsertItemDto.md)
|
||||||
- [AssetOcrResponseDto](doc//AssetOcrResponseDto.md)
|
- [AssetOcrResponseDto](doc//AssetOcrResponseDto.md)
|
||||||
- [AssetOrder](doc//AssetOrder.md)
|
- [AssetOrder](doc//AssetOrder.md)
|
||||||
|
- [AssetRejectReason](doc//AssetRejectReason.md)
|
||||||
- [AssetResponseDto](doc//AssetResponseDto.md)
|
- [AssetResponseDto](doc//AssetResponseDto.md)
|
||||||
- [AssetStackResponseDto](doc//AssetStackResponseDto.md)
|
- [AssetStackResponseDto](doc//AssetStackResponseDto.md)
|
||||||
- [AssetStatsResponseDto](doc//AssetStatsResponseDto.md)
|
- [AssetStatsResponseDto](doc//AssetStatsResponseDto.md)
|
||||||
- [AssetTypeEnum](doc//AssetTypeEnum.md)
|
- [AssetTypeEnum](doc//AssetTypeEnum.md)
|
||||||
|
- [AssetUploadAction](doc//AssetUploadAction.md)
|
||||||
- [AssetVisibility](doc//AssetVisibility.md)
|
- [AssetVisibility](doc//AssetVisibility.md)
|
||||||
- [AudioCodec](doc//AudioCodec.md)
|
- [AudioCodec](doc//AudioCodec.md)
|
||||||
- [AuthStatusResponseDto](doc//AuthStatusResponseDto.md)
|
- [AuthStatusResponseDto](doc//AuthStatusResponseDto.md)
|
||||||
|
|
@ -440,7 +443,6 @@ Class | Method | HTTP request | Description
|
||||||
- [LibraryResponseDto](doc//LibraryResponseDto.md)
|
- [LibraryResponseDto](doc//LibraryResponseDto.md)
|
||||||
- [LibraryStatsResponseDto](doc//LibraryStatsResponseDto.md)
|
- [LibraryStatsResponseDto](doc//LibraryStatsResponseDto.md)
|
||||||
- [LicenseKeyDto](doc//LicenseKeyDto.md)
|
- [LicenseKeyDto](doc//LicenseKeyDto.md)
|
||||||
- [LicenseResponseDto](doc//LicenseResponseDto.md)
|
|
||||||
- [LogLevel](doc//LogLevel.md)
|
- [LogLevel](doc//LogLevel.md)
|
||||||
- [LoginCredentialDto](doc//LoginCredentialDto.md)
|
- [LoginCredentialDto](doc//LoginCredentialDto.md)
|
||||||
- [LoginResponseDto](doc//LoginResponseDto.md)
|
- [LoginResponseDto](doc//LoginResponseDto.md)
|
||||||
|
|
@ -504,6 +506,10 @@ Class | Method | HTTP request | Description
|
||||||
- [PluginActionResponseDto](doc//PluginActionResponseDto.md)
|
- [PluginActionResponseDto](doc//PluginActionResponseDto.md)
|
||||||
- [PluginContextType](doc//PluginContextType.md)
|
- [PluginContextType](doc//PluginContextType.md)
|
||||||
- [PluginFilterResponseDto](doc//PluginFilterResponseDto.md)
|
- [PluginFilterResponseDto](doc//PluginFilterResponseDto.md)
|
||||||
|
- [PluginJsonSchema](doc//PluginJsonSchema.md)
|
||||||
|
- [PluginJsonSchemaProperty](doc//PluginJsonSchemaProperty.md)
|
||||||
|
- [PluginJsonSchemaPropertyAdditionalProperties](doc//PluginJsonSchemaPropertyAdditionalProperties.md)
|
||||||
|
- [PluginJsonSchemaType](doc//PluginJsonSchemaType.md)
|
||||||
- [PluginResponseDto](doc//PluginResponseDto.md)
|
- [PluginResponseDto](doc//PluginResponseDto.md)
|
||||||
- [PluginTriggerResponseDto](doc//PluginTriggerResponseDto.md)
|
- [PluginTriggerResponseDto](doc//PluginTriggerResponseDto.md)
|
||||||
- [PluginTriggerType](doc//PluginTriggerType.md)
|
- [PluginTriggerType](doc//PluginTriggerType.md)
|
||||||
|
|
|
||||||
8
mobile/openapi/lib/api.dart
generated
8
mobile/openapi/lib/api.dart
generated
|
|
@ -109,6 +109,7 @@ part 'model/asset_face_update_dto.dart';
|
||||||
part 'model/asset_face_update_item.dart';
|
part 'model/asset_face_update_item.dart';
|
||||||
part 'model/asset_face_without_person_response_dto.dart';
|
part 'model/asset_face_without_person_response_dto.dart';
|
||||||
part 'model/asset_full_sync_dto.dart';
|
part 'model/asset_full_sync_dto.dart';
|
||||||
|
part 'model/asset_id_error_reason.dart';
|
||||||
part 'model/asset_ids_dto.dart';
|
part 'model/asset_ids_dto.dart';
|
||||||
part 'model/asset_ids_response_dto.dart';
|
part 'model/asset_ids_response_dto.dart';
|
||||||
part 'model/asset_job_name.dart';
|
part 'model/asset_job_name.dart';
|
||||||
|
|
@ -126,10 +127,12 @@ part 'model/asset_metadata_upsert_dto.dart';
|
||||||
part 'model/asset_metadata_upsert_item_dto.dart';
|
part 'model/asset_metadata_upsert_item_dto.dart';
|
||||||
part 'model/asset_ocr_response_dto.dart';
|
part 'model/asset_ocr_response_dto.dart';
|
||||||
part 'model/asset_order.dart';
|
part 'model/asset_order.dart';
|
||||||
|
part 'model/asset_reject_reason.dart';
|
||||||
part 'model/asset_response_dto.dart';
|
part 'model/asset_response_dto.dart';
|
||||||
part 'model/asset_stack_response_dto.dart';
|
part 'model/asset_stack_response_dto.dart';
|
||||||
part 'model/asset_stats_response_dto.dart';
|
part 'model/asset_stats_response_dto.dart';
|
||||||
part 'model/asset_type_enum.dart';
|
part 'model/asset_type_enum.dart';
|
||||||
|
part 'model/asset_upload_action.dart';
|
||||||
part 'model/asset_visibility.dart';
|
part 'model/asset_visibility.dart';
|
||||||
part 'model/audio_codec.dart';
|
part 'model/audio_codec.dart';
|
||||||
part 'model/auth_status_response_dto.dart';
|
part 'model/auth_status_response_dto.dart';
|
||||||
|
|
@ -178,7 +181,6 @@ part 'model/job_settings_dto.dart';
|
||||||
part 'model/library_response_dto.dart';
|
part 'model/library_response_dto.dart';
|
||||||
part 'model/library_stats_response_dto.dart';
|
part 'model/library_stats_response_dto.dart';
|
||||||
part 'model/license_key_dto.dart';
|
part 'model/license_key_dto.dart';
|
||||||
part 'model/license_response_dto.dart';
|
|
||||||
part 'model/log_level.dart';
|
part 'model/log_level.dart';
|
||||||
part 'model/login_credential_dto.dart';
|
part 'model/login_credential_dto.dart';
|
||||||
part 'model/login_response_dto.dart';
|
part 'model/login_response_dto.dart';
|
||||||
|
|
@ -242,6 +244,10 @@ part 'model/places_response_dto.dart';
|
||||||
part 'model/plugin_action_response_dto.dart';
|
part 'model/plugin_action_response_dto.dart';
|
||||||
part 'model/plugin_context_type.dart';
|
part 'model/plugin_context_type.dart';
|
||||||
part 'model/plugin_filter_response_dto.dart';
|
part 'model/plugin_filter_response_dto.dart';
|
||||||
|
part 'model/plugin_json_schema.dart';
|
||||||
|
part 'model/plugin_json_schema_property.dart';
|
||||||
|
part 'model/plugin_json_schema_property_additional_properties.dart';
|
||||||
|
part 'model/plugin_json_schema_type.dart';
|
||||||
part 'model/plugin_response_dto.dart';
|
part 'model/plugin_response_dto.dart';
|
||||||
part 'model/plugin_trigger_response_dto.dart';
|
part 'model/plugin_trigger_response_dto.dart';
|
||||||
part 'model/plugin_trigger_type.dart';
|
part 'model/plugin_trigger_type.dart';
|
||||||
|
|
|
||||||
4
mobile/openapi/lib/api/activities_api.dart
generated
4
mobile/openapi/lib/api/activities_api.dart
generated
|
|
@ -136,10 +136,8 @@ class ActivitiesApi {
|
||||||
/// Asset ID (if activity is for an asset)
|
/// Asset ID (if activity is for an asset)
|
||||||
///
|
///
|
||||||
/// * [ReactionLevel] level:
|
/// * [ReactionLevel] level:
|
||||||
/// Filter by activity level
|
|
||||||
///
|
///
|
||||||
/// * [ReactionType] type:
|
/// * [ReactionType] type:
|
||||||
/// Filter by activity type
|
|
||||||
///
|
///
|
||||||
/// * [String] userId:
|
/// * [String] userId:
|
||||||
/// Filter by user ID
|
/// Filter by user ID
|
||||||
|
|
@ -195,10 +193,8 @@ class ActivitiesApi {
|
||||||
/// Asset ID (if activity is for an asset)
|
/// Asset ID (if activity is for an asset)
|
||||||
///
|
///
|
||||||
/// * [ReactionLevel] level:
|
/// * [ReactionLevel] level:
|
||||||
/// Filter by activity level
|
|
||||||
///
|
///
|
||||||
/// * [ReactionType] type:
|
/// * [ReactionType] type:
|
||||||
/// Filter by activity type
|
|
||||||
///
|
///
|
||||||
/// * [String] userId:
|
/// * [String] userId:
|
||||||
/// Filter by user ID
|
/// Filter by user ID
|
||||||
|
|
|
||||||
6
mobile/openapi/lib/api/assets_api.dart
generated
6
mobile/openapi/lib/api/assets_api.dart
generated
|
|
@ -864,7 +864,6 @@ class AssetsApi {
|
||||||
/// Filter by trash status
|
/// Filter by trash status
|
||||||
///
|
///
|
||||||
/// * [AssetVisibility] visibility:
|
/// * [AssetVisibility] visibility:
|
||||||
/// Filter by visibility
|
|
||||||
Future<Response> getAssetStatisticsWithHttpInfo({ bool? isFavorite, bool? isTrashed, AssetVisibility? visibility, }) async {
|
Future<Response> getAssetStatisticsWithHttpInfo({ bool? isFavorite, bool? isTrashed, AssetVisibility? visibility, }) async {
|
||||||
// ignore: prefer_const_declarations
|
// ignore: prefer_const_declarations
|
||||||
final apiPath = r'/assets/statistics';
|
final apiPath = r'/assets/statistics';
|
||||||
|
|
@ -913,7 +912,6 @@ class AssetsApi {
|
||||||
/// Filter by trash status
|
/// Filter by trash status
|
||||||
///
|
///
|
||||||
/// * [AssetVisibility] visibility:
|
/// * [AssetVisibility] visibility:
|
||||||
/// Filter by visibility
|
|
||||||
Future<AssetStatsResponseDto?> getAssetStatistics({ bool? isFavorite, bool? isTrashed, AssetVisibility? visibility, }) async {
|
Future<AssetStatsResponseDto?> getAssetStatistics({ bool? isFavorite, bool? isTrashed, AssetVisibility? visibility, }) async {
|
||||||
final response = await getAssetStatisticsWithHttpInfo( isFavorite: isFavorite, isTrashed: isTrashed, visibility: visibility, );
|
final response = await getAssetStatisticsWithHttpInfo( isFavorite: isFavorite, isTrashed: isTrashed, visibility: visibility, );
|
||||||
if (response.statusCode >= HttpStatus.badRequest) {
|
if (response.statusCode >= HttpStatus.badRequest) {
|
||||||
|
|
@ -1592,7 +1590,6 @@ class AssetsApi {
|
||||||
/// Sidecar file data
|
/// Sidecar file data
|
||||||
///
|
///
|
||||||
/// * [AssetVisibility] visibility:
|
/// * [AssetVisibility] visibility:
|
||||||
/// Asset visibility
|
|
||||||
Future<Response> uploadAssetWithHttpInfo(MultipartFile assetData, String deviceAssetId, String deviceId, DateTime fileCreatedAt, DateTime fileModifiedAt, { String? key, String? slug, String? xImmichChecksum, String? duration, String? filename, bool? isFavorite, String? livePhotoVideoId, List<AssetMetadataUpsertItemDto>? metadata, MultipartFile? sidecarData, AssetVisibility? visibility, }) async {
|
Future<Response> uploadAssetWithHttpInfo(MultipartFile assetData, String deviceAssetId, String deviceId, DateTime fileCreatedAt, DateTime fileModifiedAt, { String? key, String? slug, String? xImmichChecksum, String? duration, String? filename, bool? isFavorite, String? livePhotoVideoId, List<AssetMetadataUpsertItemDto>? metadata, MultipartFile? sidecarData, AssetVisibility? visibility, }) async {
|
||||||
// ignore: prefer_const_declarations
|
// ignore: prefer_const_declarations
|
||||||
final apiPath = r'/assets';
|
final apiPath = r'/assets';
|
||||||
|
|
@ -1731,7 +1728,6 @@ class AssetsApi {
|
||||||
/// Sidecar file data
|
/// Sidecar file data
|
||||||
///
|
///
|
||||||
/// * [AssetVisibility] visibility:
|
/// * [AssetVisibility] visibility:
|
||||||
/// Asset visibility
|
|
||||||
Future<AssetMediaResponseDto?> uploadAsset(MultipartFile assetData, String deviceAssetId, String deviceId, DateTime fileCreatedAt, DateTime fileModifiedAt, { String? key, String? slug, String? xImmichChecksum, String? duration, String? filename, bool? isFavorite, String? livePhotoVideoId, List<AssetMetadataUpsertItemDto>? metadata, MultipartFile? sidecarData, AssetVisibility? visibility, }) async {
|
Future<AssetMediaResponseDto?> uploadAsset(MultipartFile assetData, String deviceAssetId, String deviceId, DateTime fileCreatedAt, DateTime fileModifiedAt, { String? key, String? slug, String? xImmichChecksum, String? duration, String? filename, bool? isFavorite, String? livePhotoVideoId, List<AssetMetadataUpsertItemDto>? metadata, MultipartFile? sidecarData, AssetVisibility? visibility, }) async {
|
||||||
final response = await uploadAssetWithHttpInfo(assetData, deviceAssetId, deviceId, fileCreatedAt, fileModifiedAt, key: key, slug: slug, xImmichChecksum: xImmichChecksum, duration: duration, filename: filename, isFavorite: isFavorite, livePhotoVideoId: livePhotoVideoId, metadata: metadata, sidecarData: sidecarData, visibility: visibility, );
|
final response = await uploadAssetWithHttpInfo(assetData, deviceAssetId, deviceId, fileCreatedAt, fileModifiedAt, key: key, slug: slug, xImmichChecksum: xImmichChecksum, duration: duration, filename: filename, isFavorite: isFavorite, livePhotoVideoId: livePhotoVideoId, metadata: metadata, sidecarData: sidecarData, visibility: visibility, );
|
||||||
if (response.statusCode >= HttpStatus.badRequest) {
|
if (response.statusCode >= HttpStatus.badRequest) {
|
||||||
|
|
@ -1763,7 +1759,6 @@ class AssetsApi {
|
||||||
/// * [String] key:
|
/// * [String] key:
|
||||||
///
|
///
|
||||||
/// * [AssetMediaSize] size:
|
/// * [AssetMediaSize] size:
|
||||||
/// Asset media size
|
|
||||||
///
|
///
|
||||||
/// * [String] slug:
|
/// * [String] slug:
|
||||||
Future<Response> viewAssetWithHttpInfo(String id, { bool? edited, String? key, AssetMediaSize? size, String? slug, }) async {
|
Future<Response> viewAssetWithHttpInfo(String id, { bool? edited, String? key, AssetMediaSize? size, String? slug, }) async {
|
||||||
|
|
@ -1819,7 +1814,6 @@ class AssetsApi {
|
||||||
/// * [String] key:
|
/// * [String] key:
|
||||||
///
|
///
|
||||||
/// * [AssetMediaSize] size:
|
/// * [AssetMediaSize] size:
|
||||||
/// Asset media size
|
|
||||||
///
|
///
|
||||||
/// * [String] slug:
|
/// * [String] slug:
|
||||||
Future<MultipartFile?> viewAsset(String id, { bool? edited, String? key, AssetMediaSize? size, String? slug, }) async {
|
Future<MultipartFile?> viewAsset(String id, { bool? edited, String? key, AssetMediaSize? size, String? slug, }) async {
|
||||||
|
|
|
||||||
|
|
@ -218,6 +218,7 @@ class DatabaseBackupsAdminApi {
|
||||||
/// Parameters:
|
/// Parameters:
|
||||||
///
|
///
|
||||||
/// * [MultipartFile] file:
|
/// * [MultipartFile] file:
|
||||||
|
/// Database backup file
|
||||||
Future<Response> uploadDatabaseBackupWithHttpInfo({ MultipartFile? file, }) async {
|
Future<Response> uploadDatabaseBackupWithHttpInfo({ MultipartFile? file, }) async {
|
||||||
// ignore: prefer_const_declarations
|
// ignore: prefer_const_declarations
|
||||||
final apiPath = r'/admin/database-backups/upload';
|
final apiPath = r'/admin/database-backups/upload';
|
||||||
|
|
@ -260,6 +261,7 @@ class DatabaseBackupsAdminApi {
|
||||||
/// Parameters:
|
/// Parameters:
|
||||||
///
|
///
|
||||||
/// * [MultipartFile] file:
|
/// * [MultipartFile] file:
|
||||||
|
/// Database backup file
|
||||||
Future<void> uploadDatabaseBackup({ MultipartFile? file, }) async {
|
Future<void> uploadDatabaseBackup({ MultipartFile? file, }) async {
|
||||||
final response = await uploadDatabaseBackupWithHttpInfo( file: file, );
|
final response = await uploadDatabaseBackupWithHttpInfo( file: file, );
|
||||||
if (response.statusCode >= HttpStatus.badRequest) {
|
if (response.statusCode >= HttpStatus.badRequest) {
|
||||||
|
|
|
||||||
2
mobile/openapi/lib/api/deprecated_api.dart
generated
2
mobile/openapi/lib/api/deprecated_api.dart
generated
|
|
@ -520,7 +520,6 @@ class DeprecatedApi {
|
||||||
/// Parameters:
|
/// Parameters:
|
||||||
///
|
///
|
||||||
/// * [QueueName] name (required):
|
/// * [QueueName] name (required):
|
||||||
/// Queue name
|
|
||||||
///
|
///
|
||||||
/// * [QueueCommandDto] queueCommandDto (required):
|
/// * [QueueCommandDto] queueCommandDto (required):
|
||||||
Future<Response> runQueueCommandLegacyWithHttpInfo(QueueName name, QueueCommandDto queueCommandDto,) async {
|
Future<Response> runQueueCommandLegacyWithHttpInfo(QueueName name, QueueCommandDto queueCommandDto,) async {
|
||||||
|
|
@ -556,7 +555,6 @@ class DeprecatedApi {
|
||||||
/// Parameters:
|
/// Parameters:
|
||||||
///
|
///
|
||||||
/// * [QueueName] name (required):
|
/// * [QueueName] name (required):
|
||||||
/// Queue name
|
|
||||||
///
|
///
|
||||||
/// * [QueueCommandDto] queueCommandDto (required):
|
/// * [QueueCommandDto] queueCommandDto (required):
|
||||||
Future<QueueResponseLegacyDto?> runQueueCommandLegacy(QueueName name, QueueCommandDto queueCommandDto,) async {
|
Future<QueueResponseLegacyDto?> runQueueCommandLegacy(QueueName name, QueueCommandDto queueCommandDto,) async {
|
||||||
|
|
|
||||||
2
mobile/openapi/lib/api/jobs_api.dart
generated
2
mobile/openapi/lib/api/jobs_api.dart
generated
|
|
@ -121,7 +121,6 @@ class JobsApi {
|
||||||
/// Parameters:
|
/// Parameters:
|
||||||
///
|
///
|
||||||
/// * [QueueName] name (required):
|
/// * [QueueName] name (required):
|
||||||
/// Queue name
|
|
||||||
///
|
///
|
||||||
/// * [QueueCommandDto] queueCommandDto (required):
|
/// * [QueueCommandDto] queueCommandDto (required):
|
||||||
Future<Response> runQueueCommandLegacyWithHttpInfo(QueueName name, QueueCommandDto queueCommandDto,) async {
|
Future<Response> runQueueCommandLegacyWithHttpInfo(QueueName name, QueueCommandDto queueCommandDto,) async {
|
||||||
|
|
@ -157,7 +156,6 @@ class JobsApi {
|
||||||
/// Parameters:
|
/// Parameters:
|
||||||
///
|
///
|
||||||
/// * [QueueName] name (required):
|
/// * [QueueName] name (required):
|
||||||
/// Queue name
|
|
||||||
///
|
///
|
||||||
/// * [QueueCommandDto] queueCommandDto (required):
|
/// * [QueueCommandDto] queueCommandDto (required):
|
||||||
Future<QueueResponseLegacyDto?> runQueueCommandLegacy(QueueName name, QueueCommandDto queueCommandDto,) async {
|
Future<QueueResponseLegacyDto?> runQueueCommandLegacy(QueueName name, QueueCommandDto queueCommandDto,) async {
|
||||||
|
|
|
||||||
8
mobile/openapi/lib/api/memories_api.dart
generated
8
mobile/openapi/lib/api/memories_api.dart
generated
|
|
@ -260,13 +260,11 @@ class MemoriesApi {
|
||||||
/// Include trashed memories
|
/// Include trashed memories
|
||||||
///
|
///
|
||||||
/// * [MemorySearchOrder] order:
|
/// * [MemorySearchOrder] order:
|
||||||
/// Sort order
|
|
||||||
///
|
///
|
||||||
/// * [int] size:
|
/// * [int] size:
|
||||||
/// Number of memories to return
|
/// Number of memories to return
|
||||||
///
|
///
|
||||||
/// * [MemoryType] type:
|
/// * [MemoryType] type:
|
||||||
/// Memory type
|
|
||||||
Future<Response> memoriesStatisticsWithHttpInfo({ DateTime? for_, bool? isSaved, bool? isTrashed, MemorySearchOrder? order, int? size, MemoryType? type, }) async {
|
Future<Response> memoriesStatisticsWithHttpInfo({ DateTime? for_, bool? isSaved, bool? isTrashed, MemorySearchOrder? order, int? size, MemoryType? type, }) async {
|
||||||
// ignore: prefer_const_declarations
|
// ignore: prefer_const_declarations
|
||||||
final apiPath = r'/memories/statistics';
|
final apiPath = r'/memories/statistics';
|
||||||
|
|
@ -327,13 +325,11 @@ class MemoriesApi {
|
||||||
/// Include trashed memories
|
/// Include trashed memories
|
||||||
///
|
///
|
||||||
/// * [MemorySearchOrder] order:
|
/// * [MemorySearchOrder] order:
|
||||||
/// Sort order
|
|
||||||
///
|
///
|
||||||
/// * [int] size:
|
/// * [int] size:
|
||||||
/// Number of memories to return
|
/// Number of memories to return
|
||||||
///
|
///
|
||||||
/// * [MemoryType] type:
|
/// * [MemoryType] type:
|
||||||
/// Memory type
|
|
||||||
Future<MemoryStatisticsResponseDto?> memoriesStatistics({ DateTime? for_, bool? isSaved, bool? isTrashed, MemorySearchOrder? order, int? size, MemoryType? type, }) async {
|
Future<MemoryStatisticsResponseDto?> memoriesStatistics({ DateTime? for_, bool? isSaved, bool? isTrashed, MemorySearchOrder? order, int? size, MemoryType? type, }) async {
|
||||||
final response = await memoriesStatisticsWithHttpInfo( for_: for_, isSaved: isSaved, isTrashed: isTrashed, order: order, size: size, type: type, );
|
final response = await memoriesStatisticsWithHttpInfo( for_: for_, isSaved: isSaved, isTrashed: isTrashed, order: order, size: size, type: type, );
|
||||||
if (response.statusCode >= HttpStatus.badRequest) {
|
if (response.statusCode >= HttpStatus.badRequest) {
|
||||||
|
|
@ -431,13 +427,11 @@ class MemoriesApi {
|
||||||
/// Include trashed memories
|
/// Include trashed memories
|
||||||
///
|
///
|
||||||
/// * [MemorySearchOrder] order:
|
/// * [MemorySearchOrder] order:
|
||||||
/// Sort order
|
|
||||||
///
|
///
|
||||||
/// * [int] size:
|
/// * [int] size:
|
||||||
/// Number of memories to return
|
/// Number of memories to return
|
||||||
///
|
///
|
||||||
/// * [MemoryType] type:
|
/// * [MemoryType] type:
|
||||||
/// Memory type
|
|
||||||
Future<Response> searchMemoriesWithHttpInfo({ DateTime? for_, bool? isSaved, bool? isTrashed, MemorySearchOrder? order, int? size, MemoryType? type, }) async {
|
Future<Response> searchMemoriesWithHttpInfo({ DateTime? for_, bool? isSaved, bool? isTrashed, MemorySearchOrder? order, int? size, MemoryType? type, }) async {
|
||||||
// ignore: prefer_const_declarations
|
// ignore: prefer_const_declarations
|
||||||
final apiPath = r'/memories';
|
final apiPath = r'/memories';
|
||||||
|
|
@ -498,13 +492,11 @@ class MemoriesApi {
|
||||||
/// Include trashed memories
|
/// Include trashed memories
|
||||||
///
|
///
|
||||||
/// * [MemorySearchOrder] order:
|
/// * [MemorySearchOrder] order:
|
||||||
/// Sort order
|
|
||||||
///
|
///
|
||||||
/// * [int] size:
|
/// * [int] size:
|
||||||
/// Number of memories to return
|
/// Number of memories to return
|
||||||
///
|
///
|
||||||
/// * [MemoryType] type:
|
/// * [MemoryType] type:
|
||||||
/// Memory type
|
|
||||||
Future<List<MemoryResponseDto>?> searchMemories({ DateTime? for_, bool? isSaved, bool? isTrashed, MemorySearchOrder? order, int? size, MemoryType? type, }) async {
|
Future<List<MemoryResponseDto>?> searchMemories({ DateTime? for_, bool? isSaved, bool? isTrashed, MemorySearchOrder? order, int? size, MemoryType? type, }) async {
|
||||||
final response = await searchMemoriesWithHttpInfo( for_: for_, isSaved: isSaved, isTrashed: isTrashed, order: order, size: size, type: type, );
|
final response = await searchMemoriesWithHttpInfo( for_: for_, isSaved: isSaved, isTrashed: isTrashed, order: order, size: size, type: type, );
|
||||||
if (response.statusCode >= HttpStatus.badRequest) {
|
if (response.statusCode >= HttpStatus.badRequest) {
|
||||||
|
|
|
||||||
4
mobile/openapi/lib/api/notifications_api.dart
generated
4
mobile/openapi/lib/api/notifications_api.dart
generated
|
|
@ -182,10 +182,8 @@ class NotificationsApi {
|
||||||
/// Filter by notification ID
|
/// Filter by notification ID
|
||||||
///
|
///
|
||||||
/// * [NotificationLevel] level:
|
/// * [NotificationLevel] level:
|
||||||
/// Filter by notification level
|
|
||||||
///
|
///
|
||||||
/// * [NotificationType] type:
|
/// * [NotificationType] type:
|
||||||
/// Filter by notification type
|
|
||||||
///
|
///
|
||||||
/// * [bool] unread:
|
/// * [bool] unread:
|
||||||
/// Filter by unread status
|
/// Filter by unread status
|
||||||
|
|
@ -237,10 +235,8 @@ class NotificationsApi {
|
||||||
/// Filter by notification ID
|
/// Filter by notification ID
|
||||||
///
|
///
|
||||||
/// * [NotificationLevel] level:
|
/// * [NotificationLevel] level:
|
||||||
/// Filter by notification level
|
|
||||||
///
|
///
|
||||||
/// * [NotificationType] type:
|
/// * [NotificationType] type:
|
||||||
/// Filter by notification type
|
|
||||||
///
|
///
|
||||||
/// * [bool] unread:
|
/// * [bool] unread:
|
||||||
/// Filter by unread status
|
/// Filter by unread status
|
||||||
|
|
|
||||||
2
mobile/openapi/lib/api/partners_api.dart
generated
2
mobile/openapi/lib/api/partners_api.dart
generated
|
|
@ -138,7 +138,6 @@ class PartnersApi {
|
||||||
/// Parameters:
|
/// Parameters:
|
||||||
///
|
///
|
||||||
/// * [PartnerDirection] direction (required):
|
/// * [PartnerDirection] direction (required):
|
||||||
/// Partner direction
|
|
||||||
Future<Response> getPartnersWithHttpInfo(PartnerDirection direction,) async {
|
Future<Response> getPartnersWithHttpInfo(PartnerDirection direction,) async {
|
||||||
// ignore: prefer_const_declarations
|
// ignore: prefer_const_declarations
|
||||||
final apiPath = r'/partners';
|
final apiPath = r'/partners';
|
||||||
|
|
@ -173,7 +172,6 @@ class PartnersApi {
|
||||||
/// Parameters:
|
/// Parameters:
|
||||||
///
|
///
|
||||||
/// * [PartnerDirection] direction (required):
|
/// * [PartnerDirection] direction (required):
|
||||||
/// Partner direction
|
|
||||||
Future<List<PartnerResponseDto>?> getPartners(PartnerDirection direction,) async {
|
Future<List<PartnerResponseDto>?> getPartners(PartnerDirection direction,) async {
|
||||||
final response = await getPartnersWithHttpInfo(direction,);
|
final response = await getPartnersWithHttpInfo(direction,);
|
||||||
if (response.statusCode >= HttpStatus.badRequest) {
|
if (response.statusCode >= HttpStatus.badRequest) {
|
||||||
|
|
|
||||||
8
mobile/openapi/lib/api/queues_api.dart
generated
8
mobile/openapi/lib/api/queues_api.dart
generated
|
|
@ -25,7 +25,6 @@ class QueuesApi {
|
||||||
/// Parameters:
|
/// Parameters:
|
||||||
///
|
///
|
||||||
/// * [QueueName] name (required):
|
/// * [QueueName] name (required):
|
||||||
/// Queue name
|
|
||||||
///
|
///
|
||||||
/// * [QueueDeleteDto] queueDeleteDto (required):
|
/// * [QueueDeleteDto] queueDeleteDto (required):
|
||||||
Future<Response> emptyQueueWithHttpInfo(QueueName name, QueueDeleteDto queueDeleteDto,) async {
|
Future<Response> emptyQueueWithHttpInfo(QueueName name, QueueDeleteDto queueDeleteDto,) async {
|
||||||
|
|
@ -61,7 +60,6 @@ class QueuesApi {
|
||||||
/// Parameters:
|
/// Parameters:
|
||||||
///
|
///
|
||||||
/// * [QueueName] name (required):
|
/// * [QueueName] name (required):
|
||||||
/// Queue name
|
|
||||||
///
|
///
|
||||||
/// * [QueueDeleteDto] queueDeleteDto (required):
|
/// * [QueueDeleteDto] queueDeleteDto (required):
|
||||||
Future<void> emptyQueue(QueueName name, QueueDeleteDto queueDeleteDto,) async {
|
Future<void> emptyQueue(QueueName name, QueueDeleteDto queueDeleteDto,) async {
|
||||||
|
|
@ -80,7 +78,6 @@ class QueuesApi {
|
||||||
/// Parameters:
|
/// Parameters:
|
||||||
///
|
///
|
||||||
/// * [QueueName] name (required):
|
/// * [QueueName] name (required):
|
||||||
/// Queue name
|
|
||||||
Future<Response> getQueueWithHttpInfo(QueueName name,) async {
|
Future<Response> getQueueWithHttpInfo(QueueName name,) async {
|
||||||
// ignore: prefer_const_declarations
|
// ignore: prefer_const_declarations
|
||||||
final apiPath = r'/queues/{name}'
|
final apiPath = r'/queues/{name}'
|
||||||
|
|
@ -114,7 +111,6 @@ class QueuesApi {
|
||||||
/// Parameters:
|
/// Parameters:
|
||||||
///
|
///
|
||||||
/// * [QueueName] name (required):
|
/// * [QueueName] name (required):
|
||||||
/// Queue name
|
|
||||||
Future<QueueResponseDto?> getQueue(QueueName name,) async {
|
Future<QueueResponseDto?> getQueue(QueueName name,) async {
|
||||||
final response = await getQueueWithHttpInfo(name,);
|
final response = await getQueueWithHttpInfo(name,);
|
||||||
if (response.statusCode >= HttpStatus.badRequest) {
|
if (response.statusCode >= HttpStatus.badRequest) {
|
||||||
|
|
@ -139,7 +135,6 @@ class QueuesApi {
|
||||||
/// Parameters:
|
/// Parameters:
|
||||||
///
|
///
|
||||||
/// * [QueueName] name (required):
|
/// * [QueueName] name (required):
|
||||||
/// Queue name
|
|
||||||
///
|
///
|
||||||
/// * [List<QueueJobStatus>] status:
|
/// * [List<QueueJobStatus>] status:
|
||||||
/// Filter jobs by status
|
/// Filter jobs by status
|
||||||
|
|
@ -180,7 +175,6 @@ class QueuesApi {
|
||||||
/// Parameters:
|
/// Parameters:
|
||||||
///
|
///
|
||||||
/// * [QueueName] name (required):
|
/// * [QueueName] name (required):
|
||||||
/// Queue name
|
|
||||||
///
|
///
|
||||||
/// * [List<QueueJobStatus>] status:
|
/// * [List<QueueJobStatus>] status:
|
||||||
/// Filter jobs by status
|
/// Filter jobs by status
|
||||||
|
|
@ -262,7 +256,6 @@ class QueuesApi {
|
||||||
/// Parameters:
|
/// Parameters:
|
||||||
///
|
///
|
||||||
/// * [QueueName] name (required):
|
/// * [QueueName] name (required):
|
||||||
/// Queue name
|
|
||||||
///
|
///
|
||||||
/// * [QueueUpdateDto] queueUpdateDto (required):
|
/// * [QueueUpdateDto] queueUpdateDto (required):
|
||||||
Future<Response> updateQueueWithHttpInfo(QueueName name, QueueUpdateDto queueUpdateDto,) async {
|
Future<Response> updateQueueWithHttpInfo(QueueName name, QueueUpdateDto queueUpdateDto,) async {
|
||||||
|
|
@ -298,7 +291,6 @@ class QueuesApi {
|
||||||
/// Parameters:
|
/// Parameters:
|
||||||
///
|
///
|
||||||
/// * [QueueName] name (required):
|
/// * [QueueName] name (required):
|
||||||
/// Queue name
|
|
||||||
///
|
///
|
||||||
/// * [QueueUpdateDto] queueUpdateDto (required):
|
/// * [QueueUpdateDto] queueUpdateDto (required):
|
||||||
Future<QueueResponseDto?> updateQueue(QueueName name, QueueUpdateDto queueUpdateDto,) async {
|
Future<QueueResponseDto?> updateQueue(QueueName name, QueueUpdateDto queueUpdateDto,) async {
|
||||||
|
|
|
||||||
6
mobile/openapi/lib/api/search_api.dart
generated
6
mobile/openapi/lib/api/search_api.dart
generated
|
|
@ -127,7 +127,6 @@ class SearchApi {
|
||||||
/// Parameters:
|
/// Parameters:
|
||||||
///
|
///
|
||||||
/// * [SearchSuggestionType] type (required):
|
/// * [SearchSuggestionType] type (required):
|
||||||
/// Suggestion type
|
|
||||||
///
|
///
|
||||||
/// * [String] country:
|
/// * [String] country:
|
||||||
/// Filter by country
|
/// Filter by country
|
||||||
|
|
@ -198,7 +197,6 @@ class SearchApi {
|
||||||
/// Parameters:
|
/// Parameters:
|
||||||
///
|
///
|
||||||
/// * [SearchSuggestionType] type (required):
|
/// * [SearchSuggestionType] type (required):
|
||||||
/// Suggestion type
|
|
||||||
///
|
///
|
||||||
/// * [String] country:
|
/// * [String] country:
|
||||||
/// Filter by country
|
/// Filter by country
|
||||||
|
|
@ -434,7 +432,6 @@ class SearchApi {
|
||||||
/// Filter by trash date (before)
|
/// Filter by trash date (before)
|
||||||
///
|
///
|
||||||
/// * [AssetTypeEnum] type:
|
/// * [AssetTypeEnum] type:
|
||||||
/// Asset type filter
|
|
||||||
///
|
///
|
||||||
/// * [DateTime] updatedAfter:
|
/// * [DateTime] updatedAfter:
|
||||||
/// Filter by update date (after)
|
/// Filter by update date (after)
|
||||||
|
|
@ -443,7 +440,6 @@ class SearchApi {
|
||||||
/// Filter by update date (before)
|
/// Filter by update date (before)
|
||||||
///
|
///
|
||||||
/// * [AssetVisibility] visibility:
|
/// * [AssetVisibility] visibility:
|
||||||
/// Filter by visibility
|
|
||||||
///
|
///
|
||||||
/// * [bool] withDeleted:
|
/// * [bool] withDeleted:
|
||||||
/// Include deleted assets
|
/// Include deleted assets
|
||||||
|
|
@ -657,7 +653,6 @@ class SearchApi {
|
||||||
/// Filter by trash date (before)
|
/// Filter by trash date (before)
|
||||||
///
|
///
|
||||||
/// * [AssetTypeEnum] type:
|
/// * [AssetTypeEnum] type:
|
||||||
/// Asset type filter
|
|
||||||
///
|
///
|
||||||
/// * [DateTime] updatedAfter:
|
/// * [DateTime] updatedAfter:
|
||||||
/// Filter by update date (after)
|
/// Filter by update date (after)
|
||||||
|
|
@ -666,7 +661,6 @@ class SearchApi {
|
||||||
/// Filter by update date (before)
|
/// Filter by update date (before)
|
||||||
///
|
///
|
||||||
/// * [AssetVisibility] visibility:
|
/// * [AssetVisibility] visibility:
|
||||||
/// Filter by visibility
|
|
||||||
///
|
///
|
||||||
/// * [bool] withDeleted:
|
/// * [bool] withDeleted:
|
||||||
/// Include deleted assets
|
/// Include deleted assets
|
||||||
|
|
|
||||||
8
mobile/openapi/lib/api/server_api.dart
generated
8
mobile/openapi/lib/api/server_api.dart
generated
|
|
@ -281,7 +281,7 @@ class ServerApi {
|
||||||
/// Get product key
|
/// Get product key
|
||||||
///
|
///
|
||||||
/// Retrieve information about whether the server currently has a product key registered.
|
/// Retrieve information about whether the server currently has a product key registered.
|
||||||
Future<LicenseResponseDto?> getServerLicense() async {
|
Future<UserLicense?> getServerLicense() async {
|
||||||
final response = await getServerLicenseWithHttpInfo();
|
final response = await getServerLicenseWithHttpInfo();
|
||||||
if (response.statusCode >= HttpStatus.badRequest) {
|
if (response.statusCode >= HttpStatus.badRequest) {
|
||||||
throw ApiException(response.statusCode, await _decodeBodyBytes(response));
|
throw ApiException(response.statusCode, await _decodeBodyBytes(response));
|
||||||
|
|
@ -290,7 +290,7 @@ class ServerApi {
|
||||||
// At the time of writing this, `dart:convert` will throw an "Unexpected end of input"
|
// At the time of writing this, `dart:convert` will throw an "Unexpected end of input"
|
||||||
// FormatException when trying to decode an empty string.
|
// FormatException when trying to decode an empty string.
|
||||||
if (response.body.isNotEmpty && response.statusCode != HttpStatus.noContent) {
|
if (response.body.isNotEmpty && response.statusCode != HttpStatus.noContent) {
|
||||||
return await apiClient.deserializeAsync(await _decodeBodyBytes(response), 'LicenseResponseDto',) as LicenseResponseDto;
|
return await apiClient.deserializeAsync(await _decodeBodyBytes(response), 'UserLicense',) as UserLicense;
|
||||||
|
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
|
@ -724,7 +724,7 @@ class ServerApi {
|
||||||
/// Parameters:
|
/// Parameters:
|
||||||
///
|
///
|
||||||
/// * [LicenseKeyDto] licenseKeyDto (required):
|
/// * [LicenseKeyDto] licenseKeyDto (required):
|
||||||
Future<LicenseResponseDto?> setServerLicense(LicenseKeyDto licenseKeyDto,) async {
|
Future<UserLicense?> setServerLicense(LicenseKeyDto licenseKeyDto,) async {
|
||||||
final response = await setServerLicenseWithHttpInfo(licenseKeyDto,);
|
final response = await setServerLicenseWithHttpInfo(licenseKeyDto,);
|
||||||
if (response.statusCode >= HttpStatus.badRequest) {
|
if (response.statusCode >= HttpStatus.badRequest) {
|
||||||
throw ApiException(response.statusCode, await _decodeBodyBytes(response));
|
throw ApiException(response.statusCode, await _decodeBodyBytes(response));
|
||||||
|
|
@ -733,7 +733,7 @@ class ServerApi {
|
||||||
// At the time of writing this, `dart:convert` will throw an "Unexpected end of input"
|
// At the time of writing this, `dart:convert` will throw an "Unexpected end of input"
|
||||||
// FormatException when trying to decode an empty string.
|
// FormatException when trying to decode an empty string.
|
||||||
if (response.body.isNotEmpty && response.statusCode != HttpStatus.noContent) {
|
if (response.body.isNotEmpty && response.statusCode != HttpStatus.noContent) {
|
||||||
return await apiClient.deserializeAsync(await _decodeBodyBytes(response), 'LicenseResponseDto',) as LicenseResponseDto;
|
return await apiClient.deserializeAsync(await _decodeBodyBytes(response), 'UserLicense',) as UserLicense;
|
||||||
|
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
|
|
||||||
4
mobile/openapi/lib/api/timeline_api.dart
generated
4
mobile/openapi/lib/api/timeline_api.dart
generated
|
|
@ -25,7 +25,7 @@ class TimelineApi {
|
||||||
/// Parameters:
|
/// Parameters:
|
||||||
///
|
///
|
||||||
/// * [String] timeBucket (required):
|
/// * [String] timeBucket (required):
|
||||||
/// Time bucket identifier in YYYY-MM-DD format (e.g., \"2024-01-01\" for January 2024)
|
/// Time bucket identifier in YYYY-MM-DD format
|
||||||
///
|
///
|
||||||
/// * [String] albumId:
|
/// * [String] albumId:
|
||||||
/// Filter assets belonging to a specific album
|
/// Filter assets belonging to a specific album
|
||||||
|
|
@ -142,7 +142,7 @@ class TimelineApi {
|
||||||
/// Parameters:
|
/// Parameters:
|
||||||
///
|
///
|
||||||
/// * [String] timeBucket (required):
|
/// * [String] timeBucket (required):
|
||||||
/// Time bucket identifier in YYYY-MM-DD format (e.g., \"2024-01-01\" for January 2024)
|
/// Time bucket identifier in YYYY-MM-DD format
|
||||||
///
|
///
|
||||||
/// * [String] albumId:
|
/// * [String] albumId:
|
||||||
/// Filter assets belonging to a specific album
|
/// Filter assets belonging to a specific album
|
||||||
|
|
|
||||||
2
mobile/openapi/lib/api/users_admin_api.dart
generated
2
mobile/openapi/lib/api/users_admin_api.dart
generated
|
|
@ -324,7 +324,6 @@ class UsersAdminApi {
|
||||||
/// Filter by trash status
|
/// Filter by trash status
|
||||||
///
|
///
|
||||||
/// * [AssetVisibility] visibility:
|
/// * [AssetVisibility] visibility:
|
||||||
/// Filter by visibility
|
|
||||||
Future<Response> getUserStatisticsAdminWithHttpInfo(String id, { bool? isFavorite, bool? isTrashed, AssetVisibility? visibility, }) async {
|
Future<Response> getUserStatisticsAdminWithHttpInfo(String id, { bool? isFavorite, bool? isTrashed, AssetVisibility? visibility, }) async {
|
||||||
// ignore: prefer_const_declarations
|
// ignore: prefer_const_declarations
|
||||||
final apiPath = r'/admin/users/{id}/statistics'
|
final apiPath = r'/admin/users/{id}/statistics'
|
||||||
|
|
@ -376,7 +375,6 @@ class UsersAdminApi {
|
||||||
/// Filter by trash status
|
/// Filter by trash status
|
||||||
///
|
///
|
||||||
/// * [AssetVisibility] visibility:
|
/// * [AssetVisibility] visibility:
|
||||||
/// Filter by visibility
|
|
||||||
Future<AssetStatsResponseDto?> getUserStatisticsAdmin(String id, { bool? isFavorite, bool? isTrashed, AssetVisibility? visibility, }) async {
|
Future<AssetStatsResponseDto?> getUserStatisticsAdmin(String id, { bool? isFavorite, bool? isTrashed, AssetVisibility? visibility, }) async {
|
||||||
final response = await getUserStatisticsAdminWithHttpInfo(id, isFavorite: isFavorite, isTrashed: isTrashed, visibility: visibility, );
|
final response = await getUserStatisticsAdminWithHttpInfo(id, isFavorite: isFavorite, isTrashed: isTrashed, visibility: visibility, );
|
||||||
if (response.statusCode >= HttpStatus.badRequest) {
|
if (response.statusCode >= HttpStatus.badRequest) {
|
||||||
|
|
|
||||||
8
mobile/openapi/lib/api/users_api.dart
generated
8
mobile/openapi/lib/api/users_api.dart
generated
|
|
@ -447,7 +447,7 @@ class UsersApi {
|
||||||
/// Retrieve user product key
|
/// Retrieve user product key
|
||||||
///
|
///
|
||||||
/// Retrieve information about whether the current user has a registered product key.
|
/// Retrieve information about whether the current user has a registered product key.
|
||||||
Future<LicenseResponseDto?> getUserLicense() async {
|
Future<UserLicense?> getUserLicense() async {
|
||||||
final response = await getUserLicenseWithHttpInfo();
|
final response = await getUserLicenseWithHttpInfo();
|
||||||
if (response.statusCode >= HttpStatus.badRequest) {
|
if (response.statusCode >= HttpStatus.badRequest) {
|
||||||
throw ApiException(response.statusCode, await _decodeBodyBytes(response));
|
throw ApiException(response.statusCode, await _decodeBodyBytes(response));
|
||||||
|
|
@ -456,7 +456,7 @@ class UsersApi {
|
||||||
// At the time of writing this, `dart:convert` will throw an "Unexpected end of input"
|
// At the time of writing this, `dart:convert` will throw an "Unexpected end of input"
|
||||||
// FormatException when trying to decode an empty string.
|
// FormatException when trying to decode an empty string.
|
||||||
if (response.body.isNotEmpty && response.statusCode != HttpStatus.noContent) {
|
if (response.body.isNotEmpty && response.statusCode != HttpStatus.noContent) {
|
||||||
return await apiClient.deserializeAsync(await _decodeBodyBytes(response), 'LicenseResponseDto',) as LicenseResponseDto;
|
return await apiClient.deserializeAsync(await _decodeBodyBytes(response), 'UserLicense',) as UserLicense;
|
||||||
|
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
|
@ -602,7 +602,7 @@ class UsersApi {
|
||||||
/// Parameters:
|
/// Parameters:
|
||||||
///
|
///
|
||||||
/// * [LicenseKeyDto] licenseKeyDto (required):
|
/// * [LicenseKeyDto] licenseKeyDto (required):
|
||||||
Future<LicenseResponseDto?> setUserLicense(LicenseKeyDto licenseKeyDto,) async {
|
Future<UserLicense?> setUserLicense(LicenseKeyDto licenseKeyDto,) async {
|
||||||
final response = await setUserLicenseWithHttpInfo(licenseKeyDto,);
|
final response = await setUserLicenseWithHttpInfo(licenseKeyDto,);
|
||||||
if (response.statusCode >= HttpStatus.badRequest) {
|
if (response.statusCode >= HttpStatus.badRequest) {
|
||||||
throw ApiException(response.statusCode, await _decodeBodyBytes(response));
|
throw ApiException(response.statusCode, await _decodeBodyBytes(response));
|
||||||
|
|
@ -611,7 +611,7 @@ class UsersApi {
|
||||||
// At the time of writing this, `dart:convert` will throw an "Unexpected end of input"
|
// At the time of writing this, `dart:convert` will throw an "Unexpected end of input"
|
||||||
// FormatException when trying to decode an empty string.
|
// FormatException when trying to decode an empty string.
|
||||||
if (response.body.isNotEmpty && response.statusCode != HttpStatus.noContent) {
|
if (response.body.isNotEmpty && response.statusCode != HttpStatus.noContent) {
|
||||||
return await apiClient.deserializeAsync(await _decodeBodyBytes(response), 'LicenseResponseDto',) as LicenseResponseDto;
|
return await apiClient.deserializeAsync(await _decodeBodyBytes(response), 'UserLicense',) as UserLicense;
|
||||||
|
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
|
|
||||||
16
mobile/openapi/lib/api_client.dart
generated
16
mobile/openapi/lib/api_client.dart
generated
|
|
@ -264,6 +264,8 @@ class ApiClient {
|
||||||
return AssetFaceWithoutPersonResponseDto.fromJson(value);
|
return AssetFaceWithoutPersonResponseDto.fromJson(value);
|
||||||
case 'AssetFullSyncDto':
|
case 'AssetFullSyncDto':
|
||||||
return AssetFullSyncDto.fromJson(value);
|
return AssetFullSyncDto.fromJson(value);
|
||||||
|
case 'AssetIdErrorReason':
|
||||||
|
return AssetIdErrorReasonTypeTransformer().decode(value);
|
||||||
case 'AssetIdsDto':
|
case 'AssetIdsDto':
|
||||||
return AssetIdsDto.fromJson(value);
|
return AssetIdsDto.fromJson(value);
|
||||||
case 'AssetIdsResponseDto':
|
case 'AssetIdsResponseDto':
|
||||||
|
|
@ -298,6 +300,8 @@ class ApiClient {
|
||||||
return AssetOcrResponseDto.fromJson(value);
|
return AssetOcrResponseDto.fromJson(value);
|
||||||
case 'AssetOrder':
|
case 'AssetOrder':
|
||||||
return AssetOrderTypeTransformer().decode(value);
|
return AssetOrderTypeTransformer().decode(value);
|
||||||
|
case 'AssetRejectReason':
|
||||||
|
return AssetRejectReasonTypeTransformer().decode(value);
|
||||||
case 'AssetResponseDto':
|
case 'AssetResponseDto':
|
||||||
return AssetResponseDto.fromJson(value);
|
return AssetResponseDto.fromJson(value);
|
||||||
case 'AssetStackResponseDto':
|
case 'AssetStackResponseDto':
|
||||||
|
|
@ -306,6 +310,8 @@ class ApiClient {
|
||||||
return AssetStatsResponseDto.fromJson(value);
|
return AssetStatsResponseDto.fromJson(value);
|
||||||
case 'AssetTypeEnum':
|
case 'AssetTypeEnum':
|
||||||
return AssetTypeEnumTypeTransformer().decode(value);
|
return AssetTypeEnumTypeTransformer().decode(value);
|
||||||
|
case 'AssetUploadAction':
|
||||||
|
return AssetUploadActionTypeTransformer().decode(value);
|
||||||
case 'AssetVisibility':
|
case 'AssetVisibility':
|
||||||
return AssetVisibilityTypeTransformer().decode(value);
|
return AssetVisibilityTypeTransformer().decode(value);
|
||||||
case 'AudioCodec':
|
case 'AudioCodec':
|
||||||
|
|
@ -402,8 +408,6 @@ class ApiClient {
|
||||||
return LibraryStatsResponseDto.fromJson(value);
|
return LibraryStatsResponseDto.fromJson(value);
|
||||||
case 'LicenseKeyDto':
|
case 'LicenseKeyDto':
|
||||||
return LicenseKeyDto.fromJson(value);
|
return LicenseKeyDto.fromJson(value);
|
||||||
case 'LicenseResponseDto':
|
|
||||||
return LicenseResponseDto.fromJson(value);
|
|
||||||
case 'LogLevel':
|
case 'LogLevel':
|
||||||
return LogLevelTypeTransformer().decode(value);
|
return LogLevelTypeTransformer().decode(value);
|
||||||
case 'LoginCredentialDto':
|
case 'LoginCredentialDto':
|
||||||
|
|
@ -530,6 +534,14 @@ class ApiClient {
|
||||||
return PluginContextTypeTypeTransformer().decode(value);
|
return PluginContextTypeTypeTransformer().decode(value);
|
||||||
case 'PluginFilterResponseDto':
|
case 'PluginFilterResponseDto':
|
||||||
return PluginFilterResponseDto.fromJson(value);
|
return PluginFilterResponseDto.fromJson(value);
|
||||||
|
case 'PluginJsonSchema':
|
||||||
|
return PluginJsonSchema.fromJson(value);
|
||||||
|
case 'PluginJsonSchemaProperty':
|
||||||
|
return PluginJsonSchemaProperty.fromJson(value);
|
||||||
|
case 'PluginJsonSchemaPropertyAdditionalProperties':
|
||||||
|
return PluginJsonSchemaPropertyAdditionalProperties.fromJson(value);
|
||||||
|
case 'PluginJsonSchemaType':
|
||||||
|
return PluginJsonSchemaTypeTypeTransformer().decode(value);
|
||||||
case 'PluginResponseDto':
|
case 'PluginResponseDto':
|
||||||
return PluginResponseDto.fromJson(value);
|
return PluginResponseDto.fromJson(value);
|
||||||
case 'PluginTriggerResponseDto':
|
case 'PluginTriggerResponseDto':
|
||||||
|
|
|
||||||
12
mobile/openapi/lib/api_helper.dart
generated
12
mobile/openapi/lib/api_helper.dart
generated
|
|
@ -61,6 +61,9 @@ String parameterToString(dynamic value) {
|
||||||
if (value is AssetEditAction) {
|
if (value is AssetEditAction) {
|
||||||
return AssetEditActionTypeTransformer().encode(value).toString();
|
return AssetEditActionTypeTransformer().encode(value).toString();
|
||||||
}
|
}
|
||||||
|
if (value is AssetIdErrorReason) {
|
||||||
|
return AssetIdErrorReasonTypeTransformer().encode(value).toString();
|
||||||
|
}
|
||||||
if (value is AssetJobName) {
|
if (value is AssetJobName) {
|
||||||
return AssetJobNameTypeTransformer().encode(value).toString();
|
return AssetJobNameTypeTransformer().encode(value).toString();
|
||||||
}
|
}
|
||||||
|
|
@ -73,9 +76,15 @@ String parameterToString(dynamic value) {
|
||||||
if (value is AssetOrder) {
|
if (value is AssetOrder) {
|
||||||
return AssetOrderTypeTransformer().encode(value).toString();
|
return AssetOrderTypeTransformer().encode(value).toString();
|
||||||
}
|
}
|
||||||
|
if (value is AssetRejectReason) {
|
||||||
|
return AssetRejectReasonTypeTransformer().encode(value).toString();
|
||||||
|
}
|
||||||
if (value is AssetTypeEnum) {
|
if (value is AssetTypeEnum) {
|
||||||
return AssetTypeEnumTypeTransformer().encode(value).toString();
|
return AssetTypeEnumTypeTransformer().encode(value).toString();
|
||||||
}
|
}
|
||||||
|
if (value is AssetUploadAction) {
|
||||||
|
return AssetUploadActionTypeTransformer().encode(value).toString();
|
||||||
|
}
|
||||||
if (value is AssetVisibility) {
|
if (value is AssetVisibility) {
|
||||||
return AssetVisibilityTypeTransformer().encode(value).toString();
|
return AssetVisibilityTypeTransformer().encode(value).toString();
|
||||||
}
|
}
|
||||||
|
|
@ -133,6 +142,9 @@ String parameterToString(dynamic value) {
|
||||||
if (value is PluginContextType) {
|
if (value is PluginContextType) {
|
||||||
return PluginContextTypeTypeTransformer().encode(value).toString();
|
return PluginContextTypeTypeTransformer().encode(value).toString();
|
||||||
}
|
}
|
||||||
|
if (value is PluginJsonSchemaType) {
|
||||||
|
return PluginJsonSchemaTypeTypeTransformer().encode(value).toString();
|
||||||
|
}
|
||||||
if (value is PluginTriggerType) {
|
if (value is PluginTriggerType) {
|
||||||
return PluginTriggerTypeTypeTransformer().encode(value).toString();
|
return PluginTriggerTypeTypeTransformer().encode(value).toString();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,6 @@ class ActivityCreateDto {
|
||||||
///
|
///
|
||||||
String? comment;
|
String? comment;
|
||||||
|
|
||||||
/// Activity type (like or comment)
|
|
||||||
ReactionType type;
|
ReactionType type;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|
|
||||||
|
|
@ -33,7 +33,6 @@ class ActivityResponseDto {
|
||||||
/// Activity ID
|
/// Activity ID
|
||||||
String id;
|
String id;
|
||||||
|
|
||||||
/// Activity type
|
|
||||||
ReactionType type;
|
ReactionType type;
|
||||||
|
|
||||||
UserResponseDto user;
|
UserResponseDto user;
|
||||||
|
|
@ -72,7 +71,9 @@ class ActivityResponseDto {
|
||||||
} else {
|
} else {
|
||||||
// json[r'comment'] = null;
|
// json[r'comment'] = null;
|
||||||
}
|
}
|
||||||
json[r'createdAt'] = this.createdAt.toUtc().toIso8601String();
|
json[r'createdAt'] = _isEpochMarker(r'/^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$/')
|
||||||
|
? this.createdAt.millisecondsSinceEpoch
|
||||||
|
: this.createdAt.toUtc().toIso8601String();
|
||||||
json[r'id'] = this.id;
|
json[r'id'] = this.id;
|
||||||
json[r'type'] = this.type;
|
json[r'type'] = this.type;
|
||||||
json[r'user'] = this.user;
|
json[r'user'] = this.user;
|
||||||
|
|
@ -90,7 +91,7 @@ class ActivityResponseDto {
|
||||||
return ActivityResponseDto(
|
return ActivityResponseDto(
|
||||||
assetId: mapValueOfType<String>(json, r'assetId'),
|
assetId: mapValueOfType<String>(json, r'assetId'),
|
||||||
comment: mapValueOfType<String>(json, r'comment'),
|
comment: mapValueOfType<String>(json, r'comment'),
|
||||||
createdAt: mapDateTime(json, r'createdAt', r'')!,
|
createdAt: mapDateTime(json, r'createdAt', r'/^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$/')!,
|
||||||
id: mapValueOfType<String>(json, r'id')!,
|
id: mapValueOfType<String>(json, r'id')!,
|
||||||
type: ReactionType.fromJson(json[r'type'])!,
|
type: ReactionType.fromJson(json[r'type'])!,
|
||||||
user: UserResponseDto.fromJson(json[r'user'])!,
|
user: UserResponseDto.fromJson(json[r'user'])!,
|
||||||
|
|
|
||||||
|
|
@ -18,9 +18,15 @@ class ActivityStatisticsResponseDto {
|
||||||
});
|
});
|
||||||
|
|
||||||
/// Number of comments
|
/// Number of comments
|
||||||
|
///
|
||||||
|
/// Minimum value: 0
|
||||||
|
/// Maximum value: 9007199254740991
|
||||||
int comments;
|
int comments;
|
||||||
|
|
||||||
/// Number of likes
|
/// Number of likes
|
||||||
|
///
|
||||||
|
/// Minimum value: 0
|
||||||
|
/// Maximum value: 9007199254740991
|
||||||
int likes;
|
int likes;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|
|
||||||
4
mobile/openapi/lib/model/album_response_dto.dart
generated
4
mobile/openapi/lib/model/album_response_dto.dart
generated
|
|
@ -43,6 +43,9 @@ class AlbumResponseDto {
|
||||||
List<AlbumUserResponseDto> albumUsers;
|
List<AlbumUserResponseDto> albumUsers;
|
||||||
|
|
||||||
/// Number of assets
|
/// Number of assets
|
||||||
|
///
|
||||||
|
/// Minimum value: 0
|
||||||
|
/// Maximum value: 9007199254740991
|
||||||
int assetCount;
|
int assetCount;
|
||||||
|
|
||||||
List<AssetResponseDto> assets;
|
List<AssetResponseDto> assets;
|
||||||
|
|
@ -82,7 +85,6 @@ class AlbumResponseDto {
|
||||||
///
|
///
|
||||||
DateTime? lastModifiedAssetTimestamp;
|
DateTime? lastModifiedAssetTimestamp;
|
||||||
|
|
||||||
/// Asset sort order
|
|
||||||
///
|
///
|
||||||
/// Please note: This property should have been non-nullable! Since the specification file
|
/// Please note: This property should have been non-nullable! Since the specification file
|
||||||
/// does not include a default value (using the "default:" property), however, the generated
|
/// does not include a default value (using the "default:" property), however, the generated
|
||||||
|
|
|
||||||
|
|
@ -19,12 +19,21 @@ class AlbumStatisticsResponseDto {
|
||||||
});
|
});
|
||||||
|
|
||||||
/// Number of non-shared albums
|
/// Number of non-shared albums
|
||||||
|
///
|
||||||
|
/// Minimum value: 0
|
||||||
|
/// Maximum value: 9007199254740991
|
||||||
int notShared;
|
int notShared;
|
||||||
|
|
||||||
/// Number of owned albums
|
/// Number of owned albums
|
||||||
|
///
|
||||||
|
/// Minimum value: 0
|
||||||
|
/// Maximum value: 9007199254740991
|
||||||
int owned;
|
int owned;
|
||||||
|
|
||||||
/// Number of shared albums
|
/// Number of shared albums
|
||||||
|
///
|
||||||
|
/// Minimum value: 0
|
||||||
|
/// Maximum value: 9007199254740991
|
||||||
int shared;
|
int shared;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|
|
||||||
19
mobile/openapi/lib/model/album_user_add_dto.dart
generated
19
mobile/openapi/lib/model/album_user_add_dto.dart
generated
|
|
@ -13,12 +13,17 @@ part of openapi.api;
|
||||||
class AlbumUserAddDto {
|
class AlbumUserAddDto {
|
||||||
/// Returns a new [AlbumUserAddDto] instance.
|
/// Returns a new [AlbumUserAddDto] instance.
|
||||||
AlbumUserAddDto({
|
AlbumUserAddDto({
|
||||||
this.role = AlbumUserRole.editor,
|
this.role,
|
||||||
required this.userId,
|
required this.userId,
|
||||||
});
|
});
|
||||||
|
|
||||||
/// Album user role
|
///
|
||||||
AlbumUserRole role;
|
/// Please note: This property should have been non-nullable! Since the specification file
|
||||||
|
/// does not include a default value (using the "default:" property), however, the generated
|
||||||
|
/// source code must fall back to having a nullable type.
|
||||||
|
/// Consider adding a "default:" property in the specification file to hide this note.
|
||||||
|
///
|
||||||
|
AlbumUserRole? role;
|
||||||
|
|
||||||
/// User ID
|
/// User ID
|
||||||
String userId;
|
String userId;
|
||||||
|
|
@ -31,7 +36,7 @@ class AlbumUserAddDto {
|
||||||
@override
|
@override
|
||||||
int get hashCode =>
|
int get hashCode =>
|
||||||
// ignore: unnecessary_parenthesis
|
// ignore: unnecessary_parenthesis
|
||||||
(role.hashCode) +
|
(role == null ? 0 : role!.hashCode) +
|
||||||
(userId.hashCode);
|
(userId.hashCode);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|
@ -39,7 +44,11 @@ class AlbumUserAddDto {
|
||||||
|
|
||||||
Map<String, dynamic> toJson() {
|
Map<String, dynamic> toJson() {
|
||||||
final json = <String, dynamic>{};
|
final json = <String, dynamic>{};
|
||||||
|
if (this.role != null) {
|
||||||
json[r'role'] = this.role;
|
json[r'role'] = this.role;
|
||||||
|
} else {
|
||||||
|
// json[r'role'] = null;
|
||||||
|
}
|
||||||
json[r'userId'] = this.userId;
|
json[r'userId'] = this.userId;
|
||||||
return json;
|
return json;
|
||||||
}
|
}
|
||||||
|
|
@ -53,7 +62,7 @@ class AlbumUserAddDto {
|
||||||
final json = value.cast<String, dynamic>();
|
final json = value.cast<String, dynamic>();
|
||||||
|
|
||||||
return AlbumUserAddDto(
|
return AlbumUserAddDto(
|
||||||
role: AlbumUserRole.fromJson(json[r'role']) ?? AlbumUserRole.editor,
|
role: AlbumUserRole.fromJson(json[r'role']),
|
||||||
userId: mapValueOfType<String>(json, r'userId')!,
|
userId: mapValueOfType<String>(json, r'userId')!,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,6 @@ class AlbumUserCreateDto {
|
||||||
required this.userId,
|
required this.userId,
|
||||||
});
|
});
|
||||||
|
|
||||||
/// Album user role
|
|
||||||
AlbumUserRole role;
|
AlbumUserRole role;
|
||||||
|
|
||||||
/// User ID
|
/// User ID
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,6 @@ class AlbumUserResponseDto {
|
||||||
required this.user,
|
required this.user,
|
||||||
});
|
});
|
||||||
|
|
||||||
/// Album user role
|
|
||||||
AlbumUserRole role;
|
AlbumUserRole role;
|
||||||
|
|
||||||
UserResponseDto user;
|
UserResponseDto user;
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,6 @@ class AlbumsAddAssetsResponseDto {
|
||||||
required this.success,
|
required this.success,
|
||||||
});
|
});
|
||||||
|
|
||||||
/// Error reason
|
|
||||||
///
|
///
|
||||||
/// Please note: This property should have been non-nullable! Since the specification file
|
/// Please note: This property should have been non-nullable! Since the specification file
|
||||||
/// does not include a default value (using the "default:" property), however, the generated
|
/// does not include a default value (using the "default:" property), however, the generated
|
||||||
|
|
|
||||||
3
mobile/openapi/lib/model/albums_response.dart
generated
3
mobile/openapi/lib/model/albums_response.dart
generated
|
|
@ -13,10 +13,9 @@ part of openapi.api;
|
||||||
class AlbumsResponse {
|
class AlbumsResponse {
|
||||||
/// Returns a new [AlbumsResponse] instance.
|
/// Returns a new [AlbumsResponse] instance.
|
||||||
AlbumsResponse({
|
AlbumsResponse({
|
||||||
this.defaultAssetOrder = AssetOrder.desc,
|
required this.defaultAssetOrder,
|
||||||
});
|
});
|
||||||
|
|
||||||
/// Default asset order for albums
|
|
||||||
AssetOrder defaultAssetOrder;
|
AssetOrder defaultAssetOrder;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|
|
||||||
1
mobile/openapi/lib/model/albums_update.dart
generated
1
mobile/openapi/lib/model/albums_update.dart
generated
|
|
@ -16,7 +16,6 @@ class AlbumsUpdate {
|
||||||
this.defaultAssetOrder,
|
this.defaultAssetOrder,
|
||||||
});
|
});
|
||||||
|
|
||||||
/// Default asset order for albums
|
|
||||||
///
|
///
|
||||||
/// Please note: This property should have been non-nullable! Since the specification file
|
/// Please note: This property should have been non-nullable! Since the specification file
|
||||||
/// does not include a default value (using the "default:" property), however, the generated
|
/// does not include a default value (using the "default:" property), however, the generated
|
||||||
|
|
|
||||||
12
mobile/openapi/lib/model/api_key_response_dto.dart
generated
12
mobile/openapi/lib/model/api_key_response_dto.dart
generated
|
|
@ -57,11 +57,15 @@ class APIKeyResponseDto {
|
||||||
|
|
||||||
Map<String, dynamic> toJson() {
|
Map<String, dynamic> toJson() {
|
||||||
final json = <String, dynamic>{};
|
final json = <String, dynamic>{};
|
||||||
json[r'createdAt'] = this.createdAt.toUtc().toIso8601String();
|
json[r'createdAt'] = _isEpochMarker(r'/^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$/')
|
||||||
|
? this.createdAt.millisecondsSinceEpoch
|
||||||
|
: this.createdAt.toUtc().toIso8601String();
|
||||||
json[r'id'] = this.id;
|
json[r'id'] = this.id;
|
||||||
json[r'name'] = this.name;
|
json[r'name'] = this.name;
|
||||||
json[r'permissions'] = this.permissions;
|
json[r'permissions'] = this.permissions;
|
||||||
json[r'updatedAt'] = this.updatedAt.toUtc().toIso8601String();
|
json[r'updatedAt'] = _isEpochMarker(r'/^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$/')
|
||||||
|
? this.updatedAt.millisecondsSinceEpoch
|
||||||
|
: this.updatedAt.toUtc().toIso8601String();
|
||||||
return json;
|
return json;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -74,11 +78,11 @@ class APIKeyResponseDto {
|
||||||
final json = value.cast<String, dynamic>();
|
final json = value.cast<String, dynamic>();
|
||||||
|
|
||||||
return APIKeyResponseDto(
|
return APIKeyResponseDto(
|
||||||
createdAt: mapDateTime(json, r'createdAt', r'')!,
|
createdAt: mapDateTime(json, r'createdAt', r'/^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$/')!,
|
||||||
id: mapValueOfType<String>(json, r'id')!,
|
id: mapValueOfType<String>(json, r'id')!,
|
||||||
name: mapValueOfType<String>(json, r'name')!,
|
name: mapValueOfType<String>(json, r'name')!,
|
||||||
permissions: Permission.listFromJson(json[r'permissions']),
|
permissions: Permission.listFromJson(json[r'permissions']),
|
||||||
updatedAt: mapDateTime(json, r'updatedAt', r'')!,
|
updatedAt: mapDateTime(json, r'updatedAt', r'/^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$/')!,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
|
|
||||||
13
mobile/openapi/lib/model/asset_bulk_update_dto.dart
generated
13
mobile/openapi/lib/model/asset_bulk_update_dto.dart
generated
|
|
@ -70,6 +70,9 @@ class AssetBulkUpdateDto {
|
||||||
|
|
||||||
/// Latitude coordinate
|
/// Latitude coordinate
|
||||||
///
|
///
|
||||||
|
/// Minimum value: -90
|
||||||
|
/// Maximum value: 90
|
||||||
|
///
|
||||||
/// Please note: This property should have been non-nullable! Since the specification file
|
/// Please note: This property should have been non-nullable! Since the specification file
|
||||||
/// does not include a default value (using the "default:" property), however, the generated
|
/// does not include a default value (using the "default:" property), however, the generated
|
||||||
/// source code must fall back to having a nullable type.
|
/// source code must fall back to having a nullable type.
|
||||||
|
|
@ -79,6 +82,9 @@ class AssetBulkUpdateDto {
|
||||||
|
|
||||||
/// Longitude coordinate
|
/// Longitude coordinate
|
||||||
///
|
///
|
||||||
|
/// Minimum value: -180
|
||||||
|
/// Maximum value: 180
|
||||||
|
///
|
||||||
/// Please note: This property should have been non-nullable! Since the specification file
|
/// Please note: This property should have been non-nullable! Since the specification file
|
||||||
/// does not include a default value (using the "default:" property), however, the generated
|
/// does not include a default value (using the "default:" property), however, the generated
|
||||||
/// source code must fall back to having a nullable type.
|
/// source code must fall back to having a nullable type.
|
||||||
|
|
@ -90,7 +96,7 @@ class AssetBulkUpdateDto {
|
||||||
///
|
///
|
||||||
/// Minimum value: -1
|
/// Minimum value: -1
|
||||||
/// Maximum value: 5
|
/// Maximum value: 5
|
||||||
num? rating;
|
int? rating;
|
||||||
|
|
||||||
/// Time zone (IANA timezone)
|
/// Time zone (IANA timezone)
|
||||||
///
|
///
|
||||||
|
|
@ -101,7 +107,6 @@ class AssetBulkUpdateDto {
|
||||||
///
|
///
|
||||||
String? timeZone;
|
String? timeZone;
|
||||||
|
|
||||||
/// Asset visibility
|
|
||||||
///
|
///
|
||||||
/// Please note: This property should have been non-nullable! Since the specification file
|
/// Please note: This property should have been non-nullable! Since the specification file
|
||||||
/// does not include a default value (using the "default:" property), however, the generated
|
/// does not include a default value (using the "default:" property), however, the generated
|
||||||
|
|
@ -217,9 +222,7 @@ class AssetBulkUpdateDto {
|
||||||
isFavorite: mapValueOfType<bool>(json, r'isFavorite'),
|
isFavorite: mapValueOfType<bool>(json, r'isFavorite'),
|
||||||
latitude: num.parse('${json[r'latitude']}'),
|
latitude: num.parse('${json[r'latitude']}'),
|
||||||
longitude: num.parse('${json[r'longitude']}'),
|
longitude: num.parse('${json[r'longitude']}'),
|
||||||
rating: json[r'rating'] == null
|
rating: mapValueOfType<int>(json, r'rating'),
|
||||||
? null
|
|
||||||
: num.parse('${json[r'rating']}'),
|
|
||||||
timeZone: mapValueOfType<String>(json, r'timeZone'),
|
timeZone: mapValueOfType<String>(json, r'timeZone'),
|
||||||
visibility: AssetVisibility.fromJson(json[r'visibility']),
|
visibility: AssetVisibility.fromJson(json[r'visibility']),
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -20,8 +20,7 @@ class AssetBulkUploadCheckResult {
|
||||||
this.reason,
|
this.reason,
|
||||||
});
|
});
|
||||||
|
|
||||||
/// Upload action
|
AssetUploadAction action;
|
||||||
AssetBulkUploadCheckResultActionEnum action;
|
|
||||||
|
|
||||||
/// Existing asset ID if duplicate
|
/// Existing asset ID if duplicate
|
||||||
///
|
///
|
||||||
|
|
@ -44,8 +43,13 @@ class AssetBulkUploadCheckResult {
|
||||||
///
|
///
|
||||||
bool? isTrashed;
|
bool? isTrashed;
|
||||||
|
|
||||||
/// Rejection reason if rejected
|
///
|
||||||
AssetBulkUploadCheckResultReasonEnum? reason;
|
/// Please note: This property should have been non-nullable! Since the specification file
|
||||||
|
/// does not include a default value (using the "default:" property), however, the generated
|
||||||
|
/// source code must fall back to having a nullable type.
|
||||||
|
/// Consider adding a "default:" property in the specification file to hide this note.
|
||||||
|
///
|
||||||
|
AssetRejectReason? reason;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
bool operator ==(Object other) => identical(this, other) || other is AssetBulkUploadCheckResult &&
|
bool operator ==(Object other) => identical(this, other) || other is AssetBulkUploadCheckResult &&
|
||||||
|
|
@ -98,11 +102,11 @@ class AssetBulkUploadCheckResult {
|
||||||
final json = value.cast<String, dynamic>();
|
final json = value.cast<String, dynamic>();
|
||||||
|
|
||||||
return AssetBulkUploadCheckResult(
|
return AssetBulkUploadCheckResult(
|
||||||
action: AssetBulkUploadCheckResultActionEnum.fromJson(json[r'action'])!,
|
action: AssetUploadAction.fromJson(json[r'action'])!,
|
||||||
assetId: mapValueOfType<String>(json, r'assetId'),
|
assetId: mapValueOfType<String>(json, r'assetId'),
|
||||||
id: mapValueOfType<String>(json, r'id')!,
|
id: mapValueOfType<String>(json, r'id')!,
|
||||||
isTrashed: mapValueOfType<bool>(json, r'isTrashed'),
|
isTrashed: mapValueOfType<bool>(json, r'isTrashed'),
|
||||||
reason: AssetBulkUploadCheckResultReasonEnum.fromJson(json[r'reason']),
|
reason: AssetRejectReason.fromJson(json[r'reason']),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
|
@ -155,151 +159,3 @@ class AssetBulkUploadCheckResult {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Upload action
|
|
||||||
class AssetBulkUploadCheckResultActionEnum {
|
|
||||||
/// Instantiate a new enum with the provided [value].
|
|
||||||
const AssetBulkUploadCheckResultActionEnum._(this.value);
|
|
||||||
|
|
||||||
/// The underlying value of this enum member.
|
|
||||||
final String value;
|
|
||||||
|
|
||||||
@override
|
|
||||||
String toString() => value;
|
|
||||||
|
|
||||||
String toJson() => value;
|
|
||||||
|
|
||||||
static const accept = AssetBulkUploadCheckResultActionEnum._(r'accept');
|
|
||||||
static const reject = AssetBulkUploadCheckResultActionEnum._(r'reject');
|
|
||||||
|
|
||||||
/// List of all possible values in this [enum][AssetBulkUploadCheckResultActionEnum].
|
|
||||||
static const values = <AssetBulkUploadCheckResultActionEnum>[
|
|
||||||
accept,
|
|
||||||
reject,
|
|
||||||
];
|
|
||||||
|
|
||||||
static AssetBulkUploadCheckResultActionEnum? fromJson(dynamic value) => AssetBulkUploadCheckResultActionEnumTypeTransformer().decode(value);
|
|
||||||
|
|
||||||
static List<AssetBulkUploadCheckResultActionEnum> listFromJson(dynamic json, {bool growable = false,}) {
|
|
||||||
final result = <AssetBulkUploadCheckResultActionEnum>[];
|
|
||||||
if (json is List && json.isNotEmpty) {
|
|
||||||
for (final row in json) {
|
|
||||||
final value = AssetBulkUploadCheckResultActionEnum.fromJson(row);
|
|
||||||
if (value != null) {
|
|
||||||
result.add(value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return result.toList(growable: growable);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Transformation class that can [encode] an instance of [AssetBulkUploadCheckResultActionEnum] to String,
|
|
||||||
/// and [decode] dynamic data back to [AssetBulkUploadCheckResultActionEnum].
|
|
||||||
class AssetBulkUploadCheckResultActionEnumTypeTransformer {
|
|
||||||
factory AssetBulkUploadCheckResultActionEnumTypeTransformer() => _instance ??= const AssetBulkUploadCheckResultActionEnumTypeTransformer._();
|
|
||||||
|
|
||||||
const AssetBulkUploadCheckResultActionEnumTypeTransformer._();
|
|
||||||
|
|
||||||
String encode(AssetBulkUploadCheckResultActionEnum data) => data.value;
|
|
||||||
|
|
||||||
/// Decodes a [dynamic value][data] to a AssetBulkUploadCheckResultActionEnum.
|
|
||||||
///
|
|
||||||
/// If [allowNull] is true and the [dynamic value][data] cannot be decoded successfully,
|
|
||||||
/// then null is returned. However, if [allowNull] is false and the [dynamic value][data]
|
|
||||||
/// cannot be decoded successfully, then an [UnimplementedError] is thrown.
|
|
||||||
///
|
|
||||||
/// The [allowNull] is very handy when an API changes and a new enum value is added or removed,
|
|
||||||
/// and users are still using an old app with the old code.
|
|
||||||
AssetBulkUploadCheckResultActionEnum? decode(dynamic data, {bool allowNull = true}) {
|
|
||||||
if (data != null) {
|
|
||||||
switch (data) {
|
|
||||||
case r'accept': return AssetBulkUploadCheckResultActionEnum.accept;
|
|
||||||
case r'reject': return AssetBulkUploadCheckResultActionEnum.reject;
|
|
||||||
default:
|
|
||||||
if (!allowNull) {
|
|
||||||
throw ArgumentError('Unknown enum value to decode: $data');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Singleton [AssetBulkUploadCheckResultActionEnumTypeTransformer] instance.
|
|
||||||
static AssetBulkUploadCheckResultActionEnumTypeTransformer? _instance;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/// Rejection reason if rejected
|
|
||||||
class AssetBulkUploadCheckResultReasonEnum {
|
|
||||||
/// Instantiate a new enum with the provided [value].
|
|
||||||
const AssetBulkUploadCheckResultReasonEnum._(this.value);
|
|
||||||
|
|
||||||
/// The underlying value of this enum member.
|
|
||||||
final String value;
|
|
||||||
|
|
||||||
@override
|
|
||||||
String toString() => value;
|
|
||||||
|
|
||||||
String toJson() => value;
|
|
||||||
|
|
||||||
static const duplicate = AssetBulkUploadCheckResultReasonEnum._(r'duplicate');
|
|
||||||
static const unsupportedFormat = AssetBulkUploadCheckResultReasonEnum._(r'unsupported-format');
|
|
||||||
|
|
||||||
/// List of all possible values in this [enum][AssetBulkUploadCheckResultReasonEnum].
|
|
||||||
static const values = <AssetBulkUploadCheckResultReasonEnum>[
|
|
||||||
duplicate,
|
|
||||||
unsupportedFormat,
|
|
||||||
];
|
|
||||||
|
|
||||||
static AssetBulkUploadCheckResultReasonEnum? fromJson(dynamic value) => AssetBulkUploadCheckResultReasonEnumTypeTransformer().decode(value);
|
|
||||||
|
|
||||||
static List<AssetBulkUploadCheckResultReasonEnum> listFromJson(dynamic json, {bool growable = false,}) {
|
|
||||||
final result = <AssetBulkUploadCheckResultReasonEnum>[];
|
|
||||||
if (json is List && json.isNotEmpty) {
|
|
||||||
for (final row in json) {
|
|
||||||
final value = AssetBulkUploadCheckResultReasonEnum.fromJson(row);
|
|
||||||
if (value != null) {
|
|
||||||
result.add(value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return result.toList(growable: growable);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Transformation class that can [encode] an instance of [AssetBulkUploadCheckResultReasonEnum] to String,
|
|
||||||
/// and [decode] dynamic data back to [AssetBulkUploadCheckResultReasonEnum].
|
|
||||||
class AssetBulkUploadCheckResultReasonEnumTypeTransformer {
|
|
||||||
factory AssetBulkUploadCheckResultReasonEnumTypeTransformer() => _instance ??= const AssetBulkUploadCheckResultReasonEnumTypeTransformer._();
|
|
||||||
|
|
||||||
const AssetBulkUploadCheckResultReasonEnumTypeTransformer._();
|
|
||||||
|
|
||||||
String encode(AssetBulkUploadCheckResultReasonEnum data) => data.value;
|
|
||||||
|
|
||||||
/// Decodes a [dynamic value][data] to a AssetBulkUploadCheckResultReasonEnum.
|
|
||||||
///
|
|
||||||
/// If [allowNull] is true and the [dynamic value][data] cannot be decoded successfully,
|
|
||||||
/// then null is returned. However, if [allowNull] is false and the [dynamic value][data]
|
|
||||||
/// cannot be decoded successfully, then an [UnimplementedError] is thrown.
|
|
||||||
///
|
|
||||||
/// The [allowNull] is very handy when an API changes and a new enum value is added or removed,
|
|
||||||
/// and users are still using an old app with the old code.
|
|
||||||
AssetBulkUploadCheckResultReasonEnum? decode(dynamic data, {bool allowNull = true}) {
|
|
||||||
if (data != null) {
|
|
||||||
switch (data) {
|
|
||||||
case r'duplicate': return AssetBulkUploadCheckResultReasonEnum.duplicate;
|
|
||||||
case r'unsupported-format': return AssetBulkUploadCheckResultReasonEnum.unsupportedFormat;
|
|
||||||
default:
|
|
||||||
if (!allowNull) {
|
|
||||||
throw ArgumentError('Unknown enum value to decode: $data');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Singleton [AssetBulkUploadCheckResultReasonEnumTypeTransformer] instance.
|
|
||||||
static AssetBulkUploadCheckResultReasonEnumTypeTransformer? _instance;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,9 @@ class AssetDeltaSyncDto {
|
||||||
|
|
||||||
Map<String, dynamic> toJson() {
|
Map<String, dynamic> toJson() {
|
||||||
final json = <String, dynamic>{};
|
final json = <String, dynamic>{};
|
||||||
json[r'updatedAfter'] = this.updatedAfter.toUtc().toIso8601String();
|
json[r'updatedAfter'] = _isEpochMarker(r'/^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$/')
|
||||||
|
? this.updatedAfter.millisecondsSinceEpoch
|
||||||
|
: this.updatedAfter.toUtc().toIso8601String();
|
||||||
json[r'userIds'] = this.userIds;
|
json[r'userIds'] = this.userIds;
|
||||||
return json;
|
return json;
|
||||||
}
|
}
|
||||||
|
|
@ -53,7 +55,7 @@ class AssetDeltaSyncDto {
|
||||||
final json = value.cast<String, dynamic>();
|
final json = value.cast<String, dynamic>();
|
||||||
|
|
||||||
return AssetDeltaSyncDto(
|
return AssetDeltaSyncDto(
|
||||||
updatedAfter: mapDateTime(json, r'updatedAfter', r'')!,
|
updatedAfter: mapDateTime(json, r'updatedAfter', r'/^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$/')!,
|
||||||
userIds: json[r'userIds'] is Iterable
|
userIds: json[r'userIds'] is Iterable
|
||||||
? (json[r'userIds'] as Iterable).cast<String>().toList(growable: false)
|
? (json[r'userIds'] as Iterable).cast<String>().toList(growable: false)
|
||||||
: const [],
|
: const [],
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,6 @@ class AssetDeltaSyncResponseDto {
|
||||||
/// Whether full sync is needed
|
/// Whether full sync is needed
|
||||||
bool needsFullSync;
|
bool needsFullSync;
|
||||||
|
|
||||||
/// Upserted assets
|
|
||||||
List<AssetResponseDto> upserted;
|
List<AssetResponseDto> upserted;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,6 @@ class AssetEditActionItemDto {
|
||||||
required this.parameters,
|
required this.parameters,
|
||||||
});
|
});
|
||||||
|
|
||||||
/// Type of edit action to perform
|
|
||||||
AssetEditAction action;
|
AssetEditAction action;
|
||||||
|
|
||||||
AssetEditActionItemDtoParameters parameters;
|
AssetEditActionItemDtoParameters parameters;
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,6 @@ class AssetEditActionItemDtoParameters {
|
||||||
/// Rotation angle in degrees
|
/// Rotation angle in degrees
|
||||||
num angle;
|
num angle;
|
||||||
|
|
||||||
/// Axis to mirror along
|
|
||||||
MirrorAxis axis;
|
MirrorAxis axis;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|
|
||||||
|
|
@ -18,9 +18,9 @@ class AssetEditActionItemResponseDto {
|
||||||
required this.parameters,
|
required this.parameters,
|
||||||
});
|
});
|
||||||
|
|
||||||
/// Type of edit action to perform
|
|
||||||
AssetEditAction action;
|
AssetEditAction action;
|
||||||
|
|
||||||
|
/// Asset edit ID
|
||||||
String id;
|
String id;
|
||||||
|
|
||||||
AssetEditActionItemDtoParameters parameters;
|
AssetEditActionItemDtoParameters parameters;
|
||||||
|
|
|
||||||
18
mobile/openapi/lib/model/asset_face_create_dto.dart
generated
18
mobile/openapi/lib/model/asset_face_create_dto.dart
generated
|
|
@ -27,24 +27,42 @@ class AssetFaceCreateDto {
|
||||||
String assetId;
|
String assetId;
|
||||||
|
|
||||||
/// Face bounding box height
|
/// Face bounding box height
|
||||||
|
///
|
||||||
|
/// Minimum value: -9007199254740991
|
||||||
|
/// Maximum value: 9007199254740991
|
||||||
int height;
|
int height;
|
||||||
|
|
||||||
/// Image height in pixels
|
/// Image height in pixels
|
||||||
|
///
|
||||||
|
/// Minimum value: -9007199254740991
|
||||||
|
/// Maximum value: 9007199254740991
|
||||||
int imageHeight;
|
int imageHeight;
|
||||||
|
|
||||||
/// Image width in pixels
|
/// Image width in pixels
|
||||||
|
///
|
||||||
|
/// Minimum value: -9007199254740991
|
||||||
|
/// Maximum value: 9007199254740991
|
||||||
int imageWidth;
|
int imageWidth;
|
||||||
|
|
||||||
/// Person ID
|
/// Person ID
|
||||||
String personId;
|
String personId;
|
||||||
|
|
||||||
/// Face bounding box width
|
/// Face bounding box width
|
||||||
|
///
|
||||||
|
/// Minimum value: -9007199254740991
|
||||||
|
/// Maximum value: 9007199254740991
|
||||||
int width;
|
int width;
|
||||||
|
|
||||||
/// Face bounding box X coordinate
|
/// Face bounding box X coordinate
|
||||||
|
///
|
||||||
|
/// Minimum value: -9007199254740991
|
||||||
|
/// Maximum value: 9007199254740991
|
||||||
int x;
|
int x;
|
||||||
|
|
||||||
/// Face bounding box Y coordinate
|
/// Face bounding box Y coordinate
|
||||||
|
///
|
||||||
|
/// Minimum value: -9007199254740991
|
||||||
|
/// Maximum value: 9007199254740991
|
||||||
int y;
|
int y;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|
|
||||||
|
|
@ -25,30 +25,46 @@ class AssetFaceResponseDto {
|
||||||
});
|
});
|
||||||
|
|
||||||
/// Bounding box X1 coordinate
|
/// Bounding box X1 coordinate
|
||||||
|
///
|
||||||
|
/// Minimum value: -9007199254740991
|
||||||
|
/// Maximum value: 9007199254740991
|
||||||
int boundingBoxX1;
|
int boundingBoxX1;
|
||||||
|
|
||||||
/// Bounding box X2 coordinate
|
/// Bounding box X2 coordinate
|
||||||
|
///
|
||||||
|
/// Minimum value: -9007199254740991
|
||||||
|
/// Maximum value: 9007199254740991
|
||||||
int boundingBoxX2;
|
int boundingBoxX2;
|
||||||
|
|
||||||
/// Bounding box Y1 coordinate
|
/// Bounding box Y1 coordinate
|
||||||
|
///
|
||||||
|
/// Minimum value: -9007199254740991
|
||||||
|
/// Maximum value: 9007199254740991
|
||||||
int boundingBoxY1;
|
int boundingBoxY1;
|
||||||
|
|
||||||
/// Bounding box Y2 coordinate
|
/// Bounding box Y2 coordinate
|
||||||
|
///
|
||||||
|
/// Minimum value: -9007199254740991
|
||||||
|
/// Maximum value: 9007199254740991
|
||||||
int boundingBoxY2;
|
int boundingBoxY2;
|
||||||
|
|
||||||
/// Face ID
|
/// Face ID
|
||||||
String id;
|
String id;
|
||||||
|
|
||||||
/// Image height in pixels
|
/// Image height in pixels
|
||||||
|
///
|
||||||
|
/// Minimum value: 0
|
||||||
|
/// Maximum value: 9007199254740991
|
||||||
int imageHeight;
|
int imageHeight;
|
||||||
|
|
||||||
/// Image width in pixels
|
/// Image width in pixels
|
||||||
|
///
|
||||||
|
/// Minimum value: 0
|
||||||
|
/// Maximum value: 9007199254740991
|
||||||
int imageWidth;
|
int imageWidth;
|
||||||
|
|
||||||
/// Person associated with face
|
|
||||||
PersonResponseDto? person;
|
PersonResponseDto? person;
|
||||||
|
|
||||||
/// Face detection source type
|
|
||||||
///
|
///
|
||||||
/// Please note: This property should have been non-nullable! Since the specification file
|
/// Please note: This property should have been non-nullable! Since the specification file
|
||||||
/// does not include a default value (using the "default:" property), however, the generated
|
/// does not include a default value (using the "default:" property), however, the generated
|
||||||
|
|
|
||||||
|
|
@ -24,27 +24,44 @@ class AssetFaceWithoutPersonResponseDto {
|
||||||
});
|
});
|
||||||
|
|
||||||
/// Bounding box X1 coordinate
|
/// Bounding box X1 coordinate
|
||||||
|
///
|
||||||
|
/// Minimum value: -9007199254740991
|
||||||
|
/// Maximum value: 9007199254740991
|
||||||
int boundingBoxX1;
|
int boundingBoxX1;
|
||||||
|
|
||||||
/// Bounding box X2 coordinate
|
/// Bounding box X2 coordinate
|
||||||
|
///
|
||||||
|
/// Minimum value: -9007199254740991
|
||||||
|
/// Maximum value: 9007199254740991
|
||||||
int boundingBoxX2;
|
int boundingBoxX2;
|
||||||
|
|
||||||
/// Bounding box Y1 coordinate
|
/// Bounding box Y1 coordinate
|
||||||
|
///
|
||||||
|
/// Minimum value: -9007199254740991
|
||||||
|
/// Maximum value: 9007199254740991
|
||||||
int boundingBoxY1;
|
int boundingBoxY1;
|
||||||
|
|
||||||
/// Bounding box Y2 coordinate
|
/// Bounding box Y2 coordinate
|
||||||
|
///
|
||||||
|
/// Minimum value: -9007199254740991
|
||||||
|
/// Maximum value: 9007199254740991
|
||||||
int boundingBoxY2;
|
int boundingBoxY2;
|
||||||
|
|
||||||
/// Face ID
|
/// Face ID
|
||||||
String id;
|
String id;
|
||||||
|
|
||||||
/// Image height in pixels
|
/// Image height in pixels
|
||||||
|
///
|
||||||
|
/// Minimum value: 0
|
||||||
|
/// Maximum value: 9007199254740991
|
||||||
int imageHeight;
|
int imageHeight;
|
||||||
|
|
||||||
/// Image width in pixels
|
/// Image width in pixels
|
||||||
|
///
|
||||||
|
/// Minimum value: 0
|
||||||
|
/// Maximum value: 9007199254740991
|
||||||
int imageWidth;
|
int imageWidth;
|
||||||
|
|
||||||
/// Face detection source type
|
|
||||||
///
|
///
|
||||||
/// Please note: This property should have been non-nullable! Since the specification file
|
/// Please note: This property should have been non-nullable! Since the specification file
|
||||||
/// does not include a default value (using the "default:" property), however, the generated
|
/// does not include a default value (using the "default:" property), however, the generated
|
||||||
|
|
|
||||||
|
|
@ -31,6 +31,7 @@ class AssetFullSyncDto {
|
||||||
/// Maximum number of assets to return
|
/// Maximum number of assets to return
|
||||||
///
|
///
|
||||||
/// Minimum value: 1
|
/// Minimum value: 1
|
||||||
|
/// Maximum value: 9007199254740991
|
||||||
int limit;
|
int limit;
|
||||||
|
|
||||||
/// Sync assets updated until this date
|
/// Sync assets updated until this date
|
||||||
|
|
@ -71,7 +72,9 @@ class AssetFullSyncDto {
|
||||||
// json[r'lastId'] = null;
|
// json[r'lastId'] = null;
|
||||||
}
|
}
|
||||||
json[r'limit'] = this.limit;
|
json[r'limit'] = this.limit;
|
||||||
json[r'updatedUntil'] = this.updatedUntil.toUtc().toIso8601String();
|
json[r'updatedUntil'] = _isEpochMarker(r'/^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$/')
|
||||||
|
? this.updatedUntil.millisecondsSinceEpoch
|
||||||
|
: this.updatedUntil.toUtc().toIso8601String();
|
||||||
if (this.userId != null) {
|
if (this.userId != null) {
|
||||||
json[r'userId'] = this.userId;
|
json[r'userId'] = this.userId;
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -91,7 +94,7 @@ class AssetFullSyncDto {
|
||||||
return AssetFullSyncDto(
|
return AssetFullSyncDto(
|
||||||
lastId: mapValueOfType<String>(json, r'lastId'),
|
lastId: mapValueOfType<String>(json, r'lastId'),
|
||||||
limit: mapValueOfType<int>(json, r'limit')!,
|
limit: mapValueOfType<int>(json, r'limit')!,
|
||||||
updatedUntil: mapDateTime(json, r'updatedUntil', r'')!,
|
updatedUntil: mapDateTime(json, r'updatedUntil', r'/^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$/')!,
|
||||||
userId: mapValueOfType<String>(json, r'userId'),
|
userId: mapValueOfType<String>(json, r'userId'),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
88
mobile/openapi/lib/model/asset_id_error_reason.dart
generated
Normal file
88
mobile/openapi/lib/model/asset_id_error_reason.dart
generated
Normal file
|
|
@ -0,0 +1,88 @@
|
||||||
|
//
|
||||||
|
// AUTO-GENERATED FILE, DO NOT MODIFY!
|
||||||
|
//
|
||||||
|
// @dart=2.18
|
||||||
|
|
||||||
|
// ignore_for_file: unused_element, unused_import
|
||||||
|
// ignore_for_file: always_put_required_named_parameters_first
|
||||||
|
// ignore_for_file: constant_identifier_names
|
||||||
|
// ignore_for_file: lines_longer_than_80_chars
|
||||||
|
|
||||||
|
part of openapi.api;
|
||||||
|
|
||||||
|
/// Error reason if failed
|
||||||
|
class AssetIdErrorReason {
|
||||||
|
/// Instantiate a new enum with the provided [value].
|
||||||
|
const AssetIdErrorReason._(this.value);
|
||||||
|
|
||||||
|
/// The underlying value of this enum member.
|
||||||
|
final String value;
|
||||||
|
|
||||||
|
@override
|
||||||
|
String toString() => value;
|
||||||
|
|
||||||
|
String toJson() => value;
|
||||||
|
|
||||||
|
static const duplicate = AssetIdErrorReason._(r'duplicate');
|
||||||
|
static const noPermission = AssetIdErrorReason._(r'no_permission');
|
||||||
|
static const notFound = AssetIdErrorReason._(r'not_found');
|
||||||
|
|
||||||
|
/// List of all possible values in this [enum][AssetIdErrorReason].
|
||||||
|
static const values = <AssetIdErrorReason>[
|
||||||
|
duplicate,
|
||||||
|
noPermission,
|
||||||
|
notFound,
|
||||||
|
];
|
||||||
|
|
||||||
|
static AssetIdErrorReason? fromJson(dynamic value) => AssetIdErrorReasonTypeTransformer().decode(value);
|
||||||
|
|
||||||
|
static List<AssetIdErrorReason> listFromJson(dynamic json, {bool growable = false,}) {
|
||||||
|
final result = <AssetIdErrorReason>[];
|
||||||
|
if (json is List && json.isNotEmpty) {
|
||||||
|
for (final row in json) {
|
||||||
|
final value = AssetIdErrorReason.fromJson(row);
|
||||||
|
if (value != null) {
|
||||||
|
result.add(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result.toList(growable: growable);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Transformation class that can [encode] an instance of [AssetIdErrorReason] to String,
|
||||||
|
/// and [decode] dynamic data back to [AssetIdErrorReason].
|
||||||
|
class AssetIdErrorReasonTypeTransformer {
|
||||||
|
factory AssetIdErrorReasonTypeTransformer() => _instance ??= const AssetIdErrorReasonTypeTransformer._();
|
||||||
|
|
||||||
|
const AssetIdErrorReasonTypeTransformer._();
|
||||||
|
|
||||||
|
String encode(AssetIdErrorReason data) => data.value;
|
||||||
|
|
||||||
|
/// Decodes a [dynamic value][data] to a AssetIdErrorReason.
|
||||||
|
///
|
||||||
|
/// If [allowNull] is true and the [dynamic value][data] cannot be decoded successfully,
|
||||||
|
/// then null is returned. However, if [allowNull] is false and the [dynamic value][data]
|
||||||
|
/// cannot be decoded successfully, then an [UnimplementedError] is thrown.
|
||||||
|
///
|
||||||
|
/// The [allowNull] is very handy when an API changes and a new enum value is added or removed,
|
||||||
|
/// and users are still using an old app with the old code.
|
||||||
|
AssetIdErrorReason? decode(dynamic data, {bool allowNull = true}) {
|
||||||
|
if (data != null) {
|
||||||
|
switch (data) {
|
||||||
|
case r'duplicate': return AssetIdErrorReason.duplicate;
|
||||||
|
case r'no_permission': return AssetIdErrorReason.noPermission;
|
||||||
|
case r'not_found': return AssetIdErrorReason.notFound;
|
||||||
|
default:
|
||||||
|
if (!allowNull) {
|
||||||
|
throw ArgumentError('Unknown enum value to decode: $data');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Singleton [AssetIdErrorReasonTypeTransformer] instance.
|
||||||
|
static AssetIdErrorReasonTypeTransformer? _instance;
|
||||||
|
}
|
||||||
|
|
||||||
88
mobile/openapi/lib/model/asset_ids_response_dto.dart
generated
88
mobile/openapi/lib/model/asset_ids_response_dto.dart
generated
|
|
@ -21,8 +21,13 @@ class AssetIdsResponseDto {
|
||||||
/// Asset ID
|
/// Asset ID
|
||||||
String assetId;
|
String assetId;
|
||||||
|
|
||||||
/// Error reason if failed
|
///
|
||||||
AssetIdsResponseDtoErrorEnum? error;
|
/// Please note: This property should have been non-nullable! Since the specification file
|
||||||
|
/// does not include a default value (using the "default:" property), however, the generated
|
||||||
|
/// source code must fall back to having a nullable type.
|
||||||
|
/// Consider adding a "default:" property in the specification file to hide this note.
|
||||||
|
///
|
||||||
|
AssetIdErrorReason? error;
|
||||||
|
|
||||||
/// Whether operation succeeded
|
/// Whether operation succeeded
|
||||||
bool success;
|
bool success;
|
||||||
|
|
@ -65,7 +70,7 @@ class AssetIdsResponseDto {
|
||||||
|
|
||||||
return AssetIdsResponseDto(
|
return AssetIdsResponseDto(
|
||||||
assetId: mapValueOfType<String>(json, r'assetId')!,
|
assetId: mapValueOfType<String>(json, r'assetId')!,
|
||||||
error: AssetIdsResponseDtoErrorEnum.fromJson(json[r'error']),
|
error: AssetIdErrorReason.fromJson(json[r'error']),
|
||||||
success: mapValueOfType<bool>(json, r'success')!,
|
success: mapValueOfType<bool>(json, r'success')!,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
@ -119,80 +124,3 @@ class AssetIdsResponseDto {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Error reason if failed
|
|
||||||
class AssetIdsResponseDtoErrorEnum {
|
|
||||||
/// Instantiate a new enum with the provided [value].
|
|
||||||
const AssetIdsResponseDtoErrorEnum._(this.value);
|
|
||||||
|
|
||||||
/// The underlying value of this enum member.
|
|
||||||
final String value;
|
|
||||||
|
|
||||||
@override
|
|
||||||
String toString() => value;
|
|
||||||
|
|
||||||
String toJson() => value;
|
|
||||||
|
|
||||||
static const duplicate = AssetIdsResponseDtoErrorEnum._(r'duplicate');
|
|
||||||
static const noPermission = AssetIdsResponseDtoErrorEnum._(r'no_permission');
|
|
||||||
static const notFound = AssetIdsResponseDtoErrorEnum._(r'not_found');
|
|
||||||
|
|
||||||
/// List of all possible values in this [enum][AssetIdsResponseDtoErrorEnum].
|
|
||||||
static const values = <AssetIdsResponseDtoErrorEnum>[
|
|
||||||
duplicate,
|
|
||||||
noPermission,
|
|
||||||
notFound,
|
|
||||||
];
|
|
||||||
|
|
||||||
static AssetIdsResponseDtoErrorEnum? fromJson(dynamic value) => AssetIdsResponseDtoErrorEnumTypeTransformer().decode(value);
|
|
||||||
|
|
||||||
static List<AssetIdsResponseDtoErrorEnum> listFromJson(dynamic json, {bool growable = false,}) {
|
|
||||||
final result = <AssetIdsResponseDtoErrorEnum>[];
|
|
||||||
if (json is List && json.isNotEmpty) {
|
|
||||||
for (final row in json) {
|
|
||||||
final value = AssetIdsResponseDtoErrorEnum.fromJson(row);
|
|
||||||
if (value != null) {
|
|
||||||
result.add(value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return result.toList(growable: growable);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Transformation class that can [encode] an instance of [AssetIdsResponseDtoErrorEnum] to String,
|
|
||||||
/// and [decode] dynamic data back to [AssetIdsResponseDtoErrorEnum].
|
|
||||||
class AssetIdsResponseDtoErrorEnumTypeTransformer {
|
|
||||||
factory AssetIdsResponseDtoErrorEnumTypeTransformer() => _instance ??= const AssetIdsResponseDtoErrorEnumTypeTransformer._();
|
|
||||||
|
|
||||||
const AssetIdsResponseDtoErrorEnumTypeTransformer._();
|
|
||||||
|
|
||||||
String encode(AssetIdsResponseDtoErrorEnum data) => data.value;
|
|
||||||
|
|
||||||
/// Decodes a [dynamic value][data] to a AssetIdsResponseDtoErrorEnum.
|
|
||||||
///
|
|
||||||
/// If [allowNull] is true and the [dynamic value][data] cannot be decoded successfully,
|
|
||||||
/// then null is returned. However, if [allowNull] is false and the [dynamic value][data]
|
|
||||||
/// cannot be decoded successfully, then an [UnimplementedError] is thrown.
|
|
||||||
///
|
|
||||||
/// The [allowNull] is very handy when an API changes and a new enum value is added or removed,
|
|
||||||
/// and users are still using an old app with the old code.
|
|
||||||
AssetIdsResponseDtoErrorEnum? decode(dynamic data, {bool allowNull = true}) {
|
|
||||||
if (data != null) {
|
|
||||||
switch (data) {
|
|
||||||
case r'duplicate': return AssetIdsResponseDtoErrorEnum.duplicate;
|
|
||||||
case r'no_permission': return AssetIdsResponseDtoErrorEnum.noPermission;
|
|
||||||
case r'not_found': return AssetIdsResponseDtoErrorEnum.notFound;
|
|
||||||
default:
|
|
||||||
if (!allowNull) {
|
|
||||||
throw ArgumentError('Unknown enum value to decode: $data');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Singleton [AssetIdsResponseDtoErrorEnumTypeTransformer] instance.
|
|
||||||
static AssetIdsResponseDtoErrorEnumTypeTransformer? _instance;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
1
mobile/openapi/lib/model/asset_jobs_dto.dart
generated
1
mobile/openapi/lib/model/asset_jobs_dto.dart
generated
|
|
@ -20,7 +20,6 @@ class AssetJobsDto {
|
||||||
/// Asset IDs
|
/// Asset IDs
|
||||||
List<String> assetIds;
|
List<String> assetIds;
|
||||||
|
|
||||||
/// Job name
|
|
||||||
AssetJobName name;
|
AssetJobName name;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,6 @@ class AssetMediaResponseDto {
|
||||||
/// Asset media ID
|
/// Asset media ID
|
||||||
String id;
|
String id;
|
||||||
|
|
||||||
/// Upload status
|
|
||||||
AssetMediaStatus status;
|
AssetMediaStatus status;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|
|
||||||
2
mobile/openapi/lib/model/asset_media_size.dart
generated
2
mobile/openapi/lib/model/asset_media_size.dart
generated
|
|
@ -10,7 +10,7 @@
|
||||||
|
|
||||||
part of openapi.api;
|
part of openapi.api;
|
||||||
|
|
||||||
|
/// Asset media size
|
||||||
class AssetMediaSize {
|
class AssetMediaSize {
|
||||||
/// Instantiate a new enum with the provided [value].
|
/// Instantiate a new enum with the provided [value].
|
||||||
const AssetMediaSize._(this.value);
|
const AssetMediaSize._(this.value);
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ class AssetMetadataBulkResponseDto {
|
||||||
required this.assetId,
|
required this.assetId,
|
||||||
required this.key,
|
required this.key,
|
||||||
required this.updatedAt,
|
required this.updatedAt,
|
||||||
required this.value,
|
this.value = const {},
|
||||||
});
|
});
|
||||||
|
|
||||||
/// Asset ID
|
/// Asset ID
|
||||||
|
|
@ -29,14 +29,14 @@ class AssetMetadataBulkResponseDto {
|
||||||
DateTime updatedAt;
|
DateTime updatedAt;
|
||||||
|
|
||||||
/// Metadata value (object)
|
/// Metadata value (object)
|
||||||
Object value;
|
Map<String, Object> value;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
bool operator ==(Object other) => identical(this, other) || other is AssetMetadataBulkResponseDto &&
|
bool operator ==(Object other) => identical(this, other) || other is AssetMetadataBulkResponseDto &&
|
||||||
other.assetId == assetId &&
|
other.assetId == assetId &&
|
||||||
other.key == key &&
|
other.key == key &&
|
||||||
other.updatedAt == updatedAt &&
|
other.updatedAt == updatedAt &&
|
||||||
other.value == value;
|
_deepEquality.equals(other.value, value);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
int get hashCode =>
|
int get hashCode =>
|
||||||
|
|
@ -53,7 +53,9 @@ class AssetMetadataBulkResponseDto {
|
||||||
final json = <String, dynamic>{};
|
final json = <String, dynamic>{};
|
||||||
json[r'assetId'] = this.assetId;
|
json[r'assetId'] = this.assetId;
|
||||||
json[r'key'] = this.key;
|
json[r'key'] = this.key;
|
||||||
json[r'updatedAt'] = this.updatedAt.toUtc().toIso8601String();
|
json[r'updatedAt'] = _isEpochMarker(r'/^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$/')
|
||||||
|
? this.updatedAt.millisecondsSinceEpoch
|
||||||
|
: this.updatedAt.toUtc().toIso8601String();
|
||||||
json[r'value'] = this.value;
|
json[r'value'] = this.value;
|
||||||
return json;
|
return json;
|
||||||
}
|
}
|
||||||
|
|
@ -69,8 +71,8 @@ class AssetMetadataBulkResponseDto {
|
||||||
return AssetMetadataBulkResponseDto(
|
return AssetMetadataBulkResponseDto(
|
||||||
assetId: mapValueOfType<String>(json, r'assetId')!,
|
assetId: mapValueOfType<String>(json, r'assetId')!,
|
||||||
key: mapValueOfType<String>(json, r'key')!,
|
key: mapValueOfType<String>(json, r'key')!,
|
||||||
updatedAt: mapDateTime(json, r'updatedAt', r'')!,
|
updatedAt: mapDateTime(json, r'updatedAt', r'/^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$/')!,
|
||||||
value: mapValueOfType<Object>(json, r'value')!,
|
value: mapCastOfType<String, Object>(json, r'value')!,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@ class AssetMetadataBulkUpsertItemDto {
|
||||||
AssetMetadataBulkUpsertItemDto({
|
AssetMetadataBulkUpsertItemDto({
|
||||||
required this.assetId,
|
required this.assetId,
|
||||||
required this.key,
|
required this.key,
|
||||||
required this.value,
|
this.value = const {},
|
||||||
});
|
});
|
||||||
|
|
||||||
/// Asset ID
|
/// Asset ID
|
||||||
|
|
@ -25,13 +25,13 @@ class AssetMetadataBulkUpsertItemDto {
|
||||||
String key;
|
String key;
|
||||||
|
|
||||||
/// Metadata value (object)
|
/// Metadata value (object)
|
||||||
Object value;
|
Map<String, Object> value;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
bool operator ==(Object other) => identical(this, other) || other is AssetMetadataBulkUpsertItemDto &&
|
bool operator ==(Object other) => identical(this, other) || other is AssetMetadataBulkUpsertItemDto &&
|
||||||
other.assetId == assetId &&
|
other.assetId == assetId &&
|
||||||
other.key == key &&
|
other.key == key &&
|
||||||
other.value == value;
|
_deepEquality.equals(other.value, value);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
int get hashCode =>
|
int get hashCode =>
|
||||||
|
|
@ -62,7 +62,7 @@ class AssetMetadataBulkUpsertItemDto {
|
||||||
return AssetMetadataBulkUpsertItemDto(
|
return AssetMetadataBulkUpsertItemDto(
|
||||||
assetId: mapValueOfType<String>(json, r'assetId')!,
|
assetId: mapValueOfType<String>(json, r'assetId')!,
|
||||||
key: mapValueOfType<String>(json, r'key')!,
|
key: mapValueOfType<String>(json, r'key')!,
|
||||||
value: mapValueOfType<Object>(json, r'value')!,
|
value: mapCastOfType<String, Object>(json, r'value')!,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@ class AssetMetadataResponseDto {
|
||||||
AssetMetadataResponseDto({
|
AssetMetadataResponseDto({
|
||||||
required this.key,
|
required this.key,
|
||||||
required this.updatedAt,
|
required this.updatedAt,
|
||||||
required this.value,
|
this.value = const {},
|
||||||
});
|
});
|
||||||
|
|
||||||
/// Metadata key
|
/// Metadata key
|
||||||
|
|
@ -25,13 +25,13 @@ class AssetMetadataResponseDto {
|
||||||
DateTime updatedAt;
|
DateTime updatedAt;
|
||||||
|
|
||||||
/// Metadata value (object)
|
/// Metadata value (object)
|
||||||
Object value;
|
Map<String, Object> value;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
bool operator ==(Object other) => identical(this, other) || other is AssetMetadataResponseDto &&
|
bool operator ==(Object other) => identical(this, other) || other is AssetMetadataResponseDto &&
|
||||||
other.key == key &&
|
other.key == key &&
|
||||||
other.updatedAt == updatedAt &&
|
other.updatedAt == updatedAt &&
|
||||||
other.value == value;
|
_deepEquality.equals(other.value, value);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
int get hashCode =>
|
int get hashCode =>
|
||||||
|
|
@ -46,7 +46,9 @@ class AssetMetadataResponseDto {
|
||||||
Map<String, dynamic> toJson() {
|
Map<String, dynamic> toJson() {
|
||||||
final json = <String, dynamic>{};
|
final json = <String, dynamic>{};
|
||||||
json[r'key'] = this.key;
|
json[r'key'] = this.key;
|
||||||
json[r'updatedAt'] = this.updatedAt.toUtc().toIso8601String();
|
json[r'updatedAt'] = _isEpochMarker(r'/^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$/')
|
||||||
|
? this.updatedAt.millisecondsSinceEpoch
|
||||||
|
: this.updatedAt.toUtc().toIso8601String();
|
||||||
json[r'value'] = this.value;
|
json[r'value'] = this.value;
|
||||||
return json;
|
return json;
|
||||||
}
|
}
|
||||||
|
|
@ -61,8 +63,8 @@ class AssetMetadataResponseDto {
|
||||||
|
|
||||||
return AssetMetadataResponseDto(
|
return AssetMetadataResponseDto(
|
||||||
key: mapValueOfType<String>(json, r'key')!,
|
key: mapValueOfType<String>(json, r'key')!,
|
||||||
updatedAt: mapDateTime(json, r'updatedAt', r'')!,
|
updatedAt: mapDateTime(json, r'updatedAt', r'/^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$/')!,
|
||||||
value: mapValueOfType<Object>(json, r'value')!,
|
value: mapCastOfType<String, Object>(json, r'value')!,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
|
|
||||||
|
|
@ -14,19 +14,19 @@ class AssetMetadataUpsertItemDto {
|
||||||
/// Returns a new [AssetMetadataUpsertItemDto] instance.
|
/// Returns a new [AssetMetadataUpsertItemDto] instance.
|
||||||
AssetMetadataUpsertItemDto({
|
AssetMetadataUpsertItemDto({
|
||||||
required this.key,
|
required this.key,
|
||||||
required this.value,
|
this.value = const {},
|
||||||
});
|
});
|
||||||
|
|
||||||
/// Metadata key
|
/// Metadata key
|
||||||
String key;
|
String key;
|
||||||
|
|
||||||
/// Metadata value (object)
|
/// Metadata value (object)
|
||||||
Object value;
|
Map<String, Object> value;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
bool operator ==(Object other) => identical(this, other) || other is AssetMetadataUpsertItemDto &&
|
bool operator ==(Object other) => identical(this, other) || other is AssetMetadataUpsertItemDto &&
|
||||||
other.key == key &&
|
other.key == key &&
|
||||||
other.value == value;
|
_deepEquality.equals(other.value, value);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
int get hashCode =>
|
int get hashCode =>
|
||||||
|
|
@ -54,7 +54,7 @@ class AssetMetadataUpsertItemDto {
|
||||||
|
|
||||||
return AssetMetadataUpsertItemDto(
|
return AssetMetadataUpsertItemDto(
|
||||||
key: mapValueOfType<String>(json, r'key')!,
|
key: mapValueOfType<String>(json, r'key')!,
|
||||||
value: mapValueOfType<Object>(json, r'value')!,
|
value: mapCastOfType<String, Object>(json, r'value')!,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
|
|
||||||
85
mobile/openapi/lib/model/asset_reject_reason.dart
generated
Normal file
85
mobile/openapi/lib/model/asset_reject_reason.dart
generated
Normal file
|
|
@ -0,0 +1,85 @@
|
||||||
|
//
|
||||||
|
// AUTO-GENERATED FILE, DO NOT MODIFY!
|
||||||
|
//
|
||||||
|
// @dart=2.18
|
||||||
|
|
||||||
|
// ignore_for_file: unused_element, unused_import
|
||||||
|
// ignore_for_file: always_put_required_named_parameters_first
|
||||||
|
// ignore_for_file: constant_identifier_names
|
||||||
|
// ignore_for_file: lines_longer_than_80_chars
|
||||||
|
|
||||||
|
part of openapi.api;
|
||||||
|
|
||||||
|
/// Rejection reason if rejected
|
||||||
|
class AssetRejectReason {
|
||||||
|
/// Instantiate a new enum with the provided [value].
|
||||||
|
const AssetRejectReason._(this.value);
|
||||||
|
|
||||||
|
/// The underlying value of this enum member.
|
||||||
|
final String value;
|
||||||
|
|
||||||
|
@override
|
||||||
|
String toString() => value;
|
||||||
|
|
||||||
|
String toJson() => value;
|
||||||
|
|
||||||
|
static const duplicate = AssetRejectReason._(r'duplicate');
|
||||||
|
static const unsupportedFormat = AssetRejectReason._(r'unsupported-format');
|
||||||
|
|
||||||
|
/// List of all possible values in this [enum][AssetRejectReason].
|
||||||
|
static const values = <AssetRejectReason>[
|
||||||
|
duplicate,
|
||||||
|
unsupportedFormat,
|
||||||
|
];
|
||||||
|
|
||||||
|
static AssetRejectReason? fromJson(dynamic value) => AssetRejectReasonTypeTransformer().decode(value);
|
||||||
|
|
||||||
|
static List<AssetRejectReason> listFromJson(dynamic json, {bool growable = false,}) {
|
||||||
|
final result = <AssetRejectReason>[];
|
||||||
|
if (json is List && json.isNotEmpty) {
|
||||||
|
for (final row in json) {
|
||||||
|
final value = AssetRejectReason.fromJson(row);
|
||||||
|
if (value != null) {
|
||||||
|
result.add(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result.toList(growable: growable);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Transformation class that can [encode] an instance of [AssetRejectReason] to String,
|
||||||
|
/// and [decode] dynamic data back to [AssetRejectReason].
|
||||||
|
class AssetRejectReasonTypeTransformer {
|
||||||
|
factory AssetRejectReasonTypeTransformer() => _instance ??= const AssetRejectReasonTypeTransformer._();
|
||||||
|
|
||||||
|
const AssetRejectReasonTypeTransformer._();
|
||||||
|
|
||||||
|
String encode(AssetRejectReason data) => data.value;
|
||||||
|
|
||||||
|
/// Decodes a [dynamic value][data] to a AssetRejectReason.
|
||||||
|
///
|
||||||
|
/// If [allowNull] is true and the [dynamic value][data] cannot be decoded successfully,
|
||||||
|
/// then null is returned. However, if [allowNull] is false and the [dynamic value][data]
|
||||||
|
/// cannot be decoded successfully, then an [UnimplementedError] is thrown.
|
||||||
|
///
|
||||||
|
/// The [allowNull] is very handy when an API changes and a new enum value is added or removed,
|
||||||
|
/// and users are still using an old app with the old code.
|
||||||
|
AssetRejectReason? decode(dynamic data, {bool allowNull = true}) {
|
||||||
|
if (data != null) {
|
||||||
|
switch (data) {
|
||||||
|
case r'duplicate': return AssetRejectReason.duplicate;
|
||||||
|
case r'unsupported-format': return AssetRejectReason.unsupportedFormat;
|
||||||
|
default:
|
||||||
|
if (!allowNull) {
|
||||||
|
throw ArgumentError('Unknown enum value to decode: $data');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Singleton [AssetRejectReasonTypeTransformer] instance.
|
||||||
|
static AssetRejectReasonTypeTransformer? _instance;
|
||||||
|
}
|
||||||
|
|
||||||
6
mobile/openapi/lib/model/asset_response_dto.dart
generated
6
mobile/openapi/lib/model/asset_response_dto.dart
generated
|
|
@ -86,6 +86,8 @@ class AssetResponseDto {
|
||||||
bool hasMetadata;
|
bool hasMetadata;
|
||||||
|
|
||||||
/// Asset height
|
/// Asset height
|
||||||
|
///
|
||||||
|
/// Minimum value: 0
|
||||||
num? height;
|
num? height;
|
||||||
|
|
||||||
/// Asset ID
|
/// Asset ID
|
||||||
|
|
@ -159,7 +161,6 @@ class AssetResponseDto {
|
||||||
/// Thumbhash for thumbnail generation (base64) also used as the c query param for thumbnail cache busting.
|
/// Thumbhash for thumbnail generation (base64) also used as the c query param for thumbnail cache busting.
|
||||||
String? thumbhash;
|
String? thumbhash;
|
||||||
|
|
||||||
/// Asset type
|
|
||||||
AssetTypeEnum type;
|
AssetTypeEnum type;
|
||||||
|
|
||||||
List<AssetFaceWithoutPersonResponseDto> unassignedFaces;
|
List<AssetFaceWithoutPersonResponseDto> unassignedFaces;
|
||||||
|
|
@ -167,10 +168,11 @@ class AssetResponseDto {
|
||||||
/// The UTC timestamp when the asset record was last updated in the database. This is automatically maintained by the database and reflects when any field in the asset was last modified.
|
/// The UTC timestamp when the asset record was last updated in the database. This is automatically maintained by the database and reflects when any field in the asset was last modified.
|
||||||
DateTime updatedAt;
|
DateTime updatedAt;
|
||||||
|
|
||||||
/// Asset visibility
|
|
||||||
AssetVisibility visibility;
|
AssetVisibility visibility;
|
||||||
|
|
||||||
/// Asset width
|
/// Asset width
|
||||||
|
///
|
||||||
|
/// Minimum value: 0
|
||||||
num? width;
|
num? width;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,9 @@ class AssetStackResponseDto {
|
||||||
});
|
});
|
||||||
|
|
||||||
/// Number of assets in stack
|
/// Number of assets in stack
|
||||||
|
///
|
||||||
|
/// Minimum value: 0
|
||||||
|
/// Maximum value: 9007199254740991
|
||||||
int assetCount;
|
int assetCount;
|
||||||
|
|
||||||
/// Stack ID
|
/// Stack ID
|
||||||
|
|
|
||||||
|
|
@ -19,12 +19,21 @@ class AssetStatsResponseDto {
|
||||||
});
|
});
|
||||||
|
|
||||||
/// Number of images
|
/// Number of images
|
||||||
|
///
|
||||||
|
/// Minimum value: -9007199254740991
|
||||||
|
/// Maximum value: 9007199254740991
|
||||||
int images;
|
int images;
|
||||||
|
|
||||||
/// Total number of assets
|
/// Total number of assets
|
||||||
|
///
|
||||||
|
/// Minimum value: -9007199254740991
|
||||||
|
/// Maximum value: 9007199254740991
|
||||||
int total;
|
int total;
|
||||||
|
|
||||||
/// Number of videos
|
/// Number of videos
|
||||||
|
///
|
||||||
|
/// Minimum value: -9007199254740991
|
||||||
|
/// Maximum value: 9007199254740991
|
||||||
int videos;
|
int videos;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|
|
||||||
85
mobile/openapi/lib/model/asset_upload_action.dart
generated
Normal file
85
mobile/openapi/lib/model/asset_upload_action.dart
generated
Normal file
|
|
@ -0,0 +1,85 @@
|
||||||
|
//
|
||||||
|
// AUTO-GENERATED FILE, DO NOT MODIFY!
|
||||||
|
//
|
||||||
|
// @dart=2.18
|
||||||
|
|
||||||
|
// ignore_for_file: unused_element, unused_import
|
||||||
|
// ignore_for_file: always_put_required_named_parameters_first
|
||||||
|
// ignore_for_file: constant_identifier_names
|
||||||
|
// ignore_for_file: lines_longer_than_80_chars
|
||||||
|
|
||||||
|
part of openapi.api;
|
||||||
|
|
||||||
|
/// Upload action
|
||||||
|
class AssetUploadAction {
|
||||||
|
/// Instantiate a new enum with the provided [value].
|
||||||
|
const AssetUploadAction._(this.value);
|
||||||
|
|
||||||
|
/// The underlying value of this enum member.
|
||||||
|
final String value;
|
||||||
|
|
||||||
|
@override
|
||||||
|
String toString() => value;
|
||||||
|
|
||||||
|
String toJson() => value;
|
||||||
|
|
||||||
|
static const accept = AssetUploadAction._(r'accept');
|
||||||
|
static const reject = AssetUploadAction._(r'reject');
|
||||||
|
|
||||||
|
/// List of all possible values in this [enum][AssetUploadAction].
|
||||||
|
static const values = <AssetUploadAction>[
|
||||||
|
accept,
|
||||||
|
reject,
|
||||||
|
];
|
||||||
|
|
||||||
|
static AssetUploadAction? fromJson(dynamic value) => AssetUploadActionTypeTransformer().decode(value);
|
||||||
|
|
||||||
|
static List<AssetUploadAction> listFromJson(dynamic json, {bool growable = false,}) {
|
||||||
|
final result = <AssetUploadAction>[];
|
||||||
|
if (json is List && json.isNotEmpty) {
|
||||||
|
for (final row in json) {
|
||||||
|
final value = AssetUploadAction.fromJson(row);
|
||||||
|
if (value != null) {
|
||||||
|
result.add(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result.toList(growable: growable);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Transformation class that can [encode] an instance of [AssetUploadAction] to String,
|
||||||
|
/// and [decode] dynamic data back to [AssetUploadAction].
|
||||||
|
class AssetUploadActionTypeTransformer {
|
||||||
|
factory AssetUploadActionTypeTransformer() => _instance ??= const AssetUploadActionTypeTransformer._();
|
||||||
|
|
||||||
|
const AssetUploadActionTypeTransformer._();
|
||||||
|
|
||||||
|
String encode(AssetUploadAction data) => data.value;
|
||||||
|
|
||||||
|
/// Decodes a [dynamic value][data] to a AssetUploadAction.
|
||||||
|
///
|
||||||
|
/// If [allowNull] is true and the [dynamic value][data] cannot be decoded successfully,
|
||||||
|
/// then null is returned. However, if [allowNull] is false and the [dynamic value][data]
|
||||||
|
/// cannot be decoded successfully, then an [UnimplementedError] is thrown.
|
||||||
|
///
|
||||||
|
/// The [allowNull] is very handy when an API changes and a new enum value is added or removed,
|
||||||
|
/// and users are still using an old app with the old code.
|
||||||
|
AssetUploadAction? decode(dynamic data, {bool allowNull = true}) {
|
||||||
|
if (data != null) {
|
||||||
|
switch (data) {
|
||||||
|
case r'accept': return AssetUploadAction.accept;
|
||||||
|
case r'reject': return AssetUploadAction.reject;
|
||||||
|
default:
|
||||||
|
if (!allowNull) {
|
||||||
|
throw ArgumentError('Unknown enum value to decode: $data');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Singleton [AssetUploadActionTypeTransformer] instance.
|
||||||
|
static AssetUploadActionTypeTransformer? _instance;
|
||||||
|
}
|
||||||
|
|
||||||
1
mobile/openapi/lib/model/avatar_update.dart
generated
1
mobile/openapi/lib/model/avatar_update.dart
generated
|
|
@ -16,7 +16,6 @@ class AvatarUpdate {
|
||||||
this.color,
|
this.color,
|
||||||
});
|
});
|
||||||
|
|
||||||
/// Avatar color
|
|
||||||
///
|
///
|
||||||
/// Please note: This property should have been non-nullable! Since the specification file
|
/// Please note: This property should have been non-nullable! Since the specification file
|
||||||
/// does not include a default value (using the "default:" property), however, the generated
|
/// does not include a default value (using the "default:" property), however, the generated
|
||||||
|
|
|
||||||
94
mobile/openapi/lib/model/bulk_id_response_dto.dart
generated
94
mobile/openapi/lib/model/bulk_id_response_dto.dart
generated
|
|
@ -19,8 +19,13 @@ class BulkIdResponseDto {
|
||||||
required this.success,
|
required this.success,
|
||||||
});
|
});
|
||||||
|
|
||||||
/// Error reason if failed
|
///
|
||||||
BulkIdResponseDtoErrorEnum? error;
|
/// Please note: This property should have been non-nullable! Since the specification file
|
||||||
|
/// does not include a default value (using the "default:" property), however, the generated
|
||||||
|
/// source code must fall back to having a nullable type.
|
||||||
|
/// Consider adding a "default:" property in the specification file to hide this note.
|
||||||
|
///
|
||||||
|
BulkIdErrorReason? error;
|
||||||
|
|
||||||
///
|
///
|
||||||
/// Please note: This property should have been non-nullable! Since the specification file
|
/// Please note: This property should have been non-nullable! Since the specification file
|
||||||
|
|
@ -80,7 +85,7 @@ class BulkIdResponseDto {
|
||||||
final json = value.cast<String, dynamic>();
|
final json = value.cast<String, dynamic>();
|
||||||
|
|
||||||
return BulkIdResponseDto(
|
return BulkIdResponseDto(
|
||||||
error: BulkIdResponseDtoErrorEnum.fromJson(json[r'error']),
|
error: BulkIdErrorReason.fromJson(json[r'error']),
|
||||||
errorMessage: mapValueOfType<String>(json, r'errorMessage'),
|
errorMessage: mapValueOfType<String>(json, r'errorMessage'),
|
||||||
id: mapValueOfType<String>(json, r'id')!,
|
id: mapValueOfType<String>(json, r'id')!,
|
||||||
success: mapValueOfType<bool>(json, r'success')!,
|
success: mapValueOfType<bool>(json, r'success')!,
|
||||||
|
|
@ -136,86 +141,3 @@ class BulkIdResponseDto {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Error reason if failed
|
|
||||||
class BulkIdResponseDtoErrorEnum {
|
|
||||||
/// Instantiate a new enum with the provided [value].
|
|
||||||
const BulkIdResponseDtoErrorEnum._(this.value);
|
|
||||||
|
|
||||||
/// The underlying value of this enum member.
|
|
||||||
final String value;
|
|
||||||
|
|
||||||
@override
|
|
||||||
String toString() => value;
|
|
||||||
|
|
||||||
String toJson() => value;
|
|
||||||
|
|
||||||
static const duplicate = BulkIdResponseDtoErrorEnum._(r'duplicate');
|
|
||||||
static const noPermission = BulkIdResponseDtoErrorEnum._(r'no_permission');
|
|
||||||
static const notFound = BulkIdResponseDtoErrorEnum._(r'not_found');
|
|
||||||
static const unknown = BulkIdResponseDtoErrorEnum._(r'unknown');
|
|
||||||
static const validation = BulkIdResponseDtoErrorEnum._(r'validation');
|
|
||||||
|
|
||||||
/// List of all possible values in this [enum][BulkIdResponseDtoErrorEnum].
|
|
||||||
static const values = <BulkIdResponseDtoErrorEnum>[
|
|
||||||
duplicate,
|
|
||||||
noPermission,
|
|
||||||
notFound,
|
|
||||||
unknown,
|
|
||||||
validation,
|
|
||||||
];
|
|
||||||
|
|
||||||
static BulkIdResponseDtoErrorEnum? fromJson(dynamic value) => BulkIdResponseDtoErrorEnumTypeTransformer().decode(value);
|
|
||||||
|
|
||||||
static List<BulkIdResponseDtoErrorEnum> listFromJson(dynamic json, {bool growable = false,}) {
|
|
||||||
final result = <BulkIdResponseDtoErrorEnum>[];
|
|
||||||
if (json is List && json.isNotEmpty) {
|
|
||||||
for (final row in json) {
|
|
||||||
final value = BulkIdResponseDtoErrorEnum.fromJson(row);
|
|
||||||
if (value != null) {
|
|
||||||
result.add(value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return result.toList(growable: growable);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Transformation class that can [encode] an instance of [BulkIdResponseDtoErrorEnum] to String,
|
|
||||||
/// and [decode] dynamic data back to [BulkIdResponseDtoErrorEnum].
|
|
||||||
class BulkIdResponseDtoErrorEnumTypeTransformer {
|
|
||||||
factory BulkIdResponseDtoErrorEnumTypeTransformer() => _instance ??= const BulkIdResponseDtoErrorEnumTypeTransformer._();
|
|
||||||
|
|
||||||
const BulkIdResponseDtoErrorEnumTypeTransformer._();
|
|
||||||
|
|
||||||
String encode(BulkIdResponseDtoErrorEnum data) => data.value;
|
|
||||||
|
|
||||||
/// Decodes a [dynamic value][data] to a BulkIdResponseDtoErrorEnum.
|
|
||||||
///
|
|
||||||
/// If [allowNull] is true and the [dynamic value][data] cannot be decoded successfully,
|
|
||||||
/// then null is returned. However, if [allowNull] is false and the [dynamic value][data]
|
|
||||||
/// cannot be decoded successfully, then an [UnimplementedError] is thrown.
|
|
||||||
///
|
|
||||||
/// The [allowNull] is very handy when an API changes and a new enum value is added or removed,
|
|
||||||
/// and users are still using an old app with the old code.
|
|
||||||
BulkIdResponseDtoErrorEnum? decode(dynamic data, {bool allowNull = true}) {
|
|
||||||
if (data != null) {
|
|
||||||
switch (data) {
|
|
||||||
case r'duplicate': return BulkIdResponseDtoErrorEnum.duplicate;
|
|
||||||
case r'no_permission': return BulkIdResponseDtoErrorEnum.noPermission;
|
|
||||||
case r'not_found': return BulkIdResponseDtoErrorEnum.notFound;
|
|
||||||
case r'unknown': return BulkIdResponseDtoErrorEnum.unknown;
|
|
||||||
case r'validation': return BulkIdResponseDtoErrorEnum.validation;
|
|
||||||
default:
|
|
||||||
if (!allowNull) {
|
|
||||||
throw ArgumentError('Unknown enum value to decode: $data');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Singleton [BulkIdResponseDtoErrorEnumTypeTransformer] instance.
|
|
||||||
static BulkIdResponseDtoErrorEnumTypeTransformer? _instance;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
2
mobile/openapi/lib/model/cast_response.dart
generated
2
mobile/openapi/lib/model/cast_response.dart
generated
|
|
@ -13,7 +13,7 @@ part of openapi.api;
|
||||||
class CastResponse {
|
class CastResponse {
|
||||||
/// Returns a new [CastResponse] instance.
|
/// Returns a new [CastResponse] instance.
|
||||||
CastResponse({
|
CastResponse({
|
||||||
this.gCastEnabled = false,
|
required this.gCastEnabled,
|
||||||
});
|
});
|
||||||
|
|
||||||
/// Whether Google Cast is enabled
|
/// Whether Google Cast is enabled
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,9 @@ class ContributorCountResponseDto {
|
||||||
});
|
});
|
||||||
|
|
||||||
/// Number of assets contributed
|
/// Number of assets contributed
|
||||||
|
///
|
||||||
|
/// Minimum value: 0
|
||||||
|
/// Maximum value: 9007199254740991
|
||||||
int assetCount;
|
int assetCount;
|
||||||
|
|
||||||
/// User ID
|
/// User ID
|
||||||
|
|
|
||||||
20
mobile/openapi/lib/model/create_library_dto.dart
generated
20
mobile/openapi/lib/model/create_library_dto.dart
generated
|
|
@ -13,17 +13,17 @@ part of openapi.api;
|
||||||
class CreateLibraryDto {
|
class CreateLibraryDto {
|
||||||
/// Returns a new [CreateLibraryDto] instance.
|
/// Returns a new [CreateLibraryDto] instance.
|
||||||
CreateLibraryDto({
|
CreateLibraryDto({
|
||||||
this.exclusionPatterns = const {},
|
this.exclusionPatterns = const [],
|
||||||
this.importPaths = const {},
|
this.importPaths = const [],
|
||||||
this.name,
|
this.name,
|
||||||
required this.ownerId,
|
required this.ownerId,
|
||||||
});
|
});
|
||||||
|
|
||||||
/// Exclusion patterns (max 128)
|
/// Exclusion patterns (max 128)
|
||||||
Set<String> exclusionPatterns;
|
List<String> exclusionPatterns;
|
||||||
|
|
||||||
/// Import paths (max 128)
|
/// Import paths (max 128)
|
||||||
Set<String> importPaths;
|
List<String> importPaths;
|
||||||
|
|
||||||
/// Library name
|
/// Library name
|
||||||
///
|
///
|
||||||
|
|
@ -57,8 +57,8 @@ class CreateLibraryDto {
|
||||||
|
|
||||||
Map<String, dynamic> toJson() {
|
Map<String, dynamic> toJson() {
|
||||||
final json = <String, dynamic>{};
|
final json = <String, dynamic>{};
|
||||||
json[r'exclusionPatterns'] = this.exclusionPatterns.toList(growable: false);
|
json[r'exclusionPatterns'] = this.exclusionPatterns;
|
||||||
json[r'importPaths'] = this.importPaths.toList(growable: false);
|
json[r'importPaths'] = this.importPaths;
|
||||||
if (this.name != null) {
|
if (this.name != null) {
|
||||||
json[r'name'] = this.name;
|
json[r'name'] = this.name;
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -78,11 +78,11 @@ class CreateLibraryDto {
|
||||||
|
|
||||||
return CreateLibraryDto(
|
return CreateLibraryDto(
|
||||||
exclusionPatterns: json[r'exclusionPatterns'] is Iterable
|
exclusionPatterns: json[r'exclusionPatterns'] is Iterable
|
||||||
? (json[r'exclusionPatterns'] as Iterable).cast<String>().toSet()
|
? (json[r'exclusionPatterns'] as Iterable).cast<String>().toList(growable: false)
|
||||||
: const {},
|
: const [],
|
||||||
importPaths: json[r'importPaths'] is Iterable
|
importPaths: json[r'importPaths'] is Iterable
|
||||||
? (json[r'importPaths'] as Iterable).cast<String>().toSet()
|
? (json[r'importPaths'] as Iterable).cast<String>().toList(growable: false)
|
||||||
: const {},
|
: const [],
|
||||||
name: mapValueOfType<String>(json, r'name'),
|
name: mapValueOfType<String>(json, r'name'),
|
||||||
ownerId: mapValueOfType<String>(json, r'ownerId')!,
|
ownerId: mapValueOfType<String>(json, r'ownerId')!,
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -45,7 +45,9 @@ class CreateProfileImageResponseDto {
|
||||||
|
|
||||||
Map<String, dynamic> toJson() {
|
Map<String, dynamic> toJson() {
|
||||||
final json = <String, dynamic>{};
|
final json = <String, dynamic>{};
|
||||||
json[r'profileChangedAt'] = this.profileChangedAt.toUtc().toIso8601String();
|
json[r'profileChangedAt'] = _isEpochMarker(r'/^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$/')
|
||||||
|
? this.profileChangedAt.millisecondsSinceEpoch
|
||||||
|
: this.profileChangedAt.toUtc().toIso8601String();
|
||||||
json[r'profileImagePath'] = this.profileImagePath;
|
json[r'profileImagePath'] = this.profileImagePath;
|
||||||
json[r'userId'] = this.userId;
|
json[r'userId'] = this.userId;
|
||||||
return json;
|
return json;
|
||||||
|
|
@ -60,7 +62,7 @@ class CreateProfileImageResponseDto {
|
||||||
final json = value.cast<String, dynamic>();
|
final json = value.cast<String, dynamic>();
|
||||||
|
|
||||||
return CreateProfileImageResponseDto(
|
return CreateProfileImageResponseDto(
|
||||||
profileChangedAt: mapDateTime(json, r'profileChangedAt', r'')!,
|
profileChangedAt: mapDateTime(json, r'profileChangedAt', r'/^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$/')!,
|
||||||
profileImagePath: mapValueOfType<String>(json, r'profileImagePath')!,
|
profileImagePath: mapValueOfType<String>(json, r'profileImagePath')!,
|
||||||
userId: mapValueOfType<String>(json, r'userId')!,
|
userId: mapValueOfType<String>(json, r'userId')!,
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,7 @@ class DatabaseBackupDeleteDto {
|
||||||
this.backups = const [],
|
this.backups = const [],
|
||||||
});
|
});
|
||||||
|
|
||||||
|
/// Backup filenames to delete
|
||||||
List<String> backups;
|
List<String> backups;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|
|
||||||
|
|
@ -18,10 +18,13 @@ class DatabaseBackupDto {
|
||||||
required this.timezone,
|
required this.timezone,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
/// Backup filename
|
||||||
String filename;
|
String filename;
|
||||||
|
|
||||||
|
/// Backup file size
|
||||||
num filesize;
|
num filesize;
|
||||||
|
|
||||||
|
/// Backup timezone
|
||||||
String timezone;
|
String timezone;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,7 @@ class DatabaseBackupListResponseDto {
|
||||||
this.backups = const [],
|
this.backups = const [],
|
||||||
});
|
});
|
||||||
|
|
||||||
|
/// List of backups
|
||||||
List<DatabaseBackupDto> backups;
|
List<DatabaseBackupDto> backups;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|
|
||||||
|
|
@ -21,6 +21,9 @@ class DownloadArchiveInfo {
|
||||||
List<String> assetIds;
|
List<String> assetIds;
|
||||||
|
|
||||||
/// Archive size in bytes
|
/// Archive size in bytes
|
||||||
|
///
|
||||||
|
/// Minimum value: -9007199254740991
|
||||||
|
/// Maximum value: 9007199254740991
|
||||||
int size;
|
int size;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|
|
||||||
1
mobile/openapi/lib/model/download_info_dto.dart
generated
1
mobile/openapi/lib/model/download_info_dto.dart
generated
|
|
@ -31,6 +31,7 @@ class DownloadInfoDto {
|
||||||
/// Archive size limit in bytes
|
/// Archive size limit in bytes
|
||||||
///
|
///
|
||||||
/// Minimum value: 1
|
/// Minimum value: 1
|
||||||
|
/// Maximum value: 9007199254740991
|
||||||
///
|
///
|
||||||
/// Please note: This property should have been non-nullable! Since the specification file
|
/// Please note: This property should have been non-nullable! Since the specification file
|
||||||
/// does not include a default value (using the "default:" property), however, the generated
|
/// does not include a default value (using the "default:" property), however, the generated
|
||||||
|
|
|
||||||
5
mobile/openapi/lib/model/download_response.dart
generated
5
mobile/openapi/lib/model/download_response.dart
generated
|
|
@ -14,10 +14,13 @@ class DownloadResponse {
|
||||||
/// Returns a new [DownloadResponse] instance.
|
/// Returns a new [DownloadResponse] instance.
|
||||||
DownloadResponse({
|
DownloadResponse({
|
||||||
required this.archiveSize,
|
required this.archiveSize,
|
||||||
this.includeEmbeddedVideos = false,
|
required this.includeEmbeddedVideos,
|
||||||
});
|
});
|
||||||
|
|
||||||
/// Maximum archive size in bytes
|
/// Maximum archive size in bytes
|
||||||
|
///
|
||||||
|
/// Minimum value: -9007199254740991
|
||||||
|
/// Maximum value: 9007199254740991
|
||||||
int archiveSize;
|
int archiveSize;
|
||||||
|
|
||||||
/// Whether to include embedded videos in downloads
|
/// Whether to include embedded videos in downloads
|
||||||
|
|
|
||||||
|
|
@ -21,6 +21,9 @@ class DownloadResponseDto {
|
||||||
List<DownloadArchiveInfo> archives;
|
List<DownloadArchiveInfo> archives;
|
||||||
|
|
||||||
/// Total size in bytes
|
/// Total size in bytes
|
||||||
|
///
|
||||||
|
/// Minimum value: -9007199254740991
|
||||||
|
/// Maximum value: 9007199254740991
|
||||||
int totalSize;
|
int totalSize;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|
|
||||||
1
mobile/openapi/lib/model/download_update.dart
generated
1
mobile/openapi/lib/model/download_update.dart
generated
|
|
@ -20,6 +20,7 @@ class DownloadUpdate {
|
||||||
/// Maximum archive size in bytes
|
/// Maximum archive size in bytes
|
||||||
///
|
///
|
||||||
/// Minimum value: 1
|
/// Minimum value: 1
|
||||||
|
/// Maximum value: 9007199254740991
|
||||||
///
|
///
|
||||||
/// Please note: This property should have been non-nullable! Since the specification file
|
/// Please note: This property should have been non-nullable! Since the specification file
|
||||||
/// does not include a default value (using the "default:" property), however, the generated
|
/// does not include a default value (using the "default:" property), however, the generated
|
||||||
|
|
|
||||||
7
mobile/openapi/lib/model/exif_response_dto.dart
generated
7
mobile/openapi/lib/model/exif_response_dto.dart
generated
|
|
@ -50,9 +50,13 @@ class ExifResponseDto {
|
||||||
String? description;
|
String? description;
|
||||||
|
|
||||||
/// Image height in pixels
|
/// Image height in pixels
|
||||||
|
///
|
||||||
|
/// Minimum value: 0
|
||||||
num? exifImageHeight;
|
num? exifImageHeight;
|
||||||
|
|
||||||
/// Image width in pixels
|
/// Image width in pixels
|
||||||
|
///
|
||||||
|
/// Minimum value: 0
|
||||||
num? exifImageWidth;
|
num? exifImageWidth;
|
||||||
|
|
||||||
/// Exposure time
|
/// Exposure time
|
||||||
|
|
@ -62,6 +66,9 @@ class ExifResponseDto {
|
||||||
num? fNumber;
|
num? fNumber;
|
||||||
|
|
||||||
/// File size in bytes
|
/// File size in bytes
|
||||||
|
///
|
||||||
|
/// Minimum value: 0
|
||||||
|
/// Maximum value: 9007199254740991
|
||||||
int? fileSizeInByte;
|
int? fileSizeInByte;
|
||||||
|
|
||||||
/// Focal length in mm
|
/// Focal length in mm
|
||||||
|
|
|
||||||
|
|
@ -32,6 +32,7 @@ class FacialRecognitionConfig {
|
||||||
/// Minimum number of faces required for recognition
|
/// Minimum number of faces required for recognition
|
||||||
///
|
///
|
||||||
/// Minimum value: 1
|
/// Minimum value: 1
|
||||||
|
/// Maximum value: 9007199254740991
|
||||||
int minFaces;
|
int minFaces;
|
||||||
|
|
||||||
/// Minimum confidence score for face detection
|
/// Minimum confidence score for face detection
|
||||||
|
|
|
||||||
4
mobile/openapi/lib/model/folders_response.dart
generated
4
mobile/openapi/lib/model/folders_response.dart
generated
|
|
@ -13,8 +13,8 @@ part of openapi.api;
|
||||||
class FoldersResponse {
|
class FoldersResponse {
|
||||||
/// Returns a new [FoldersResponse] instance.
|
/// Returns a new [FoldersResponse] instance.
|
||||||
FoldersResponse({
|
FoldersResponse({
|
||||||
this.enabled = false,
|
required this.enabled,
|
||||||
this.sidebarWeb = false,
|
required this.sidebarWeb,
|
||||||
});
|
});
|
||||||
|
|
||||||
/// Whether folders are enabled
|
/// Whether folders are enabled
|
||||||
|
|
|
||||||
1
mobile/openapi/lib/model/job_create_dto.dart
generated
1
mobile/openapi/lib/model/job_create_dto.dart
generated
|
|
@ -16,7 +16,6 @@ class JobCreateDto {
|
||||||
required this.name,
|
required this.name,
|
||||||
});
|
});
|
||||||
|
|
||||||
/// Job name
|
|
||||||
ManualJobName name;
|
ManualJobName name;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|
|
||||||
1
mobile/openapi/lib/model/job_settings_dto.dart
generated
1
mobile/openapi/lib/model/job_settings_dto.dart
generated
|
|
@ -19,6 +19,7 @@ class JobSettingsDto {
|
||||||
/// Concurrency
|
/// Concurrency
|
||||||
///
|
///
|
||||||
/// Minimum value: 1
|
/// Minimum value: 1
|
||||||
|
/// Maximum value: 9007199254740991
|
||||||
int concurrency;
|
int concurrency;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|
|
||||||
21
mobile/openapi/lib/model/library_response_dto.dart
generated
21
mobile/openapi/lib/model/library_response_dto.dart
generated
|
|
@ -25,6 +25,9 @@ class LibraryResponseDto {
|
||||||
});
|
});
|
||||||
|
|
||||||
/// Number of assets
|
/// Number of assets
|
||||||
|
///
|
||||||
|
/// Minimum value: -9007199254740991
|
||||||
|
/// Maximum value: 9007199254740991
|
||||||
int assetCount;
|
int assetCount;
|
||||||
|
|
||||||
/// Creation date
|
/// Creation date
|
||||||
|
|
@ -82,18 +85,24 @@ class LibraryResponseDto {
|
||||||
Map<String, dynamic> toJson() {
|
Map<String, dynamic> toJson() {
|
||||||
final json = <String, dynamic>{};
|
final json = <String, dynamic>{};
|
||||||
json[r'assetCount'] = this.assetCount;
|
json[r'assetCount'] = this.assetCount;
|
||||||
json[r'createdAt'] = this.createdAt.toUtc().toIso8601String();
|
json[r'createdAt'] = _isEpochMarker(r'/^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$/')
|
||||||
|
? this.createdAt.millisecondsSinceEpoch
|
||||||
|
: this.createdAt.toUtc().toIso8601String();
|
||||||
json[r'exclusionPatterns'] = this.exclusionPatterns;
|
json[r'exclusionPatterns'] = this.exclusionPatterns;
|
||||||
json[r'id'] = this.id;
|
json[r'id'] = this.id;
|
||||||
json[r'importPaths'] = this.importPaths;
|
json[r'importPaths'] = this.importPaths;
|
||||||
json[r'name'] = this.name;
|
json[r'name'] = this.name;
|
||||||
json[r'ownerId'] = this.ownerId;
|
json[r'ownerId'] = this.ownerId;
|
||||||
if (this.refreshedAt != null) {
|
if (this.refreshedAt != null) {
|
||||||
json[r'refreshedAt'] = this.refreshedAt!.toUtc().toIso8601String();
|
json[r'refreshedAt'] = _isEpochMarker(r'/^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$/')
|
||||||
|
? this.refreshedAt!.millisecondsSinceEpoch
|
||||||
|
: this.refreshedAt!.toUtc().toIso8601String();
|
||||||
} else {
|
} else {
|
||||||
// json[r'refreshedAt'] = null;
|
// json[r'refreshedAt'] = null;
|
||||||
}
|
}
|
||||||
json[r'updatedAt'] = this.updatedAt.toUtc().toIso8601String();
|
json[r'updatedAt'] = _isEpochMarker(r'/^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$/')
|
||||||
|
? this.updatedAt.millisecondsSinceEpoch
|
||||||
|
: this.updatedAt.toUtc().toIso8601String();
|
||||||
return json;
|
return json;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -107,7 +116,7 @@ class LibraryResponseDto {
|
||||||
|
|
||||||
return LibraryResponseDto(
|
return LibraryResponseDto(
|
||||||
assetCount: mapValueOfType<int>(json, r'assetCount')!,
|
assetCount: mapValueOfType<int>(json, r'assetCount')!,
|
||||||
createdAt: mapDateTime(json, r'createdAt', r'')!,
|
createdAt: mapDateTime(json, r'createdAt', r'/^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$/')!,
|
||||||
exclusionPatterns: json[r'exclusionPatterns'] is Iterable
|
exclusionPatterns: json[r'exclusionPatterns'] is Iterable
|
||||||
? (json[r'exclusionPatterns'] as Iterable).cast<String>().toList(growable: false)
|
? (json[r'exclusionPatterns'] as Iterable).cast<String>().toList(growable: false)
|
||||||
: const [],
|
: const [],
|
||||||
|
|
@ -117,8 +126,8 @@ class LibraryResponseDto {
|
||||||
: const [],
|
: const [],
|
||||||
name: mapValueOfType<String>(json, r'name')!,
|
name: mapValueOfType<String>(json, r'name')!,
|
||||||
ownerId: mapValueOfType<String>(json, r'ownerId')!,
|
ownerId: mapValueOfType<String>(json, r'ownerId')!,
|
||||||
refreshedAt: mapDateTime(json, r'refreshedAt', r''),
|
refreshedAt: mapDateTime(json, r'refreshedAt', r'/^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$/'),
|
||||||
updatedAt: mapDateTime(json, r'updatedAt', r'')!,
|
updatedAt: mapDateTime(json, r'updatedAt', r'/^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$/')!,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
|
|
||||||
|
|
@ -13,22 +13,34 @@ part of openapi.api;
|
||||||
class LibraryStatsResponseDto {
|
class LibraryStatsResponseDto {
|
||||||
/// Returns a new [LibraryStatsResponseDto] instance.
|
/// Returns a new [LibraryStatsResponseDto] instance.
|
||||||
LibraryStatsResponseDto({
|
LibraryStatsResponseDto({
|
||||||
this.photos = 0,
|
required this.photos,
|
||||||
this.total = 0,
|
required this.total,
|
||||||
this.usage = 0,
|
required this.usage,
|
||||||
this.videos = 0,
|
required this.videos,
|
||||||
});
|
});
|
||||||
|
|
||||||
/// Number of photos
|
/// Number of photos
|
||||||
|
///
|
||||||
|
/// Minimum value: -9007199254740991
|
||||||
|
/// Maximum value: 9007199254740991
|
||||||
int photos;
|
int photos;
|
||||||
|
|
||||||
/// Total number of assets
|
/// Total number of assets
|
||||||
|
///
|
||||||
|
/// Minimum value: -9007199254740991
|
||||||
|
/// Maximum value: 9007199254740991
|
||||||
int total;
|
int total;
|
||||||
|
|
||||||
/// Storage usage in bytes
|
/// Storage usage in bytes
|
||||||
|
///
|
||||||
|
/// Minimum value: -9007199254740991
|
||||||
|
/// Maximum value: 9007199254740991
|
||||||
int usage;
|
int usage;
|
||||||
|
|
||||||
/// Number of videos
|
/// Number of videos
|
||||||
|
///
|
||||||
|
/// Minimum value: -9007199254740991
|
||||||
|
/// Maximum value: 9007199254740991
|
||||||
int videos;
|
int videos;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|
|
||||||
2
mobile/openapi/lib/model/license_key_dto.dart
generated
2
mobile/openapi/lib/model/license_key_dto.dart
generated
|
|
@ -20,7 +20,7 @@ class LicenseKeyDto {
|
||||||
/// Activation key
|
/// Activation key
|
||||||
String activationKey;
|
String activationKey;
|
||||||
|
|
||||||
/// License key (format: IM(SV|CL)(-XXXX){8})
|
/// License key (format: /^IM(SV|CL)(-[\\dA-Za-z]{4}){8}$/)
|
||||||
String licenseKey;
|
String licenseKey;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|
|
||||||
118
mobile/openapi/lib/model/license_response_dto.dart
generated
118
mobile/openapi/lib/model/license_response_dto.dart
generated
|
|
@ -1,118 +0,0 @@
|
||||||
//
|
|
||||||
// AUTO-GENERATED FILE, DO NOT MODIFY!
|
|
||||||
//
|
|
||||||
// @dart=2.18
|
|
||||||
|
|
||||||
// ignore_for_file: unused_element, unused_import
|
|
||||||
// ignore_for_file: always_put_required_named_parameters_first
|
|
||||||
// ignore_for_file: constant_identifier_names
|
|
||||||
// ignore_for_file: lines_longer_than_80_chars
|
|
||||||
|
|
||||||
part of openapi.api;
|
|
||||||
|
|
||||||
class LicenseResponseDto {
|
|
||||||
/// Returns a new [LicenseResponseDto] instance.
|
|
||||||
LicenseResponseDto({
|
|
||||||
required this.activatedAt,
|
|
||||||
required this.activationKey,
|
|
||||||
required this.licenseKey,
|
|
||||||
});
|
|
||||||
|
|
||||||
/// Activation date
|
|
||||||
DateTime activatedAt;
|
|
||||||
|
|
||||||
/// Activation key
|
|
||||||
String activationKey;
|
|
||||||
|
|
||||||
/// License key (format: IM(SV|CL)(-XXXX){8})
|
|
||||||
String licenseKey;
|
|
||||||
|
|
||||||
@override
|
|
||||||
bool operator ==(Object other) => identical(this, other) || other is LicenseResponseDto &&
|
|
||||||
other.activatedAt == activatedAt &&
|
|
||||||
other.activationKey == activationKey &&
|
|
||||||
other.licenseKey == licenseKey;
|
|
||||||
|
|
||||||
@override
|
|
||||||
int get hashCode =>
|
|
||||||
// ignore: unnecessary_parenthesis
|
|
||||||
(activatedAt.hashCode) +
|
|
||||||
(activationKey.hashCode) +
|
|
||||||
(licenseKey.hashCode);
|
|
||||||
|
|
||||||
@override
|
|
||||||
String toString() => 'LicenseResponseDto[activatedAt=$activatedAt, activationKey=$activationKey, licenseKey=$licenseKey]';
|
|
||||||
|
|
||||||
Map<String, dynamic> toJson() {
|
|
||||||
final json = <String, dynamic>{};
|
|
||||||
json[r'activatedAt'] = this.activatedAt.toUtc().toIso8601String();
|
|
||||||
json[r'activationKey'] = this.activationKey;
|
|
||||||
json[r'licenseKey'] = this.licenseKey;
|
|
||||||
return json;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Returns a new [LicenseResponseDto] instance and imports its values from
|
|
||||||
/// [value] if it's a [Map], null otherwise.
|
|
||||||
// ignore: prefer_constructors_over_static_methods
|
|
||||||
static LicenseResponseDto? fromJson(dynamic value) {
|
|
||||||
upgradeDto(value, "LicenseResponseDto");
|
|
||||||
if (value is Map) {
|
|
||||||
final json = value.cast<String, dynamic>();
|
|
||||||
|
|
||||||
return LicenseResponseDto(
|
|
||||||
activatedAt: mapDateTime(json, r'activatedAt', r'')!,
|
|
||||||
activationKey: mapValueOfType<String>(json, r'activationKey')!,
|
|
||||||
licenseKey: mapValueOfType<String>(json, r'licenseKey')!,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
static List<LicenseResponseDto> listFromJson(dynamic json, {bool growable = false,}) {
|
|
||||||
final result = <LicenseResponseDto>[];
|
|
||||||
if (json is List && json.isNotEmpty) {
|
|
||||||
for (final row in json) {
|
|
||||||
final value = LicenseResponseDto.fromJson(row);
|
|
||||||
if (value != null) {
|
|
||||||
result.add(value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return result.toList(growable: growable);
|
|
||||||
}
|
|
||||||
|
|
||||||
static Map<String, LicenseResponseDto> mapFromJson(dynamic json) {
|
|
||||||
final map = <String, LicenseResponseDto>{};
|
|
||||||
if (json is Map && json.isNotEmpty) {
|
|
||||||
json = json.cast<String, dynamic>(); // ignore: parameter_assignments
|
|
||||||
for (final entry in json.entries) {
|
|
||||||
final value = LicenseResponseDto.fromJson(entry.value);
|
|
||||||
if (value != null) {
|
|
||||||
map[entry.key] = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return map;
|
|
||||||
}
|
|
||||||
|
|
||||||
// maps a json object with a list of LicenseResponseDto-objects as value to a dart map
|
|
||||||
static Map<String, List<LicenseResponseDto>> mapListFromJson(dynamic json, {bool growable = false,}) {
|
|
||||||
final map = <String, List<LicenseResponseDto>>{};
|
|
||||||
if (json is Map && json.isNotEmpty) {
|
|
||||||
// ignore: parameter_assignments
|
|
||||||
json = json.cast<String, dynamic>();
|
|
||||||
for (final entry in json.entries) {
|
|
||||||
map[entry.key] = LicenseResponseDto.listFromJson(entry.value, growable: growable,);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return map;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// The list of required keys that must be present in a JSON.
|
|
||||||
static const requiredKeys = <String>{
|
|
||||||
'activatedAt',
|
|
||||||
'activationKey',
|
|
||||||
'licenseKey',
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
2
mobile/openapi/lib/model/log_level.dart
generated
2
mobile/openapi/lib/model/log_level.dart
generated
|
|
@ -10,7 +10,7 @@
|
||||||
|
|
||||||
part of openapi.api;
|
part of openapi.api;
|
||||||
|
|
||||||
|
/// Log level
|
||||||
class LogLevel {
|
class LogLevel {
|
||||||
/// Instantiate a new enum with the provided [value].
|
/// Instantiate a new enum with the provided [value].
|
||||||
const LogLevel._(this.value);
|
const LogLevel._(this.value);
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,6 @@ class MaintenanceDetectInstallStorageFolderDto {
|
||||||
/// Number of files in the folder
|
/// Number of files in the folder
|
||||||
num files;
|
num files;
|
||||||
|
|
||||||
/// Storage folder
|
|
||||||
StorageFolder folder;
|
StorageFolder folder;
|
||||||
|
|
||||||
/// Whether the folder is readable
|
/// Whether the folder is readable
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,6 @@ class MaintenanceStatusResponseDto {
|
||||||
this.task,
|
this.task,
|
||||||
});
|
});
|
||||||
|
|
||||||
/// Maintenance action
|
|
||||||
MaintenanceAction action;
|
MaintenanceAction action;
|
||||||
|
|
||||||
bool active;
|
bool active;
|
||||||
|
|
|
||||||
2
mobile/openapi/lib/model/manual_job_name.dart
generated
2
mobile/openapi/lib/model/manual_job_name.dart
generated
|
|
@ -10,7 +10,7 @@
|
||||||
|
|
||||||
part of openapi.api;
|
part of openapi.api;
|
||||||
|
|
||||||
/// Job name
|
/// Manual job name
|
||||||
class ManualJobName {
|
class ManualJobName {
|
||||||
/// Instantiate a new enum with the provided [value].
|
/// Instantiate a new enum with the provided [value].
|
||||||
const ManualJobName._(this.value);
|
const ManualJobName._(this.value);
|
||||||
|
|
|
||||||
7
mobile/openapi/lib/model/memories_response.dart
generated
7
mobile/openapi/lib/model/memories_response.dart
generated
|
|
@ -13,11 +13,14 @@ part of openapi.api;
|
||||||
class MemoriesResponse {
|
class MemoriesResponse {
|
||||||
/// Returns a new [MemoriesResponse] instance.
|
/// Returns a new [MemoriesResponse] instance.
|
||||||
MemoriesResponse({
|
MemoriesResponse({
|
||||||
this.duration = 5,
|
required this.duration,
|
||||||
this.enabled = true,
|
required this.enabled,
|
||||||
});
|
});
|
||||||
|
|
||||||
/// Memory duration in seconds
|
/// Memory duration in seconds
|
||||||
|
///
|
||||||
|
/// Minimum value: -9007199254740991
|
||||||
|
/// Maximum value: 9007199254740991
|
||||||
int duration;
|
int duration;
|
||||||
|
|
||||||
/// Whether memories are enabled
|
/// Whether memories are enabled
|
||||||
|
|
|
||||||
1
mobile/openapi/lib/model/memories_update.dart
generated
1
mobile/openapi/lib/model/memories_update.dart
generated
|
|
@ -20,6 +20,7 @@ class MemoriesUpdate {
|
||||||
/// Memory duration in seconds
|
/// Memory duration in seconds
|
||||||
///
|
///
|
||||||
/// Minimum value: 1
|
/// Minimum value: 1
|
||||||
|
/// Maximum value: 9007199254740991
|
||||||
///
|
///
|
||||||
/// Please note: This property should have been non-nullable! Since the specification file
|
/// Please note: This property should have been non-nullable! Since the specification file
|
||||||
/// does not include a default value (using the "default:" property), however, the generated
|
/// does not include a default value (using the "default:" property), however, the generated
|
||||||
|
|
|
||||||
25
mobile/openapi/lib/model/memory_create_dto.dart
generated
25
mobile/openapi/lib/model/memory_create_dto.dart
generated
|
|
@ -67,7 +67,6 @@ class MemoryCreateDto {
|
||||||
///
|
///
|
||||||
DateTime? showAt;
|
DateTime? showAt;
|
||||||
|
|
||||||
/// Memory type
|
|
||||||
MemoryType type;
|
MemoryType type;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|
@ -101,7 +100,9 @@ class MemoryCreateDto {
|
||||||
json[r'assetIds'] = this.assetIds;
|
json[r'assetIds'] = this.assetIds;
|
||||||
json[r'data'] = this.data;
|
json[r'data'] = this.data;
|
||||||
if (this.hideAt != null) {
|
if (this.hideAt != null) {
|
||||||
json[r'hideAt'] = this.hideAt!.toUtc().toIso8601String();
|
json[r'hideAt'] = _isEpochMarker(r'/^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$/')
|
||||||
|
? this.hideAt!.millisecondsSinceEpoch
|
||||||
|
: this.hideAt!.toUtc().toIso8601String();
|
||||||
} else {
|
} else {
|
||||||
// json[r'hideAt'] = null;
|
// json[r'hideAt'] = null;
|
||||||
}
|
}
|
||||||
|
|
@ -110,14 +111,20 @@ class MemoryCreateDto {
|
||||||
} else {
|
} else {
|
||||||
// json[r'isSaved'] = null;
|
// json[r'isSaved'] = null;
|
||||||
}
|
}
|
||||||
json[r'memoryAt'] = this.memoryAt.toUtc().toIso8601String();
|
json[r'memoryAt'] = _isEpochMarker(r'/^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$/')
|
||||||
|
? this.memoryAt.millisecondsSinceEpoch
|
||||||
|
: this.memoryAt.toUtc().toIso8601String();
|
||||||
if (this.seenAt != null) {
|
if (this.seenAt != null) {
|
||||||
json[r'seenAt'] = this.seenAt!.toUtc().toIso8601String();
|
json[r'seenAt'] = _isEpochMarker(r'/^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$/')
|
||||||
|
? this.seenAt!.millisecondsSinceEpoch
|
||||||
|
: this.seenAt!.toUtc().toIso8601String();
|
||||||
} else {
|
} else {
|
||||||
// json[r'seenAt'] = null;
|
// json[r'seenAt'] = null;
|
||||||
}
|
}
|
||||||
if (this.showAt != null) {
|
if (this.showAt != null) {
|
||||||
json[r'showAt'] = this.showAt!.toUtc().toIso8601String();
|
json[r'showAt'] = _isEpochMarker(r'/^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$/')
|
||||||
|
? this.showAt!.millisecondsSinceEpoch
|
||||||
|
: this.showAt!.toUtc().toIso8601String();
|
||||||
} else {
|
} else {
|
||||||
// json[r'showAt'] = null;
|
// json[r'showAt'] = null;
|
||||||
}
|
}
|
||||||
|
|
@ -138,11 +145,11 @@ class MemoryCreateDto {
|
||||||
? (json[r'assetIds'] as Iterable).cast<String>().toList(growable: false)
|
? (json[r'assetIds'] as Iterable).cast<String>().toList(growable: false)
|
||||||
: const [],
|
: const [],
|
||||||
data: OnThisDayDto.fromJson(json[r'data'])!,
|
data: OnThisDayDto.fromJson(json[r'data'])!,
|
||||||
hideAt: mapDateTime(json, r'hideAt', r''),
|
hideAt: mapDateTime(json, r'hideAt', r'/^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$/'),
|
||||||
isSaved: mapValueOfType<bool>(json, r'isSaved'),
|
isSaved: mapValueOfType<bool>(json, r'isSaved'),
|
||||||
memoryAt: mapDateTime(json, r'memoryAt', r'')!,
|
memoryAt: mapDateTime(json, r'memoryAt', r'/^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$/')!,
|
||||||
seenAt: mapDateTime(json, r'seenAt', r''),
|
seenAt: mapDateTime(json, r'seenAt', r'/^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$/'),
|
||||||
showAt: mapDateTime(json, r'showAt', r''),
|
showAt: mapDateTime(json, r'showAt', r'/^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$/'),
|
||||||
type: MemoryType.fromJson(json[r'type'])!,
|
type: MemoryType.fromJson(json[r'type'])!,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
43
mobile/openapi/lib/model/memory_response_dto.dart
generated
43
mobile/openapi/lib/model/memory_response_dto.dart
generated
|
|
@ -83,7 +83,6 @@ class MemoryResponseDto {
|
||||||
///
|
///
|
||||||
DateTime? showAt;
|
DateTime? showAt;
|
||||||
|
|
||||||
/// Memory type
|
|
||||||
MemoryType type;
|
MemoryType type;
|
||||||
|
|
||||||
/// Last update date
|
/// Last update date
|
||||||
|
|
@ -128,34 +127,48 @@ class MemoryResponseDto {
|
||||||
Map<String, dynamic> toJson() {
|
Map<String, dynamic> toJson() {
|
||||||
final json = <String, dynamic>{};
|
final json = <String, dynamic>{};
|
||||||
json[r'assets'] = this.assets;
|
json[r'assets'] = this.assets;
|
||||||
json[r'createdAt'] = this.createdAt.toUtc().toIso8601String();
|
json[r'createdAt'] = _isEpochMarker(r'/^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$/')
|
||||||
|
? this.createdAt.millisecondsSinceEpoch
|
||||||
|
: this.createdAt.toUtc().toIso8601String();
|
||||||
json[r'data'] = this.data;
|
json[r'data'] = this.data;
|
||||||
if (this.deletedAt != null) {
|
if (this.deletedAt != null) {
|
||||||
json[r'deletedAt'] = this.deletedAt!.toUtc().toIso8601String();
|
json[r'deletedAt'] = _isEpochMarker(r'/^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$/')
|
||||||
|
? this.deletedAt!.millisecondsSinceEpoch
|
||||||
|
: this.deletedAt!.toUtc().toIso8601String();
|
||||||
} else {
|
} else {
|
||||||
// json[r'deletedAt'] = null;
|
// json[r'deletedAt'] = null;
|
||||||
}
|
}
|
||||||
if (this.hideAt != null) {
|
if (this.hideAt != null) {
|
||||||
json[r'hideAt'] = this.hideAt!.toUtc().toIso8601String();
|
json[r'hideAt'] = _isEpochMarker(r'/^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$/')
|
||||||
|
? this.hideAt!.millisecondsSinceEpoch
|
||||||
|
: this.hideAt!.toUtc().toIso8601String();
|
||||||
} else {
|
} else {
|
||||||
// json[r'hideAt'] = null;
|
// json[r'hideAt'] = null;
|
||||||
}
|
}
|
||||||
json[r'id'] = this.id;
|
json[r'id'] = this.id;
|
||||||
json[r'isSaved'] = this.isSaved;
|
json[r'isSaved'] = this.isSaved;
|
||||||
json[r'memoryAt'] = this.memoryAt.toUtc().toIso8601String();
|
json[r'memoryAt'] = _isEpochMarker(r'/^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$/')
|
||||||
|
? this.memoryAt.millisecondsSinceEpoch
|
||||||
|
: this.memoryAt.toUtc().toIso8601String();
|
||||||
json[r'ownerId'] = this.ownerId;
|
json[r'ownerId'] = this.ownerId;
|
||||||
if (this.seenAt != null) {
|
if (this.seenAt != null) {
|
||||||
json[r'seenAt'] = this.seenAt!.toUtc().toIso8601String();
|
json[r'seenAt'] = _isEpochMarker(r'/^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$/')
|
||||||
|
? this.seenAt!.millisecondsSinceEpoch
|
||||||
|
: this.seenAt!.toUtc().toIso8601String();
|
||||||
} else {
|
} else {
|
||||||
// json[r'seenAt'] = null;
|
// json[r'seenAt'] = null;
|
||||||
}
|
}
|
||||||
if (this.showAt != null) {
|
if (this.showAt != null) {
|
||||||
json[r'showAt'] = this.showAt!.toUtc().toIso8601String();
|
json[r'showAt'] = _isEpochMarker(r'/^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$/')
|
||||||
|
? this.showAt!.millisecondsSinceEpoch
|
||||||
|
: this.showAt!.toUtc().toIso8601String();
|
||||||
} else {
|
} else {
|
||||||
// json[r'showAt'] = null;
|
// json[r'showAt'] = null;
|
||||||
}
|
}
|
||||||
json[r'type'] = this.type;
|
json[r'type'] = this.type;
|
||||||
json[r'updatedAt'] = this.updatedAt.toUtc().toIso8601String();
|
json[r'updatedAt'] = _isEpochMarker(r'/^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$/')
|
||||||
|
? this.updatedAt.millisecondsSinceEpoch
|
||||||
|
: this.updatedAt.toUtc().toIso8601String();
|
||||||
return json;
|
return json;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -169,18 +182,18 @@ class MemoryResponseDto {
|
||||||
|
|
||||||
return MemoryResponseDto(
|
return MemoryResponseDto(
|
||||||
assets: AssetResponseDto.listFromJson(json[r'assets']),
|
assets: AssetResponseDto.listFromJson(json[r'assets']),
|
||||||
createdAt: mapDateTime(json, r'createdAt', r'')!,
|
createdAt: mapDateTime(json, r'createdAt', r'/^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$/')!,
|
||||||
data: OnThisDayDto.fromJson(json[r'data'])!,
|
data: OnThisDayDto.fromJson(json[r'data'])!,
|
||||||
deletedAt: mapDateTime(json, r'deletedAt', r''),
|
deletedAt: mapDateTime(json, r'deletedAt', r'/^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$/'),
|
||||||
hideAt: mapDateTime(json, r'hideAt', r''),
|
hideAt: mapDateTime(json, r'hideAt', r'/^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$/'),
|
||||||
id: mapValueOfType<String>(json, r'id')!,
|
id: mapValueOfType<String>(json, r'id')!,
|
||||||
isSaved: mapValueOfType<bool>(json, r'isSaved')!,
|
isSaved: mapValueOfType<bool>(json, r'isSaved')!,
|
||||||
memoryAt: mapDateTime(json, r'memoryAt', r'')!,
|
memoryAt: mapDateTime(json, r'memoryAt', r'/^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$/')!,
|
||||||
ownerId: mapValueOfType<String>(json, r'ownerId')!,
|
ownerId: mapValueOfType<String>(json, r'ownerId')!,
|
||||||
seenAt: mapDateTime(json, r'seenAt', r''),
|
seenAt: mapDateTime(json, r'seenAt', r'/^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$/'),
|
||||||
showAt: mapDateTime(json, r'showAt', r''),
|
showAt: mapDateTime(json, r'showAt', r'/^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$/'),
|
||||||
type: MemoryType.fromJson(json[r'type'])!,
|
type: MemoryType.fromJson(json[r'type'])!,
|
||||||
updatedAt: mapDateTime(json, r'updatedAt', r'')!,
|
updatedAt: mapDateTime(json, r'updatedAt', r'/^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$/')!,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
|
|
||||||
part of openapi.api;
|
part of openapi.api;
|
||||||
|
|
||||||
|
/// Sort order
|
||||||
class MemorySearchOrder {
|
class MemorySearchOrder {
|
||||||
/// Instantiate a new enum with the provided [value].
|
/// Instantiate a new enum with the provided [value].
|
||||||
const MemorySearchOrder._(this.value);
|
const MemorySearchOrder._(this.value);
|
||||||
|
|
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue