Browse Source

Add generated openapi docs to website (#1067)

* Add generated openapi docs to website

* Uppercase API link in navbar

* fix(docs): open api empty summary (#1069)

* feat(docs): Use /docs/api path for swagger docs

* Sync api version to be the same as the server

* Update version

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
bo0tzz 2 years ago
parent
commit
a97b761eda

+ 11 - 2
docs/docusaurus.config.js

@@ -30,8 +30,8 @@ const config = {
 
 
   presets: [
   presets: [
     [
     [
-      "classic",
-      /** @type {import('@docusaurus/preset-classic').Options} */
+      "docusaurus-preset-openapi",
+      /** @type {import('docusaurus-preset-openapi').Options} */
       ({
       ({
         docs: {
         docs: {
           showLastUpdateAuthor: true,
           showLastUpdateAuthor: true,
@@ -42,6 +42,10 @@ const config = {
           // Remove this to remove the "edit this page" links.
           // Remove this to remove the "edit this page" links.
           editUrl: "https://github.com/immich-app/immich/tree/main/docs/",
           editUrl: "https://github.com/immich-app/immich/tree/main/docs/",
         },
         },
+        api: {
+          path: "../server/immich-openapi-specs.json",
+          routeBasePath: "/docs/api"
+        },
         // blog: {
         // blog: {
         //   showReadingTime: true,
         //   showReadingTime: true,
         //   editUrl: "https://github.com/immich-app/immich/tree/main/docs/",
         //   editUrl: "https://github.com/immich-app/immich/tree/main/docs/",
@@ -80,6 +84,11 @@ const config = {
             position: "right",
             position: "right",
             label: "Documentation",
             label: "Documentation",
           },
           },
+          {
+            to: "/docs/api",
+            position: "right",
+            label: "API"
+          },
           { to: "/blog", label: "Blog", position: "right" },
           { to: "/blog", label: "Blog", position: "right" },
           {
           {
             href: "https://github.com/immich-app/immich",
             href: "https://github.com/immich-app/immich",

File diff suppressed because it is too large
+ 810 - 15
docs/package-lock.json


+ 3 - 1
docs/package.json

@@ -19,9 +19,11 @@
     "@docusaurus/preset-classic": "2.1.0",
     "@docusaurus/preset-classic": "2.1.0",
     "@mdx-js/react": "^1.6.22",
     "@mdx-js/react": "^1.6.22",
     "clsx": "^1.2.1",
     "clsx": "^1.2.1",
+    "docusaurus-preset-openapi": "^0.6.3",
     "prism-react-renderer": "^1.3.5",
     "prism-react-renderer": "^1.3.5",
     "react": "^17.0.2",
     "react": "^17.0.2",
-    "react-dom": "^17.0.2"
+    "react-dom": "^17.0.2",
+    "url": "^0.11.0"
   },
   },
   "devDependencies": {
   "devDependencies": {
     "@docusaurus/module-type-aliases": "2.1.0",
     "@docusaurus/module-type-aliases": "2.1.0",

+ 0 - 24
mobile/openapi/lib/api/asset_api.dart

@@ -16,8 +16,6 @@ class AssetApi {
 
 
   final ApiClient apiClient;
   final ApiClient apiClient;
 
 
-  /// 
-  ///
   /// Check duplicated asset before uploading - for Web upload used
   /// Check duplicated asset before uploading - for Web upload used
   ///
   ///
   /// Note: This method returns the HTTP [Response].
   /// Note: This method returns the HTTP [Response].
@@ -50,8 +48,6 @@ class AssetApi {
     );
     );
   }
   }
 
 
-  /// 
-  ///
   /// Check duplicated asset before uploading - for Web upload used
   /// Check duplicated asset before uploading - for Web upload used
   ///
   ///
   /// Parameters:
   /// Parameters:
@@ -72,8 +68,6 @@ class AssetApi {
     return null;
     return null;
   }
   }
 
 
-  /// 
-  ///
   /// Checks if multiple assets exist on the server and returns all existing - used by background backup
   /// Checks if multiple assets exist on the server and returns all existing - used by background backup
   ///
   ///
   /// Note: This method returns the HTTP [Response].
   /// Note: This method returns the HTTP [Response].
@@ -106,8 +100,6 @@ class AssetApi {
     );
     );
   }
   }
 
 
-  /// 
-  ///
   /// Checks if multiple assets exist on the server and returns all existing - used by background backup
   /// Checks if multiple assets exist on the server and returns all existing - used by background backup
   ///
   ///
   /// Parameters:
   /// Parameters:
@@ -292,8 +284,6 @@ class AssetApi {
     return null;
     return null;
   }
   }
 
 
-  /// 
-  ///
   /// Get all AssetEntity belong to the user
   /// Get all AssetEntity belong to the user
   ///
   ///
   /// Note: This method returns the HTTP [Response].
   /// Note: This method returns the HTTP [Response].
@@ -331,8 +321,6 @@ class AssetApi {
     );
     );
   }
   }
 
 
-  /// 
-  ///
   /// Get all AssetEntity belong to the user
   /// Get all AssetEntity belong to the user
   ///
   ///
   /// Parameters:
   /// Parameters:
@@ -357,8 +345,6 @@ class AssetApi {
     return null;
     return null;
   }
   }
 
 
-  /// 
-  ///
   /// Get a single asset's information
   /// Get a single asset's information
   ///
   ///
   /// Note: This method returns the HTTP [Response].
   /// Note: This method returns the HTTP [Response].
@@ -392,8 +378,6 @@ class AssetApi {
     );
     );
   }
   }
 
 
