Skip to content

Commit fff8d8e

Browse files
committed
remove deps, clean sql
1 parent 6036b77 commit fff8d8e

File tree

5 files changed

+1435
-2155
lines changed

5 files changed

+1435
-2155
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
"lerna": "^8.2.3",
4141
"prettier": "^3.0.2",
4242
"rimraf": "4.4.1",
43-
"supabase-test": "^0.0.9",
43+
"supabase-test": "^0.0.10",
4444
"ts-jest": "^29.4.5",
4545
"ts-node": "^10.9.2",
4646
"typescript": "^5.9.3"

packages/hello-world/package.json

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,7 @@
77
"access": "public"
88
},
99
"scripts": {
10-
"bundle": "lql package",
1110
"test": "jest",
1211
"test:watch": "jest --watch"
13-
},
14-
"devDependencies": {
15-
"@launchql/cli": "^4.12.3"
1612
}
1713
}
Lines changed: 18 additions & 100 deletions
Original file line numberDiff line numberDiff line change
@@ -1,144 +1,68 @@
11
\echo Use "CREATE EXTENSION hello-world" to load this file. \quit
2-
CREATE SCHEMA IF NOT EXISTS auth;
3-
4-
CREATE OR REPLACE FUNCTION auth.uid() RETURNS uuid LANGUAGE sql STABLE AS $EOFCODE$
5-
SELECT COALESCE(
6-
current_setting('request.jwt.claim.sub', true)::uuid,
7-
current_setting('jwt.claims.sub', true)::uuid
8-
);
9-
$EOFCODE$;
10-
11-
CREATE OR REPLACE FUNCTION auth.role() RETURNS text LANGUAGE sql STABLE AS $EOFCODE$
12-
SELECT COALESCE(
13-
current_setting('role', true),
14-
'anon'
15-
);
16-
$EOFCODE$;
17-
18-
GRANT USAGE ON SCHEMA auth TO PUBLIC;
19-
20-
GRANT EXECUTE ON FUNCTION auth.uid() TO PUBLIC;
21-
22-
GRANT EXECUTE ON FUNCTION auth.role() TO PUBLIC;
23-
242
CREATE SCHEMA IF NOT EXISTS rls_test;
253

