@assetsfirst/pasarguard-sdk 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/generated-sources/base.ts","../src/generated-sources/common.ts","../src/generated-sources/apis/admin-api.ts","../src/generated-sources/apis/core-api.ts","../src/generated-sources/apis/default-api.ts","../src/generated-sources/apis/node-api.ts","../src/generated-sources/apis/subscription-api.ts","../src/generated-sources/apis/system-api.ts","../src/generated-sources/apis/user-api.ts","../src/generated-sources/apis/user-template-api.ts","../src/generated-sources/configuration.ts","../src/createAxiosClient.ts","../src/AuthService.ts","../src/interceptors.ts","../src/PasarguardSDK.ts"],"names":["BASE_PATH","BaseAPI","configuration","basePath","axios","globalAxios","RequiredError","field","msg","operationServerMap","DUMMY_BASE_URL","assertParamExists","functionName","paramName","paramValue","setOAuthToObject","object","name","scopes","localVarAccessTokenValue","setFlattenedQueryParams","urlSearchParams","parameter","key","item","currentKey","setSearchParams","url","objects","searchParams","serializeDataIfNeeded","value","requestOptions","nonString","toPathString","createRequestFunction","axiosArgs","axiosRequestArgs","AdminApiAxiosParamCreator","username","options","localVarPath","localVarUrlObj","baseOptions","localVarRequestOptions","localVarHeaderParameter","localVarQueryParameter","headersFromBaseOptions","xTelegramAuthorization","password","grantType","scope","clientId","clientSecret","localVarFormParams","adminCreate","offset","limit","sort","adminModify","AdminApiFp","localVarAxiosParamCreator","localVarAxiosArgs","localVarOperationServerIndex","localVarOperationServerBasePath","AdminApi","request","data","CoreApiAxiosParamCreator","coreCreate","coreId","restartNodes","CoreApiFp","CoreApi","DefaultApiAxiosParamCreator","startUrl","DefaultApiFp","DefaultApi","NodeApiAxiosParamCreator","table","start","end","nodeCreate","nodeId","period","status","enabled","ids","search","groupByNode","nodeModify","flushUsers","NodeApiFp","NodeApi","SubscriptionApiAxiosParamCreator","token","userAgent","clientType","SubscriptionApiFp","SubscriptionApi","SystemApiAxiosParamCreator","adminUsername","SystemApiFp","SystemApi","UserApiAxiosParamCreator","bulkUser","bulkUsersProxy","userCreate","createUserFromTemplate","expiredAfter","expiredBefore","admin","group","proxyId","loadSub","adminId","userModify","modifyUserByTemplate","UserApiFp","UserApi","UserTemplateApiAxiosParamCreator","userTemplateCreate","templateId","userTemplateModify","UserTemplateApiFp","UserTemplateApi","Configuration","param","mime","jsonMime","createAxiosClient","baseUrl","client","axiosRetry","retryCount","AuthenticationError","message","AuthService","resolve","reject","error","setupInterceptors","authService","config","requestConfig","accessToken","response","retryConfig","err","PasarguardSDK","force"],"mappings":"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","file":"index.cjs","sourcesContent":["/* tslint:disable */\n/* eslint-disable */\n/**\n * PasarGuardAPI\n * Unified GUI Censorship Resistant Solution\n *\n * The version of the OpenAPI document: 1.8.2\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport type { Configuration } from './configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios';\nimport globalAxios from 'axios';\n\nexport const BASE_PATH = \"http://localhost\".replace(/\\/+$/, \"\");\n\n/**\n *\n * @export\n */\nexport const COLLECTION_FORMATS = {\n csv: \",\",\n ssv: \" \",\n tsv: \"\\t\",\n pipes: \"|\",\n};\n\n/**\n *\n * @export\n * @interface RequestArgs\n */\nexport interface RequestArgs {\n url: string;\n options: RawAxiosRequestConfig;\n}\n\n/**\n *\n * @export\n * @class BaseAPI\n */\nexport class BaseAPI {\n protected configuration: Configuration | undefined;\n\n constructor(configuration?: Configuration, protected basePath: string = BASE_PATH, protected axios: AxiosInstance = globalAxios) {\n if (configuration) {\n this.configuration = configuration;\n this.basePath = configuration.basePath ?? basePath;\n }\n }\n};\n\n/**\n *\n * @export\n * @class RequiredError\n * @extends {Error}\n */\nexport class RequiredError extends Error {\n constructor(public field: string, msg?: string) {\n super(msg);\n this.name = \"RequiredError\"\n }\n}\n\ninterface ServerMap {\n [key: string]: {\n url: string,\n description: string,\n }[];\n}\n\n/**\n *\n * @export\n */\nexport const operationServerMap: ServerMap = {\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * PasarGuardAPI\n * Unified GUI Censorship Resistant Solution\n *\n * The version of the OpenAPI document: 1.8.2\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport type { Configuration } from \"./configuration\";\nimport type { RequestArgs } from \"./base\";\nimport type { AxiosInstance, AxiosResponse } from 'axios';\nimport { RequiredError } from \"./base\";\n\n/**\n *\n * @export\n */\nexport const DUMMY_BASE_URL = 'https://example.com'\n\n/**\n *\n * @throws {RequiredError}\n * @export\n */\nexport const assertParamExists = function (functionName: string, paramName: string, paramValue: unknown) {\n if (paramValue === null || paramValue === undefined) {\n throw new RequiredError(paramName, `Required parameter ${paramName} was null or undefined when calling ${functionName}.`);\n }\n}\n\n/**\n *\n * @export\n */\nexport const setApiKeyToObject = async function (object: any, keyParamName: string, configuration?: Configuration) {\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(keyParamName)\n : await configuration.apiKey;\n object[keyParamName] = localVarApiKeyValue;\n }\n}\n\n/**\n *\n * @export\n */\nexport const setBasicAuthToObject = function (object: any, configuration?: Configuration) {\n if (configuration && (configuration.username || configuration.password)) {\n object[\"auth\"] = { username: configuration.username, password: configuration.password };\n }\n}\n\n/**\n *\n * @export\n */\nexport const setBearerAuthToObject = async function (object: any, configuration?: Configuration) {\n if (configuration && configuration.accessToken) {\n const accessToken = typeof configuration.accessToken === 'function'\n ? await configuration.accessToken()\n : await configuration.accessToken;\n object[\"Authorization\"] = \"Bearer \" + accessToken;\n }\n}\n\n/**\n *\n * @export\n */\nexport const setOAuthToObject = async function (object: any, name: string, scopes: string[], configuration?: Configuration) {\n if (configuration && configuration.accessToken) {\n const localVarAccessTokenValue = typeof configuration.accessToken === 'function'\n ? await configuration.accessToken(name, scopes)\n : await configuration.accessToken;\n object[\"Authorization\"] = \"Bearer \" + localVarAccessTokenValue;\n }\n}\n\nfunction setFlattenedQueryParams(urlSearchParams: URLSearchParams, parameter: any, key: string = \"\"): void {\n if (parameter == null) return;\n if (typeof parameter === \"object\") {\n if (Array.isArray(parameter)) {\n (parameter as any[]).forEach(item => setFlattenedQueryParams(urlSearchParams, item, key));\n } \n else {\n Object.keys(parameter).forEach(currentKey => \n setFlattenedQueryParams(urlSearchParams, parameter[currentKey], `${key}${key !== '' ? '.' : ''}${currentKey}`)\n );\n }\n } \n else {\n if (urlSearchParams.has(key)) {\n urlSearchParams.append(key, parameter);\n } \n else {\n urlSearchParams.set(key, parameter);\n }\n }\n}\n\n/**\n *\n * @export\n */\nexport const setSearchParams = function (url: URL, ...objects: any[]) {\n const searchParams = new URLSearchParams(url.search);\n setFlattenedQueryParams(searchParams, objects);\n url.search = searchParams.toString();\n}\n\n/**\n *\n * @export\n */\nexport const serializeDataIfNeeded = function (value: any, requestOptions: any, configuration?: Configuration) {\n const nonString = typeof value !== 'string';\n const needsSerialization = nonString && configuration && configuration.isJsonMime\n ? configuration.isJsonMime(requestOptions.headers['Content-Type'])\n : nonString;\n return needsSerialization\n ? JSON.stringify(value !== undefined ? value : {})\n : (value || \"\");\n}\n\n/**\n *\n * @export\n */\nexport const toPathString = function (url: URL) {\n return url.pathname + url.search + url.hash\n}\n\n/**\n *\n * @export\n */\nexport const createRequestFunction = function (axiosArgs: RequestArgs, globalAxios: AxiosInstance, BASE_PATH: string, configuration?: Configuration) {\n return <T = unknown, R = AxiosResponse<T>>(axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...axiosArgs.options, url: (axios.defaults.baseURL ? '' : configuration?.basePath ?? basePath) + axiosArgs.url};\n return axios.request<T, R>(axiosRequestArgs);\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * PasarGuardAPI\n * Unified GUI Censorship Resistant Solution\n *\n * The version of the OpenAPI document: 1.8.2\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport type { Configuration } from '../configuration';\nimport type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios';\nimport globalAxios from 'axios';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common';\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, type RequestArgs, BaseAPI, RequiredError, operationServerMap } from '../base';\n// @ts-ignore\nimport type { AdminCreate } from '../models';\n// @ts-ignore\nimport type { AdminDetails } from '../models';\n// @ts-ignore\nimport type { AdminModify } from '../models';\n// @ts-ignore\nimport type { AdminsResponse } from '../models';\n// @ts-ignore\nimport type { Conflict } from '../models';\n// @ts-ignore\nimport type { Forbidden } from '../models';\n// @ts-ignore\nimport type { HTTPValidationError } from '../models';\n// @ts-ignore\nimport type { NotFound } from '../models';\n// @ts-ignore\nimport type { Token } from '../models';\n// @ts-ignore\nimport type { Unauthorized } from '../models';\n/**\n * AdminApi - axios parameter creator\n * @export\n */\nexport const AdminApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * Activate all disabled users under a specific admin\n * @summary Activate All Disabled Users\n * @param {string} username \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n activateAllDisabledUsers: async (username: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'username' is not null or undefined\n assertParamExists('activateAllDisabledUsers', 'username', username)\n const localVarPath = `/api/admin/{username}/users/activate`\n .replace(`{${\"username\"}}`, encodeURIComponent(String(username)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Authenticate an admin and issue a token.\n * @summary Admin Mini App Token\n * @param {string} xTelegramAuthorization \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n adminMiniAppToken: async (xTelegramAuthorization: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'xTelegramAuthorization' is not null or undefined\n assertParamExists('adminMiniAppToken', 'xTelegramAuthorization', xTelegramAuthorization)\n const localVarPath = `/api/admin/miniapp/token`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n\n \n if (xTelegramAuthorization != null) {\n localVarHeaderParameter['x-telegram-authorization'] = String(xTelegramAuthorization);\n }\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Authenticate an admin and issue a token.\n * @summary Admin Token\n * @param {string} username \n * @param {string} password \n * @param {string | null} [grantType] \n * @param {string} [scope] \n * @param {string | null} [clientId] \n * @param {string | null} [clientSecret] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n adminToken: async (username: string, password: string, grantType?: string | null, scope?: string, clientId?: string | null, clientSecret?: string | null, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'username' is not null or undefined\n assertParamExists('adminToken', 'username', username)\n // verify required parameter 'password' is not null or undefined\n assertParamExists('adminToken', 'password', password)\n const localVarPath = `/api/admin/token`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n const localVarFormParams = new URLSearchParams();\n\n\n if (grantType !== undefined) { \n localVarFormParams.set('grant_type', grantType as any);\n }\n \n if (username !== undefined) { \n localVarFormParams.set('username', username as any);\n }\n \n if (password !== undefined) { \n localVarFormParams.set('password', password as any);\n }\n \n if (scope !== undefined) { \n localVarFormParams.set('scope', scope as any);\n }\n \n if (clientId !== undefined) { \n localVarFormParams.set('client_id', clientId as any);\n }\n \n if (clientSecret !== undefined) { \n localVarFormParams.set('client_secret', clientSecret as any);\n }\n \n \n localVarHeaderParameter['Content-Type'] = 'application/x-www-form-urlencoded';\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = localVarFormParams.toString();\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Create a new admin if the current admin has sudo privileges.\n * @summary Create Admin\n * @param {AdminCreate} adminCreate \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n createAdmin: async (adminCreate: AdminCreate, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'adminCreate' is not null or undefined\n assertParamExists('createAdmin', 'adminCreate', adminCreate)\n const localVarPath = `/api/admin`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(adminCreate, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Disable all active users under a specific admin\n * @summary Disable All Active Users\n * @param {string} username \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n disableAllActiveUsers: async (username: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'username' is not null or undefined\n assertParamExists('disableAllActiveUsers', 'username', username)\n const localVarPath = `/api/admin/{username}/users/disable`\n .replace(`{${\"username\"}}`, encodeURIComponent(String(username)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Fetch a list of admins with optional filters for pagination and username.\n * @summary Get Admins\n * @param {string | null} [username] \n * @param {number | null} [offset] \n * @param {number | null} [limit] \n * @param {string | null} [sort] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getAdmins: async (username?: string | null, offset?: number | null, limit?: number | null, sort?: string | null, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/api/admins`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n if (username !== undefined) {\n localVarQueryParameter['username'] = username;\n }\n\n if (offset !== undefined) {\n localVarQueryParameter['offset'] = offset;\n }\n\n if (limit !== undefined) {\n localVarQueryParameter['limit'] = limit;\n }\n\n if (sort !== undefined) {\n localVarQueryParameter['sort'] = sort;\n }\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Retrieve the current authenticated admin.\n * @summary Get Current Admin\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getCurrentAdmin: async (options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/api/admin`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Modify an existing admin\\'s details.\n * @summary Modify Admin\n * @param {string} username \n * @param {AdminModify} adminModify \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n modifyAdmin: async (username: string, adminModify: AdminModify, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'username' is not null or undefined\n assertParamExists('modifyAdmin', 'username', username)\n // verify required parameter 'adminModify' is not null or undefined\n assertParamExists('modifyAdmin', 'adminModify', adminModify)\n const localVarPath = `/api/admin/{username}`\n .replace(`{${\"username\"}}`, encodeURIComponent(String(username)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(adminModify, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Remove an admin from the database.\n * @summary Remove Admin\n * @param {string} username \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n removeAdmin: async (username: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'username' is not null or undefined\n assertParamExists('removeAdmin', 'username', username)\n const localVarPath = `/api/admin/{username}`\n .replace(`{${\"username\"}}`, encodeURIComponent(String(username)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Remove all users under a specific admin.\n * @summary Remove All Users\n * @param {string} username \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n removeAllUsers: async (username: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'username' is not null or undefined\n assertParamExists('removeAllUsers', 'username', username)\n const localVarPath = `/api/admin/{username}/users`\n .replace(`{${\"username\"}}`, encodeURIComponent(String(username)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Resets usage of admin.\n * @summary Reset Admin Usage\n * @param {string} username \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n resetAdminUsage: async (username: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'username' is not null or undefined\n assertParamExists('resetAdminUsage', 'username', username)\n const localVarPath = `/api/admin/{username}/reset`\n .replace(`{${\"username\"}}`, encodeURIComponent(String(username)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * AdminApi - functional programming interface\n * @export\n */\nexport const AdminApiFp = function(configuration?: Configuration) {\n const localVarAxiosParamCreator = AdminApiAxiosParamCreator(configuration)\n return {\n /**\n * Activate all disabled users under a specific admin\n * @summary Activate All Disabled Users\n * @param {string} username \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async activateAllDisabledUsers(username: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<any>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.activateAllDisabledUsers(username, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['AdminApi.activateAllDisabledUsers']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Authenticate an admin and issue a token.\n * @summary Admin Mini App Token\n * @param {string} xTelegramAuthorization \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async adminMiniAppToken(xTelegramAuthorization: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<any>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.adminMiniAppToken(xTelegramAuthorization, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['AdminApi.adminMiniAppToken']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Authenticate an admin and issue a token.\n * @summary Admin Token\n * @param {string} username \n * @param {string} password \n * @param {string | null} [grantType] \n * @param {string} [scope] \n * @param {string | null} [clientId] \n * @param {string | null} [clientSecret] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async adminToken(username: string, password: string, grantType?: string | null, scope?: string, clientId?: string | null, clientSecret?: string | null, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Token>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.adminToken(username, password, grantType, scope, clientId, clientSecret, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['AdminApi.adminToken']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Create a new admin if the current admin has sudo privileges.\n * @summary Create Admin\n * @param {AdminCreate} adminCreate \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async createAdmin(adminCreate: AdminCreate, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AdminDetails>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.createAdmin(adminCreate, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['AdminApi.createAdmin']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Disable all active users under a specific admin\n * @summary Disable All Active Users\n * @param {string} username \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async disableAllActiveUsers(username: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<any>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.disableAllActiveUsers(username, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['AdminApi.disableAllActiveUsers']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Fetch a list of admins with optional filters for pagination and username.\n * @summary Get Admins\n * @param {string | null} [username] \n * @param {number | null} [offset] \n * @param {number | null} [limit] \n * @param {string | null} [sort] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getAdmins(username?: string | null, offset?: number | null, limit?: number | null, sort?: string | null, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AdminsResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.getAdmins(username, offset, limit, sort, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['AdminApi.getAdmins']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Retrieve the current authenticated admin.\n * @summary Get Current Admin\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getCurrentAdmin(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AdminDetails>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.getCurrentAdmin(options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['AdminApi.getCurrentAdmin']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Modify an existing admin\\'s details.\n * @summary Modify Admin\n * @param {string} username \n * @param {AdminModify} adminModify \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async modifyAdmin(username: string, adminModify: AdminModify, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AdminDetails>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.modifyAdmin(username, adminModify, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['AdminApi.modifyAdmin']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Remove an admin from the database.\n * @summary Remove Admin\n * @param {string} username \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async removeAdmin(username: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.removeAdmin(username, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['AdminApi.removeAdmin']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Remove all users under a specific admin.\n * @summary Remove All Users\n * @param {string} username \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async removeAllUsers(username: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<any>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.removeAllUsers(username, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['AdminApi.removeAllUsers']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Resets usage of admin.\n * @summary Reset Admin Usage\n * @param {string} username \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async resetAdminUsage(username: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AdminDetails>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.resetAdminUsage(username, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['AdminApi.resetAdminUsage']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n }\n};\n\n/**\n * AdminApi - factory interface\n * @export\n */\nexport const AdminApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n const localVarFp = AdminApiFp(configuration)\n return {\n /**\n * Activate all disabled users under a specific admin\n * @summary Activate All Disabled Users\n * @param {string} username \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n activateAllDisabledUsers(username: string, options?: RawAxiosRequestConfig): AxiosPromise<any> {\n return localVarFp.activateAllDisabledUsers(username, options).then((request) => request(axios, basePath));\n },\n /**\n * Authenticate an admin and issue a token.\n * @summary Admin Mini App Token\n * @param {string} xTelegramAuthorization \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n adminMiniAppToken(xTelegramAuthorization: string, options?: RawAxiosRequestConfig): AxiosPromise<any> {\n return localVarFp.adminMiniAppToken(xTelegramAuthorization, options).then((request) => request(axios, basePath));\n },\n /**\n * Authenticate an admin and issue a token.\n * @summary Admin Token\n * @param {string} username \n * @param {string} password \n * @param {string | null} [grantType] \n * @param {string} [scope] \n * @param {string | null} [clientId] \n * @param {string | null} [clientSecret] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n adminToken(username: string, password: string, grantType?: string | null, scope?: string, clientId?: string | null, clientSecret?: string | null, options?: RawAxiosRequestConfig): AxiosPromise<Token> {\n return localVarFp.adminToken(username, password, grantType, scope, clientId, clientSecret, options).then((request) => request(axios, basePath));\n },\n /**\n * Create a new admin if the current admin has sudo privileges.\n * @summary Create Admin\n * @param {AdminCreate} adminCreate \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n createAdmin(adminCreate: AdminCreate, options?: RawAxiosRequestConfig): AxiosPromise<AdminDetails> {\n return localVarFp.createAdmin(adminCreate, options).then((request) => request(axios, basePath));\n },\n /**\n * Disable all active users under a specific admin\n * @summary Disable All Active Users\n * @param {string} username \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n disableAllActiveUsers(username: string, options?: RawAxiosRequestConfig): AxiosPromise<any> {\n return localVarFp.disableAllActiveUsers(username, options).then((request) => request(axios, basePath));\n },\n /**\n * Fetch a list of admins with optional filters for pagination and username.\n * @summary Get Admins\n * @param {string | null} [username] \n * @param {number | null} [offset] \n * @param {number | null} [limit] \n * @param {string | null} [sort] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getAdmins(username?: string | null, offset?: number | null, limit?: number | null, sort?: string | null, options?: RawAxiosRequestConfig): AxiosPromise<AdminsResponse> {\n return localVarFp.getAdmins(username, offset, limit, sort, options).then((request) => request(axios, basePath));\n },\n /**\n * Retrieve the current authenticated admin.\n * @summary Get Current Admin\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getCurrentAdmin(options?: RawAxiosRequestConfig): AxiosPromise<AdminDetails> {\n return localVarFp.getCurrentAdmin(options).then((request) => request(axios, basePath));\n },\n /**\n * Modify an existing admin\\'s details.\n * @summary Modify Admin\n * @param {string} username \n * @param {AdminModify} adminModify \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n modifyAdmin(username: string, adminModify: AdminModify, options?: RawAxiosRequestConfig): AxiosPromise<AdminDetails> {\n return localVarFp.modifyAdmin(username, adminModify, options).then((request) => request(axios, basePath));\n },\n /**\n * Remove an admin from the database.\n * @summary Remove Admin\n * @param {string} username \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n removeAdmin(username: string, options?: RawAxiosRequestConfig): AxiosPromise<void> {\n return localVarFp.removeAdmin(username, options).then((request) => request(axios, basePath));\n },\n /**\n * Remove all users under a specific admin.\n * @summary Remove All Users\n * @param {string} username \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n removeAllUsers(username: string, options?: RawAxiosRequestConfig): AxiosPromise<any> {\n return localVarFp.removeAllUsers(username, options).then((request) => request(axios, basePath));\n },\n /**\n * Resets usage of admin.\n * @summary Reset Admin Usage\n * @param {string} username \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n resetAdminUsage(username: string, options?: RawAxiosRequestConfig): AxiosPromise<AdminDetails> {\n return localVarFp.resetAdminUsage(username, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * AdminApi - object-oriented interface\n * @export\n * @class AdminApi\n * @extends {BaseAPI}\n */\nexport class AdminApi extends BaseAPI {\n /**\n * Activate all disabled users under a specific admin\n * @summary Activate All Disabled Users\n * @param {string} username \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof AdminApi\n */\n public activateAllDisabledUsers(username: string, options?: RawAxiosRequestConfig) {\n return AdminApiFp(this.configuration).activateAllDisabledUsers(username, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * Authenticate an admin and issue a token.\n * @summary Admin Mini App Token\n * @param {string} xTelegramAuthorization \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof AdminApi\n */\n public adminMiniAppToken(xTelegramAuthorization: string, options?: RawAxiosRequestConfig) {\n return AdminApiFp(this.configuration).adminMiniAppToken(xTelegramAuthorization, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * Authenticate an admin and issue a token.\n * @summary Admin Token\n * @param {string} username \n * @param {string} password \n * @param {string | null} [grantType] \n * @param {string} [scope] \n * @param {string | null} [clientId] \n * @param {string | null} [clientSecret] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof AdminApi\n */\n public adminToken(username: string, password: string, grantType?: string | null, scope?: string, clientId?: string | null, clientSecret?: string | null, options?: RawAxiosRequestConfig) {\n return AdminApiFp(this.configuration).adminToken(username, password, grantType, scope, clientId, clientSecret, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * Create a new admin if the current admin has sudo privileges.\n * @summary Create Admin\n * @param {AdminCreate} adminCreate \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof AdminApi\n */\n public createAdmin(adminCreate: AdminCreate, options?: RawAxiosRequestConfig) {\n return AdminApiFp(this.configuration).createAdmin(adminCreate, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * Disable all active users under a specific admin\n * @summary Disable All Active Users\n * @param {string} username \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof AdminApi\n */\n public disableAllActiveUsers(username: string, options?: RawAxiosRequestConfig) {\n return AdminApiFp(this.configuration).disableAllActiveUsers(username, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * Fetch a list of admins with optional filters for pagination and username.\n * @summary Get Admins\n * @param {string | null} [username] \n * @param {number | null} [offset] \n * @param {number | null} [limit] \n * @param {string | null} [sort] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof AdminApi\n */\n public getAdmins(username?: string | null, offset?: number | null, limit?: number | null, sort?: string | null, options?: RawAxiosRequestConfig) {\n return AdminApiFp(this.configuration).getAdmins(username, offset, limit, sort, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * Retrieve the current authenticated admin.\n * @summary Get Current Admin\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof AdminApi\n */\n public getCurrentAdmin(options?: RawAxiosRequestConfig) {\n return AdminApiFp(this.configuration).getCurrentAdmin(options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * Modify an existing admin\\'s details.\n * @summary Modify Admin\n * @param {string} username \n * @param {AdminModify} adminModify \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof AdminApi\n */\n public modifyAdmin(username: string, adminModify: AdminModify, options?: RawAxiosRequestConfig) {\n return AdminApiFp(this.configuration).modifyAdmin(username, adminModify, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * Remove an admin from the database.\n * @summary Remove Admin\n * @param {string} username \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof AdminApi\n */\n public removeAdmin(username: string, options?: RawAxiosRequestConfig) {\n return AdminApiFp(this.configuration).removeAdmin(username, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * Remove all users under a specific admin.\n * @summary Remove All Users\n * @param {string} username \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof AdminApi\n */\n public removeAllUsers(username: string, options?: RawAxiosRequestConfig) {\n return AdminApiFp(this.configuration).removeAllUsers(username, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * Resets usage of admin.\n * @summary Reset Admin Usage\n * @param {string} username \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof AdminApi\n */\n public resetAdminUsage(username: string, options?: RawAxiosRequestConfig) {\n return AdminApiFp(this.configuration).resetAdminUsage(username, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * PasarGuardAPI\n * Unified GUI Censorship Resistant Solution\n *\n * The version of the OpenAPI document: 1.8.2\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport type { Configuration } from '../configuration';\nimport type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios';\nimport globalAxios from 'axios';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common';\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, type RequestArgs, BaseAPI, RequiredError, operationServerMap } from '../base';\n// @ts-ignore\nimport type { CoreCreate } from '../models';\n// @ts-ignore\nimport type { CoreResponse } from '../models';\n// @ts-ignore\nimport type { CoreResponseList } from '../models';\n// @ts-ignore\nimport type { Forbidden } from '../models';\n// @ts-ignore\nimport type { HTTPValidationError } from '../models';\n// @ts-ignore\nimport type { Unauthorized } from '../models';\n/**\n * CoreApi - axios parameter creator\n * @export\n */\nexport const CoreApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * Create a new core configuration.\n * @summary Create Core Config\n * @param {CoreCreate} coreCreate \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n createCoreConfig: async (coreCreate: CoreCreate, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'coreCreate' is not null or undefined\n assertParamExists('createCoreConfig', 'coreCreate', coreCreate)\n const localVarPath = `/api/core`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(coreCreate, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Delete a core configuration.\n * @summary Delete Core Config\n * @param {number} coreId \n * @param {boolean} [restartNodes] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n deleteCoreConfig: async (coreId: number, restartNodes?: boolean, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'coreId' is not null or undefined\n assertParamExists('deleteCoreConfig', 'coreId', coreId)\n const localVarPath = `/api/core/{core_id}`\n .replace(`{${\"core_id\"}}`, encodeURIComponent(String(coreId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n if (restartNodes !== undefined) {\n localVarQueryParameter['restart_nodes'] = restartNodes;\n }\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Get a list of all core configurations.\n * @summary Get All Cores\n * @param {number | null} [offset] \n * @param {number | null} [limit] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getAllCores: async (offset?: number | null, limit?: number | null, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/api/cores`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n if (offset !== undefined) {\n localVarQueryParameter['offset'] = offset;\n }\n\n if (limit !== undefined) {\n localVarQueryParameter['limit'] = limit;\n }\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Get a core configuration by its ID.\n * @summary Get Core Config\n * @param {number} coreId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getCoreConfig: async (coreId: number, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'coreId' is not null or undefined\n assertParamExists('getCoreConfig', 'coreId', coreId)\n const localVarPath = `/api/core/{core_id}`\n .replace(`{${\"core_id\"}}`, encodeURIComponent(String(coreId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Update an existing core configuration.\n * @summary Modify Core Config\n * @param {number} coreId \n * @param {boolean} restartNodes \n * @param {CoreCreate} coreCreate \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n modifyCoreConfig: async (coreId: number, restartNodes: boolean, coreCreate: CoreCreate, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'coreId' is not null or undefined\n assertParamExists('modifyCoreConfig', 'coreId', coreId)\n // verify required parameter 'restartNodes' is not null or undefined\n assertParamExists('modifyCoreConfig', 'restartNodes', restartNodes)\n // verify required parameter 'coreCreate' is not null or undefined\n assertParamExists('modifyCoreConfig', 'coreCreate', coreCreate)\n const localVarPath = `/api/core/{core_id}`\n .replace(`{${\"core_id\"}}`, encodeURIComponent(String(coreId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n if (restartNodes !== undefined) {\n localVarQueryParameter['restart_nodes'] = restartNodes;\n }\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(coreCreate, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * restart nodes related to the core config\n * @summary Restart Core\n * @param {number} coreId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n restartCore: async (coreId: number, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'coreId' is not null or undefined\n assertParamExists('restartCore', 'coreId', coreId)\n const localVarPath = `/api/core/{core_id}/restart`\n .replace(`{${\"core_id\"}}`, encodeURIComponent(String(coreId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * CoreApi - functional programming interface\n * @export\n */\nexport const CoreApiFp = function(configuration?: Configuration) {\n const localVarAxiosParamCreator = CoreApiAxiosParamCreator(configuration)\n return {\n /**\n * Create a new core configuration.\n * @summary Create Core Config\n * @param {CoreCreate} coreCreate \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async createCoreConfig(coreCreate: CoreCreate, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CoreResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.createCoreConfig(coreCreate, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['CoreApi.createCoreConfig']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Delete a core configuration.\n * @summary Delete Core Config\n * @param {number} coreId \n * @param {boolean} [restartNodes] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async deleteCoreConfig(coreId: number, restartNodes?: boolean, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.deleteCoreConfig(coreId, restartNodes, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['CoreApi.deleteCoreConfig']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Get a list of all core configurations.\n * @summary Get All Cores\n * @param {number | null} [offset] \n * @param {number | null} [limit] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getAllCores(offset?: number | null, limit?: number | null, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CoreResponseList>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.getAllCores(offset, limit, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['CoreApi.getAllCores']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Get a core configuration by its ID.\n * @summary Get Core Config\n * @param {number} coreId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getCoreConfig(coreId: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CoreResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.getCoreConfig(coreId, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['CoreApi.getCoreConfig']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Update an existing core configuration.\n * @summary Modify Core Config\n * @param {number} coreId \n * @param {boolean} restartNodes \n * @param {CoreCreate} coreCreate \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async modifyCoreConfig(coreId: number, restartNodes: boolean, coreCreate: CoreCreate, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CoreResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.modifyCoreConfig(coreId, restartNodes, coreCreate, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['CoreApi.modifyCoreConfig']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * restart nodes related to the core config\n * @summary Restart Core\n * @param {number} coreId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async restartCore(coreId: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.restartCore(coreId, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['CoreApi.restartCore']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n }\n};\n\n/**\n * CoreApi - factory interface\n * @export\n */\nexport const CoreApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n const localVarFp = CoreApiFp(configuration)\n return {\n /**\n * Create a new core configuration.\n * @summary Create Core Config\n * @param {CoreCreate} coreCreate \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n createCoreConfig(coreCreate: CoreCreate, options?: RawAxiosRequestConfig): AxiosPromise<CoreResponse> {\n return localVarFp.createCoreConfig(coreCreate, options).then((request) => request(axios, basePath));\n },\n /**\n * Delete a core configuration.\n * @summary Delete Core Config\n * @param {number} coreId \n * @param {boolean} [restartNodes] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n deleteCoreConfig(coreId: number, restartNodes?: boolean, options?: RawAxiosRequestConfig): AxiosPromise<void> {\n return localVarFp.deleteCoreConfig(coreId, restartNodes, options).then((request) => request(axios, basePath));\n },\n /**\n * Get a list of all core configurations.\n * @summary Get All Cores\n * @param {number | null} [offset] \n * @param {number | null} [limit] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getAllCores(offset?: number | null, limit?: number | null, options?: RawAxiosRequestConfig): AxiosPromise<CoreResponseList> {\n return localVarFp.getAllCores(offset, limit, options).then((request) => request(axios, basePath));\n },\n /**\n * Get a core configuration by its ID.\n * @summary Get Core Config\n * @param {number} coreId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getCoreConfig(coreId: number, options?: RawAxiosRequestConfig): AxiosPromise<CoreResponse> {\n return localVarFp.getCoreConfig(coreId, options).then((request) => request(axios, basePath));\n },\n /**\n * Update an existing core configuration.\n * @summary Modify Core Config\n * @param {number} coreId \n * @param {boolean} restartNodes \n * @param {CoreCreate} coreCreate \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n modifyCoreConfig(coreId: number, restartNodes: boolean, coreCreate: CoreCreate, options?: RawAxiosRequestConfig): AxiosPromise<CoreResponse> {\n return localVarFp.modifyCoreConfig(coreId, restartNodes, coreCreate, options).then((request) => request(axios, basePath));\n },\n /**\n * restart nodes related to the core config\n * @summary Restart Core\n * @param {number} coreId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n restartCore(coreId: number, options?: RawAxiosRequestConfig): AxiosPromise<void> {\n return localVarFp.restartCore(coreId, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * CoreApi - object-oriented interface\n * @export\n * @class CoreApi\n * @extends {BaseAPI}\n */\nexport class CoreApi extends BaseAPI {\n /**\n * Create a new core configuration.\n * @summary Create Core Config\n * @param {CoreCreate} coreCreate \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CoreApi\n */\n public createCoreConfig(coreCreate: CoreCreate, options?: RawAxiosRequestConfig) {\n return CoreApiFp(this.configuration).createCoreConfig(coreCreate, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * Delete a core configuration.\n * @summary Delete Core Config\n * @param {number} coreId \n * @param {boolean} [restartNodes] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CoreApi\n */\n public deleteCoreConfig(coreId: number, restartNodes?: boolean, options?: RawAxiosRequestConfig) {\n return CoreApiFp(this.configuration).deleteCoreConfig(coreId, restartNodes, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * Get a list of all core configurations.\n * @summary Get All Cores\n * @param {number | null} [offset] \n * @param {number | null} [limit] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CoreApi\n */\n public getAllCores(offset?: number | null, limit?: number | null, options?: RawAxiosRequestConfig) {\n return CoreApiFp(this.configuration).getAllCores(offset, limit, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * Get a core configuration by its ID.\n * @summary Get Core Config\n * @param {number} coreId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CoreApi\n */\n public getCoreConfig(coreId: number, options?: RawAxiosRequestConfig) {\n return CoreApiFp(this.configuration).getCoreConfig(coreId, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * Update an existing core configuration.\n * @summary Modify Core Config\n * @param {number} coreId \n * @param {boolean} restartNodes \n * @param {CoreCreate} coreCreate \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CoreApi\n */\n public modifyCoreConfig(coreId: number, restartNodes: boolean, coreCreate: CoreCreate, options?: RawAxiosRequestConfig) {\n return CoreApiFp(this.configuration).modifyCoreConfig(coreId, restartNodes, coreCreate, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * restart nodes related to the core config\n * @summary Restart Core\n * @param {number} coreId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof CoreApi\n */\n public restartCore(coreId: number, options?: RawAxiosRequestConfig) {\n return CoreApiFp(this.configuration).restartCore(coreId, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * PasarGuardAPI\n * Unified GUI Censorship Resistant Solution\n *\n * The version of the OpenAPI document: 1.8.2\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport type { Configuration } from '../configuration';\nimport type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios';\nimport globalAxios from 'axios';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common';\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, type RequestArgs, BaseAPI, RequiredError, operationServerMap } from '../base';\n// @ts-ignore\nimport type { HTTPValidationError } from '../models';\n/**\n * DefaultApi - axios parameter creator\n * @export\n */\nexport const DefaultApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @summary Base\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n base: async (options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Dynamic PWA manifest generator\n * @summary Get Manifest\n * @param {string | null} [startUrl] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getManifest: async (startUrl?: string | null, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/manifest.json`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n if (startUrl !== undefined) {\n localVarQueryParameter['start_url'] = startUrl;\n }\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * DefaultApi - functional programming interface\n * @export\n */\nexport const DefaultApiFp = function(configuration?: Configuration) {\n const localVarAxiosParamCreator = DefaultApiAxiosParamCreator(configuration)\n return {\n /**\n * \n * @summary Base\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async base(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<string>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.base(options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['DefaultApi.base']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Dynamic PWA manifest generator\n * @summary Get Manifest\n * @param {string | null} [startUrl] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getManifest(startUrl?: string | null, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<any>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.getManifest(startUrl, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['DefaultApi.getManifest']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n }\n};\n\n/**\n * DefaultApi - factory interface\n * @export\n */\nexport const DefaultApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n const localVarFp = DefaultApiFp(configuration)\n return {\n /**\n * \n * @summary Base\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n base(options?: RawAxiosRequestConfig): AxiosPromise<string> {\n return localVarFp.base(options).then((request) => request(axios, basePath));\n },\n /**\n * Dynamic PWA manifest generator\n * @summary Get Manifest\n * @param {string | null} [startUrl] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getManifest(startUrl?: string | null, options?: RawAxiosRequestConfig): AxiosPromise<any> {\n return localVarFp.getManifest(startUrl, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * DefaultApi - object-oriented interface\n * @export\n * @class DefaultApi\n * @extends {BaseAPI}\n */\nexport class DefaultApi extends BaseAPI {\n /**\n * \n * @summary Base\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public base(options?: RawAxiosRequestConfig) {\n return DefaultApiFp(this.configuration).base(options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * Dynamic PWA manifest generator\n * @summary Get Manifest\n * @param {string | null} [startUrl] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public getManifest(startUrl?: string | null, options?: RawAxiosRequestConfig) {\n return DefaultApiFp(this.configuration).getManifest(startUrl, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * PasarGuardAPI\n * Unified GUI Censorship Resistant Solution\n *\n * The version of the OpenAPI document: 1.8.2\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport type { Configuration } from '../configuration';\nimport type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios';\nimport globalAxios from 'axios';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common';\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, type RequestArgs, BaseAPI, RequiredError, operationServerMap } from '../base';\n// @ts-ignore\nimport type { Conflict } from '../models';\n// @ts-ignore\nimport type { Forbidden } from '../models';\n// @ts-ignore\nimport type { HTTPValidationError } from '../models';\n// @ts-ignore\nimport type { NodeCreate } from '../models';\n// @ts-ignore\nimport type { NodeModify } from '../models';\n// @ts-ignore\nimport type { NodeRealtimeStats } from '../models';\n// @ts-ignore\nimport type { NodeResponse } from '../models';\n// @ts-ignore\nimport type { NodeSettings } from '../models';\n// @ts-ignore\nimport type { NodeStatsList } from '../models';\n// @ts-ignore\nimport type { NodeStatus } from '../models';\n// @ts-ignore\nimport type { NodeUsageStatsList } from '../models';\n// @ts-ignore\nimport type { NodesResponse } from '../models';\n// @ts-ignore\nimport type { Period } from '../models';\n// @ts-ignore\nimport type { ResponseRealtimeNodesStatsApiNodesRealtimeStatsGetValue } from '../models';\n// @ts-ignore\nimport type { Unauthorized } from '../models';\n// @ts-ignore\nimport type { UsageTable } from '../models';\n// @ts-ignore\nimport type { UserIPList } from '../models';\n// @ts-ignore\nimport type { UserIPListAll } from '../models';\n/**\n * NodeApi - axios parameter creator\n * @export\n */\nexport const NodeApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * Deletes **all rows** from the selected usage data table. Use with caution. Allowed tables: - `node_user_usages`: Deletes user-specific node usage traffic records. - `node_usages`: Deletes node-level aggregated traffic (uplink/downlink) records. **Optional filters:** - `start`: ISO 8601 timestamp to filter from (inclusive) - `end`: ISO 8601 timestamp to filter to (exclusive) ⚠️ This operation is irreversible. Ensure correct usage in production environments.\n * @summary Clear usage data from a specified table\n * @param {UsageTable} table \n * @param {string | null} [start] \n * @param {string | null} [end] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n clearUsageData: async (table: UsageTable, start?: string | null, end?: string | null, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'table' is not null or undefined\n assertParamExists('clearUsageData', 'table', table)\n const localVarPath = `/api/nodes/clear_usage_data/{table}`\n .replace(`{${\"table\"}}`, encodeURIComponent(String(table)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n if (start !== undefined) {\n localVarQueryParameter['start'] = (start as any instanceof Date) ?\n (start as any).toISOString() :\n start;\n }\n\n if (end !== undefined) {\n localVarQueryParameter['end'] = (end as any instanceof Date) ?\n (end as any).toISOString() :\n end;\n }\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Create a new node to the database.\n * @summary Create Node\n * @param {NodeCreate} nodeCreate \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n createNode: async (nodeCreate: NodeCreate, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'nodeCreate' is not null or undefined\n assertParamExists('createNode', 'nodeCreate', nodeCreate)\n const localVarPath = `/api/node`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(nodeCreate, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Retrieve details of a specific node by its ID.\n * @summary Get Node\n * @param {number} nodeId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getNode: async (nodeId: number, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'nodeId' is not null or undefined\n assertParamExists('getNode', 'nodeId', nodeId)\n const localVarPath = `/api/node/{node_id}`\n .replace(`{${\"node_id\"}}`, encodeURIComponent(String(nodeId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Retrieve the current node settings.\n * @summary Get Node Settings\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getNodeSettings: async (options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/api/node/settings`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Get Node Stats Periodic\n * @param {number} nodeId \n * @param {string | null} [start] \n * @param {string | null} [end] \n * @param {Period} [period] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getNodeStatsPeriodic: async (nodeId: number, start?: string | null, end?: string | null, period?: Period, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'nodeId' is not null or undefined\n assertParamExists('getNodeStatsPeriodic', 'nodeId', nodeId)\n const localVarPath = `/api/node/{node_id}/stats`\n .replace(`{${\"node_id\"}}`, encodeURIComponent(String(nodeId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n if (start !== undefined) {\n localVarQueryParameter['start'] = (start as any instanceof Date) ?\n (start as any).toISOString() :\n start;\n }\n\n if (end !== undefined) {\n localVarQueryParameter['end'] = (end as any instanceof Date) ?\n (end as any).toISOString() :\n end;\n }\n\n if (period !== undefined) {\n localVarQueryParameter['period'] = period;\n }\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Retrieve a list of all nodes. Accessible only to sudo admins.\n * @summary Get Nodes\n * @param {number | null} [coreId] \n * @param {number | null} [offset] \n * @param {number | null} [limit] \n * @param {Array<NodeStatus> | null} [status] \n * @param {boolean} [enabled] \n * @param {Array<number> | null} [ids] \n * @param {string | null} [search] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getNodes: async (coreId?: number | null, offset?: number | null, limit?: number | null, status?: Array<NodeStatus> | null, enabled?: boolean, ids?: Array<number> | null, search?: string | null, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/api/nodes`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n if (coreId !== undefined) {\n localVarQueryParameter['core_id'] = coreId;\n }\n\n if (offset !== undefined) {\n localVarQueryParameter['offset'] = offset;\n }\n\n if (limit !== undefined) {\n localVarQueryParameter['limit'] = limit;\n }\n\n if (status) {\n localVarQueryParameter['status'] = status;\n }\n\n if (enabled !== undefined) {\n localVarQueryParameter['enabled'] = enabled;\n }\n\n if (ids) {\n localVarQueryParameter['ids'] = ids;\n }\n\n if (search !== undefined) {\n localVarQueryParameter['search'] = search;\n }\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Retrieve usage statistics for nodes within a specified date range.\n * @summary Get Usage\n * @param {string | null} [start] \n * @param {string | null} [end] \n * @param {Period} [period] \n * @param {number | null} [nodeId] \n * @param {boolean} [groupByNode] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getUsage: async (start?: string | null, end?: string | null, period?: Period, nodeId?: number | null, groupByNode?: boolean, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/api/node/usage`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n if (start !== undefined) {\n localVarQueryParameter['start'] = (start as any instanceof Date) ?\n (start as any).toISOString() :\n start;\n }\n\n if (end !== undefined) {\n localVarQueryParameter['end'] = (end as any instanceof Date) ?\n (end as any).toISOString() :\n end;\n }\n\n if (period !== undefined) {\n localVarQueryParameter['period'] = period;\n }\n\n if (nodeId !== undefined) {\n localVarQueryParameter['node_id'] = nodeId;\n }\n\n if (groupByNode !== undefined) {\n localVarQueryParameter['group_by_node'] = groupByNode;\n }\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Modify a node\\'s details. Only accessible to sudo admins.\n * @summary Modify Node\n * @param {number} nodeId \n * @param {NodeModify} nodeModify \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n modifyNode: async (nodeId: number, nodeModify: NodeModify, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'nodeId' is not null or undefined\n assertParamExists('modifyNode', 'nodeId', nodeId)\n // verify required parameter 'nodeModify' is not null or undefined\n assertParamExists('modifyNode', 'nodeModify', nodeModify)\n const localVarPath = `/api/node/{node_id}`\n .replace(`{${\"node_id\"}}`, encodeURIComponent(String(nodeId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(nodeModify, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Stream logs for a specific node as Server-Sent Events.\n * @summary Node Logs\n * @param {number} nodeId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n nodeLogs: async (nodeId: number, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'nodeId' is not null or undefined\n assertParamExists('nodeLogs', 'nodeId', nodeId)\n const localVarPath = `/api/node/{node_id}/logs`\n .replace(`{${\"node_id\"}}`, encodeURIComponent(String(nodeId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Retrieve node real-time statistics.\n * @summary Realtime Node Stats\n * @param {number} nodeId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n realtimeNodeStats: async (nodeId: number, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'nodeId' is not null or undefined\n assertParamExists('realtimeNodeStats', 'nodeId', nodeId)\n const localVarPath = `/api/node/{node_id}/realtime_stats`\n .replace(`{${\"node_id\"}}`, encodeURIComponent(String(nodeId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Retrieve nodes real-time statistics.\n * @summary Realtime Nodes Stats\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n realtimeNodesStats: async (options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/api/nodes/realtime_stats`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Trigger reconnection for all nodes or a specific core.\n * @summary Reconnect All Node\n * @param {number | null} [coreId] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reconnectAllNode: async (coreId?: number | null, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/api/nodes/reconnect`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n if (coreId !== undefined) {\n localVarQueryParameter['core_id'] = coreId;\n }\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Trigger a reconnection for the specified node. Only accessible to sudo admins.\n * @summary Reconnect Node\n * @param {number} nodeId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reconnectNode: async (nodeId: number, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'nodeId' is not null or undefined\n assertParamExists('reconnectNode', 'nodeId', nodeId)\n const localVarPath = `/api/node/{node_id}/reconnect`\n .replace(`{${\"node_id\"}}`, encodeURIComponent(String(nodeId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Remove a node and remove it from xray in the background.\n * @summary Remove Node\n * @param {number} nodeId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n removeNode: async (nodeId: number, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'nodeId' is not null or undefined\n assertParamExists('removeNode', 'nodeId', nodeId)\n const localVarPath = `/api/node/{node_id}`\n .replace(`{${\"node_id\"}}`, encodeURIComponent(String(nodeId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Reset node traffic usage (uplink and downlink). Creates a log entry in node_usage_reset_logs table. Only accessible to sudo admins.\n * @summary Reset Node Usage\n * @param {number} nodeId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n resetNodeUsage: async (nodeId: number, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'nodeId' is not null or undefined\n assertParamExists('resetNodeUsage', 'nodeId', nodeId)\n const localVarPath = `/api/node/{node_id}/reset`\n .replace(`{${\"node_id\"}}`, encodeURIComponent(String(nodeId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Sync Node\n * @param {number} nodeId \n * @param {boolean} [flushUsers] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n syncNode: async (nodeId: number, flushUsers?: boolean, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'nodeId' is not null or undefined\n assertParamExists('syncNode', 'nodeId', nodeId)\n const localVarPath = `/api/node/{node_id}/sync`\n .replace(`{${\"node_id\"}}`, encodeURIComponent(String(nodeId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n if (flushUsers !== undefined) {\n localVarQueryParameter['flush_users'] = flushUsers;\n }\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Retrieve user ips by node.\n * @summary User Online Ip List\n * @param {number} nodeId \n * @param {string} username \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n userOnlineIpList: async (nodeId: number, username: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'nodeId' is not null or undefined\n assertParamExists('userOnlineIpList', 'nodeId', nodeId)\n // verify required parameter 'username' is not null or undefined\n assertParamExists('userOnlineIpList', 'username', username)\n const localVarPath = `/api/node/{node_id}/online_stats/{username}/ip`\n .replace(`{${\"node_id\"}}`, encodeURIComponent(String(nodeId)))\n .replace(`{${\"username\"}}`, encodeURIComponent(String(username)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Retrieve user ips from all nodes.\n * @summary User Online Ip List All Nodes\n * @param {string} username \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n userOnlineIpListAllNodes: async (username: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'username' is not null or undefined\n assertParamExists('userOnlineIpListAllNodes', 'username', username)\n const localVarPath = `/api/node/online_stats/{username}/ip`\n .replace(`{${\"username\"}}`, encodeURIComponent(String(username)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Retrieve user online stats by node.\n * @summary User Online Stats\n * @param {number} nodeId \n * @param {string} username \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n userOnlineStats: async (nodeId: number, username: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'nodeId' is not null or undefined\n assertParamExists('userOnlineStats', 'nodeId', nodeId)\n // verify required parameter 'username' is not null or undefined\n assertParamExists('userOnlineStats', 'username', username)\n const localVarPath = `/api/node/{node_id}/online_stats/{username}`\n .replace(`{${\"node_id\"}}`, encodeURIComponent(String(nodeId)))\n .replace(`{${\"username\"}}`, encodeURIComponent(String(username)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * NodeApi - functional programming interface\n * @export\n */\nexport const NodeApiFp = function(configuration?: Configuration) {\n const localVarAxiosParamCreator = NodeApiAxiosParamCreator(configuration)\n return {\n /**\n * Deletes **all rows** from the selected usage data table. Use with caution. Allowed tables: - `node_user_usages`: Deletes user-specific node usage traffic records. - `node_usages`: Deletes node-level aggregated traffic (uplink/downlink) records. **Optional filters:** - `start`: ISO 8601 timestamp to filter from (inclusive) - `end`: ISO 8601 timestamp to filter to (exclusive) ⚠️ This operation is irreversible. Ensure correct usage in production environments.\n * @summary Clear usage data from a specified table\n * @param {UsageTable} table \n * @param {string | null} [start] \n * @param {string | null} [end] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async clearUsageData(table: UsageTable, start?: string | null, end?: string | null, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<any>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.clearUsageData(table, start, end, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['NodeApi.clearUsageData']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Create a new node to the database.\n * @summary Create Node\n * @param {NodeCreate} nodeCreate \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async createNode(nodeCreate: NodeCreate, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<NodeResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.createNode(nodeCreate, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['NodeApi.createNode']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Retrieve details of a specific node by its ID.\n * @summary Get Node\n * @param {number} nodeId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getNode(nodeId: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<NodeResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.getNode(nodeId, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['NodeApi.getNode']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Retrieve the current node settings.\n * @summary Get Node Settings\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getNodeSettings(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<NodeSettings>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.getNodeSettings(options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['NodeApi.getNodeSettings']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * \n * @summary Get Node Stats Periodic\n * @param {number} nodeId \n * @param {string | null} [start] \n * @param {string | null} [end] \n * @param {Period} [period] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getNodeStatsPeriodic(nodeId: number, start?: string | null, end?: string | null, period?: Period, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<NodeStatsList>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.getNodeStatsPeriodic(nodeId, start, end, period, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['NodeApi.getNodeStatsPeriodic']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Retrieve a list of all nodes. Accessible only to sudo admins.\n * @summary Get Nodes\n * @param {number | null} [coreId] \n * @param {number | null} [offset] \n * @param {number | null} [limit] \n * @param {Array<NodeStatus> | null} [status] \n * @param {boolean} [enabled] \n * @param {Array<number> | null} [ids] \n * @param {string | null} [search] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getNodes(coreId?: number | null, offset?: number | null, limit?: number | null, status?: Array<NodeStatus> | null, enabled?: boolean, ids?: Array<number> | null, search?: string | null, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<NodesResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.getNodes(coreId, offset, limit, status, enabled, ids, search, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['NodeApi.getNodes']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Retrieve usage statistics for nodes within a specified date range.\n * @summary Get Usage\n * @param {string | null} [start] \n * @param {string | null} [end] \n * @param {Period} [period] \n * @param {number | null} [nodeId] \n * @param {boolean} [groupByNode] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getUsage(start?: string | null, end?: string | null, period?: Period, nodeId?: number | null, groupByNode?: boolean, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<NodeUsageStatsList>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.getUsage(start, end, period, nodeId, groupByNode, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['NodeApi.getUsage']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Modify a node\\'s details. Only accessible to sudo admins.\n * @summary Modify Node\n * @param {number} nodeId \n * @param {NodeModify} nodeModify \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async modifyNode(nodeId: number, nodeModify: NodeModify, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<NodeResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.modifyNode(nodeId, nodeModify, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['NodeApi.modifyNode']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Stream logs for a specific node as Server-Sent Events.\n * @summary Node Logs\n * @param {number} nodeId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async nodeLogs(nodeId: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<any>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.nodeLogs(nodeId, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['NodeApi.nodeLogs']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Retrieve node real-time statistics.\n * @summary Realtime Node Stats\n * @param {number} nodeId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async realtimeNodeStats(nodeId: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<NodeRealtimeStats>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.realtimeNodeStats(nodeId, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['NodeApi.realtimeNodeStats']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Retrieve nodes real-time statistics.\n * @summary Realtime Nodes Stats\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async realtimeNodesStats(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<{ [key: string]: ResponseRealtimeNodesStatsApiNodesRealtimeStatsGetValue; }>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.realtimeNodesStats(options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['NodeApi.realtimeNodesStats']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Trigger reconnection for all nodes or a specific core.\n * @summary Reconnect All Node\n * @param {number | null} [coreId] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async reconnectAllNode(coreId?: number | null, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<any>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.reconnectAllNode(coreId, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['NodeApi.reconnectAllNode']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Trigger a reconnection for the specified node. Only accessible to sudo admins.\n * @summary Reconnect Node\n * @param {number} nodeId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async reconnectNode(nodeId: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<any>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.reconnectNode(nodeId, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['NodeApi.reconnectNode']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Remove a node and remove it from xray in the background.\n * @summary Remove Node\n * @param {number} nodeId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async removeNode(nodeId: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.removeNode(nodeId, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['NodeApi.removeNode']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Reset node traffic usage (uplink and downlink). Creates a log entry in node_usage_reset_logs table. Only accessible to sudo admins.\n * @summary Reset Node Usage\n * @param {number} nodeId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async resetNodeUsage(nodeId: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<NodeResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.resetNodeUsage(nodeId, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['NodeApi.resetNodeUsage']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * \n * @summary Sync Node\n * @param {number} nodeId \n * @param {boolean} [flushUsers] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async syncNode(nodeId: number, flushUsers?: boolean, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<any>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.syncNode(nodeId, flushUsers, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['NodeApi.syncNode']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Retrieve user ips by node.\n * @summary User Online Ip List\n * @param {number} nodeId \n * @param {string} username \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async userOnlineIpList(nodeId: number, username: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UserIPList>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.userOnlineIpList(nodeId, username, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['NodeApi.userOnlineIpList']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Retrieve user ips from all nodes.\n * @summary User Online Ip List All Nodes\n * @param {string} username \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async userOnlineIpListAllNodes(username: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UserIPListAll>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.userOnlineIpListAllNodes(username, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['NodeApi.userOnlineIpListAllNodes']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Retrieve user online stats by node.\n * @summary User Online Stats\n * @param {number} nodeId \n * @param {string} username \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async userOnlineStats(nodeId: number, username: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<{ [key: string]: number | null; }>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.userOnlineStats(nodeId, username, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['NodeApi.userOnlineStats']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n }\n};\n\n/**\n * NodeApi - factory interface\n * @export\n */\nexport const NodeApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n const localVarFp = NodeApiFp(configuration)\n return {\n /**\n * Deletes **all rows** from the selected usage data table. Use with caution. Allowed tables: - `node_user_usages`: Deletes user-specific node usage traffic records. - `node_usages`: Deletes node-level aggregated traffic (uplink/downlink) records. **Optional filters:** - `start`: ISO 8601 timestamp to filter from (inclusive) - `end`: ISO 8601 timestamp to filter to (exclusive) ⚠️ This operation is irreversible. Ensure correct usage in production environments.\n * @summary Clear usage data from a specified table\n * @param {UsageTable} table \n * @param {string | null} [start] \n * @param {string | null} [end] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n clearUsageData(table: UsageTable, start?: string | null, end?: string | null, options?: RawAxiosRequestConfig): AxiosPromise<any> {\n return localVarFp.clearUsageData(table, start, end, options).then((request) => request(axios, basePath));\n },\n /**\n * Create a new node to the database.\n * @summary Create Node\n * @param {NodeCreate} nodeCreate \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n createNode(nodeCreate: NodeCreate, options?: RawAxiosRequestConfig): AxiosPromise<NodeResponse> {\n return localVarFp.createNode(nodeCreate, options).then((request) => request(axios, basePath));\n },\n /**\n * Retrieve details of a specific node by its ID.\n * @summary Get Node\n * @param {number} nodeId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getNode(nodeId: number, options?: RawAxiosRequestConfig): AxiosPromise<NodeResponse> {\n return localVarFp.getNode(nodeId, options).then((request) => request(axios, basePath));\n },\n /**\n * Retrieve the current node settings.\n * @summary Get Node Settings\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getNodeSettings(options?: RawAxiosRequestConfig): AxiosPromise<NodeSettings> {\n return localVarFp.getNodeSettings(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Get Node Stats Periodic\n * @param {number} nodeId \n * @param {string | null} [start] \n * @param {string | null} [end] \n * @param {Period} [period] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getNodeStatsPeriodic(nodeId: number, start?: string | null, end?: string | null, period?: Period, options?: RawAxiosRequestConfig): AxiosPromise<NodeStatsList> {\n return localVarFp.getNodeStatsPeriodic(nodeId, start, end, period, options).then((request) => request(axios, basePath));\n },\n /**\n * Retrieve a list of all nodes. Accessible only to sudo admins.\n * @summary Get Nodes\n * @param {number | null} [coreId] \n * @param {number | null} [offset] \n * @param {number | null} [limit] \n * @param {Array<NodeStatus> | null} [status] \n * @param {boolean} [enabled] \n * @param {Array<number> | null} [ids] \n * @param {string | null} [search] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getNodes(coreId?: number | null, offset?: number | null, limit?: number | null, status?: Array<NodeStatus> | null, enabled?: boolean, ids?: Array<number> | null, search?: string | null, options?: RawAxiosRequestConfig): AxiosPromise<NodesResponse> {\n return localVarFp.getNodes(coreId, offset, limit, status, enabled, ids, search, options).then((request) => request(axios, basePath));\n },\n /**\n * Retrieve usage statistics for nodes within a specified date range.\n * @summary Get Usage\n * @param {string | null} [start] \n * @param {string | null} [end] \n * @param {Period} [period] \n * @param {number | null} [nodeId] \n * @param {boolean} [groupByNode] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getUsage(start?: string | null, end?: string | null, period?: Period, nodeId?: number | null, groupByNode?: boolean, options?: RawAxiosRequestConfig): AxiosPromise<NodeUsageStatsList> {\n return localVarFp.getUsage(start, end, period, nodeId, groupByNode, options).then((request) => request(axios, basePath));\n },\n /**\n * Modify a node\\'s details. Only accessible to sudo admins.\n * @summary Modify Node\n * @param {number} nodeId \n * @param {NodeModify} nodeModify \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n modifyNode(nodeId: number, nodeModify: NodeModify, options?: RawAxiosRequestConfig): AxiosPromise<NodeResponse> {\n return localVarFp.modifyNode(nodeId, nodeModify, options).then((request) => request(axios, basePath));\n },\n /**\n * Stream logs for a specific node as Server-Sent Events.\n * @summary Node Logs\n * @param {number} nodeId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n nodeLogs(nodeId: number, options?: RawAxiosRequestConfig): AxiosPromise<any> {\n return localVarFp.nodeLogs(nodeId, options).then((request) => request(axios, basePath));\n },\n /**\n * Retrieve node real-time statistics.\n * @summary Realtime Node Stats\n * @param {number} nodeId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n realtimeNodeStats(nodeId: number, options?: RawAxiosRequestConfig): AxiosPromise<NodeRealtimeStats> {\n return localVarFp.realtimeNodeStats(nodeId, options).then((request) => request(axios, basePath));\n },\n /**\n * Retrieve nodes real-time statistics.\n * @summary Realtime Nodes Stats\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n realtimeNodesStats(options?: RawAxiosRequestConfig): AxiosPromise<{ [key: string]: ResponseRealtimeNodesStatsApiNodesRealtimeStatsGetValue; }> {\n return localVarFp.realtimeNodesStats(options).then((request) => request(axios, basePath));\n },\n /**\n * Trigger reconnection for all nodes or a specific core.\n * @summary Reconnect All Node\n * @param {number | null} [coreId] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reconnectAllNode(coreId?: number | null, options?: RawAxiosRequestConfig): AxiosPromise<any> {\n return localVarFp.reconnectAllNode(coreId, options).then((request) => request(axios, basePath));\n },\n /**\n * Trigger a reconnection for the specified node. Only accessible to sudo admins.\n * @summary Reconnect Node\n * @param {number} nodeId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reconnectNode(nodeId: number, options?: RawAxiosRequestConfig): AxiosPromise<any> {\n return localVarFp.reconnectNode(nodeId, options).then((request) => request(axios, basePath));\n },\n /**\n * Remove a node and remove it from xray in the background.\n * @summary Remove Node\n * @param {number} nodeId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n removeNode(nodeId: number, options?: RawAxiosRequestConfig): AxiosPromise<void> {\n return localVarFp.removeNode(nodeId, options).then((request) => request(axios, basePath));\n },\n /**\n * Reset node traffic usage (uplink and downlink). Creates a log entry in node_usage_reset_logs table. Only accessible to sudo admins.\n * @summary Reset Node Usage\n * @param {number} nodeId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n resetNodeUsage(nodeId: number, options?: RawAxiosRequestConfig): AxiosPromise<NodeResponse> {\n return localVarFp.resetNodeUsage(nodeId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Sync Node\n * @param {number} nodeId \n * @param {boolean} [flushUsers] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n syncNode(nodeId: number, flushUsers?: boolean, options?: RawAxiosRequestConfig): AxiosPromise<any> {\n return localVarFp.syncNode(nodeId, flushUsers, options).then((request) => request(axios, basePath));\n },\n /**\n * Retrieve user ips by node.\n * @summary User Online Ip List\n * @param {number} nodeId \n * @param {string} username \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n userOnlineIpList(nodeId: number, username: string, options?: RawAxiosRequestConfig): AxiosPromise<UserIPList> {\n return localVarFp.userOnlineIpList(nodeId, username, options).then((request) => request(axios, basePath));\n },\n /**\n * Retrieve user ips from all nodes.\n * @summary User Online Ip List All Nodes\n * @param {string} username \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n userOnlineIpListAllNodes(username: string, options?: RawAxiosRequestConfig): AxiosPromise<UserIPListAll> {\n return localVarFp.userOnlineIpListAllNodes(username, options).then((request) => request(axios, basePath));\n },\n /**\n * Retrieve user online stats by node.\n * @summary User Online Stats\n * @param {number} nodeId \n * @param {string} username \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n userOnlineStats(nodeId: number, username: string, options?: RawAxiosRequestConfig): AxiosPromise<{ [key: string]: number | null; }> {\n return localVarFp.userOnlineStats(nodeId, username, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * NodeApi - object-oriented interface\n * @export\n * @class NodeApi\n * @extends {BaseAPI}\n */\nexport class NodeApi extends BaseAPI {\n /**\n * Deletes **all rows** from the selected usage data table. Use with caution. Allowed tables: - `node_user_usages`: Deletes user-specific node usage traffic records. - `node_usages`: Deletes node-level aggregated traffic (uplink/downlink) records. **Optional filters:** - `start`: ISO 8601 timestamp to filter from (inclusive) - `end`: ISO 8601 timestamp to filter to (exclusive) ⚠️ This operation is irreversible. Ensure correct usage in production environments.\n * @summary Clear usage data from a specified table\n * @param {UsageTable} table \n * @param {string | null} [start] \n * @param {string | null} [end] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof NodeApi\n */\n public clearUsageData(table: UsageTable, start?: string | null, end?: string | null, options?: RawAxiosRequestConfig) {\n return NodeApiFp(this.configuration).clearUsageData(table, start, end, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * Create a new node to the database.\n * @summary Create Node\n * @param {NodeCreate} nodeCreate \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof NodeApi\n */\n public createNode(nodeCreate: NodeCreate, options?: RawAxiosRequestConfig) {\n return NodeApiFp(this.configuration).createNode(nodeCreate, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * Retrieve details of a specific node by its ID.\n * @summary Get Node\n * @param {number} nodeId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof NodeApi\n */\n public getNode(nodeId: number, options?: RawAxiosRequestConfig) {\n return NodeApiFp(this.configuration).getNode(nodeId, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * Retrieve the current node settings.\n * @summary Get Node Settings\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof NodeApi\n */\n public getNodeSettings(options?: RawAxiosRequestConfig) {\n return NodeApiFp(this.configuration).getNodeSettings(options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * \n * @summary Get Node Stats Periodic\n * @param {number} nodeId \n * @param {string | null} [start] \n * @param {string | null} [end] \n * @param {Period} [period] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof NodeApi\n */\n public getNodeStatsPeriodic(nodeId: number, start?: string | null, end?: string | null, period?: Period, options?: RawAxiosRequestConfig) {\n return NodeApiFp(this.configuration).getNodeStatsPeriodic(nodeId, start, end, period, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * Retrieve a list of all nodes. Accessible only to sudo admins.\n * @summary Get Nodes\n * @param {number | null} [coreId] \n * @param {number | null} [offset] \n * @param {number | null} [limit] \n * @param {Array<NodeStatus> | null} [status] \n * @param {boolean} [enabled] \n * @param {Array<number> | null} [ids] \n * @param {string | null} [search] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof NodeApi\n */\n public getNodes(coreId?: number | null, offset?: number | null, limit?: number | null, status?: Array<NodeStatus> | null, enabled?: boolean, ids?: Array<number> | null, search?: string | null, options?: RawAxiosRequestConfig) {\n return NodeApiFp(this.configuration).getNodes(coreId, offset, limit, status, enabled, ids, search, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * Retrieve usage statistics for nodes within a specified date range.\n * @summary Get Usage\n * @param {string | null} [start] \n * @param {string | null} [end] \n * @param {Period} [period] \n * @param {number | null} [nodeId] \n * @param {boolean} [groupByNode] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof NodeApi\n */\n public getUsage(start?: string | null, end?: string | null, period?: Period, nodeId?: number | null, groupByNode?: boolean, options?: RawAxiosRequestConfig) {\n return NodeApiFp(this.configuration).getUsage(start, end, period, nodeId, groupByNode, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * Modify a node\\'s details. Only accessible to sudo admins.\n * @summary Modify Node\n * @param {number} nodeId \n * @param {NodeModify} nodeModify \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof NodeApi\n */\n public modifyNode(nodeId: number, nodeModify: NodeModify, options?: RawAxiosRequestConfig) {\n return NodeApiFp(this.configuration).modifyNode(nodeId, nodeModify, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * Stream logs for a specific node as Server-Sent Events.\n * @summary Node Logs\n * @param {number} nodeId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof NodeApi\n */\n public nodeLogs(nodeId: number, options?: RawAxiosRequestConfig) {\n return NodeApiFp(this.configuration).nodeLogs(nodeId, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * Retrieve node real-time statistics.\n * @summary Realtime Node Stats\n * @param {number} nodeId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof NodeApi\n */\n public realtimeNodeStats(nodeId: number, options?: RawAxiosRequestConfig) {\n return NodeApiFp(this.configuration).realtimeNodeStats(nodeId, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * Retrieve nodes real-time statistics.\n * @summary Realtime Nodes Stats\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof NodeApi\n */\n public realtimeNodesStats(options?: RawAxiosRequestConfig) {\n return NodeApiFp(this.configuration).realtimeNodesStats(options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * Trigger reconnection for all nodes or a specific core.\n * @summary Reconnect All Node\n * @param {number | null} [coreId] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof NodeApi\n */\n public reconnectAllNode(coreId?: number | null, options?: RawAxiosRequestConfig) {\n return NodeApiFp(this.configuration).reconnectAllNode(coreId, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * Trigger a reconnection for the specified node. Only accessible to sudo admins.\n * @summary Reconnect Node\n * @param {number} nodeId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof NodeApi\n */\n public reconnectNode(nodeId: number, options?: RawAxiosRequestConfig) {\n return NodeApiFp(this.configuration).reconnectNode(nodeId, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * Remove a node and remove it from xray in the background.\n * @summary Remove Node\n * @param {number} nodeId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof NodeApi\n */\n public removeNode(nodeId: number, options?: RawAxiosRequestConfig) {\n return NodeApiFp(this.configuration).removeNode(nodeId, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * Reset node traffic usage (uplink and downlink). Creates a log entry in node_usage_reset_logs table. Only accessible to sudo admins.\n * @summary Reset Node Usage\n * @param {number} nodeId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof NodeApi\n */\n public resetNodeUsage(nodeId: number, options?: RawAxiosRequestConfig) {\n return NodeApiFp(this.configuration).resetNodeUsage(nodeId, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * \n * @summary Sync Node\n * @param {number} nodeId \n * @param {boolean} [flushUsers] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof NodeApi\n */\n public syncNode(nodeId: number, flushUsers?: boolean, options?: RawAxiosRequestConfig) {\n return NodeApiFp(this.configuration).syncNode(nodeId, flushUsers, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * Retrieve user ips by node.\n * @summary User Online Ip List\n * @param {number} nodeId \n * @param {string} username \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof NodeApi\n */\n public userOnlineIpList(nodeId: number, username: string, options?: RawAxiosRequestConfig) {\n return NodeApiFp(this.configuration).userOnlineIpList(nodeId, username, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * Retrieve user ips from all nodes.\n * @summary User Online Ip List All Nodes\n * @param {string} username \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof NodeApi\n */\n public userOnlineIpListAllNodes(username: string, options?: RawAxiosRequestConfig) {\n return NodeApiFp(this.configuration).userOnlineIpListAllNodes(username, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * Retrieve user online stats by node.\n * @summary User Online Stats\n * @param {number} nodeId \n * @param {string} username \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof NodeApi\n */\n public userOnlineStats(nodeId: number, username: string, options?: RawAxiosRequestConfig) {\n return NodeApiFp(this.configuration).userOnlineStats(nodeId, username, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * PasarGuardAPI\n * Unified GUI Censorship Resistant Solution\n *\n * The version of the OpenAPI document: 1.8.2\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport type { Configuration } from '../configuration';\nimport type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios';\nimport globalAxios from 'axios';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common';\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, type RequestArgs, BaseAPI, RequiredError, operationServerMap } from '../base';\n// @ts-ignore\nimport type { ApplicationOutput } from '../models';\n// @ts-ignore\nimport type { ConfigFormat } from '../models';\n// @ts-ignore\nimport type { HTTPValidationError } from '../models';\n// @ts-ignore\nimport type { Period } from '../models';\n// @ts-ignore\nimport type { SubscriptionUserResponse } from '../models';\n// @ts-ignore\nimport type { UserUsageStatsList } from '../models';\n/**\n * SubscriptionApi - axios parameter creator\n * @export\n */\nexport const SubscriptionApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * Fetches the usage statistics for the user within a specified date range.\n * @summary Get Sub User Usage\n * @param {string} token \n * @param {string | null} [start] \n * @param {string | null} [end] \n * @param {Period} [period] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getSubUserUsage: async (token: string, start?: string | null, end?: string | null, period?: Period, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'token' is not null or undefined\n assertParamExists('getSubUserUsage', 'token', token)\n const localVarPath = `/sub/{token}/usage`\n .replace(`{${\"token\"}}`, encodeURIComponent(String(token)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n if (start !== undefined) {\n localVarQueryParameter['start'] = (start as any instanceof Date) ?\n (start as any).toISOString() :\n start;\n }\n\n if (end !== undefined) {\n localVarQueryParameter['end'] = (end as any instanceof Date) ?\n (end as any).toISOString() :\n end;\n }\n\n if (period !== undefined) {\n localVarQueryParameter['period'] = period;\n }\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Provides a subscription link based on the user agent (Clash, V2Ray, etc.).\n * @summary User Subscription\n * @param {string} token \n * @param {string} [userAgent] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n userSubscription: async (token: string, userAgent?: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'token' is not null or undefined\n assertParamExists('userSubscription', 'token', token)\n const localVarPath = `/sub/{token}/`\n .replace(`{${\"token\"}}`, encodeURIComponent(String(token)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n\n \n if (userAgent != null) {\n localVarHeaderParameter['user-agent'] = String(userAgent);\n }\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Get applications available for user\\'s subscription.\n * @summary User Subscription Apps\n * @param {string} token \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n userSubscriptionApps: async (token: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'token' is not null or undefined\n assertParamExists('userSubscriptionApps', 'token', token)\n const localVarPath = `/sub/{token}/apps`\n .replace(`{${\"token\"}}`, encodeURIComponent(String(token)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Retrieves detailed information about the user\\'s subscription.\n * @summary User Subscription Info\n * @param {string} token \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n userSubscriptionInfo: async (token: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'token' is not null or undefined\n assertParamExists('userSubscriptionInfo', 'token', token)\n const localVarPath = `/sub/{token}/info`\n .replace(`{${\"token\"}}`, encodeURIComponent(String(token)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Provides a subscription link based on the specified client type (e.g., Clash, V2Ray).\n * @summary User Subscription With Client Type\n * @param {string} token \n * @param {ConfigFormat} clientType \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n userSubscriptionWithClientType: async (token: string, clientType: ConfigFormat, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'token' is not null or undefined\n assertParamExists('userSubscriptionWithClientType', 'token', token)\n // verify required parameter 'clientType' is not null or undefined\n assertParamExists('userSubscriptionWithClientType', 'clientType', clientType)\n const localVarPath = `/sub/{token}/{client_type}`\n .replace(`{${\"token\"}}`, encodeURIComponent(String(token)))\n .replace(`{${\"client_type\"}}`, encodeURIComponent(String(clientType)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * SubscriptionApi - functional programming interface\n * @export\n */\nexport const SubscriptionApiFp = function(configuration?: Configuration) {\n const localVarAxiosParamCreator = SubscriptionApiAxiosParamCreator(configuration)\n return {\n /**\n * Fetches the usage statistics for the user within a specified date range.\n * @summary Get Sub User Usage\n * @param {string} token \n * @param {string | null} [start] \n * @param {string | null} [end] \n * @param {Period} [period] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getSubUserUsage(token: string, start?: string | null, end?: string | null, period?: Period, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UserUsageStatsList>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.getSubUserUsage(token, start, end, period, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['SubscriptionApi.getSubUserUsage']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Provides a subscription link based on the user agent (Clash, V2Ray, etc.).\n * @summary User Subscription\n * @param {string} token \n * @param {string} [userAgent] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async userSubscription(token: string, userAgent?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<any>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.userSubscription(token, userAgent, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['SubscriptionApi.userSubscription']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Get applications available for user\\'s subscription.\n * @summary User Subscription Apps\n * @param {string} token \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async userSubscriptionApps(token: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<ApplicationOutput>>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.userSubscriptionApps(token, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['SubscriptionApi.userSubscriptionApps']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Retrieves detailed information about the user\\'s subscription.\n * @summary User Subscription Info\n * @param {string} token \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async userSubscriptionInfo(token: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<SubscriptionUserResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.userSubscriptionInfo(token, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['SubscriptionApi.userSubscriptionInfo']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Provides a subscription link based on the specified client type (e.g., Clash, V2Ray).\n * @summary User Subscription With Client Type\n * @param {string} token \n * @param {ConfigFormat} clientType \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async userSubscriptionWithClientType(token: string, clientType: ConfigFormat, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<any>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.userSubscriptionWithClientType(token, clientType, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['SubscriptionApi.userSubscriptionWithClientType']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n }\n};\n\n/**\n * SubscriptionApi - factory interface\n * @export\n */\nexport const SubscriptionApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n const localVarFp = SubscriptionApiFp(configuration)\n return {\n /**\n * Fetches the usage statistics for the user within a specified date range.\n * @summary Get Sub User Usage\n * @param {string} token \n * @param {string | null} [start] \n * @param {string | null} [end] \n * @param {Period} [period] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getSubUserUsage(token: string, start?: string | null, end?: string | null, period?: Period, options?: RawAxiosRequestConfig): AxiosPromise<UserUsageStatsList> {\n return localVarFp.getSubUserUsage(token, start, end, period, options).then((request) => request(axios, basePath));\n },\n /**\n * Provides a subscription link based on the user agent (Clash, V2Ray, etc.).\n * @summary User Subscription\n * @param {string} token \n * @param {string} [userAgent] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n userSubscription(token: string, userAgent?: string, options?: RawAxiosRequestConfig): AxiosPromise<any> {\n return localVarFp.userSubscription(token, userAgent, options).then((request) => request(axios, basePath));\n },\n /**\n * Get applications available for user\\'s subscription.\n * @summary User Subscription Apps\n * @param {string} token \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n userSubscriptionApps(token: string, options?: RawAxiosRequestConfig): AxiosPromise<Array<ApplicationOutput>> {\n return localVarFp.userSubscriptionApps(token, options).then((request) => request(axios, basePath));\n },\n /**\n * Retrieves detailed information about the user\\'s subscription.\n * @summary User Subscription Info\n * @param {string} token \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n userSubscriptionInfo(token: string, options?: RawAxiosRequestConfig): AxiosPromise<SubscriptionUserResponse> {\n return localVarFp.userSubscriptionInfo(token, options).then((request) => request(axios, basePath));\n },\n /**\n * Provides a subscription link based on the specified client type (e.g., Clash, V2Ray).\n * @summary User Subscription With Client Type\n * @param {string} token \n * @param {ConfigFormat} clientType \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n userSubscriptionWithClientType(token: string, clientType: ConfigFormat, options?: RawAxiosRequestConfig): AxiosPromise<any> {\n return localVarFp.userSubscriptionWithClientType(token, clientType, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * SubscriptionApi - object-oriented interface\n * @export\n * @class SubscriptionApi\n * @extends {BaseAPI}\n */\nexport class SubscriptionApi extends BaseAPI {\n /**\n * Fetches the usage statistics for the user within a specified date range.\n * @summary Get Sub User Usage\n * @param {string} token \n * @param {string | null} [start] \n * @param {string | null} [end] \n * @param {Period} [period] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof SubscriptionApi\n */\n public getSubUserUsage(token: string, start?: string | null, end?: string | null, period?: Period, options?: RawAxiosRequestConfig) {\n return SubscriptionApiFp(this.configuration).getSubUserUsage(token, start, end, period, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * Provides a subscription link based on the user agent (Clash, V2Ray, etc.).\n * @summary User Subscription\n * @param {string} token \n * @param {string} [userAgent] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof SubscriptionApi\n */\n public userSubscription(token: string, userAgent?: string, options?: RawAxiosRequestConfig) {\n return SubscriptionApiFp(this.configuration).userSubscription(token, userAgent, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * Get applications available for user\\'s subscription.\n * @summary User Subscription Apps\n * @param {string} token \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof SubscriptionApi\n */\n public userSubscriptionApps(token: string, options?: RawAxiosRequestConfig) {\n return SubscriptionApiFp(this.configuration).userSubscriptionApps(token, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * Retrieves detailed information about the user\\'s subscription.\n * @summary User Subscription Info\n * @param {string} token \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof SubscriptionApi\n */\n public userSubscriptionInfo(token: string, options?: RawAxiosRequestConfig) {\n return SubscriptionApiFp(this.configuration).userSubscriptionInfo(token, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * Provides a subscription link based on the specified client type (e.g., Clash, V2Ray).\n * @summary User Subscription With Client Type\n * @param {string} token \n * @param {ConfigFormat} clientType \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof SubscriptionApi\n */\n public userSubscriptionWithClientType(token: string, clientType: ConfigFormat, options?: RawAxiosRequestConfig) {\n return SubscriptionApiFp(this.configuration).userSubscriptionWithClientType(token, clientType, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * PasarGuardAPI\n * Unified GUI Censorship Resistant Solution\n *\n * The version of the OpenAPI document: 1.8.2\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport type { Configuration } from '../configuration';\nimport type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios';\nimport globalAxios from 'axios';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common';\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, type RequestArgs, BaseAPI, RequiredError, operationServerMap } from '../base';\n// @ts-ignore\nimport type { HTTPValidationError } from '../models';\n// @ts-ignore\nimport type { SystemStats } from '../models';\n// @ts-ignore\nimport type { Unauthorized } from '../models';\n/**\n * SystemApi - axios parameter creator\n * @export\n */\nexport const SystemApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * Retrieve inbound configurations grouped by protocol.\n * @summary Get Inbounds\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getInbounds: async (options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/api/inbounds`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Fetch system stats including memory, CPU, and user metrics.\n * @summary Get System Stats\n * @param {string | null} [adminUsername] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getSystemStats: async (adminUsername?: string | null, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/api/system`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n if (adminUsername !== undefined) {\n localVarQueryParameter['admin_username'] = adminUsername;\n }\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * SystemApi - functional programming interface\n * @export\n */\nexport const SystemApiFp = function(configuration?: Configuration) {\n const localVarAxiosParamCreator = SystemApiAxiosParamCreator(configuration)\n return {\n /**\n * Retrieve inbound configurations grouped by protocol.\n * @summary Get Inbounds\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getInbounds(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<string | null>>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.getInbounds(options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['SystemApi.getInbounds']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Fetch system stats including memory, CPU, and user metrics.\n * @summary Get System Stats\n * @param {string | null} [adminUsername] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getSystemStats(adminUsername?: string | null, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<SystemStats>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.getSystemStats(adminUsername, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['SystemApi.getSystemStats']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n }\n};\n\n/**\n * SystemApi - factory interface\n * @export\n */\nexport const SystemApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n const localVarFp = SystemApiFp(configuration)\n return {\n /**\n * Retrieve inbound configurations grouped by protocol.\n * @summary Get Inbounds\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getInbounds(options?: RawAxiosRequestConfig): AxiosPromise<Array<string | null>> {\n return localVarFp.getInbounds(options).then((request) => request(axios, basePath));\n },\n /**\n * Fetch system stats including memory, CPU, and user metrics.\n * @summary Get System Stats\n * @param {string | null} [adminUsername] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getSystemStats(adminUsername?: string | null, options?: RawAxiosRequestConfig): AxiosPromise<SystemStats> {\n return localVarFp.getSystemStats(adminUsername, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * SystemApi - object-oriented interface\n * @export\n * @class SystemApi\n * @extends {BaseAPI}\n */\nexport class SystemApi extends BaseAPI {\n /**\n * Retrieve inbound configurations grouped by protocol.\n * @summary Get Inbounds\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof SystemApi\n */\n public getInbounds(options?: RawAxiosRequestConfig) {\n return SystemApiFp(this.configuration).getInbounds(options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * Fetch system stats including memory, CPU, and user metrics.\n * @summary Get System Stats\n * @param {string | null} [adminUsername] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof SystemApi\n */\n public getSystemStats(adminUsername?: string | null, options?: RawAxiosRequestConfig) {\n return SystemApiFp(this.configuration).getSystemStats(adminUsername, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * PasarGuardAPI\n * Unified GUI Censorship Resistant Solution\n *\n * The version of the OpenAPI document: 1.8.2\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport type { Configuration } from '../configuration';\nimport type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios';\nimport globalAxios from 'axios';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common';\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, type RequestArgs, BaseAPI, RequiredError, operationServerMap } from '../base';\n// @ts-ignore\nimport type { BulkUser } from '../models';\n// @ts-ignore\nimport type { BulkUsersProxy } from '../models';\n// @ts-ignore\nimport type { Conflict } from '../models';\n// @ts-ignore\nimport type { CreateUserFromTemplate } from '../models';\n// @ts-ignore\nimport type { Forbidden } from '../models';\n// @ts-ignore\nimport type { HTTPException } from '../models';\n// @ts-ignore\nimport type { HTTPValidationError } from '../models';\n// @ts-ignore\nimport type { ModifyUserByTemplate } from '../models';\n// @ts-ignore\nimport type { NotFound } from '../models';\n// @ts-ignore\nimport type { Period } from '../models';\n// @ts-ignore\nimport type { RemoveUsersResponse } from '../models';\n// @ts-ignore\nimport type { Unauthorized } from '../models';\n// @ts-ignore\nimport type { UserCreate } from '../models';\n// @ts-ignore\nimport type { UserModify } from '../models';\n// @ts-ignore\nimport type { UserResponse } from '../models';\n// @ts-ignore\nimport type { UserStatus } from '../models';\n// @ts-ignore\nimport type { UserSubscriptionUpdateChart } from '../models';\n// @ts-ignore\nimport type { UserSubscriptionUpdateList } from '../models';\n// @ts-ignore\nimport type { UserUsageStatsList } from '../models';\n// @ts-ignore\nimport type { UsersResponse } from '../models';\n/**\n * UserApi - axios parameter creator\n * @export\n */\nexport const UserApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * Reset user by next plan\n * @summary Active Next Plan\n * @param {string} username \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n activeNextPlan: async (username: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'username' is not null or undefined\n assertParamExists('activeNextPlan', 'username', username)\n const localVarPath = `/api/user/{username}/active_next`\n .replace(`{${\"username\"}}`, encodeURIComponent(String(username)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Bulk modify users\\' data limit based on the provided criteria. - **amount**: amount to adjust the user\\'s quota (positive to increase, negative to decrease) required - **user_ids**: Optional list of user IDs to modify - **admins**: Optional list of admin IDs — their users will be targeted - **status**: Optional status to filter users (e.g., \\\"expired\\\", \\\"active\\\"), Empty means no filtering - **group_ids**: Optional list of group IDs to filter users by their group membership\n * @summary Bulk sum/sub to data limit of users\n * @param {BulkUser} bulkUser \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n bulkModifyUsersDatalimit: async (bulkUser: BulkUser, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'bulkUser' is not null or undefined\n assertParamExists('bulkModifyUsersDatalimit', 'bulkUser', bulkUser)\n const localVarPath = `/api/users/bulk/data_limit`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(bulkUser, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Bulk expire users based on the provided criteria. - **amount**: amount to adjust the user\\'s quota (in seconds, positive to increase, negative to decrease) required - **user_ids**: Optional list of user IDs to modify - **admins**: Optional list of admin IDs — their users will be targeted - **status**: Optional status to filter users (e.g., \\\"expired\\\", \\\"active\\\"), Empty means no filtering - **group_ids**: Optional list of group IDs to filter users by their group membership\n * @summary Bulk sum/sub to expire of users\n * @param {BulkUser} bulkUser \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n bulkModifyUsersExpire: async (bulkUser: BulkUser, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'bulkUser' is not null or undefined\n assertParamExists('bulkModifyUsersExpire', 'bulkUser', bulkUser)\n const localVarPath = `/api/users/bulk/expire`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(bulkUser, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Bulk modify users proxy settings\n * @param {BulkUsersProxy} bulkUsersProxy \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n bulkModifyUsersProxySettings: async (bulkUsersProxy: BulkUsersProxy, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'bulkUsersProxy' is not null or undefined\n assertParamExists('bulkModifyUsersProxySettings', 'bulkUsersProxy', bulkUsersProxy)\n const localVarPath = `/api/users/bulk/proxy_settings`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(bulkUsersProxy, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Create a new user - **username**: 3 to 32 characters, can include a-z, 0-9, and underscores. - **status**: User\\'s status, defaults to `active`. Special rules if `on_hold`. - **expire**: UTC datetime for account expiration. Use `0` for unlimited. - **data_limit**: Max data usage in bytes (e.g., `1073741824` for 1GB). `0` means unlimited. - **data_limit_reset_strategy**: Defines how/if data limit resets. `no_reset` means it never resets. - **proxy_settings**: Dictionary of protocol settings (e.g., `vmess`, `vless`) will generate data for all protocol by default. - **group_ids**: List of group IDs to assign to the user. - **note**: Optional text field for additional user information or notes. - **on_hold_timeout**: UTC timestamp when `on_hold` status should start or end. - **on_hold_expire_duration**: Duration (in seconds) for how long the user should stay in `on_hold` status. - **next_plan**: Next user plan (resets after use).\n * @summary Create User\n * @param {UserCreate} userCreate \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n createUser: async (userCreate: UserCreate, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'userCreate' is not null or undefined\n assertParamExists('createUser', 'userCreate', userCreate)\n const localVarPath = `/api/user`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(userCreate, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Create User From Template\n * @param {CreateUserFromTemplate} createUserFromTemplate \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n createUserFromTemplate: async (createUserFromTemplate: CreateUserFromTemplate, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'createUserFromTemplate' is not null or undefined\n assertParamExists('createUserFromTemplate', 'createUserFromTemplate', createUserFromTemplate)\n const localVarPath = `/api/user/from_template`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(createUserFromTemplate, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Delete users who have expired within the specified date range. - **expired_after** UTC datetime (optional) - **expired_before** UTC datetime (optional) - At least one of expired_after or expired_before must be provided\n * @summary Delete Expired Users\n * @param {string | null} [adminUsername] \n * @param {string | null} [expiredAfter] \n * @param {string | null} [expiredBefore] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n deleteExpiredUsers: async (adminUsername?: string | null, expiredAfter?: string | null, expiredBefore?: string | null, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/api/users/expired`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n if (adminUsername !== undefined) {\n localVarQueryParameter['admin_username'] = adminUsername;\n }\n\n if (expiredAfter !== undefined) {\n localVarQueryParameter['expired_after'] = (expiredAfter as any instanceof Date) ?\n (expiredAfter as any).toISOString() :\n expiredAfter;\n }\n\n if (expiredBefore !== undefined) {\n localVarQueryParameter['expired_before'] = (expiredBefore as any instanceof Date) ?\n (expiredBefore as any).toISOString() :\n expiredBefore;\n }\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Get users who have expired within the specified date range. - **expired_after** UTC datetime (optional) - **expired_before** UTC datetime (optional) - At least one of expired_after or expired_before must be provided for filtering - If both are omitted, returns all expired users\n * @summary Get Expired Users\n * @param {string | null} [adminUsername] \n * @param {string | null} [expiredAfter] \n * @param {string | null} [expiredBefore] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getExpiredUsers: async (adminUsername?: string | null, expiredAfter?: string | null, expiredBefore?: string | null, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/api/users/expired`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n if (adminUsername !== undefined) {\n localVarQueryParameter['admin_username'] = adminUsername;\n }\n\n if (expiredAfter !== undefined) {\n localVarQueryParameter['expired_after'] = (expiredAfter as any instanceof Date) ?\n (expiredAfter as any).toISOString() :\n expiredAfter;\n }\n\n if (expiredBefore !== undefined) {\n localVarQueryParameter['expired_before'] = (expiredBefore as any instanceof Date) ?\n (expiredBefore as any).toISOString() :\n expiredBefore;\n }\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Get user information\n * @summary Get User\n * @param {string} username \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getUser: async (username: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'username' is not null or undefined\n assertParamExists('getUser', 'username', username)\n const localVarPath = `/api/user/{username}`\n .replace(`{${\"username\"}}`, encodeURIComponent(String(username)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Get user subscription agent list\n * @summary Get User Sub Update List\n * @param {string} username \n * @param {number} [offset] \n * @param {number} [limit] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getUserSubUpdateList: async (username: string, offset?: number, limit?: number, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'username' is not null or undefined\n assertParamExists('getUserSubUpdateList', 'username', username)\n const localVarPath = `/api/user/{username}/sub_update`\n .replace(`{${\"username\"}}`, encodeURIComponent(String(username)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n if (offset !== undefined) {\n localVarQueryParameter['offset'] = offset;\n }\n\n if (limit !== undefined) {\n localVarQueryParameter['limit'] = limit;\n }\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Get users usage\n * @summary Get User Usage\n * @param {string} username \n * @param {Period} period \n * @param {number | null} [nodeId] \n * @param {boolean} [groupByNode] \n * @param {string | null} [start] \n * @param {string | null} [end] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getUserUsage: async (username: string, period: Period, nodeId?: number | null, groupByNode?: boolean, start?: string | null, end?: string | null, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'username' is not null or undefined\n assertParamExists('getUserUsage', 'username', username)\n // verify required parameter 'period' is not null or undefined\n assertParamExists('getUserUsage', 'period', period)\n const localVarPath = `/api/user/{username}/usage`\n .replace(`{${\"username\"}}`, encodeURIComponent(String(username)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n if (period !== undefined) {\n localVarQueryParameter['period'] = period;\n }\n\n if (nodeId !== undefined) {\n localVarQueryParameter['node_id'] = nodeId;\n }\n\n if (groupByNode !== undefined) {\n localVarQueryParameter['group_by_node'] = groupByNode;\n }\n\n if (start !== undefined) {\n localVarQueryParameter['start'] = (start as any instanceof Date) ?\n (start as any).toISOString() :\n start;\n }\n\n if (end !== undefined) {\n localVarQueryParameter['end'] = (end as any instanceof Date) ?\n (end as any).toISOString() :\n end;\n }\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Get all users\n * @summary Get Users\n * @param {number} [offset] \n * @param {number} [limit] \n * @param {Array<string>} [username] \n * @param {Array<string> | null} [admin] \n * @param {Array<number> | null} [group] \n * @param {string | null} [search] \n * @param {UserStatus | null} [status] \n * @param {string | null} [sort] \n * @param {string | null} [proxyId] \n * @param {boolean} [loadSub] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getUsers: async (offset?: number, limit?: number, username?: Array<string>, admin?: Array<string> | null, group?: Array<number> | null, search?: string | null, status?: UserStatus | null, sort?: string | null, proxyId?: string | null, loadSub?: boolean, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/api/users`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n if (offset !== undefined) {\n localVarQueryParameter['offset'] = offset;\n }\n\n if (limit !== undefined) {\n localVarQueryParameter['limit'] = limit;\n }\n\n if (username) {\n localVarQueryParameter['username'] = username;\n }\n\n if (admin) {\n localVarQueryParameter['admin'] = admin;\n }\n\n if (group) {\n localVarQueryParameter['group'] = group;\n }\n\n if (search !== undefined) {\n localVarQueryParameter['search'] = search;\n }\n\n if (status !== undefined) {\n localVarQueryParameter['status'] = status;\n }\n\n if (sort !== undefined) {\n localVarQueryParameter['sort'] = sort;\n }\n\n if (proxyId !== undefined) {\n localVarQueryParameter['proxy_id'] = proxyId;\n }\n\n if (loadSub !== undefined) {\n localVarQueryParameter['load_sub'] = loadSub;\n }\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Get subscription agent distribution percentages (optionally filtered by username)\n * @summary Get Users Sub Update Chart\n * @param {string | null} [username] \n * @param {number | null} [adminId] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getUsersSubUpdateChart: async (username?: string | null, adminId?: number | null, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/api/users/sub_update/chart`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n if (username !== undefined) {\n localVarQueryParameter['username'] = username;\n }\n\n if (adminId !== undefined) {\n localVarQueryParameter['admin_id'] = adminId;\n }\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Get all users usage\n * @summary Get Users Usage\n * @param {Period} period \n * @param {number | null} [nodeId] \n * @param {boolean} [groupByNode] \n * @param {string | null} [start] \n * @param {string | null} [end] \n * @param {Array<string> | null} [admin] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getUsersUsage: async (period: Period, nodeId?: number | null, groupByNode?: boolean, start?: string | null, end?: string | null, admin?: Array<string> | null, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'period' is not null or undefined\n assertParamExists('getUsersUsage', 'period', period)\n const localVarPath = `/api/users/usage`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n if (period !== undefined) {\n localVarQueryParameter['period'] = period;\n }\n\n if (nodeId !== undefined) {\n localVarQueryParameter['node_id'] = nodeId;\n }\n\n if (groupByNode !== undefined) {\n localVarQueryParameter['group_by_node'] = groupByNode;\n }\n\n if (start !== undefined) {\n localVarQueryParameter['start'] = (start as any instanceof Date) ?\n (start as any).toISOString() :\n start;\n }\n\n if (end !== undefined) {\n localVarQueryParameter['end'] = (end as any instanceof Date) ?\n (end as any).toISOString() :\n end;\n }\n\n if (admin) {\n localVarQueryParameter['admin'] = admin;\n }\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Modify an existing user - **username**: Cannot be changed. Used to identify the user. - **status**: User\\'s new status. Can be \\'active\\', \\'disabled\\', \\'on_hold\\', \\'limited\\', or \\'expired\\'. - **expire**: UTC datetime for new account expiration. Set to `0` for unlimited, `null` for no change. - **data_limit**: New max data usage in bytes (e.g., `1073741824` for 1GB). Set to `0` for unlimited, `null` for no change. - **data_limit_reset_strategy**: New strategy for data limit reset. Options include \\'daily\\', \\'weekly\\', \\'monthly\\', or \\'no_reset\\'. - **proxies**: Dictionary of new protocol settings (e.g., `vmess`, `vless`). Empty dictionary means no change. - **group_ids**: List of new group IDs to assign to the user. Empty list means no change. - **note**: New optional text for additional user information or notes. `null` means no change. - **on_hold_timeout**: New UTC timestamp for when `on_hold` status should start or end. Only applicable if status is changed to \\'on_hold\\'. - **on_hold_expire_duration**: New duration (in seconds) for how long the user should stay in `on_hold` status. Only applicable if status is changed to \\'on_hold\\'. - **next_plan**: Next user plan (resets after use). Note: Fields set to `null` or omitted will not be modified.\n * @summary Modify User\n * @param {string} username \n * @param {UserModify} userModify \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n modifyUser: async (username: string, userModify: UserModify, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'username' is not null or undefined\n assertParamExists('modifyUser', 'username', username)\n // verify required parameter 'userModify' is not null or undefined\n assertParamExists('modifyUser', 'userModify', userModify)\n const localVarPath = `/api/user/{username}`\n .replace(`{${\"username\"}}`, encodeURIComponent(String(username)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(userModify, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Modify User With Template\n * @param {string} username \n * @param {ModifyUserByTemplate} modifyUserByTemplate \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n modifyUserWithTemplate: async (username: string, modifyUserByTemplate: ModifyUserByTemplate, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'username' is not null or undefined\n assertParamExists('modifyUserWithTemplate', 'username', username)\n // verify required parameter 'modifyUserByTemplate' is not null or undefined\n assertParamExists('modifyUserWithTemplate', 'modifyUserByTemplate', modifyUserByTemplate)\n const localVarPath = `/api/user/from_template/{username}`\n .replace(`{${\"username\"}}`, encodeURIComponent(String(username)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(modifyUserByTemplate, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Remove a user\n * @summary Remove User\n * @param {string} username \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n removeUser: async (username: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'username' is not null or undefined\n assertParamExists('removeUser', 'username', username)\n const localVarPath = `/api/user/{username}`\n .replace(`{${\"username\"}}`, encodeURIComponent(String(username)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Reset user data usage\n * @summary Reset User Data Usage\n * @param {string} username \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n resetUserDataUsage: async (username: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'username' is not null or undefined\n assertParamExists('resetUserDataUsage', 'username', username)\n const localVarPath = `/api/user/{username}/reset`\n .replace(`{${\"username\"}}`, encodeURIComponent(String(username)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Reset all users data usage\n * @summary Reset Users Data Usage\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n resetUsersDataUsage: async (options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/api/users/reset`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Revoke users subscription (Subscription link and proxies)\n * @summary Revoke User Subscription\n * @param {string} username \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n revokeUserSubscription: async (username: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'username' is not null or undefined\n assertParamExists('revokeUserSubscription', 'username', username)\n const localVarPath = `/api/user/{username}/revoke_sub`\n .replace(`{${\"username\"}}`, encodeURIComponent(String(username)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Set a new owner (admin) for a user.\n * @summary Set Owner\n * @param {string} username \n * @param {string} adminUsername \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n setOwner: async (username: string, adminUsername: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'username' is not null or undefined\n assertParamExists('setOwner', 'username', username)\n // verify required parameter 'adminUsername' is not null or undefined\n assertParamExists('setOwner', 'adminUsername', adminUsername)\n const localVarPath = `/api/user/{username}/set_owner`\n .replace(`{${\"username\"}}`, encodeURIComponent(String(username)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n if (adminUsername !== undefined) {\n localVarQueryParameter['admin_username'] = adminUsername;\n }\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * UserApi - functional programming interface\n * @export\n */\nexport const UserApiFp = function(configuration?: Configuration) {\n const localVarAxiosParamCreator = UserApiAxiosParamCreator(configuration)\n return {\n /**\n * Reset user by next plan\n * @summary Active Next Plan\n * @param {string} username \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async activeNextPlan(username: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UserResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.activeNextPlan(username, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['UserApi.activeNextPlan']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Bulk modify users\\' data limit based on the provided criteria. - **amount**: amount to adjust the user\\'s quota (positive to increase, negative to decrease) required - **user_ids**: Optional list of user IDs to modify - **admins**: Optional list of admin IDs — their users will be targeted - **status**: Optional status to filter users (e.g., \\\"expired\\\", \\\"active\\\"), Empty means no filtering - **group_ids**: Optional list of group IDs to filter users by their group membership\n * @summary Bulk sum/sub to data limit of users\n * @param {BulkUser} bulkUser \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async bulkModifyUsersDatalimit(bulkUser: BulkUser, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<any>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.bulkModifyUsersDatalimit(bulkUser, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['UserApi.bulkModifyUsersDatalimit']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Bulk expire users based on the provided criteria. - **amount**: amount to adjust the user\\'s quota (in seconds, positive to increase, negative to decrease) required - **user_ids**: Optional list of user IDs to modify - **admins**: Optional list of admin IDs — their users will be targeted - **status**: Optional status to filter users (e.g., \\\"expired\\\", \\\"active\\\"), Empty means no filtering - **group_ids**: Optional list of group IDs to filter users by their group membership\n * @summary Bulk sum/sub to expire of users\n * @param {BulkUser} bulkUser \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async bulkModifyUsersExpire(bulkUser: BulkUser, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<any>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.bulkModifyUsersExpire(bulkUser, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['UserApi.bulkModifyUsersExpire']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * \n * @summary Bulk modify users proxy settings\n * @param {BulkUsersProxy} bulkUsersProxy \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async bulkModifyUsersProxySettings(bulkUsersProxy: BulkUsersProxy, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<any>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.bulkModifyUsersProxySettings(bulkUsersProxy, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['UserApi.bulkModifyUsersProxySettings']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Create a new user - **username**: 3 to 32 characters, can include a-z, 0-9, and underscores. - **status**: User\\'s status, defaults to `active`. Special rules if `on_hold`. - **expire**: UTC datetime for account expiration. Use `0` for unlimited. - **data_limit**: Max data usage in bytes (e.g., `1073741824` for 1GB). `0` means unlimited. - **data_limit_reset_strategy**: Defines how/if data limit resets. `no_reset` means it never resets. - **proxy_settings**: Dictionary of protocol settings (e.g., `vmess`, `vless`) will generate data for all protocol by default. - **group_ids**: List of group IDs to assign to the user. - **note**: Optional text field for additional user information or notes. - **on_hold_timeout**: UTC timestamp when `on_hold` status should start or end. - **on_hold_expire_duration**: Duration (in seconds) for how long the user should stay in `on_hold` status. - **next_plan**: Next user plan (resets after use).\n * @summary Create User\n * @param {UserCreate} userCreate \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async createUser(userCreate: UserCreate, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UserResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.createUser(userCreate, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['UserApi.createUser']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * \n * @summary Create User From Template\n * @param {CreateUserFromTemplate} createUserFromTemplate \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async createUserFromTemplate(createUserFromTemplate: CreateUserFromTemplate, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UserResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.createUserFromTemplate(createUserFromTemplate, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['UserApi.createUserFromTemplate']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Delete users who have expired within the specified date range. - **expired_after** UTC datetime (optional) - **expired_before** UTC datetime (optional) - At least one of expired_after or expired_before must be provided\n * @summary Delete Expired Users\n * @param {string | null} [adminUsername] \n * @param {string | null} [expiredAfter] \n * @param {string | null} [expiredBefore] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async deleteExpiredUsers(adminUsername?: string | null, expiredAfter?: string | null, expiredBefore?: string | null, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<RemoveUsersResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.deleteExpiredUsers(adminUsername, expiredAfter, expiredBefore, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['UserApi.deleteExpiredUsers']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Get users who have expired within the specified date range. - **expired_after** UTC datetime (optional) - **expired_before** UTC datetime (optional) - At least one of expired_after or expired_before must be provided for filtering - If both are omitted, returns all expired users\n * @summary Get Expired Users\n * @param {string | null} [adminUsername] \n * @param {string | null} [expiredAfter] \n * @param {string | null} [expiredBefore] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getExpiredUsers(adminUsername?: string | null, expiredAfter?: string | null, expiredBefore?: string | null, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<string | null>>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.getExpiredUsers(adminUsername, expiredAfter, expiredBefore, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['UserApi.getExpiredUsers']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Get user information\n * @summary Get User\n * @param {string} username \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getUser(username: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UserResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.getUser(username, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['UserApi.getUser']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Get user subscription agent list\n * @summary Get User Sub Update List\n * @param {string} username \n * @param {number} [offset] \n * @param {number} [limit] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getUserSubUpdateList(username: string, offset?: number, limit?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UserSubscriptionUpdateList>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.getUserSubUpdateList(username, offset, limit, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['UserApi.getUserSubUpdateList']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Get users usage\n * @summary Get User Usage\n * @param {string} username \n * @param {Period} period \n * @param {number | null} [nodeId] \n * @param {boolean} [groupByNode] \n * @param {string | null} [start] \n * @param {string | null} [end] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getUserUsage(username: string, period: Period, nodeId?: number | null, groupByNode?: boolean, start?: string | null, end?: string | null, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UserUsageStatsList>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.getUserUsage(username, period, nodeId, groupByNode, start, end, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['UserApi.getUserUsage']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Get all users\n * @summary Get Users\n * @param {number} [offset] \n * @param {number} [limit] \n * @param {Array<string>} [username] \n * @param {Array<string> | null} [admin] \n * @param {Array<number> | null} [group] \n * @param {string | null} [search] \n * @param {UserStatus | null} [status] \n * @param {string | null} [sort] \n * @param {string | null} [proxyId] \n * @param {boolean} [loadSub] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getUsers(offset?: number, limit?: number, username?: Array<string>, admin?: Array<string> | null, group?: Array<number> | null, search?: string | null, status?: UserStatus | null, sort?: string | null, proxyId?: string | null, loadSub?: boolean, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UsersResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.getUsers(offset, limit, username, admin, group, search, status, sort, proxyId, loadSub, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['UserApi.getUsers']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Get subscription agent distribution percentages (optionally filtered by username)\n * @summary Get Users Sub Update Chart\n * @param {string | null} [username] \n * @param {number | null} [adminId] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getUsersSubUpdateChart(username?: string | null, adminId?: number | null, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UserSubscriptionUpdateChart>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.getUsersSubUpdateChart(username, adminId, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['UserApi.getUsersSubUpdateChart']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Get all users usage\n * @summary Get Users Usage\n * @param {Period} period \n * @param {number | null} [nodeId] \n * @param {boolean} [groupByNode] \n * @param {string | null} [start] \n * @param {string | null} [end] \n * @param {Array<string> | null} [admin] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getUsersUsage(period: Period, nodeId?: number | null, groupByNode?: boolean, start?: string | null, end?: string | null, admin?: Array<string> | null, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UserUsageStatsList>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.getUsersUsage(period, nodeId, groupByNode, start, end, admin, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['UserApi.getUsersUsage']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Modify an existing user - **username**: Cannot be changed. Used to identify the user. - **status**: User\\'s new status. Can be \\'active\\', \\'disabled\\', \\'on_hold\\', \\'limited\\', or \\'expired\\'. - **expire**: UTC datetime for new account expiration. Set to `0` for unlimited, `null` for no change. - **data_limit**: New max data usage in bytes (e.g., `1073741824` for 1GB). Set to `0` for unlimited, `null` for no change. - **data_limit_reset_strategy**: New strategy for data limit reset. Options include \\'daily\\', \\'weekly\\', \\'monthly\\', or \\'no_reset\\'. - **proxies**: Dictionary of new protocol settings (e.g., `vmess`, `vless`). Empty dictionary means no change. - **group_ids**: List of new group IDs to assign to the user. Empty list means no change. - **note**: New optional text for additional user information or notes. `null` means no change. - **on_hold_timeout**: New UTC timestamp for when `on_hold` status should start or end. Only applicable if status is changed to \\'on_hold\\'. - **on_hold_expire_duration**: New duration (in seconds) for how long the user should stay in `on_hold` status. Only applicable if status is changed to \\'on_hold\\'. - **next_plan**: Next user plan (resets after use). Note: Fields set to `null` or omitted will not be modified.\n * @summary Modify User\n * @param {string} username \n * @param {UserModify} userModify \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async modifyUser(username: string, userModify: UserModify, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UserResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.modifyUser(username, userModify, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['UserApi.modifyUser']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * \n * @summary Modify User With Template\n * @param {string} username \n * @param {ModifyUserByTemplate} modifyUserByTemplate \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async modifyUserWithTemplate(username: string, modifyUserByTemplate: ModifyUserByTemplate, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UserResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.modifyUserWithTemplate(username, modifyUserByTemplate, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['UserApi.modifyUserWithTemplate']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Remove a user\n * @summary Remove User\n * @param {string} username \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async removeUser(username: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.removeUser(username, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['UserApi.removeUser']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Reset user data usage\n * @summary Reset User Data Usage\n * @param {string} username \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async resetUserDataUsage(username: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UserResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.resetUserDataUsage(username, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['UserApi.resetUserDataUsage']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Reset all users data usage\n * @summary Reset Users Data Usage\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async resetUsersDataUsage(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<any>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.resetUsersDataUsage(options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['UserApi.resetUsersDataUsage']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Revoke users subscription (Subscription link and proxies)\n * @summary Revoke User Subscription\n * @param {string} username \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async revokeUserSubscription(username: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UserResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.revokeUserSubscription(username, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['UserApi.revokeUserSubscription']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Set a new owner (admin) for a user.\n * @summary Set Owner\n * @param {string} username \n * @param {string} adminUsername \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async setOwner(username: string, adminUsername: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UserResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.setOwner(username, adminUsername, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['UserApi.setOwner']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n }\n};\n\n/**\n * UserApi - factory interface\n * @export\n */\nexport const UserApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n const localVarFp = UserApiFp(configuration)\n return {\n /**\n * Reset user by next plan\n * @summary Active Next Plan\n * @param {string} username \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n activeNextPlan(username: string, options?: RawAxiosRequestConfig): AxiosPromise<UserResponse> {\n return localVarFp.activeNextPlan(username, options).then((request) => request(axios, basePath));\n },\n /**\n * Bulk modify users\\' data limit based on the provided criteria. - **amount**: amount to adjust the user\\'s quota (positive to increase, negative to decrease) required - **user_ids**: Optional list of user IDs to modify - **admins**: Optional list of admin IDs — their users will be targeted - **status**: Optional status to filter users (e.g., \\\"expired\\\", \\\"active\\\"), Empty means no filtering - **group_ids**: Optional list of group IDs to filter users by their group membership\n * @summary Bulk sum/sub to data limit of users\n * @param {BulkUser} bulkUser \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n bulkModifyUsersDatalimit(bulkUser: BulkUser, options?: RawAxiosRequestConfig): AxiosPromise<any> {\n return localVarFp.bulkModifyUsersDatalimit(bulkUser, options).then((request) => request(axios, basePath));\n },\n /**\n * Bulk expire users based on the provided criteria. - **amount**: amount to adjust the user\\'s quota (in seconds, positive to increase, negative to decrease) required - **user_ids**: Optional list of user IDs to modify - **admins**: Optional list of admin IDs — their users will be targeted - **status**: Optional status to filter users (e.g., \\\"expired\\\", \\\"active\\\"), Empty means no filtering - **group_ids**: Optional list of group IDs to filter users by their group membership\n * @summary Bulk sum/sub to expire of users\n * @param {BulkUser} bulkUser \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n bulkModifyUsersExpire(bulkUser: BulkUser, options?: RawAxiosRequestConfig): AxiosPromise<any> {\n return localVarFp.bulkModifyUsersExpire(bulkUser, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Bulk modify users proxy settings\n * @param {BulkUsersProxy} bulkUsersProxy \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n bulkModifyUsersProxySettings(bulkUsersProxy: BulkUsersProxy, options?: RawAxiosRequestConfig): AxiosPromise<any> {\n return localVarFp.bulkModifyUsersProxySettings(bulkUsersProxy, options).then((request) => request(axios, basePath));\n },\n /**\n * Create a new user - **username**: 3 to 32 characters, can include a-z, 0-9, and underscores. - **status**: User\\'s status, defaults to `active`. Special rules if `on_hold`. - **expire**: UTC datetime for account expiration. Use `0` for unlimited. - **data_limit**: Max data usage in bytes (e.g., `1073741824` for 1GB). `0` means unlimited. - **data_limit_reset_strategy**: Defines how/if data limit resets. `no_reset` means it never resets. - **proxy_settings**: Dictionary of protocol settings (e.g., `vmess`, `vless`) will generate data for all protocol by default. - **group_ids**: List of group IDs to assign to the user. - **note**: Optional text field for additional user information or notes. - **on_hold_timeout**: UTC timestamp when `on_hold` status should start or end. - **on_hold_expire_duration**: Duration (in seconds) for how long the user should stay in `on_hold` status. - **next_plan**: Next user plan (resets after use).\n * @summary Create User\n * @param {UserCreate} userCreate \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n createUser(userCreate: UserCreate, options?: RawAxiosRequestConfig): AxiosPromise<UserResponse> {\n return localVarFp.createUser(userCreate, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Create User From Template\n * @param {CreateUserFromTemplate} createUserFromTemplate \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n createUserFromTemplate(createUserFromTemplate: CreateUserFromTemplate, options?: RawAxiosRequestConfig): AxiosPromise<UserResponse> {\n return localVarFp.createUserFromTemplate(createUserFromTemplate, options).then((request) => request(axios, basePath));\n },\n /**\n * Delete users who have expired within the specified date range. - **expired_after** UTC datetime (optional) - **expired_before** UTC datetime (optional) - At least one of expired_after or expired_before must be provided\n * @summary Delete Expired Users\n * @param {string | null} [adminUsername] \n * @param {string | null} [expiredAfter] \n * @param {string | null} [expiredBefore] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n deleteExpiredUsers(adminUsername?: string | null, expiredAfter?: string | null, expiredBefore?: string | null, options?: RawAxiosRequestConfig): AxiosPromise<RemoveUsersResponse> {\n return localVarFp.deleteExpiredUsers(adminUsername, expiredAfter, expiredBefore, options).then((request) => request(axios, basePath));\n },\n /**\n * Get users who have expired within the specified date range. - **expired_after** UTC datetime (optional) - **expired_before** UTC datetime (optional) - At least one of expired_after or expired_before must be provided for filtering - If both are omitted, returns all expired users\n * @summary Get Expired Users\n * @param {string | null} [adminUsername] \n * @param {string | null} [expiredAfter] \n * @param {string | null} [expiredBefore] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getExpiredUsers(adminUsername?: string | null, expiredAfter?: string | null, expiredBefore?: string | null, options?: RawAxiosRequestConfig): AxiosPromise<Array<string | null>> {\n return localVarFp.getExpiredUsers(adminUsername, expiredAfter, expiredBefore, options).then((request) => request(axios, basePath));\n },\n /**\n * Get user information\n * @summary Get User\n * @param {string} username \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getUser(username: string, options?: RawAxiosRequestConfig): AxiosPromise<UserResponse> {\n return localVarFp.getUser(username, options).then((request) => request(axios, basePath));\n },\n /**\n * Get user subscription agent list\n * @summary Get User Sub Update List\n * @param {string} username \n * @param {number} [offset] \n * @param {number} [limit] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getUserSubUpdateList(username: string, offset?: number, limit?: number, options?: RawAxiosRequestConfig): AxiosPromise<UserSubscriptionUpdateList> {\n return localVarFp.getUserSubUpdateList(username, offset, limit, options).then((request) => request(axios, basePath));\n },\n /**\n * Get users usage\n * @summary Get User Usage\n * @param {string} username \n * @param {Period} period \n * @param {number | null} [nodeId] \n * @param {boolean} [groupByNode] \n * @param {string | null} [start] \n * @param {string | null} [end] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getUserUsage(username: string, period: Period, nodeId?: number | null, groupByNode?: boolean, start?: string | null, end?: string | null, options?: RawAxiosRequestConfig): AxiosPromise<UserUsageStatsList> {\n return localVarFp.getUserUsage(username, period, nodeId, groupByNode, start, end, options).then((request) => request(axios, basePath));\n },\n /**\n * Get all users\n * @summary Get Users\n * @param {number} [offset] \n * @param {number} [limit] \n * @param {Array<string>} [username] \n * @param {Array<string> | null} [admin] \n * @param {Array<number> | null} [group] \n * @param {string | null} [search] \n * @param {UserStatus | null} [status] \n * @param {string | null} [sort] \n * @param {string | null} [proxyId] \n * @param {boolean} [loadSub] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getUsers(offset?: number, limit?: number, username?: Array<string>, admin?: Array<string> | null, group?: Array<number> | null, search?: string | null, status?: UserStatus | null, sort?: string | null, proxyId?: string | null, loadSub?: boolean, options?: RawAxiosRequestConfig): AxiosPromise<UsersResponse> {\n return localVarFp.getUsers(offset, limit, username, admin, group, search, status, sort, proxyId, loadSub, options).then((request) => request(axios, basePath));\n },\n /**\n * Get subscription agent distribution percentages (optionally filtered by username)\n * @summary Get Users Sub Update Chart\n * @param {string | null} [username] \n * @param {number | null} [adminId] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getUsersSubUpdateChart(username?: string | null, adminId?: number | null, options?: RawAxiosRequestConfig): AxiosPromise<UserSubscriptionUpdateChart> {\n return localVarFp.getUsersSubUpdateChart(username, adminId, options).then((request) => request(axios, basePath));\n },\n /**\n * Get all users usage\n * @summary Get Users Usage\n * @param {Period} period \n * @param {number | null} [nodeId] \n * @param {boolean} [groupByNode] \n * @param {string | null} [start] \n * @param {string | null} [end] \n * @param {Array<string> | null} [admin] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getUsersUsage(period: Period, nodeId?: number | null, groupByNode?: boolean, start?: string | null, end?: string | null, admin?: Array<string> | null, options?: RawAxiosRequestConfig): AxiosPromise<UserUsageStatsList> {\n return localVarFp.getUsersUsage(period, nodeId, groupByNode, start, end, admin, options).then((request) => request(axios, basePath));\n },\n /**\n * Modify an existing user - **username**: Cannot be changed. Used to identify the user. - **status**: User\\'s new status. Can be \\'active\\', \\'disabled\\', \\'on_hold\\', \\'limited\\', or \\'expired\\'. - **expire**: UTC datetime for new account expiration. Set to `0` for unlimited, `null` for no change. - **data_limit**: New max data usage in bytes (e.g., `1073741824` for 1GB). Set to `0` for unlimited, `null` for no change. - **data_limit_reset_strategy**: New strategy for data limit reset. Options include \\'daily\\', \\'weekly\\', \\'monthly\\', or \\'no_reset\\'. - **proxies**: Dictionary of new protocol settings (e.g., `vmess`, `vless`). Empty dictionary means no change. - **group_ids**: List of new group IDs to assign to the user. Empty list means no change. - **note**: New optional text for additional user information or notes. `null` means no change. - **on_hold_timeout**: New UTC timestamp for when `on_hold` status should start or end. Only applicable if status is changed to \\'on_hold\\'. - **on_hold_expire_duration**: New duration (in seconds) for how long the user should stay in `on_hold` status. Only applicable if status is changed to \\'on_hold\\'. - **next_plan**: Next user plan (resets after use). Note: Fields set to `null` or omitted will not be modified.\n * @summary Modify User\n * @param {string} username \n * @param {UserModify} userModify \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n modifyUser(username: string, userModify: UserModify, options?: RawAxiosRequestConfig): AxiosPromise<UserResponse> {\n return localVarFp.modifyUser(username, userModify, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Modify User With Template\n * @param {string} username \n * @param {ModifyUserByTemplate} modifyUserByTemplate \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n modifyUserWithTemplate(username: string, modifyUserByTemplate: ModifyUserByTemplate, options?: RawAxiosRequestConfig): AxiosPromise<UserResponse> {\n return localVarFp.modifyUserWithTemplate(username, modifyUserByTemplate, options).then((request) => request(axios, basePath));\n },\n /**\n * Remove a user\n * @summary Remove User\n * @param {string} username \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n removeUser(username: string, options?: RawAxiosRequestConfig): AxiosPromise<void> {\n return localVarFp.removeUser(username, options).then((request) => request(axios, basePath));\n },\n /**\n * Reset user data usage\n * @summary Reset User Data Usage\n * @param {string} username \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n resetUserDataUsage(username: string, options?: RawAxiosRequestConfig): AxiosPromise<UserResponse> {\n return localVarFp.resetUserDataUsage(username, options).then((request) => request(axios, basePath));\n },\n /**\n * Reset all users data usage\n * @summary Reset Users Data Usage\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n resetUsersDataUsage(options?: RawAxiosRequestConfig): AxiosPromise<any> {\n return localVarFp.resetUsersDataUsage(options).then((request) => request(axios, basePath));\n },\n /**\n * Revoke users subscription (Subscription link and proxies)\n * @summary Revoke User Subscription\n * @param {string} username \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n revokeUserSubscription(username: string, options?: RawAxiosRequestConfig): AxiosPromise<UserResponse> {\n return localVarFp.revokeUserSubscription(username, options).then((request) => request(axios, basePath));\n },\n /**\n * Set a new owner (admin) for a user.\n * @summary Set Owner\n * @param {string} username \n * @param {string} adminUsername \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n setOwner(username: string, adminUsername: string, options?: RawAxiosRequestConfig): AxiosPromise<UserResponse> {\n return localVarFp.setOwner(username, adminUsername, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * UserApi - object-oriented interface\n * @export\n * @class UserApi\n * @extends {BaseAPI}\n */\nexport class UserApi extends BaseAPI {\n /**\n * Reset user by next plan\n * @summary Active Next Plan\n * @param {string} username \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof UserApi\n */\n public activeNextPlan(username: string, options?: RawAxiosRequestConfig) {\n return UserApiFp(this.configuration).activeNextPlan(username, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * Bulk modify users\\' data limit based on the provided criteria. - **amount**: amount to adjust the user\\'s quota (positive to increase, negative to decrease) required - **user_ids**: Optional list of user IDs to modify - **admins**: Optional list of admin IDs — their users will be targeted - **status**: Optional status to filter users (e.g., \\\"expired\\\", \\\"active\\\"), Empty means no filtering - **group_ids**: Optional list of group IDs to filter users by their group membership\n * @summary Bulk sum/sub to data limit of users\n * @param {BulkUser} bulkUser \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof UserApi\n */\n public bulkModifyUsersDatalimit(bulkUser: BulkUser, options?: RawAxiosRequestConfig) {\n return UserApiFp(this.configuration).bulkModifyUsersDatalimit(bulkUser, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * Bulk expire users based on the provided criteria. - **amount**: amount to adjust the user\\'s quota (in seconds, positive to increase, negative to decrease) required - **user_ids**: Optional list of user IDs to modify - **admins**: Optional list of admin IDs — their users will be targeted - **status**: Optional status to filter users (e.g., \\\"expired\\\", \\\"active\\\"), Empty means no filtering - **group_ids**: Optional list of group IDs to filter users by their group membership\n * @summary Bulk sum/sub to expire of users\n * @param {BulkUser} bulkUser \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof UserApi\n */\n public bulkModifyUsersExpire(bulkUser: BulkUser, options?: RawAxiosRequestConfig) {\n return UserApiFp(this.configuration).bulkModifyUsersExpire(bulkUser, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * \n * @summary Bulk modify users proxy settings\n * @param {BulkUsersProxy} bulkUsersProxy \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof UserApi\n */\n public bulkModifyUsersProxySettings(bulkUsersProxy: BulkUsersProxy, options?: RawAxiosRequestConfig) {\n return UserApiFp(this.configuration).bulkModifyUsersProxySettings(bulkUsersProxy, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * Create a new user - **username**: 3 to 32 characters, can include a-z, 0-9, and underscores. - **status**: User\\'s status, defaults to `active`. Special rules if `on_hold`. - **expire**: UTC datetime for account expiration. Use `0` for unlimited. - **data_limit**: Max data usage in bytes (e.g., `1073741824` for 1GB). `0` means unlimited. - **data_limit_reset_strategy**: Defines how/if data limit resets. `no_reset` means it never resets. - **proxy_settings**: Dictionary of protocol settings (e.g., `vmess`, `vless`) will generate data for all protocol by default. - **group_ids**: List of group IDs to assign to the user. - **note**: Optional text field for additional user information or notes. - **on_hold_timeout**: UTC timestamp when `on_hold` status should start or end. - **on_hold_expire_duration**: Duration (in seconds) for how long the user should stay in `on_hold` status. - **next_plan**: Next user plan (resets after use).\n * @summary Create User\n * @param {UserCreate} userCreate \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof UserApi\n */\n public createUser(userCreate: UserCreate, options?: RawAxiosRequestConfig) {\n return UserApiFp(this.configuration).createUser(userCreate, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * \n * @summary Create User From Template\n * @param {CreateUserFromTemplate} createUserFromTemplate \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof UserApi\n */\n public createUserFromTemplate(createUserFromTemplate: CreateUserFromTemplate, options?: RawAxiosRequestConfig) {\n return UserApiFp(this.configuration).createUserFromTemplate(createUserFromTemplate, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * Delete users who have expired within the specified date range. - **expired_after** UTC datetime (optional) - **expired_before** UTC datetime (optional) - At least one of expired_after or expired_before must be provided\n * @summary Delete Expired Users\n * @param {string | null} [adminUsername] \n * @param {string | null} [expiredAfter] \n * @param {string | null} [expiredBefore] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof UserApi\n */\n public deleteExpiredUsers(adminUsername?: string | null, expiredAfter?: string | null, expiredBefore?: string | null, options?: RawAxiosRequestConfig) {\n return UserApiFp(this.configuration).deleteExpiredUsers(adminUsername, expiredAfter, expiredBefore, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * Get users who have expired within the specified date range. - **expired_after** UTC datetime (optional) - **expired_before** UTC datetime (optional) - At least one of expired_after or expired_before must be provided for filtering - If both are omitted, returns all expired users\n * @summary Get Expired Users\n * @param {string | null} [adminUsername] \n * @param {string | null} [expiredAfter] \n * @param {string | null} [expiredBefore] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof UserApi\n */\n public getExpiredUsers(adminUsername?: string | null, expiredAfter?: string | null, expiredBefore?: string | null, options?: RawAxiosRequestConfig) {\n return UserApiFp(this.configuration).getExpiredUsers(adminUsername, expiredAfter, expiredBefore, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * Get user information\n * @summary Get User\n * @param {string} username \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof UserApi\n */\n public getUser(username: string, options?: RawAxiosRequestConfig) {\n return UserApiFp(this.configuration).getUser(username, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * Get user subscription agent list\n * @summary Get User Sub Update List\n * @param {string} username \n * @param {number} [offset] \n * @param {number} [limit] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof UserApi\n */\n public getUserSubUpdateList(username: string, offset?: number, limit?: number, options?: RawAxiosRequestConfig) {\n return UserApiFp(this.configuration).getUserSubUpdateList(username, offset, limit, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * Get users usage\n * @summary Get User Usage\n * @param {string} username \n * @param {Period} period \n * @param {number | null} [nodeId] \n * @param {boolean} [groupByNode] \n * @param {string | null} [start] \n * @param {string | null} [end] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof UserApi\n */\n public getUserUsage(username: string, period: Period, nodeId?: number | null, groupByNode?: boolean, start?: string | null, end?: string | null, options?: RawAxiosRequestConfig) {\n return UserApiFp(this.configuration).getUserUsage(username, period, nodeId, groupByNode, start, end, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * Get all users\n * @summary Get Users\n * @param {number} [offset] \n * @param {number} [limit] \n * @param {Array<string>} [username] \n * @param {Array<string> | null} [admin] \n * @param {Array<number> | null} [group] \n * @param {string | null} [search] \n * @param {UserStatus | null} [status] \n * @param {string | null} [sort] \n * @param {string | null} [proxyId] \n * @param {boolean} [loadSub] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof UserApi\n */\n public getUsers(offset?: number, limit?: number, username?: Array<string>, admin?: Array<string> | null, group?: Array<number> | null, search?: string | null, status?: UserStatus | null, sort?: string | null, proxyId?: string | null, loadSub?: boolean, options?: RawAxiosRequestConfig) {\n return UserApiFp(this.configuration).getUsers(offset, limit, username, admin, group, search, status, sort, proxyId, loadSub, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * Get subscription agent distribution percentages (optionally filtered by username)\n * @summary Get Users Sub Update Chart\n * @param {string | null} [username] \n * @param {number | null} [adminId] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof UserApi\n */\n public getUsersSubUpdateChart(username?: string | null, adminId?: number | null, options?: RawAxiosRequestConfig) {\n return UserApiFp(this.configuration).getUsersSubUpdateChart(username, adminId, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * Get all users usage\n * @summary Get Users Usage\n * @param {Period} period \n * @param {number | null} [nodeId] \n * @param {boolean} [groupByNode] \n * @param {string | null} [start] \n * @param {string | null} [end] \n * @param {Array<string> | null} [admin] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof UserApi\n */\n public getUsersUsage(period: Period, nodeId?: number | null, groupByNode?: boolean, start?: string | null, end?: string | null, admin?: Array<string> | null, options?: RawAxiosRequestConfig) {\n return UserApiFp(this.configuration).getUsersUsage(period, nodeId, groupByNode, start, end, admin, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * Modify an existing user - **username**: Cannot be changed. Used to identify the user. - **status**: User\\'s new status. Can be \\'active\\', \\'disabled\\', \\'on_hold\\', \\'limited\\', or \\'expired\\'. - **expire**: UTC datetime for new account expiration. Set to `0` for unlimited, `null` for no change. - **data_limit**: New max data usage in bytes (e.g., `1073741824` for 1GB). Set to `0` for unlimited, `null` for no change. - **data_limit_reset_strategy**: New strategy for data limit reset. Options include \\'daily\\', \\'weekly\\', \\'monthly\\', or \\'no_reset\\'. - **proxies**: Dictionary of new protocol settings (e.g., `vmess`, `vless`). Empty dictionary means no change. - **group_ids**: List of new group IDs to assign to the user. Empty list means no change. - **note**: New optional text for additional user information or notes. `null` means no change. - **on_hold_timeout**: New UTC timestamp for when `on_hold` status should start or end. Only applicable if status is changed to \\'on_hold\\'. - **on_hold_expire_duration**: New duration (in seconds) for how long the user should stay in `on_hold` status. Only applicable if status is changed to \\'on_hold\\'. - **next_plan**: Next user plan (resets after use). Note: Fields set to `null` or omitted will not be modified.\n * @summary Modify User\n * @param {string} username \n * @param {UserModify} userModify \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof UserApi\n */\n public modifyUser(username: string, userModify: UserModify, options?: RawAxiosRequestConfig) {\n return UserApiFp(this.configuration).modifyUser(username, userModify, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * \n * @summary Modify User With Template\n * @param {string} username \n * @param {ModifyUserByTemplate} modifyUserByTemplate \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof UserApi\n */\n public modifyUserWithTemplate(username: string, modifyUserByTemplate: ModifyUserByTemplate, options?: RawAxiosRequestConfig) {\n return UserApiFp(this.configuration).modifyUserWithTemplate(username, modifyUserByTemplate, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * Remove a user\n * @summary Remove User\n * @param {string} username \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof UserApi\n */\n public removeUser(username: string, options?: RawAxiosRequestConfig) {\n return UserApiFp(this.configuration).removeUser(username, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * Reset user data usage\n * @summary Reset User Data Usage\n * @param {string} username \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof UserApi\n */\n public resetUserDataUsage(username: string, options?: RawAxiosRequestConfig) {\n return UserApiFp(this.configuration).resetUserDataUsage(username, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * Reset all users data usage\n * @summary Reset Users Data Usage\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof UserApi\n */\n public resetUsersDataUsage(options?: RawAxiosRequestConfig) {\n return UserApiFp(this.configuration).resetUsersDataUsage(options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * Revoke users subscription (Subscription link and proxies)\n * @summary Revoke User Subscription\n * @param {string} username \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof UserApi\n */\n public revokeUserSubscription(username: string, options?: RawAxiosRequestConfig) {\n return UserApiFp(this.configuration).revokeUserSubscription(username, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * Set a new owner (admin) for a user.\n * @summary Set Owner\n * @param {string} username \n * @param {string} adminUsername \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof UserApi\n */\n public setOwner(username: string, adminUsername: string, options?: RawAxiosRequestConfig) {\n return UserApiFp(this.configuration).setOwner(username, adminUsername, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * PasarGuardAPI\n * Unified GUI Censorship Resistant Solution\n *\n * The version of the OpenAPI document: 1.8.2\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport type { Configuration } from '../configuration';\nimport type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios';\nimport globalAxios from 'axios';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common';\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, type RequestArgs, BaseAPI, RequiredError, operationServerMap } from '../base';\n// @ts-ignore\nimport type { Forbidden } from '../models';\n// @ts-ignore\nimport type { HTTPValidationError } from '../models';\n// @ts-ignore\nimport type { UserTemplateCreate } from '../models';\n// @ts-ignore\nimport type { UserTemplateModify } from '../models';\n// @ts-ignore\nimport type { UserTemplateResponse } from '../models';\n/**\n * UserTemplateApi - axios parameter creator\n * @export\n */\nexport const UserTemplateApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * Create a new user template - **name** can be up to 64 characters - **data_limit** must be in bytes and larger or equal to 0 - **expire_duration** must be in seconds and larger or equat to 0 - **group_ids** list of group ids\n * @summary Create User Template\n * @param {UserTemplateCreate} userTemplateCreate \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n createUserTemplate: async (userTemplateCreate: UserTemplateCreate, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'userTemplateCreate' is not null or undefined\n assertParamExists('createUserTemplate', 'userTemplateCreate', userTemplateCreate)\n const localVarPath = `/api/user_template`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(userTemplateCreate, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Get User Template information with id\n * @summary Get User Template\n * @param {number} templateId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getUserTemplate: async (templateId: number, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'templateId' is not null or undefined\n assertParamExists('getUserTemplate', 'templateId', templateId)\n const localVarPath = `/api/user_template/{template_id}`\n .replace(`{${\"template_id\"}}`, encodeURIComponent(String(templateId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Get a list of User Templates with optional pagination\n * @summary Get User Templates\n * @param {number} [offset] \n * @param {number} [limit] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getUserTemplates: async (offset?: number, limit?: number, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/api/user_templates`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n if (offset !== undefined) {\n localVarQueryParameter['offset'] = offset;\n }\n\n if (limit !== undefined) {\n localVarQueryParameter['limit'] = limit;\n }\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Modify User Template - **name** can be up to 64 characters - **data_limit** must be in bytes and larger or equal to 0 - **expire_duration** must be in seconds and larger or equat to 0 - **group_ids** list of group ids\n * @summary Modify User Template\n * @param {number} templateId \n * @param {UserTemplateModify} userTemplateModify \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n modifyUserTemplate: async (templateId: number, userTemplateModify: UserTemplateModify, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'templateId' is not null or undefined\n assertParamExists('modifyUserTemplate', 'templateId', templateId)\n // verify required parameter 'userTemplateModify' is not null or undefined\n assertParamExists('modifyUserTemplate', 'userTemplateModify', userTemplateModify)\n const localVarPath = `/api/user_template/{template_id}`\n .replace(`{${\"template_id\"}}`, encodeURIComponent(String(templateId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(userTemplateModify, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Remove a User Template by its ID\n * @summary Remove User Template\n * @param {number} templateId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n removeUserTemplate: async (templateId: number, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'templateId' is not null or undefined\n assertParamExists('removeUserTemplate', 'templateId', templateId)\n const localVarPath = `/api/user_template/{template_id}`\n .replace(`{${\"template_id\"}}`, encodeURIComponent(String(templateId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication OAuth2PasswordBearer required\n // oauth required\n await setOAuthToObject(localVarHeaderParameter, \"OAuth2PasswordBearer\", [], configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * UserTemplateApi - functional programming interface\n * @export\n */\nexport const UserTemplateApiFp = function(configuration?: Configuration) {\n const localVarAxiosParamCreator = UserTemplateApiAxiosParamCreator(configuration)\n return {\n /**\n * Create a new user template - **name** can be up to 64 characters - **data_limit** must be in bytes and larger or equal to 0 - **expire_duration** must be in seconds and larger or equat to 0 - **group_ids** list of group ids\n * @summary Create User Template\n * @param {UserTemplateCreate} userTemplateCreate \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async createUserTemplate(userTemplateCreate: UserTemplateCreate, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UserTemplateResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.createUserTemplate(userTemplateCreate, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['UserTemplateApi.createUserTemplate']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Get User Template information with id\n * @summary Get User Template\n * @param {number} templateId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getUserTemplate(templateId: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UserTemplateResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.getUserTemplate(templateId, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['UserTemplateApi.getUserTemplate']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Get a list of User Templates with optional pagination\n * @summary Get User Templates\n * @param {number} [offset] \n * @param {number} [limit] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getUserTemplates(offset?: number, limit?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<UserTemplateResponse>>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.getUserTemplates(offset, limit, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['UserTemplateApi.getUserTemplates']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Modify User Template - **name** can be up to 64 characters - **data_limit** must be in bytes and larger or equal to 0 - **expire_duration** must be in seconds and larger or equat to 0 - **group_ids** list of group ids\n * @summary Modify User Template\n * @param {number} templateId \n * @param {UserTemplateModify} userTemplateModify \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async modifyUserTemplate(templateId: number, userTemplateModify: UserTemplateModify, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UserTemplateResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.modifyUserTemplate(templateId, userTemplateModify, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['UserTemplateApi.modifyUserTemplate']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Remove a User Template by its ID\n * @summary Remove User Template\n * @param {number} templateId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async removeUserTemplate(templateId: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.removeUserTemplate(templateId, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['UserTemplateApi.removeUserTemplate']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n }\n};\n\n/**\n * UserTemplateApi - factory interface\n * @export\n */\nexport const UserTemplateApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n const localVarFp = UserTemplateApiFp(configuration)\n return {\n /**\n * Create a new user template - **name** can be up to 64 characters - **data_limit** must be in bytes and larger or equal to 0 - **expire_duration** must be in seconds and larger or equat to 0 - **group_ids** list of group ids\n * @summary Create User Template\n * @param {UserTemplateCreate} userTemplateCreate \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n createUserTemplate(userTemplateCreate: UserTemplateCreate, options?: RawAxiosRequestConfig): AxiosPromise<UserTemplateResponse> {\n return localVarFp.createUserTemplate(userTemplateCreate, options).then((request) => request(axios, basePath));\n },\n /**\n * Get User Template information with id\n * @summary Get User Template\n * @param {number} templateId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getUserTemplate(templateId: number, options?: RawAxiosRequestConfig): AxiosPromise<UserTemplateResponse> {\n return localVarFp.getUserTemplate(templateId, options).then((request) => request(axios, basePath));\n },\n /**\n * Get a list of User Templates with optional pagination\n * @summary Get User Templates\n * @param {number} [offset] \n * @param {number} [limit] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getUserTemplates(offset?: number, limit?: number, options?: RawAxiosRequestConfig): AxiosPromise<Array<UserTemplateResponse>> {\n return localVarFp.getUserTemplates(offset, limit, options).then((request) => request(axios, basePath));\n },\n /**\n * Modify User Template - **name** can be up to 64 characters - **data_limit** must be in bytes and larger or equal to 0 - **expire_duration** must be in seconds and larger or equat to 0 - **group_ids** list of group ids\n * @summary Modify User Template\n * @param {number} templateId \n * @param {UserTemplateModify} userTemplateModify \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n modifyUserTemplate(templateId: number, userTemplateModify: UserTemplateModify, options?: RawAxiosRequestConfig): AxiosPromise<UserTemplateResponse> {\n return localVarFp.modifyUserTemplate(templateId, userTemplateModify, options).then((request) => request(axios, basePath));\n },\n /**\n * Remove a User Template by its ID\n * @summary Remove User Template\n * @param {number} templateId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n removeUserTemplate(templateId: number, options?: RawAxiosRequestConfig): AxiosPromise<void> {\n return localVarFp.removeUserTemplate(templateId, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * UserTemplateApi - object-oriented interface\n * @export\n * @class UserTemplateApi\n * @extends {BaseAPI}\n */\nexport class UserTemplateApi extends BaseAPI {\n /**\n * Create a new user template - **name** can be up to 64 characters - **data_limit** must be in bytes and larger or equal to 0 - **expire_duration** must be in seconds and larger or equat to 0 - **group_ids** list of group ids\n * @summary Create User Template\n * @param {UserTemplateCreate} userTemplateCreate \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof UserTemplateApi\n */\n public createUserTemplate(userTemplateCreate: UserTemplateCreate, options?: RawAxiosRequestConfig) {\n return UserTemplateApiFp(this.configuration).createUserTemplate(userTemplateCreate, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * Get User Template information with id\n * @summary Get User Template\n * @param {number} templateId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof UserTemplateApi\n */\n public getUserTemplate(templateId: number, options?: RawAxiosRequestConfig) {\n return UserTemplateApiFp(this.configuration).getUserTemplate(templateId, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * Get a list of User Templates with optional pagination\n * @summary Get User Templates\n * @param {number} [offset] \n * @param {number} [limit] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof UserTemplateApi\n */\n public getUserTemplates(offset?: number, limit?: number, options?: RawAxiosRequestConfig) {\n return UserTemplateApiFp(this.configuration).getUserTemplates(offset, limit, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * Modify User Template - **name** can be up to 64 characters - **data_limit** must be in bytes and larger or equal to 0 - **expire_duration** must be in seconds and larger or equat to 0 - **group_ids** list of group ids\n * @summary Modify User Template\n * @param {number} templateId \n * @param {UserTemplateModify} userTemplateModify \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof UserTemplateApi\n */\n public modifyUserTemplate(templateId: number, userTemplateModify: UserTemplateModify, options?: RawAxiosRequestConfig) {\n return UserTemplateApiFp(this.configuration).modifyUserTemplate(templateId, userTemplateModify, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n\n /**\n * Remove a User Template by its ID\n * @summary Remove User Template\n * @param {number} templateId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof UserTemplateApi\n */\n public removeUserTemplate(templateId: number, options?: RawAxiosRequestConfig) {\n return UserTemplateApiFp(this.configuration).removeUserTemplate(templateId, options).then((request) => request(this.axios, this.basePath)).then(({data}) => data);\n }\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * PasarGuardAPI\n * Unified GUI Censorship Resistant Solution\n *\n * The version of the OpenAPI document: 1.8.2\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface ConfigurationParameters {\n apiKey?: string | Promise<string> | ((name: string) => string) | ((name: string) => Promise<string>);\n username?: string;\n password?: string;\n accessToken?: string | Promise<string> | ((name?: string, scopes?: string[]) => string) | ((name?: string, scopes?: string[]) => Promise<string>);\n basePath?: string;\n serverIndex?: number;\n baseOptions?: any;\n formDataCtor?: new () => any;\n}\n\nexport class Configuration {\n /**\n * parameter for apiKey security\n * @param name security name\n * @memberof Configuration\n */\n apiKey?: string | Promise<string> | ((name: string) => string) | ((name: string) => Promise<string>);\n /**\n * parameter for basic security\n *\n * @type {string}\n * @memberof Configuration\n */\n username?: string;\n /**\n * parameter for basic security\n *\n * @type {string}\n * @memberof Configuration\n */\n password?: string;\n /**\n * parameter for oauth2 security\n * @param name security name\n * @param scopes oauth2 scope\n * @memberof Configuration\n */\n accessToken?: string | Promise<string> | ((name?: string, scopes?: string[]) => string) | ((name?: string, scopes?: string[]) => Promise<string>);\n /**\n * override base path\n *\n * @type {string}\n * @memberof Configuration\n */\n basePath?: string;\n /**\n * override server index\n *\n * @type {number}\n * @memberof Configuration\n */\n serverIndex?: number;\n /**\n * base options for axios calls\n *\n * @type {any}\n * @memberof Configuration\n */\n baseOptions?: any;\n /**\n * The FormData constructor that will be used to create multipart form data\n * requests. You can inject this here so that execution environments that\n * do not support the FormData class can still run the generated client.\n *\n * @type {new () => FormData}\n */\n formDataCtor?: new () => any;\n\n constructor(param: ConfigurationParameters = {}) {\n this.apiKey = param.apiKey;\n this.username = param.username;\n this.password = param.password;\n this.accessToken = param.accessToken;\n this.basePath = param.basePath;\n this.serverIndex = param.serverIndex;\n this.baseOptions = {\n ...param.baseOptions,\n headers: {\n ...param.baseOptions?.headers,\n },\n };\n this.formDataCtor = param.formDataCtor;\n }\n\n /**\n * Check if the given MIME is a JSON MIME.\n * JSON MIME examples:\n * application/json\n * application/json; charset=UTF8\n * APPLICATION/JSON\n * application/vnd.company+json\n * @param mime - MIME (Multipurpose Internet Mail Extensions)\n * @return True if the given MIME is JSON, false otherwise.\n */\n public isJsonMime(mime: string): boolean {\n const jsonMime: RegExp = new RegExp('^(application\\/json|[^;/ \\t]+\\/[^;/ \\t]+[+]json)[ \\t]*(;.*)?$', 'i');\n return mime !== null && (jsonMime.test(mime) || mime.toLowerCase() === 'application/json-patch+json');\n }\n}\n","import axios, { AxiosInstance } from 'axios'\nimport axiosRetry from 'axios-retry'\n\ninterface Options {\n retries?: number\n}\n\nexport const createAxiosClient = (baseUrl: string, options?: Options): AxiosInstance => {\n const client = axios.create({ baseURL: baseUrl })\n\n axiosRetry(client, {\n retries: options?.retries ?? 3,\n retryDelay: retryCount => retryCount * 1000,\n })\n\n return client\n}","import { AdminApi, Configuration } from './generated-sources'\n\nexport class AuthenticationError extends Error {\n constructor(message: string) {\n super(message)\n this.name = 'AuthenticationError'\n }\n}\n\nexport class AuthService {\n private configuration: Configuration\n public authPromise: Promise<void> | null = null\n public isAuthenticating = false\n\n constructor(configuration: Configuration) {\n this.configuration = configuration\n }\n\n async authenticate(username: string, password: string): Promise<void> {\n if (this.authPromise) return this.authPromise\n\n this.isAuthenticating = true\n this.authPromise = new Promise((resolve, reject) => {\n const authenticateAsync = async () => {\n try {\n const admin = new AdminApi(this.configuration)\n const data = await admin.adminToken(username, password)\n if (data?.access_token) {\n this.configuration.accessToken = data.access_token\n resolve()\n } else {\n this.configuration.accessToken = undefined\n reject(new AuthenticationError('Failed to retrieve access token'))\n }\n } catch (error) {\n console.error('Authentication failed', error)\n this.configuration.accessToken = undefined\n reject(new AuthenticationError('Authentication failed'))\n } finally {\n this.authPromise = null\n this.isAuthenticating = false\n }\n }\n authenticateAsync()\n })\n\n return this.authPromise\n }\n\n async waitForAuth(): Promise<void> {\n await this.authPromise\n }\n\n retryAuth() {\n return this.authenticate(this.configuration.username!, this.configuration.password!)\n }\n\n get accessToken() {\n return this.configuration.accessToken?.toString() || ''\n }\n\n set accessToken(token: string) {\n this.configuration.accessToken = token\n }\n}","import { AxiosInstance } from 'axios'\n\nimport { AuthService } from './AuthService'\n\n/**\n * Sets up interceptors for the Axios client.\n *\n * @param client - The Axios instance to set up interceptors for.\n * @param authService - The authentication service instance.\n * @param config - The configuration object containing authentication details.\n * @param config.username - The username for authentication.\n * @param config.password - The password for authentication.\n */\nexport const setupInterceptors = (\n client: AxiosInstance,\n authService: AuthService,\n config: { username: string; password: string }\n) => {\n client.interceptors.request.use(\n async requestConfig => {\n await authService.waitForAuth()\n const accessToken = authService.accessToken\n requestConfig.headers.authorization = accessToken ? `Bearer ${accessToken}` : undefined\n return requestConfig\n },\n error => Promise.reject(error)\n )\n\n client.interceptors.response.use(\n response => response,\n async error => {\n const retryConfig = error?.config\n if (error?.response?.status === 401 && !retryConfig?.sent) {\n retryConfig.sent = true\n try {\n await authService.authenticate(config.username, config.password)\n const accessToken = authService.accessToken\n if (accessToken) {\n retryConfig.headers.authorization = `Bearer ${accessToken}`\n return client(retryConfig)\n }\n } catch (err) {\n return Promise.reject(err)\n }\n }\n return Promise.reject(error)\n }\n )\n}","import {AxiosInstance} from \"axios\";\nimport {\n AdminApi,\n Configuration,\n CoreApi,\n DefaultApi,\n NodeApi,\n SubscriptionApi,\n SystemApi,\n UserApi, UserTemplateApi\n} from \"./generated-sources\";\nimport {createAxiosClient} from \"./createAxiosClient\";\nimport {AuthService} from \"./AuthService\";\nimport {setupInterceptors} from \"./interceptors\";\n\n/**\n * Configuration options for initializing the PasarguardSDK client.\n *\n * @property {string} baseUrl - The base URL of the Pasarguard API instance. Example: 'https://api.example.com'.\n * @property {string} username - The username for authentication. Required for all authenticated operations.\n * @property {string} password - The password for authentication. Required for all authenticated operations.\n * @property {string} [token] - Optional JWT token for direct authorization. If provided, the SDK will use this token for requests instead of performing authentication.\n * @property {number} [retries] - Optional number of automatic retries for failed HTTP requests. Default is 3.\n * @property {boolean} [authenticateOnInit=true] - If true or omitted, the SDK will automatically perform authentication during initialization using the provided credentials. If set to false, authentication will not be performed automatically; you must call {@link PasarguardSDK.authorize} manually to obtain an access token.\n */\nexport interface Config {\n baseUrl: string\n username: string\n password: string\n token?: string\n retries?: number\n authenticateOnInit?: boolean\n}\n\n/**\n * The main SDK class for interacting with the Pasarguard API.\n *\n * This class provides access to various API modules (e.g., Admin, Core, Node, etc.)\n * and handles authentication, request retries, and interceptor setup.\n */\nexport class PasarguardSDK {\n private client: AxiosInstance\n private configuration: Configuration\n private authService: AuthService\n\n /**\n * API module for administrative operations.\n */\n admin: AdminApi\n\n /**\n * API module for core operations.\n */\n core: CoreApi\n\n /**\n * API module for node-related operations.\n */\n node: NodeApi\n\n /**\n * API module for user-related operations.\n */\n user: UserApi\n\n /**\n * API module for system-related operations.\n */\n system: SystemApi\n\n /**\n * API module for default operations.\n */\n default: DefaultApi\n\n /**\n * API module for subscription-related operations.\n */\n subscription: SubscriptionApi\n\n /**\n * API module for user template operations.\n */\n userTemplate: UserTemplateApi\n\n /**\n * Instantiates the PasarguardSDK client for interacting with the Pasarguard API.\n *\n * @param {Config} config - The configuration object for the SDK.\n * @param {string} config.baseUrl - The base URL of the Pasarguard API.\n * @param {string} config.username - The username for authentication.\n * @param {string} config.password - The password for authentication.\n * @param {string} [config.token] - Optional JWT token for direct authorization if already authenticated.\n * @param {number} [config.retries] - Optional number of automatic retries for failed HTTP requests.\n * @param {boolean} [config.authenticateOnInit=true] - If true or omitted, the SDK will automatically perform authentication during initialization using the provided credentials. If set to false, authentication will not be performed automatically; you must call {@link authorize} manually to obtain an access token.\n *\n * This option is useful for advanced scenarios where you want to handle authentication errors yourself, or delay authentication until a later point in your application flow.\n *\n * @throws {Error} Throws if required credentials are missing.\n *\n * @example\n * // Automatic authentication (default)\n * const sdk = new PasarguardSDK({\n * baseUrl: 'https://api.example.com',\n * username: 'admin',\n * password: 'secret',\n * });\n *\n * // Manual authentication\n * const sdk = new PasarguardSDK({\n * baseUrl: 'https://api.example.com',\n * username: 'admin',\n * password: 'secret',\n * authenticateOnInit: false,\n * });\n * await sdk.authorize();\n */\n constructor(config: Config) {\n if (!config.username || !config.password) {\n throw new Error('No credentials provided for authentication')\n }\n\n this.configuration = new Configuration({\n basePath: config.baseUrl,\n username: config.username,\n password: config.password,\n accessToken: config.token,\n })\n\n this.client = createAxiosClient(config.baseUrl, { retries: config.retries })\n this.authService = new AuthService(this.configuration)\n\n this.admin = new AdminApi(this.configuration, config.baseUrl, this.client)\n this.core = new CoreApi(this.configuration, config.baseUrl, this.client)\n this.node = new NodeApi(this.configuration, config.baseUrl, this.client)\n this.user = new UserApi(this.configuration, config.baseUrl, this.client)\n this.system = new SystemApi(this.configuration, config.baseUrl, this.client)\n this.default = new DefaultApi(this.configuration, config.baseUrl, this.client)\n this.subscription = new SubscriptionApi(this.configuration, config.baseUrl, this.client)\n this.userTemplate = new UserTemplateApi(this.configuration, config.baseUrl, this.client)\n\n setupInterceptors(this.client, this.authService, config)\n\n if (!config.token && config.authenticateOnInit !== false) {\n this.authService.authenticate(config.username, config.password)\n }\n }\n\n /**\n * Retrieves the current authentication token.\n *\n * @returns {Promise<string>} The JWT token currently in use, or empty string if no token is available.\n *\n * @example\n * const token = await sdk.getAuthToken();\n * // Use token for custom requests\n */\n async getAuthToken(): Promise<string> {\n await this.authService.waitForAuth()\n return this.authService.accessToken\n }\n\n /**\n * Explicitly performs user authentication using the username and password provided in the configuration.\n *\n * This method is useful if you want to manually control the authentication process and error handling, for example, when using the `authenticateOnInit: false` parameter in the SDK constructor.\n *\n * If authentication is already in progress, this method returns the current authentication promise. If authentication has already been completed, it will initiate a new authentication request (refresh the token).\n *\n * @param {boolean} [force=false] - If true, forces a new authentication request even if one is already in progress.\n * @returns {Promise<void>} A promise that resolves on successful authentication or rejects with an {@link AuthenticationError} on failure.\n *\n * @example\n * // Manual authentication with error handling\n * const sdk = new PasarguardSDK({\n * baseUrl: 'https://api.example.com',\n * username: 'admin',\n * password: 'secret',\n * authenticateOnInit: false,\n * });\n * try {\n * await sdk.authorize();\n * // Now you can perform authenticated requests\n * } catch (e) {\n * if (e instanceof AuthenticationError) {\n * // Handle authentication error\n * }\n * }\n *\n * // Force re-authentication (e.g., after token expiration)\n * await sdk.authorize(true);\n */\n authorize(force = false): Promise<void> {\n if (this.authService.isAuthenticating && !force) {\n return this.authService.authPromise!\n }\n return this.authService.authenticate(this.configuration.username!, this.configuration.password!)\n }\n}"]}