mirror of
https://github.com/supabase/supabase.git
synced 2026-10-17 23:29:08 +03:00
fix(studio): views filterings on local studio experience
This commit is contained in:
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) {
|
||||
|
||||
@@ -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,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 })
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user