chore(server): enable swagger to take class validator rules into account (#9022)

* enable swagger to take class validator rules into account

* chore: open api
This commit is contained in:
Daniel Dietzler 2024-04-23 00:13:44 +02:00 committed by GitHub
parent c9a079201a
commit 7f1651df71
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
15 changed files with 78 additions and 1 deletions

View File

@ -36,6 +36,7 @@ class CreateUserDto {
String password;
/// Minimum value: 1
int? quotaSizeInBytes;
///

View File

@ -27,6 +27,7 @@ class DownloadInfoDto {
///
String? albumId;
/// Minimum value: 1
///
/// 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

View File

@ -16,6 +16,7 @@ class JobSettingsDto {
required this.concurrency,
});
/// Minimum value: 1
int concurrency;
@override

View File

@ -260,6 +260,7 @@ class MetadataSearchDto {
///
String? originalPath;
/// Minimum value: 1
///
/// 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
@ -286,6 +287,8 @@ class MetadataSearchDto {
///
String? resizePath;
/// Minimum value: 1
/// Maximum value: 1000
///
/// 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

View File

@ -16,6 +16,7 @@ class OnThisDayDto {
required this.year,
});
/// Minimum value: 1
num year;
@override

View File

@ -23,10 +23,15 @@ class RecognitionConfig {
bool enabled;
/// Minimum value: 0
/// Maximum value: 2
double maxDistance;
/// Minimum value: 1
int minFaces;
/// Minimum value: 0
/// Maximum value: 1
double minScore;
String modelName;

View File

@ -192,6 +192,7 @@ class SmartSearchDto {
///
String? model;
/// Minimum value: 1
///
/// 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
@ -204,6 +205,8 @@ class SmartSearchDto {
String query;
/// Minimum value: 1
/// Maximum value: 1000
///
/// 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

View File

@ -41,22 +41,30 @@ class SystemConfigFFmpegDto {
List<VideoCodec> acceptedVideoCodecs;
/// Minimum value: -1
/// Maximum value: 16
int bframes;
CQMode cqMode;
/// Minimum value: 0
/// Maximum value: 51
int crf;
/// Minimum value: 0
int gopSize;
String maxBitrate;
/// Minimum value: 0
int npl;
String preferredHwDevice;
String preset;
/// Minimum value: 0
/// Maximum value: 6
int refs;
AudioCodec targetAudioCodec;
@ -67,6 +75,7 @@ class SystemConfigFFmpegDto {
bool temporalAQ;
/// Minimum value: 0
int threads;
ToneMapping tonemap;

View File

@ -28,12 +28,16 @@ class SystemConfigImageDto {
ImageFormat previewFormat;
/// Minimum value: 1
int previewSize;
/// Minimum value: 1
/// Maximum value: 100
int quality;
ImageFormat thumbnailFormat;
/// Minimum value: 1
int thumbnailSize;
@override

View File

@ -39,6 +39,7 @@ class SystemConfigOAuthDto {
String clientSecret;
/// Minimum value: 0
num defaultStorageQuota;
bool enabled;

View File

@ -17,6 +17,7 @@ class SystemConfigTrashDto {
required this.enabled,
});
/// Minimum value: 0
int days;
bool enabled;

View File

@ -16,6 +16,7 @@ class SystemConfigUserDto {
required this.deleteDelay,
});
/// Minimum value: 1
int deleteDelay;
@override

View File

@ -75,6 +75,7 @@ class UpdateUserDto {
///
String? password;
/// Minimum value: 1
int? quotaSizeInBytes;
///

View File

@ -1447,6 +1447,8 @@
"required": true,
"in": "query",
"schema": {
"minimum": 1,
"maximum": 31,
"type": "integer"
}
},
@ -1455,6 +1457,8 @@
"required": true,
"in": "query",
"schema": {
"minimum": 1,
"maximum": 12,
"type": "integer"
}
}
@ -1499,6 +1503,7 @@
"required": false,
"in": "query",
"schema": {
"minimum": 1,
"type": "number"
}
}
@ -2086,6 +2091,7 @@
"required": false,
"in": "query",
"schema": {
"minimum": 1,
"type": "number"
}
},
@ -2123,6 +2129,8 @@
"required": false,
"in": "query",
"schema": {
"minimum": 1,
"maximum": 1000,
"type": "number"
}
},
@ -4456,6 +4464,7 @@
"required": false,
"in": "query",
"schema": {
"minimum": 1,
"type": "number"
}
},
@ -4488,6 +4497,8 @@
"required": false,
"in": "query",
"schema": {
"minimum": 1,
"maximum": 1000,
"type": "number"
}
},
@ -5622,6 +5633,7 @@
"required": true,
"in": "query",
"schema": {
"minimum": 1,
"type": "integer"
}
},
@ -8054,6 +8066,7 @@
"properties": {
"newPassword": {
"example": "password",
"minLength": 8,
"type": "string"
},
"password": {
@ -8286,6 +8299,7 @@
},
"quotaSizeInBytes": {
"format": "int64",
"minimum": 1,
"nullable": true,
"type": "integer"
},
@ -8391,6 +8405,7 @@
"type": "string"
},
"archiveSize": {
"minimum": 1,
"type": "integer"
},
"assetIds": {
@ -8731,6 +8746,7 @@
"JobSettingsDto": {
"properties": {
"concurrency": {
"minimum": 1,
"type": "integer"
}
},
@ -9203,6 +9219,7 @@
"type": "string"
},
"page": {
"minimum": 1,
"type": "number"
},
"personIds": {
@ -9220,6 +9237,8 @@
"type": "string"
},
"size": {
"maximum": 1000,
"minimum": 1,
"type": "number"
},
"state": {
@ -9321,6 +9340,7 @@
"OnThisDayDto": {
"properties": {
"year": {
"minimum": 1,
"type": "number"
}
},
@ -9676,13 +9696,18 @@
},
"maxDistance": {
"format": "float",
"maximum": 2,
"minimum": 0,
"type": "number"
},
"minFaces": {
"minimum": 1,
"type": "integer"
},
"minScore": {
"format": "float",
"maximum": 1,
"minimum": 0,
"type": "number"
},
"modelName": {
@ -10401,6 +10426,7 @@
"type": "string"
},
"page": {
"minimum": 1,
"type": "number"
},
"personIds": {
@ -10414,6 +10440,8 @@
"type": "string"
},
"size": {
"maximum": 1000,
"minimum": 1,
"type": "number"
},
"state": {
@ -10551,21 +10579,27 @@
"type": "array"
},
"bframes": {
"maximum": 16,
"minimum": -1,
"type": "integer"
},
"cqMode": {
"$ref": "#/components/schemas/CQMode"
},
"crf": {
"maximum": 51,
"minimum": 0,
"type": "integer"
},
"gopSize": {
"minimum": 0,
"type": "integer"
},
"maxBitrate": {
"type": "string"
},
"npl": {
"minimum": 0,
"type": "integer"
},
"preferredHwDevice": {
@ -10575,6 +10609,8 @@
"type": "string"
},
"refs": {
"maximum": 6,
"minimum": 0,
"type": "integer"
},
"targetAudioCodec": {
@ -10590,6 +10626,7 @@
"type": "boolean"
},
"threads": {
"minimum": 0,
"type": "integer"
},
"tonemap": {
@ -10638,15 +10675,19 @@
"$ref": "#/components/schemas/ImageFormat"
},
"previewSize": {
"minimum": 1,
"type": "integer"
},
"quality": {
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"thumbnailFormat": {
"$ref": "#/components/schemas/ImageFormat"
},
"thumbnailSize": {
"minimum": 1,
"type": "integer"
}
},
@ -10835,6 +10876,7 @@
"type": "string"
},
"defaultStorageQuota": {
"minimum": 0,
"type": "number"
},
"enabled": {
@ -11013,6 +11055,7 @@
"SystemConfigTrashDto": {
"properties": {
"days": {
"minimum": 0,
"type": "integer"
},
"enabled": {
@ -11028,6 +11071,7 @@
"SystemConfigUserDto": {
"properties": {
"deleteDelay": {
"minimum": 1,
"type": "integer"
}
},
@ -11254,6 +11298,7 @@
},
"quotaSizeInBytes": {
"format": "int64",
"minimum": 1,
"nullable": true,
"type": "integer"
},

View File

@ -9,7 +9,7 @@
{
"name": "@nestjs/swagger",
"options": {
"classValidatorShim": false,
"classValidatorShim": true,
"introspectComments": true
}
}