commit 409ad6d912670c55553aa236b0909678be279528
Author: Jakub Smid <jaksmid@seznam.cz>
Date:   Mon Apr 11 15:40:54 2022 +0200

    Edited swagger generated files
    
    re #9333

diff --git a/backend/src/main/java/cz/zcu/kiv/backendapi/security/SecurityConfig.java b/backend/src/main/java/cz/zcu/kiv/backendapi/security/SecurityConfig.java
index 299a751..0c18f4a 100644
--- a/backend/src/main/java/cz/zcu/kiv/backendapi/security/SecurityConfig.java
+++ b/backend/src/main/java/cz/zcu/kiv/backendapi/security/SecurityConfig.java
@@ -46,7 +46,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter {
     /**
      * List of permitted pages without login
      */
-    private final String[] permittedUrls = new String[]{"/login", "/users/token", "/register", "/swagger-ui/**",
+    private final String[] permittedUrls = new String[]{"/login", "/api/users/token", "/swagger-ui/**",
             "/swagger-ui.html", "/v3/api-docs", "/v3/api-docs/swagger-config"};
 
     /**
diff --git a/backend/src/main/java/cz/zcu/kiv/backendapi/user/UserController.java b/backend/src/main/java/cz/zcu/kiv/backendapi/user/UserController.java
index f160178..1fd328e 100644
--- a/backend/src/main/java/cz/zcu/kiv/backendapi/user/UserController.java
+++ b/backend/src/main/java/cz/zcu/kiv/backendapi/user/UserController.java
@@ -34,7 +34,7 @@ import java.util.stream.Collectors;
  */
 @RestController
 @RequiredArgsConstructor
-@RequestMapping("/api//users")
+@RequestMapping("/api/users")
 @Slf4j
 public class UserController {
 
diff --git a/frontend/src/swagger/Api.ts b/frontend/src/swagger/Api.ts
new file mode 100644
index 0000000..f659bea
--- /dev/null
+++ b/frontend/src/swagger/Api.ts
@@ -0,0 +1,229 @@
+/* eslint-disable */
+/* tslint:disable */
+/*
+ * ---------------------------------------------------------------
+ * ## THIS FILE WAS GENERATED VIA SWAGGER-TYPESCRIPT-API        ##
+ * ##                                                           ##
+ * ## AUTHOR: acacode                                           ##
+ * ## SOURCE: https://github.com/acacode/swagger-typescript-api ##
+ * ---------------------------------------------------------------
+ */
+
+import { CatalogItemDto, PasswordDto, PermissionDto, TitlePageDto, UserDto } from "./data-contracts";
+import { ContentType, HttpClient, RequestParams } from "./http-client";
+
+export class Api<SecurityDataType = unknown> extends HttpClient<SecurityDataType> {
+  /**
+   * No description
+   *
+   * @tags catalog-controller
+   * @name GetCatalogItem
+   * @summary returns catalog item with given ID
+   * @request GET:/api/catalog-items/{id}
+   */
+  getCatalogItem = (id: string, params: RequestParams = {}) =>
+    this.request<CatalogItemDto, any>({
+      path: `/api/catalog-items/${id}`,
+      method: "GET",
+      format: "json",
+      ...params,
+    });
+  /**
+   * No description
+   *
+   * @tags catalog-controller
+   * @name UpdateCatalogItem
+   * @summary updates catalog item with given ID
+   * @request PUT:/api/catalog-items/{id}
+   */
+  updateCatalogItem = (id: string, data: CatalogItemDto, params: RequestParams = {}) =>
+    this.request<void, any>({
+      path: `/api/catalog-items/${id}`,
+      method: "PUT",
+      body: data,
+      type: ContentType.Json,
+      ...params,
+    });
+  /**
+   * No description
+   *
+   * @tags catalog-controller
+   * @name DeleteCatalogItem
+   * @summary deletes catalog item with given ID
+   * @request DELETE:/api/catalog-items/{id}
+   */
+  deleteCatalogItem = (id: string, params: RequestParams = {}) =>
+    this.request<void, any>({
+      path: `/api/catalog-items/${id}`,
+      method: "DELETE",
+      ...params,
+    });
+  /**
+   * No description
+   *
+   * @tags user-controller
+   * @name GetAllUsers
+   * @summary returns all users
+   * @request GET:/api/users
+   */
+  getAllUsers = (params: RequestParams = {}) =>
+    this.request<UserDto[], any>({
+      path: `/api/users`,
+      method: "GET",
+      ...params,
+    });
+  /**
+   * No description
+   *
+   * @tags user-controller
+   * @name RegisterNewUser
+   * @summary registers new user
+   * @request POST:/api/users
+   */
+  registerNewUser = (data: UserDto, params: RequestParams = {}) =>
+    this.request<void, any>({
+      path: `/api/users`,
+      method: "POST",
+      body: data,
+      type: ContentType.Json,
+      ...params,
+    });
+  /**
+   * No description
+   *
+   * @tags title-page-controller
+   * @name GetTitlePage
+   * @summary returns title page
+   * @request GET:/api/title-page
+   */
+  getTitlePage = (params: RequestParams = {}) =>
+    this.request<TitlePageDto, any>({
+      path: `/api/title-page`,
+      method: "GET",
+      ...params,
+    });
+  /**
+   * No description
+   *
+   * @tags title-page-controller
+   * @name UpdateTitlePage
+   * @summary updates/creates title page
+   * @request POST:/api/title-page
+   */
+  updateTitlePage = (data: TitlePageDto, params: RequestParams = {}) =>
+    this.request<void, any>({
+      path: `/api/title-page`,
+      method: "POST",
+      body: data,
+      type: ContentType.Json,
+      ...params,
+    });
+  /**
+   * No description
+   *
+   * @tags catalog-controller
+   * @name GetCatalog
+   * @summary returns catalog items based on filter
+   * @request GET:/api/catalog-items
+   */
+  getCatalog = (query?: { name?: string; country?: string; type?: string }, params: RequestParams = {}) =>
+    this.request<CatalogItemDto[], any>({
+      path: `/api/catalog-items`,
+      method: "GET",
+      query: query,
+      ...params,
+    });
+  /**
+   * No description
+   *
+   * @tags catalog-controller
+   * @name AddCatalogItem
+   * @summary creates new catalog item
+   * @request POST:/api/catalog-items
+   */
+  addCatalogItem = (data: CatalogItemDto, params: RequestParams = {}) =>
+    this.request<void, any>({
+      path: `/api/catalog-items`,
+      method: "POST",
+      body: data,
+      type: ContentType.Json,
+      ...params,
+    });
+  /**
+   * No description
+   *
+   * @tags user-controller
+   * @name UpdatePermissions
+   * @summary changes permissions to given user
+   * @request PATCH:/api/users/{username}/permissions
+   */
+  updatePermissions = (username: string, data: PermissionDto, params: RequestParams = {}) =>
+    this.request<void, any>({
+      path: `/api/users/${username}/permissions`,
+      method: "PATCH",
+      body: data,
+      type: ContentType.Json,
+      ...params,
+    });
+  /**
+   * No description
+   *
+   * @tags user-controller
+   * @name ResetPassword
+   * @summary changes password to given user
+   * @request PATCH:/api/users/{username}/password
+   */
+  resetPassword = (username: string, data: PasswordDto, params: RequestParams = {}) =>
+    this.request<void, any>({
+      path: `/api/users/${username}/password`,
+      method: "PATCH",
+      body: data,
+      type: ContentType.Json,
+      ...params,
+    });
+  /**
+   * No description
+   *
+   * @tags user-controller
+   * @name ChangePassword
+   * @summary changes password to logged-in user
+   * @request PATCH:/api/users/password
+   */
+  changePassword = (query: { oldPassword: string }, data: PasswordDto, params: RequestParams = {}) =>
+    this.request<void, any>({
+      path: `/api/users/password`,
+      method: "PATCH",
+      query: query,
+      body: data,
+      type: ContentType.Json,
+      ...params,
+    });
+  /**
+   * No description
+   *
+   * @tags user-controller
+   * @name RefreshToken
+   * @summary returns a new access token and a refresh token to user
+   * @request GET:/api/users/token
+   */
+  refreshToken = (params: RequestParams = {}) =>
+    this.request<void, any>({
+      path: `/api/users/token`,
+      method: "GET",
+      ...params,
+    });
+  /**
+   * No description
+   *
+   * @tags user-controller
+   * @name DeleteUser
+   * @summary deletes user with given username
+   * @request DELETE:/api/users/{username}
+   */
+  deleteUser = (username: string, params: RequestParams = {}) =>
+    this.request<void, any>({
+      path: `/api/users/${username}`,
+      method: "DELETE",
+      ...params,
+    });
+}
diff --git a/frontend/src/swagger/data-contracts.ts b/frontend/src/swagger/data-contracts.ts
index ac10c37..c8808aa 100644
--- a/frontend/src/swagger/data-contracts.ts
+++ b/frontend/src/swagger/data-contracts.ts
@@ -47,7 +47,7 @@ export interface UserDto {
   passwords: PasswordDto;
 }
 
-export interface TitlePage {
+export interface TitlePageDto {
   title?: string;
   content?: string;
 }
