From 755e40a811dc3b8786231c000d96cb64c68c2685 Mon Sep 17 00:00:00 2001 From: Jorden_Reuter Date: Thu, 13 Jun 2024 16:42:09 +0200 Subject: [PATCH] feat: update api --- .../shared/generated/.openapi-generator/FILES | 8 +- src/app/shared/generated/api/api.ts | 4 +- src/app/shared/generated/api/user.service.ts | 319 ++++++++++++++++++ src/app/shared/generated/model/models.ts | 7 +- .../model/{product.ts => userAssignment.ts} | 9 +- .../model/userAssignmentPageResult.ts | 25 ++ .../{microfrontend.ts => userCriteria.ts} | 12 +- .../model/userPermissionsPageResult.ts | 25 ++ .../generated/model/userRolesPageResult.ts | 25 ++ src/assets/api/openapi-bff.yaml | 181 ++++++++-- 10 files changed, 584 insertions(+), 31 deletions(-) create mode 100644 src/app/shared/generated/api/user.service.ts rename src/app/shared/generated/model/{product.ts => userAssignment.ts} (73%) create mode 100644 src/app/shared/generated/model/userAssignmentPageResult.ts rename src/app/shared/generated/model/{microfrontend.ts => userCriteria.ts} (68%) create mode 100644 src/app/shared/generated/model/userPermissionsPageResult.ts create mode 100644 src/app/shared/generated/model/userRolesPageResult.ts diff --git a/src/app/shared/generated/.openapi-generator/FILES b/src/app/shared/generated/.openapi-generator/FILES index 1ede4c9..6955117 100644 --- a/src/app/shared/generated/.openapi-generator/FILES +++ b/src/app/shared/generated/.openapi-generator/FILES @@ -7,6 +7,7 @@ api/application.service.ts api/assignment.service.ts api/permission.service.ts api/role.service.ts +api/user.service.ts api/workspace.service.ts configuration.ts encoder.ts @@ -29,7 +30,6 @@ model/iAMRole.ts model/iAMRolePageResult.ts model/iAMRoleSearchCriteria.ts model/mfeMsAbstract.ts -model/microfrontend.ts model/models.ts model/permission.ts model/permissionPageResult.ts @@ -37,7 +37,6 @@ model/permissionSearchCriteria.ts model/problemDetailInvalidParam.ts model/problemDetailParam.ts model/problemDetailResponse.ts -model/product.ts model/productDetails.ts model/revokeRoleApplicationAssignmentRequest.ts model/revokeRoleProductsAssignmentRequest.ts @@ -46,6 +45,11 @@ model/rolePageResult.ts model/roleSearchCriteria.ts model/updatePermissionRequest.ts model/updateRoleRequest.ts +model/userAssignment.ts +model/userAssignmentPageResult.ts +model/userCriteria.ts +model/userPermissionsPageResult.ts +model/userRolesPageResult.ts model/workspaceAbstract.ts model/workspaceDetails.ts model/workspacePageResult.ts diff --git a/src/app/shared/generated/api/api.ts b/src/app/shared/generated/api/api.ts index a937b5e..2df644b 100644 --- a/src/app/shared/generated/api/api.ts +++ b/src/app/shared/generated/api/api.ts @@ -6,6 +6,8 @@ export * from './permission.service'; import { PermissionAPIService } from './permission.service'; export * from './role.service'; import { RoleAPIService } from './role.service'; +export * from './user.service'; +import { UserAPIService } from './user.service'; export * from './workspace.service'; import { WorkspaceAPIService } from './workspace.service'; -export const APIS = [ApplicationAPIService, AssignmentAPIService, PermissionAPIService, RoleAPIService, WorkspaceAPIService]; +export const APIS = [ApplicationAPIService, AssignmentAPIService, PermissionAPIService, RoleAPIService, UserAPIService, WorkspaceAPIService]; diff --git a/src/app/shared/generated/api/user.service.ts b/src/app/shared/generated/api/user.service.ts new file mode 100644 index 0000000..12f7fad --- /dev/null +++ b/src/app/shared/generated/api/user.service.ts @@ -0,0 +1,319 @@ +/** + * onecx-permission-bff + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +/* tslint:disable:no-unused-variable member-ordering */ + +import { Inject, Injectable, Optional } from '@angular/core'; +import { HttpClient, HttpHeaders, HttpParams, + HttpResponse, HttpEvent, HttpParameterCodec, HttpContext + } from '@angular/common/http'; +import { CustomHttpParameterCodec } from '../encoder'; +import { Observable } from 'rxjs'; + +// @ts-ignore +import { UserAssignmentPageResult } from '../model/userAssignmentPageResult'; +// @ts-ignore +import { UserCriteria } from '../model/userCriteria'; +// @ts-ignore +import { UserPermissionsPageResult } from '../model/userPermissionsPageResult'; +// @ts-ignore +import { UserRolesPageResult } from '../model/userRolesPageResult'; + +// @ts-ignore +import { BASE_PATH, COLLECTION_FORMATS } from '../variables'; +import { Configuration } from '../configuration'; + + +export interface GetUserAssignmentsRequestParams { + userCriteria: UserCriteria; +} + +export interface GetUserPermissionsRequestParams { + userCriteria: UserCriteria; +} + +export interface GetUserRolesRequestParams { + userCriteria: UserCriteria; +} + + +@Injectable({ + providedIn: 'any' +}) +export class UserAPIService { + + protected basePath = 'http://onecx-permission-bff:8080'; + public defaultHeaders = new HttpHeaders(); + public configuration = new Configuration(); + public encoder: HttpParameterCodec; + + constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string|string[], @Optional() configuration: Configuration) { + if (configuration) { + this.configuration = configuration; + } + if (typeof this.configuration.basePath !== 'string') { + if (Array.isArray(basePath) && basePath.length > 0) { + basePath = basePath[0]; + } + + if (typeof basePath !== 'string') { + basePath = this.basePath; + } + this.configuration.basePath = basePath; + } + this.encoder = this.configuration.encoder || new CustomHttpParameterCodec(); + } + + + // @ts-ignore + private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams { + if (typeof value === "object" && value instanceof Date === false) { + httpParams = this.addToHttpParamsRecursive(httpParams, value); + } else { + httpParams = this.addToHttpParamsRecursive(httpParams, value, key); + } + return httpParams; + } + + private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams { + if (value == null) { + return httpParams; + } + + if (typeof value === "object") { + if (Array.isArray(value)) { + (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key)); + } else if (value instanceof Date) { + if (key != null) { + httpParams = httpParams.append(key, (value as Date).toISOString().substring(0, 10)); + } else { + throw Error("key may not be null if value is Date"); + } + } else { + Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive( + httpParams, value[k], key != null ? `${key}.${k}` : k)); + } + } else if (key != null) { + httpParams = httpParams.append(key, value); + } else { + throw Error("key may not be null if value is not object or array"); + } + return httpParams; + } + + /** + * get user assignments + * @param requestParameters + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public getUserAssignments(requestParameters: GetUserAssignmentsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable; + public getUserAssignments(requestParameters: GetUserAssignmentsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>; + public getUserAssignments(requestParameters: GetUserAssignmentsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>; + public getUserAssignments(requestParameters: GetUserAssignmentsRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable { + const userCriteria = requestParameters.userCriteria; + if (userCriteria === null || userCriteria === undefined) { + throw new Error('Required parameter userCriteria was null or undefined when calling getUserAssignments.'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + + // to determine the Content-Type header + const consumes: string[] = [ + 'application/json' + ]; + const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); + if (httpContentTypeSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); + } + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/user/assignments`; + return this.httpClient.request('post', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + body: userCriteria, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + reportProgress: reportProgress + } + ); + } + + /** + * get user permissions + * @param requestParameters + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public getUserPermissions(requestParameters: GetUserPermissionsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable; + public getUserPermissions(requestParameters: GetUserPermissionsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>; + public getUserPermissions(requestParameters: GetUserPermissionsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>; + public getUserPermissions(requestParameters: GetUserPermissionsRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable { + const userCriteria = requestParameters.userCriteria; + if (userCriteria === null || userCriteria === undefined) { + throw new Error('Required parameter userCriteria was null or undefined when calling getUserPermissions.'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + + // to determine the Content-Type header + const consumes: string[] = [ + 'application/json' + ]; + const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); + if (httpContentTypeSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); + } + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/user/permissions`; + return this.httpClient.request('post', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + body: userCriteria, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + reportProgress: reportProgress + } + ); + } + + /** + * get user roles + * @param requestParameters + * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. + * @param reportProgress flag to report request and response progress. + */ + public getUserRoles(requestParameters: GetUserRolesRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable; + public getUserRoles(requestParameters: GetUserRolesRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>; + public getUserRoles(requestParameters: GetUserRolesRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable>; + public getUserRoles(requestParameters: GetUserRolesRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json', context?: HttpContext}): Observable { + const userCriteria = requestParameters.userCriteria; + if (userCriteria === null || userCriteria === undefined) { + throw new Error('Required parameter userCriteria was null or undefined when calling getUserRoles.'); + } + + let localVarHeaders = this.defaultHeaders; + + let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept; + if (localVarHttpHeaderAcceptSelected === undefined) { + // to determine the Accept header + const httpHeaderAccepts: string[] = [ + 'application/json' + ]; + localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts); + } + if (localVarHttpHeaderAcceptSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected); + } + + let localVarHttpContext: HttpContext | undefined = options && options.context; + if (localVarHttpContext === undefined) { + localVarHttpContext = new HttpContext(); + } + + + // to determine the Content-Type header + const consumes: string[] = [ + 'application/json' + ]; + const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes); + if (httpContentTypeSelected !== undefined) { + localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected); + } + + let responseType_: 'text' | 'json' | 'blob' = 'json'; + if (localVarHttpHeaderAcceptSelected) { + if (localVarHttpHeaderAcceptSelected.startsWith('text')) { + responseType_ = 'text'; + } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) { + responseType_ = 'json'; + } else { + responseType_ = 'blob'; + } + } + + let localVarPath = `/user/roles`; + return this.httpClient.request('post', `${this.configuration.basePath}${localVarPath}`, + { + context: localVarHttpContext, + body: userCriteria, + responseType: responseType_, + withCredentials: this.configuration.withCredentials, + headers: localVarHeaders, + observe: observe, + reportProgress: reportProgress + } + ); + } + +} diff --git a/src/app/shared/generated/model/models.ts b/src/app/shared/generated/model/models.ts index 6a2417a..7c4aa4a 100644 --- a/src/app/shared/generated/model/models.ts +++ b/src/app/shared/generated/model/models.ts @@ -15,14 +15,12 @@ export * from './iAMRole'; export * from './iAMRolePageResult'; export * from './iAMRoleSearchCriteria'; export * from './mfeMsAbstract'; -export * from './microfrontend'; export * from './permission'; export * from './permissionPageResult'; export * from './permissionSearchCriteria'; export * from './problemDetailInvalidParam'; export * from './problemDetailParam'; export * from './problemDetailResponse'; -export * from './product'; export * from './productDetails'; export * from './revokeRoleApplicationAssignmentRequest'; export * from './revokeRoleProductsAssignmentRequest'; @@ -31,6 +29,11 @@ export * from './rolePageResult'; export * from './roleSearchCriteria'; export * from './updatePermissionRequest'; export * from './updateRoleRequest'; +export * from './userAssignment'; +export * from './userAssignmentPageResult'; +export * from './userCriteria'; +export * from './userPermissionsPageResult'; +export * from './userRolesPageResult'; export * from './workspaceAbstract'; export * from './workspaceDetails'; export * from './workspacePageResult'; diff --git a/src/app/shared/generated/model/product.ts b/src/app/shared/generated/model/userAssignment.ts similarity index 73% rename from src/app/shared/generated/model/product.ts rename to src/app/shared/generated/model/userAssignment.ts index f3a8a2e..35e6f24 100644 --- a/src/app/shared/generated/model/product.ts +++ b/src/app/shared/generated/model/userAssignment.ts @@ -9,12 +9,13 @@ * https://openapi-generator.tech * Do not edit the class manually. */ -import { Microfrontend } from './microfrontend'; -export interface Product { - microfrontends?: Array; +export interface UserAssignment { + roleName?: string; productName?: string; - baseUrl?: string; + applicationId?: string; + resource?: string; + action?: string; } diff --git a/src/app/shared/generated/model/userAssignmentPageResult.ts b/src/app/shared/generated/model/userAssignmentPageResult.ts new file mode 100644 index 0000000..4cf3791 --- /dev/null +++ b/src/app/shared/generated/model/userAssignmentPageResult.ts @@ -0,0 +1,25 @@ +/** + * onecx-permission-bff + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { UserAssignment } from './userAssignment'; + + +export interface UserAssignmentPageResult { + /** + * The total elements in the resource. + */ + totalElements?: number; + number?: number; + size?: number; + totalPages?: number; + stream?: Array; +} + diff --git a/src/app/shared/generated/model/microfrontend.ts b/src/app/shared/generated/model/userCriteria.ts similarity index 68% rename from src/app/shared/generated/model/microfrontend.ts rename to src/app/shared/generated/model/userCriteria.ts index 5dd8391..e0f9d86 100644 --- a/src/app/shared/generated/model/microfrontend.ts +++ b/src/app/shared/generated/model/userCriteria.ts @@ -11,8 +11,14 @@ */ -export interface Microfrontend { - mfeId?: string; - basePath?: string; +export interface UserCriteria { + /** + * The number of page. + */ + pageNumber?: number; + /** + * The size of page + */ + pageSize?: number; } diff --git a/src/app/shared/generated/model/userPermissionsPageResult.ts b/src/app/shared/generated/model/userPermissionsPageResult.ts new file mode 100644 index 0000000..d0c4a92 --- /dev/null +++ b/src/app/shared/generated/model/userPermissionsPageResult.ts @@ -0,0 +1,25 @@ +/** + * onecx-permission-bff + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { Permission } from './permission'; + + +export interface UserPermissionsPageResult { + /** + * The total elements in the resource. + */ + totalElements?: number; + number?: number; + size?: number; + totalPages?: number; + stream?: Array; +} + diff --git a/src/app/shared/generated/model/userRolesPageResult.ts b/src/app/shared/generated/model/userRolesPageResult.ts new file mode 100644 index 0000000..e908aae --- /dev/null +++ b/src/app/shared/generated/model/userRolesPageResult.ts @@ -0,0 +1,25 @@ +/** + * onecx-permission-bff + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ +import { Role } from './role'; + + +export interface UserRolesPageResult { + /** + * The total elements in the resource. + */ + totalElements?: number; + number?: number; + size?: number; + totalPages?: number; + stream?: Array; +} + diff --git a/src/assets/api/openapi-bff.yaml b/src/assets/api/openapi-bff.yaml index 61c7bde..c6c5139 100644 --- a/src/assets/api/openapi-bff.yaml +++ b/src/assets/api/openapi-bff.yaml @@ -464,7 +464,6 @@ paths: application/json: schema: $ref: '#/components/schemas/ProblemDetailResponse' - # /assignments/revoke/{roleId}: post: tags: @@ -658,8 +657,164 @@ paths: application/json: schema: $ref: '#/components/schemas/WorkspaceDetails' + /user/permissions: + post: + x-onecx: + permissions: + permission: + - read + tags: + - user + description: get user permissions + operationId: getUserPermissions + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UserCriteria' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/UserPermissionsPageResult' + /user/roles: + post: + x-onecx: + permissions: + role: + - read + tags: + - user + description: get user roles + operationId: getUserRoles + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UserCriteria' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/UserRolesPageResult' + /user/assignments: + post: + x-onecx: + permissions: + assignment: + - read + tags: + - user + description: get user assignments + operationId: getUserAssignments + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UserCriteria' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/UserAssignmentPageResult' components: schemas: + UserCriteria: + type: object + properties: + pageNumber: + format: int32 + description: The number of page. + default: 0 + type: integer + pageSize: + format: int32 + description: The size of page + default: 100 + maximum: 1000 + type: integer + UserAssignmentPageResult: + type: object + properties: + totalElements: + format: int64 + description: The total elements in the resource. + type: integer + number: + format: int32 + type: integer + size: + format: int32 + type: integer + totalPages: + format: int64 + type: integer + stream: + type: array + items: + $ref: '#/components/schemas/UserAssignment' + UserAssignment: + type: object + properties: + roleName: + type: string + productName: + type: string + applicationId: + type: string + resource: + type: string + action: + type: string + UserPermissionsPageResult: + type: object + properties: + totalElements: + format: int64 + description: The total elements in the resource. + type: integer + number: + format: int32 + type: integer + size: + format: int32 + type: integer + totalPages: + format: int64 + type: integer + stream: + type: array + items: + $ref: '#/components/schemas/Permission' + UserRolesPageResult: + type: object + properties: + totalElements: + format: int64 + description: The total elements in the resource. + type: integer + number: + format: int32 + type: integer + size: + format: int32 + type: integer + totalPages: + format: int64 + type: integer + stream: + type: array + items: + $ref: '#/components/schemas/Role' CreateRolesRequest: type: object properties: @@ -725,6 +880,7 @@ components: format: int32 description: The size of page default: 100 + maximum: 1000 type: integer IAMRolePageResult: type: object @@ -769,6 +925,7 @@ components: format: int32 description: The size of page default: 100 + maximum: 1000 type: integer PermissionSearchCriteria: type: object @@ -788,6 +945,7 @@ components: format: int32 description: The size of page default: 100 + maximum: 1000 type: integer RolePageResult: type: object @@ -909,6 +1067,7 @@ components: format: int32 description: The size of page default: 100 + maximum: 1000 type: integer AssignmentPageResult: type: object @@ -996,6 +1155,7 @@ components: format: int32 description: The size of page default: 100 + maximum: 1000 type: integer ApplicationPageResult: type: object @@ -1086,25 +1246,8 @@ components: format: int32 description: The size of page default: 100 + maximum: 1000 type: integer - Product: - type: object - properties: - microfrontends: - type: array - items: - $ref: '#/components/schemas/Microfrontend' - productName: - type: string - baseUrl: - type: string - Microfrontend: - type: object - properties: - mfeId: - type: string - basePath: - type: string WorkspaceDetails: type: object properties: