upd: added new columns in quiz_utm, and update queries with it #29

Merged
skeris merged 1 commits from quiz_utm into main 2025-10-17 19:50:25 +00:00
8 changed files with 38 additions and 11 deletions

@ -1474,7 +1474,7 @@ UPDATE quiz SET gigachat = $3 WHERE id = $1 AND accountid = $2 AND deleted = fal
SELECT * from quiz_utm where quizID = $1 and deleted=false;
-- name: CreateQuizUtm :one
INSERT into quiz_utm (quizID,utm) values ($1,$2) RETURNING *;
INSERT into quiz_utm (quizID,utm,name,category) values ($1,$2,$3,$4) RETURNING *;
-- name: SoftDeleteQuizUtm :exec
UPDATE quiz_utm set deleted = true where id = $1;

@ -0,0 +1,2 @@
ALTER table quiz_utm add column name varchar(280) not null default '';
ALTER table quiz_utm add column category varchar(50) not null default '';

@ -274,6 +274,8 @@ type QuizUtm struct {
Utm string `db:"utm" json:"utm"`
Deleted bool `db:"deleted" json:"deleted"`
CreatedAt time.Time `db:"created_at" json:"created_at"`
Name string `db:"name" json:"name"`
Category string `db:"category" json:"category"`
}
type RespondentState struct {

@ -1191,16 +1191,23 @@ func (q *Queries) CreateQuizAudience(ctx context.Context, arg CreateQuizAudience
}
const createQuizUtm = `-- name: CreateQuizUtm :one
INSERT into quiz_utm (quizID,utm) values ($1,$2) RETURNING id, quizid, utm, deleted, created_at
INSERT into quiz_utm (quizID,utm,name,category) values ($1,$2,$3,$4) RETURNING id, quizid, utm, deleted, created_at, name, category
`
type CreateQuizUtmParams struct {
Quizid int64 `db:"quizid" json:"quizid"`
Utm string `db:"utm" json:"utm"`
Quizid int64 `db:"quizid" json:"quizid"`
Utm string `db:"utm" json:"utm"`
Name string `db:"name" json:"name"`
Category string `db:"category" json:"category"`
}
func (q *Queries) CreateQuizUtm(ctx context.Context, arg CreateQuizUtmParams) (QuizUtm, error) {
row := q.db.QueryRowContext(ctx, createQuizUtm, arg.Quizid, arg.Utm)
row := q.db.QueryRowContext(ctx, createQuizUtm,
arg.Quizid,
arg.Utm,
arg.Name,
arg.Category,
)
var i QuizUtm
err := row.Scan(
&i.ID,
@ -1208,6 +1215,8 @@ func (q *Queries) CreateQuizUtm(ctx context.Context, arg CreateQuizUtmParams) (Q
&i.Utm,
&i.Deleted,
&i.CreatedAt,
&i.Name,
&i.Category,
)
return i, err
}
@ -2028,7 +2037,7 @@ func (q *Queries) GetAllCompanyUsers(ctx context.Context, amoid int32) ([]Usersa
}
const getAllQuizUtms = `-- name: GetAllQuizUtms :many
SELECT id, quizid, utm, deleted, created_at from quiz_utm where quizID = $1 and deleted=false
SELECT id, quizid, utm, deleted, created_at, name, category from quiz_utm where quizID = $1 and deleted=false
`
func (q *Queries) GetAllQuizUtms(ctx context.Context, quizid int64) ([]QuizUtm, error) {
@ -2046,6 +2055,8 @@ func (q *Queries) GetAllQuizUtms(ctx context.Context, quizid int64) ([]QuizUtm,
&i.Utm,
&i.Deleted,
&i.CreatedAt,
&i.Name,
&i.Category,
); err != nil {
return nil, err
}
@ -4816,7 +4827,8 @@ SELECT
a.question_id,
a.content AS last_answer_content,
a.result,
a.start
a.start,
a.session
FROM
QuizAnswers a
LEFT JOIN (
@ -4834,6 +4846,7 @@ SELECT
GROUP BY
question_id, session
) AS last_created_at_one_session ON a.session = last_created_at_one_session.session AND a.question_id = last_created_at_one_session.question_id AND a.created_at = last_created_at_one_session.last_created_at
WHERE a.start = FALSE
),
Questions AS (
SELECT
@ -4846,7 +4859,7 @@ SELECT
FROM
question q
JOIN LastContent lc ON q.id = lc.question_id
JOIN answer a ON q.id = a.question_id
JOIN answer a ON q.id = a.question_id AND a.session = lc.session
WHERE
a.quiz_id = $1
AND a.start = FALSE

@ -361,6 +361,8 @@ type QuizUTM struct {
ID int64 `json:"id"`
QuizID int64 `json:"quizID"`
UTM string `json:"utm"`
Name string `json:"name"`
Category string `json:"category"`
Deleted bool `json:"deleted"`
CreatedAt time.Time `json:"createdAt"`
}

@ -768,10 +768,12 @@ func (r *QuizRepository) UpdateGigaChatQuizFlag(ctx context.Context, quizID int6
return nil
}
func (r *QuizRepository) CreateQuizUTM(ctx context.Context, quizID int64, utm string) (model.QuizUTM, error) {
func (r *QuizRepository) CreateQuizUTM(ctx context.Context, quizID int64, utm, name, category string) (model.QuizUTM, error) {
result, err := r.queries.CreateQuizUtm(ctx, sqlcgen.CreateQuizUtmParams{
Quizid: quizID,
Utm: utm,
Quizid: quizID,
Utm: utm,
Name: name,
Category: category,
})
if err != nil {
return model.QuizUTM{}, err
@ -781,6 +783,8 @@ func (r *QuizRepository) CreateQuizUTM(ctx context.Context, quizID int64, utm st
ID: result.ID,
QuizID: result.Quizid,
UTM: result.Utm,
Name: result.Name,
Category: result.Category,
Deleted: result.Deleted,
CreatedAt: result.CreatedAt,
}, nil
@ -803,6 +807,8 @@ func (r *QuizRepository) GetAllQuizUtms(ctx context.Context, quizID int64) ([]mo
ID: row.ID,
QuizID: row.Quizid,
UTM: row.Utm,
Name: row.Name,
Category: row.Category,
Deleted: row.Deleted,
CreatedAt: row.CreatedAt,
})

@ -56,6 +56,8 @@ packages:
- "./dal/schema/000026_init.down.sql"
- "./dal/schema/000027_init.up.sql"
- "./dal/schema/000027_init.down.sql"
- "./dal/schema/000028_init.up.sql"
- "./dal/schema/000028_init.down.sql"
engine: "postgresql"
emit_json_tags: true
emit_db_tags: true