From dcc0b4c6fa0ba4ce9424ea1c125248934e60cd7e Mon Sep 17 00:00:00 2001 From: pasha1coil Date: Sat, 31 May 2025 10:05:17 +0300 Subject: [PATCH] upd query DeleteQuizAudience and add CheckIsOwnerAudience --- dal/db_query/queries.sql | 8 +++++++- repository/quiz/quiz.go | 3 +-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/dal/db_query/queries.sql b/dal/db_query/queries.sql index 4d3d1bf..6f0ba98 100644 --- a/dal/db_query/queries.sql +++ b/dal/db_query/queries.sql @@ -1111,7 +1111,13 @@ SELECT * FROM gigachatAudience WHERE QuizID = $1 AND Deleted = FALSE; -- name: DeleteQuizAudience :exec -UPDATE gigachatAudience set Deleted = TRUE WHERE QuizID = $1; +UPDATE gigachatAudience set Deleted = TRUE WHERE QuizID = $1 and ID = $2; + +-- name: CheckIsOwnerAudience :one +SELECT EXISTS ( SELECT 1 FROM gigachatAudience ga JOIN quiz q ON ga.QuizID = q.id + WHERE ga.QuizID = $1 AND ga.ID = $2 AND q.accountid = $3 AND ga.Deleted = FALSE +) AS is_owner; + -- name: CreateLeadTarget :one INSERT INTO leadtarget (accountID,type,quizID,target,InviteLink) VALUES ($1,$2,$3,$4,$5) RETURNING *; diff --git a/repository/quiz/quiz.go b/repository/quiz/quiz.go index 93273a6..078f89d 100644 --- a/repository/quiz/quiz.go +++ b/repository/quiz/quiz.go @@ -701,7 +701,7 @@ func (r *QuizRepository) GetQuizAudience(ctx context.Context, quizID int64) ([]m return audiences, nil } -func (r *QuizRepository) DeleteQuizAudience(ctx context.Context, quizID int64) error { +func (r *QuizRepository) DeleteQuizAudience(ctx context.Context, quizID int64, audienceID int64) error { err := r.queries.DeleteQuizAudience(ctx, quizID) if err != nil { return err @@ -709,7 +709,6 @@ func (r *QuizRepository) DeleteQuizAudience(ctx context.Context, quizID int64) e return nil } - func (r *QuizRepository) CheckQuizOwner(ctx context.Context, accountID string, quizID uint64) (bool, error) { id, err := r.queries.CheckQuizOwner(ctx, sqlcgen.CheckQuizOwnerParams{ Accountid: accountID,