Mike Bridge
3314c2cd4b
fix(versioning): align uuid-as-string assertions with UUIDMixin coercion
...
The ``@validates("uuid")`` coercion added in 46f138326b now ensures
``UUIDMixin.uuid`` always returns a ``uuid.UUID`` instance after
assignment, regardless of input type. This is the right semantic
(matches what ``UUIDType`` would emit on a fresh DB read) but it
broke three pre-existing tests that compared the attribute against
string literals — those assertions only passed before because the
post-INSERT refresh path either didn't run or ran inconsistently for
the model under test.
Update those three assertions to compare ``UUID`` to ``UUID`` so the
test contract matches the now-consistent attribute shape:
* ``test_import_database`` and ``test_import_database_no_creds`` —
``database.uuid`` now matches the coerced ``UUID`` literal.
* ``test_load_parquet_table_sets_uuid_on_new_table`` — ``tbl.uuid``
same treatment.
Also harden the validator to pass non-UUID-shaped strings through
unchanged (instead of raising), so test mocks that use placeholder
strings like ``"dashboard-uuid-7"`` keep working — the SQL bind layer
will surface a clearer error if such a value is ever written to the
DB.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-28 15:37:20 -06:00
Beto Dealmeida
736a51c13f
fix: OAuth2 exception should be 403 ( #40074 )
2026-05-15 14:53:02 -03:00
Oleg Ovcharuk
d83b0c5ce3
feat: support creating datasets for schema-less databases ( #39433 )
...
Co-authored-by: codeant-ai-for-open-source[bot] <244253245+codeant-ai-for-open-source[bot]@users.noreply.github.com>
2026-05-11 08:30:13 -04:00
Beto Dealmeida
edf4d03218
chore: bump rison to 2.0.0 ( #39529 )
2026-04-24 15:52:42 -04:00
Vitor Avila
8c9efe5659
feat: support for import/export masked_encrypted_extra (backend) ( #38077 )
2026-03-04 11:26:28 -08:00
Joe Li
6328e51620
test(examples): add tests for UUID threading and security bypass ( #37557 )
...
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-12 14:12:12 -08:00
Beto Dealmeida
5d20dc57d7
feat(oauth2): add PKCE support for database OAuth2 authentication ( #37067 )
2026-01-30 23:28:10 -05:00
isaac-jaynes-imperva
3f37cdbf9c
fix(database): include configuration_method in the DB export/import flow ( #36958 )
...
Co-authored-by: codeant-ai-for-open-source[bot] <244253245+codeant-ai-for-open-source[bot]@users.noreply.github.com>
2026-01-23 19:34:52 -03:00
Beto Dealmeida
c458f99dd4
chore: cleanup ssh tunnel ( #34388 )
2025-12-03 14:26:35 -05:00
Daniel Vaz Gaspar
a9fb853e3e
fix: Bump FAB to 5.X ( #33055 )
...
Co-authored-by: Joe Li <joe@preset.io >
2025-09-12 09:21:37 +01:00
Maxime Beauchemin
cb27d5fe8d
chore: proper current_app.config proxy usage ( #34345 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2025-07-31 19:27:42 -07:00
Beto Dealmeida
a26e1d822a
chore: remove sqlparse ( #33564 )
2025-06-04 19:31:41 -04:00
arafoperata
ff34e3c81e
fix: optimize catalog permission sync when importing dashboards ( #33679 )
2025-06-04 13:21:17 -04:00
Beto Dealmeida
141d0252f2
fix: mask password on DB import ( #33267 )
2025-04-29 10:27:03 -04:00
Beto Dealmeida
8695239372
feat: OAuth2StoreTokenCommand ( #32546 )
2025-03-13 09:45:24 -04:00
Beto Dealmeida
813e79fa9f
fix: skip DB filter when doing OAuth2 ( #32486 )
2025-03-04 13:33:53 -05:00
Beto Dealmeida
5af4e61aff
feat: improve GSheets OAuth2 ( #32048 )
2025-03-03 12:55:54 -05:00
Beto Dealmeida
f4105e9ed2
feat: default ports for SSH tunnel ( #32403 )
2025-02-27 10:59:48 -05:00
Beto Dealmeida
00883c395c
feat: allow importing encrypted_extra ( #32339 )
2025-02-24 19:29:04 -05:00
Daniel Vaz Gaspar
1b375b715c
refactor: upload data unification, less permissions and less endpoints ( #31959 )
2025-01-28 11:09:55 +00:00
sha174n
827042f12f
refactor: Remove CSV upload size limit and related validation ( #32000 )
2025-01-27 16:52:05 -07:00
Maxime Beauchemin
e51b95ffa8
chore: enforce more ruff rules ( #31447 )
...
Co-authored-by: Elizabeth Thompson <eschutho@gmail.com >
2024-12-18 17:41:34 -08:00
Vitor Avila
21e794a66f
fix(database import): Gracefully handle error to get catalog schemas ( #31437 )
2024-12-13 12:31:10 -03:00
Jack
95325c4673
fix(imports): Error when importing charts / dashboards with missing DB credentials ( #30503 )
2024-10-04 15:43:29 -05:00
Beto Dealmeida
ff449ad8ab
feat: OAuth2 database field ( #30126 )
2024-09-03 20:57:55 -04:00
Beto Dealmeida
0415ed34ce
feat: allow create/update OAuth2 DB ( #30071 )
2024-09-03 19:22:38 -04:00
Eugene Apollonsky
050c6daff3
fix(cli): add impersonate_user to db import ( #29522 )
...
Co-authored-by: Eugene Apollonsky <eapollonskii@intertrust.com >
Co-authored-by: Elizabeth Thompson <eschutho@gmail.com >
2024-08-12 14:05:20 -07:00
Beto Dealmeida
61c0970968
fix: create permissions on DB import ( #29802 )
2024-08-06 12:09:21 -04:00
John Bodley
8fb8199a55
chore(dao/command): Add transaction decorator to try to enforce "unit of work" ( #24969 )
2024-06-28 12:33:56 -07:00
Beto Dealmeida
8e15d4807f
chore: s/MockFixture/MockerFixture/g ( #29160 )
2024-06-10 12:35:07 -04:00
Eyal Ezer
07b2449bd7
refactor: Unify all json.(loads|dumps) usage to utils.json ( #28702 )
...
Co-authored-by: Eyal Ezer <eyal.ezer@ge.com >
2024-05-28 14:17:41 -07:00
Daniel Vaz Gaspar
9c065951e7
fix: tests on database, dataset, saved_queries apis ( #28397 )
2024-05-09 13:43:31 +01:00
Beto Dealmeida
e90246fd1f
feat(SIP-95): permissions for catalogs ( #28317 )
2024-05-06 11:41:58 -04:00
Daniel Vaz Gaspar
9a339f08a7
feat: new Columnar upload form and API ( #28192 )
2024-05-06 15:51:42 +01:00
Beto Dealmeida
6cf681df68
feat(SIP-95): new endpoint for table metadata ( #28122 )
2024-04-25 12:23:49 -04:00
Maxime Beauchemin
2d63722150
chore: set up ruff as a new linter/formatter ( #28158 )
2024-04-24 17:19:53 -07:00
John Bodley
bc65c245fe
chore(tests): Remove unnecessary/problematic app contexts ( #28159 )
2024-04-24 13:46:35 -07:00
Daniel Vaz Gaspar
de82d90b9c
chore: refactor file upload commands ( #28164 )
2024-04-23 08:42:19 +01:00
Daniel Vaz Gaspar
e465876ed4
feat: new Excel upload form and API ( #28105 )
2024-04-19 14:19:42 +01:00
Beto Dealmeida
68a982dfe6
feat(sip-95): new endpoint for extra table metadata ( #28063 )
2024-04-18 10:42:53 -04:00
Daniel Vaz Gaspar
54387b4589
feat: new CSV upload form and API ( #27840 )
2024-04-15 09:38:51 +01:00
Beto Dealmeida
9377227e06
chore(OAuth2): refactor for custom OAuth2 clients ( #27880 )
2024-04-05 12:17:39 -04:00
Beto Dealmeida
9022f5c519
feat(SIP-85): OAuth2 for databases ( #27631 )
2024-04-02 22:05:33 -04:00
Geido
89e89de341
fix: SSH Tunnel configuration settings ( #27186 )
2024-03-11 16:56:54 +01:00
Geido
7c7deb960d
fix: ID param for DELETE ssh_tunnel endpoint ( #27130 )
...
Co-authored-by: Michael S. Molina <70410625+michael-s-molina@users.noreply.github.com >
2024-02-15 22:09:51 +02:00
John Bodley
847ed3f5b0
refactor: Ensure Flask framework leverages the Flask-SQLAlchemy session (Phase II) ( #26909 )
2024-02-14 06:20:15 +13:00
Geido
d8e26cfff1
chore: Remove database ID dependency for SSH Tunnel creation ( #26989 )
2024-02-07 18:03:19 +02:00
Beto Dealmeida
e36c014290
fix(database): allow filtering by UUID ( #26469 )
2024-01-12 11:18:39 -05:00
John Bodley
aafb54d042
chore: Ensure Mixins are ordered according to the MRO ( #26288 )
2023-12-16 14:11:58 +13:00
Vitor Avila
c033ca959d
fix(database-import): Support importing a DB connection with a version set ( #26116 )
2023-12-01 16:20:27 -05:00