admin的数据库文件补全,修复uvue中的数据库接入bug
This commit is contained in:
@@ -12,6 +12,6 @@ ALTER TABLE public.ml_system_configs ENABLE ROW LEVEL SECURITY;
|
||||
-- 1. 允许所有登录用户读取配置 (用于前端业务逻辑判断)
|
||||
DROP POLICY IF EXISTS system_configs_select_policy ON public.ml_system_configs;
|
||||
CREATE POLICY system_configs_select_policy ON public.ml_system_configs
|
||||
FOR SELECT TO authenticated USING (true);
|
||||
FOR SELECT TO authenticated USING (deleted_at IS NULL);
|
||||
|
||||
-- 管理端全量管理将通过 SECURITY DEFINER 的 RPC 接口执行,此处不再额外开放直接表操作
|
||||
|
||||
@@ -16,7 +16,7 @@ CREATE POLICY ml_article_categories_select_active
|
||||
ON public.ml_article_categories
|
||||
FOR SELECT
|
||||
TO anon, authenticated
|
||||
USING (status = 1);
|
||||
USING (status = 1 AND deleted_at IS NULL);
|
||||
|
||||
-- 3. 文章表策略:允许所有人读取已发布的文章
|
||||
DROP POLICY IF EXISTS ml_articles_select_published ON public.ml_articles;
|
||||
@@ -24,6 +24,6 @@ CREATE POLICY ml_articles_select_published
|
||||
ON public.ml_articles
|
||||
FOR SELECT
|
||||
TO anon, authenticated
|
||||
USING (status = 1);
|
||||
USING (status = 1 AND deleted_at IS NULL);
|
||||
|
||||
-- 默认不开放 INSERT/UPDATE/DELETE 给普通用户,管理端操作通过 RPC (SECURITY DEFINER) 执行
|
||||
|
||||
@@ -13,6 +13,6 @@ ALTER TABLE public.ak_diy_pages ENABLE ROW LEVEL SECURITY;
|
||||
DROP POLICY IF EXISTS diy_pages_select_active ON public.ak_diy_pages;
|
||||
CREATE POLICY diy_pages_select_active ON public.ak_diy_pages
|
||||
FOR SELECT TO anon, authenticated
|
||||
USING (is_active = true);
|
||||
USING (is_active = true AND deleted_at IS NULL);
|
||||
|
||||
-- 管理端全量管理将通过 SECURITY DEFINER 的 RPC 接口执行,此处不再额外开放直接表操作
|
||||
|
||||
@@ -19,6 +19,6 @@ CREATE POLICY delivery_stations_select_active
|
||||
ON public.ml_delivery_stations
|
||||
FOR SELECT
|
||||
TO anon, authenticated
|
||||
USING (status = 1);
|
||||
USING (status = 1 AND deleted_at IS NULL);
|
||||
|
||||
-- 管理端全量管理将通过 SECURITY DEFINER 的 RPC 接口执行
|
||||
|
||||
@@ -18,35 +18,35 @@ ALTER TABLE public.ak_distribution_agent_applications ENABLE ROW LEVEL SECURITY;
|
||||
-- 1. 分销配置:允许所有登录用户读取(消费者端展示逻辑需要)
|
||||
DROP POLICY IF EXISTS dist_config_select_policy ON public.ak_distribution_config;
|
||||
CREATE POLICY dist_config_select_policy ON public.ak_distribution_config
|
||||
FOR SELECT TO authenticated USING (true);
|
||||
FOR SELECT TO authenticated USING (deleted_at IS NULL);
|
||||
|
||||
-- 2. 分销等级:允许所有登录用户读取可见等级
|
||||
DROP POLICY IF EXISTS dist_level_select_policy ON public.ak_distribution_level;
|
||||
CREATE POLICY dist_level_select_policy ON public.ak_distribution_level
|
||||
FOR SELECT TO authenticated USING (is_visible = true);
|
||||
FOR SELECT TO authenticated USING (is_visible = true AND deleted_at IS NULL);
|
||||
|
||||
-- 3. 推广员关系:用户仅能查看与自己相关的记录
|
||||
DROP POLICY IF EXISTS promoter_relations_select_policy ON public.ak_promoter_relations;
|
||||
CREATE POLICY promoter_relations_select_policy ON public.ak_promoter_relations
|
||||
FOR SELECT TO authenticated USING (uid = auth.uid() OR inviter_uid = auth.uid());
|
||||
FOR SELECT TO authenticated USING ((uid = auth.uid() OR inviter_uid = auth.uid()) AND deleted_at IS NULL);
|
||||
|
||||
-- 4. 佣金日志:用户仅能查看自己的佣金记录
|
||||
DROP POLICY IF EXISTS commission_logs_select_policy ON public.ak_commission_logs;
|
||||
CREATE POLICY commission_logs_select_policy ON public.ak_commission_logs
|
||||
FOR SELECT TO authenticated USING (uid = auth.uid());
|
||||
FOR SELECT TO authenticated USING (uid = auth.uid() AND deleted_at IS NULL);
|
||||
|
||||
-- 5. 事业部与代理商:允许登录用户查看启用的记录
|
||||
DROP POLICY IF EXISTS dist_divisions_select_policy ON public.ak_distribution_divisions;
|
||||
CREATE POLICY dist_divisions_select_policy ON public.ak_distribution_divisions
|
||||
FOR SELECT TO authenticated USING (is_enabled = true);
|
||||
FOR SELECT TO authenticated USING (is_enabled = true AND deleted_at IS NULL);
|
||||
|
||||
DROP POLICY IF EXISTS dist_agents_select_policy ON public.ak_distribution_agents;
|
||||
CREATE POLICY dist_agents_select_policy ON public.ak_distribution_agents
|
||||
FOR SELECT TO authenticated USING (is_enabled = true);
|
||||
FOR SELECT TO authenticated USING (is_enabled = true AND deleted_at IS NULL);
|
||||
|
||||
-- 6. 代理商申请:用户仅能管理自己的申请记录
|
||||
DROP POLICY IF EXISTS dist_apply_user_policy ON public.ak_distribution_agent_applications;
|
||||
CREATE POLICY dist_apply_user_policy ON public.ak_distribution_agent_applications
|
||||
FOR ALL TO authenticated USING (uid = auth.uid()) WITH CHECK (uid = auth.uid());
|
||||
FOR ALL TO authenticated USING (uid = auth.uid() AND deleted_at IS NULL) WITH CHECK (uid = auth.uid());
|
||||
|
||||
-- 管理端全量管理将通过 SECURITY DEFINER 的 RPC 接口执行,此处不再额外开放直接表操作
|
||||
|
||||
@@ -14,7 +14,7 @@ CREATE POLICY ml_extract_user_select
|
||||
ON public.ml_extract
|
||||
FOR SELECT
|
||||
TO authenticated
|
||||
USING (uid = auth.uid());
|
||||
USING (uid = auth.uid() AND deleted_at IS NULL);
|
||||
|
||||
-- 默认不开放 INSERT/UPDATE/DELETE 给普通用户
|
||||
-- 提现申请通常由特定的 RPC 函数 (security definer) 创建,以确保业务逻辑(如冻结余额)的原子性
|
||||
|
||||
@@ -8,12 +8,12 @@
|
||||
|
||||
ALTER TABLE public.ml_invoices ENABLE ROW LEVEL SECURITY;
|
||||
|
||||
-- 策略 1: 允许用户读取自己的记录
|
||||
-- 策略 1: 允许用户读取自己的记录(仅未删除数据)
|
||||
DROP POLICY IF EXISTS ml_invoices_user_select ON public.ml_invoices;
|
||||
CREATE POLICY ml_invoices_user_select
|
||||
ON public.ml_invoices
|
||||
FOR SELECT
|
||||
TO authenticated
|
||||
USING (uid = auth.uid());
|
||||
USING (uid = auth.uid() AND deleted_at IS NULL);
|
||||
|
||||
-- 默认不开放 INSERT/UPDATE/DELETE 给普通用户,通常由 RPC 或支付后逻辑触发
|
||||
|
||||
@@ -8,12 +8,12 @@
|
||||
|
||||
ALTER TABLE public.ml_user_bill ENABLE ROW LEVEL SECURITY;
|
||||
|
||||
-- 策略 1: 允许用户读取自己的记录
|
||||
-- 策略 1: 允许用户读取自己的记录(仅未删除数据)
|
||||
DROP POLICY IF EXISTS ml_user_bill_user_select ON public.ml_user_bill;
|
||||
CREATE POLICY ml_user_bill_user_select
|
||||
ON public.ml_user_bill
|
||||
FOR SELECT
|
||||
TO authenticated
|
||||
USING (uid = auth.uid());
|
||||
USING (uid = auth.uid() AND deleted_at IS NULL);
|
||||
|
||||
-- 默认不开放 INSERT/UPDATE/DELETE 给普通用户,由后端逻辑或 RPC 触发
|
||||
|
||||
@@ -8,12 +8,12 @@
|
||||
|
||||
ALTER TABLE public.ml_user_recharge ENABLE ROW LEVEL SECURITY;
|
||||
|
||||
-- 策略 1: 允许用户读取自己的记录
|
||||
-- 策略 1: 允许用户读取自己的记录(仅未删除数据)
|
||||
DROP POLICY IF EXISTS ml_user_recharge_user_select ON public.ml_user_recharge;
|
||||
CREATE POLICY ml_user_recharge_user_select
|
||||
ON public.ml_user_recharge
|
||||
FOR SELECT
|
||||
TO authenticated
|
||||
USING (uid = auth.uid());
|
||||
USING (uid = auth.uid() AND deleted_at IS NULL);
|
||||
|
||||
-- 默认不开放 INSERT/UPDATE/DELETE 给普通用户,写操作通常由业务逻辑或支付回调触发
|
||||
|
||||
Reference in New Issue
Block a user