fix(studio): views filterings on local studio experience

This commit is contained in:
avallete committed 2024-10-02 17:36:48 +02:00
1 parent 1c73bc1e16
commit 06acd4a89d
7 files changed
+31 -65

No files matched your search

@@ -4,6 +4,7 @@ import { constructHeaders } from 'lib/api/apiHelpers'
import apiWrapper from 'lib/api/apiWrapper'
import { delete_, get, post } from 'lib/common/fetch'
import { PG_META_URL } from 'lib/constants'
import { getPgMetaRedirectUrl } from './tables'
export default (req: NextApiRequest, res: NextApiResponse) =>
apiWrapper(req, res, handler, { withAuth: true })
@@ -25,7 +26,7 @@ async function handler(req: NextApiRequest, res: NextApiResponse) {
const handleGetAll = async (req: NextApiRequest, res: NextApiResponse) => {
const headers = constructHeaders(req.headers)
let response = await get(`${PG_META_URL}/column-privileges`, {
let response = await get(getPgMetaRedirectUrl(req, 'column-privileges'), {
headers,
})
if (response.error) {
@@ -3,6 +3,7 @@ import apiWrapper from 'lib/api/apiWrapper'
import { constructHeaders, toSnakeCase } from 'lib/api/apiHelpers'
import { PG_META_URL } from 'lib/constants'
import { delete_, get, patch, post } from 'lib/common/fetch'
import { getPgMetaRedirectUrl } from './tables'
export default (req: NextApiRequest, res: NextApiResponse) =>
apiWrapper(req, res, handler, { withAuth: true })
@@ -27,7 +28,7 @@ async function handler(req: NextApiRequest, res: NextApiResponse) {
const handleGetAll = async (req: NextApiRequest, res: NextApiResponse) => {
const headers = constructHeaders(req.headers)
let response = await get(`${PG_META_URL}/columns`, {
let response = await get(getPgMetaRedirectUrl(req, 'columns'), {
headers,
})
if (response.error) {
@@ -4,6 +4,7 @@ import apiWrapper from 'lib/api/apiWrapper'
import { get } from 'lib/common/fetch'
import { constructHeaders } from 'lib/api/apiHelpers'
import { PG_META_URL } from 'lib/constants'
import { getPgMetaRedirectUrl } from './tables'
export default (req: NextApiRequest, res: NextApiResponse) =>
apiWrapper(req, res, handler, { withAuth: true })
@@ -23,25 +24,9 @@ async function handler(req: NextApiRequest, res: NextApiResponse) {
const handleGetAll = async (req: NextApiRequest, res: NextApiResponse) => {
const headers = constructHeaders(req.headers)
const query = Object.entries(req.query).reduce((query, entry) => {
const [key, value] = entry
if (Array.isArray(value)) {
for (const v of value) {
query.append(key, v)
}
} else if (value) {
query.set(key, value)
}
return query
}, new URLSearchParams())
let url = `${PG_META_URL}/foreign-tables`
if (Object.keys(req.query).length > 0) {
url += `?${query}`
}
const response = await get(url, { headers })
let response = await get(getPgMetaRedirectUrl(req, 'foreign-tables'), {
headers,
})
if (response.error) {
return res.status(400).json({ error: response.error })
}
@@ -4,6 +4,7 @@ import apiWrapper from 'lib/api/apiWrapper'
import { get } from 'lib/common/fetch'
import { constructHeaders } from 'lib/api/apiHelpers'
import { PG_META_URL } from 'lib/constants'
import { getPgMetaRedirectUrl } from './tables'
export default (req: NextApiRequest, res: NextApiResponse) =>
apiWrapper(req, res, handler, { withAuth: true })
@@ -23,25 +24,9 @@ async function handler(req: NextApiRequest, res: NextApiResponse) {
const handleGetAll = async (req: NextApiRequest, res: NextApiResponse) => {
const headers = constructHeaders(req.headers)
const query = Object.entries(req.query).reduce((query, entry) => {
const [key, value] = entry
if (Array.isArray(value)) {
for (const v of value) {
query.append(key, v)
}
} else if (value) {
query.set(key, value)
}
return query
}, new URLSearchParams())
let url = `${PG_META_URL}/materialized-views`
if (Object.keys(req.query).length > 0) {
url += `?${query}`
}
const response = await get(url, { headers })
let response = await get(getPgMetaRedirectUrl(req, 'materialized-views'), {
headers,
})
if (response.error) {
return res.status(400).json({ error: response.error })
}
@@ -4,6 +4,7 @@ import { constructHeaders } from 'lib/api/apiHelpers'
import apiWrapper from 'lib/api/apiWrapper'
import { delete_, get, post } from 'lib/common/fetch'
import { PG_META_URL } from 'lib/constants'
import { getPgMetaRedirectUrl } from './tables'
export default (req: NextApiRequest, res: NextApiResponse) =>
apiWrapper(req, res, handler, { withAuth: true })
@@ -25,7 +26,7 @@ async function handler(req: NextApiRequest, res: NextApiResponse) {
const handleGetAll = async (req: NextApiRequest, res: NextApiResponse) => {
const headers = constructHeaders(req.headers)
let response = await get(`${PG_META_URL}/table-privileges`, {
let response = await get(getPgMetaRedirectUrl(req, 'table-privileges'), {
headers,
})
if (response.error) {
+13 -5
View File
@@ -26,9 +26,12 @@ async function handler(req: NextApiRequest, res: NextApiResponse) {
}
}
const handleGetAll = async (req: NextApiRequest, res: NextApiResponse) => {
const headers = constructHeaders(req.headers)
/**
* Construct the pgMeta redirection url passing along the filtering query params
* @param req
* @param endpoint
*/
export function getPgMetaRedirectUrl(req: NextApiRequest, endpoint: string) {
const query = Object.entries(req.query).reduce((query, entry) => {
const [key, value] = entry
if (Array.isArray(value)) {
@@ -41,12 +44,17 @@ const handleGetAll = async (req: NextApiRequest, res: NextApiResponse) => {
return query
}, new URLSearchParams())
let url = `${PG_META_URL}/tables`
let url = `${PG_META_URL}/${endpoint}`
if (Object.keys(req.query).length > 0) {
url += `?${query}`
}
return url
}
const response = await get(url, { headers })
const handleGetAll = async (req: NextApiRequest, res: NextApiResponse) => {
const headers = constructHeaders(req.headers)
const response = await get(getPgMetaRedirectUrl(req, 'tables'), { headers })
if (response.error) {
return res.status(400).json({ error: response.error })
}
+4 -19
View File
@@ -4,6 +4,7 @@ import apiWrapper from 'lib/api/apiWrapper'
import { get } from 'lib/common/fetch'
import { constructHeaders } from 'lib/api/apiHelpers'
import { PG_META_URL } from 'lib/constants'
import { getPgMetaRedirectUrl } from './tables'
export default (req: NextApiRequest, res: NextApiResponse) =>
apiWrapper(req, res, handler, { withAuth: true })
@@ -23,25 +24,9 @@ async function handler(req: NextApiRequest, res: NextApiResponse) {
const handleGetAll = async (req: NextApiRequest, res: NextApiResponse) => {
const headers = constructHeaders(req.headers)
const query = Object.entries(req.query).reduce((query, entry) => {
const [key, value] = entry
if (Array.isArray(value)) {
for (const v of value) {
query.append(key, v)
}
} else if (value) {
query.set(key, value)
}
return query
}, new URLSearchParams())
let url = `${PG_META_URL}/views`
if (Object.keys(req.query).length > 0) {
url += `?${query}`
}
const response = await get(url, { headers })
let response = await get(getPgMetaRedirectUrl(req, 'views'), {
headers,
})
if (response.error) {
return res.status(400).json({ error: response.error })
}