New Data Loader + Improvement to accounts filtering in admin

1. Update data loaders (#223)
2. Use new data loader functionality to allow filtering by both name and email in Super Admin
3. Update test to use email filtering
This commit is contained in:
Giancarlo Buomprisco
2025-03-28 16:23:05 +07:00
committed by GitHub
parent e7f17dd34f
commit dd5219e445
13 changed files with 80 additions and 93 deletions

102
pnpm-lock.yaml generated
View File

@@ -37,8 +37,8 @@ importers:
specifier: ^4.1.3
version: 4.1.3(react-hook-form@7.54.2(react@19.0.0))
'@tanstack/react-query':
specifier: 5.69.0
version: 5.69.0(react@19.0.0)
specifier: 5.69.2
version: 5.69.2(react@19.0.0)
lucide-react:
specifier: ^0.484.0
version: 0.484.0(react@19.0.0)
@@ -185,11 +185,11 @@ importers:
specifier: workspace:*
version: link:../../packages/ui
'@makerkit/data-loader-supabase-core':
specifier: ^0.0.8
version: 0.0.8(@supabase/postgrest-js@1.19.3)(@supabase/supabase-js@2.49.3)
specifier: ^0.0.10
version: 0.0.10(@supabase/postgrest-js@1.19.3)(@supabase/supabase-js@2.49.3)
'@makerkit/data-loader-supabase-nextjs':
specifier: ^1.2.3
version: 1.2.3(@supabase/postgrest-js@1.19.3)(@supabase/supabase-js@2.49.3)(@tanstack/react-query@5.69.0(react@19.0.0))(next@15.2.4(@opentelemetry/api@1.9.0)(@playwright/test@1.51.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)
specifier: ^1.2.5
version: 1.2.5(@supabase/postgrest-js@1.19.3)(@supabase/supabase-js@2.49.3)(@tanstack/react-query@5.69.2(react@19.0.0))(next@15.2.4(@opentelemetry/api@1.9.0)(@playwright/test@1.51.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)
'@marsidev/react-turnstile':
specifier: ^1.1.0
version: 1.1.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
@@ -200,8 +200,8 @@ importers:
specifier: 2.49.3
version: 2.49.3
'@tanstack/react-query':
specifier: 5.69.0
version: 5.69.0(react@19.0.0)
specifier: 5.69.2
version: 5.69.2(react@19.0.0)
'@tanstack/react-table':
specifier: ^8.21.2
version: 8.21.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
@@ -692,8 +692,8 @@ importers:
specifier: 2.49.3
version: 2.49.3
'@tanstack/react-query':
specifier: 5.69.0
version: 5.69.0(react@19.0.0)
specifier: 5.69.2
version: 5.69.2(react@19.0.0)
'@types/react':
specifier: 19.0.12
version: 19.0.12
@@ -755,17 +755,17 @@ importers:
specifier: workspace:*
version: link:../../ui
'@makerkit/data-loader-supabase-core':
specifier: ^0.0.8
version: 0.0.8(@supabase/postgrest-js@1.19.3)(@supabase/supabase-js@2.49.3)
specifier: ^0.0.10
version: 0.0.10(@supabase/postgrest-js@1.19.3)(@supabase/supabase-js@2.49.3)
'@makerkit/data-loader-supabase-nextjs':
specifier: ^1.2.3
version: 1.2.3(@supabase/postgrest-js@1.19.3)(@supabase/supabase-js@2.49.3)(@tanstack/react-query@5.69.0(react@19.0.0))(next@15.2.4(@opentelemetry/api@1.9.0)(@playwright/test@1.51.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)
specifier: ^1.2.5
version: 1.2.5(@supabase/postgrest-js@1.19.3)(@supabase/supabase-js@2.49.3)(@tanstack/react-query@5.69.2(react@19.0.0))(next@15.2.4(@opentelemetry/api@1.9.0)(@playwright/test@1.51.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)
'@supabase/supabase-js':
specifier: 2.49.3
version: 2.49.3
'@tanstack/react-query':
specifier: 5.69.0
version: 5.69.0(react@19.0.0)
specifier: 5.69.2
version: 5.69.2(react@19.0.0)
'@tanstack/react-table':
specifier: ^8.21.2
version: 8.21.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
@@ -824,8 +824,8 @@ importers:
specifier: 2.49.3
version: 2.49.3
'@tanstack/react-query':
specifier: 5.69.0
version: 5.69.0(react@19.0.0)
specifier: 5.69.2
version: 5.69.2(react@19.0.0)
'@types/react':
specifier: 19.0.12
version: 19.0.12
@@ -869,8 +869,8 @@ importers:
specifier: 2.49.3
version: 2.49.3
'@tanstack/react-query':
specifier: 5.69.0
version: 5.69.0(react@19.0.0)
specifier: 5.69.2
version: 5.69.2(react@19.0.0)
'@types/react':
specifier: 19.0.12
version: 19.0.12
@@ -939,8 +939,8 @@ importers:
specifier: 2.49.3
version: 2.49.3
'@tanstack/react-query':
specifier: 5.69.0
version: 5.69.0(react@19.0.0)
specifier: 5.69.2
version: 5.69.2(react@19.0.0)
'@tanstack/react-table':
specifier: ^8.21.2
version: 8.21.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
@@ -1006,8 +1006,8 @@ importers:
specifier: workspace:*
version: link:../../tooling/typescript
'@tanstack/react-query':
specifier: 5.69.0
version: 5.69.0(react@19.0.0)
specifier: 5.69.2
version: 5.69.2(react@19.0.0)
next:
specifier: 15.2.4
version: 15.2.4(@opentelemetry/api@1.9.0)(@playwright/test@1.51.1)(babel-plugin-react-compiler@19.0.0-beta-aeaed83-20250323)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
@@ -1346,8 +1346,8 @@ importers:
specifier: 2.49.3
version: 2.49.3
'@tanstack/react-query':
specifier: 5.69.0
version: 5.69.0(react@19.0.0)
specifier: 5.69.2
version: 5.69.2(react@19.0.0)
'@types/react':
specifier: 19.0.12
version: 19.0.12
@@ -1464,8 +1464,8 @@ importers:
specifier: ^1.3.2
version: 1.3.2(react@19.0.0)
'@tanstack/react-query':
specifier: 5.69.0
version: 5.69.0(react@19.0.0)
specifier: 5.69.2
version: 5.69.2(react@19.0.0)
'@tanstack/react-table':
specifier: ^8.21.2
version: 8.21.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
@@ -2053,14 +2053,14 @@ packages:
resolution: {integrity: sha512-xcY1/lDrY7CpIF98WKiL1ElsfoVhddP7FT0fw7ssOzrFqQsr44HgolKrQZxd9SywsCPn12OTOUieqDIokI3mFg==}
engines: {node: '>=20'}
'@makerkit/data-loader-supabase-core@0.0.8':
resolution: {integrity: sha512-beMhHboq5LgbiptXC9CFD6LPo6oVMMHDSEcF5cFcafC7B7E8x6TqV/t3v3cnzl4VXB+4v4ntGaTT2u/aiJ+djA==}
'@makerkit/data-loader-supabase-core@0.0.10':
resolution: {integrity: sha512-kxq3HJBT739QHO3O91S63XZx1IfNpe7duRBPRa5KI1Ud2KaQHQuofbxMKfoN+lVemDwokQLqvsds9yS76ovlzg==}
peerDependencies:
'@supabase/postgrest-js': '>1.0.0'
'@supabase/supabase-js': '>=2.0.0'
'@makerkit/data-loader-supabase-nextjs@1.2.3':
resolution: {integrity: sha512-SH9XiCEG6doROIlI5tTBcn5DkMqI3dltolMKpeh8ypvgHYMKQrJTzRRXzp8hlKkvnyuFHsT466Fkgr+/XCvuZQ==}
'@makerkit/data-loader-supabase-nextjs@1.2.5':
resolution: {integrity: sha512-p/L5DFoI3Xb84r2kDWmVQpN1c3e9D4pN0ABqU3RDgTfsJVeTgoFgqR8wtvPBH+6GAnd/zqk229pNh53EvPLHSw==}
peerDependencies:
'@supabase/supabase-js': '>=2.0.0'
'@tanstack/react-query': '>=5.0.0'
@@ -4167,11 +4167,11 @@ packages:
'@tailwindcss/postcss@4.0.17':
resolution: {integrity: sha512-qeJbRTB5FMZXmuJF+eePd235EGY6IyJZF0Bh0YM6uMcCI4L9Z7dy+lPuLAhxOJzxnajsbjPoDAKOuAqZRtf1PQ==}
'@tanstack/query-core@5.69.0':
resolution: {integrity: sha512-Kn410jq6vs1P8Nm+ZsRj9H+U3C0kjuEkYLxbiCyn3MDEiYor1j2DGVULqAz62SLZtUZ/e9Xt6xMXiJ3NJ65WyQ==}
'@tanstack/query-core@5.69.2':
resolution: {integrity: sha512-+spKBqGMSxVMhYPMHr4L7efc4CDdb0Y8nE4UxP/FjV4V3ajP3uhBsh0T7pSuObBgYkU+nY1PRkJhKNmwlHmkUg==}
'@tanstack/react-query@5.69.0':
resolution: {integrity: sha512-Ift3IUNQqTcaFa1AiIQ7WCb/PPy8aexZdq9pZWLXhfLcLxH0+PZqJ2xFImxCpdDZrFRZhLJrh76geevS5xjRhA==}
'@tanstack/react-query@5.69.2':
resolution: {integrity: sha512-m5clVHliwYK1ZAhS7m6A/PfEU/ibzZjhLszw/YuNFw5rHoKcX6Y6JO4eRV4ugpZFIn0sZ5lSrbcz/jwzAGI2pw==}
peerDependencies:
react: ^18 || ^19
@@ -9031,17 +9031,17 @@ snapshots:
'@lemonsqueezy/lemonsqueezy.js@4.0.0': {}
'@makerkit/data-loader-supabase-core@0.0.8(@supabase/postgrest-js@1.19.3)(@supabase/supabase-js@2.49.3)':
'@makerkit/data-loader-supabase-core@0.0.10(@supabase/postgrest-js@1.19.3)(@supabase/supabase-js@2.49.3)':
dependencies:
'@supabase/postgrest-js': 1.19.3
'@supabase/supabase-js': 2.49.3
ts-case-convert: 2.1.0
'@makerkit/data-loader-supabase-nextjs@1.2.3(@supabase/postgrest-js@1.19.3)(@supabase/supabase-js@2.49.3)(@tanstack/react-query@5.69.0(react@19.0.0))(next@15.2.4(@opentelemetry/api@1.9.0)(@playwright/test@1.51.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)':
'@makerkit/data-loader-supabase-nextjs@1.2.5(@supabase/postgrest-js@1.19.3)(@supabase/supabase-js@2.49.3)(@tanstack/react-query@5.69.2(react@19.0.0))(next@15.2.4(@opentelemetry/api@1.9.0)(@playwright/test@1.51.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)':
dependencies:
'@makerkit/data-loader-supabase-core': 0.0.8(@supabase/postgrest-js@1.19.3)(@supabase/supabase-js@2.49.3)
'@makerkit/data-loader-supabase-core': 0.0.10(@supabase/postgrest-js@1.19.3)(@supabase/supabase-js@2.49.3)
'@supabase/supabase-js': 2.49.3
'@tanstack/react-query': 5.69.0(react@19.0.0)
'@tanstack/react-query': 5.69.2(react@19.0.0)
next: 15.2.4(@opentelemetry/api@1.9.0)(@playwright/test@1.51.1)(babel-plugin-react-compiler@19.0.0-beta-aeaed83-20250323)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)
react: 19.0.0
transitivePeerDependencies:
@@ -11683,11 +11683,11 @@ snapshots:
postcss: 8.5.3
tailwindcss: 4.0.17
'@tanstack/query-core@5.69.0': {}
'@tanstack/query-core@5.69.2': {}
'@tanstack/react-query@5.69.0(react@19.0.0)':
'@tanstack/react-query@5.69.2(react@19.0.0)':
dependencies:
'@tanstack/query-core': 5.69.0
'@tanstack/query-core': 5.69.2
react: 19.0.0
'@tanstack/react-table@8.21.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0)':
@@ -13057,8 +13057,8 @@ snapshots:
'@typescript-eslint/parser': 8.28.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2)
eslint: 9.23.0(jiti@2.4.2)
eslint-import-resolver-node: 0.3.9
eslint-import-resolver-typescript: 3.9.1(eslint-plugin-import@2.31.0)(eslint@9.23.0(jiti@2.4.2))
eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.28.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2))(eslint-import-resolver-typescript@3.9.1)(eslint@9.23.0(jiti@2.4.2))
eslint-import-resolver-typescript: 3.9.1(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.28.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2))(eslint@9.23.0(jiti@2.4.2)))(eslint@9.23.0(jiti@2.4.2))
eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.28.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2))(eslint-import-resolver-typescript@3.9.1(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.28.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2))(eslint@9.23.0(jiti@2.4.2)))(eslint@9.23.0(jiti@2.4.2)))(eslint@9.23.0(jiti@2.4.2))
eslint-plugin-jsx-a11y: 6.10.2(eslint@9.23.0(jiti@2.4.2))
eslint-plugin-react: 7.37.4(eslint@9.23.0(jiti@2.4.2))
eslint-plugin-react-hooks: 5.2.0(eslint@9.23.0(jiti@2.4.2))
@@ -13083,7 +13083,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
eslint-import-resolver-typescript@3.9.1(eslint-plugin-import@2.31.0)(eslint@9.23.0(jiti@2.4.2)):
eslint-import-resolver-typescript@3.9.1(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.28.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2))(eslint@9.23.0(jiti@2.4.2)))(eslint@9.23.0(jiti@2.4.2)):
dependencies:
'@nolyfill/is-core-module': 1.0.39
debug: 4.4.0
@@ -13094,22 +13094,22 @@ snapshots:
stable-hash: 0.0.5
tinyglobby: 0.2.12
optionalDependencies:
eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.28.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2))(eslint-import-resolver-typescript@3.9.1)(eslint@9.23.0(jiti@2.4.2))
eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.28.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2))(eslint-import-resolver-typescript@3.9.1(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.28.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2))(eslint@9.23.0(jiti@2.4.2)))(eslint@9.23.0(jiti@2.4.2)))(eslint@9.23.0(jiti@2.4.2))
transitivePeerDependencies:
- supports-color
eslint-module-utils@2.12.0(@typescript-eslint/parser@8.28.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.9.1)(eslint@9.23.0(jiti@2.4.2)):
eslint-module-utils@2.12.0(@typescript-eslint/parser@8.28.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.9.1(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.28.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2))(eslint@9.23.0(jiti@2.4.2)))(eslint@9.23.0(jiti@2.4.2)))(eslint@9.23.0(jiti@2.4.2)):
dependencies:
debug: 3.2.7
optionalDependencies:
'@typescript-eslint/parser': 8.28.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2)
eslint: 9.23.0(jiti@2.4.2)
eslint-import-resolver-node: 0.3.9
eslint-import-resolver-typescript: 3.9.1(eslint-plugin-import@2.31.0)(eslint@9.23.0(jiti@2.4.2))
eslint-import-resolver-typescript: 3.9.1(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.28.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2))(eslint@9.23.0(jiti@2.4.2)))(eslint@9.23.0(jiti@2.4.2))
transitivePeerDependencies:
- supports-color
eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.28.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2))(eslint-import-resolver-typescript@3.9.1)(eslint@9.23.0(jiti@2.4.2)):
eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.28.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2))(eslint-import-resolver-typescript@3.9.1(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.28.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2))(eslint@9.23.0(jiti@2.4.2)))(eslint@9.23.0(jiti@2.4.2)))(eslint@9.23.0(jiti@2.4.2)):
dependencies:
'@rtsao/scc': 1.1.0
array-includes: 3.1.8
@@ -13120,7 +13120,7 @@ snapshots:
doctrine: 2.1.0
eslint: 9.23.0(jiti@2.4.2)
eslint-import-resolver-node: 0.3.9
eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.28.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.9.1)(eslint@9.23.0(jiti@2.4.2))
eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.28.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.9.1(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.28.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2))(eslint@9.23.0(jiti@2.4.2)))(eslint@9.23.0(jiti@2.4.2)))(eslint@9.23.0(jiti@2.4.2))
hasown: 2.0.2
is-core-module: 2.16.1
is-glob: 4.0.3