@freehour/supabase-core 1.1.1 → 1.2.0
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 +1 -1
- package/dist/database.d.ts +1 -1
- package/dist/database.d.ts.map +1 -1
- package/dist/index.js +7 -7
- package/package.json +2 -2
- package/supabase/migrations/0000_supabase_core.sql +2 -2
- package/supabase/schemas/supabase-core/1_schemas.sql +5 -5
- package/supabase/schemas/supabase-core/3_functions.sql +1 -1
package/README.md
CHANGED
|
@@ -29,7 +29,7 @@ bun pm trust @freehour/supabase-core
|
|
|
29
29
|
|
|
30
30
|
### Configuration
|
|
31
31
|
|
|
32
|
-
If you generate migrations from schemas, make sure to include the `
|
|
32
|
+
If you generate migrations from schemas, make sure to include the `supabase-core` schema in your `schema_paths` in `supabase/config.toml`.
|
|
33
33
|
|
|
34
34
|
```toml
|
|
35
35
|
schema_paths = ["./schemas/supabase-core/*.sql", /* your app schema paths */]
|
package/dist/database.d.ts
CHANGED
|
@@ -82,7 +82,7 @@ export interface CoreSchema extends GenericSchema {
|
|
|
82
82
|
}
|
|
83
83
|
export interface CoreDatabase {
|
|
84
84
|
storage: StorageSchema;
|
|
85
|
-
|
|
85
|
+
core: CoreSchema;
|
|
86
86
|
}
|
|
87
87
|
export type BaseDatabase<Database> = GenericDatabase<KeyOfString<Database>> & CoreDatabase;
|
|
88
88
|
//# sourceMappingURL=database.d.ts.map
|
package/dist/database.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../lib/database.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../lib/database.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -45,7 +45,7 @@ class x extends k {
|
|
|
45
45
|
super(t, a), this.expression = e, this.format = r;
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
|
-
class
|
|
48
|
+
class $ extends k {
|
|
49
49
|
/**
|
|
50
50
|
* The schema where the record was expected to be found.
|
|
51
51
|
*/
|
|
@@ -83,7 +83,7 @@ class I extends Error {
|
|
|
83
83
|
super(t, a), this.value = e, this.supported = r;
|
|
84
84
|
}
|
|
85
85
|
}
|
|
86
|
-
const
|
|
86
|
+
const _ = m.object({
|
|
87
87
|
code: m.string(),
|
|
88
88
|
details: m.string().nullable(),
|
|
89
89
|
hint: m.string().nullable(),
|
|
@@ -91,7 +91,7 @@ const $ = m.object({
|
|
|
91
91
|
message: m.string().optional()
|
|
92
92
|
});
|
|
93
93
|
function G(s) {
|
|
94
|
-
return s instanceof P ||
|
|
94
|
+
return s instanceof P || _.safeParse(s).success;
|
|
95
95
|
}
|
|
96
96
|
const v = ["eq", "neq", "gt", "gte", "lt", "lte", "like", "ilike", "match", "imatch", "in", "is", "isdistinct", "fts", "plfts", "phfts", "wfts", "cs", "cd", "ov", "sl", "sr", "nxr", "nxl", "adj"], H = ["and", "or"], J = ",", O = "~", Q = (s) => (t = {}) => {
|
|
97
97
|
const e = (a) => t[a] ?? a, r = Object.keys(s.shape);
|
|
@@ -353,7 +353,7 @@ class F {
|
|
|
353
353
|
this.database = t, this.schema = e, this.relation = r;
|
|
354
354
|
}
|
|
355
355
|
recordNotFoundError(t) {
|
|
356
|
-
return new
|
|
356
|
+
return new $(`Record with id ${t} not found in ${this.schema}.${this.relation}`, {
|
|
357
357
|
schema: this.schema,
|
|
358
358
|
relation: this.relation,
|
|
359
359
|
id: t
|
|
@@ -380,7 +380,7 @@ class F {
|
|
|
380
380
|
minSimilarity: r = 0,
|
|
381
381
|
limit: a = 64
|
|
382
382
|
}) {
|
|
383
|
-
const { data: n } = await this.database.schema("
|
|
383
|
+
const { data: n } = await this.database.schema("core").rpc("fuzzy_search", {
|
|
384
384
|
relation: this.relation,
|
|
385
385
|
schema_name: this.schema,
|
|
386
386
|
column_name: t,
|
|
@@ -784,8 +784,8 @@ export {
|
|
|
784
784
|
H as LogicalOp,
|
|
785
785
|
J as LogicalOpSeparator,
|
|
786
786
|
x as ParseError,
|
|
787
|
-
|
|
788
|
-
|
|
787
|
+
_ as PostgrestErrorInterface,
|
|
788
|
+
$ as RecordNotFoundError,
|
|
789
789
|
et as StorageService,
|
|
790
790
|
C as TableDataService,
|
|
791
791
|
k as TracedError,
|
package/package.json
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
"name": "@freehour/supabase-core",
|
|
3
3
|
"private": false,
|
|
4
4
|
"displayName": "Supabase-Core",
|
|
5
|
-
"description": "
|
|
6
|
-
"version": "1.
|
|
5
|
+
"description": "Lightweight services for supabase to make it easier to work with databases, tables and storage buckets",
|
|
6
|
+
"version": "1.2.0",
|
|
7
7
|
"type": "module",
|
|
8
8
|
"repository": {
|
|
9
9
|
"type": "git",
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
create extension if not exists "pg_trgm" with schema "extensions";
|
|
2
2
|
|
|
3
|
-
create schema if not exists "
|
|
3
|
+
create schema if not exists "core";
|
|
4
4
|
|
|
5
5
|
set check_function_bodies = off;
|
|
6
6
|
|
|
7
|
-
CREATE OR REPLACE FUNCTION
|
|
7
|
+
CREATE OR REPLACE FUNCTION core.fuzzy_search(relation text, column_name text, search_term text, schema_name text DEFAULT 'public'::text, min_similarity double precision DEFAULT 0, limit_results integer DEFAULT 64)
|
|
8
8
|
RETURNS SETOF json
|
|
9
9
|
LANGUAGE plpgsql
|
|
10
10
|
STABLE
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
-- This file includes SQL commands for the
|
|
1
|
+
-- This file includes SQL commands for the core schema.
|
|
2
2
|
-- This schema is used by services of the supabase-core package.
|
|
3
3
|
|
|
4
4
|
-- Ensure the schema exists
|
|
5
|
-
CREATE SCHEMA IF NOT EXISTS
|
|
5
|
+
CREATE SCHEMA IF NOT EXISTS core;
|
|
6
6
|
|
|
7
7
|
-- Grant access privileges
|
|
8
|
-
GRANT USAGE ON SCHEMA
|
|
9
|
-
GRANT USAGE ON SCHEMA
|
|
10
|
-
GRANT USAGE ON SCHEMA
|
|
8
|
+
GRANT USAGE ON SCHEMA core TO "anon";
|
|
9
|
+
GRANT USAGE ON SCHEMA core TO "authenticated";
|
|
10
|
+
GRANT USAGE ON SCHEMA core TO "service_role";
|
|
11
11
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
-- Function to perform a fuzzy search on a specified table and column.
|
|
2
2
|
-- It returns records where the similarity score exceeds a specified threshold (optional).
|
|
3
3
|
-- The results are ordered by similarity score in descending order.
|
|
4
|
-
CREATE OR REPLACE FUNCTION
|
|
4
|
+
CREATE OR REPLACE FUNCTION core.fuzzy_search(
|
|
5
5
|
relation text, -- The name of the table or view to search
|
|
6
6
|
column_name text,
|
|
7
7
|
search_term text,
|