1
0
mirror of https://gitlab.com/MoonTestUse1/AdministrationItDepartmens.git synced 2025-08-14 00:25:46 +02:00

Initial commit

This commit is contained in:
MoonTestUse1
2024-12-23 19:27:44 +06:00
commit e81df4c87e
4952 changed files with 1705479 additions and 0 deletions

View File

@@ -0,0 +1,50 @@
/*
# Добавление системы категорий заявок
1. Новые таблицы
- `request_categories`
- `id` (uuid, primary key)
- `name` (text, unique)
- `description` (text)
- `is_active` (boolean)
- `created_at` (timestamp)
2. Безопасность
- Включение RLS на таблице request_categories
- Политика для чтения всеми авторизованными пользователями
- Политика для управления только администраторами
*/
DO $$ BEGIN
-- Проверяем существование таблицы перед созданием
IF NOT EXISTS (
SELECT FROM pg_tables
WHERE schemaname = 'public'
AND tablename = 'request_categories'
) THEN
-- Создание таблицы категорий
CREATE TABLE request_categories (
id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
name text NOT NULL UNIQUE,
description text,
is_active boolean DEFAULT true,
created_at timestamptz NOT NULL DEFAULT now()
);
-- Включение RLS
ALTER TABLE request_categories ENABLE ROW LEVEL SECURITY;
-- Создание политик
CREATE POLICY "Все могут просматривать категории"
ON request_categories
FOR SELECT
TO authenticated
USING (true);
CREATE POLICY "Только администраторы могут управлять категориями"
ON request_categories
FOR ALL
TO authenticated
USING (auth.jwt() ->> 'role' = 'admin');
END IF;
END $$;