| /* |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| import request from '@/utils/request' |
| |
| const SPRING_BASE_URL_V2 = '/pulsar-manager/admin/v2' |
| |
| const BASE_URL_V2 = '/admin/v2' |
| |
| export function fetchTopics(tenant, namespace, query) { |
| return request({ |
| url: BASE_URL_V2 + `/persistent/${tenant}/${namespace}`, |
| method: 'get', |
| params: { query } |
| }) |
| } |
| |
| export function fetchTopicsByPulsarManager(tenant, namespace, query) { |
| return request({ |
| url: SPRING_BASE_URL_V2 + `/topics/${tenant}/${namespace}`, |
| method: 'get', |
| params: { query } |
| }) |
| } |
| |
| export function fetchPersistentPartitonsTopics(tenant, namespace) { |
| return request({ |
| url: BASE_URL_V2 + `/persistent/${tenant}/${namespace}/partitioned`, |
| method: 'get' |
| }) |
| } |
| |
| export function fetchNonPersistentPartitonsTopics(tenant, namespace) { |
| return request({ |
| url: BASE_URL_V2 + `/non-persistent/${tenant}/${namespace}/partitioned`, |
| method: 'get' |
| }) |
| } |
| |
| export function fetchTopicStats(tenantNamespaceTopic) { |
| return request({ |
| url: BASE_URL_V2 + `/persistent/${tenantNamespaceTopic}/stats`, |
| method: 'get' |
| }) |
| } |
| |
| export function fetchPartitionTopicStats(tenantNamespaceTopic) { |
| return request({ |
| url: BASE_URL_V2 + `/persistent/${tenantNamespaceTopic}/partitioned-stats`, |
| method: 'get' |
| }) |
| } |
| |
| export function putTopic(tenant, namespace, topic, data) { |
| return request({ |
| headers: { 'Content-Type': 'application/json' }, |
| url: BASE_URL_V2 + `/persistent/${tenant}/${namespace}/${topic}`, |
| method: 'put', |
| data |
| }) |
| } |
| |
| export function putTopicByPartition(tenant, namespace, topic, data) { |
| return request({ |
| headers: { 'Content-Type': 'application/json' }, |
| url: BASE_URL_V2 + `/persistent/${tenant}/${namespace}/${topic}/partitions`, |
| method: 'put', |
| data |
| }) |
| } |
| |
| export function getPartitionMetadata(tenantNamespaceTopic) { |
| return request({ |
| url: BASE_URL_V2 + `/persistent/${tenantNamespaceTopic}/partitions`, |
| method: 'get' |
| }) |
| } |
| |
| export function updateTopic(tenantNamespaceTopic, data) { |
| return request({ |
| headers: { 'Content-Type': 'application/json' }, |
| url: BASE_URL_V2 + `/persistent/${tenantNamespaceTopic}/partitions`, |
| method: 'post', |
| data |
| }) |
| } |
| |
| export function deletePartitionTopic(tenantNamespaceTopic) { |
| return request({ |
| url: BASE_URL_V2 + `/persistent/${tenantNamespaceTopic}/partitions`, |
| method: 'delete' |
| }) |
| } |
| |
| export function getPermissions(tenantNamespaceTopic) { |
| return request({ |
| url: BASE_URL_V2 + `/persistent/${tenantNamespaceTopic}/permissions`, |
| method: 'get' |
| }) |
| } |
| |
| export function grantPermissions(tenantNamespaceTopic, role, data) { |
| return request({ |
| url: BASE_URL_V2 + `/persistent/${tenantNamespaceTopic}/permissions/${role}`, |
| method: 'post', |
| data |
| }) |
| } |
| |
| export function revokePermissions(tenantNamespaceTopic, role) { |
| return request({ |
| url: BASE_URL_V2 + `/persistent/${tenantNamespaceTopic}/permissions/${role}`, |
| method: 'delete' |
| }) |
| } |
| |
| export function unload(tenantNamespaceTopic) { |
| return request({ |
| url: BASE_URL_V2 + `/persistent/${tenantNamespaceTopic}/unload`, |
| method: 'put' |
| }) |
| } |
| |
| export function skip(tenantNamespaceTopic, subName, numMessages) { |
| return request({ |
| url: BASE_URL_V2 + `/persistent/${tenantNamespaceTopic}/subscription/${subName}/skip/${numMessages}`, |
| method: 'post' |
| }) |
| } |
| |
| // no find document |
| // export function clearBacklog(tenantNamespaceTopic) { |
| // return request({ |
| // url: `persistent/${tenantNamespaceTopic}/permissions/${role}`, |
| // method: 'delete' |
| // }) |
| // } |
| |
| export function expireMessage(tenantNamespaceTopic, subName, expireTimeInSeconds) { |
| return request({ |
| url: BASE_URL_V2 + `/persistent/${tenantNamespaceTopic}/subscription/${subName}/expireMessages/${expireTimeInSeconds}`, |
| method: 'post' |
| }) |
| } |
| |
| export function expireMessagesAllSubscriptions(tenantNamespaceTopic, expireTimeInSeconds) { |
| return request({ |
| url: BASE_URL_V2 + `/persistent/${tenantNamespaceTopic}/all_subscription/expireMessages/${expireTimeInSeconds}`, |
| method: 'post' |
| }) |
| } |
| |
| export function peekMessages(tenantNamespaceTopic, subName, messagePosition) { |
| return request({ |
| url: BASE_URL_V2 + `/persistent/${tenantNamespaceTopic}/subscription/${subName}/position/${messagePosition}`, |
| method: 'get' |
| }) |
| } |
| |
| export function resetPersistentCursor(tenantNamespaceTopic, subName, timestamp, data) { |
| return request({ |
| url: BASE_URL_V2 + `/persistent/${tenantNamespaceTopic}/subscription/${subName}/resetcursor/${timestamp}`, |
| method: 'post', |
| data |
| }) |
| } |
| |
| export function resetNonPersistentCursor(tenantNamespaceTopic, subName, timestamp, data) { |
| return request({ |
| url: BASE_URL_V2 + `/non-persistent/${tenantNamespaceTopic}/subscription/${subName}/resetcursor/${timestamp}`, |
| method: 'post', |
| data |
| }) |
| } |
| |
| export function terminate(tenantNamespaceTopic) { |
| return request({ |
| url: BASE_URL_V2 + `/persistent/${tenantNamespaceTopic}/terminate`, |
| method: 'post' |
| }) |
| } |
| |
| export function compact(tenantNamespaceTopic) { |
| return request({ |
| url: BASE_URL_V2 + `/persistent/${tenantNamespaceTopic}/compaction`, |
| method: 'put' |
| }) |
| } |
| |
| export function compactionStatus(tenantNamespaceTopic, data) { |
| return request({ |
| url: BASE_URL_V2 + `/persistent/${tenantNamespaceTopic}/compaction`, |
| method: 'get', |
| data |
| }) |
| } |
| |
| export function offload(tenantNamespaceTopic, data) { |
| return request({ |
| headers: { 'Content-Type': 'application/json' }, |
| url: BASE_URL_V2 + `/persistent/${tenantNamespaceTopic}/offload`, |
| method: 'put', |
| data |
| }) |
| } |
| |
| export function offloadStatus(tenantNamespaceTopic, data) { |
| return request({ |
| url: BASE_URL_V2 + `/persistent/${tenantNamespaceTopic}/offload`, |
| method: 'get', |
| data |
| }) |
| } |