Added users support, made CRUD for users. Updated receipts feature

This commit is contained in:
2026-03-06 23:30:58 +03:00
parent 2ee1837fcc
commit a70527b388
32 changed files with 1667 additions and 123 deletions
@@ -0,0 +1,26 @@
CREATE TYPE family_role AS ENUM (
'owner',
'admin',
'member',
'child'
);
CREATE TABLE family_members
(
id BIGSERIAL PRIMARY KEY,
family_id BIGINT NOT NULL REFERENCES families (id) ON DELETE CASCADE,
user_id BIGINT NOT NULL REFERENCES users (id) ON DELETE CASCADE,
role family_role NOT NULL DEFAULT 'member',
joined_at TIMESTAMP NOT NULL DEFAULT NOW(),
UNIQUE (family_id, user_id)
);
-- быстрый поиск всех членов семьи
CREATE INDEX idx_family_members_family_id ON family_members (family_id);
-- быстрый поиск всех семей пользователя
CREATE INDEX idx_family_members_user_id ON family_members (user_id);
-- composite для частых join’ов
CREATE INDEX idx_family_members_user_family ON family_members (user_id, family_id);