rework query
This commit is contained in:
parent
3960a1a5d5
commit
92cf86e26b
@ -762,54 +762,76 @@ WITH user_data AS (
|
||||
)
|
||||
SELECT * FROM inserted_tags;
|
||||
|
||||
-- name: CheckPipelines :many
|
||||
WITH new_pipelines AS (
|
||||
SELECT (pipeline->>'AmoID')::INT,
|
||||
(pipeline->>'AccountID')::INT,
|
||||
COALESCE(pipeline->>'Name', '')::varchar(50),
|
||||
CASE WHEN (pipeline->>'IsArchive') = 'true' THEN TRUE ELSE FALSE END,
|
||||
CURRENT_TIMESTAMP
|
||||
FROM json_array_elements($1::json) AS pipeline
|
||||
), inserted_pipelines AS(
|
||||
INSERT INTO pipelines (amoID, accountID, name, isArchive, createdAt)
|
||||
SELECT np.amoID,
|
||||
np.accountID,
|
||||
np.name,
|
||||
np.isArchive,
|
||||
CURRENT_TIMESTAMP
|
||||
FROM new_pipelines np
|
||||
ON CONFLICT (amoID, accountID) DO NOTHING
|
||||
RETURNING *
|
||||
)
|
||||
SELECT * FROM inserted_pipelines;
|
||||
|
||||
-- -- name: CheckPipelines :many
|
||||
-- WITH insertt AS (
|
||||
-- INSERT INTO pipelines (amoID, accountID, name, isArchive, createdAt)
|
||||
-- SELECT (new_pipelines->>'AmoID')::INT,
|
||||
-- (new_pipelines->>'AccountID')::INT,
|
||||
-- COALESCE(new_pipelines->>'Name', '')::varchar(50),
|
||||
-- CASE WHEN (new_pipelines->>'IsArchive') = 'true' THEN TRUE ELSE FALSE END,
|
||||
-- CURRENT_TIMESTAMP
|
||||
-- FROM json_array_elements($1::json) AS new_pipelines
|
||||
-- ON CONFLICT (amoID, accountID) DO NOTHING
|
||||
-- RETURNING EXCLUDED.*
|
||||
-- )
|
||||
-- SELECT * FROM insertt;
|
||||
--
|
||||
-- -- name: CheckFields :many
|
||||
-- WITH user_data AS (
|
||||
-- SELECT AmoID
|
||||
-- FROM users
|
||||
-- WHERE users.AccountID = $1
|
||||
-- ),
|
||||
-- insertt AS (
|
||||
-- INSERT INTO fields (amoID, code, accountID, name, Entity, type, createdAt)
|
||||
-- SELECT (new_fields->>'AmoID')::INT,
|
||||
-- COALESCE(new_fields->>'Code', '')::varchar(255),
|
||||
-- user_data.AmoID,
|
||||
-- COALESCE(new_fields->>'Name', '')::varchar(50),
|
||||
-- CAST(new_fields->>'Entity' AS entitytype),
|
||||
-- COALESCE(new_fields->>'Type', '')::varchar(50),
|
||||
-- CURRENT_TIMESTAMP
|
||||
-- FROM json_array_elements($2::json) AS new_fields
|
||||
-- JOIN user_data ON true
|
||||
-- ON CONFLICT (amoID, accountID, entity) DO NOTHING
|
||||
-- RETURNING EXCLUDED.*
|
||||
-- )
|
||||
-- SELECT * FROM insertt;
|
||||
--
|
||||
-- -- name: CheckSteps :many
|
||||
-- WITH insertt AS (
|
||||
-- INSERT INTO steps (amoID, pipelineID, accountID, name, color, createdAt)
|
||||
-- SELECT (new_steps->>'AmoID')::INT,
|
||||
-- (new_steps->>'PipelineID')::INT,
|
||||
-- (new_steps->>'AccountID')::INT,
|
||||
-- COALESCE(new_steps->>'Name', '')::varchar(50),
|
||||
-- COALESCE(new_steps->>'Color', '')::varchar(50),
|
||||
-- CURRENT_TIMESTAMP
|
||||
-- FROM json_array_elements($1::json) AS new_steps
|
||||
-- ON CONFLICT (amoID, accountID, PipelineID) DO NOTHING
|
||||
-- RETURNING EXCLUDED.*
|
||||
-- )
|
||||
-- SELECT * FROM insertt;
|
||||
-- name: CheckFields :many
|
||||
WITH user_data AS (
|
||||
SELECT AmoID
|
||||
FROM users
|
||||
WHERE users.AccountID = $1
|
||||
), new_fields AS (
|
||||
SELECT (field->>'AmoID')::INT,
|
||||
COALESCE(field->>'Code', '')::varchar(255),
|
||||
COALESCE(field->>'Name', '')::varchar(50),
|
||||
CAST(field->>'Entity' AS entitytype),
|
||||
COALESCE(field->>'Type', '')::varchar(50),
|
||||
CURRENT_TIMESTAMP
|
||||
FROM json_array_elements($2::json) AS field
|
||||
), inserted_fields AS(
|
||||
INSERT INTO fields (amoID, code, accountID, name, Entity, type, createdAt)
|
||||
SELECT nf.amoID,
|
||||
nf.code,
|
||||
ud.AmoID,
|
||||
nf.name,
|
||||
nf.Entity,
|
||||
nf.type,
|
||||
CURRENT_TIMESTAMP
|
||||
FROM new_fields nf
|
||||
JOIN user_data ud ON true
|
||||
ON CONFLICT (amoID, accountID, entity) DO NOTHING
|
||||
RETURNING *
|
||||
)
|
||||
SELECT * from inserted_fields;
|
||||
|
||||
|
||||
-- name: CheckSteps :many
|
||||
WITH new_steps AS (
|
||||
SELECT (step->>'AmoID')::INT,
|
||||
(step->>'PipelineID')::INT,
|
||||
(step->>'AccountID')::INT,
|
||||
COALESCE(step->>'Name', '')::varchar(50),
|
||||
COALESCE(step->>'Color', '')::varchar(50),
|
||||
CURRENT_TIMESTAMP
|
||||
FROM json_array_elements($1::json) AS step
|
||||
), inserted_steps AS (
|
||||
INSERT INTO steps (amoID, pipelineID, accountID, name, color, createdAt)
|
||||
SELECT ns.amoID,
|
||||
ns.pipelineID,
|
||||
ns.accountID,
|
||||
ns.name,
|
||||
ns.color,
|
||||
CURRENT_TIMESTAMP
|
||||
FROM new_steps ns
|
||||
ON CONFLICT (amoID, accountID, PipelineID) DO NOTHING
|
||||
RETURNING *
|
||||
)
|
||||
SELECT * FROM inserted_steps;
|
||||
|
Loading…
Reference in New Issue
Block a user