hazo_connect 2.3.2 → 2.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -0
- package/dist/adapters/postgrest-adapter.d.ts +5 -0
- package/dist/adapters/postgrest-adapter.d.ts.map +1 -1
- package/dist/adapters/postgrest-adapter.js +13 -0
- package/dist/adapters/postgrest-adapter.js.map +1 -1
- package/dist/adapters/supabase-adapter.d.ts +72 -12
- package/dist/adapters/supabase-adapter.d.ts.map +1 -1
- package/dist/adapters/supabase-adapter.js +346 -15
- package/dist/adapters/supabase-adapter.js.map +1 -1
- package/dist/factory.d.ts.map +1 -1
- package/dist/factory.js +25 -0
- package/dist/factory.js.map +1 -1
- package/dist/sqlite/query-translator.d.ts.map +1 -1
- package/dist/sqlite/query-translator.js +3 -59
- package/dist/sqlite/query-translator.js.map +1 -1
- package/dist/utils/where-builder.d.ts +10 -0
- package/dist/utils/where-builder.d.ts.map +1 -1
- package/dist/utils/where-builder.js +3 -2
- package/dist/utils/where-builder.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -371,6 +371,11 @@ const hazo = createHazoConnect({
|
|
|
371
371
|
| `HAZO_CONNECT_ENABLE_ADMIN_UI` | Enable SQLite admin UI | `false` |
|
|
372
372
|
| `POSTGREST_URL` | PostgREST base URL | - |
|
|
373
373
|
| `POSTGREST_API_KEY` | PostgREST API key | - |
|
|
374
|
+
| `SUPABASE_URL` | Supabase project URL | - |
|
|
375
|
+
| `SUPABASE_ANON_KEY` | Supabase anonymous key (respects RLS) | - |
|
|
376
|
+
| `SUPABASE_SERVICE_ROLE_KEY` | Supabase service role key (bypasses RLS) | - |
|
|
377
|
+
| `NEXT_PUBLIC_SUPABASE_URL` | Alternative Supabase URL (for Next.js) | - |
|
|
378
|
+
| `NEXT_PUBLIC_SUPABASE_ANON_KEY` | Alternative Supabase anon key (for Next.js) | - |
|
|
374
379
|
|
|
375
380
|
---
|
|
376
381
|
|
|
@@ -26,6 +26,11 @@ export declare class PostgrestAdapter extends BaseAdapter implements HazoConnect
|
|
|
26
26
|
* @param logger - Optional logger instance
|
|
27
27
|
*/
|
|
28
28
|
constructor(config: any, logger?: Logger);
|
|
29
|
+
/**
|
|
30
|
+
* Validate QueryBuilder does not contain unsupported features
|
|
31
|
+
* @param builder - QueryBuilder instance
|
|
32
|
+
*/
|
|
33
|
+
private validateQueryBuilder;
|
|
29
34
|
/**
|
|
30
35
|
* Convert QueryBuilder to PostgREST URL
|
|
31
36
|
* @param builder - QueryBuilder instance
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postgrest-adapter.d.ts","sourceRoot":"","sources":["../../src/lib/adapters/postgrest-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAG/C;;GAEG;AACH,UAAU,eAAe;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,WAAY,YAAW,kBAAkB;IAC7E,OAAO,CAAC,eAAe,CAAiB;IAExC;;;;OAIG;gBACS,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM;IAoBxC;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;
|
|
1
|
+
{"version":3,"file":"postgrest-adapter.d.ts","sourceRoot":"","sources":["../../src/lib/adapters/postgrest-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAG/C;;GAEG;AACH,UAAU,eAAe;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,WAAY,YAAW,kBAAkB;IAC7E,OAAO,CAAC,eAAe,CAAiB;IAExC;;;;OAIG;gBACS,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM;IAoBxC;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAW5B;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAuGzB;;;;;;OAMG;IACG,KAAK,CACT,OAAO,EAAE,YAAY,EACrB,MAAM,GAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAgB,EAC3D,IAAI,CAAC,EAAE,GAAG,GACT,OAAO,CAAC,GAAG,CAAC;IAoBf;;;;;OAKG;IACG,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,GAAG,CAAC;IAwFzE;;;OAGG;IACG,SAAS,IAAI,OAAO,CAAC,eAAe,CAAC;IAG3C,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,yBAAyB;IAyBjC,OAAO,CAAC,WAAW;CAKpB"}
|
|
@@ -32,6 +32,17 @@ class PostgrestAdapter extends base_adapter_1.BaseAdapter {
|
|
|
32
32
|
this.postgrestConfig.base_url = this.postgrestConfig.base_url.slice(0, -1);
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
|
+
/**
|
|
36
|
+
* Validate QueryBuilder does not contain unsupported features
|
|
37
|
+
* @param builder - QueryBuilder instance
|
|
38
|
+
*/
|
|
39
|
+
validateQueryBuilder(builder) {
|
|
40
|
+
// PostgREST does not support SQL-style JOINs - use nested selects instead
|
|
41
|
+
const joins = builder.getJoins();
|
|
42
|
+
if (joins.length > 0) {
|
|
43
|
+
this.throwError(types_1.ErrorCode.VALIDATION_ERROR, 'PostgREST adapter does not support SQL-style JOINs. Use nestedSelect() instead for related data.');
|
|
44
|
+
}
|
|
45
|
+
}
|
|
35
46
|
/**
|
|
36
47
|
* Convert QueryBuilder to PostgREST URL
|
|
37
48
|
* @param builder - QueryBuilder instance
|
|
@@ -42,6 +53,8 @@ class PostgrestAdapter extends base_adapter_1.BaseAdapter {
|
|
|
42
53
|
if (!table) {
|
|
43
54
|
this.throwError(types_1.ErrorCode.VALIDATION_ERROR, 'Table name is required');
|
|
44
55
|
}
|
|
56
|
+
// Validate QueryBuilder doesn't use unsupported features
|
|
57
|
+
this.validateQueryBuilder(builder);
|
|
45
58
|
const params = [];
|
|
46
59
|
// Select fields
|
|
47
60
|
const selectFields = builder.getSelectFields();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postgrest-adapter.js","sourceRoot":"","sources":["../../src/lib/adapters/postgrest-adapter.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"postgrest-adapter.js","sourceRoot":"","sources":["../../src/lib/adapters/postgrest-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Purpose: Supabase adapter
|
|
2
|
+
* Purpose: Supabase adapter implementation
|
|
3
3
|
*
|
|
4
|
-
* This adapter
|
|
5
|
-
*
|
|
4
|
+
* This adapter connects to Supabase PostgreSQL databases via the PostgREST API.
|
|
5
|
+
* Supabase uses PostgREST under the hood, so the query syntax is similar.
|
|
6
|
+
* Supports both anon_key (row-level security) and service_role_key (admin access).
|
|
6
7
|
*
|
|
7
8
|
* Expected config structure:
|
|
8
9
|
* {
|
|
9
10
|
* supabase: {
|
|
10
|
-
* url: string,
|
|
11
|
-
* anon_key: string,
|
|
12
|
-
* service_role_key?: string
|
|
11
|
+
* url: string, // Supabase project URL (e.g., https://xxx.supabase.co)
|
|
12
|
+
* anon_key: string, // Supabase anonymous key (public, respects RLS)
|
|
13
|
+
* service_role_key?: string // Optional service role key (bypasses RLS)
|
|
13
14
|
* }
|
|
14
15
|
* }
|
|
15
16
|
*/
|
|
@@ -17,34 +18,93 @@ import type { HazoConnectAdapter, Logger } from '../types';
|
|
|
17
18
|
import { BaseAdapter } from './base-adapter';
|
|
18
19
|
import { QueryBuilder } from '../query-builder';
|
|
19
20
|
/**
|
|
20
|
-
* Supabase adapter implementation
|
|
21
|
+
* Supabase adapter implementation
|
|
22
|
+
* Uses the PostgREST API provided by Supabase
|
|
21
23
|
*/
|
|
22
24
|
export declare class SupabaseAdapter extends BaseAdapter implements HazoConnectAdapter {
|
|
25
|
+
private supabaseConfig;
|
|
23
26
|
/**
|
|
24
27
|
* Constructor
|
|
25
|
-
* @param config - Supabase configuration
|
|
28
|
+
* @param config - Supabase configuration (must include supabase.url and supabase.anon_key)
|
|
26
29
|
* @param logger - Optional logger instance
|
|
27
30
|
*/
|
|
28
31
|
constructor(config: any, logger?: Logger);
|
|
32
|
+
/**
|
|
33
|
+
* Get the appropriate API key based on context
|
|
34
|
+
* Uses service_role_key if available, otherwise anon_key
|
|
35
|
+
* @param useServiceRole - Whether to use service role key
|
|
36
|
+
* @returns API key string
|
|
37
|
+
*/
|
|
38
|
+
private getApiKey;
|
|
39
|
+
/**
|
|
40
|
+
* Get the REST API base URL
|
|
41
|
+
* Supabase REST API is at /rest/v1/
|
|
42
|
+
* @returns REST API base URL
|
|
43
|
+
*/
|
|
44
|
+
private getRestUrl;
|
|
45
|
+
/**
|
|
46
|
+
* Validate QueryBuilder does not contain unsupported features
|
|
47
|
+
* @param builder - QueryBuilder instance
|
|
48
|
+
*/
|
|
49
|
+
private validateQueryBuilder;
|
|
50
|
+
/**
|
|
51
|
+
* Convert QueryBuilder to Supabase/PostgREST URL
|
|
52
|
+
* @param builder - QueryBuilder instance
|
|
53
|
+
* @returns PostgREST endpoint URL with query parameters
|
|
54
|
+
*/
|
|
55
|
+
private buildSupabaseUrl;
|
|
29
56
|
/**
|
|
30
57
|
* Execute a query using the query builder
|
|
31
58
|
* @param builder - QueryBuilder instance
|
|
32
59
|
* @param method - HTTP method
|
|
33
|
-
* @param body - Request body
|
|
60
|
+
* @param body - Request body for POST/PUT/PATCH
|
|
34
61
|
* @returns Promise with query results
|
|
35
62
|
*/
|
|
36
63
|
query(builder: QueryBuilder, method?: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE', body?: any): Promise<any>;
|
|
37
64
|
/**
|
|
38
65
|
* Execute a raw query
|
|
39
|
-
* @param endpoint - Raw endpoint string
|
|
66
|
+
* @param endpoint - Raw endpoint string (e.g., '/table?id=eq.123')
|
|
40
67
|
* @param options - Request options
|
|
41
68
|
* @returns Promise with query results
|
|
42
69
|
*/
|
|
43
70
|
rawQuery(endpoint: string, options?: RequestInit): Promise<any>;
|
|
71
|
+
/**
|
|
72
|
+
* Execute a query with service role key (bypasses RLS)
|
|
73
|
+
* Use with caution - this bypasses row-level security
|
|
74
|
+
* @param endpoint - Raw endpoint string
|
|
75
|
+
* @param options - Request options
|
|
76
|
+
* @returns Promise with query results
|
|
77
|
+
*/
|
|
78
|
+
rawQueryAsAdmin(endpoint: string, options?: RequestInit): Promise<any>;
|
|
44
79
|
/**
|
|
45
80
|
* Get the adapter's configuration
|
|
46
|
-
* @returns Promise with adapter-specific config
|
|
81
|
+
* @returns Promise with adapter-specific config (without sensitive keys)
|
|
82
|
+
*/
|
|
83
|
+
getConfig(): Promise<{
|
|
84
|
+
url: string;
|
|
85
|
+
hasServiceRoleKey: boolean;
|
|
86
|
+
}>;
|
|
87
|
+
/**
|
|
88
|
+
* Parse error payload from response
|
|
89
|
+
* @param raw - Raw error response text
|
|
90
|
+
* @returns Parsed error or original string
|
|
91
|
+
*/
|
|
92
|
+
private parseErrorPayload;
|
|
93
|
+
/**
|
|
94
|
+
* Build a friendly error message
|
|
95
|
+
* @param status - HTTP status code
|
|
96
|
+
* @param statusText - HTTP status text
|
|
97
|
+
* @param endpoint - API endpoint
|
|
98
|
+
* @param parsedDetails - Parsed error details
|
|
99
|
+
* @param sanitizedUrl - URL with redacted API key
|
|
100
|
+
* @returns Friendly error message
|
|
101
|
+
*/
|
|
102
|
+
private buildFriendlyErrorMessage;
|
|
103
|
+
/**
|
|
104
|
+
* Sanitize URL by redacting API keys
|
|
105
|
+
* @param url - URL to sanitize
|
|
106
|
+
* @returns Sanitized URL
|
|
47
107
|
*/
|
|
48
|
-
|
|
108
|
+
private sanitizeUrl;
|
|
49
109
|
}
|
|
50
110
|
//# sourceMappingURL=supabase-adapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"supabase-adapter.d.ts","sourceRoot":"","sources":["../../src/lib/adapters/supabase-adapter.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"supabase-adapter.d.ts","sourceRoot":"","sources":["../../src/lib/adapters/supabase-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAY/C;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,WAAY,YAAW,kBAAkB;IAC5E,OAAO,CAAC,cAAc,CAAgB;IAEtC;;;;OAIG;gBACS,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM;IAgCxC;;;;;OAKG;IACH,OAAO,CAAC,SAAS;IAOjB;;;;OAIG;IACH,OAAO,CAAC,UAAU;IAIlB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAW5B;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAuGxB;;;;;;OAMG;IACG,KAAK,CACT,OAAO,EAAE,YAAY,EACrB,MAAM,GAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAgB,EAC3D,IAAI,CAAC,EAAE,GAAG,GACT,OAAO,CAAC,GAAG,CAAC;IAoBf;;;;;OAKG;IACG,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,GAAG,CAAC;IA0FzE;;;;;;OAMG;IACG,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,GAAG,CAAC;IA4EhF;;;OAGG;IACG,SAAS,IAAI,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,OAAO,CAAA;KAAE,CAAC;IAOvE;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAYzB;;;;;;;;OAQG;IACH,OAAO,CAAC,yBAAyB;IAqCjC;;;;OAIG;IACH,OAAO,CAAC,WAAW;CAUpB"}
|
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* Purpose: Supabase adapter
|
|
3
|
+
* Purpose: Supabase adapter implementation
|
|
4
4
|
*
|
|
5
|
-
* This adapter
|
|
6
|
-
*
|
|
5
|
+
* This adapter connects to Supabase PostgreSQL databases via the PostgREST API.
|
|
6
|
+
* Supabase uses PostgREST under the hood, so the query syntax is similar.
|
|
7
|
+
* Supports both anon_key (row-level security) and service_role_key (admin access).
|
|
7
8
|
*
|
|
8
9
|
* Expected config structure:
|
|
9
10
|
* {
|
|
10
11
|
* supabase: {
|
|
11
|
-
* url: string,
|
|
12
|
-
* anon_key: string,
|
|
13
|
-
* service_role_key?: string
|
|
12
|
+
* url: string, // Supabase project URL (e.g., https://xxx.supabase.co)
|
|
13
|
+
* anon_key: string, // Supabase anonymous key (public, respects RLS)
|
|
14
|
+
* service_role_key?: string // Optional service role key (bypasses RLS)
|
|
14
15
|
* }
|
|
15
16
|
* }
|
|
16
17
|
*/
|
|
@@ -19,43 +20,373 @@ exports.SupabaseAdapter = void 0;
|
|
|
19
20
|
const base_adapter_1 = require("./base-adapter");
|
|
20
21
|
const types_1 = require("../types");
|
|
21
22
|
/**
|
|
22
|
-
* Supabase adapter implementation
|
|
23
|
+
* Supabase adapter implementation
|
|
24
|
+
* Uses the PostgREST API provided by Supabase
|
|
23
25
|
*/
|
|
24
26
|
class SupabaseAdapter extends base_adapter_1.BaseAdapter {
|
|
25
27
|
/**
|
|
26
28
|
* Constructor
|
|
27
|
-
* @param config - Supabase configuration
|
|
29
|
+
* @param config - Supabase configuration (must include supabase.url and supabase.anon_key)
|
|
28
30
|
* @param logger - Optional logger instance
|
|
29
31
|
*/
|
|
30
32
|
constructor(config, logger) {
|
|
31
33
|
super(config, logger);
|
|
32
|
-
//
|
|
34
|
+
// Extract Supabase-specific config
|
|
35
|
+
this.supabaseConfig = config.supabase || config;
|
|
36
|
+
// Validate required fields
|
|
37
|
+
if (!this.supabaseConfig.url) {
|
|
38
|
+
this.throwError(types_1.ErrorCode.CONFIG_ERROR, 'Supabase url is required in configuration. Set supabase.url or SUPABASE_URL environment variable.');
|
|
39
|
+
}
|
|
40
|
+
if (!this.supabaseConfig.anon_key) {
|
|
41
|
+
this.throwError(types_1.ErrorCode.CONFIG_ERROR, 'Supabase anon_key is required in configuration. Set supabase.anon_key or SUPABASE_ANON_KEY environment variable.');
|
|
42
|
+
}
|
|
43
|
+
// Ensure URL doesn't end with /
|
|
44
|
+
if (this.supabaseConfig.url.endsWith('/')) {
|
|
45
|
+
this.supabaseConfig.url = this.supabaseConfig.url.slice(0, -1);
|
|
46
|
+
}
|
|
47
|
+
this.logger.info('Supabase adapter initialized', {
|
|
48
|
+
url: this.supabaseConfig.url,
|
|
49
|
+
hasServiceRoleKey: !!this.supabaseConfig.service_role_key
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Get the appropriate API key based on context
|
|
54
|
+
* Uses service_role_key if available, otherwise anon_key
|
|
55
|
+
* @param useServiceRole - Whether to use service role key
|
|
56
|
+
* @returns API key string
|
|
57
|
+
*/
|
|
58
|
+
getApiKey(useServiceRole = false) {
|
|
59
|
+
if (useServiceRole && this.supabaseConfig.service_role_key) {
|
|
60
|
+
return this.supabaseConfig.service_role_key;
|
|
61
|
+
}
|
|
62
|
+
return this.supabaseConfig.anon_key;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Get the REST API base URL
|
|
66
|
+
* Supabase REST API is at /rest/v1/
|
|
67
|
+
* @returns REST API base URL
|
|
68
|
+
*/
|
|
69
|
+
getRestUrl() {
|
|
70
|
+
return `${this.supabaseConfig.url}/rest/v1`;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Validate QueryBuilder does not contain unsupported features
|
|
74
|
+
* @param builder - QueryBuilder instance
|
|
75
|
+
*/
|
|
76
|
+
validateQueryBuilder(builder) {
|
|
77
|
+
// Supabase/PostgREST does not support SQL-style JOINs
|
|
78
|
+
const joins = builder.getJoins();
|
|
79
|
+
if (joins.length > 0) {
|
|
80
|
+
this.throwError(types_1.ErrorCode.VALIDATION_ERROR, 'Supabase adapter does not support SQL-style JOINs. Use nestedSelect() instead for related data.');
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Convert QueryBuilder to Supabase/PostgREST URL
|
|
85
|
+
* @param builder - QueryBuilder instance
|
|
86
|
+
* @returns PostgREST endpoint URL with query parameters
|
|
87
|
+
*/
|
|
88
|
+
buildSupabaseUrl(builder) {
|
|
89
|
+
const table = builder.getTable();
|
|
90
|
+
if (!table) {
|
|
91
|
+
this.throwError(types_1.ErrorCode.VALIDATION_ERROR, 'Table name is required');
|
|
92
|
+
}
|
|
93
|
+
// Validate QueryBuilder doesn't use unsupported features
|
|
94
|
+
this.validateQueryBuilder(builder);
|
|
95
|
+
const params = [];
|
|
96
|
+
// Select fields
|
|
97
|
+
const selectFields = builder.getSelectFields();
|
|
98
|
+
const nestedSelects = builder.getNestedSelects();
|
|
99
|
+
if (selectFields.length > 0 || nestedSelects.length > 0) {
|
|
100
|
+
const selectParts = [];
|
|
101
|
+
// Add regular select fields
|
|
102
|
+
if (selectFields.length > 0) {
|
|
103
|
+
selectParts.push(...selectFields);
|
|
104
|
+
}
|
|
105
|
+
// Add nested selects (PostgREST syntax: related_table(field1,field2))
|
|
106
|
+
if (nestedSelects.length > 0) {
|
|
107
|
+
const nestedParts = nestedSelects.map(ns => {
|
|
108
|
+
const fields = ns.fields.join(',');
|
|
109
|
+
return `${ns.table}(${fields})`;
|
|
110
|
+
});
|
|
111
|
+
selectParts.push(...nestedParts);
|
|
112
|
+
}
|
|
113
|
+
if (selectParts.length > 0) {
|
|
114
|
+
params.push(`select=${encodeURIComponent(selectParts.join(','))}`);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
// Where conditions
|
|
118
|
+
const whereConditions = builder.getWhereConditions();
|
|
119
|
+
for (const condition of whereConditions) {
|
|
120
|
+
const { field, operator, value } = condition;
|
|
121
|
+
let paramValue;
|
|
122
|
+
if (operator === 'in') {
|
|
123
|
+
// IN operator: field=in.(value1,value2)
|
|
124
|
+
const values = Array.isArray(value) ? value : [value];
|
|
125
|
+
paramValue = `in.(${values.map(v => String(v)).join(',')})`;
|
|
126
|
+
}
|
|
127
|
+
else if (operator === 'is') {
|
|
128
|
+
// IS operator: field=is.null or field=is.not.null
|
|
129
|
+
paramValue = value === null || value === 'null' ? 'is.null' : 'is.not.null';
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
// Standard operators: field=operator.value
|
|
133
|
+
paramValue = `${operator}.${String(value)}`;
|
|
134
|
+
}
|
|
135
|
+
params.push(`${field}=${encodeURIComponent(paramValue)}`);
|
|
136
|
+
}
|
|
137
|
+
// OR conditions
|
|
138
|
+
const whereOrConditions = builder.getWhereOrConditions();
|
|
139
|
+
if (whereOrConditions.length > 0) {
|
|
140
|
+
const orParts = [];
|
|
141
|
+
for (const orGroup of whereOrConditions) {
|
|
142
|
+
const groupParts = orGroup.map(condition => {
|
|
143
|
+
const { field, operator, value } = condition;
|
|
144
|
+
if (operator === 'in') {
|
|
145
|
+
const values = Array.isArray(value) ? value : [value];
|
|
146
|
+
return `${field}.in.(${values.map(v => String(v)).join(',')})`;
|
|
147
|
+
}
|
|
148
|
+
else if (operator === 'is') {
|
|
149
|
+
return `${field}.is.${value === null || value === 'null' ? 'null' : 'not.null'}`;
|
|
150
|
+
}
|
|
151
|
+
else {
|
|
152
|
+
return `${field}.${operator}.${String(value)}`;
|
|
153
|
+
}
|
|
154
|
+
});
|
|
155
|
+
orParts.push(`(${groupParts.join(',')})`);
|
|
156
|
+
}
|
|
157
|
+
params.push(`or=${encodeURIComponent(orParts.join(','))}`);
|
|
158
|
+
}
|
|
159
|
+
// Order by
|
|
160
|
+
const orderBy = builder.getOrderBy();
|
|
161
|
+
if (orderBy.length > 0) {
|
|
162
|
+
const orderParts = orderBy.map(o => `${o.field}.${o.direction}`);
|
|
163
|
+
params.push(`order=${encodeURIComponent(orderParts.join(','))}`);
|
|
164
|
+
}
|
|
165
|
+
// Limit
|
|
166
|
+
const limit = builder.getLimit();
|
|
167
|
+
if (limit !== null) {
|
|
168
|
+
params.push(`limit=${limit}`);
|
|
169
|
+
}
|
|
170
|
+
// Offset
|
|
171
|
+
const offset = builder.getOffset();
|
|
172
|
+
if (offset !== null) {
|
|
173
|
+
params.push(`offset=${offset}`);
|
|
174
|
+
}
|
|
175
|
+
// Build final URL
|
|
176
|
+
const queryString = params.length > 0 ? `?${params.join('&')}` : '';
|
|
177
|
+
return `/${table}${queryString}`;
|
|
33
178
|
}
|
|
34
179
|
/**
|
|
35
180
|
* Execute a query using the query builder
|
|
36
181
|
* @param builder - QueryBuilder instance
|
|
37
182
|
* @param method - HTTP method
|
|
38
|
-
* @param body - Request body
|
|
183
|
+
* @param body - Request body for POST/PUT/PATCH
|
|
39
184
|
* @returns Promise with query results
|
|
40
185
|
*/
|
|
41
186
|
async query(builder, method = 'GET', body) {
|
|
42
|
-
|
|
187
|
+
const endpoint = this.buildSupabaseUrl(builder);
|
|
188
|
+
this.logQuery('Supabase query', {
|
|
189
|
+
method,
|
|
190
|
+
endpoint,
|
|
191
|
+
hasBody: !!body,
|
|
192
|
+
bodySize: body ? JSON.stringify(body).length : 0
|
|
193
|
+
});
|
|
194
|
+
return this.rawQuery(endpoint, {
|
|
195
|
+
method,
|
|
196
|
+
body: body ? JSON.stringify(body) : undefined,
|
|
197
|
+
headers: {
|
|
198
|
+
'Content-Type': 'application/json',
|
|
199
|
+
'Prefer': 'return=representation'
|
|
200
|
+
}
|
|
201
|
+
});
|
|
43
202
|
}
|
|
44
203
|
/**
|
|
45
204
|
* Execute a raw query
|
|
46
|
-
* @param endpoint - Raw endpoint string
|
|
205
|
+
* @param endpoint - Raw endpoint string (e.g., '/table?id=eq.123')
|
|
47
206
|
* @param options - Request options
|
|
48
207
|
* @returns Promise with query results
|
|
49
208
|
*/
|
|
50
209
|
async rawQuery(endpoint, options = {}) {
|
|
51
|
-
|
|
210
|
+
const url = `${this.getRestUrl()}${endpoint}`;
|
|
211
|
+
const apiKey = this.getApiKey(false); // Use anon key by default
|
|
212
|
+
const headers = {
|
|
213
|
+
'Content-Type': 'application/json',
|
|
214
|
+
'apikey': apiKey,
|
|
215
|
+
'Authorization': `Bearer ${apiKey}`,
|
|
216
|
+
...options.headers,
|
|
217
|
+
};
|
|
218
|
+
// Log request (redact sensitive data)
|
|
219
|
+
this.logQuery('Supabase raw query', {
|
|
220
|
+
url: this.sanitizeUrl(url),
|
|
221
|
+
method: options.method || 'GET',
|
|
222
|
+
hasBody: !!options.body
|
|
223
|
+
});
|
|
224
|
+
try {
|
|
225
|
+
const response = await fetch(url, { ...options, headers });
|
|
226
|
+
if (!response.ok) {
|
|
227
|
+
const errorData = await response.text();
|
|
228
|
+
const parsedDetails = this.parseErrorPayload(errorData);
|
|
229
|
+
const sanitizedUrl = this.sanitizeUrl(url);
|
|
230
|
+
const friendlyMessage = this.buildFriendlyErrorMessage(response.status, response.statusText, endpoint, parsedDetails, sanitizedUrl);
|
|
231
|
+
this.logger.error('Supabase request failed', {
|
|
232
|
+
status: response.status,
|
|
233
|
+
statusText: response.statusText,
|
|
234
|
+
error: parsedDetails ?? errorData,
|
|
235
|
+
url: sanitizedUrl
|
|
236
|
+
});
|
|
237
|
+
this.throwError(types_1.ErrorCode.QUERY_ERROR, friendlyMessage, response.status, parsedDetails ?? errorData);
|
|
238
|
+
}
|
|
239
|
+
// Handle empty response
|
|
240
|
+
const responseBody = await response.text();
|
|
241
|
+
if (!responseBody) {
|
|
242
|
+
return null;
|
|
243
|
+
}
|
|
244
|
+
const parsedData = JSON.parse(responseBody);
|
|
245
|
+
// Log successful response
|
|
246
|
+
this.logger.info('Supabase request succeeded', {
|
|
247
|
+
status: response.status,
|
|
248
|
+
dataType: Array.isArray(parsedData) ? 'array' : typeof parsedData,
|
|
249
|
+
dataLength: Array.isArray(parsedData) ? parsedData.length : 1
|
|
250
|
+
});
|
|
251
|
+
return parsedData;
|
|
252
|
+
}
|
|
253
|
+
catch (error) {
|
|
254
|
+
// Handle connection errors
|
|
255
|
+
if (this.isConnectionError(error)) {
|
|
256
|
+
this.throwError(types_1.ErrorCode.CONNECTION_FAILED, 'Lost connection to Supabase database', undefined, error);
|
|
257
|
+
}
|
|
258
|
+
// Re-throw with error code if not already set
|
|
259
|
+
if (error.code) {
|
|
260
|
+
throw error;
|
|
261
|
+
}
|
|
262
|
+
this.throwError(types_1.ErrorCode.QUERY_ERROR, `Supabase request error: ${error.message || String(error)}`, undefined, error);
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* Execute a query with service role key (bypasses RLS)
|
|
267
|
+
* Use with caution - this bypasses row-level security
|
|
268
|
+
* @param endpoint - Raw endpoint string
|
|
269
|
+
* @param options - Request options
|
|
270
|
+
* @returns Promise with query results
|
|
271
|
+
*/
|
|
272
|
+
async rawQueryAsAdmin(endpoint, options = {}) {
|
|
273
|
+
if (!this.supabaseConfig.service_role_key) {
|
|
274
|
+
this.throwError(types_1.ErrorCode.CONFIG_ERROR, 'Service role key is required for admin queries. Set supabase.service_role_key in configuration.');
|
|
275
|
+
}
|
|
276
|
+
const url = `${this.getRestUrl()}${endpoint}`;
|
|
277
|
+
const apiKey = this.supabaseConfig.service_role_key;
|
|
278
|
+
const headers = {
|
|
279
|
+
'Content-Type': 'application/json',
|
|
280
|
+
'apikey': apiKey,
|
|
281
|
+
'Authorization': `Bearer ${apiKey}`,
|
|
282
|
+
...options.headers,
|
|
283
|
+
};
|
|
284
|
+
this.logQuery('Supabase admin query', {
|
|
285
|
+
url: this.sanitizeUrl(url),
|
|
286
|
+
method: options.method || 'GET',
|
|
287
|
+
hasBody: !!options.body,
|
|
288
|
+
isAdminQuery: true
|
|
289
|
+
});
|
|
290
|
+
try {
|
|
291
|
+
const response = await fetch(url, { ...options, headers });
|
|
292
|
+
if (!response.ok) {
|
|
293
|
+
const errorData = await response.text();
|
|
294
|
+
const parsedDetails = this.parseErrorPayload(errorData);
|
|
295
|
+
this.logger.error('Supabase admin request failed', {
|
|
296
|
+
status: response.status,
|
|
297
|
+
statusText: response.statusText,
|
|
298
|
+
error: parsedDetails ?? errorData
|
|
299
|
+
});
|
|
300
|
+
this.throwError(types_1.ErrorCode.QUERY_ERROR, `Supabase admin request failed (${response.status} ${response.statusText})`, response.status, parsedDetails ?? errorData);
|
|
301
|
+
}
|
|
302
|
+
const responseBody = await response.text();
|
|
303
|
+
if (!responseBody) {
|
|
304
|
+
return null;
|
|
305
|
+
}
|
|
306
|
+
return JSON.parse(responseBody);
|
|
307
|
+
}
|
|
308
|
+
catch (error) {
|
|
309
|
+
if (this.isConnectionError(error)) {
|
|
310
|
+
this.throwError(types_1.ErrorCode.CONNECTION_FAILED, 'Lost connection to Supabase database', undefined, error);
|
|
311
|
+
}
|
|
312
|
+
if (error.code) {
|
|
313
|
+
throw error;
|
|
314
|
+
}
|
|
315
|
+
this.throwError(types_1.ErrorCode.QUERY_ERROR, `Supabase admin request error: ${error.message || String(error)}`, undefined, error);
|
|
316
|
+
}
|
|
52
317
|
}
|
|
53
318
|
/**
|
|
54
319
|
* Get the adapter's configuration
|
|
55
|
-
* @returns Promise with adapter-specific config
|
|
320
|
+
* @returns Promise with adapter-specific config (without sensitive keys)
|
|
56
321
|
*/
|
|
57
322
|
async getConfig() {
|
|
58
|
-
return Promise.resolve(
|
|
323
|
+
return Promise.resolve({
|
|
324
|
+
url: this.supabaseConfig.url,
|
|
325
|
+
hasServiceRoleKey: !!this.supabaseConfig.service_role_key
|
|
326
|
+
});
|
|
327
|
+
}
|
|
328
|
+
/**
|
|
329
|
+
* Parse error payload from response
|
|
330
|
+
* @param raw - Raw error response text
|
|
331
|
+
* @returns Parsed error or original string
|
|
332
|
+
*/
|
|
333
|
+
parseErrorPayload(raw) {
|
|
334
|
+
if (!raw) {
|
|
335
|
+
return undefined;
|
|
336
|
+
}
|
|
337
|
+
try {
|
|
338
|
+
return JSON.parse(raw);
|
|
339
|
+
}
|
|
340
|
+
catch {
|
|
341
|
+
return raw;
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
/**
|
|
345
|
+
* Build a friendly error message
|
|
346
|
+
* @param status - HTTP status code
|
|
347
|
+
* @param statusText - HTTP status text
|
|
348
|
+
* @param endpoint - API endpoint
|
|
349
|
+
* @param parsedDetails - Parsed error details
|
|
350
|
+
* @param sanitizedUrl - URL with redacted API key
|
|
351
|
+
* @returns Friendly error message
|
|
352
|
+
*/
|
|
353
|
+
buildFriendlyErrorMessage(status, statusText, endpoint, parsedDetails, sanitizedUrl) {
|
|
354
|
+
const resource = endpoint.replace(/^\//, '').split('?')[0] || 'resource';
|
|
355
|
+
const detailMessage = parsedDetails && typeof parsedDetails === 'object' && parsedDetails.message
|
|
356
|
+
? ` Details: ${parsedDetails.message}`
|
|
357
|
+
: '';
|
|
358
|
+
const hint = parsedDetails && typeof parsedDetails === 'object' && parsedDetails.hint
|
|
359
|
+
? ` Hint: ${parsedDetails.hint}`
|
|
360
|
+
: '';
|
|
361
|
+
const requestInfo = ` Request: ${sanitizedUrl}`;
|
|
362
|
+
if (status === 404) {
|
|
363
|
+
return `Supabase could not find resource '${resource}'. Verify the table name and ensure it exists in your database. (${statusText}).${detailMessage}${hint}${requestInfo}`;
|
|
364
|
+
}
|
|
365
|
+
if (status === 401) {
|
|
366
|
+
return `Supabase rejected the request (401 Unauthorized). Check that your API key is valid and has access to '${resource}'.${detailMessage}${hint}${requestInfo}`;
|
|
367
|
+
}
|
|
368
|
+
if (status === 403) {
|
|
369
|
+
return `Supabase denied access to '${resource}' (403 Forbidden). Check row-level security policies or use service_role_key for admin access.${detailMessage}${hint}${requestInfo}`;
|
|
370
|
+
}
|
|
371
|
+
if (status === 409) {
|
|
372
|
+
return `Supabase request failed due to a conflict (409). This may be a unique constraint violation.${detailMessage}${hint}${requestInfo}`;
|
|
373
|
+
}
|
|
374
|
+
return `Supabase request failed (${status} ${statusText}).${detailMessage}${hint}${requestInfo}`;
|
|
375
|
+
}
|
|
376
|
+
/**
|
|
377
|
+
* Sanitize URL by redacting API keys
|
|
378
|
+
* @param url - URL to sanitize
|
|
379
|
+
* @returns Sanitized URL
|
|
380
|
+
*/
|
|
381
|
+
sanitizeUrl(url) {
|
|
382
|
+
let sanitized = url;
|
|
383
|
+
if (this.supabaseConfig.anon_key) {
|
|
384
|
+
sanitized = sanitized.replace(this.supabaseConfig.anon_key, '...REDACTED...');
|
|
385
|
+
}
|
|
386
|
+
if (this.supabaseConfig.service_role_key) {
|
|
387
|
+
sanitized = sanitized.replace(this.supabaseConfig.service_role_key, '...REDACTED...');
|
|
388
|
+
}
|
|
389
|
+
return sanitized;
|
|
59
390
|
}
|
|
60
391
|
}
|
|
61
392
|
exports.SupabaseAdapter = SupabaseAdapter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"supabase-adapter.js","sourceRoot":"","sources":["../../src/lib/adapters/supabase-adapter.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAGH,iDAA4C;AAE5C,oCAAoC;AAEpC;;GAEG;AACH,MAAa,eAAgB,SAAQ,0BAAW;IAC9C;;;;OAIG;IACH,YAAY,MAAW,EAAE,MAAe;QACtC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QACrB,kDAAkD;IACpD,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,KAAK,CACT,OAAqB,EACrB,SAAsD,KAAK,EAC3D,IAAU;QAEV,IAAI,CAAC,UAAU,CACb,iBAAS,CAAC,eAAe,EACzB,gFAAgF,CACjF,CAAA;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,CAAC,QAAgB,EAAE,UAAuB,EAAE;QACxD,IAAI,CAAC,UAAU,CACb,iBAAS,CAAC,eAAe,EACzB,gFAAgF,CACjF,CAAA;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,SAAS;QACb,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,CAAA;IAC7D,CAAC;CACF;AAjDD,0CAiDC"}
|
|
1
|
+
{"version":3,"file":"supabase-adapter.js","sourceRoot":"","sources":["../../src/lib/adapters/supabase-adapter.ts"],"names":[],"mappings":"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"}
|
package/dist/factory.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/lib/factory.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/lib/factory.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAgFpE;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,kBAAkB,CA8F/E"}
|
package/dist/factory.js
CHANGED
|
@@ -27,6 +27,22 @@ dotenv_1.default.config({ path: path_1.default.resolve(process.cwd(), '.env.loca
|
|
|
27
27
|
function extractPostgrestApiKey() {
|
|
28
28
|
return process.env.postgrest_api_key || process.env.POSTGREST_API_KEY || '';
|
|
29
29
|
}
|
|
30
|
+
/**
|
|
31
|
+
* Extract Supabase configuration from environment variables
|
|
32
|
+
* @returns Supabase configuration object
|
|
33
|
+
*/
|
|
34
|
+
function extractSupabaseConfigFromEnv() {
|
|
35
|
+
const url = process.env.SUPABASE_URL || process.env.NEXT_PUBLIC_SUPABASE_URL || '';
|
|
36
|
+
const anonKey = process.env.SUPABASE_ANON_KEY || process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY || '';
|
|
37
|
+
const serviceRoleKey = process.env.SUPABASE_SERVICE_ROLE_KEY || '';
|
|
38
|
+
return {
|
|
39
|
+
supabase: {
|
|
40
|
+
url,
|
|
41
|
+
anon_key: anonKey,
|
|
42
|
+
service_role_key: serviceRoleKey || undefined
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
}
|
|
30
46
|
/**
|
|
31
47
|
* Extract PostgREST configuration
|
|
32
48
|
* @param configProvider - Optional ConfigProvider instance
|
|
@@ -104,6 +120,15 @@ function createHazoConnect(config) {
|
|
|
104
120
|
...(providerConfig.postgrest || {})
|
|
105
121
|
};
|
|
106
122
|
}
|
|
123
|
+
else if (type === 'supabase') {
|
|
124
|
+
// Support Supabase configuration from environment variables
|
|
125
|
+
const envSupabaseConfig = extractSupabaseConfigFromEnv();
|
|
126
|
+
// Merge: env values as defaults, direct config takes precedence
|
|
127
|
+
providerConfig.supabase = {
|
|
128
|
+
...envSupabaseConfig.supabase,
|
|
129
|
+
...(providerConfig.supabase || {})
|
|
130
|
+
};
|
|
131
|
+
}
|
|
107
132
|
else if (type === 'sqlite') {
|
|
108
133
|
// Support path resolution from environment variables
|
|
109
134
|
if (providerConfig.sqlite?.database_path) {
|
package/dist/factory.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../src/lib/factory.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../src/lib/factory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-translator.d.ts","sourceRoot":"","sources":["../../src/lib/sqlite/query-translator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"query-translator.d.ts","sourceRoot":"","sources":["../../src/lib/sqlite/query-translator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAK/C;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,KAAK;gBACnC,OAAO,EAAE,MAAM;CAI5B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,OAAO,EAAE,CAAA;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,eAAe,EAAE,CAAA;CAC9B;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,eAAe,CAsBtE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,YAAY,EACrB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAClE,iBAAiB,CAoCnB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,eAAe,CAkBjB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,eAAe,CAUtE"}
|
|
@@ -6,6 +6,7 @@ exports.translateInsert = translateInsert;
|
|
|
6
6
|
exports.translateUpdate = translateUpdate;
|
|
7
7
|
exports.translateDelete = translateDelete;
|
|
8
8
|
const sqlite_utils_1 = require("../utils/sqlite-utils");
|
|
9
|
+
const where_builder_1 = require("../utils/where-builder");
|
|
9
10
|
/**
|
|
10
11
|
* Error raised when translation from QueryBuilder to SQL fails due to invalid configuration.
|
|
11
12
|
*/
|
|
@@ -136,7 +137,7 @@ function buildWhereClause(builder) {
|
|
|
136
137
|
const params = [];
|
|
137
138
|
const clauses = [];
|
|
138
139
|
for (const condition of builder.getWhereConditions()) {
|
|
139
|
-
const { clause, params: conditionParams } =
|
|
140
|
+
const { clause, params: conditionParams } = (0, where_builder_1.translateWhereCondition)(condition, quoteQualifiedIdentifier);
|
|
140
141
|
if (clause) {
|
|
141
142
|
clauses.push(clause);
|
|
142
143
|
params.push(...conditionParams);
|
|
@@ -149,7 +150,7 @@ function buildWhereClause(builder) {
|
|
|
149
150
|
const groupClauses = [];
|
|
150
151
|
const groupParams = [];
|
|
151
152
|
for (const condition of group) {
|
|
152
|
-
const { clause, params: conditionParams } =
|
|
153
|
+
const { clause, params: conditionParams } = (0, where_builder_1.translateWhereCondition)(condition, quoteQualifiedIdentifier);
|
|
153
154
|
if (clause) {
|
|
154
155
|
groupClauses.push(clause);
|
|
155
156
|
groupParams.push(...conditionParams);
|
|
@@ -196,63 +197,6 @@ function buildLimitOffsetClause(limit, offset) {
|
|
|
196
197
|
}
|
|
197
198
|
return ` ${parts.join(" ")}`;
|
|
198
199
|
}
|
|
199
|
-
function translateCondition(condition) {
|
|
200
|
-
const operator = condition.operator;
|
|
201
|
-
const field = quoteQualifiedIdentifier(condition.field);
|
|
202
|
-
const params = [];
|
|
203
|
-
const normalizedValue = (0, sqlite_utils_1.normalizeValue)(condition.value);
|
|
204
|
-
switch (operator) {
|
|
205
|
-
case "eq": {
|
|
206
|
-
if (condition.value === null || condition.value === undefined) {
|
|
207
|
-
return { clause: `${field} IS NULL`, params };
|
|
208
|
-
}
|
|
209
|
-
return { clause: `${field} = ?`, params: [normalizedValue] };
|
|
210
|
-
}
|
|
211
|
-
case "neq": {
|
|
212
|
-
if (condition.value === null || condition.value === undefined) {
|
|
213
|
-
return { clause: `${field} IS NOT NULL`, params };
|
|
214
|
-
}
|
|
215
|
-
return { clause: `${field} != ?`, params: [normalizedValue] };
|
|
216
|
-
}
|
|
217
|
-
case "gt":
|
|
218
|
-
return { clause: `${field} > ?`, params: [normalizedValue] };
|
|
219
|
-
case "gte":
|
|
220
|
-
return { clause: `${field} >= ?`, params: [normalizedValue] };
|
|
221
|
-
case "lt":
|
|
222
|
-
return { clause: `${field} < ?`, params: [normalizedValue] };
|
|
223
|
-
case "lte":
|
|
224
|
-
return { clause: `${field} <= ?`, params: [normalizedValue] };
|
|
225
|
-
case "like":
|
|
226
|
-
return { clause: `${field} LIKE ?`, params: [String(normalizedValue)] };
|
|
227
|
-
case "ilike":
|
|
228
|
-
return { clause: `LOWER(${field}) LIKE LOWER(?)`, params: [String(normalizedValue)] };
|
|
229
|
-
case "in": {
|
|
230
|
-
const values = Array.isArray(condition.value) ? condition.value : [condition.value];
|
|
231
|
-
if (!values.length) {
|
|
232
|
-
return { clause: "1=0", params: [] };
|
|
233
|
-
}
|
|
234
|
-
const placeholders = values.map(() => "?").join(", ");
|
|
235
|
-
return {
|
|
236
|
-
clause: `${field} IN (${placeholders})`,
|
|
237
|
-
params: values.map(sqlite_utils_1.normalizeValue)
|
|
238
|
-
};
|
|
239
|
-
}
|
|
240
|
-
case "is": {
|
|
241
|
-
const valueString = condition.value === null || condition.value === undefined
|
|
242
|
-
? "null"
|
|
243
|
-
: String(condition.value).toLowerCase();
|
|
244
|
-
if (valueString === "null") {
|
|
245
|
-
return { clause: `${field} IS NULL`, params };
|
|
246
|
-
}
|
|
247
|
-
if (valueString === "not.null" || valueString === "not null") {
|
|
248
|
-
return { clause: `${field} IS NOT NULL`, params };
|
|
249
|
-
}
|
|
250
|
-
throw new SqliteTranslationError(`Unsupported IS comparison value '${condition.value}'. Use 'null' or 'not.null'.`);
|
|
251
|
-
}
|
|
252
|
-
default:
|
|
253
|
-
throw new SqliteTranslationError(`Unsupported operator '${operator}' in WHERE clause. Use whereOr() for OR groupings.`);
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
200
|
function normalizeOrderDirection(direction) {
|
|
257
201
|
const normalized = direction?.toString().toLowerCase();
|
|
258
202
|
if (normalized === "asc" || normalized === "desc") {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-translator.js","sourceRoot":"","sources":["../../src/lib/sqlite/query-translator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"query-translator.js","sourceRoot":"","sources":["../../src/lib/sqlite/query-translator.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,6 +22,16 @@ export interface SqliteWhereFilter {
|
|
|
22
22
|
* @returns WHERE clause SQL and parameter array
|
|
23
23
|
*/
|
|
24
24
|
export declare function buildWhereClause(filters: SqliteWhereFilter[] | WhereCondition[], quoteField?: (field: string) => string): WhereClauseResult;
|
|
25
|
+
/**
|
|
26
|
+
* Translate a single condition to SQL
|
|
27
|
+
* @param condition - Condition to translate
|
|
28
|
+
* @param quoteField - Function to quote field names
|
|
29
|
+
* @returns SQL clause and parameters
|
|
30
|
+
*/
|
|
31
|
+
export declare function translateWhereCondition(condition: SqliteWhereFilter | WhereCondition, quoteField: (field: string) => string): {
|
|
32
|
+
clause: string;
|
|
33
|
+
params: unknown[];
|
|
34
|
+
};
|
|
25
35
|
/**
|
|
26
36
|
* Build filters from a criteria object (for admin service)
|
|
27
37
|
* @param criteria - Object with column names as keys and values
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"where-builder.d.ts","sourceRoot":"","sources":["../../src/lib/utils/where-builder.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAiB,cAAc,EAAE,MAAM,UAAU,CAAA;AAG7D,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,OAAO,EAAE,CAAA;CAClB;AAED,MAAM,MAAM,oBAAoB,GAC5B,IAAI,GACJ,KAAK,GACL,IAAI,GACJ,KAAK,GACL,IAAI,GACJ,KAAK,GACL,MAAM,GACN,OAAO,GACP,IAAI,GACJ,IAAI,CAAA;AAER,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,oBAAoB,CAAA;IAC9B,KAAK,EAAE,OAAO,CAAA;CACf;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,iBAAiB,EAAE,GAAG,cAAc,EAAE,EAC/C,UAAU,GAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAwB,GACtD,iBAAiB,CAgBnB;
|
|
1
|
+
{"version":3,"file":"where-builder.d.ts","sourceRoot":"","sources":["../../src/lib/utils/where-builder.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAiB,cAAc,EAAE,MAAM,UAAU,CAAA;AAG7D,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,OAAO,EAAE,CAAA;CAClB;AAED,MAAM,MAAM,oBAAoB,GAC5B,IAAI,GACJ,KAAK,GACL,IAAI,GACJ,KAAK,GACL,IAAI,GACJ,KAAK,GACL,MAAM,GACN,OAAO,GACP,IAAI,GACJ,IAAI,CAAA;AAER,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,oBAAoB,CAAA;IAC9B,KAAK,EAAE,OAAO,CAAA;CACf;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,iBAAiB,EAAE,GAAG,cAAc,EAAE,EAC/C,UAAU,GAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAwB,GACtD,iBAAiB,CAgBnB;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,iBAAiB,GAAG,cAAc,EAC7C,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GACpC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,EAAE,CAAA;CAAE,CA6DvC;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,iBAAiB,EAAE,CAMrB"}
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.buildWhereClause = buildWhereClause;
|
|
10
|
+
exports.translateWhereCondition = translateWhereCondition;
|
|
10
11
|
exports.buildFiltersFromCriteria = buildFiltersFromCriteria;
|
|
11
12
|
const sqlite_utils_1 = require("./sqlite-utils");
|
|
12
13
|
/**
|
|
@@ -22,7 +23,7 @@ function buildWhereClause(filters, quoteField = sqlite_utils_1.quoteIdentifier)
|
|
|
22
23
|
const clauses = [];
|
|
23
24
|
const params = [];
|
|
24
25
|
for (const filter of filters) {
|
|
25
|
-
const condition =
|
|
26
|
+
const condition = translateWhereCondition(filter, quoteField);
|
|
26
27
|
clauses.push(condition.clause);
|
|
27
28
|
params.push(...condition.params);
|
|
28
29
|
}
|
|
@@ -35,7 +36,7 @@ function buildWhereClause(filters, quoteField = sqlite_utils_1.quoteIdentifier)
|
|
|
35
36
|
* @param quoteField - Function to quote field names
|
|
36
37
|
* @returns SQL clause and parameters
|
|
37
38
|
*/
|
|
38
|
-
function
|
|
39
|
+
function translateWhereCondition(condition, quoteField) {
|
|
39
40
|
const operator = condition.operator;
|
|
40
41
|
// Handle both WhereCondition (has 'field') and SqliteWhereFilter (has 'column')
|
|
41
42
|
const fieldName = 'field' in condition ? condition.field : condition.column;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"where-builder.js","sourceRoot":"","sources":["../../src/lib/utils/where-builder.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAkCH,4CAmBC;
|
|
1
|
+
{"version":3,"file":"where-builder.js","sourceRoot":"","sources":["../../src/lib/utils/where-builder.ts"],"names":[],"mappings":"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"}
|