Skip to content

Commit

Permalink
s/table/name/g
Browse files Browse the repository at this point in the history
  • Loading branch information
betodealmeida committed Apr 18, 2024
1 parent 18bf8d6 commit 0a622a6
Show file tree
Hide file tree
Showing 6 changed files with 20 additions and 19 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,7 @@ const DndFilterSelect = (props: DndFilterSelectProps) => {

if (!isSqllabView && dbId && name && schema) {
SupersetClient.get({
endpoint: `/api/v1/database/${dbId}/table_metadata/extra/?table=${name}&schema=${schema}`,
endpoint: `/api/v1/database/${dbId}/table_metadata/extra/?name=${name}&schema=${schema}`,
})
.then(({ json }: { json: Record<string, any> }) => {
if (json?.partitions) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ class AdhocFilterControl extends React.Component {

if (!isSqllabView && dbId && name && schema) {
SupersetClient.get({
endpoint: `/api/v1/database/${dbId}/table_metadata/extra/?table=${name}&schema=${schema}`,
endpoint: `/api/v1/database/${dbId}/table_metadata/extra/?name=${name}&schema=${schema}`,
})
.then(({ json }) => {
if (json && json.partitions) {
Expand Down
4 changes: 2 additions & 2 deletions superset-frontend/src/hooks/apiResources/tables.ts
Original file line number Diff line number Diff line change
Expand Up @@ -126,8 +126,8 @@ const tableApi = api.injectEndpoints({
>({
query: ({ dbId, schema, table }) => ({
endpoint: schema
? `/api/v1/database/${dbId}/table_metadata/extra/?table=${table}&schema=${schema}`
: `/api/v1/database/${dbId}/table_metadata/extra/?table=${table}`,
? `/api/v1/database/${dbId}/table_metadata/extra/?name=${table}&schema=${schema}`
: `/api/v1/database/${dbId}/table_metadata/extra/?name=${table}`,
transformResponse: ({ json }: JsonResponse) => json,
}),
}),
Expand Down
13 changes: 7 additions & 6 deletions superset/databases/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -867,21 +867,23 @@ def table_extra_metadata(self, pk: int) -> FlaskResponse:
- in: query
schema:
type: string
name: table
name: name
required: true
description: Table name
- in: query
schema:
type: string
name: schema
description: >-
Optional table schema, if not passed default schema will be used
Optional table schema, if not passed the schema configured in the database
will be used
- in: query
schema:
type: string
name: catalog
description: >-
Optional table catalog, if not passed default catalog will be used
Optional table catalog, if not passed the catalog configured in the
database will be used
responses:
200:
description: Table extra metadata information
Expand All @@ -898,16 +900,15 @@ def table_extra_metadata(self, pk: int) -> FlaskResponse:
"""
self.incr_stats("init", self.table_extra_metadata.__name__)

database = DatabaseDAO.find_by_id(pk)
if database is None:
if not (database := DatabaseDAO.find_by_id(pk)):
raise DatabaseNotFoundException("No such database")

try:
parameters = QualifiedTableSchema().load(request.args)
except ValidationError as ex:
raise InvalidPayloadSchemaError(ex) from ex

table = Table(**parameters)
table = Table(parameters["name"], parameters["schema"], parameters["catalog"])
try:
security_manager.raise_for_access(database=database, table=table)
except SupersetSecurityException as ex:
Expand Down
2 changes: 1 addition & 1 deletion superset/databases/schemas.py
Original file line number Diff line number Diff line change
Expand Up @@ -1205,7 +1205,7 @@ class QualifiedTableSchema(Schema):
present.
"""

table = fields.String(
name = fields.String(
required=True,
metadata={"description": "The table name"},
)
Expand Down
16 changes: 8 additions & 8 deletions tests/unit_tests/databases/api_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -1188,27 +1188,27 @@ def test_table_extra_metadata_happy_path(
mocker.patch("superset.databases.api.DatabaseDAO.find_by_id", return_value=database)
mocker.patch("superset.databases.api.security_manager.raise_for_access")

response = client.get("/api/v1/database/1/table_metadata/extra/?table=t")
response = client.get("/api/v1/database/1/table_metadata/extra/?name=t")
assert response.json == {"hello": "world"}
database.db_engine_spec.get_extra_table_metadata.assert_called_with(
database,
Table("t"),
)

response = client.get("/api/v1/database/1/table_metadata/extra/?table=t&schema=s")
response = client.get("/api/v1/database/1/table_metadata/extra/?name=t&schema=s")
database.db_engine_spec.get_extra_table_metadata.assert_called_with(
database,
Table("t", "s"),
)

response = client.get("/api/v1/database/1/table_metadata/extra/?table=t&catalog=c")
response = client.get("/api/v1/database/1/table_metadata/extra/?name=t&catalog=c")
database.db_engine_spec.get_extra_table_metadata.assert_called_with(
database,
Table("t", None, "c"),
)

response = client.get(
"/api/v1/database/1/table_metadata/extra/?table=t&schema=s&catalog=c"
"/api/v1/database/1/table_metadata/extra/?name=t&schema=s&catalog=c"
)
database.db_engine_spec.get_extra_table_metadata.assert_called_with(
database,
Expand Down Expand Up @@ -1236,7 +1236,7 @@ def test_table_extra_metadata_no_table(
"error_type": "INVALID_PAYLOAD_SCHEMA_ERROR",
"level": "error",
"extra": {
"messages": {"table": ["Missing data for required field."]},
"messages": {"name": ["Missing data for required field."]},
"issue_codes": [
{
"code": 1020,
Expand All @@ -1262,7 +1262,7 @@ def test_table_extra_metadata_slashes(
mocker.patch("superset.databases.api.DatabaseDAO.find_by_id", return_value=database)
mocker.patch("superset.databases.api.security_manager.raise_for_access")

client.get("/api/v1/database/1/table_metadata/extra/?table=foo/bar")
client.get("/api/v1/database/1/table_metadata/extra/?name=foo/bar")
database.db_engine_spec.get_extra_table_metadata.assert_called_with(
database,
Table("foo/bar"),
Expand All @@ -1279,7 +1279,7 @@ def test_table_extra_metadata_invalid_database(
"""
mocker.patch("superset.databases.api.DatabaseDAO.find_by_id", return_value=None)

response = client.get("/api/v1/database/1/table_metadata/extra/?table=t")
response = client.get("/api/v1/database/1/table_metadata/extra/?name=t")
assert response.status_code == 404
assert response.json == {
"errors": [
Expand Down Expand Up @@ -1325,7 +1325,7 @@ def test_table_extra_metadata_unauthorized(
),
)

response = client.get("/api/v1/database/1/table_metadata/extra/?table=t")
response = client.get("/api/v1/database/1/table_metadata/extra/?name=t")
assert response.status_code == 404
assert response.json == {
"errors": [
Expand Down

0 comments on commit 0a622a6

Please sign in to comment.