-  /// 
-  ///
   /// Get a single asset's information
   /// Get a single asset's information
   ///
   ///
   /// Parameters:
   /// Parameters:
@@ -740,8 +724,6 @@ class AssetApi {
     return null;
     return null;
   }
   }
 
 
-  /// 
-  ///
   /// Get all asset of a device that are in the database, ID only.
   /// Get all asset of a device that are in the database, ID only.
   ///
   ///
   /// Note: This method returns the HTTP [Response].
   /// Note: This method returns the HTTP [Response].
@@ -775,8 +757,6 @@ class AssetApi {
     );
     );
   }
   }
 
 
-  /// 
-  ///
   /// Get all asset of a device that are in the database, ID only.
   /// Get all asset of a device that are in the database, ID only.
   ///
   ///
   /// Parameters:
   /// Parameters:
@@ -913,8 +893,6 @@ class AssetApi {
     return null;
     return null;
   }
   }
 
 
-  /// 
-  ///
   /// Update an asset
   /// Update an asset
   ///
   ///
   /// Note: This method returns the HTTP [Response].
   /// Note: This method returns the HTTP [Response].
@@ -950,8 +928,6 @@ class AssetApi {
     );
     );
   }
   }
 
 
-  /// 
-  ///
   /// Update an asset
   /// Update an asset
   ///
   ///
   /// Parameters:
   /// Parameters:

+ 0 - 12
mobile/openapi/test/asset_api_test.dart

@@ -17,8 +17,6 @@ void main() {
   // final instance = AssetApi();
   // final instance = AssetApi();
 
 
   group('tests for AssetApi', () {
   group('tests for AssetApi', () {
-    // 
-    //
     // Check duplicated asset before uploading - for Web upload used
     // Check duplicated asset before uploading - for Web upload used
     //
     //
     //Future<CheckDuplicateAssetResponseDto> checkDuplicateAsset(CheckDuplicateAssetDto checkDuplicateAssetDto) async
     //Future<CheckDuplicateAssetResponseDto> checkDuplicateAsset(CheckDuplicateAssetDto checkDuplicateAssetDto) async
@@ -26,8 +24,6 @@ void main() {
       // TODO
       // TODO
     });
     });
 
 
-    // 
-    //
     // Checks if multiple assets exist on the server and returns all existing - used by background backup
     // Checks if multiple assets exist on the server and returns all existing - used by background backup
     //
     //
     //Future<CheckExistingAssetsResponseDto> checkExistingAssets(CheckExistingAssetsDto checkExistingAssetsDto) async
     //Future<CheckExistingAssetsResponseDto> checkExistingAssets(CheckExistingAssetsDto checkExistingAssetsDto) async
@@ -50,8 +46,6 @@ void main() {
       // TODO
       // TODO
     });
     });
 
 
