codeword/internal/repository/promocode.go
2024-11-15 14:21:04 +03:00

75 lines
1.6 KiB
Go

package repository
import (
"codeword/internal/models"
"context"
"database/sql"
)
type PromocodeRepository struct {
queries *sqlcgen.Queries
pool *sql.DB
}
type PromocodeDeps struct {
Queries *sqlcgen.Queries
Pool *sql.DB
}
func NewPromocodeRepository(deps PromocodeDeps) *PromocodeRepository {
return &PromocodeRepository{
queries: deps.Queries,
pool: deps.Pool,
}
}
func (r *PromocodeRepository) Activate(ctx context.Context, request *models.ActivateReq) (*models.ActivateResp, error) {
//TODO:IMPLEMENT ME
return &models.ActivateResp{}, nil
}
func (r *PromocodeRepository) Getlist(ctx context.Context, request *models.GetPromoCodesListReq) (*models.GetPromoCodesListResp, error) {
rows, err := r.queries.Getlist(ctx, sqlcgen.GetlistParams{
Page: request.Page,
Limit: request.Size,
})
if err != nil {
return nil, err
}
return &models.GetPromoCodesListResp{}, nil
}
func (r *PromocodeRepository) Delete(ctx context.Context) error {
//TODO:IMPLEMENT ME
return nil
}
func (r *PromocodeRepository) Createpromocode(ctx context.Context, request *models.PromoCodeReq) (*models.PromoCode, error) {
//TODO:IMPLEMENT ME
return &models.PromoCode{}, nil
}
func (r *PromocodeRepository) Editpromocode(ctx context.Context, request *models.EditPromoCodeReq) (*models.PromoCode, error) {
//TODO:IMPLEMENT ME
return &models.PromoCode{}, nil
}
func (r *PromocodeRepository) Createfastlink(ctx context.Context, request *models.CreateFastLinkReq) (*models.CreateFastLinkResp, error) {
//TODO:IMPLEMENT ME
return &models.CreateFastLinkResp{}, nil
}