Summer_practice_API/main/repository/Requests.go
2024-07-06 07:54:22 +03:00

42 lines
1.3 KiB
Go

package repository
import (
"context"
"zadanie7API/main/models"
)
func (repo *PGrepo) GetRequest(id int) (models.Request, error) {
rows, err := repo.pool.Query(context.Background(), "select * from request WHERE ID = $1", id)
defer rows.Close()
request := models.Request{}
rows.Next()
err = rows.Scan(&request.ID, &request.Name, &request.Description, &request.Status, &request.CreationDate,
&request.LastUpdateDate)
if err != nil {
panic(err)
}
return request, nil
}
func (repo *PGrepo) CreateRequest(request models.Request) {
_, err := repo.pool.Query(context.Background(), "INSERT INTO request (name, description, status, creationdate, lastupdatedate) values ($1, $2, $3, $4, $5)",
request.Name, request.Description, request.Status, request.CreationDate, request.LastUpdateDate)
if err != nil {
panic(err)
}
}
func (repo *PGrepo) DeleteRequest(id int) error {
_, err := repo.pool.Exec(context.Background(), "DELETE FROM request WHERE id = $1", id)
if err != nil {
return err
}
return nil
}
func (repo *PGrepo) UpdateRequest(request models.Request) error {
_, err := repo.pool.Exec(context.Background(), "UPDATE request SET name = $2, description = $3, status = $4, creationdate = $5, lastupdatedate = $6 WHERE id = $1",
request.ID, request.Name, request.Description, request.Status, request.CreationDate, request.LastUpdateDate)
return err
}