0
Fork 0
mirror of https://github.com/immich-app/immich.git synced 2025-04-08 03:01:32 -05:00

fix(server) added TagResponseDto for TagController ()

* fix(server) added TagResponseDto for TagController

* Added userId to DTO
This commit is contained in:
Alex 2022-12-06 15:46:13 -06:00 committed by GitHub
parent db34f2f7fd
commit f91bdc2785
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
13 changed files with 107 additions and 941 deletions

View file

@ -14,7 +14,6 @@ doc/AssetApi.md
doc/AssetCountByTimeBucket.md
doc/AssetCountByTimeBucketResponseDto.md
doc/AssetCountByUserIdResponseDto.md
doc/AssetEntity.md
doc/AssetFileUploadResponseDto.md
doc/AssetResponseDto.md
doc/AssetTypeEnum.md
@ -36,7 +35,6 @@ doc/DeleteAssetStatus.md
doc/DeviceInfoApi.md
doc/DeviceInfoResponseDto.md
doc/DeviceTypeEnum.md
doc/ExifEntity.md
doc/ExifResponseDto.md
doc/GetAssetByTimeBucketDto.md
doc/GetAssetCountByTimeBucketDto.md
@ -61,14 +59,12 @@ doc/ServerPingResponse.md
doc/ServerStatsResponseDto.md
doc/ServerVersionReponseDto.md
doc/SignUpDto.md
doc/SmartInfoEntity.md
doc/SmartInfoResponseDto.md
doc/SystemConfigApi.md
doc/SystemConfigKey.md
doc/SystemConfigResponseDto.md
doc/SystemConfigResponseItem.md
doc/TagApi.md
doc/TagEntity.md
doc/TagResponseDto.md
doc/TagTypeEnum.md
doc/ThumbnailFormat.md
@ -81,7 +77,6 @@ doc/UpdateUserDto.md
doc/UsageByUserDto.md
doc/UserApi.md
doc/UserCountResponseDto.md
doc/UserEntity.md
doc/UserResponseDto.md
doc/ValidateAccessTokenResponseDto.md
git_push.sh
@ -114,7 +109,6 @@ lib/model/all_job_status_response_dto.dart
lib/model/asset_count_by_time_bucket.dart
lib/model/asset_count_by_time_bucket_response_dto.dart
lib/model/asset_count_by_user_id_response_dto.dart
lib/model/asset_entity.dart
lib/model/asset_file_upload_response_dto.dart
lib/model/asset_response_dto.dart
lib/model/asset_type_enum.dart
@ -134,7 +128,6 @@ lib/model/delete_asset_response_dto.dart
lib/model/delete_asset_status.dart
lib/model/device_info_response_dto.dart
lib/model/device_type_enum.dart
lib/model/exif_entity.dart
lib/model/exif_response_dto.dart
lib/model/get_asset_by_time_bucket_dto.dart
lib/model/get_asset_count_by_time_bucket_dto.dart
@ -156,12 +149,10 @@ lib/model/server_ping_response.dart
lib/model/server_stats_response_dto.dart
lib/model/server_version_reponse_dto.dart
lib/model/sign_up_dto.dart
lib/model/smart_info_entity.dart
lib/model/smart_info_response_dto.dart
lib/model/system_config_key.dart
lib/model/system_config_response_dto.dart
lib/model/system_config_response_item.dart
lib/model/tag_entity.dart
lib/model/tag_response_dto.dart
lib/model/tag_type_enum.dart
lib/model/thumbnail_format.dart
@ -173,7 +164,6 @@ lib/model/update_tag_dto.dart
lib/model/update_user_dto.dart
lib/model/usage_by_user_dto.dart
lib/model/user_count_response_dto.dart
lib/model/user_entity.dart
lib/model/user_response_dto.dart
lib/model/validate_access_token_response_dto.dart
pubspec.yaml

View file