-    // 
-    //
     // Get all AssetEntity belong to the user
     // Get all AssetEntity belong to the user
     //
     //
     //Future<List<AssetResponseDto>> getAllAssets({ String ifNoneMatch }) async
     //Future<List<AssetResponseDto>> getAllAssets({ String ifNoneMatch }) async
@@ -59,8 +53,6 @@ void main() {
       // TODO
       // TODO
     });
     });
 
 
-    // 
-    //
     // Get a single asset's information
     // Get a single asset's information
     //
     //
     //Future<AssetResponseDto> getAssetById(String assetId) async
     //Future<AssetResponseDto> getAssetById(String assetId) async
@@ -103,8 +95,6 @@ void main() {
       // TODO
       // TODO
     });
     });
 
 
-    // 
-    //
     // Get all asset of a device that are in the database, ID only.
     // Get all asset of a device that are in the database, ID only.
     //
     //
     //Future<List<String>> getUserAssetsByDeviceId(String deviceId) async
     //Future<List<String>> getUserAssetsByDeviceId(String deviceId) async
@@ -122,8 +112,6 @@ void main() {
       // TODO
       // TODO
     });
     });
 
 
-    // 
-    //
     // Update an asset
     // Update an asset
     //
     //
     //Future<AssetResponseDto> updateAsset(String assetId, UpdateAssetDto updateAssetDto) async
     //Future<AssetResponseDto> updateAsset(String assetId, UpdateAssetDto updateAssetDto) async

+ 3 - 2
server/apps/immich/src/main.ts

@@ -9,6 +9,7 @@ import { AppModule } from './app.module';
 import { serverVersion } from './constants/server_version.constant';
 import { serverVersion } from './constants/server_version.constant';
 import { RedisIoAdapter } from './middlewares/redis-io.adapter.middleware';
 import { RedisIoAdapter } from './middlewares/redis-io.adapter.middleware';
 import { json } from 'body-parser';
 import { json } from 'body-parser';
