43 lines
1.0 KiB
Go
43 lines
1.0 KiB
Go
package test
|
|
|
|
import (
|
|
generated "Sipro-Marketplaces/internal/test/db/generated"
|
|
"context"
|
|
"database/sql"
|
|
)
|
|
|
|
type Repository interface {
|
|
Create(ctx context.Context, data string) (int32, error)
|
|
Get(ctx context.Context, id int32) (generated.Test, error)
|
|
Update(ctx context.Context, id int32, data string) error
|
|
Delete(ctx context.Context, id int32) error
|
|
}
|
|
|
|
type repository struct {
|
|
db *sql.DB
|
|
queries *generated.Queries
|
|
}
|
|
|
|
func NewRepository(db *sql.DB) Repository {
|
|
return &repository{
|
|
db: db,
|
|
queries: generated.New(db),
|
|
}
|
|
}
|
|
|
|
func (r *repository) Create(ctx context.Context, data string) (int32, error) {
|
|
return r.queries.CreateTest(ctx, data)
|
|
}
|
|
|
|
func (r *repository) Get(ctx context.Context, id int32) (generated.Test, error) {
|
|
return r.queries.GetTest(ctx, id)
|
|
}
|
|
|
|
func (r *repository) Update(ctx context.Context, id int32, data string) error {
|
|
return r.queries.UpdateTest(ctx, generated.UpdateTestParams{Data: data, ID: id})
|
|
}
|
|
|
|
func (r *repository) Delete(ctx context.Context, id int32) error {
|
|
return r.queries.DeleteTest(ctx, id)
|
|
}
|