mirror of
https://github.com/apache/superset.git
synced 2026-04-19 08:04:53 +00:00
[api] [database] New, migrate to new FAB API side by side (#7665)
* [api] [database] New, migrate to new FAB API side by side * [database] view and api module reorganization * [style] Fix, flake8 * [test] [database] Fix, tests for new database view structure * [style] [database] black * [database] Fix, missing apache license * Migrate databaasync api to the new api * flake8 * More efficient api call * Revert querySearch to old API, test * dummy commit * revert config.py commit * Remove unused import * Remove old API view * Remove new API view * Add database filter * Add database filter * Add database filter * Remove comments on js * Fix JS test * Fix pylint * QuerySearch new databaseasync API endpoint * Fix, query search new api endpoint * Reintroduce old API for smooth side by side migration * Better naming and use common hooks for view and API * black it * Fix, database mixin must come first * Fix, lint
This commit is contained in:
committed by
Maxime Beauchemin
parent
9dd6a385e6
commit
b65ab51b63
55
superset/views/database/api.py
Normal file
55
superset/views/database/api.py
Normal file
@@ -0,0 +1,55 @@
|
||||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you 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.
|
||||
from flask_appbuilder import ModelRestApi
|
||||
from flask_appbuilder.models.sqla.interface import SQLAInterface
|
||||
|
||||
from superset import appbuilder
|
||||
import superset.models.core as models
|
||||
from . import DatabaseFilter, DatabaseMixin
|
||||
|
||||
|
||||
class DatabaseRestApi(DatabaseMixin, ModelRestApi):
|
||||
datamodel = SQLAInterface(models.Database)
|
||||
|
||||
class_permission_name = "DatabaseAsync"
|
||||
method_permission_name = {
|
||||
"get_list": "list",
|
||||
"get": "show",
|
||||
"post": "add",
|
||||
"put": "edit",
|
||||
"delete": "delete",
|
||||
"info": "list",
|
||||
}
|
||||
resource_name = "database"
|
||||
allow_browser_login = True
|
||||
base_filters = [["id", DatabaseFilter, lambda: []]]
|
||||
list_columns = [
|
||||
"id",
|
||||
"database_name",
|
||||
"expose_in_sqllab",
|
||||
"allow_ctas",
|
||||
"force_ctas_schema",
|
||||
"allow_run_async",
|
||||
"allow_dml",
|
||||
"allow_multi_schema_metadata_fetch",
|
||||
"allow_csv_upload",
|
||||
"allows_subquery",
|
||||
"backend",
|
||||
]
|
||||
|
||||
|
||||
appbuilder.add_api(DatabaseRestApi)
|
||||
Reference in New Issue
Block a user