Синхронизация моделей, Docker настройки и исправление Angular шаблонов

- V1__init.sql: синхронизированы таблицы с Java моделями (users, folders, messages, contacts)
- docker-compose.yml: обновлён контекст сборки, переменные R2DBC/Flyway, порты (5433, 3026, 1443)
- backend/Dockerfile: обновлены пути COPY для нового контекста сборки
- settings.gradle: удалён frontend проект из Gradle
- contacts.component.html: исправлен ternary оператор с HTML на Angular @if/@else
- Фронтенд компоненты: обновления compose, inbox, layout, login, message-detail, register
- index.html, styles.css: обновления стилей и мета-данных

Co-authored-by: Junie <junie@jetbrains.com>
This commit is contained in:
2026-11-05 03:08:36 +01:00
co-authored by Junie
parent 0d16342f9f
commit b6f6d41813
13 changed files with 88 additions and 48 deletions
+3 -2
View File
@@ -1,9 +1,10 @@
# Stage 1: Build
FROM eclipse-temurin:21-jdk-alpine AS build
WORKDIR /app
COPY build.gradle settings.gradle gradlew ./
COPY backend/build.gradle ./
COPY gradlew ./
COPY gradle gradle
COPY src src
COPY backend/src src
RUN chmod +x gradlew
RUN ./gradlew bootJar --no-daemon
@@ -2,8 +2,11 @@
CREATE TABLE users (
id BIGSERIAL PRIMARY KEY,
email VARCHAR(255) UNIQUE NOT NULL,
password_hash VARCHAR(255) NOT NULL,
password VARCHAR(255) NOT NULL,
display_name VARCHAR(255) NOT NULL,
quota_bytes BIGINT NOT NULL DEFAULT 1073741824,
used_bytes BIGINT NOT NULL DEFAULT 0,
is_active BOOLEAN NOT NULL DEFAULT TRUE,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);
@@ -12,7 +15,8 @@ CREATE TABLE folders (
id BIGSERIAL PRIMARY KEY,
user_id BIGINT NOT NULL REFERENCES users(id) ON DELETE CASCADE,
name VARCHAR(50) NOT NULL,
type VARCHAR(20) NOT NULL,
message_count INTEGER NOT NULL DEFAULT 0,
unread_count INTEGER NOT NULL DEFAULT 0,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);
@@ -25,10 +29,13 @@ CREATE TABLE messages (
recipient_email VARCHAR(255) NOT NULL,
subject VARCHAR(1000),
body TEXT,
is_html BOOLEAN NOT NULL DEFAULT FALSE,
is_read BOOLEAN NOT NULL DEFAULT FALSE,
is_flagged BOOLEAN NOT NULL DEFAULT FALSE,
is_spam BOOLEAN NOT NULL DEFAULT FALSE,
message_size BIGINT,
received_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
received_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
message_id VARCHAR(255)
);
-- Таблица вложений
@@ -58,6 +65,8 @@ CREATE TABLE contacts (
user_id BIGINT NOT NULL REFERENCES users(id) ON DELETE CASCADE,
name VARCHAR(255) NOT NULL,
email VARCHAR(255) NOT NULL,
phone VARCHAR(50),
company VARCHAR(255),
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
UNIQUE (user_id, email)
);