add query check tags
This commit is contained in:
parent
44291564e2
commit
ae01145ce6
@ -667,7 +667,7 @@ UPDATE tokens SET AccessToken = $1, RefreshToken = $2, Expiration = $3, CreatedA
|
||||
SELECT * FROM tokens;
|
||||
|
||||
-- name: CheckExpired :many
|
||||
SELECT * FROM tokens WHERE Expiration <= EXTRACT(EPOCH FROM NOW()) + (10 * 60);
|
||||
SELECT * FROM tokens WHERE Expiration <= TO_TIMESTAMP(EXTRACT(EPOCH FROM NOW()) + (10 * 60));
|
||||
|
||||
-- name: WebhookDelete :exec
|
||||
DELETE FROM tokens WHERE AccountID = $1;
|
||||
@ -683,3 +683,47 @@ UPDATE users SET Name = $1, "Group" = $2, Email = $3, Role = $4 WHERE AmoID = $5
|
||||
|
||||
-- name: GetUsersWithPagination :many
|
||||
SELECT *, COUNT(*) OVER() as total_count FROM users WHERE Deleted = false ORDER BY ID OFFSET ($1 - 1) * $2 LIMIT $2;
|
||||
|
||||
-- name: GetTagsWithPagination :many
|
||||
SELECT *, COUNT(*) OVER() as total_count FROM tags WHERE Deleted = false ORDER BY ID OFFSET ($1 - 1) * $2 LIMIT $2;
|
||||
|
||||
-- name: GetStepsWithPagination :many
|
||||
SELECT *, COUNT(*) OVER() as total_count FROM steps WHERE Deleted = false ORDER BY ID OFFSET ($1 - 1) * $2 LIMIT $2;
|
||||
|
||||
-- name: GetPipelinesWithPagination :many
|
||||
SELECT *, COUNT(*) OVER() as total_count FROM pipelines WHERE Deleted = false ORDER BY ID OFFSET ($1 - 1) * $2 LIMIT $2;
|
||||
|
||||
-- name: GetFieldsWithPagination :many
|
||||
SELECT *, COUNT(*) OVER() as total_count FROM fields WHERE Deleted = false ORDER BY ID OFFSET ($1 - 1) * $2 LIMIT $2;
|
||||
|
||||
-- name: CheckTags :many
|
||||
WITH user_data AS (
|
||||
SELECT AmoID
|
||||
FROM users
|
||||
WHERE AccountID = $1 -- параметр AccountID из токена для получения id аккаунта в амо
|
||||
), updated_tags AS (
|
||||
UPDATE tags
|
||||
SET name = new_tags.name, color = new_tags.color, createdAt = CURRENT_TIMESTAMP
|
||||
FROM (
|
||||
SELECT t.ID, t.Name, t.Color, t.AmoID
|
||||
FROM UNNEST($3::entitytype[], $4::varchar(50)[], $5::varchar(50)[]) AS t(ID INT, Name VARCHAR(50), Color VARCHAR(50), AmoID INT)
|
||||
) AS new_tags
|
||||
JOIN user_data ON tags.AccountID = user_data.AmoID
|
||||
WHERE tags.amoID = $2
|
||||
AND tags.amoID = new_tags.amoID
|
||||
AND tags.accountID = user_data.AmoID -- Используем полученный AmoID из таблицы users
|
||||
AND tags.entity = $3
|
||||
AND tags.deleted = FALSE
|
||||
RETURNING tags.id, tags.amoID
|
||||
), inserted_tags AS (
|
||||
INSERT INTO tags (amoID, accountID, entity, name, color, createdAt)
|
||||
SELECT $2, user_data.AmoID, $3, t.Name, t.Color, CURRENT_TIMESTAMP
|
||||
FROM UNNEST($3::entitytype[], $4::varchar(50)[], $5::varchar(50)[]) AS t(Name VARCHAR(50), Color VARCHAR(50))
|
||||
JOIN user_data ON $1 = user_data.AmoID
|
||||
WHERE (t.Name, t.Color) NOT IN (SELECT name, color FROM updated_tags)
|
||||
RETURNING id, amoID
|
||||
)
|
||||
SELECT * FROM updated_tags
|
||||
UNION ALL
|
||||
SELECT * FROM inserted_tags;
|
||||
|
||||
|
@ -73,7 +73,7 @@ CREATE TABLE IF NOT EXISTS tags (
|
||||
CreatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
ALTER TABLE question
|
||||
ALTER TABLE quiz
|
||||
ADD COLUMN utm jsonb NOT NULL DEFAULT '{}';
|
||||
ALTER TABLE question
|
||||
ALTER TABLE quiz
|
||||
ADD COLUMN rules jsonb NOT NULL DEFAULT '{}';
|
@ -175,7 +175,7 @@ func (r *AmoRepository) WebhookCreate(ctx context.Context, tokens model.Token) e
|
||||
Refreshtoken: tokens.RefreshToken,
|
||||
Accesstoken: tokens.AccessToken,
|
||||
Authcode: tokens.AuthCode,
|
||||
Expiration: time.Unix(tokens.Expiration, 0),
|
||||
Expiration: time.Unix(tokens.Expiration, 0).In(time.UTC),
|
||||
Createdat: sql.NullTime{Time: time.Unix(tokens.CreatedAt, 0), Valid: true},
|
||||
})
|
||||
|
||||
@ -191,7 +191,7 @@ func (r *AmoRepository) WebhookUpdate(ctx context.Context, tokens model.Token) e
|
||||
Accountid: tokens.AccountID,
|
||||
Accesstoken: tokens.AccessToken,
|
||||
Refreshtoken: tokens.RefreshToken,
|
||||
Expiration: time.Unix(tokens.Expiration, 0),
|
||||
Expiration: time.Unix(tokens.Expiration, 0).In(time.UTC),
|
||||
Createdat: sql.NullTime{Time: time.Unix(tokens.CreatedAt, 0), Valid: true},
|
||||
})
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user