initial commit

This commit is contained in:
2025-11-29 00:28:21 +05:00
parent 46229acc82
commit ec3b03a935
76 changed files with 13492 additions and 0 deletions

View File

@@ -0,0 +1,56 @@
-- +goose Up
-- +goose StatementBegin
-- =========================================
-- ТАБЛИЦА: roles - Роли пользователей
-- =========================================
CREATE TABLE roles (
id BIGSERIAL PRIMARY KEY,
name VARCHAR(50) NOT NULL UNIQUE,
description TEXT,
created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
);
COMMENT ON TABLE roles IS 'Справочник ролей для RBAC системы';
COMMENT ON COLUMN roles.name IS 'Уникальное название роли';
-- =========================================
-- ТАБЛИЦА: permissions - Разрешения системы
-- =========================================
CREATE TABLE permissions (
id BIGSERIAL PRIMARY KEY,
name VARCHAR(100) NOT NULL UNIQUE,
resource VARCHAR(50) NOT NULL,
action VARCHAR(50) NOT NULL,
description TEXT,
created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
);
COMMENT ON TABLE permissions IS 'Справочник разрешений для RBAC системы';
COMMENT ON COLUMN permissions.resource IS 'Ресурс: request, user, complaint и т.д.';
COMMENT ON COLUMN permissions.action IS 'Действие: create, read, update, delete, moderate';
-- =========================================
-- ТАБЛИЦА: request_types - Типы заявок на помощь
-- =========================================
CREATE TABLE request_types (
id BIGSERIAL PRIMARY KEY,
name VARCHAR(100) NOT NULL UNIQUE,
description TEXT,
icon VARCHAR(50),
is_active BOOLEAN DEFAULT TRUE,
created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
);
COMMENT ON TABLE request_types IS 'Справочник типов помощи (продукты, медикаменты, техника)';
COMMENT ON COLUMN request_types.icon IS 'Название иконки для UI';
COMMENT ON COLUMN request_types.is_active IS 'Активность типа (для скрытия без удаления)';
-- +goose StatementEnd
-- +goose Down
-- +goose StatementBegin
DROP TABLE IF EXISTS request_types CASCADE;
DROP TABLE IF EXISTS permissions CASCADE;
DROP TABLE IF EXISTS roles CASCADE;
-- +goose StatementEnd