42 lines
1.3 KiB
Go
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
|
|
}
|