26-
CREATE TABLE IF NOT EXISTS rls_test.user_profiles (
27-
id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
28-
email text UNIQUE NOT NULL,
29-
name text NOT NULL,
30-
created_at timestamp with time zone DEFAULT now(),
31-
updated_at timestamp with time zone DEFAULT now()
32-
);
33-
34-
CREATE TABLE IF NOT EXISTS rls_test.products (
4+
CREATE TABLE IF NOT EXISTS rls_test.pets (
355
id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
36-
name text NOT NULL,
37-
description text,
38-
price numeric(10, 2) NOT NULL,
39-
owner_id uuid NOT NULL REFERENCES rls_test.user_profiles (id)
6+
user_id uuid NOT NULL REFERENCES auth.users (id)
407
ON DELETE CASCADE,
8+
name text NOT NULL,
9+
breed text NOT NULL,
4110
created_at timestamp with time zone DEFAULT now(),
4211
updated_at timestamp with time zone DEFAULT now()
4312
);
4413

45-
ALTER TABLE rls_test.user_profiles
46-
ENABLE ROW LEVEL SECURITY;
47-
48-
ALTER TABLE rls_test.products
14+
ALTER TABLE rls_test.pets
4915
ENABLE ROW LEVEL SECURITY;
5016

5117
CREATE POLICY "Users can view own data"
52-
ON rls_test.user_profiles
18+
ON rls_test.pets
5319
AS PERMISSIVE
5420
FOR SELECT
5521
TO PUBLIC
5622
USING (
57-
auth.uid() = id
23+
auth.uid() = user_id
5824
);
5925

6026
CREATE POLICY "Users can update own data"
61-
ON rls_test.user_profiles
27+
ON rls_test.pets
6228
AS PERMISSIVE
6329
FOR UPDATE
6430
TO PUBLIC
6531
USING (
66-
auth.uid() = id
32+
auth.uid() = user_id
6733
);
6834

6935
CREATE POLICY "Users can insert own data"
70-
ON rls_test.user_profiles
36+
ON rls_test.pets
7137
AS PERMISSIVE
7238
FOR INSERT
7339
TO PUBLIC
7440
WITH CHECK (
75-
true
41+
auth.uid() = user_id
7642
);
7743

7844
CREATE POLICY "Users can delete own data"
79-
ON rls_test.user_profiles
80-
AS PERMISSIVE
81-
FOR DELETE
82-
TO PUBLIC
83-
USING (
84-
auth.uid() = id
85-
);
86-
87-
CREATE POLICY "Users can view own products"
88-
ON rls_test.products
89-
AS PERMISSIVE
90-
FOR SELECT
91-
TO PUBLIC
92-
USING (
93-
auth.uid() = owner_id
94-
);
95-
96-
CREATE POLICY "Users can insert own products"
97-
ON rls_test.products
98-
AS PERMISSIVE
99-
FOR INSERT
100-
TO PUBLIC
101-
WITH CHECK (
102-
auth.uid() = owner_id
103-
);
104-
105-
CREATE POLICY "Users can update own products"
106-
ON rls_test.products
107-
AS PERMISSIVE
108-
FOR UPDATE
109-
TO PUBLIC
110-
USING (
111-
auth.uid() = owner_id
112-
);
113-
114-
CREATE POLICY "Users can delete own products"
115-
ON rls_test.products
45+
ON rls_test.pets
11646
AS PERMISSIVE
11747
FOR DELETE
11848
TO PUBLIC
11949
USING (
120-
auth.uid() = owner_id
50+
auth.uid() = user_id
12151
);
12252

12353
GRANT USAGE ON SCHEMA rls_test TO anon;
12454

125-
GRANT ALL ON rls_test.user_profiles TO anon;
55+
GRANT ALL ON rls_test.pets TO anon;
12656

12757
GRANT USAGE ON SCHEMA rls_test TO authenticated;
12858

129-
GRANT ALL ON rls_test.user_profiles TO authenticated;
130-
131-
GRANT ALL ON rls_test.products TO authenticated;
59+
GRANT ALL ON rls_test.pets TO authenticated;
13260

13361
GRANT USAGE ON SCHEMA rls_test TO service_role;
13462

135-
GRANT ALL ON rls_test.user_profiles TO service_role;
136-
137-
GRANT ALL ON rls_test.products TO service_role;
138-
139-
CREATE INDEX IF NOT EXISTS idx_products_owner_id ON rls_test.products (owner_id);
63+
GRANT ALL ON rls_test.pets TO service_role;
14064

141-
CREATE INDEX IF NOT EXISTS idx_users_email ON rls_test.user_profiles (email);
65+
CREATE INDEX IF NOT EXISTS idx_users_user_id ON rls_test.pets (user_id);
14266

14367
CREATE OR REPLACE FUNCTION rls_test.update_updated_at_column() RETURNS trigger AS $EOFCODE$
14468
BEGIN
@@ -149,12 +73,6 @@ $EOFCODE$ LANGUAGE plpgsql;
14973

15074
CREATE TRIGGER update_users_updated_at
15175
BEFORE UPDATE
152-
ON rls_test.user_profiles
153-
FOR EACH ROW
154-
EXECUTE PROCEDURE rls_test.update_updated_at_column();
155-
156-
CREATE TRIGGER update_products_updated_at
157-
BEFORE UPDATE
158-
ON rls_test.products
76+
ON rls_test.pets
15977
FOR EACH ROW
16078
EXECUTE PROCEDURE rls_test.update_updated_at_column();

0 commit comments

Comments
 (0)