Compare commits

...

2 Commits

Author SHA1 Message Date
99cec81d91 save
Some checks failed
Deploy to Server (Docker) / deploy (push) Failing after 48s
2025-03-22 12:12:22 +03:00
def414917b Rename image
Some checks failed
Deploy to Server (Docker) / deploy (push) Failing after 47s
2025-03-22 12:01:48 +03:00
4 changed files with 33 additions and 13 deletions

View File

@ -13,7 +13,7 @@ jobs:
uses: actions/checkout@v3 uses: actions/checkout@v3
- name: Build Docker image - name: Build Docker image
run: docker build -t registry.gocommunity.ru:5000/my-app-image . run: docker build -t registry.gocommunity.ru:5000/task_manager .
- name: List Docker image - name: List Docker image
run: docker images run: docker images
@ -22,7 +22,7 @@ jobs:
run: docker login -u podman -p PodMan25! registry.gocommunity.ru:5000 run: docker login -u podman -p PodMan25! registry.gocommunity.ru:5000
- name: Push Docker image to registry - name: Push Docker image to registry
run: docker push registry.gocommunity.ru:5000/my-app-image:latest run: docker push registry.gocommunity.ru:5000/task_manager:latest
- name: Push Docker image to registry - name: Push Docker image to registry
run: echo "Happy New Year!!" run: echo "Happy New Year!!"
@ -34,7 +34,7 @@ jobs:
username: ${{ secrets.SERVER_USERNAME }} username: ${{ secrets.SERVER_USERNAME }}
key: ${{ secrets.SERVER_PRIVATE_KEY }} key: ${{ secrets.SERVER_PRIVATE_KEY }}
script: | script: |
docker pull <your-docker-registry>/my-app-image:latest docker pull registry.gocommunity.ru:5000/task_manager:latest
docker stop my-app-container || true # Stop existing container if it exists docker stop task_manager_container || true # Stop existing container if it exists
docker rm my-app-container || true # Remove existing container if it exists docker rm task_manager_container || true # Remove existing container if it exists
docker run -d -p 8080:80 --name my-app-container <your-docker-registry>/my-app-image:latest docker run -d -p 8080:80 --name task_manager_container registry.gocommunity.ru:5000/task_manager:latest

View File

@ -5,6 +5,7 @@ import (
"errors" "errors"
"net/http" "net/http"
"strconv" "strconv"
"task_manager/internal/domain/project"
"task_manager/internal/domain/tasks" "task_manager/internal/domain/tasks"
"task_manager/internal/domain/users" "task_manager/internal/domain/users"
"task_manager/internal/persistance" "task_manager/internal/persistance"
@ -118,10 +119,8 @@ func (rm *TaskManager) handleUserProjects(w http.ResponseWriter, r *http.Request
respondWithJSON(w, http.StatusOK, projects) respondWithJSON(w, http.StatusOK, projects)
} }
func (rm *TaskManager) handleAssignUserToProject(w http.ResponseWriter, r *http.Request) { func (rm *TaskManager) handleAssignUserToProject(w http.ResponseWriter, r *http.Request) {
var input struct {
IdUser int `json:"id_user"` var input project.UserProjectLink
IdProject int `json:"id_project"`
}
err := json.NewDecoder(r.Body).Decode(&input) err := json.NewDecoder(r.Body).Decode(&input)
if err != nil { if err != nil {
@ -131,6 +130,11 @@ func (rm *TaskManager) handleAssignUserToProject(w http.ResponseWriter, r *http.
// Заглушка: реализация привязки пользователя к проекту // Заглушка: реализация привязки пользователя к проекту
// Для добавления необходимо доработать метод в репозитории // Для добавления необходимо доработать метод в репозитории
err = rm.repo.AssignProject(&input)
if err != nil {
respondWithError(w, http.StatusBadRequest, "Faild to assign project", err)
return
}
respondWithJSON(w, http.StatusOK, map[string]string{ respondWithJSON(w, http.StatusOK, map[string]string{
"message": "User assigned to project successfully", "message": "User assigned to project successfully",

View File

@ -9,3 +9,9 @@ type Project struct {
Date string `json:"date"` Date string `json:"date"`
Sprints []sprint.Sprint Sprints []sprint.Sprint
} }
type UserProjectLink struct {
Id int `json:"id"`
IdUser int `json:"id_user"`
IdProject int `json:"id_project"`
}

View File

@ -6,7 +6,7 @@ import (
_ "github.com/lib/pq" _ "github.com/lib/pq"
) )
func (tm *TaskManagerRepository) AddProject(newProject *project.Project) error { func (tm *TaskManagerRepository) AddProject(newProject *project.UserProjectLink) error {
err := tm.db.QueryRow(`INSERT INTO task_manager.project(name,description) err := tm.db.QueryRow(`INSERT INTO task_manager.project(name,description)
VALUES ($1,$2) VALUES ($1,$2)
RETURNING id RETURNING id
@ -26,6 +26,16 @@ func (tm *TaskManagerRepository) DeleteProject(project *project.Project) error {
return nil return nil
} }
func (tm *TaskManagerRepository) GetProjects() ([]project.Project, error) { func (tm *TaskManagerRepository) AssignProject(link *project.UserProjectLink) error {
return nil, nil
err := tm.db.QueryRow(`INSERT INTO task_manager.user_project(users,projects)
VALUES ($1,$2)
RETURNING id
`, link.IdUser, link.IdProject).Scan(&link.Id)
if err != nil {
return err
}
return nil
} }