From 11431a256f68a4f7b728726176c97710c66d8ba8 Mon Sep 17 00:00:00 2001 From: Alexander Date: Mon, 12 May 2025 18:42:03 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=B0=D1=88=D0=B1=D0=BE=D1=80=D0=B4=20?= =?UTF-8?q?=D0=B4=D0=BE=D1=81=D1=82=D1=83=D0=BF=D0=BD=D0=BE=20=D0=B4=D0=BE?= =?UTF-8?q?=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D1=84=D0=B0?= =?UTF-8?q?=D0=B9=D0=BB=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cmd/client/main.go | 1 + config/config.go | 22 ++ docker-compose.yml | 3 +- handlers/dashboard.go | 202 +++++++++++++++++- handlers/login.go | 27 ++- handlers/middleware.go | 4 +- handlers/register.go | 3 +- handlers/upload.go | 171 +++++++++++++++ models/files.go | 19 ++ models/user.go | 29 +-- pb_data/auxiliary.db | Bin 389120 -> 466944 bytes pb_data/data.db | Bin 176128 -> 176128 bytes .../design_db_pwfofsm6bc_5csswuyjgw.pdf | Bin 0 -> 128498 bytes .../design_db_pwfofsm6bc_5csswuyjgw.pdf.attrs | 1 + web/login_form.html | 16 ++ 15 files changed, 465 insertions(+), 33 deletions(-) create mode 100644 config/config.go create mode 100644 handlers/upload.go create mode 100644 models/files.go create mode 100644 pb_data/storage/_pb_users_auth_/54m99pn0exn3r5r/design_db_pwfofsm6bc_5csswuyjgw.pdf create mode 100644 pb_data/storage/_pb_users_auth_/54m99pn0exn3r5r/design_db_pwfofsm6bc_5csswuyjgw.pdf.attrs diff --git a/cmd/client/main.go b/cmd/client/main.go index fc8c493..81cbc0a 100644 --- a/cmd/client/main.go +++ b/cmd/client/main.go @@ -13,6 +13,7 @@ func main() { http.HandleFunc("/dashboard", handlers.AuthMiddleware(handlers.DashboardHandler)) + http.HandleFunc("/upload", handlers.AuthMiddleware(handlers.UploadHandler)) // Запуск сервера log.Println("Клиент запущен на :8080") log.Fatal(http.ListenAndServe(":8080", nil)) diff --git a/config/config.go b/config/config.go new file mode 100644 index 0000000..4757d6d --- /dev/null +++ b/config/config.go @@ -0,0 +1,22 @@ +package config + +import ( + "log" + "os" +) + +var ( + // PocketBaseURL URL сервера PocketBase + PocketBaseURL string +) + +func init() { + // Получаем URL из переменной окружения или используем значение по умолчанию + PocketBaseURL = os.Getenv("POCKETBASE_URL") + if PocketBaseURL == "" { + PocketBaseURL = "http://localhost:8090" + log.Printf("POCKETBASE_URL не установлен, используем значение по умолчанию: %s", PocketBaseURL) + } else { + log.Printf("Используем POCKETBASE_URL из переменной окружения: %s", PocketBaseURL) + } +} diff --git a/docker-compose.yml b/docker-compose.yml index 7005d83..72241d7 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,4 +1,3 @@ - services: server: build: @@ -14,3 +13,5 @@ services: - server ports: - "8080:8080" # Укажите порт клиента + environment: + - POCKETBASE_URL=http://server:8090 diff --git a/handlers/dashboard.go b/handlers/dashboard.go index f9362f7..17db275 100644 --- a/handlers/dashboard.go +++ b/handlers/dashboard.go @@ -2,13 +2,15 @@ package handlers import ( "encoding/json" + "fmt" "io" "log" "net/http" + "pocketbaseSigner/config" "pocketbaseSigner/models" + "time" ) - func DashboardHandler(w http.ResponseWriter, r *http.Request) { if r.Method != http.MethodGet { http.Error(w, "Метод не поддерживается", http.StatusMethodNotAllowed) @@ -31,7 +33,7 @@ func DashboardHandler(w http.ResponseWriter, r *http.Request) { } // Получаем данные пользователя - url := "http://localhost:8090/api/collections/users/records/" + userIdCookie.Value + url := config.PocketBaseURL + "/api/collections/users/records/" + userIdCookie.Value req, err := http.NewRequest("GET", url, nil) if err != nil { log.Printf("Ошибка при создании запроса: %v", err) @@ -87,7 +89,7 @@ func DashboardHandler(w http.ResponseWriter, r *http.Request) { padding: 20px; } .container { - max-width: 800px; + max-width: 1200px; margin: 0 auto; background: white; padding: 20px; @@ -114,6 +116,87 @@ func DashboardHandler(w http.ResponseWriter, r *http.Request) { .logout-btn:hover { background: #c82333; } + .files-section { + margin-top: 30px; + } + .files-grid { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); + gap: 20px; + margin-top: 20px; + } + .file-card { + background: #f8f9fa; + border: 1px solid #dee2e6; + border-radius: 8px; + padding: 15px; + cursor: pointer; + transition: transform 0.2s; + } + .file-card:hover { + transform: translateY(-5px); + box-shadow: 0 4px 8px rgba(0,0,0,0.1); + } + .file-name { + font-weight: bold; + margin-bottom: 10px; + word-break: break-word; + } + .file-date { + color: #6c757d; + font-size: 0.9em; + } + .pdf-viewer { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: rgba(0,0,0,0.8); + display: none; + z-index: 1000; + } + .pdf-viewer iframe { + width: 90%; + height: 90%; + margin: 2% auto; + display: block; + background: white; + border: none; + border-radius: 8px; + } + .close-viewer { + position: absolute; + top: 20px; + right: 20px; + background: white; + border: none; + border-radius: 50%; + width: 40px; + height: 40px; + font-size: 20px; + cursor: pointer; + display: flex; + align-items: center; + justify-content: center; + } + .upload-section { + margin-top: 20px; + padding: 20px; + background: #f8f9fa; + border-radius: 8px; + } + .upload-btn { + background: #28a745; + color: white; + border: none; + padding: 10px 20px; + border-radius: 4px; + cursor: pointer; + } + .upload-btn:hover { + background: #218838; + } @@ -130,17 +213,124 @@ func DashboardHandler(w http.ResponseWriter, r *http.Request) {

Имя: ` + userData.FirstName + `

Фамилия: ` + userData.LastName + `

Телефон: ` + userData.Phone + `

-

Дата регистрации: ` + userData.Created + `

-

Последнее обновление: ` + userData.Updated + `

-

Статус верификации: ` + formatVerified(userData.Verified) + `

+ + +
+

Мои документы

+
+
+ + +
+
+
+ ` + generateFilesGridFromNames(userData.Files, userIdCookie.Value, cookie.Value) + ` +
+ +
+ + +
+ + ` w.Write([]byte(dashboardHTML)) } +func getFileToken(cookie string) (string, error) { + url := config.PocketBaseURL + "/api/files/token" + req, err := http.NewRequest("POST", url, nil) + if err != nil { + return "", err + } + + req.Header.Set("Authorization", cookie) + client := &http.Client{} + resp, err := client.Do(req) + if err != nil { + return "", err + } + defer resp.Body.Close() + + if resp.StatusCode != http.StatusOK { + return "", fmt.Errorf("ошибка получения токена: %d", resp.StatusCode) + } + + var result map[string]string + if err := json.NewDecoder(resp.Body).Decode(&result); err != nil { + return "", err + } + + return result["token"], nil +} + +func generateFilesGridFromNames(files []string, userId string, authCookie string) string { + if len(files) == 0 { + return `
У вас пока нет загруженных документов
` + } + + // Получаем токен для доступа к файлам + token, err := getFileToken(authCookie) + if err != nil { + log.Printf("Ошибка при получении токена файла: %v", err) + return `
Ошибка при получении доступа к файлам
` + } + + var html string + for _, fileName := range files { + // Формируем URL для просмотра файла с токеном + fileUrl := config.PocketBaseURL + "/api/files/_pb_users_auth_/" + userId + "/" + fileName + "?token=" + token + html += ` +
+
+ + + + + + + +
+
+
` + fileName + `
+
+
+ ` + } + return html +} + +func formatDate(dateStr string) string { + // Парсим дату из формата ISO 8601 + t, err := time.Parse(time.RFC3339, dateStr) + if err != nil { + return dateStr + } + // Форматируем в удобный для чтения формат + return t.Format("02.01.2006 15:04") +} + func formatVerified(verified bool) string { if verified { return "Подтвержден" diff --git a/handlers/login.go b/handlers/login.go index 9d89539..4d3ccb4 100644 --- a/handlers/login.go +++ b/handlers/login.go @@ -6,6 +6,7 @@ import ( "io" "log" "net/http" + "pocketbaseSigner/config" "pocketbaseSigner/models" ) @@ -13,7 +14,6 @@ import ( //2. реализовать логин //3. приступить к миддлвейру - func LoginHandler(w http.ResponseWriter, r *http.Request) { if r.Method == http.MethodGet { http.ServeFile(w, r, "./web/login_form.html") @@ -27,28 +27,35 @@ func LoginHandler(w http.ResponseWriter, r *http.Request) { return } - if r.FormValue("email") == "" || r.FormValue("password") == "" { + user := models.LoginForm{ + Email: r.FormValue("email"), + Password: r.FormValue("password"), + } + + // Проверяем обязательные поля + if user.Email == "" || user.Password == "" { http.Error(w, "Email и пароль обязательны!", http.StatusBadRequest) return } - // Создаем структуру для запроса - loginData := map[string]string{ - "identity": r.FormValue("email"), - "password": r.FormValue("password"), + // Подготавливаем данные для отправки + dataMap := map[string]string{ + "identity": user.Email, + "password": user.Password, } - // Преобразуем в JSON - jsonData, err := json.Marshal(loginData) + data, err := json.Marshal(dataMap) if err != nil { log.Printf("Ошибка при создании JSON: %v", err) http.Error(w, "Внутренняя ошибка сервера", http.StatusInternalServerError) return } - url := "http://localhost:8090/api/collections/users/auth-with-password" + log.Printf("Отправляем данные пользователя: %+v\n", user) - req, err := http.NewRequest("POST", url, bytes.NewBuffer(jsonData)) + url := config.PocketBaseURL + "/api/collections/users/auth-with-password" + log.Printf("URL: %v\n", url) + req, err := http.NewRequest("POST", url, bytes.NewBuffer(data)) if err != nil { log.Printf("Ошибка при создании запроса: %v", err) http.Error(w, "Внутренняя ошибка сервера", http.StatusInternalServerError) diff --git a/handlers/middleware.go b/handlers/middleware.go index 861b6b1..cb2ba55 100644 --- a/handlers/middleware.go +++ b/handlers/middleware.go @@ -3,6 +3,7 @@ package handlers import ( "log" "net/http" + "pocketbaseSigner/config" ) func AuthMiddleware(next http.HandlerFunc) http.HandlerFunc { @@ -16,7 +17,8 @@ func AuthMiddleware(next http.HandlerFunc) http.HandlerFunc { } // Проверяем валидность токена через PocketBase - req, err := http.NewRequest("POST", "http://localhost:8090/api/collections/users/auth-refresh", nil) + url := config.PocketBaseURL + "/api/collections/users/auth-refresh" + req, err := http.NewRequest("POST", url, nil) if err != nil { log.Printf("Ошибка при создании запроса: %v", err) http.Error(w, "Внутренняя ошибка сервера", http.StatusInternalServerError) diff --git a/handlers/register.go b/handlers/register.go index 32d6c7b..466a8fa 100644 --- a/handlers/register.go +++ b/handlers/register.go @@ -5,6 +5,7 @@ import ( "encoding/json" "log" "net/http" + "pocketbaseSigner/config" "pocketbaseSigner/models" ) @@ -61,7 +62,7 @@ func RegisterFormHandler(w http.ResponseWriter, r *http.Request) { log.Printf("Отправляем данные пользователя: %+v\n", user) - url := "http://localhost:8090/api/collections/users/records" + url := config.PocketBaseURL + "/api/collections/users/records" req, err := http.NewRequest("POST", url, bytes.NewBuffer(data)) if err != nil { log.Printf("Ошибка при создании запроса: %v", err) diff --git a/handlers/upload.go b/handlers/upload.go new file mode 100644 index 0000000..4ddad1b --- /dev/null +++ b/handlers/upload.go @@ -0,0 +1,171 @@ +package handlers + +import ( + "bytes" + "encoding/json" + "io" + "log" + "mime/multipart" + "net/http" + "pocketbaseSigner/config" + "pocketbaseSigner/models" +) + +func UploadHandler(w http.ResponseWriter, r *http.Request) { + if r.Method != http.MethodPost { + http.Error(w, "Метод не поддерживается", http.StatusMethodNotAllowed) + return + } + + // Получаем токен из cookie + cookie, err := r.Cookie("pb_auth") + if err != nil { + http.Redirect(w, r, "/login", http.StatusSeeOther) + return + } + + // Получаем ID пользователя из cookie + userIdCookie, err := r.Cookie("user_id") + if err != nil { + log.Printf("Ошибка при получении ID пользователя: %v", err) + http.Redirect(w, r, "/login", http.StatusSeeOther) + return + } + + // Получаем текущие данные пользователя + url := config.PocketBaseURL + "/api/collections/users/records/" + userIdCookie.Value + req, err := http.NewRequest("GET", url, nil) + if err != nil { + log.Printf("Ошибка при создании запроса: %v", err) + http.Error(w, "Внутренняя ошибка сервера", http.StatusInternalServerError) + return + } + + req.Header.Set("Authorization", cookie.Value) + client := &http.Client{} + resp, err := client.Do(req) + if err != nil { + log.Printf("Ошибка при получении данных пользователя: %v", err) + http.Error(w, "Ошибка при получении данных", http.StatusInternalServerError) + return + } + defer resp.Body.Close() + + body, err := io.ReadAll(resp.Body) + if err != nil { + log.Printf("Ошибка при чтении ответа: %v", err) + http.Error(w, "Ошибка при обработке данных", http.StatusInternalServerError) + return + } + + var userData models.UserData + if err := json.Unmarshal(body, &userData); err != nil { + log.Printf("Ошибка при разборе JSON: %v", err) + http.Error(w, "Ошибка при обработке данных", http.StatusInternalServerError) + return + } + + // Получаем файл из формы + file, header, err := r.FormFile("files") + if err != nil { + log.Printf("Ошибка при получении файла: %v", err) + http.Error(w, "Ошибка при загрузке файла", http.StatusBadRequest) + return + } + defer file.Close() + + // Создаем multipart writer для отправки файла + requestBody := &bytes.Buffer{} + writer := multipart.NewWriter(requestBody) + + // Добавляем файл + part, err := writer.CreateFormFile("files", header.Filename) + if err != nil { + log.Printf("Ошибка при создании формы: %v", err) + http.Error(w, "Ошибка при подготовке файла", http.StatusInternalServerError) + return + } + + // Копируем содержимое файла + _, err = io.Copy(part, file) + if err != nil { + log.Printf("Ошибка при копировании файла: %v", err) + http.Error(w, "Ошибка при обработке файла", http.StatusInternalServerError) + return + } + + // Добавляем существующие файлы + for _, existingFile := range userData.Files { + part, err := writer.CreateFormFile("files", existingFile) + if err != nil { + log.Printf("Ошибка при добавлении существующего файла: %v", err) + continue + } + // Получаем содержимое существующего файла + fileUrl := config.PocketBaseURL + "/api/files/_pb_users_auth_/" + userIdCookie.Value + "/" + existingFile + fileReq, err := http.NewRequest("GET", fileUrl, nil) + if err != nil { + log.Printf("Ошибка при создании запроса для существующего файла: %v", err) + continue + } + fileReq.Header.Set("Authorization", cookie.Value) + fileResp, err := client.Do(fileReq) + if err != nil { + log.Printf("Ошибка при получении существующего файла: %v", err) + continue + } + _, err = io.Copy(part, fileResp.Body) + fileResp.Body.Close() + if err != nil { + log.Printf("Ошибка при копировании существующего файла: %v", err) + continue + } + } + + // Закрываем writer + err = writer.Close() + if err != nil { + log.Printf("Ошибка при закрытии writer: %v", err) + http.Error(w, "Ошибка при подготовке запроса", http.StatusInternalServerError) + return + } + + // Создаем запрос к PocketBase + url = config.PocketBaseURL + "/api/collections/users/records/" + userIdCookie.Value + log.Printf("Отправка запроса на URL: %s", url) + log.Printf("Content-Type: %s", writer.FormDataContentType()) + + req, err = http.NewRequest("PATCH", url, requestBody) + if err != nil { + log.Printf("Ошибка при создании запроса: %v", err) + http.Error(w, "Ошибка при отправке файла", http.StatusInternalServerError) + return + } + + // Устанавливаем заголовки + req.Header.Set("Content-Type", writer.FormDataContentType()) + req.Header.Set("Authorization", cookie.Value) + + // Отправляем запрос + resp, err = client.Do(req) + if err != nil { + log.Printf("Ошибка при отправке запроса: %v", err) + http.Error(w, "Ошибка при загрузке файла", http.StatusInternalServerError) + return + } + defer resp.Body.Close() + + // Читаем ответ + respBody, _ := io.ReadAll(resp.Body) + log.Printf("Ответ сервера (статус %d): %s", resp.StatusCode, string(respBody)) + + // Проверяем ответ + if resp.StatusCode != http.StatusOK { + log.Printf("Ошибка при загрузке файла (статус %d): %s", resp.StatusCode, string(respBody)) + http.Error(w, "Ошибка при загрузке файла", resp.StatusCode) + return + } + + // Перенаправляем обратно на дашборд + http.Redirect(w, r, "/dashboard", http.StatusSeeOther) +} diff --git a/models/files.go b/models/files.go new file mode 100644 index 0000000..fed0981 --- /dev/null +++ b/models/files.go @@ -0,0 +1,19 @@ +package models + +// File представляет информацию о файле +type File struct { + ID string `json:"id"` + Name string `json:"name"` + Url string `json:"url"` + Created string `json:"created"` + Updated string `json:"updated"` + User string `json:"user"` +} + +// FilesList представляет список файлов +type FilesList struct { + Page int `json:"page"` + PerPage int `json:"perPage"` + Total int `json:"total"` + Items []File `json:"items"` +} diff --git a/models/user.go b/models/user.go index f5e8d9d..1a1585c 100644 --- a/models/user.go +++ b/models/user.go @@ -1,6 +1,5 @@ package models - type UserResponse struct { ID string `json:"id"` Email string `json:"email"` @@ -8,17 +7,19 @@ type UserResponse struct { LastName string `json:"last_name"` } +// UserData представляет данные пользователя type UserData struct { - CollectionId string `json:"collectionId"` - CollectionName string `json:"collectionName"` - ID string `json:"id"` - Email string `json:"email"` - FirstName string `json:"FirstName"` - LastName string `json:"LastName"` - Phone string `json:"Phone"` - EmailVisibility bool `json:"emailVisibility"` - Verified bool `json:"verified"` - Avatar string `json:"avatar"` - Created string `json:"created"` - Updated string `json:"updated"` -} \ No newline at end of file + CollectionId string `json:"collectionId"` + CollectionName string `json:"collectionName"` + ID string `json:"id"` + Email string `json:"email"` + Password string `json:"password"` + PasswordConfirm string `json:"passwordConfirm"` + FirstName string `json:"firstName"` + LastName string `json:"lastName"` + Phone string `json:"phone"` + Created string `json:"created"` + Updated string `json:"updated"` + Verified bool `json:"verified"` + Files []string `json:"files"` +} diff --git a/pb_data/auxiliary.db b/pb_data/auxiliary.db index e86746ffc6e9a49a77d7741c5efb23ecfd9cf61c..69f5abbd8e1c0b5ce5f0917410cd76207835a0fb 100644 GIT binary patch literal 466944 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