Files
Sipro-Marketplaces/internal/test/repository.go

43 lines
1.0 KiB
Go
Executable File

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)
}