This commit is contained in:
mm 2024-10-29 23:19:59 +05:00
parent 458cc25ded
commit dd6f2e2d14
4 changed files with 15 additions and 12 deletions

View File

@ -13,6 +13,9 @@ func CreateTarget(targetService model.TargetService, authClient model.AuthClient
Amount model.DonatAmount `json:"amount"`
Text string `json:"text"`
}
type Response struct {
TargetID model.TargetID `json:"targetID"`
}
return func(request echo.Context) error {
ctx := context.Background()
var body CreateTargetBody
@ -31,12 +34,12 @@ func CreateTarget(targetService model.TargetService, authClient model.AuthClient
return request.JSON(http.StatusInternalServerError, err.Error())
}
err = targetService.CreateTarget(ctx, model.StreamerID(authData.StreamerID), body.Amount, body.Text)
targetID, err := targetService.CreateTarget(ctx, model.StreamerID(authData.StreamerID), body.Amount, body.Text)
if err != nil {
slog.Error(err.Error())
return request.JSON(http.StatusInternalServerError, err.Error())
}
return request.String(http.StatusOK, "Created target successfully")
return request.JSON(http.StatusOK, Response{TargetID: targetID})
}
}

View File

@ -52,13 +52,13 @@ type DonatRepo interface {
}
type TargetService interface {
CreateTarget(ctx context.Context, streamerID StreamerID, amount DonatAmount, text string) error
CreateTarget(ctx context.Context, streamerID StreamerID, amount DonatAmount, text string) (TargetID, error)
GetAllTarget(ctx context.Context, streamerID StreamerID) ([]*Target, error)
AddAmountToTarget(ctx context.Context, targetID TargetID, amount DonatAmount) error
}
type TargetRepo interface {
CreateTarget(ctx context.Context, streamerID StreamerID, amount DonatAmount, text string) error
CreateTarget(ctx context.Context, streamerID StreamerID, amount DonatAmount, text string) (TargetID, error)
GetAllTarget(ctx context.Context, streamerID StreamerID) ([]*Target, error)
AddAmountToTarget(ctx context.Context, targetID TargetID, amount DonatAmount) error
}

View File

@ -24,19 +24,19 @@ func (targetRepo *RepoTarget) CreateTarget(
streamerID model.StreamerID,
amount model.DonatAmount,
text string,
) error {
) (model.TargetID, error) {
args := pgx.NamedArgs{
"streamer_id": streamerID,
"amount": amount,
"text": text,
}
_, err := targetRepo.db.Insert(ctx, sql.CreateTarget, args)
targetID, err := targetRepo.db.Insert(ctx, sql.CreateTarget, args)
if err != nil {
slog.Error(err.Error())
return err
return 0, err
}
return nil
return model.TargetID(targetID), nil
}
func (targetRepo *RepoTarget) GetAllTarget(

View File

@ -23,13 +23,13 @@ func (targetService *ServiceTarget) CreateTarget(
streamerID model.StreamerID,
amount model.DonatAmount,
text string,
) error {
err := targetService.targetRepo.CreateTarget(ctx, streamerID, amount, text)
) (model.TargetID, error) {
targetID, err := targetService.targetRepo.CreateTarget(ctx, streamerID, amount, text)
if err != nil {
slog.Error(err.Error())
return err
return 0, err
}
return nil
return targetID, nil
}
func (targetService *ServiceTarget) GetAllTarget(