+import { patchOpenAPI } from './utils/patch-open-api.util';
 
 
 async function bootstrap() {
 async function bootstrap() {
   const app = await NestFactory.create<NestExpressApplication>(AppModule);
   const app = await NestFactory.create<NestExpressApplication>(AppModule);
@@ -26,7 +27,7 @@ async function bootstrap() {
   const config = new DocumentBuilder()
   const config = new DocumentBuilder()
     .setTitle('Immich')
     .setTitle('Immich')
     .setDescription('Immich API')
     .setDescription('Immich API')
-    .setVersion('1.17.0')
+    .setVersion(`${serverVersion.major}.${serverVersion.minor}.${serverVersion.patch}`)
     .addBearerAuth({
     .addBearerAuth({
       type: 'http',
       type: 'http',
       scheme: 'Bearer',
       scheme: 'Bearer',
@@ -55,7 +56,7 @@ async function bootstrap() {
     if (process.env.NODE_ENV == 'development') {
     if (process.env.NODE_ENV == 'development') {
       // Generate API Documentation only in development mode
       // Generate API Documentation only in development mode
       const outputPath = path.resolve(process.cwd(), 'immich-openapi-specs.json');
       const outputPath = path.resolve(process.cwd(), 'immich-openapi-specs.json');
-      writeFileSync(outputPath, JSON.stringify(apiDocument, null, 2), { encoding: 'utf8' });
+      writeFileSync(outputPath, JSON.stringify(patchOpenAPI(apiDocument), null, 2), { encoding: 'utf8' });
       Logger.log(
       Logger.log(
         `Running Immich Server in DEVELOPMENT environment - version ${serverVersion.major}.${serverVersion.minor}.${serverVersion.patch}`,
         `Running Immich Server in DEVELOPMENT environment - version ${serverVersion.major}.${serverVersion.minor}.${serverVersion.patch}`,
         'ImmichServer',
         'ImmichServer',

+ 28 - 0
server/apps/immich/src/utils/patch-open-api.util.ts

@@ -0,0 +1,28 @@
+import { OpenAPIObject } from '@nestjs/swagger';
+
+export function patchOpenAPI(document: OpenAPIObject) {
+  for (const path of Object.values(document.paths)) {
+    const operations = {
+      get: path.get,
+      put: path.put,
+      post: path.post,
+      delete: path.delete,
+      options: path.options,
+      head: path.head,
+      patch: path.patch,
+      trace: path.trace,
+    };
+
+    for (const operation of Object.values(operations)) {
+      if (!operation) {
+        continue;
+      }
+
+      if (operation.summary === '') {
+        delete operation.summary;
+      }
+    }
+  }
+
+  return document;
+}

+ 1 - 7
server/immich-openapi-specs.json

@@ -733,7 +733,6 @@
     "/asset": {
     "/asset": {
       "get": {
       "get": {
         "operationId": "getAllAssets",
         "operationId": "getAllAssets",
-        "summary": "",
         "description": "Get all AssetEntity belong to the user",
         "description": "Get all AssetEntity belong to the user",
         "parameters": [
         "parameters": [
           {
           {
@@ -850,7 +849,6 @@
     "/asset/{deviceId}": {
     "/asset/{deviceId}": {
       "get": {
       "get": {
         "operationId": "getUserAssetsByDeviceId",
         "operationId": "getUserAssetsByDeviceId",
-        "summary": "",
         "description": "Get all asset of a device that are in the database, ID only.",
         "description": "Get all asset of a device that are in the database, ID only.",
         "parameters": [
         "parameters": [
           {
           {
@@ -890,7 +888,6 @@
     "/asset/assetById/{assetId}": {
     "/asset/assetById/{assetId}": {
       "get": {
       "get": {
         "operationId": "getAssetById",
         "operationId": "getAssetById",
-        "summary": "",
         "description": "Get a single asset's information",
         "description": "Get a single asset's information",
         "parameters": [
         "parameters": [
           {
           {
@@ -927,7 +924,6 @@
     "/asset/{assetId}": {
     "/asset/{assetId}": {
       "put": {
       "put": {
         "operationId": "updateAsset",
         "operationId": "updateAsset",
-        "summary": "",
         "description": "Update an asset",
         "description": "Update an asset",
         "parameters": [
         "parameters": [
           {
           {
@@ -974,7 +970,6 @@
     "/asset/check": {
     "/asset/check": {
       "post": {
       "post": {
         "operationId": "checkDuplicateAsset",
         "operationId": "checkDuplicateAsset",
-        "summary": "",
         "description": "Check duplicated asset before uploading - for Web upload used",
         "description": "Check duplicated asset before uploading - for Web upload used",
         "parameters": [],
         "parameters": [],
         "requestBody": {
         "requestBody": {
@@ -1012,7 +1007,6 @@
     "/asset/exist": {
     "/asset/exist": {
       "post": {
       "post": {
         "operationId": "checkExistingAssets",
         "operationId": "checkExistingAssets",
-        "summary": "",
         "description": "Checks if multiple assets exist on the server and returns all existing - used by background backup",
         "description": "Checks if multiple assets exist on the server and returns all existing - used by background backup",
         "parameters": [],
         "parameters": [],
         "requestBody": {
         "requestBody": {
@@ -2108,7 +2102,7 @@
   "info": {
   "info": {
     "title": "Immich",
     "title": "Immich",
     "description": "Immich API",
     "description": "Immich API",
-    "version": "1.17.0",
+    "version": "1.37.0",
     "contact": {}
     "contact": {}
   },
   },
   "tags": [],
   "tags": [],

+ 0 - 24
web/src/api/open-api/api.ts

@@ -2685,7 +2685,6 @@ export const AssetApiAxiosParamCreator = function (configuration?: Configuration
     return {
     return {
         /**
         /**
          * Check duplicated asset before uploading - for Web upload used
          * Check duplicated asset before uploading - for Web upload used
-         * @summary 
          * @param {CheckDuplicateAssetDto} checkDuplicateAssetDto 
          * @param {CheckDuplicateAssetDto} checkDuplicateAssetDto 
          * @param {*} [options] Override http request option.
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          * @throws {RequiredError}
@@ -2725,7 +2724,6 @@ export const AssetApiAxiosParamCreator = function (configuration?: Configuration
         },
         },
         /**
         /**
          * Checks if multiple assets exist on the server and returns all existing - used by background backup
          * Checks if multiple assets exist on the server and returns all existing - used by background backup
-         * @summary 
          * @param {CheckExistingAssetsDto} checkExistingAssetsDto 
          * @param {CheckExistingAssetsDto} checkExistingAssetsDto 
          * @param {*} [options] Override http request option.
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          * @throws {RequiredError}
@@ -2889,7 +2887,6 @@ export const AssetApiAxiosParamCreator = function (configuration?: Configuration
         },
         },
         /**
         /**
          * Get all AssetEntity belong to the user
          * Get all AssetEntity belong to the user
-         * @summary 
          * @param {string} [ifNoneMatch] ETag of data already cached on the client
          * @param {string} [ifNoneMatch] ETag of data already cached on the client
          * @param {*} [options] Override http request option.
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          * @throws {RequiredError}
@@ -2928,7 +2925,6 @@ export const AssetApiAxiosParamCreator = function (configuration?: Configuration
         },
         },
         /**
         /**
          * Get a single asset\'s information
          * Get a single asset\'s information
-         * @summary 
          * @param {string} assetId 
          * @param {string} assetId 
          * @param {*} [options] Override http request option.
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          * @throws {RequiredError}
@@ -3218,7 +3214,6 @@ export const AssetApiAxiosParamCreator = function (configuration?: Configuration
         },
         },
         /**
         /**
          * Get all asset of a device that are in the database, ID only.
          * Get all asset of a device that are in the database, ID only.
-         * @summary 
          * @param {string} deviceId 
          * @param {string} deviceId 
          * @param {*} [options] Override http request option.
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          * @throws {RequiredError}
@@ -3342,7 +3337,6 @@ export const AssetApiAxiosParamCreator = function (configuration?: Configuration
         },
         },
         /**
         /**
          * Update an asset
          * Update an asset
-         * @summary 
          * @param {string} assetId 
          * @param {string} assetId 
          * @param {UpdateAssetDto} updateAssetDto 
          * @param {UpdateAssetDto} updateAssetDto 
          * @param {*} [options] Override http request option.
          * @param {*} [options] Override http request option.
@@ -3440,7 +3434,6 @@ export const AssetApiFp = function(configuration?: Configuration) {
     return {
     return {
         /**
         /**
          * Check duplicated asset before uploading - for Web upload used
          * Check duplicated asset before uploading - for Web upload used
-         * @summary 
          * @param {CheckDuplicateAssetDto} checkDuplicateAssetDto 
          * @param {CheckDuplicateAssetDto} checkDuplicateAssetDto 
          * @param {*} [options] Override http request option.
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          * @throws {RequiredError}
@@ -3451,7 +3444,6 @@ export const AssetApiFp = function(configuration?: Configuration) {
         },
         },
         /**
         /**
          * Checks if multiple assets exist on the server and returns all existing - used by background backup
          * Checks if multiple assets exist on the server and returns all existing - used by background backup
-         * @summary 
          * @param {CheckExistingAssetsDto} checkExistingAssetsDto 
          * @param {CheckExistingAssetsDto} checkExistingAssetsDto 
          * @param {*} [options] Override http request option.
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          * @throws {RequiredError}
@@ -3494,7 +3486,6 @@ export const AssetApiFp = function(configuration?: Configuration) {
         },
         },
         /**
         /**
          * Get all AssetEntity belong to the user
          * Get all AssetEntity belong to the user
-         * @summary 
          * @param {string} [ifNoneMatch] ETag of data already cached on the client
          * @param {string} [ifNoneMatch] ETag of data already cached on the client
          * @param {*} [options] Override http request option.
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          * @throws {RequiredError}
@@ -3505,7 +3496,6 @@ export const AssetApiFp = function(configuration?: Configuration) {
         },
         },
         /**
         /**
          * Get a single asset\'s information
          * Get a single asset\'s information
-         * @summary 
          * @param {string} assetId 
          * @param {string} assetId 
          * @param {*} [options] Override http request option.
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          * @throws {RequiredError}
@@ -3583,7 +3573,6 @@ export const AssetApiFp = function(configuration?: Configuration) {
         },
         },
         /**
         /**
          * Get all asset of a device that are in the database, ID only.
          * Get all asset of a device that are in the database, ID only.
-         * @summary 
          * @param {string} deviceId 
          * @param {string} deviceId 
          * @param {*} [options] Override http request option.
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          * @throws {RequiredError}
@@ -3616,7 +3605,6 @@ export const AssetApiFp = function(configuration?: Configuration) {
         },
         },
         /**
         /**
          * Update an asset
          * Update an asset
-         * @summary 
          * @param {string} assetId 
          * @param {string} assetId 
          * @param {UpdateAssetDto} updateAssetDto 
          * @param {UpdateAssetDto} updateAssetDto 
          * @param {*} [options] Override http request option.
          * @param {*} [options] Override http request option.
@@ -3648,7 +3636,6 @@ export const AssetApiFactory = function (configuration?: Configuration, basePath
     return {
     return {
         /**
         /**
          * Check duplicated asset before uploading - for Web upload used
          * Check duplicated asset before uploading - for Web upload used
-         * @summary 
          * @param {CheckDuplicateAssetDto} checkDuplicateAssetDto 
          * @param {CheckDuplicateAssetDto} checkDuplicateAssetDto 
          * @param {*} [options] Override http request option.
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          * @throws {RequiredError}
@@ -3658,7 +3645,6 @@ export const AssetApiFactory = function (configuration?: Configuration, basePath
         },
         },
         /**
         /**
          * Checks if multiple assets exist on the server and returns all existing - used by background backup
          * Checks if multiple assets exist on the server and returns all existing - used by background backup
-         * @summary 
          * @param {CheckExistingAssetsDto} checkExistingAssetsDto 
          * @param {CheckExistingAssetsDto} checkExistingAssetsDto 
          * @param {*} [options] Override http request option.
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          * @throws {RequiredError}
@@ -3697,7 +3683,6 @@ export const AssetApiFactory = function (configuration?: Configuration, basePath
         },
         },
         /**
         /**
          * Get all AssetEntity belong to the user
          * Get all AssetEntity belong to the user
-         * @summary 
          * @param {string} [ifNoneMatch] ETag of data already cached on the client
          * @param {string} [ifNoneMatch] ETag of data already cached on the client
          * @param {*} [options] Override http request option.
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          * @throws {RequiredError}
@@ -3707,7 +3692,6 @@ export const AssetApiFactory = function (configuration?: Configuration, basePath
         },
         },
         /**
         /**
          * Get a single asset\'s information
          * Get a single asset\'s information
-         * @summary 
          * @param {string} assetId 
          * @param {string} assetId 
          * @param {*} [options] Override http request option.
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          * @throws {RequiredError}
@@ -3777,7 +3761,6 @@ export const AssetApiFactory = function (configuration?: Configuration, basePath
         },
         },
         /**
         /**
          * Get all asset of a device that are in the database, ID only.
          * Get all asset of a device that are in the database, ID only.
-         * @summary 
          * @param {string} deviceId 
          * @param {string} deviceId 
          * @param {*} [options] Override http request option.
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          * @throws {RequiredError}
@@ -3807,7 +3790,6 @@ export const AssetApiFactory = function (configuration?: Configuration, basePath
         },
         },
         /**
         /**
          * Update an asset
          * Update an asset
-         * @summary 
          * @param {string} assetId 
          * @param {string} assetId 
          * @param {UpdateAssetDto} updateAssetDto 
          * @param {UpdateAssetDto} updateAssetDto 
          * @param {*} [options] Override http request option.
          * @param {*} [options] Override http request option.
@@ -3837,7 +3819,6 @@ export const AssetApiFactory = function (configuration?: Configuration, basePath
 export class AssetApi extends BaseAPI {
 export class AssetApi extends BaseAPI {
     /**
     /**
      * Check duplicated asset before uploading - for Web upload used
      * Check duplicated asset before uploading - for Web upload used
-     * @summary 
      * @param {CheckDuplicateAssetDto} checkDuplicateAssetDto 
      * @param {CheckDuplicateAssetDto} checkDuplicateAssetDto 
      * @param {*} [options] Override http request option.
      * @param {*} [options] Override http request option.
      * @throws {RequiredError}
      * @throws {RequiredError}
@@ -3849,7 +3830,6 @@ export class AssetApi extends BaseAPI {
 
 
     /**
     /**
      * Checks if multiple assets exist on the server and returns all existing - used by background backup
      * Checks if multiple assets exist on the server and returns all existing - used by background backup
-     * @summary 
      * @param {CheckExistingAssetsDto} checkExistingAssetsDto 
      * @param {CheckExistingAssetsDto} checkExistingAssetsDto 
      * @param {*} [options] Override http request option.
      * @param {*} [options] Override http request option.
      * @throws {RequiredError}
      * @throws {RequiredError}
@@ -3896,7 +3876,6 @@ export class AssetApi extends BaseAPI {
 
 
     /**
     /**
      * Get all AssetEntity belong to the user
      * Get all AssetEntity belong to the user
-     * @summary 
      * @param {string} [ifNoneMatch] ETag of data already cached on the client
      * @param {string} [ifNoneMatch] ETag of data already cached on the client
      * @param {*} [options] Override http request option.
      * @param {*} [options] Override http request option.
      * @throws {RequiredError}
      * @throws {RequiredError}
@@ -3908,7 +3887,6 @@ export class AssetApi extends BaseAPI {
 
 
     /**
     /**
      * Get a single asset\'s information
      * Get a single asset\'s information
-     * @summary 
      * @param {string} assetId 
      * @param {string} assetId 
      * @param {*} [options] Override http request option.
      * @param {*} [options] Override http request option.
      * @throws {RequiredError}
      * @throws {RequiredError}
@@ -3994,7 +3972,6 @@ export class AssetApi extends BaseAPI {
 
 
     /**
     /**
      * Get all asset of a device that are in the database, ID only.
      * Get all asset of a device that are in the database, ID only.
-     * @summary 
      * @param {string} deviceId 
      * @param {string} deviceId 
      * @param {*} [options] Override http request option.
      * @param {*} [options] Override http request option.
      * @throws {RequiredError}
      * @throws {RequiredError}
@@ -4030,7 +4007,6 @@ export class AssetApi extends BaseAPI {
 
 
     /**
     /**
      * Update an asset
      * Update an asset
-     * @summary 
      * @param {string} assetId 
      * @param {string} assetId 
      * @param {UpdateAssetDto} updateAssetDto 
      * @param {UpdateAssetDto} updateAssetDto 
      * @param {*} [options] Override http request option.
      * @param {*} [options] Override http request option.

Some files were not shown because too many files changed in this diff