Merge branch 'fixAmo' into 'main'
Fix amo See merge request backend/quiz/common!22
This commit is contained in:
commit
30422dc082
@ -713,12 +713,12 @@ WITH userd AS (
|
||||
SELECT AmoUserID FROM users WHERE users.AccountID = $1
|
||||
),
|
||||
tokend AS (
|
||||
UPDATE users SET Deleted = true WHERE AmoUserID IN (SELECT AmoUserID FROM userd) RETURNING users.AccountID
|
||||
UPDATE users SET Deleted = true WHERE AmoUserID IN (SELECT AmoUserID FROM userd)
|
||||
)
|
||||
DELETE FROM tokens WHERE tokens.AccountID IN (SELECT AccountID FROM tokend);
|
||||
DELETE FROM tokens WHERE tokens.AccountID = $1;
|
||||
|
||||
-- name: GetCurrentAccount :one
|
||||
SELECT * FROM users WHERE AccountID = $1;
|
||||
SELECT * FROM users WHERE AccountID = $1 AND Deleted = false;
|
||||
|
||||
-- name: CheckMainUser :exec
|
||||
UPDATE users SET Name = $1, "Group" = $2, Email = $3, Role = $4 WHERE AmoID = $5;
|
||||
@ -926,15 +926,17 @@ SELECT * FROM tokens WHERE accountID = $1;
|
||||
-- name: GetQuizRule :one
|
||||
SELECT * FROM rules WHERE QuizID = $1 AND Deleted = false;
|
||||
|
||||
-- name: SetQuizSettings :exec
|
||||
-- name: SetQuizSettings :one
|
||||
INSERT INTO rules (AccountID, QuizID, PerformerID, PipelineID, StepID, FieldsRule)
|
||||
SELECT u.AmoID AS AccountID,$1 AS QuizID,$2 AS PerformerID,$3 AS PipelineID,
|
||||
$4 AS StepID,$5 AS FieldsRule FROM users u WHERE u.AccountID = $6;
|
||||
$4 AS StepID,$5 AS FieldsRule FROM users u WHERE u.AccountID = $6 AND u.Deleted = false
|
||||
RETURNING id;
|
||||
|
||||
-- name: ChangeQuizSettings :exec
|
||||
-- name: ChangeQuizSettings :one
|
||||
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;
|
||||
WHERE AccountID = (SELECT AmoID FROM users WHERE users.AccountID = $5 AND users.Deleted = false) AND QuizID = $6 AND Deleted = false
|
||||
RETURNING id;
|
||||
|
||||
-- name: GetQuestionListByIDs :many
|
||||
SELECT * FROM question WHERE id = ANY($1::int[]) AND deleted = FALSE;
|
||||
|
4
dal/schema/000012_init.down.sql
Normal file
4
dal/schema/000012_init.down.sql
Normal file
@ -0,0 +1,4 @@
|
||||
DROP INDEX IF EXISTS idx_unique_users;
|
||||
DROP INDEX IF EXISTS idx_unique_rules;
|
||||
CREATE UNIQUE INDEX idx_unique_users ON users (amoID);
|
||||
CREATE UNIQUE INDEX idx_unique_rules ON rules (accountID, QuizID);
|
4
dal/schema/000012_init.up.sql
Normal file
4
dal/schema/000012_init.up.sql
Normal file
@ -0,0 +1,4 @@
|
||||
DROP INDEX IF EXISTS idx_unique_users;
|
||||
DROP INDEX IF EXISTS idx_unique_rules;
|
||||
CREATE UNIQUE INDEX idx_unique_users ON users (amoID) WHERE Deleted = false;
|
||||
CREATE UNIQUE INDEX idx_unique_rules ON rules (accountID, QuizID) WHERE Deleted = false;
|
@ -114,10 +114,11 @@ func (q *Queries) ArchiveQuiz(ctx context.Context, arg ArchiveQuizParams) error
|
||||
return err
|
||||
}
|
||||
|
||||
const changeQuizSettings = `-- name: ChangeQuizSettings :exec
|
||||
const changeQuizSettings = `-- name: ChangeQuizSettings :one
|
||||
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
|
||||
WHERE AccountID = (SELECT AmoID FROM users WHERE users.AccountID = $5 AND users.Deleted = false) AND QuizID = $6 AND Deleted = false
|
||||
RETURNING id
|
||||
`
|
||||
|
||||
type ChangeQuizSettingsParams struct {
|
||||
@ -129,8 +130,8 @@ type ChangeQuizSettingsParams struct {
|
||||
Quizid int32 `db:"quizid" json:"quizid"`
|
||||
}
|
||||
|
||||
func (q *Queries) ChangeQuizSettings(ctx context.Context, arg ChangeQuizSettingsParams) error {
|
||||
_, err := q.db.ExecContext(ctx, changeQuizSettings,
|
||||
func (q *Queries) ChangeQuizSettings(ctx context.Context, arg ChangeQuizSettingsParams) (int64, error) {
|
||||
row := q.db.QueryRowContext(ctx, changeQuizSettings,
|
||||
arg.Performerid,
|
||||
arg.Pipelineid,
|
||||
arg.Stepid,
|
||||
@ -138,7 +139,9 @@ func (q *Queries) ChangeQuizSettings(ctx context.Context, arg ChangeQuizSettings
|
||||
arg.Accountid,
|
||||
arg.Quizid,
|
||||
)
|
||||
return err
|
||||
var id int64
|
||||
err := row.Scan(&id)
|
||||
return id, err
|
||||
}
|
||||
|
||||
const checkAndAddDefault = `-- name: CheckAndAddDefault :exec
|
||||
@ -1454,7 +1457,7 @@ func (q *Queries) GetAllTokens(ctx context.Context) ([]Token, error) {
|
||||
}
|
||||
|
||||
const getCurrentAccount = `-- name: GetCurrentAccount :one
|
||||
SELECT id, accountid, amoid, name, email, role, "Group", deleted, createdat, subdomain, amouserid, country FROM users WHERE AccountID = $1
|
||||
SELECT id, accountid, amoid, name, email, role, "Group", deleted, createdat, subdomain, amouserid, country FROM users WHERE AccountID = $1 AND Deleted = false
|
||||
`
|
||||
|
||||
func (q *Queries) GetCurrentAccount(ctx context.Context, accountid string) (User, error) {
|
||||
@ -3297,10 +3300,11 @@ func (q *Queries) QuizCopyQid(ctx context.Context, arg QuizCopyQidParams) (QuizC
|
||||
return i, err
|
||||
}
|
||||
|
||||
const setQuizSettings = `-- name: SetQuizSettings :exec
|
||||
const setQuizSettings = `-- name: SetQuizSettings :one
|
||||
INSERT INTO rules (AccountID, QuizID, PerformerID, PipelineID, StepID, FieldsRule)
|
||||
SELECT u.AmoID AS AccountID,$1 AS QuizID,$2 AS PerformerID,$3 AS PipelineID,
|
||||
$4 AS StepID,$5 AS FieldsRule FROM users u WHERE u.AccountID = $6
|
||||
$4 AS StepID,$5 AS FieldsRule FROM users u WHERE u.AccountID = $6 AND u.Deleted = false
|
||||
RETURNING id
|
||||
`
|
||||
|
||||
type SetQuizSettingsParams struct {
|
||||
@ -3312,8 +3316,8 @@ type SetQuizSettingsParams struct {
|
||||
Accountid string `db:"accountid" json:"accountid"`
|
||||
}
|
||||
|
||||
func (q *Queries) SetQuizSettings(ctx context.Context, arg SetQuizSettingsParams) error {
|
||||
_, err := q.db.ExecContext(ctx, setQuizSettings,
|
||||
func (q *Queries) SetQuizSettings(ctx context.Context, arg SetQuizSettingsParams) (int64, error) {
|
||||
row := q.db.QueryRowContext(ctx, setQuizSettings,
|
||||
arg.Quizid,
|
||||
arg.Performerid,
|
||||
arg.Pipelineid,
|
||||
@ -3321,7 +3325,9 @@ func (q *Queries) SetQuizSettings(ctx context.Context, arg SetQuizSettingsParams
|
||||
arg.Fieldsrule,
|
||||
arg.Accountid,
|
||||
)
|
||||
return err
|
||||
var id int64
|
||||
err := row.Scan(&id)
|
||||
return id, err
|
||||
}
|
||||
|
||||
const settingDealAmoStatus = `-- name: SettingDealAmoStatus :exec
|
||||
@ -3354,9 +3360,9 @@ WITH userd AS (
|
||||
SELECT AmoUserID FROM users WHERE users.AccountID = $1
|
||||
),
|
||||
tokend AS (
|
||||
UPDATE users SET Deleted = true WHERE AmoUserID IN (SELECT AmoUserID FROM userd) RETURNING users.AccountID
|
||||
UPDATE users SET Deleted = true WHERE AmoUserID IN (SELECT AmoUserID FROM userd)
|
||||
)
|
||||
DELETE FROM tokens WHERE tokens.AccountID IN (SELECT AccountID FROM tokend)
|
||||
DELETE FROM tokens WHERE tokens.AccountID = $1
|
||||
`
|
||||
|
||||
func (q *Queries) SoftDeleteAccount(ctx context.Context, accountid string) error {
|
||||
|
@ -807,7 +807,7 @@ func (r *AmoRepository) ChangeQuizSettings(ctx context.Context, request *model.R
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
err = r.queries.ChangeQuizSettings(ctx, sqlcgen.ChangeQuizSettingsParams{
|
||||
_, err = r.queries.ChangeQuizSettings(ctx, sqlcgen.ChangeQuizSettingsParams{
|
||||
Performerid: request.PerformerID,
|
||||
Pipelineid: request.PipelineID,
|
||||
Stepid: request.StepID,
|
||||
@ -829,7 +829,7 @@ func (r *AmoRepository) SetQuizSettings(ctx context.Context, request *model.Rule
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
err = r.queries.SetQuizSettings(ctx, sqlcgen.SetQuizSettingsParams{
|
||||
_, err = r.queries.SetQuizSettings(ctx, sqlcgen.SetQuizSettingsParams{
|
||||
Performerid: request.PerformerID,
|
||||
Pipelineid: request.PipelineID,
|
||||
Stepid: request.StepID,
|
||||
|
@ -26,6 +26,8 @@ packages:
|
||||
- "./dal/schema/000010_init.down.sql"
|
||||
- "./dal/schema/000011_init.up.sql"
|
||||
- "./dal/schema/000011_init.down.sql"
|
||||
- "./dal/schema/000012_init.up.sql"
|
||||
- "./dal/schema/000012_init.down.sql"
|
||||
engine: "postgresql"
|
||||
emit_json_tags: true
|
||||
emit_db_tags: true
|
||||
|
Loading…
Reference in New Issue
Block a user