fix pagination methods
This commit is contained in:
parent
c2702e984b
commit
51689eeb92
@ -731,48 +731,78 @@ SELECT * FROM usersamo WHERE amoid = $1 AND deleted = false;
|
|||||||
WITH user_data AS (
|
WITH user_data AS (
|
||||||
SELECT AmoID FROM accountsAmo WHERE accountsAmo.AccountID = $1 AND accountsAmo.Deleted = false
|
SELECT AmoID FROM accountsAmo WHERE accountsAmo.AccountID = $1 AND accountsAmo.Deleted = false
|
||||||
)
|
)
|
||||||
SELECT u.*, COUNT(*) OVER() as total_count
|
SELECT u.*
|
||||||
FROM usersAmo u
|
FROM usersAmo u
|
||||||
JOIN user_data a ON u.AmoID = a.AmoID
|
JOIN user_data a ON u.AmoID = a.AmoID
|
||||||
WHERE u.Deleted = false
|
WHERE u.Deleted = false
|
||||||
ORDER BY u.ID OFFSET ($2 - 1) * $3 LIMIT $3;
|
ORDER BY u.ID OFFSET ($2 - 1) * $3 LIMIT $3;
|
||||||
|
|
||||||
|
-- name: GetUsersCount :one
|
||||||
|
WITH user_data AS (
|
||||||
|
SELECT AmoID FROM accountsAmo WHERE accountsAmo.AccountID = $1 AND accountsAmo.Deleted = false
|
||||||
|
)
|
||||||
|
SELECT COUNT(*) FROM usersAmo u JOIN user_data a ON u.AmoID = a.AmoID WHERE u.Deleted = false;
|
||||||
|
|
||||||
-- name: GetTagsWithPagination :many
|
-- name: GetTagsWithPagination :many
|
||||||
WITH user_data AS (
|
WITH user_data AS (
|
||||||
SELECT AmoID FROM accountsAmo WHERE accountsAmo.AccountID = $1 AND accountsAmo.Deleted = false
|
SELECT AmoID FROM accountsAmo WHERE accountsAmo.AccountID = $1 AND accountsAmo.Deleted = false
|
||||||
)
|
)
|
||||||
SELECT t.*, COUNT(*) OVER() as total_count
|
SELECT t.*
|
||||||
FROM tags t JOIN user_data u ON t.AccountID = u.AmoID
|
FROM tags t JOIN user_data u ON t.AccountID = u.AmoID
|
||||||
WHERE t.Deleted = false
|
WHERE t.Deleted = false
|
||||||
ORDER BY t.ID OFFSET ($2 - 1) * $3 LIMIT $3;
|
ORDER BY t.ID OFFSET ($2 - 1) * $3 LIMIT $3;
|
||||||
|
|
||||||
|
-- name: GetTagsCount :one
|
||||||
|
WITH user_data AS (
|
||||||
|
SELECT AmoID FROM accountsAmo WHERE accountsAmo.AccountID = $1 AND accountsAmo.Deleted = false
|
||||||
|
)
|
||||||
|
SELECT COUNT(*) FROM tags t JOIN user_data u ON t.AccountID = u.AmoID WHERE t.Deleted = false;
|
||||||
|
|
||||||
-- name: GetStepsWithPagination :many
|
-- name: GetStepsWithPagination :many
|
||||||
WITH user_data AS (
|
WITH user_data AS (
|
||||||
SELECT AmoID FROM accountsAmo WHERE accountsAmo.AccountID = $1 AND accountsAmo.Deleted = false
|
SELECT AmoID FROM accountsAmo WHERE accountsAmo.AccountID = $1 AND accountsAmo.Deleted = false
|
||||||
)
|
)
|
||||||
SELECT s.*, COUNT(*) OVER() as total_count
|
SELECT s.*
|
||||||
FROM steps s JOIN user_data u ON s.AccountID = u.AmoID
|
FROM steps s JOIN user_data u ON s.AccountID = u.AmoID
|
||||||
WHERE s.Deleted = false AND PipelineID = $4
|
WHERE s.Deleted = false AND s.PipelineID = $4
|
||||||
ORDER BY s.ID OFFSET ($2 - 1) * $3 LIMIT $3;
|
ORDER BY s.ID OFFSET ($2 - 1) * $3 LIMIT $3;
|
||||||
|
|
||||||
|
-- name: GetStepsCount :one
|
||||||
|
WITH user_data AS (
|
||||||
|
SELECT AmoID FROM accountsAmo WHERE accountsAmo.AccountID = $1 AND accountsAmo.Deleted = false
|
||||||
|
)
|
||||||
|
SELECT COUNT(*) FROM steps s JOIN user_data u ON s.AccountID = u.AmoID WHERE s.Deleted = false AND s.PipelineID = $4;
|
||||||
|
|
||||||
-- name: GetPipelinesWithPagination :many
|
-- name: GetPipelinesWithPagination :many
|
||||||
WITH user_data AS (
|
WITH user_data AS (
|
||||||
SELECT AmoID FROM accountsAmo WHERE accountsAmo.AccountID = $1 AND accountsAmo.Deleted = false
|
SELECT AmoID FROM accountsAmo WHERE accountsAmo.AccountID = $1 AND accountsAmo.Deleted = false
|
||||||
)
|
)
|
||||||
SELECT p.*, COUNT(*) OVER() as total_count
|
SELECT p.*
|
||||||
FROM pipelines p JOIN user_data u ON p.AccountID = u.AmoID
|
FROM pipelines p JOIN user_data u ON p.AccountID = u.AmoID
|
||||||
WHERE p.Deleted = false
|
WHERE p.Deleted = false
|
||||||
ORDER BY p.ID OFFSET ($2 - 1) * $3 LIMIT $3;
|
ORDER BY p.ID OFFSET ($2 - 1) * $3 LIMIT $3;
|
||||||
|
|
||||||
|
-- name: GetPipelinesCount :one
|
||||||
|
WITH user_data AS (
|
||||||
|
SELECT AmoID FROM accountsAmo WHERE accountsAmo.AccountID = $1 AND accountsAmo.Deleted = false
|
||||||
|
)
|
||||||
|
SELECT COUNT(*) FROM pipelines p JOIN user_data u ON p.AccountID = u.AmoID WHERE p.Deleted = false;
|
||||||
|
|
||||||
-- name: GetFieldsWithPagination :many
|
-- name: GetFieldsWithPagination :many
|
||||||
WITH user_data AS (
|
WITH user_data AS (
|
||||||
SELECT AmoID FROM accountsAmo WHERE accountsAmo.AccountID = $1 AND accountsAmo.Deleted = false
|
SELECT AmoID FROM accountsAmo WHERE accountsAmo.AccountID = $1 AND accountsAmo.Deleted = false
|
||||||
)
|
)
|
||||||
SELECT f.*, COUNT(*) OVER() as total_count
|
SELECT f.*
|
||||||
FROM fields f JOIN user_data u ON f.AccountID = u.AmoID
|
FROM fields f JOIN user_data u ON f.AccountID = u.AmoID
|
||||||
WHERE f.Deleted = false
|
WHERE f.Deleted = false
|
||||||
ORDER BY f.ID OFFSET ($2 - 1) * $3 LIMIT $3;
|
ORDER BY f.ID OFFSET ($2 - 1) * $3 LIMIT $3;
|
||||||
|
|
||||||
|
-- name: GetFieldsCount :one
|
||||||
|
WITH user_data AS (
|
||||||
|
SELECT AmoID FROM accountsAmo WHERE accountsAmo.AccountID = $1 AND accountsAmo.Deleted = false
|
||||||
|
)
|
||||||
|
SELECT COUNT(*) FROM fields f JOIN user_data u ON f.AccountID = u.AmoID WHERE f.Deleted = false;
|
||||||
|
|
||||||
-- name: UpdateTags :exec
|
-- name: UpdateTags :exec
|
||||||
UPDATE tags AS t
|
UPDATE tags AS t
|
||||||
SET name = (update_data ->> 'Name')::varchar(512),
|
SET name = (update_data ->> 'Name')::varchar(512),
|
||||||
@ -1055,10 +1085,10 @@ INSERT INTO amoContact (AccountID, AmoID, Field) VALUES ($1, $2, $3) RETURNING A
|
|||||||
UPDATE amoContact SET Field = $1,AmoID=$3 WHERE ID = $2;
|
UPDATE amoContact SET Field = $1,AmoID=$3 WHERE ID = $2;
|
||||||
|
|
||||||
-- name: GetQuestionsAI :many
|
-- name: GetQuestionsAI :many
|
||||||
WITH total_count AS (SELECT COUNT(*) AS count
|
SELECT q.id, q.quiz_id, q.title, q.description, q.questiontype, q.required, q.deleted, q.page, q.content, q.version, q.parent_ids, q.created_at, q.updated_at, q.session FROM question q
|
||||||
FROM question WHERE quiz_id = $1 AND (session = $2 OR session = '') AND deleted = FALSE)
|
|
||||||
SELECT q.*, t.count FROM question q
|
|
||||||
CROSS JOIN total_count t
|
|
||||||
WHERE q.quiz_id = $1 AND (q.session = $2 OR q.session = '') AND q.deleted = FALSE
|
WHERE q.quiz_id = $1 AND (q.session = $2 OR q.session = '') AND q.deleted = FALSE
|
||||||
ORDER BY q.page, q.created_at ASC LIMIT $3 OFFSET $4;
|
ORDER BY q.page, q.created_at ASC LIMIT $3 OFFSET $4
|
||||||
|
|
||||||
|
-- name: GetQuestionsAICount :one
|
||||||
|
SELECT COUNT(*) AS count FROM question WHERE quiz_id = $1 AND (session = $2 OR session = '') AND deleted = FALSE;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user