fixqueryAudience #17

Merged
skeris merged 3 commits from fixqueryAudience into main 2025-05-31 11:48:29 +00:00
3 changed files with 51 additions and 6 deletions

@ -1111,7 +1111,13 @@ SELECT * FROM gigachatAudience WHERE QuizID = $1 AND Deleted = FALSE;
-- name: DeleteQuizAudience :exec -- 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 -- name: CreateLeadTarget :one
INSERT INTO leadtarget (accountID,type,quizID,target,InviteLink) VALUES ($1,$2,$3,$4,$5) RETURNING *; INSERT INTO leadtarget (accountID,type,quizID,target,InviteLink) VALUES ($1,$2,$3,$4,$5) RETURNING *;

@ -606,6 +606,25 @@ func (q *Queries) CheckFields(ctx context.Context, arg CheckFieldsParams) ([]Che
return items, nil return items, nil
} }
const checkIsOwnerAudience = `-- 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
`
type CheckIsOwnerAudienceParams struct {
Quizid int64 `db:"quizid" json:"quizid"`
ID int64 `db:"id" json:"id"`
Accountid string `db:"accountid" json:"accountid"`
}
func (q *Queries) CheckIsOwnerAudience(ctx context.Context, arg CheckIsOwnerAudienceParams) (bool, error) {
row := q.db.QueryRowContext(ctx, checkIsOwnerAudience, arg.Quizid, arg.ID, arg.Accountid)
var is_owner bool
err := row.Scan(&is_owner)
return is_owner, err
}
const checkLeadTargetOwner = `-- name: CheckLeadTargetOwner :one const checkLeadTargetOwner = `-- name: CheckLeadTargetOwner :one
SELECT accountid FROM leadtarget WHERE id = $1 AND accountid = $2 SELECT accountid FROM leadtarget WHERE id = $1 AND accountid = $2
` `
@ -1366,11 +1385,16 @@ func (q *Queries) DeleteQuestion(ctx context.Context, id int64) (Question, error
} }
const deleteQuizAudience = `-- name: DeleteQuizAudience :exec const deleteQuizAudience = `-- name: DeleteQuizAudience :exec
UPDATE gigachatAudience set Deleted = TRUE WHERE QuizID = $1 UPDATE gigachatAudience set Deleted = TRUE WHERE QuizID = $1 and ID = $2
` `
func (q *Queries) DeleteQuizAudience(ctx context.Context, quizid int64) error { type DeleteQuizAudienceParams struct {
_, err := q.db.ExecContext(ctx, deleteQuizAudience, quizid) Quizid int64 `db:"quizid" json:"quizid"`
ID int64 `db:"id" json:"id"`
}
func (q *Queries) DeleteQuizAudience(ctx context.Context, arg DeleteQuizAudienceParams) error {
_, err := q.db.ExecContext(ctx, deleteQuizAudience, arg.Quizid, arg.ID)
return err return err
} }

@ -701,14 +701,29 @@ func (r *QuizRepository) GetQuizAudience(ctx context.Context, quizID int64) ([]m
return audiences, nil 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) err := r.queries.DeleteQuizAudience(ctx, sqlcgen.DeleteQuizAudienceParams{
Quizid: quizID,
ID: audienceID,
})
if err != nil { if err != nil {
return err return err
} }
return nil return nil
} }
func (r *QuizRepository) CheckIsOwnerAudience(ctx context.Context, quizID int64, audienceID int64, accountID string) (bool, error) {
ok, err := r.queries.CheckIsOwnerAudience(ctx, sqlcgen.CheckIsOwnerAudienceParams{
Quizid: quizID,
ID: audienceID,
Accountid: accountID,
})
if err != nil {
return false, err
}
return ok, nil
}
func (r *QuizRepository) CheckQuizOwner(ctx context.Context, accountID string, quizID uint64) (bool, error) { func (r *QuizRepository) CheckQuizOwner(ctx context.Context, accountID string, quizID uint64) (bool, error) {
id, err := r.queries.CheckQuizOwner(ctx, sqlcgen.CheckQuizOwnerParams{ id, err := r.queries.CheckQuizOwner(ctx, sqlcgen.CheckQuizOwnerParams{