mirror of
https://github.com/apache/superset.git
synced 2026-04-20 00:24:38 +00:00
feat(filter-set): Add filterset resource (#14015)
* Add filterset resource
* fix: fix pre-commit
* add tests
* add tests and fixes based of failures
* Fix pre-commit errors
* chore init filterset resource under ff constraint
* Fix migration conflicts
* Fix pylint and migrations issues
* Fix pylint and migrations issues
* Fix pylint and migrations issues
* Fix pylint and migrations issues
* Fix pylint and migrations issues
* Fix pylint and migrations issues
* Fix pylint and migrations issues
* Fix pylint and migrations issues
* Fix pylint and migrations issues
* Fix pylint and migrations issues
* Fix pylint and migrations issues
* add tests and fixes based of failures
* Fix missing license
* fix down revision
* update down_revision
* fix: update down_revision
* chore: add description to migration
* fix: type
* refactor: is_user_admin
* fix: use get_public_role
* fix: move import to the relevant location
* chore: add openSpec api schema
* chore: cover all openspec API
* fix: pre-commit and lint
* fix: put and post schemas
* fix: undo superset_test_config.py
* fix: limit filterSetsApi to include_route_methods = {"get_list", "put", "post", "delete"}
* renaming some params
* chore: add debug in test config
* fix: rename database to different name
* fix: try to make conftest.py harmless
* fix: pre-commit
* fix: new down_revision ref
* fix: bad ref
* fix: bad ref 2
* fix: bad ref 3
* fix: add api in initiatior
* fix: open spec
* fix: convert name to str to include int usecases
* fix: pylint
* fix: pylint
* Update superset/common/request_contexed_based.py
Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
* chore: resolve PR comments
* chore: resolve PR comments
* chore: resolve PR comments
* fix failed tests
* fix pylint
* Update conftest.py
* chore remove BaseCommand to remove abstraction
* chore remove BaseCommand to remove abstraction
* chore remove BaseCommand to remove abstraction
* chore remove BaseCommand to remove abstraction
* chore fix migration
Co-authored-by: Ofeknielsen <ofek.israel@nieslen.com>
Co-authored-by: amitmiran137 <amit.miran@nielsen.com>
Co-authored-by: Amit Miran <47772523+amitmiran137@users.noreply.github.com>
Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
This commit is contained in:
@@ -82,10 +82,10 @@ def create_dashboard(
|
||||
json_metadata: str = "",
|
||||
position_json: str = "",
|
||||
) -> Dashboard:
|
||||
dashboard_title = dashboard_title or random_title()
|
||||
slug = slug or random_slug()
|
||||
owners = owners or []
|
||||
slices = slices or []
|
||||
dashboard_title = dashboard_title if dashboard_title is not None else random_title()
|
||||
slug = slug if slug is not None else random_slug()
|
||||
owners = owners if owners is not None else []
|
||||
slices = slices if slices is not None else []
|
||||
return Dashboard(
|
||||
dashboard_title=dashboard_title,
|
||||
slug=slug,
|
||||
@@ -109,25 +109,40 @@ def create_slice_to_db(
|
||||
datasource_id: Optional[int] = None,
|
||||
owners: Optional[List[User]] = None,
|
||||
) -> Slice:
|
||||
slice_ = create_slice(datasource_id, name, owners)
|
||||
slice_ = create_slice(datasource_id, name=name, owners=owners)
|
||||
insert_model(slice_)
|
||||
inserted_slices_ids.append(slice_.id)
|
||||
return slice_
|
||||
|
||||
|
||||
def create_slice(
|
||||
datasource_id: Optional[int], name: Optional[str], owners: Optional[List[User]]
|
||||
datasource_id: Optional[int] = None,
|
||||
datasource: Optional[SqlaTable] = None,
|
||||
name: Optional[str] = None,
|
||||
owners: Optional[List[User]] = None,
|
||||
) -> Slice:
|
||||
name = name or random_str()
|
||||
owners = owners or []
|
||||
name = name if name is not None else random_str()
|
||||
owners = owners if owners is not None else []
|
||||
datasource_type = "table"
|
||||
if datasource:
|
||||
return Slice(
|
||||
slice_name=name,
|
||||
table=datasource,
|
||||
owners=owners,
|
||||
datasource_type=datasource_type,
|
||||
)
|
||||
|
||||
datasource_id = (
|
||||
datasource_id or create_datasource_table_to_db(name=name + "_table").id
|
||||
datasource_id
|
||||
if datasource_id is not None
|
||||
else create_datasource_table_to_db(name=name + "_table").id
|
||||
)
|
||||
|
||||
return Slice(
|
||||
slice_name=name,
|
||||
datasource_id=datasource_id,
|
||||
owners=owners,
|
||||
datasource_type="table",
|
||||
datasource_type=datasource_type,
|
||||
)
|
||||
|
||||
|
||||
@@ -136,7 +151,7 @@ def create_datasource_table_to_db(
|
||||
db_id: Optional[int] = None,
|
||||
owners: Optional[List[User]] = None,
|
||||
) -> SqlaTable:
|
||||
sqltable = create_datasource_table(name, db_id, owners)
|
||||
sqltable = create_datasource_table(name, db_id, owners=owners)
|
||||
insert_model(sqltable)
|
||||
inserted_sqltables_ids.append(sqltable.id)
|
||||
return sqltable
|
||||
@@ -145,11 +160,14 @@ def create_datasource_table_to_db(
|
||||
def create_datasource_table(
|
||||
name: Optional[str] = None,
|
||||
db_id: Optional[int] = None,
|
||||
database: Optional[Database] = None,
|
||||
owners: Optional[List[User]] = None,
|
||||
) -> SqlaTable:
|
||||
name = name or random_str()
|
||||
owners = owners or []
|
||||
db_id = db_id or create_database_to_db(name=name + "_db").id
|
||||
name = name if name is not None else random_str()
|
||||
owners = owners if owners is not None else []
|
||||
if database:
|
||||
return SqlaTable(table_name=name, database=database, owners=owners)
|
||||
db_id = db_id if db_id is not None else create_database_to_db(name=name + "_db").id
|
||||
return SqlaTable(table_name=name, database_id=db_id, owners=owners)
|
||||
|
||||
|
||||
@@ -161,7 +179,7 @@ def create_database_to_db(name: Optional[str] = None) -> Database:
|
||||
|
||||
|
||||
def create_database(name: Optional[str] = None) -> Database:
|
||||
name = name or random_str()
|
||||
name = name if name is not None else random_str()
|
||||
return Database(database_name=name, sqlalchemy_uri="sqlite:///:memory:")
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user