update queries
This commit is contained in:
parent
4a6ed865a7
commit
8a0237ee6e
@ -785,7 +785,14 @@ WITH user_data AS (
|
|||||||
ON CONFLICT (amoID, accountID, Entity) DO NOTHING
|
ON CONFLICT (amoID, accountID, Entity) DO NOTHING
|
||||||
RETURNING *
|
RETURNING *
|
||||||
)
|
)
|
||||||
SELECT * FROM inserted_tags;
|
SELECT nt.*
|
||||||
|
FROM new_tags nt
|
||||||
|
WHERE NOT EXISTS (
|
||||||
|
SELECT *
|
||||||
|
FROM inserted_tags ins
|
||||||
|
JOIN user_data ud ON true
|
||||||
|
WHERE ins.amoID = nt.amoID AND ins.accountID = ud.amoid AND ins.Entity = nt.Entity
|
||||||
|
);
|
||||||
|
|
||||||
-- name: CheckPipelines :many
|
-- name: CheckPipelines :many
|
||||||
WITH new_pipelines AS (
|
WITH new_pipelines AS (
|
||||||
@ -806,7 +813,13 @@ WITH new_pipelines AS (
|
|||||||
ON CONFLICT (amoID, accountID) DO NOTHING
|
ON CONFLICT (amoID, accountID) DO NOTHING
|
||||||
RETURNING *
|
RETURNING *
|
||||||
)
|
)
|
||||||
SELECT * FROM inserted_pipelines;
|
SELECT np.*
|
||||||
|
FROM new_pipelines np
|
||||||
|
WHERE NOT EXISTS (
|
||||||
|
SELECT *
|
||||||
|
FROM inserted_pipelines ins
|
||||||
|
WHERE ins.amoID = np.amoID AND ins.accountID = np.accountID
|
||||||
|
);
|
||||||
|
|
||||||
-- name: CheckFields :many
|
-- name: CheckFields :many
|
||||||
WITH user_data AS (
|
WITH user_data AS (
|
||||||
@ -835,7 +848,14 @@ WITH user_data AS (
|
|||||||
ON CONFLICT (amoID, accountID, entity) DO NOTHING
|
ON CONFLICT (amoID, accountID, entity) DO NOTHING
|
||||||
RETURNING *
|
RETURNING *
|
||||||
)
|
)
|
||||||
SELECT * from inserted_fields;
|
SELECT nf.*
|
||||||
|
FROM new_fields nf
|
||||||
|
WHERE NOT EXISTS (
|
||||||
|
SELECT *
|
||||||
|
FROM inserted_fields ins
|
||||||
|
JOIN user_data ud ON true
|
||||||
|
WHERE ins.amoID = nf.amoID AND ins.accountID = ud.amoid AND ins.Entity = nf.Entity
|
||||||
|
);
|
||||||
|
|
||||||
-- name: CheckSteps :many
|
-- name: CheckSteps :many
|
||||||
WITH new_steps AS (
|
WITH new_steps AS (
|
||||||
@ -858,7 +878,13 @@ WITH new_steps AS (
|
|||||||
ON CONFLICT (amoID, accountID, PipelineID) DO NOTHING
|
ON CONFLICT (amoID, accountID, PipelineID) DO NOTHING
|
||||||
RETURNING *
|
RETURNING *
|
||||||
)
|
)
|
||||||
SELECT * FROM inserted_steps;
|
SELECT ns.*
|
||||||
|
FROM new_steps ns
|
||||||
|
WHERE NOT EXISTS (
|
||||||
|
SELECT *
|
||||||
|
FROM inserted_steps ins
|
||||||
|
WHERE ins.amoID = ns.amoID AND ins.accountID = ns.accountID AND ins.pipelineID = ns.pipelineID
|
||||||
|
);
|
||||||
|
|
||||||
-- name: CheckUsers :exec
|
-- name: CheckUsers :exec
|
||||||
INSERT INTO users (AmoID, Name, Email, Role, "Group", AmoUserID)
|
INSERT INTO users (AmoID, Name, Email, Role, "Group", AmoUserID)
|
||||||
@ -870,3 +896,36 @@ UPDATE users SET Name = $2, Email = $3, Role = $4, "Group" = $5, AmoUserID = $6
|
|||||||
|
|
||||||
-- name: GetTokenById :one
|
-- name: GetTokenById :one
|
||||||
SELECT * FROM tokens WHERE accountID = $1;
|
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
|
||||||
|
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(50) 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;
|
@ -164,7 +164,7 @@ type FieldRule struct {
|
|||||||
|
|
||||||
type UTM struct {
|
type UTM struct {
|
||||||
/* - айдишник в нашей системе Primary Key*/
|
/* - айдишник в нашей системе Primary Key*/
|
||||||
ID int `json:"ID" bson:"ID"`
|
ID int `json:"ID"`
|
||||||
/* - айдишник кастомного поля в амо*/
|
/* - айдишник кастомного поля в амо*/
|
||||||
Amofieldid int `json:"AmoFieldID"`
|
Amofieldid int `json:"AmoFieldID"`
|
||||||
/* - айдишник квиза*/
|
/* - айдишник квиза*/
|
||||||
|
@ -615,11 +615,11 @@ func (r *AmoRepository) GettingQuizRules(ctx context.Context) (*model.Rule, erro
|
|||||||
|
|
||||||
// методы UTMs
|
// методы UTMs
|
||||||
|
|
||||||
func (r *AmoRepository) DeletingUserUtm(ctx context.Context, request *model.ListDeleteUTMIDsReq, accountId string) error {
|
func (r *AmoRepository) DeletingUserUtm(ctx context.Context, request *model.ListDeleteUTMIDsReq) error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r *AmoRepository) SavingUserUtm(ctx context.Context, request *model.SaveUserListUTMReq, accountID string, quizID int) (*model.ListSavedIDUTMResp, error) {
|
func (r *AmoRepository) SavingUserUtm(ctx context.Context, request *model.SaveUserListUTMReq, accountID string) (*model.ListSavedIDUTMResp, error) {
|
||||||
return nil, nil
|
return nil, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user