save
This commit is contained in:
parent
556fa77831
commit
32416be943
@ -7,7 +7,7 @@ CREATE DATABASE tasks;
|
||||
CREATE SCHEMA task_manager;
|
||||
|
||||
|
||||
CREATE TABLE task_manager.user(
|
||||
CREATE TABLE task_manager.users(
|
||||
"id" SERIAL PRIMARY KEY UNIQUE,
|
||||
"login" TEXT NOT NULL UNIQUE,
|
||||
"password" TEXT NOT NULL,
|
||||
|
@ -6,7 +6,7 @@ CREATE TABLE task_manager.project (
|
||||
"id" SERIAL PRIMARY KEY UNIQUE,
|
||||
"name" TEXT NOT NULL,
|
||||
"description" TEXT NOT NULL,
|
||||
"date" TEXT NOT NULL
|
||||
"date" TEXT NOT NULL DEFAULT now()
|
||||
);
|
||||
|
||||
CREATE TABLE task_manager.user_project (
|
||||
@ -14,5 +14,5 @@ CREATE TABLE task_manager.user_project (
|
||||
"projects" INTEGER NOT NULL,
|
||||
PRIMARY KEY ("users", "projects"),
|
||||
FOREIGN KEY ("projects") REFERENCES task_manager.project ("id") ON DELETE CASCADE,
|
||||
FOREIGN KEY ("users") REFERENCES task_manager.user ("id") ON DELETE CASCADE
|
||||
FOREIGN KEY ("users") REFERENCES task_manager.users ("id") ON DELETE CASCADE
|
||||
);
|
||||
|
@ -13,7 +13,7 @@ CREATE TABLE task_manager.task(
|
||||
"date_start" DATE DEFAULT now(),
|
||||
"duration" INTEGER,
|
||||
"status" task_manager.task_status DEFAULT 'todo',
|
||||
FOREIGN KEY (id_user) REFERENCES task_manager.user(id) ON DELETE SET NULL,
|
||||
FOREIGN KEY (id_user) REFERENCES task_manager.users(id) ON DELETE SET NULL,
|
||||
FOREIGN KEY (id_sprint) REFERENCES task_manager.sprint(id) ON DELETE SET NULL,
|
||||
FOREIGN KEY (id_project) REFERENCES task_manager.project(id) ON DELETE CASCADE
|
||||
);
|
@ -1,14 +0,0 @@
|
||||
version: '3'
|
||||
services:
|
||||
tasks-postgres:
|
||||
image: docker.io/postgres:13
|
||||
name: tasks-postgres
|
||||
environment:
|
||||
POSTGRES_USER: postgres
|
||||
POSTGRES_PASSWORD: postgres
|
||||
ports:
|
||||
5432:5432
|
||||
volumes:
|
||||
- ../database/init:/docker-entrypoint-initdb.d
|
||||
|
||||
|
31
internal/persistance/project_repository.go
Normal file
31
internal/persistance/project_repository.go
Normal file
@ -0,0 +1,31 @@
|
||||
package persistance
|
||||
|
||||
import (
|
||||
"task_manager/internal/domain/project"
|
||||
|
||||
_ "github.com/lib/pq"
|
||||
)
|
||||
|
||||
func (tm *TaskManagerRepository) AddProject(newProject *project.Project) error {
|
||||
err := tm.db.QueryRow(`INSERT INTO task_manager.project(name,description)
|
||||
VALUES ($1,$2)
|
||||
RETURNING id
|
||||
`, newProject.Name, newProject.Description).Scan(&newProject.Id)
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (tm *TaskManagerRepository) DeleteProject(project *project.Project) error {
|
||||
_, err := tm.db.Exec(`DELETE FROM task_manager.project WHERE id=$1`, project.Id)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (tm *TaskManagerRepository) GetProjects() ([]project.Project, error) {
|
||||
return nil, nil
|
||||
}
|
0
internal/persistance/sprint_repository.go
Normal file
0
internal/persistance/sprint_repository.go
Normal file
@ -7,7 +7,7 @@ import (
|
||||
_ "github.com/lib/pq"
|
||||
)
|
||||
|
||||
func (tm *TaskManagerRepository) AddTask(task tasks.Task) error {
|
||||
func (tm *TaskManagerRepository) AddTask(task *tasks.Task) error {
|
||||
err := tm.db.QueryRow(`INSERT INTO task_manager.tasks(id_sprint,id_user,id_project,title,description,duration,status)
|
||||
VALUES($1,$2,$3,$4,$5,$6,$7)
|
||||
RETURNING id`,
|
||||
@ -80,7 +80,9 @@ func (tm *TaskManagerRepository) GetTask(id int) (*tasks.Task, error) {
|
||||
func (tm *TaskManagerRepository) GetUserTasks(id_user int) ([]tasks.Task, error) {
|
||||
user_tasks := []tasks.Task{}
|
||||
|
||||
rows, err := tm.db.Query("SELECT (id,id_user,name,description,status,creation_date,update_date) FROM task_manager.tasks WHERE id_user=$1", id_user)
|
||||
rows, err := tm.db.Query(`SELECT (id,id_project,id_user,id_sprint,title,description,duration,status)
|
||||
FROM task_manager.tasks
|
||||
WHERE id_user=$1`, id_user)
|
||||
if err != nil {
|
||||
return user_tasks, err
|
||||
}
|
||||
@ -88,11 +90,13 @@ func (tm *TaskManagerRepository) GetUserTasks(id_user int) ([]tasks.Task, error)
|
||||
for rows.Next() {
|
||||
task := tasks.Task{}
|
||||
err = rows.Scan(&task.Id,
|
||||
&task.IdProject,
|
||||
&task.IdUser,
|
||||
&task.IdSprint,
|
||||
&task.Title,
|
||||
&task.Description,
|
||||
&task.Duration,
|
||||
&task.Status,
|
||||
&task.DateStart,
|
||||
)
|
||||
if err != nil {
|
||||
return user_tasks, err
|
||||
|
Loading…
Reference in New Issue
Block a user