@ -141,7 +141,6 @@ Class | Method | HTTP request | Description
- [AssetCountByTimeBucket](doc//AssetCountByTimeBucket.md)
- [AssetCountByTimeBucketResponseDto](doc//AssetCountByTimeBucketResponseDto.md)
- [AssetCountByUserIdResponseDto](doc//AssetCountByUserIdResponseDto.md)
- [AssetEntity](doc//AssetEntity.md)
- [AssetFileUploadResponseDto](doc//AssetFileUploadResponseDto.md)
- [AssetResponseDto](doc//AssetResponseDto.md)
- [AssetTypeEnum](doc//AssetTypeEnum.md)
@ -161,7 +160,6 @@ Class | Method | HTTP request | Description
- [DeleteAssetStatus](doc//DeleteAssetStatus.md)
- [DeviceInfoResponseDto](doc//DeviceInfoResponseDto.md)
- [DeviceTypeEnum](doc//DeviceTypeEnum.md)
- [ExifEntity](doc//ExifEntity.md)
- [ExifResponseDto](doc//ExifResponseDto.md)
- [GetAssetByTimeBucketDto](doc//GetAssetByTimeBucketDto.md)
- [GetAssetCountByTimeBucketDto](doc//GetAssetCountByTimeBucketDto.md)
@ -183,12 +181,10 @@ Class | Method | HTTP request | Description
- [ServerStatsResponseDto](doc//ServerStatsResponseDto.md)
- [ServerVersionReponseDto](doc//ServerVersionReponseDto.md)
- [SignUpDto](doc//SignUpDto.md)
- [SmartInfoEntity](doc//SmartInfoEntity.md)
- [SmartInfoResponseDto](doc//SmartInfoResponseDto.md)
- [SystemConfigKey](doc//SystemConfigKey.md)
- [SystemConfigResponseDto](doc//SystemConfigResponseDto.md)
- [SystemConfigResponseItem](doc//SystemConfigResponseItem.md)
- [TagEntity](doc//TagEntity.md)
- [TagResponseDto](doc//TagResponseDto.md)
- [TagTypeEnum](doc//TagTypeEnum.md)
- [ThumbnailFormat](doc//ThumbnailFormat.md)
@ -200,7 +196,6 @@ Class | Method | HTTP request | Description
- [UpdateUserDto](doc//UpdateUserDto.md)
- [UsageByUserDto](doc//UsageByUserDto.md)
- [UserCountResponseDto](doc//UserCountResponseDto.md)
- [UserEntity](doc//UserEntity.md)
- [UserResponseDto](doc//UserResponseDto.md)
- [ValidateAccessTokenResponseDto](doc//ValidateAccessTokenResponseDto.md)

View file

@ -17,7 +17,7 @@ Method | HTTP request | Description
# **create**
> TagEntity create(createTagDto)
> TagResponseDto create(createTagDto)
@ -44,7 +44,7 @@ Name | Type | Description | Notes
### Return type
[**TagEntity**](TagEntity.md)
[**TagResponseDto**](TagResponseDto.md)
### Authorization
@ -58,7 +58,7 @@ No authorization required
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **delete**
> TagEntity delete(id)
> delete(id)
@ -70,8 +70,7 @@ final api_instance = TagApi();
final id = id_example; // String |
try {
final result = api_instance.delete(id);
print(result);
api_instance.delete(id);
} catch (e) {
print('Exception when calling TagApi->delete: $e\n');
}
@ -85,7 +84,7 @@ Name | Type | Description | Notes
### Return type
[**TagEntity**](TagEntity.md)
void (empty response body)
### Authorization
@ -94,12 +93,12 @@ No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
- **Accept**: Not defined
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **findAll**
> List<TagEntity> findAll()
> List<TagResponseDto> findAll()
@ -122,7 +121,7 @@ This endpoint does not need any parameter.
### Return type
[**List<TagEntity>**](TagEntity.md)
[**List<TagResponseDto>**](TagResponseDto.md)
### Authorization
@ -136,7 +135,7 @@ No authorization required
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **findOne**
> TagEntity findOne(id)
> TagResponseDto findOne(id)
@ -163,7 +162,7 @@ Name | Type | Description | Notes
### Return type
[**TagEntity**](TagEntity.md)
[**TagResponseDto**](TagResponseDto.md)
### Authorization
@ -177,7 +176,7 @@ No authorization required
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **update**
> Object update(id, updateTagDto)
> TagResponseDto update(id, updateTagDto)
@ -206,7 +205,7 @@ Name | Type | Description | Notes
### Return type
[**Object**](Object.md)
[**TagResponseDto**](TagResponseDto.md)
### Authorization

View file

@ -11,6 +11,8 @@ Name | Type | Description | Notes
**id** | **String** | |
**type** | [**TagTypeEnum**](TagTypeEnum.md) | |
**name** | **String** | |
**userId** | **String** | |
**renameTagId** | **String** | | [optional]
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

View file

@ -48,7 +48,6 @@ part 'model/all_job_status_response_dto.dart';
part 'model/asset_count_by_time_bucket.dart';
part 'model/asset_count_by_time_bucket_response_dto.dart';
part 'model/asset_count_by_user_id_response_dto.dart';
part 'model/asset_entity.dart';
part 'model/asset_file_upload_response_dto.dart';
part 'model/asset_response_dto.dart';
part 'model/asset_type_enum.dart';
@ -68,7 +67,6 @@ part 'model/delete_asset_response_dto.dart';
part 'model/delete_asset_status.dart';
part 'model/device_info_response_dto.dart';
part 'model/device_type_enum.dart';
part 'model/exif_entity.dart';
part 'model/exif_response_dto.dart';
part 'model/get_asset_by_time_bucket_dto.dart';
part 'model/get_asset_count_by_time_bucket_dto.dart';
@ -90,12 +88,10 @@ part 'model/server_ping_response.dart';
part 'model/server_stats_response_dto.dart';
part 'model/server_version_reponse_dto.dart';
part 'model/sign_up_dto.dart';
part 'model/smart_info_entity.dart';
part 'model/smart_info_response_dto.dart';
part 'model/system_config_key.dart';
part 'model/system_config_response_dto.dart';
part 'model/system_config_response_item.dart';
part 'model/tag_entity.dart';
part 'model/tag_response_dto.dart';
part 'model/tag_type_enum.dart';
part 'model/thumbnail_format.dart';
@ -107,7 +103,6 @@ part 'model/update_tag_dto.dart';
part 'model/update_user_dto.dart';
part 'model/usage_by_user_dto.dart';
part 'model/user_count_response_dto.dart';
part 'model/user_entity.dart';
part 'model/user_response_dto.dart';
part 'model/validate_access_token_response_dto.dart';

View file

@ -48,7 +48,7 @@ class TagApi {
/// Parameters:
///
/// * [CreateTagDto] createTagDto (required):
Future<TagEntity?> create(CreateTagDto createTagDto,) async {
Future<TagResponseDto?> create(CreateTagDto createTagDto,) async {
final response = await createWithHttpInfo(createTagDto,);
if (response.statusCode >= HttpStatus.badRequest) {
throw ApiException(response.statusCode, await _decodeBodyBytes(response));
@ -57,7 +57,7 @@ class TagApi {
// At the time of writing this, `dart:convert` will throw an "Unexpected end of input"
// FormatException when trying to decode an empty string.
if (response.body.isNotEmpty && response.statusCode != HttpStatus.noContent) {
return await apiClient.deserializeAsync(await _decodeBodyBytes(response), 'TagEntity',) as TagEntity;
return await apiClient.deserializeAsync(await _decodeBodyBytes(response), 'TagResponseDto',) as TagResponseDto;
}
return null;
@ -96,19 +96,11 @@ class TagApi {
/// Parameters:
///
/// * [String] id (required):
Future<TagEntity?> delete(String id,) async {
Future<void> delete(String id,) async {
final response = await deleteWithHttpInfo(id,);
if (response.statusCode >= HttpStatus.badRequest) {
throw ApiException(response.statusCode, await _decodeBodyBytes(response));
}
// When a remote server returns no body with a status of 204, we shall not decode it.
// At the time of writing this, `dart:convert` will throw an "Unexpected end of input"
// FormatException when trying to decode an empty string.
if (response.body.isNotEmpty && response.statusCode != HttpStatus.noContent) {
return await apiClient.deserializeAsync(await _decodeBodyBytes(response), 'TagEntity',) as TagEntity;
}
return null;
}
/// Performs an HTTP 'GET /tag' operation and returns the [Response].
@ -137,7 +129,7 @@ class TagApi {
);
}
Future<List<TagEntity>?> findAll() async {
Future<List<TagResponseDto>?> findAll() async {
final response = await findAllWithHttpInfo();
if (response.statusCode >= HttpStatus.badRequest) {
throw ApiException(response.statusCode, await _decodeBodyBytes(response));
@ -147,8 +139,8 @@ class TagApi {
// FormatException when trying to decode an empty string.
if (response.body.isNotEmpty && response.statusCode != HttpStatus.noContent) {
final responseBody = await _decodeBodyBytes(response);
return (await apiClient.deserializeAsync(responseBody, 'List<TagEntity>') as List)
.cast<TagEntity>()
return (await apiClient.deserializeAsync(responseBody, 'List<TagResponseDto>') as List)
.cast<TagResponseDto>()
.toList();
}
@ -188,7 +180,7 @@ class TagApi {
/// Parameters:
///
/// * [String] id (required):
Future<TagEntity?> findOne(String id,) async {
Future<TagResponseDto?> findOne(String id,) async {
final response = await findOneWithHttpInfo(id,);
if (response.statusCode >= HttpStatus.badRequest) {
throw ApiException(response.statusCode, await _decodeBodyBytes(response));
@ -197,7 +189,7 @@ class TagApi {
// At the time of writing this, `dart:convert` will throw an "Unexpected end of input"
// FormatException when trying to decode an empty string.
if (response.body.isNotEmpty && response.statusCode != HttpStatus.noContent) {
return await apiClient.deserializeAsync(await _decodeBodyBytes(response), 'TagEntity',) as TagEntity;
return await apiClient.deserializeAsync(await _decodeBodyBytes(response), 'TagResponseDto',) as TagResponseDto;
}
return null;
@ -240,7 +232,7 @@ class TagApi {
/// * [String] id (required):
///
/// * [UpdateTagDto] updateTagDto (required):
Future<Object?> update(String id, UpdateTagDto updateTagDto,) async {
Future<TagResponseDto?> update(String id, UpdateTagDto updateTagDto,) async {
final response = await updateWithHttpInfo(id, updateTagDto,);
if (response.statusCode >= HttpStatus.badRequest) {
throw ApiException(response.statusCode, await _decodeBodyBytes(response));
@ -249,7 +241,7 @@ class TagApi {
// At the time of writing this, `dart:convert` will throw an "Unexpected end of input"
// FormatException when trying to decode an empty string.
if (response.body.isNotEmpty && response.statusCode != HttpStatus.noContent) {
return await apiClient.deserializeAsync(await _decodeBodyBytes(response), 'Object',) as Object;
return await apiClient.deserializeAsync(await _decodeBodyBytes(response), 'TagResponseDto',) as TagResponseDto;
}
return null;

View file

@ -212,8 +212,6 @@ class ApiClient {
return AssetCountByTimeBucketResponseDto.fromJson(value);
case 'AssetCountByUserIdResponseDto':
return AssetCountByUserIdResponseDto.fromJson(value);
case 'AssetEntity':
return AssetEntity.fromJson(value);
case 'AssetFileUploadResponseDto':
return AssetFileUploadResponseDto.fromJson(value);
case 'AssetResponseDto':
@ -252,8 +250,6 @@ class ApiClient {
return DeviceInfoResponseDto.fromJson(value);
case 'DeviceTypeEnum':
return DeviceTypeEnumTypeTransformer().decode(value);
case 'ExifEntity':
return ExifEntity.fromJson(value);
case 'ExifResponseDto':
return ExifResponseDto.fromJson(value);
case 'GetAssetByTimeBucketDto':
@ -296,8 +292,6 @@ class ApiClient {
return ServerVersionReponseDto.fromJson(value);
case 'SignUpDto':
return SignUpDto.fromJson(value);
case 'SmartInfoEntity':
return SmartInfoEntity.fromJson(value);
case 'SmartInfoResponseDto':
return SmartInfoResponseDto.fromJson(value);
case 'SystemConfigKey':
@ -306,8 +300,6 @@ class ApiClient {
return SystemConfigResponseDto.fromJson(value);
case 'SystemConfigResponseItem':
return SystemConfigResponseItem.fromJson(value);
case 'TagEntity':
return TagEntity.fromJson(value);
case 'TagResponseDto':
return TagResponseDto.fromJson(value);
case 'TagTypeEnum':
@ -330,8 +322,6 @@ class ApiClient {
return UsageByUserDto.fromJson(value);
case 'UserCountResponseDto':
return UserCountResponseDto.fromJson(value);
case 'UserEntity':
return UserEntity.fromJson(value);
case 'UserResponseDto':
return UserResponseDto.fromJson(value);
case 'ValidateAccessTokenResponseDto':

View file

@ -16,6 +16,8 @@ class TagResponseDto {
required this.id,
required this.type,
required this.name,
required this.userId,
this.renameTagId,
});
String id;
@ -24,27 +26,41 @@ class TagResponseDto {
String name;
String userId;
String? renameTagId;
@override
bool operator ==(Object other) => identical(this, other) || other is TagResponseDto &&
other.id == id &&
other.type == type &&
other.name == name;
other.name == name &&
other.userId == userId &&
other.renameTagId == renameTagId;
@override
int get hashCode =>
// ignore: unnecessary_parenthesis
(id.hashCode) +
(type.hashCode) +
(name.hashCode);
(name.hashCode) +
(userId.hashCode) +
(renameTagId == null ? 0 : renameTagId!.hashCode);
@override
String toString() => 'TagResponseDto[id=$id, type=$type, name=$name]';
String toString() => 'TagResponseDto[id=$id, type=$type, name=$name, userId=$userId, renameTagId=$renameTagId]';
Map<String, dynamic> toJson() {
final _json = <String, dynamic>{};
_json[r'id'] = id;
_json[r'type'] = type;
_json[r'name'] = name;
_json[r'userId'] = userId;
if (renameTagId != null) {
_json[r'renameTagId'] = renameTagId;
} else {
_json[r'renameTagId'] = null;
}
return _json;
}
@ -70,6 +86,8 @@ class TagResponseDto {
id: mapValueOfType<String>(json, r'id')!,
type: TagTypeEnum.fromJson(json[r'type'])!,
name: mapValueOfType<String>(json, r'name')!,
userId: mapValueOfType<String>(json, r'userId')!,
renameTagId: mapValueOfType<String>(json, r'renameTagId'),
);
}
return null;
@ -122,6 +140,7 @@ class TagResponseDto {
'id',
'type',
'name',
'userId',
};
}

View file

@ -9,6 +9,10 @@ export class TagResponseDto {
type!: string;
name!: string;
userId!: string;
renameTagId?: string | null;
}
export function mapTag(entity: TagEntity): TagResponseDto {
@ -16,5 +20,7 @@ export function mapTag(entity: TagEntity): TagResponseDto {
id: entity.id,
type: entity.type,
name: entity.name,
userId: entity.userId,
renameTagId: entity.renameTagId,
};
}

View file

@ -5,7 +5,7 @@ import { UpdateTagDto } from './dto/update-tag.dto';
import { Authenticated } from '../../decorators/authenticated.decorator';
import { ApiTags } from '@nestjs/swagger';
import { AuthUserDto, GetAuthUser } from '../../decorators/auth-user.decorator';
import { TagEntity } from '@app/database/entities/tag.entity';
import { mapTag, TagResponseDto } from "./response-dto/tag-response.dto";
@Authenticated()
@ApiTags('Tag')
@ -14,18 +14,19 @@ export class TagController {
constructor(private readonly tagService: TagService) {}
@Post()
create(@GetAuthUser() authUser: AuthUserDto, @Body(ValidationPipe) createTagDto: CreateTagDto): Promise<TagEntity> {
create(@GetAuthUser() authUser: AuthUserDto, @Body(ValidationPipe) createTagDto: CreateTagDto): Promise<TagResponseDto> {
return this.tagService.create(authUser, createTagDto);
}
@Get()
findAll(@GetAuthUser() authUser: AuthUserDto) {
findAll(@GetAuthUser() authUser: AuthUserDto): Promise<TagResponseDto[]> {
return this.tagService.findAll(authUser);
}
@Get(':id')
findOne(@GetAuthUser() authUser: AuthUserDto, @Param('id') id: string) {
return this.tagService.findOne(authUser, id);
async findOne(@GetAuthUser() authUser: AuthUserDto, @Param('id') id: string): Promise<TagResponseDto> {
const tag = await this.tagService.findOne(authUser, id);
return mapTag(tag);
}
@Patch(':id')
@ -33,12 +34,12 @@ export class TagController {
@GetAuthUser() authUser: AuthUserDto,
@Param('id') id: string,
@Body(ValidationPipe) updateTagDto: UpdateTagDto,
) {
): Promise<TagResponseDto> {
return this.tagService.update(authUser, id, updateTagDto);
}
@Delete(':id')
delete(@GetAuthUser() authUser: AuthUserDto, @Param('id') id: string) {
delete(@GetAuthUser() authUser: AuthUserDto, @Param('id') id: string): Promise<void> {
return this.tagService.remove(authUser, id);
}
}

View file

@ -4,6 +4,7 @@ import { AuthUserDto } from '../../decorators/auth-user.decorator';
import { CreateTagDto } from './dto/create-tag.dto';
import { UpdateTagDto } from './dto/update-tag.dto';
import { ITagRepository, TAG_REPOSITORY } from './tag.repository';
import { mapTag, TagResponseDto } from "./response-dto/tag-response.dto";
@Injectable()
export class TagService {
@ -13,7 +14,8 @@ export class TagService {
async create(authUser: AuthUserDto, createTagDto: CreateTagDto) {
try {
return await this._tagRepository.create(authUser.id, createTagDto.type, createTagDto.name);
const newTag = await this._tagRepository.create(authUser.id, createTagDto.type, createTagDto.name);
return mapTag(newTag);
} catch (e: any) {
this.logger.error(e, e.stack);
throw new BadRequestException(`Failed to create tag: ${e.detail}`);
@ -21,7 +23,8 @@ export class TagService {
}
async findAll(authUser: AuthUserDto) {
return await this._tagRepository.getByUserId(authUser.id);
const tags = await this._tagRepository.getByUserId(authUser.id);
return tags.map(mapTag);
}
async findOne(authUser: AuthUserDto, id: string): Promise<TagEntity> {
@ -34,15 +37,16 @@ export class TagService {
return tag;
}
async update(authUser: AuthUserDto, id: string, updateTagDto: UpdateTagDto) {
async update(authUser: AuthUserDto, id: string, updateTagDto: UpdateTagDto): Promise<TagResponseDto> {
const tag = await this.findOne(authUser, id);
return this._tagRepository.update(tag, updateTagDto);
await this._tagRepository.update(tag, updateTagDto);
return mapTag(tag);
}
async remove(authUser: AuthUserDto, id: string) {
async remove(authUser: AuthUserDto, id: string): Promise<void> {
const tag = await this.findOne(authUser, id);
return this._tagRepository.remove(tag);
await this._tagRepository.remove(tag);
}
}

View file

@ -1490,7 +1490,7 @@
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TagEntity"
"$ref": "#/components/schemas/TagResponseDto"
}
}
}
@ -1511,7 +1511,7 @@
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TagEntity"
"$ref": "#/components/schemas/TagResponseDto"
}
}
}
@ -1542,7 +1542,7 @@
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TagEntity"
"$ref": "#/components/schemas/TagResponseDto"
}
}
}
@ -1580,7 +1580,7 @@
"content": {
"application/json": {
"schema": {
"type": "object"
"$ref": "#/components/schemas/TagResponseDto"
}
}
}
@ -1604,14 +1604,7 @@
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TagEntity"
}
}
}
"description": ""
}
},
"tags": [
@ -2527,12 +2520,20 @@
},
"name": {
"type": "string"
},
"userId": {
"type": "string"
},
"renameTagId": {
"type": "string",
"nullable": true
}
},
"required": [
"id",
"type",
"name"
"name",
"userId"
]
},
"AssetResponseDto": {
@ -3025,372 +3026,6 @@
"name"
]
},
"ExifEntity": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"assetId": {
"type": "string"
},
"description": {
"type": "string",
"description": "General info"
},
"exifImageWidth": {
"type": "number",
"nullable": true
},
"exifImageHeight": {
"type": "number",
"nullable": true
},
"fileSizeInByte": {
"type": "number",
"nullable": true
},
"orientation": {
"type": "string",
"nullable": true
},
"dateTimeOriginal": {
"format": "date-time",
"type": "string",
"nullable": true
},
"modifyDate": {
"format": "date-time",
"type": "string",
"nullable": true
},
"latitude": {
"type": "number",
"nullable": true
},
"longitude": {
"type": "number",
"nullable": true
},
"city": {
"type": "string",
"nullable": true
},
"state": {
"type": "string",
"nullable": true
},
"country": {
"type": "string",
"nullable": true
},
"make": {
"type": "string",
"nullable": true,
"description": "Image info"
},
"model": {
"type": "string",
"nullable": true
},
"imageName": {
"type": "string",
"nullable": true
},
"lensModel": {
"type": "string",
"nullable": true
},
"fNumber": {
"type": "number",
"nullable": true
},
"focalLength": {
"type": "number",
"nullable": true
},
"iso": {
"type": "number",
"nullable": true
},
"exposureTime": {
"type": "number",
"nullable": true
},
"fps": {
"type": "number",
"nullable": true,
"description": "Video info"
},
"asset": {
"$ref": "#/components/schemas/AssetEntity"
},
"exifTextSearchableColumn": {
"type": "string"
}
},
"required": [
"id",
"assetId",
"description",
"exifImageWidth",
"exifImageHeight",
"fileSizeInByte",
"orientation",
"dateTimeOriginal",
"modifyDate",
"latitude",
"longitude",
"city",
"state",
"country",
"make",
"model",
"imageName",
"lensModel",
"fNumber",
"focalLength",
"iso",
"exposureTime",
"exifTextSearchableColumn"
]
},
"SmartInfoEntity": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"assetId": {
"type": "string"
},
"tags": {
"nullable": true,
"type": "array",
"items": {
"type": "string"
}
},
"objects": {
"nullable": true,
"type": "array",
"items": {
"type": "string"
}
},
"asset": {
"$ref": "#/components/schemas/AssetEntity"
}
},
"required": [
"id",
"assetId",
"tags",
"objects"
]
},
"UserEntity": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"firstName": {
"type": "string"
},
"lastName": {
"type": "string"
},
"isAdmin": {
"type": "boolean"
},
"email": {
"type": "string"
},
"password": {
"type": "string"
},
"salt": {
"type": "string"
},
"oauthId": {
"type": "string"
},
"profileImagePath": {
"type": "string"
},
"shouldChangePassword": {
"type": "boolean"
},
"createdAt": {
"type": "string"
},
"deletedAt": {
"format": "date-time",
"type": "string"
},
"tags": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TagEntity"
}
}
},
"required": [
"id",
"firstName",
"lastName",
"isAdmin",
"email",
"oauthId",
"profileImagePath",
"shouldChangePassword",
"createdAt",
"tags"
]
},
"TagEntity": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"type": {
"enum": [
"OBJECT",
"FACE",
"CUSTOM"
],
"type": "string"
},
"name": {
"type": "string"
},
"userId": {
"type": "string"
},
"renameTagId": {
"type": "string"
},
"assets": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AssetEntity"
}
},
"user": {
"$ref": "#/components/schemas/UserEntity"
}
},
"required": [
"id",
"type",
"name",
"userId",
"renameTagId",
"assets",
"user"
]
},
"AssetEntity": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"deviceAssetId": {
"type": "string"
},
"userId": {
"type": "string"
},
"deviceId": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"IMAGE",
"VIDEO",
"AUDIO",
"OTHER"
]
},
"originalPath": {
"type": "string"
},
"resizePath": {
"type": "string",
"nullable": true
},
"webpPath": {
"type": "string",
"nullable": true
},
"encodedVideoPath": {
"type": "string"
},
"createdAt": {
"type": "string"
},
"modifiedAt": {
"type": "string"
},
"isFavorite": {
"type": "boolean"
},
"mimeType": {
"type": "string",
"nullable": true
},
"checksum": {
"type": "object",
"nullable": true
},
"duration": {
"type": "string",
"nullable": true
},
"isVisible": {
"type": "boolean"
},
"livePhotoVideoId": {
"type": "string",
"nullable": true
},
"exifInfo": {
"$ref": "#/components/schemas/ExifEntity"
},
"smartInfo": {
"$ref": "#/components/schemas/SmartInfoEntity"
},
"tags": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TagEntity"
}
}
},
"required": [
"id",
"deviceAssetId",
"userId",
"deviceId",
"type",
"originalPath",
"resizePath",
"webpPath",
"encodedVideoPath",
"createdAt",
"modifiedAt",
"isFavorite",
"mimeType",
"duration",
"isVisible",
"livePhotoVideoId",
"tags"
]
},
"UpdateTagDto": {
"type": "object",
"properties": {

View file

@ -325,143 +325,6 @@ export interface AssetCountByUserIdResponseDto {
*/
'total': number;
}
/**
*
* @export
* @interface AssetEntity
*/
export interface AssetEntity {
/**
*
* @type {string}
* @memberof AssetEntity
*/
'id': string;
/**
*
* @type {string}
* @memberof AssetEntity
*/
'deviceAssetId': string;
/**
*
* @type {string}
* @memberof AssetEntity
*/
'userId': string;
/**
*
* @type {string}
* @memberof AssetEntity
*/
'deviceId': string;
/**
*
* @type {string}
* @memberof AssetEntity
*/
'type': AssetEntityTypeEnum;
/**
*
* @type {string}
* @memberof AssetEntity
*/
'originalPath': string;
/**
*
* @type {string}
* @memberof AssetEntity
*/
'resizePath': string | null;
/**
*
* @type {string}
* @memberof AssetEntity
*/
'webpPath': string | null;
/**
*
* @type {string}
* @memberof AssetEntity
*/
'encodedVideoPath': string;
/**
*
* @type {string}
* @memberof AssetEntity
*/
'createdAt': string;
/**
*
* @type {string}
* @memberof AssetEntity
*/
'modifiedAt': string;
/**
*
* @type {boolean}
* @memberof AssetEntity
*/
'isFavorite': boolean;
/**
*
* @type {string}
* @memberof AssetEntity
*/
'mimeType': string | null;
/**
*
* @type {object}
* @memberof AssetEntity
*/
'checksum'?: object | null;
/**
*
* @type {string}
* @memberof AssetEntity
*/
'duration': string | null;
/**
*
* @type {boolean}
* @memberof AssetEntity
*/
'isVisible': boolean;
/**
*
* @type {string}
* @memberof AssetEntity
*/
'livePhotoVideoId': string | null;
/**
*
* @type {ExifEntity}
* @memberof AssetEntity
*/
'exifInfo'?: ExifEntity;
/**
*
* @type {SmartInfoEntity}
* @memberof AssetEntity
*/
'smartInfo'?: SmartInfoEntity;
/**
*
* @type {Array<TagEntity>}
* @memberof AssetEntity
*/
'tags': Array<TagEntity>;
}
export const AssetEntityTypeEnum = {
Image: 'IMAGE',
Video: 'VIDEO',
Audio: 'AUDIO',
Other: 'OTHER'
} as const;
export type AssetEntityTypeEnum = typeof AssetEntityTypeEnum[keyof typeof AssetEntityTypeEnum];
/**
*
* @export
@ -973,163 +836,6 @@ export const DeviceTypeEnum = {
export type DeviceTypeEnum = typeof DeviceTypeEnum[keyof typeof DeviceTypeEnum];
/**
*
* @export
* @interface ExifEntity
*/
export interface ExifEntity {
/**
*
* @type {string}
* @memberof ExifEntity
*/
'id': string;
/**
*
* @type {string}
* @memberof ExifEntity
*/
'assetId': string;
/**
* General info
* @type {string}
* @memberof ExifEntity
*/
'description': string;
/**
*
* @type {number}
* @memberof ExifEntity
*/
'exifImageWidth': number | null;
/**
*
* @type {number}
* @memberof ExifEntity
*/
'exifImageHeight': number | null;
/**
*
* @type {number}
* @memberof ExifEntity
*/
'fileSizeInByte': number | null;
/**
*
* @type {string}
* @memberof ExifEntity
*/
'orientation': string | null;
/**
*
* @type {string}
* @memberof ExifEntity
*/
'dateTimeOriginal': string | null;
/**
*
* @type {string}
* @memberof ExifEntity
*/
'modifyDate': string | null;
/**
*
* @type {number}
* @memberof ExifEntity
*/
'latitude': number | null;
/**
*
* @type {number}
* @memberof ExifEntity
*/
'longitude': number | null;
/**
*
* @type {string}
* @memberof ExifEntity
*/
'city': string | null;
/**
*
* @type {string}
* @memberof ExifEntity
*/
'state': string | null;
/**
*
* @type {string}
* @memberof ExifEntity
*/
'country': string | null;
/**
* Image info
* @type {string}
* @memberof ExifEntity
*/
'make': string | null;
/**
*
* @type {string}
* @memberof ExifEntity
*/
'model': string | null;
/**
*
* @type {string}
* @memberof ExifEntity
*/
'imageName': string | null;
/**
*
* @type {string}
* @memberof ExifEntity
*/
'lensModel': string | null;
/**
*
* @type {number}
* @memberof ExifEntity
*/
'fNumber': number | null;
/**
*
* @type {number}
* @memberof ExifEntity
*/
'focalLength': number | null;
/**
*
* @type {number}
* @memberof ExifEntity
*/
'iso': number | null;
/**
*
* @type {number}
* @memberof ExifEntity
*/
'exposureTime': number | null;
/**
* Video info
* @type {number}
* @memberof ExifEntity
*/
'fps'?: number | null;
/**
*
* @type {AssetEntity}
* @memberof ExifEntity
*/
'asset'?: AssetEntity;
/**
*
* @type {string}
* @memberof ExifEntity
*/
'exifTextSearchableColumn': string;
}
/**
*
* @export
@ -1719,43 +1425,6 @@ export interface SignUpDto {
*/
'lastName': string;
}
/**
*
* @export
* @interface SmartInfoEntity
*/
export interface SmartInfoEntity {
/**
*
* @type {string}
* @memberof SmartInfoEntity
*/
'id': string;
/**
*
* @type {string}
* @memberof SmartInfoEntity
*/
'assetId': string;
/**
*
* @type {Array<string>}
* @memberof SmartInfoEntity
*/
'tags': Array<string> | null;
/**
*
* @type {Array<string>}
* @memberof SmartInfoEntity
*/
'objects': Array<string> | null;
/**
*
* @type {AssetEntity}
* @memberof SmartInfoEntity
*/
'asset'?: AssetEntity;
}
/**
*
* @export
@ -1842,64 +1511,6 @@ export interface SystemConfigResponseItem {
*/
'defaultValue': string;
}
/**
*
* @export
* @interface TagEntity
*/
export interface TagEntity {
/**
*
* @type {string}
* @memberof TagEntity
*/
'id': string;
/**
*
* @type {string}
* @memberof TagEntity
*/
'type': TagEntityTypeEnum;
/**
*
* @type {string}
* @memberof TagEntity
*/
'name': string;
/**
*
* @type {string}
* @memberof TagEntity
*/
'userId': string;
/**
*
* @type {string}
* @memberof TagEntity
*/
'renameTagId': string;
/**
*
* @type {Array<AssetEntity>}
* @memberof TagEntity
*/
'assets': Array<AssetEntity>;
/**
*
* @type {UserEntity}
* @memberof TagEntity
*/
'user': UserEntity;
}
export const TagEntityTypeEnum = {
Object: 'OBJECT',
Face: 'FACE',
Custom: 'CUSTOM'
} as const;
export type TagEntityTypeEnum = typeof TagEntityTypeEnum[keyof typeof TagEntityTypeEnum];
/**
*
* @export
@ -1924,6 +1535,18 @@ export interface TagResponseDto {
* @memberof TagResponseDto
*/
'name': string;
/**
*
* @type {string}
* @memberof TagResponseDto
*/
'userId': string;
/**
*
* @type {string}
* @memberof TagResponseDto
*/
'renameTagId'?: string | null;
}
/**
*
@ -2149,91 +1772,6 @@ export interface UserCountResponseDto {
*/
'userCount': number;
}
/**
*
* @export
* @interface UserEntity
*/
export interface UserEntity {
/**
*
* @type {string}
* @memberof UserEntity
*/
'id': string;
/**
*
* @type {string}
* @memberof UserEntity
*/
'firstName': string;
/**
*
* @type {string}
* @memberof UserEntity
*/
'lastName': string;
/**
*
* @type {boolean}
* @memberof UserEntity
*/
'isAdmin': boolean;
/**
*
* @type {string}
* @memberof UserEntity
*/
'email': string;
/**
*
* @type {string}
* @memberof UserEntity
*/
'password'?: string;
/**
*
* @type {string}
* @memberof UserEntity
*/
'salt'?: string;
/**
*
* @type {string}
* @memberof UserEntity
*/
'oauthId': string;
/**
*
* @type {string}
* @memberof UserEntity
*/
'profileImagePath': string;
/**
*
* @type {boolean}
* @memberof UserEntity
*/
'shouldChangePassword': boolean;
/**
*
* @type {string}
* @memberof UserEntity
*/
'createdAt': string;
/**
*
* @type {string}
* @memberof UserEntity
*/
'deletedAt'?: string;
/**
*
* @type {Array<TagEntity>}
* @memberof UserEntity
*/
'tags': Array<TagEntity>;
}
/**
*
* @export
@ -6005,7 +5543,7 @@ export const TagApiFp = function(configuration?: Configuration) {
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async _delete(id: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<TagEntity>> {
async _delete(id: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
const localVarAxiosArgs = await localVarAxiosParamCreator._delete(id, options);
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
},
@ -6015,7 +5553,7 @@ export const TagApiFp = function(configuration?: Configuration) {
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async create(createTagDto: CreateTagDto, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<TagEntity>> {
async create(createTagDto: CreateTagDto, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<TagResponseDto>> {
const localVarAxiosArgs = await localVarAxiosParamCreator.create(createTagDto, options);
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
},
@ -6024,7 +5562,7 @@ export const TagApiFp = function(configuration?: Configuration) {
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async findAll(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<TagEntity>>> {
async findAll(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<TagResponseDto>>> {
const localVarAxiosArgs = await localVarAxiosParamCreator.findAll(options);
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
},
@ -6034,7 +5572,7 @@ export const TagApiFp = function(configuration?: Configuration) {
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async findOne(id: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<TagEntity>> {
async findOne(id: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<TagResponseDto>> {
const localVarAxiosArgs = await localVarAxiosParamCreator.findOne(id, options);
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
},
@ -6045,7 +5583,7 @@ export const TagApiFp = function(configuration?: Configuration) {
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async update(id: string, updateTagDto: UpdateTagDto, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>> {
async update(id: string, updateTagDto: UpdateTagDto, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<TagResponseDto>> {
const localVarAxiosArgs = await localVarAxiosParamCreator.update(id, updateTagDto, options);
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
},
@ -6065,7 +5603,7 @@ export const TagApiFactory = function (configuration?: Configuration, basePath?:
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
_delete(id: string, options?: any): AxiosPromise<TagEntity> {
_delete(id: string, options?: any): AxiosPromise<void> {
return localVarFp._delete(id, options).then((request) => request(axios, basePath));
},
/**
@ -6074,7 +5612,7 @@ export const TagApiFactory = function (configuration?: Configuration, basePath?:
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
create(createTagDto: CreateTagDto, options?: any): AxiosPromise<TagEntity> {
create(createTagDto: CreateTagDto, options?: any): AxiosPromise<TagResponseDto> {
return localVarFp.create(createTagDto, options).then((request) => request(axios, basePath));
},
/**
@ -6082,7 +5620,7 @@ export const TagApiFactory = function (configuration?: Configuration, basePath?:
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
findAll(options?: any): AxiosPromise<Array<TagEntity>> {
findAll(options?: any): AxiosPromise<Array<TagResponseDto>> {
return localVarFp.findAll(options).then((request) => request(axios, basePath));
},
/**
@ -6091,7 +5629,7 @@ export const TagApiFactory = function (configuration?: Configuration, basePath?:
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
findOne(id: string, options?: any): AxiosPromise<TagEntity> {
findOne(id: string, options?: any): AxiosPromise<TagResponseDto> {
return localVarFp.findOne(id, options).then((request) => request(axios, basePath));
},
/**
@ -6101,7 +5639,7 @@ export const TagApiFactory = function (configuration?: Configuration, basePath?:
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
update(id: string, updateTagDto: UpdateTagDto, options?: any): AxiosPromise<object> {
update(id: string, updateTagDto: UpdateTagDto, options?: any): AxiosPromise<TagResponseDto> {
return localVarFp.update(id, updateTagDto, options).then((request) => request(axios, basePath));
},
};