first commit
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
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
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package repository
|
||||
|
||||
import (
|
||||
"context"
|
||||
"github.com/jackc/pgx/v5/pgxpool"
|
||||
"sync"
|
||||
)
|
||||
|
||||
type PGrepo struct {
|
||||
mu sync.Mutex
|
||||
pool *pgxpool.Pool
|
||||
}
|
||||
|
||||
func New(connStr string) (*PGrepo, error) {
|
||||
pool, err := pgxpool.New(context.Background(), connStr)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
return &PGrepo{mu: sync.Mutex{}, pool: pool}, nil
|
||||
}
|
||||
Reference in New Issue
Block a user