diff --git a/pmm-app/src/pmm-qan/panel/components/Details/Details.service.ts b/pmm-app/src/pmm-qan/panel/components/Details/Details.service.ts index 6bc68c17a9..1f981d5f59 100644 --- a/pmm-app/src/pmm-qan/panel/components/Details/Details.service.ts +++ b/pmm-app/src/pmm-qan/panel/components/Details/Details.service.ts @@ -14,7 +14,7 @@ const getExample = async ({ tables, }; - return apiRequestQAN.post('/ObjectDetails/GetQueryExample', data); + return apiRequestQAN.post('/query:getExample', data); }; export default { diff --git a/pmm-app/src/pmm-qan/panel/components/Details/Explain/Explain.tools.ts b/pmm-app/src/pmm-qan/panel/components/Details/Explain/Explain.tools.ts index 0da80a4f70..24e2c4ae05 100644 --- a/pmm-app/src/pmm-qan/panel/components/Details/Explain/Explain.tools.ts +++ b/pmm-app/src/pmm-qan/panel/components/Details/Explain/Explain.tools.ts @@ -80,7 +80,7 @@ export const fetchExplains = async ( }; const [classicResult, jsonResult] = await Promise.all([ - mysqlMethods.getExplainTraditional(payload).then(getActionResult), + mysqlMethods.getExplain(payload).then(getActionResult), mysqlMethods.getExplainJSON(payload).then(getActionResult), ]); diff --git a/pmm-app/src/pmm-qan/panel/components/Details/Metrics/Metrics.service.ts b/pmm-app/src/pmm-qan/panel/components/Details/Metrics/Metrics.service.ts index 6ebbe8dcd1..7f1b6da853 100644 --- a/pmm-app/src/pmm-qan/panel/components/Details/Metrics/Metrics.service.ts +++ b/pmm-app/src/pmm-qan/panel/components/Details/Metrics/Metrics.service.ts @@ -1,4 +1,4 @@ -import { apiRequestQAN } from 'shared/components/helpers/api'; +import { apiRequest } from 'shared/components/helpers/api'; import { getLabelQueryParams } from 'pmm-qan/panel/QueryAnalytics.tools'; import { HistogramRequest, HistogramResponse } from './Metrics.types'; @@ -15,7 +15,7 @@ export const getMetrics = async ({ totals, }; - return apiRequestQAN.post('/ObjectDetails/GetMetrics', body); + return apiRequest.post('/v1/qan:getMetrics', body); }; export const getHistogram = async ({ @@ -28,7 +28,7 @@ export const getHistogram = async ({ period_start_to: to, }; - return apiRequestQAN.post('/ObjectDetails/GetHistogram', body); + return apiRequest.post('/v1/qan:getHistogram', body); }; export default { diff --git a/pmm-app/src/pmm-qan/panel/components/Details/Plan/Plan.service.ts b/pmm-app/src/pmm-qan/panel/components/Details/Plan/Plan.service.ts index 5f51b13d86..3ad61b3732 100644 --- a/pmm-app/src/pmm-qan/panel/components/Details/Plan/Plan.service.ts +++ b/pmm-app/src/pmm-qan/panel/components/Details/Plan/Plan.service.ts @@ -8,7 +8,7 @@ export const PlanService = { }; return apiRequestQAN - .post('/ObjectDetails/GetQueryPlan', body) + .get(`/query/${body.queryid}/plan`) .then(({ planid, query_plan }) => ( planid && query_plan ? { id: planid, plan: query_plan } : undefined )); diff --git a/pmm-app/src/pmm-qan/panel/components/Details/database-models/mongodb/mongodb.ts b/pmm-app/src/pmm-qan/panel/components/Details/database-models/mongodb/mongodb.ts index 5f4a62e483..e748aa4e4a 100644 --- a/pmm-app/src/pmm-qan/panel/components/Details/database-models/mongodb/mongodb.ts +++ b/pmm-app/src/pmm-qan/panel/components/Details/database-models/mongodb/mongodb.ts @@ -9,7 +9,7 @@ export const mongodbMethods = { query: example.example, }); - return result.action_id; + return result.mongodb_explain.action_id; } catch (e) { console.error(e); diff --git a/pmm-app/src/pmm-qan/panel/components/Details/database-models/mongodb/service.ts b/pmm-app/src/pmm-qan/panel/components/Details/database-models/mongodb/service.ts index 61d9218d6b..e5ff2d592c 100644 --- a/pmm-app/src/pmm-qan/panel/components/Details/database-models/mongodb/service.ts +++ b/pmm-app/src/pmm-qan/panel/components/Details/database-models/mongodb/service.ts @@ -1,7 +1,9 @@ -import { apiRequestManagement } from 'shared/components/helpers/api'; +import { apiRequest } from 'shared/components/helpers/api'; export default { getTraditionalExplainJSONMongo(body) { - return apiRequestManagement.post('/Actions/StartMongoDBExplain', body); + const requestBody = { mongodb_explain: body }; + + return apiRequest.post('/v1/actions:startServiceAction', requestBody); }, }; diff --git a/pmm-app/src/pmm-qan/panel/components/Details/database-models/mysql/mysql.ts b/pmm-app/src/pmm-qan/panel/components/Details/database-models/mysql/mysql.ts index 5e812a3329..315b50e0b5 100644 --- a/pmm-app/src/pmm-qan/panel/components/Details/database-models/mysql/mysql.ts +++ b/pmm-app/src/pmm-qan/panel/components/Details/database-models/mysql/mysql.ts @@ -13,7 +13,7 @@ export const mysqlMethods = { service_id: example.service_id, }); - return result.action_id; + return result.mysql_show_create_table.action_id; }, getIndexes: async ({ example, tableName, database }) => { @@ -27,7 +27,7 @@ export const mysqlMethods = { service_id: example.service_id, }); - return result.action_id; + return result.mysql_show_index.action_id; }, getStatuses: async ({ example, tableName, database }) => { @@ -41,16 +41,16 @@ export const mysqlMethods = { service_id: example.service_id, }); - return result.action_id; + return result.mysql_show_table_status.action_id; }, getExplainJSON: async ({ example, queryId, placeholders }) => { try { const payload = getExplainPayload(example, queryId, placeholders); - const result = await MysqlDatabaseService.getTraditionalExplainJSONMysql(payload); + const result = await MysqlDatabaseService.getExplainJSON(payload); - return result.action_id; + return result.mysql_explain_json.action_id; } catch (e) { console.error(e); @@ -58,13 +58,13 @@ export const mysqlMethods = { } }, - getExplainTraditional: async ({ example, queryId, placeholders }) => { + getExplain: async ({ example, queryId, placeholders }) => { try { const payload = getExplainPayload(example, queryId, placeholders); - const result = await MysqlDatabaseService.getTraditionalExplainMysql(payload); + const result = await MysqlDatabaseService.getExplain(payload); - return result.action_id; + return result.mysql_explain.action_id; } catch (e) { console.error(e); diff --git a/pmm-app/src/pmm-qan/panel/components/Details/database-models/mysql/service.ts b/pmm-app/src/pmm-qan/panel/components/Details/database-models/mysql/service.ts index 30e7284062..13c0e8b491 100644 --- a/pmm-app/src/pmm-qan/panel/components/Details/database-models/mysql/service.ts +++ b/pmm-app/src/pmm-qan/panel/components/Details/database-models/mysql/service.ts @@ -1,23 +1,33 @@ -import { apiRequestManagement } from 'shared/components/helpers/api'; +import { apiRequest } from 'shared/components/helpers/api'; export default { getShowCreateTableMySQL(body) { - return apiRequestManagement.post('/Actions/StartMySQLShowCreateTable', body); + const requestBody = { mysql_show_create_table: body }; + + return apiRequest.post('/v1/actions:startServiceAction', requestBody); }, getMysqlTableStatus(body) { - return apiRequestManagement.post('/Actions/StartMySQLShowTableStatus', body); + const requestBody = { mysql_show_table_status: body }; + + return apiRequest.post('/v1/actions:startServiceAction', requestBody); }, getMysqlIndex(body) { - return apiRequestManagement.post('/Actions/StartMySQLShowIndex', body); + const requestBody = { mysql_show_index: body }; + + return apiRequest.post('/v1/actions:startServiceAction', requestBody); }, - getTraditionalExplainJSONMysql(body) { - return apiRequestManagement.post('/Actions/StartMySQLExplainJSON', body); + getExplainJSON(body) { + const requestBody = { mysql_explain_json: body }; + + return apiRequest.post('/v1/actions:startServiceAction', requestBody); }, - getTraditionalExplainMysql(body) { - return apiRequestManagement.post('/Actions/StartMySQLExplain', body); + getExplain(body) { + const requestBody = { mysql_explain: body }; + + return apiRequest.post('/v1/actions:startServiceAction', requestBody); }, }; diff --git a/pmm-app/src/pmm-qan/panel/components/Details/database-models/postgresql/postgresql.ts b/pmm-app/src/pmm-qan/panel/components/Details/database-models/postgresql/postgresql.ts index 3d7494e80e..c44a775176 100644 --- a/pmm-app/src/pmm-qan/panel/components/Details/database-models/postgresql/postgresql.ts +++ b/pmm-app/src/pmm-qan/panel/components/Details/database-models/postgresql/postgresql.ts @@ -12,7 +12,7 @@ export const postgresqlMethods = { database, }); - return result.action_id; + return result.postgresql_show_create_table.action_id; }, getIndexes: async ({ example, tableName, database }) => { if (!tableName) { @@ -25,6 +25,6 @@ export const postgresqlMethods = { database, }); - return result.action_id; + return result.postgresql_show_index.action_id; }, }; diff --git a/pmm-app/src/pmm-qan/panel/components/Details/database-models/postgresql/service.ts b/pmm-app/src/pmm-qan/panel/components/Details/database-models/postgresql/service.ts index d65c0bce5e..43559f8201 100644 --- a/pmm-app/src/pmm-qan/panel/components/Details/database-models/postgresql/service.ts +++ b/pmm-app/src/pmm-qan/panel/components/Details/database-models/postgresql/service.ts @@ -1,10 +1,14 @@ -import { apiRequestManagement } from 'shared/components/helpers/api'; +import { apiRequest } from 'shared/components/helpers/api'; export default { getPostgreSQLIndex(body) { - return apiRequestManagement.post('/Actions/StartPostgreSQLShowIndex', body); + const requestBody = { postgres_show_index: body }; + + return apiRequest.post('/v1/actions:startServiceAction', requestBody); }, getShowCreateTablePostgreSQL(body) { - return apiRequestManagement.post('/Actions/StartPostgreSQLShowCreateTable', body); + const requestBody = { postgres_show_create_table: body }; + + return apiRequest.post('/v1/actions:startServiceAction', requestBody); }, }; diff --git a/pmm-app/src/pmm-qan/panel/components/Filters/Filters.service.ts b/pmm-app/src/pmm-qan/panel/components/Filters/Filters.service.ts index ca0ea0189f..59f279393b 100644 --- a/pmm-app/src/pmm-qan/panel/components/Filters/Filters.service.ts +++ b/pmm-app/src/pmm-qan/panel/components/Filters/Filters.service.ts @@ -29,7 +29,7 @@ export const markCheckedLabels = (labels, paramLabels) => { export default { getQueryOverviewFiltersList: async (paramLabels, from, to, mainMetric) => { - const { labels } = await apiRequestQAN.post('/Filters/Get', { + const { labels } = await apiRequestQAN.post('/metrics:getFilters', { labels: getLabelQueryParams(paramLabels), main_metric_name: mainMetric, period_start_from: from, diff --git a/pmm-app/src/pmm-qan/panel/components/Overview/Overview.service.ts b/pmm-app/src/pmm-qan/panel/components/Overview/Overview.service.ts index 504024e78f..56a8455938 100644 --- a/pmm-app/src/pmm-qan/panel/components/Overview/Overview.service.ts +++ b/pmm-app/src/pmm-qan/panel/components/Overview/Overview.service.ts @@ -20,6 +20,6 @@ export default { search: body.dimensionSearchText, }; - return apiRequestQAN.post('/GetReport', request); + return apiRequestQAN.post('/metrics:getReport', request); }, }; diff --git a/pmm-app/src/shared/components/Actions/Actions.service.ts b/pmm-app/src/shared/components/Actions/Actions.service.ts index 73dacd4db8..d6054df6e4 100644 --- a/pmm-app/src/shared/components/Actions/Actions.service.ts +++ b/pmm-app/src/shared/components/Actions/Actions.service.ts @@ -1,8 +1,8 @@ -import { apiRequestManagement } from '../helpers/api'; +import { apiRequest } from '../helpers/api'; import { ActionRequest, ActionResponse } from './Actions.types'; export const ActionsService = { getActionResult(body: ActionRequest): Promise { - return apiRequestManagement.post('/Actions/Get', body); + return apiRequest.get(`/v1/actions/${body.action_id}`); }, }; diff --git a/pmm-app/src/shared/components/helpers/api.ts b/pmm-app/src/shared/components/helpers/api.ts index eb1f9c3885..f4d7fafd4c 100644 --- a/pmm-app/src/shared/components/helpers/api.ts +++ b/pmm-app/src/shared/components/helpers/api.ts @@ -60,7 +60,7 @@ export class ApiRequest { } export const apiRequest = new ApiRequest({}); -export const apiRequestQAN = new ApiRequest({ baseURL: '/v0/qan' }); +export const apiRequestQAN = new ApiRequest({ baseURL: '/v1/qan' }); export const apiRequestManagement = new ApiRequest({ baseURL: '/v1/management' }); export const apiRequestInventory = new ApiRequest({ baseURL: '/v1/inventory' }); export const apiRequestSettings = new ApiRequest({ baseURL: '/v1/Settings' }); diff --git a/pmm-app/src/shared/core/Settings.service.ts b/pmm-app/src/shared/core/Settings.service.ts index cc279855e8..e97570c7dc 100644 --- a/pmm-app/src/shared/core/Settings.service.ts +++ b/pmm-app/src/shared/core/Settings.service.ts @@ -3,13 +3,13 @@ import { API } from './constants'; import { Settings, SettingsAPIResponse, SettingsPayload } from './types'; export const SettingsService = { - async getSettings(disableNotifications = false): Promise { - const { settings } = await apiRequest.post(API.SETTINGS, {}, disableNotifications) as SettingsAPIResponse; + async getSettings(): Promise { + const { settings } = await apiRequest.get(API.SETTINGS) as SettingsAPIResponse; return toModel(settings); }, }; const toModel = (response: SettingsPayload): Settings => ({ - updatesDisabled: response.updates_disabled, + updatesEnabled: response.updates_enabled, }); diff --git a/pmm-app/src/shared/core/__mocks__/Settings.service.ts b/pmm-app/src/shared/core/__mocks__/Settings.service.ts index b2ae50393d..5d545c0f43 100644 --- a/pmm-app/src/shared/core/__mocks__/Settings.service.ts +++ b/pmm-app/src/shared/core/__mocks__/Settings.service.ts @@ -2,6 +2,6 @@ import { Settings } from '../types'; export const SettingsService = { async getSettings(): Promise { - return Promise.resolve({ updatesDisabled: false }); + return Promise.resolve({ updatesEnabled: true }); }, }; diff --git a/pmm-app/src/shared/core/constants.ts b/pmm-app/src/shared/core/constants.ts index 44f1491f77..db430ec958 100644 --- a/pmm-app/src/shared/core/constants.ts +++ b/pmm-app/src/shared/core/constants.ts @@ -1,8 +1,7 @@ import { Databases } from './types'; export const API = { - ALERTMANAGER: '/alertmanager/api/v2', - SETTINGS: '/v1/Settings/Get', + SETTINGS: '/v1/server/settings', }; export const DATABASE_LABELS = { diff --git a/pmm-app/src/shared/core/types.ts b/pmm-app/src/shared/core/types.ts index c96009c23a..7d7ccbde08 100644 --- a/pmm-app/src/shared/core/types.ts +++ b/pmm-app/src/shared/core/types.ts @@ -7,7 +7,7 @@ export enum Databases { } export interface Settings { - updatesDisabled?: boolean; + updatesEnabled?: boolean; } export interface SettingsAPIResponse { @@ -15,7 +15,7 @@ export interface SettingsAPIResponse { } export interface SettingsPayload { - updates_disabled: boolean; + updates_enabled: boolean; } export interface PaginatedPayload { diff --git a/setup-page/src/App.jsx b/setup-page/src/App.jsx index a48c4fd2f9..78f6f9e3a3 100644 --- a/setup-page/src/App.jsx +++ b/setup-page/src/App.jsx @@ -16,16 +16,13 @@ export function App() { setLoading(true); try { - const response = await fetch('/v1/AWSInstanceCheck', { - method: 'POST', + const response = await fetch(`/v1/server/AWSInstance?instance_id${instanceId.trim()}`, { + method: 'GET', credentials: "include", cache: "no-cache", headers: { "Content-Type": "application/json", - }, - body: JSON.stringify({ - instance_id: instanceId.trim(), - }), + } }); if (!response.ok) {