update sqlcgen

This commit is contained in:
Pavel 2024-05-17 21:50:51 +03:00
parent b8f7fa08cb
commit 83b2c9e22a
3 changed files with 116 additions and 163 deletions

@ -914,39 +914,6 @@ WHERE NOT EXISTS (
-- name: GetTokenById :one
SELECT * FROM tokens WHERE accountID = $1;
-- name: DeletingUTM :exec
-- UPDATE utms SET Deleted = true WHERE ID = ANY($1::int[]);
-- name: GetUTMsWithPagination :many
-- SELECT ut.*, COUNT(*) OVER() as total_count
-- FROM utms ut JOIN (SELECT AmoID FROM users WHERE users.AccountID = $1) u ON ut.AccountID = u.AmoID
-- WHERE ut.Deleted = false and ut.QuizID = $4
-- ORDER BY ut.ID OFFSET ($2 - 1) * $3 LIMIT $3;
-- name: SaveUTMs :many
-- WITH user_data AS (
-- SELECT AmoID
-- FROM users
-- WHERE users.AccountID = $1
-- ), new_UTMs AS (
-- SELECT (utm->>'AmoFieldID')::INT AS amoFieldID,
-- COALESCE(utm->>'QuizID', '')::INT AS quizID,
-- COALESCE(utm->>'Name', '')::varchar(512) AS name,
-- CURRENT_TIMESTAMP AS createdAt
-- FROM json_array_elements($2::json) AS utm
-- ), inserted_utms AS(
-- INSERT INTO utms (AmoFieldID, QuizID, AccountID, Name, createdAt)
-- SELECT nu.amoFieldID,
-- nu.quizID,
-- ud.AmoID,
-- nu.name,
-- nu.createdAt
-- FROM new_UTMs nu
-- JOIN user_data ud ON true
-- RETURNING *
-- )
-- SELECT * from inserted_utms;
-- name: GetQuizRule :one
SELECT * FROM rules WHERE QuizID = $1 AND Deleted = false;
@ -960,28 +927,6 @@ UPDATE rules
SET PerformerID = $1,PipelineID = $2,StepID = $3,FieldsRule = $4
WHERE AccountID = (SELECT AmoID FROM users WHERE users.AccountID = $5) AND QuizID = $6 AND Deleted = false;
-- name: GetUtmsByID :many
-- SELECT ID,AmoFieldID,QuizID,AccountID,Name
-- FROM utms
-- WHERE
-- ID = ANY($1::int[]) AND Deleted = FALSE;
--
-- -- name: GetUserFieldsByID :many
-- SELECT ID,AmoID,Code,AccountID,Name,Entity,Type
-- FROM fields
-- WHERE AccountID = $1 AND Deleted = false;
-- name: UpdateUtms :exec
-- UPDATE utms AS u
-- SET name = (update_data ->> 'Name')::varchar(512),
-- AmoFieldID = (update_data ->> 'AmoFieldID')::INT
-- FROM json_array_elements($1::json) AS update_data
-- WHERE u.ID = (update_data ->> 'ID')::INT;
-- name: UpdateUtmsFields :exec
-- UPDATE utms AS u SET AmoFieldID = f.AmoID FROM fields AS f
-- WHERE u.Name = f.Name AND u.ID = ANY($1::int[]) AND u.Deleted = FALSE;
-- name: GetQuestionListByIDs :many
SELECT * FROM question WHERE id = ANY($1::int[]) AND deleted = FALSE;

54
dal/db_query/utm.sql Normal file

@ -0,0 +1,54 @@
-- name: GetUtmsByID :many
-- SELECT ID,AmoFieldID,QuizID,AccountID,Name
-- FROM utms
-- WHERE
-- ID = ANY($1::int[]) AND Deleted = FALSE;
--
-- -- name: GetUserFieldsByID :many
-- SELECT ID,AmoID,Code,AccountID,Name,Entity,Type
-- FROM fields
-- WHERE AccountID = $1 AND Deleted = false;
-- name: UpdateUtms :exec
-- UPDATE utms AS u
-- SET name = (update_data ->> 'Name')::varchar(512),
-- AmoFieldID = (update_data ->> 'AmoFieldID')::INT
-- FROM json_array_elements($1::json) AS update_data
-- WHERE u.ID = (update_data ->> 'ID')::INT;
-- name: UpdateUtmsFields :exec
-- UPDATE utms AS u SET AmoFieldID = f.AmoID FROM fields AS f
-- WHERE u.Name = f.Name AND u.ID = ANY($1::int[]) AND u.Deleted = FALSE;
-- name: DeletingUTM :exec
-- UPDATE utms SET Deleted = true WHERE ID = ANY($1::int[]);
-- name: GetUTMsWithPagination :many
-- SELECT ut.*, COUNT(*) OVER() as total_count
-- FROM utms ut JOIN (SELECT AmoID FROM users WHERE users.AccountID = $1) u ON ut.AccountID = u.AmoID
-- WHERE ut.Deleted = false and ut.QuizID = $4
-- ORDER BY ut.ID OFFSET ($2 - 1) * $3 LIMIT $3;
-- name: SaveUTMs :many
-- WITH user_data AS (
-- SELECT AmoID
-- FROM users
-- WHERE users.AccountID = $1
-- ), new_UTMs AS (
-- SELECT (utm->>'AmoFieldID')::INT AS amoFieldID,
-- COALESCE(utm->>'QuizID', '')::INT AS quizID,
-- COALESCE(utm->>'Name', '')::varchar(512) AS name,
-- CURRENT_TIMESTAMP AS createdAt
-- FROM json_array_elements($2::json) AS utm
-- ), inserted_utms AS(
-- INSERT INTO utms (AmoFieldID, QuizID, AccountID, Name, createdAt)
-- SELECT nu.amoFieldID,
-- nu.quizID,
-- ud.AmoID,
-- nu.name,
-- nu.createdAt
-- FROM new_UTMs nu
-- JOIN user_data ud ON true
-- RETURNING *
-- )
-- SELECT * from inserted_utms;

@ -972,51 +972,6 @@ func (q *Queries) DeleteUsers(ctx context.Context, dollar_1 []int64) error {
return err
}
const deletingUTM = `-- name: DeletingUTM :exec
SELECT id, accountid, quizid, performerid, pipelineid, stepid, fieldsrule, deleted, createdat FROM rules WHERE QuizID = $1 AND Deleted = false
`
// UPDATE utms SET Deleted = true WHERE ID = ANY($1::int[]);
// SELECT ut.*, COUNT(*) OVER() as total_count
// FROM utms ut JOIN (SELECT AmoID FROM users WHERE users.AccountID = $1) u ON ut.AccountID = u.AmoID
// WHERE ut.Deleted = false and ut.QuizID = $4
// ORDER BY ut.ID OFFSET ($2 - 1) * $3 LIMIT $3;
// WITH user_data AS (
//
// SELECT AmoID
// FROM users
// WHERE users.AccountID = $1
//
// ), new_UTMs AS (
//
// SELECT (utm->>'AmoFieldID')::INT AS amoFieldID,
// COALESCE(utm->>'QuizID', '')::INT AS quizID,
// COALESCE(utm->>'Name', '')::varchar(512) AS name,
// CURRENT_TIMESTAMP AS createdAt
// FROM json_array_elements($2::json) AS utm
//
// ), inserted_utms AS(
//
// INSERT INTO utms (AmoFieldID, QuizID, AccountID, Name, createdAt)
// SELECT nu.amoFieldID,
// nu.quizID,
// ud.AmoID,
// nu.name,
// nu.createdAt
// FROM new_UTMs nu
// JOIN user_data ud ON true
// RETURNING *
//
// )
// SELECT * from inserted_utms;
func (q *Queries) DeletingUTM(ctx context.Context, quizid int32) error {
_, err := q.db.ExecContext(ctx, deletingUTM, quizid)
return err
}
const deviceStatistics = `-- name: DeviceStatistics :many
WITH DeviceStats AS (
SELECT
@ -1959,6 +1914,47 @@ func (q *Queries) GetQuestionHistory(ctx context.Context, arg GetQuestionHistory
return items, nil
}
const getQuestionListByIDs = `-- name: GetQuestionListByIDs :many
SELECT id, quiz_id, title, description, questiontype, required, deleted, page, content, version, parent_ids, created_at, updated_at FROM question WHERE id = ANY($1::int[]) AND deleted = FALSE
`
func (q *Queries) GetQuestionListByIDs(ctx context.Context, dollar_1 []int32) ([]Question, error) {
rows, err := q.db.QueryContext(ctx, getQuestionListByIDs, pq.Array(dollar_1))
if err != nil {
return nil, err
}
defer rows.Close()
var items []Question
for rows.Next() {
var i Question
if err := rows.Scan(
&i.ID,
&i.QuizID,
&i.Title,
&i.Description,
&i.Questiontype,
&i.Required,
&i.Deleted,
&i.Page,
&i.Content,
&i.Version,
pq.Array(&i.ParentIds),
&i.CreatedAt,
&i.UpdatedAt,
); err != nil {
return nil, err
}
items = append(items, i)
}
if err := rows.Close(); err != nil {
return nil, err
}
if err := rows.Err(); err != nil {
return nil, err
}
return items, nil
}
const getQuestionTitle = `-- name: GetQuestionTitle :one
SELECT title, questiontype,page FROM question WHERE id = $1
`
@ -2196,6 +2192,27 @@ func (q *Queries) GetQuizHistory(ctx context.Context, arg GetQuizHistoryParams)
return items, nil
}
const getQuizRule = `-- name: GetQuizRule :one
SELECT id, accountid, quizid, performerid, pipelineid, stepid, fieldsrule, deleted, createdat FROM rules WHERE QuizID = $1 AND Deleted = false
`
func (q *Queries) GetQuizRule(ctx context.Context, quizid int32) (Rule, error) {
row := q.db.QueryRowContext(ctx, getQuizRule, quizid)
var i Rule
err := row.Scan(
&i.ID,
&i.Accountid,
&i.Quizid,
&i.Performerid,
&i.Pipelineid,
&i.Stepid,
&i.Fieldsrule,
&i.Deleted,
&i.Createdat,
)
return i, err
}
const getResultAnswers = `-- name: GetResultAnswers :many
SELECT DISTINCT on (question_id) id, content, quiz_id, question_id, fingerprint, session,created_at, result, new,deleted, device_type,device,os,browser,ip FROM answer WHERE session = (
SELECT session FROM answer WHERE answer.id = $1) ORDER BY question_id, created_at DESC
@ -2654,69 +2671,6 @@ func (q *Queries) GetUsersWithPagination(ctx context.Context, arg GetUsersWithPa
return items, nil
}
const getUtmsByID = `-- name: GetUtmsByID :many
SELECT id, quiz_id, title, description, questiontype, required, deleted, page, content, version, parent_ids, created_at, updated_at FROM question WHERE id = ANY($1::int[]) AND deleted = FALSE
`
// SELECT ID,AmoFieldID,QuizID,AccountID,Name
// FROM utms
// WHERE
//
// ID = ANY($1::int[]) AND Deleted = FALSE;
//
// -- name: GetUserFieldsByID :many
// SELECT ID,AmoID,Code,AccountID,Name,Entity,Type
// FROM fields
// WHERE AccountID = $1 AND Deleted = false;
// UPDATE utms AS u
// SET name = (update_data ->> 'Name')::varchar(512),
//
// AmoFieldID = (update_data ->> 'AmoFieldID')::INT
//
// FROM json_array_elements($1::json) AS update_data
// WHERE u.ID = (update_data ->> 'ID')::INT;
// UPDATE utms AS u SET AmoFieldID = f.AmoID FROM fields AS f
// WHERE u.Name = f.Name AND u.ID = ANY($1::int[]) AND u.Deleted = FALSE;
func (q *Queries) GetUtmsByID(ctx context.Context, dollar_1 []int32) ([]Question, error) {
rows, err := q.db.QueryContext(ctx, getUtmsByID, pq.Array(dollar_1))
if err != nil {
return nil, err
}
defer rows.Close()
var items []Question
for rows.Next() {
var i Question
if err := rows.Scan(
&i.ID,
&i.QuizID,
&i.Title,
&i.Description,
&i.Questiontype,
&i.Required,
&i.Deleted,
&i.Page,
&i.Content,
&i.Version,
pq.Array(&i.ParentIds),
&i.CreatedAt,
&i.UpdatedAt,
); err != nil {
return nil, err
}
items = append(items, i)
}
if err := rows.Close(); err != nil {
return nil, err
}
if err := rows.Err(); err != nil {
return nil, err
}
return items, nil
}
const gettingAmoUsersTrueResults = `-- name: GettingAmoUsersTrueResults :many
SELECT a.quiz_id,a.id,a.result,a.question_id,a.content,a.session,t.accesstoken,r.accountid,a.utm,r.fieldsrule,r.performerid,r.stepid,r.pipelineid,(SELECT u.name FROM users u WHERE u.amoid = r.performerid) AS performer_name
FROM answer a