fix: path match rules for grouped OpenAPI (#6898)

#### What type of PR is this?
/kind improvement
/area core
/milestone 2.20.x

#### What this PR does / why we need it:
修正 OpenAPI 的分组匹配规则 之前有很多 PublicAPIs 没有出现在对应的组

#### Does this PR introduce a user-facing change?
```release-note
None
```
This commit is contained in:
guqing 2024-10-22 15:52:28 +08:00 committed by GitHub
parent ddaf7b0dce
commit d2799c59be
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
13 changed files with 4739 additions and 36 deletions

View File

@ -6559,7 +6559,7 @@
}
},
"tags": [
"api.notification.halo.run/v1alpha1/Subscription"
"NotificationV1alpha1Public"
]
}
},
@ -15679,6 +15679,31 @@
"AttachmentV1alpha1Uc"
]
}
},
"/system/setup": {
"get": {
"description": "Jump to setup page",
"operationId": "JumpToSetupPage",
"responses": {
"default": {
"content": {
"text/html": {
"schema": {
"type": "string"
}
}
},
"description": "default response"
}
},
"tags": [
"SystemV1alpha1Public"
]
},
"post": {
"operationId": "SetNoCacheForSetUpPage",
"responses": {}
}
}
},
"components": {

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -17,6 +17,353 @@
}
],
"paths": {
"/apis/api.notification.halo.run/v1alpha1/notifiers/{name}/receiver-config": {
"get": {
"description": "Fetch receiver config of notifier",
"operationId": "FetchReceiverConfig",
"parameters": [
{
"description": "Notifier name",
"in": "path",
"name": "name",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"default": {
"content": {
"*/*": {
"schema": {
"type": "object"
}
}
},
"description": "default response"
}
},
"tags": [
"NotifierV1alpha1Uc"
]
},
"post": {
"description": "Save receiver config of notifier",
"operationId": "SaveReceiverConfig",
"parameters": [
{
"description": "Notifier name",
"in": "path",
"name": "name",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object"
}
}
},
"required": true
},
"responses": {
"default": {
"content": {},
"description": "default response"
}
},
"tags": [
"NotifierV1alpha1Uc"
]
}
},
"/apis/api.notification.halo.run/v1alpha1/userspaces/{username}/notification-preferences": {
"get": {
"description": "List notification preferences for the authenticated user.",
"operationId": "ListUserNotificationPreferences",
"parameters": [
{
"description": "Username",
"in": "path",
"name": "username",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"default": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ReasonTypeNotifierMatrix"
}
}
},
"description": "default response"
}
},
"tags": [
"NotificationV1alpha1Uc"
]
},
"post": {
"description": "Save notification preferences for the authenticated user.",
"operationId": "SaveUserNotificationPreferences",
"parameters": [
{
"description": "Username",
"in": "path",
"name": "username",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ReasonTypeNotifierCollectionRequest"
}
}
}
},
"responses": {
"default": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/ReasonTypeNotifierMatrix"
}
}
},
"description": "default response"
}
},
"tags": [
"NotificationV1alpha1Uc"
]
}
},
"/apis/api.notification.halo.run/v1alpha1/userspaces/{username}/notifications": {
"get": {
"description": "List notifications for the authenticated user.",
"operationId": "ListUserNotifications",
"parameters": [
{
"description": "Username",
"in": "path",
"name": "username",
"required": true,
"schema": {
"type": "string"
}
},
{
"description": "Page number. Default is 0.",
"in": "query",
"name": "page",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"description": "Size number. Default is 0.",
"in": "query",
"name": "size",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"description": "Label selector. e.g.: hidden!\u003dtrue",
"in": "query",
"name": "labelSelector",
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
},
{
"description": "Field selector. e.g.: metadata.name\u003d\u003dhalo",
"in": "query",
"name": "fieldSelector",
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
},
{
"description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
"in": "query",
"name": "sort",
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
}
],
"responses": {
"default": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/NotificationList"
}
}
},
"description": "default response"
}
},
"tags": [
"NotificationV1alpha1Uc"
]
}
},
"/apis/api.notification.halo.run/v1alpha1/userspaces/{username}/notifications/-/mark-specified-as-read": {
"put": {
"description": "Mark the specified notifications as read.",
"operationId": "MarkNotificationsAsRead",
"parameters": [
{
"description": "Username",
"in": "path",
"name": "username",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MarkSpecifiedRequest"
}
}
},
"required": true
},
"responses": {
"default": {
"content": {
"*/*": {
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"description": "default response"
}
},
"tags": [
"NotificationV1alpha1Uc"
]
}
},
"/apis/api.notification.halo.run/v1alpha1/userspaces/{username}/notifications/{name}": {
"delete": {
"description": "Delete the specified notification.",
"operationId": "DeleteSpecifiedNotification",
"parameters": [
{
"description": "Username",
"in": "path",
"name": "username",
"required": true,
"schema": {
"type": "string"
}
},
{
"description": "Notification name",
"in": "path",
"name": "name",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"default": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/Notification"
}
}
},
"description": "default response"
}
},
"tags": [
"NotificationV1alpha1Uc"
]
}
},
"/apis/api.notification.halo.run/v1alpha1/userspaces/{username}/notifications/{name}/mark-as-read": {
"put": {
"description": "Mark the specified notification as read.",
"operationId": "MarkNotificationAsRead",
"parameters": [
{
"description": "Username",
"in": "path",
"name": "username",
"required": true,
"schema": {
"type": "string"
}
},
{
"description": "Notification name",
"in": "path",
"name": "name",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"default": {
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/Notification"
}
}
},
"description": "default response"
}
},
"tags": [
"NotificationV1alpha1Uc"
]
}
},
"/apis/uc.api.auth.halo.run/v1alpha1/user-connections/{registerId}/disconnect": {
"put": {
"description": "Disconnect my connection from a third-party platform.",
@ -1586,6 +1933,17 @@
}
}
},
"MarkSpecifiedRequest": {
"type": "object",
"properties": {
"names": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"Metadata": {
"required": [
"name"
@ -1666,6 +2024,140 @@
}
}
},
"Notification": {
"required": [
"apiVersion",
"kind",
"metadata"
],
"type": "object",
"properties": {
"apiVersion": {
"type": "string"
},
"kind": {
"type": "string"
},
"metadata": {
"$ref": "#/components/schemas/Metadata"
},
"spec": {
"$ref": "#/components/schemas/NotificationSpec"
}
}
},
"NotificationList": {
"required": [
"first",
"hasNext",
"hasPrevious",
"items",
"last",
"page",
"size",
"total",
"totalPages"
],
"type": "object",
"properties": {
"first": {
"type": "boolean",
"description": "Indicates whether current page is the first page."
},
"hasNext": {
"type": "boolean",
"description": "Indicates whether current page has previous page."
},
"hasPrevious": {
"type": "boolean",
"description": "Indicates whether current page has previous page."
},
"items": {
"type": "array",
"description": "A chunk of items.",
"items": {
"$ref": "#/components/schemas/Notification"
}
},
"last": {
"type": "boolean",
"description": "Indicates whether current page is the last page."
},
"page": {
"type": "integer",
"description": "Page number, starts from 1. If not set or equal to 0, it means no pagination.",
"format": "int32"
},
"size": {
"type": "integer",
"description": "Size of each page. If not set or equal to 0, it means no pagination.",
"format": "int32"
},
"total": {
"type": "integer",
"description": "Total elements.",
"format": "int64"
},
"totalPages": {
"type": "integer",
"description": "Indicates total pages.",
"format": "int64"
}
}
},
"NotificationSpec": {
"required": [
"htmlContent",
"rawContent",
"reason",
"recipient",
"title"
],
"type": "object",
"properties": {
"htmlContent": {
"type": "string"
},
"lastReadAt": {
"type": "string",
"format": "date-time"
},
"rawContent": {
"type": "string"
},
"reason": {
"minLength": 1,
"type": "string",
"description": "The name of reason"
},
"recipient": {
"minLength": 1,
"type": "string",
"description": "The name of user"
},
"title": {
"minLength": 1,
"type": "string"
},
"unread": {
"type": "boolean"
}
}
},
"NotifierInfo": {
"type": "object",
"properties": {
"description": {
"type": "string"
},
"displayName": {
"type": "string"
},
"name": {
"type": "string"
}
}
},
"Part": {
"type": "object"
},
@ -1946,6 +2438,81 @@
}
}
},
"ReasonTypeInfo": {
"type": "object",
"properties": {
"description": {
"type": "string"
},
"displayName": {
"type": "string"
},
"name": {
"type": "string"
},
"uiPermissions": {
"uniqueItems": true,
"type": "array",
"items": {
"type": "string"
}
}
}
},
"ReasonTypeNotifierCollectionRequest": {
"required": [
"reasonTypeNotifiers"
],
"type": "object",
"properties": {
"reasonTypeNotifiers": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ReasonTypeNotifierRequest"
}
}
}
},
"ReasonTypeNotifierMatrix": {
"type": "object",
"properties": {
"notifiers": {
"type": "array",
"items": {
"$ref": "#/components/schemas/NotifierInfo"
}
},
"reasonTypes": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ReasonTypeInfo"
}
},
"stateMatrix": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "boolean"
}
}
}
}
},
"ReasonTypeNotifierRequest": {
"type": "object",
"properties": {
"notifiers": {
"type": "array",
"items": {
"type": "string"
}
},
"reasonType": {
"type": "string"
}
}
},
"Ref": {
"required": [
"name"

View File

@ -72,19 +72,25 @@ public class SwaggerConfig {
.pathsToMatch(
"/apis/*/v1alpha1/**",
"/api/v1alpha1/**",
"/login/**"
"/login/**",
"/system/setup"
)
.build();
}
@Bean
GroupedOpenApi publicV1alpha1Api() {
return GroupedOpenApi.builder()
.group("apis_public.api_v1alpha1")
.displayName("Public API V1alpha1")
.pathsToMatch(
"/apis/api.halo.run/**"
"/apis/api.*/**"
)
.pathsToExclude(
"/apis/api.console.*/v1alpha1/**",
// compatible with legacy issues
"/apis/api.notification.halo.run/v1alpha1/userspaces/**",
"/apis/api.notification.halo.run/v1alpha1/notifiers/**"
)
.build();
}
@ -108,7 +114,10 @@ public class SwaggerConfig {
.group("apis_uc.api_v1alpha1")
.displayName("User-center API V1alpha1")
.pathsToMatch(
"/apis/uc.api.*/v1alpha1/**"
"/apis/uc.api.*/v1alpha1/**",
// compatible with legacy issues
"/apis/api.notification.halo.run/v1alpha1/userspaces/**",
"/apis/api.notification.halo.run/v1alpha1/notifiers/**"
)
.build();
}
@ -128,7 +137,9 @@ public class SwaggerConfig {
"/apis/auth.halo.run/v1alpha1/**",
"/apis/metrics.halo.run/v1alpha1/**",
"/apis/storage.halo.run/v1alpha1/**",
"/apis/plugin.halo.run/v1alpha1/**"
"/apis/plugin.halo.run/v1alpha1/**",
"/apis/notification.halo.run/**",
"/apis/migration.halo.run/**"
)
.build();
}

View File

@ -39,10 +39,11 @@ public class SubscriptionRouter {
@Bean
RouterFunction<ServerResponse> notificationSubscriptionRouter() {
final var tag = "NotificationV1alpha1Public";
return SpringdocRouteBuilder.route()
.GET(UNSUBSCRIBE_PATTERN, this::unsubscribe, builder -> {
builder.operationId("Unsubscribe")
.tag("api.notification.halo.run/v1alpha1/Subscription")
.tag(tag)
.description("Unsubscribe a subscription")
.parameter(parameterBuilder()
.in(ParameterIn.PATH)

View File

@ -3,7 +3,9 @@ package run.halo.app.security.preauth;
import static io.r2dbc.spi.ConnectionFactoryOptions.DRIVER;
import static io.swagger.v3.oas.annotations.media.Schema.RequiredMode.REQUIRED;
import static org.springdoc.core.fn.builders.apiresponse.Builder.responseBuilder;
import static org.springdoc.core.fn.builders.content.Builder.contentBuilder;
import static org.springdoc.core.fn.builders.requestbody.Builder.requestBodyBuilder;
import static org.springdoc.core.fn.builders.schema.Builder.schemaBuilder;
import static org.springframework.web.reactive.function.server.RequestPredicates.accept;
import static org.springframework.web.reactive.function.server.RequestPredicates.contentType;
import static org.springframework.web.reactive.function.server.RequestPredicates.path;
@ -85,7 +87,7 @@ public class SystemSetupEndpoint {
@Bean
RouterFunction<ServerResponse> setupPageRouter() {
final var tag = "System";
final var tag = "SystemV1alpha1Public";
return SpringdocRouteBuilder.route()
.GET(path("/system/setup").and(accept(MediaType.TEXT_HTML)), this::setupPage,
builder -> builder.operationId("JumpToSetupPage")
@ -103,9 +105,11 @@ public class SystemSetupEndpoint {
.description("Setup system")
.tag(tag)
.requestBody(requestBodyBuilder()
.implementation(SetupRequest.class)
.content(Builder.contentBuilder()
.mediaType(MediaType.APPLICATION_FORM_URLENCODED_VALUE)
.required(true)
.content(contentBuilder()
.mediaType(MediaType.APPLICATION_JSON_VALUE)
.schema(schemaBuilder()
.implementation(SetupRequest.class))
)
)
.response(responseBuilder()

View File

@ -26,6 +26,7 @@ import {
MigrationV1alpha1ConsoleApi,
NotificationTemplateV1alpha1Api,
NotificationV1alpha1Api,
NotificationV1alpha1PublicApi,
NotificationV1alpha1UcApi,
NotifierDescriptorV1alpha1Api,
NotifierV1alpha1ConsoleApi,
@ -435,6 +436,11 @@ function createPublicApiClient(axiosInstance: AxiosInstance) {
metrics: {
metrics: new MetricsV1alpha1PublicApi(undefined, baseURL, axiosInstance),
},
notification: new NotificationV1alpha1PublicApi(
undefined,
baseURL,
axiosInstance
),
};
}

View File

@ -3,7 +3,6 @@
.openapi-generator-ignore
api.ts
api/annotation-setting-v1alpha1-api.ts
api/api-notification-halo-run-v1alpha1-subscription-api.ts
api/attachment-v1alpha1-api.ts
api/attachment-v1alpha1-console-api.ts
api/attachment-v1alpha1-uc-api.ts
@ -17,6 +16,7 @@ api/comment-v1alpha1-console-api.ts
api/comment-v1alpha1-public-api.ts
api/config-map-v1alpha1-api.ts
api/counter-v1alpha1-api.ts
api/default-api.ts
api/device-v1alpha1-api.ts
api/device-v1alpha1-uc-api.ts
api/extension-definition-v1alpha1-api.ts
@ -32,6 +32,7 @@ api/metrics-v1alpha1-public-api.ts
api/migration-v1alpha1-console-api.ts
api/notification-template-v1alpha1-api.ts
api/notification-v1alpha1-api.ts
api/notification-v1alpha1-public-api.ts
api/notification-v1alpha1-uc-api.ts
api/notifier-descriptor-v1alpha1-api.ts
api/notifier-v1alpha1-console-api.ts

View File

@ -15,7 +15,6 @@
export * from './api/annotation-setting-v1alpha1-api';
export * from './api/api-notification-halo-run-v1alpha1-subscription-api';
export * from './api/attachment-v1alpha1-api';
export * from './api/attachment-v1alpha1-console-api';
export * from './api/attachment-v1alpha1-uc-api';
@ -29,6 +28,7 @@ export * from './api/comment-v1alpha1-console-api';
export * from './api/comment-v1alpha1-public-api';
export * from './api/config-map-v1alpha1-api';
export * from './api/counter-v1alpha1-api';
export * from './api/default-api';
export * from './api/device-v1alpha1-api';
export * from './api/device-v1alpha1-uc-api';
export * from './api/extension-definition-v1alpha1-api';
@ -44,6 +44,7 @@ export * from './api/metrics-v1alpha1-public-api';
export * from './api/migration-v1alpha1-console-api';
export * from './api/notification-template-v1alpha1-api';
export * from './api/notification-v1alpha1-api';
export * from './api/notification-v1alpha1-public-api';
export * from './api/notification-v1alpha1-uc-api';
export * from './api/notifier-descriptor-v1alpha1-api';
export * from './api/notifier-v1alpha1-console-api';

View File

@ -0,0 +1,126 @@
/* tslint:disable */
/* eslint-disable */
/**
* Halo
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
*
* The version of the OpenAPI document: 2.20.0-SNAPSHOT
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import type { Configuration } from '../configuration';
import type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios';
import globalAxios from 'axios';
// Some imports not used depending on template conditions
// @ts-ignore
import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common';
// @ts-ignore
import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError, operationServerMap } from '../base';
/**
* DefaultApi - axios parameter creator
* @export
*/
export const DefaultApiAxiosParamCreator = function (configuration?: Configuration) {
return {
/**
*
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
setNoCacheForSetUpPage: async (options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
const localVarPath = `/system/setup`;
// use dummy base URL string because the URL constructor only accepts absolute URLs.
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
let baseOptions;
if (configuration) {
baseOptions = configuration.baseOptions;
}
const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
const localVarHeaderParameter = {} as any;
const localVarQueryParameter = {} as any;
// authentication basicAuth required
// http basic authentication required
setBasicAuthToObject(localVarRequestOptions, configuration)
// authentication bearerAuth required
// http bearer authentication required
await setBearerAuthToObject(localVarHeaderParameter, configuration)
setSearchParams(localVarUrlObj, localVarQueryParameter);
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
return {
url: toPathString(localVarUrlObj),
options: localVarRequestOptions,
};
},
}
};
/**
* DefaultApi - functional programming interface
* @export
*/
export const DefaultApiFp = function(configuration?: Configuration) {
const localVarAxiosParamCreator = DefaultApiAxiosParamCreator(configuration)
return {
/**
*
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async setNoCacheForSetUpPage(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
const localVarAxiosArgs = await localVarAxiosParamCreator.setNoCacheForSetUpPage(options);
const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
const localVarOperationServerBasePath = operationServerMap['DefaultApi.setNoCacheForSetUpPage']?.[localVarOperationServerIndex]?.url;
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
},
}
};
/**
* DefaultApi - factory interface
* @export
*/
export const DefaultApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
const localVarFp = DefaultApiFp(configuration)
return {
/**
*
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
setNoCacheForSetUpPage(options?: RawAxiosRequestConfig): AxiosPromise<void> {
return localVarFp.setNoCacheForSetUpPage(options).then((request) => request(axios, basePath));
},
};
};
/**
* DefaultApi - object-oriented interface
* @export
* @class DefaultApi
* @extends {BaseAPI}
*/
export class DefaultApi extends BaseAPI {
/**
*
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof DefaultApi
*/
public setNoCacheForSetUpPage(options?: RawAxiosRequestConfig) {
return DefaultApiFp(this.configuration).setNoCacheForSetUpPage(options).then((request) => request(this.axios, this.basePath));
}
}

View File

@ -22,10 +22,10 @@ import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObj
// @ts-ignore
import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError, operationServerMap } from '../base';
/**
* ApiNotificationHaloRunV1alpha1SubscriptionApi - axios parameter creator
* NotificationV1alpha1PublicApi - axios parameter creator
* @export
*/
export const ApiNotificationHaloRunV1alpha1SubscriptionApiAxiosParamCreator = function (configuration?: Configuration) {
export const NotificationV1alpha1PublicApiAxiosParamCreator = function (configuration?: Configuration) {
return {
/**
* Unsubscribe a subscription
@ -79,11 +79,11 @@ export const ApiNotificationHaloRunV1alpha1SubscriptionApiAxiosParamCreator = fu
};
/**
* ApiNotificationHaloRunV1alpha1SubscriptionApi - functional programming interface
* NotificationV1alpha1PublicApi - functional programming interface
* @export
*/
export const ApiNotificationHaloRunV1alpha1SubscriptionApiFp = function(configuration?: Configuration) {
const localVarAxiosParamCreator = ApiNotificationHaloRunV1alpha1SubscriptionApiAxiosParamCreator(configuration)
export const NotificationV1alpha1PublicApiFp = function(configuration?: Configuration) {
const localVarAxiosParamCreator = NotificationV1alpha1PublicApiAxiosParamCreator(configuration)
return {
/**
* Unsubscribe a subscription
@ -95,68 +95,68 @@ export const ApiNotificationHaloRunV1alpha1SubscriptionApiFp = function(configur
async unsubscribe(name: string, token: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<string>> {
const localVarAxiosArgs = await localVarAxiosParamCreator.unsubscribe(name, token, options);
const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
const localVarOperationServerBasePath = operationServerMap['ApiNotificationHaloRunV1alpha1SubscriptionApi.unsubscribe']?.[localVarOperationServerIndex]?.url;
const localVarOperationServerBasePath = operationServerMap['NotificationV1alpha1PublicApi.unsubscribe']?.[localVarOperationServerIndex]?.url;
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
},
}
};
/**
* ApiNotificationHaloRunV1alpha1SubscriptionApi - factory interface
* NotificationV1alpha1PublicApi - factory interface
* @export
*/
export const ApiNotificationHaloRunV1alpha1SubscriptionApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
const localVarFp = ApiNotificationHaloRunV1alpha1SubscriptionApiFp(configuration)
export const NotificationV1alpha1PublicApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
const localVarFp = NotificationV1alpha1PublicApiFp(configuration)
return {
/**
* Unsubscribe a subscription
* @param {ApiNotificationHaloRunV1alpha1SubscriptionApiUnsubscribeRequest} requestParameters Request parameters.
* @param {NotificationV1alpha1PublicApiUnsubscribeRequest} requestParameters Request parameters.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
unsubscribe(requestParameters: ApiNotificationHaloRunV1alpha1SubscriptionApiUnsubscribeRequest, options?: RawAxiosRequestConfig): AxiosPromise<string> {
unsubscribe(requestParameters: NotificationV1alpha1PublicApiUnsubscribeRequest, options?: RawAxiosRequestConfig): AxiosPromise<string> {
return localVarFp.unsubscribe(requestParameters.name, requestParameters.token, options).then((request) => request(axios, basePath));
},
};
};
/**
* Request parameters for unsubscribe operation in ApiNotificationHaloRunV1alpha1SubscriptionApi.
* Request parameters for unsubscribe operation in NotificationV1alpha1PublicApi.
* @export
* @interface ApiNotificationHaloRunV1alpha1SubscriptionApiUnsubscribeRequest
* @interface NotificationV1alpha1PublicApiUnsubscribeRequest
*/
export interface ApiNotificationHaloRunV1alpha1SubscriptionApiUnsubscribeRequest {
export interface NotificationV1alpha1PublicApiUnsubscribeRequest {
/**
* Subscription name
* @type {string}
* @memberof ApiNotificationHaloRunV1alpha1SubscriptionApiUnsubscribe
* @memberof NotificationV1alpha1PublicApiUnsubscribe
*/
readonly name: string
/**
* Unsubscribe token
* @type {string}
* @memberof ApiNotificationHaloRunV1alpha1SubscriptionApiUnsubscribe
* @memberof NotificationV1alpha1PublicApiUnsubscribe
*/
readonly token: string
}
/**
* ApiNotificationHaloRunV1alpha1SubscriptionApi - object-oriented interface
* NotificationV1alpha1PublicApi - object-oriented interface
* @export
* @class ApiNotificationHaloRunV1alpha1SubscriptionApi
* @class NotificationV1alpha1PublicApi
* @extends {BaseAPI}
*/
export class ApiNotificationHaloRunV1alpha1SubscriptionApi extends BaseAPI {
export class NotificationV1alpha1PublicApi extends BaseAPI {
/**
* Unsubscribe a subscription
* @param {ApiNotificationHaloRunV1alpha1SubscriptionApiUnsubscribeRequest} requestParameters Request parameters.
* @param {NotificationV1alpha1PublicApiUnsubscribeRequest} requestParameters Request parameters.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof ApiNotificationHaloRunV1alpha1SubscriptionApi
* @memberof NotificationV1alpha1PublicApi
*/
public unsubscribe(requestParameters: ApiNotificationHaloRunV1alpha1SubscriptionApiUnsubscribeRequest, options?: RawAxiosRequestConfig) {
return ApiNotificationHaloRunV1alpha1SubscriptionApiFp(this.configuration).unsubscribe(requestParameters.name, requestParameters.token, options).then((request) => request(this.axios, this.basePath));
public unsubscribe(requestParameters: NotificationV1alpha1PublicApiUnsubscribeRequest, options?: RawAxiosRequestConfig) {
return NotificationV1alpha1PublicApiFp(this.configuration).unsubscribe(requestParameters.name, requestParameters.token, options).then((request) => request(this.axios, this.basePath));
}
}

View File

@ -29,6 +29,43 @@ import { SiteStatsVo } from '../models';
*/
export const SystemV1alpha1PublicApiAxiosParamCreator = function (configuration?: Configuration) {
return {
/**
* Jump to setup page
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
jumpToSetupPage: async (options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {
const localVarPath = `/system/setup`;
// use dummy base URL string because the URL constructor only accepts absolute URLs.
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
let baseOptions;
if (configuration) {
baseOptions = configuration.baseOptions;
}
const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
const localVarHeaderParameter = {} as any;
const localVarQueryParameter = {} as any;
// authentication basicAuth required
// http basic authentication required
setBasicAuthToObject(localVarRequestOptions, configuration)
// authentication bearerAuth required
// http bearer authentication required
await setBearerAuthToObject(localVarHeaderParameter, configuration)
setSearchParams(localVarUrlObj, localVarQueryParameter);
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
return {
url: toPathString(localVarUrlObj),
options: localVarRequestOptions,
};
},
/**
* Gets site stats
* @param {*} [options] Override http request option.
@ -76,6 +113,17 @@ export const SystemV1alpha1PublicApiAxiosParamCreator = function (configuration?
export const SystemV1alpha1PublicApiFp = function(configuration?: Configuration) {
const localVarAxiosParamCreator = SystemV1alpha1PublicApiAxiosParamCreator(configuration)
return {
/**
* Jump to setup page
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async jumpToSetupPage(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<string>> {
const localVarAxiosArgs = await localVarAxiosParamCreator.jumpToSetupPage(options);
const localVarOperationServerIndex = configuration?.serverIndex ?? 0;
const localVarOperationServerBasePath = operationServerMap['SystemV1alpha1PublicApi.jumpToSetupPage']?.[localVarOperationServerIndex]?.url;
return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);
},
/**
* Gets site stats
* @param {*} [options] Override http request option.
@ -97,6 +145,14 @@ export const SystemV1alpha1PublicApiFp = function(configuration?: Configuration)
export const SystemV1alpha1PublicApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
const localVarFp = SystemV1alpha1PublicApiFp(configuration)
return {
/**
* Jump to setup page
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
jumpToSetupPage(options?: RawAxiosRequestConfig): AxiosPromise<string> {
return localVarFp.jumpToSetupPage(options).then((request) => request(axios, basePath));
},
/**
* Gets site stats
* @param {*} [options] Override http request option.
@ -115,6 +171,16 @@ export const SystemV1alpha1PublicApiFactory = function (configuration?: Configur
* @extends {BaseAPI}
*/
export class SystemV1alpha1PublicApi extends BaseAPI {
/**
* Jump to setup page
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof SystemV1alpha1PublicApi
*/
public jumpToSetupPage(options?: RawAxiosRequestConfig) {
return SystemV1alpha1PublicApiFp(this.configuration).jumpToSetupPage(options).then((request) => request(this.axios, this.basePath));
}
/**
* Gets site stats
* @param {*} [options] Override http request option.