This commit is contained in:
@@ -61,18 +61,18 @@ WHERE p.id = $1 AND p.is_deleted = false;
|
|||||||
-- name: UpdateProject :one
|
-- name: UpdateProject :one
|
||||||
UPDATE projects
|
UPDATE projects
|
||||||
SET
|
SET
|
||||||
title = COALESCE(sqlc.narg('title'), title),
|
title = COALESCE(sqlc.narg('title'), projects.title),
|
||||||
description = COALESCE(sqlc.narg('description'), description),
|
description = COALESCE(sqlc.narg('description'), projects.description),
|
||||||
latest_commit_id = COALESCE(sqlc.narg('latest_commit_id'), latest_commit_id),
|
latest_commit_id = COALESCE(sqlc.narg('latest_commit_id'), projects.latest_commit_id),
|
||||||
project_status = COALESCE(sqlc.narg('status'), status),
|
project_status = COALESCE(sqlc.narg('status'), projects.project_status),
|
||||||
locked_by = COALESCE(sqlc.narg('locked_by'), locked_by),
|
locked_by = COALESCE(sqlc.narg('locked_by'), projects.locked_by),
|
||||||
updated_at = NOW()
|
updated_at = NOW()
|
||||||
FROM projects p
|
FROM users u
|
||||||
JOIN users u ON p.user_id = u.id
|
|
||||||
LEFT JOIN user_profiles up ON u.id = up.user_id
|
LEFT JOIN user_profiles up ON u.id = up.user_id
|
||||||
WHERE p.id = sqlc.arg('id') AND p.is_deleted = false
|
WHERE projects.id = sqlc.arg('id') AND projects.is_deleted = false
|
||||||
|
AND projects.user_id = u.id
|
||||||
RETURNING
|
RETURNING
|
||||||
p.*,
|
projects.*,
|
||||||
json_build_object(
|
json_build_object(
|
||||||
'id', u.id,
|
'id', u.id,
|
||||||
'email', u.email,
|
'email', u.email,
|
||||||
|
|||||||
@@ -64,14 +64,14 @@ SET
|
|||||||
reviewed_by = COALESCE(sqlc.narg('reviewed_by'), reviewed_by),
|
reviewed_by = COALESCE(sqlc.narg('reviewed_by'), reviewed_by),
|
||||||
review_note = COALESCE(sqlc.narg('review_note'), review_note),
|
review_note = COALESCE(sqlc.narg('review_note'), review_note),
|
||||||
content = COALESCE(sqlc.narg('content'), content)
|
content = COALESCE(sqlc.narg('content'), content)
|
||||||
FROM submissions s
|
FROM users u
|
||||||
JOIN users u ON s.user_id = u.id
|
|
||||||
LEFT JOIN user_profiles up ON u.id = up.user_id
|
LEFT JOIN user_profiles up ON u.id = up.user_id
|
||||||
LEFT JOIN users ru ON s.reviewed_by = ru.id
|
LEFT JOIN users ru ON submissions.reviewed_by = ru.id
|
||||||
LEFT JOIN user_profiles rup ON ru.id = rup.user_id
|
LEFT JOIN user_profiles rup ON ru.id = rup.user_id
|
||||||
WHERE s.id = sqlc.arg('id')
|
WHERE submissions.id = sqlc.arg('id')
|
||||||
|
AND submissions.user_id = u.id
|
||||||
RETURNING
|
RETURNING
|
||||||
s.id, s.project_id, s.commit_id, s.user_id, s.created_at, s.status, s.reviewed_by, s.reviewed_at, s.review_note, s.content, s.is_deleted,
|
submissions.id, submissions.project_id, submissions.commit_id, submissions.user_id, submissions.created_at, submissions.status, submissions.reviewed_by, submissions.reviewed_at, submissions.review_note, submissions.content, submissions.is_deleted,
|
||||||
json_build_object(
|
json_build_object(
|
||||||
'id', u.id,
|
'id', u.id,
|
||||||
'email', u.email,
|
'email', u.email,
|
||||||
@@ -79,7 +79,7 @@ RETURNING
|
|||||||
'full_name', up.full_name,
|
'full_name', up.full_name,
|
||||||
'avatar_url', up.avatar_url
|
'avatar_url', up.avatar_url
|
||||||
)::json AS user,
|
)::json AS user,
|
||||||
CASE WHEN s.reviewed_by IS NOT NULL THEN
|
CASE WHEN submissions.reviewed_by IS NOT NULL THEN
|
||||||
json_build_object(
|
json_build_object(
|
||||||
'id', ru.id,
|
'id', ru.id,
|
||||||
'email', ru.email,
|
'email', ru.email,
|
||||||
@@ -120,7 +120,7 @@ LEFT JOIN users ru ON s.reviewed_by = ru.id
|
|||||||
LEFT JOIN user_profiles rup ON ru.id = rup.user_id
|
LEFT JOIN user_profiles rup ON ru.id = rup.user_id
|
||||||
WHERE s.is_deleted = false
|
WHERE s.is_deleted = false
|
||||||
AND (sqlc.narg('project_id')::uuid IS NULL OR s.project_id = sqlc.narg('project_id'))
|
AND (sqlc.narg('project_id')::uuid IS NULL OR s.project_id = sqlc.narg('project_id'))
|
||||||
AND (sqlc.narg('user_ids')::uuid[] IS NULL OR uv.user_id = ANY(sqlc.narg('user_ids')::uuid[]))
|
AND (sqlc.narg('user_ids')::uuid[] IS NULL OR s.user_id = ANY(sqlc.narg('user_ids')::uuid[]))
|
||||||
AND (sqlc.narg('reviewed_by')::uuid IS NULL OR s.reviewed_by = sqlc.narg('reviewed_by'))
|
AND (sqlc.narg('reviewed_by')::uuid IS NULL OR s.reviewed_by = sqlc.narg('reviewed_by'))
|
||||||
AND (
|
AND (
|
||||||
sqlc.narg('statuses')::smallint[] IS NULL
|
sqlc.narg('statuses')::smallint[] IS NULL
|
||||||
@@ -150,7 +150,7 @@ SELECT count(*)
|
|||||||
FROM submissions s
|
FROM submissions s
|
||||||
WHERE s.is_deleted = false
|
WHERE s.is_deleted = false
|
||||||
AND (sqlc.narg('project_id')::uuid IS NULL OR s.project_id = sqlc.narg('project_id'))
|
AND (sqlc.narg('project_id')::uuid IS NULL OR s.project_id = sqlc.narg('project_id'))
|
||||||
AND (sqlc.narg('user_ids')::uuid[] IS NULL OR uv.user_id = ANY(sqlc.narg('user_ids')::uuid[]))
|
AND (sqlc.narg('user_ids')::uuid[] IS NULL OR s.user_id = ANY(sqlc.narg('user_ids')::uuid[]))
|
||||||
AND (sqlc.narg('reviewed_by')::uuid IS NULL OR s.reviewed_by = sqlc.narg('reviewed_by'))
|
AND (sqlc.narg('reviewed_by')::uuid IS NULL OR s.reviewed_by = sqlc.narg('reviewed_by'))
|
||||||
AND (
|
AND (
|
||||||
sqlc.narg('statuses')::smallint[] IS NULL
|
sqlc.narg('statuses')::smallint[] IS NULL
|
||||||
|
|||||||
@@ -630,18 +630,18 @@ func (q *Queries) UpdateLatestCommit(ctx context.Context, arg UpdateLatestCommit
|
|||||||
const updateProject = `-- name: UpdateProject :one
|
const updateProject = `-- name: UpdateProject :one
|
||||||
UPDATE projects
|
UPDATE projects
|
||||||
SET
|
SET
|
||||||
title = COALESCE($1, title),
|
title = COALESCE($1, projects.title),
|
||||||
description = COALESCE($2, description),
|
description = COALESCE($2, projects.description),
|
||||||
latest_commit_id = COALESCE($3, latest_commit_id),
|
latest_commit_id = COALESCE($3, projects.latest_commit_id),
|
||||||
project_status = COALESCE($4, status),
|
project_status = COALESCE($4, projects.project_status),
|
||||||
locked_by = COALESCE($5, locked_by),
|
locked_by = COALESCE($5, projects.locked_by),
|
||||||
updated_at = NOW()
|
updated_at = NOW()
|
||||||
FROM projects p
|
FROM users u
|
||||||
JOIN users u ON p.user_id = u.id
|
|
||||||
LEFT JOIN user_profiles up ON u.id = up.user_id
|
LEFT JOIN user_profiles up ON u.id = up.user_id
|
||||||
WHERE p.id = $6 AND p.is_deleted = false
|
WHERE projects.id = $6 AND projects.is_deleted = false
|
||||||
|
AND projects.user_id = u.id
|
||||||
RETURNING
|
RETURNING
|
||||||
p.id, p.title, p.description, p.latest_commit_id, p.project_status, p.locked_by, p.is_deleted, p.user_id, p.created_at, p.updated_at,
|
projects.id, projects.title, projects.description, projects.latest_commit_id, projects.project_status, projects.locked_by, projects.is_deleted, projects.user_id, projects.created_at, projects.updated_at,
|
||||||
json_build_object(
|
json_build_object(
|
||||||
'id', u.id,
|
'id', u.id,
|
||||||
'email', u.email,
|
'email', u.email,
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ SELECT count(*)
|
|||||||
FROM submissions s
|
FROM submissions s
|
||||||
WHERE s.is_deleted = false
|
WHERE s.is_deleted = false
|
||||||
AND ($1::uuid IS NULL OR s.project_id = $1)
|
AND ($1::uuid IS NULL OR s.project_id = $1)
|
||||||
AND ($2::uuid[] IS NULL OR uv.user_id = ANY($2::uuid[]))
|
AND ($2::uuid[] IS NULL OR s.user_id = ANY($2::uuid[]))
|
||||||
AND ($3::uuid IS NULL OR s.reviewed_by = $3)
|
AND ($3::uuid IS NULL OR s.reviewed_by = $3)
|
||||||
AND (
|
AND (
|
||||||
$4::smallint[] IS NULL
|
$4::smallint[] IS NULL
|
||||||
@@ -320,7 +320,7 @@ LEFT JOIN users ru ON s.reviewed_by = ru.id
|
|||||||
LEFT JOIN user_profiles rup ON ru.id = rup.user_id
|
LEFT JOIN user_profiles rup ON ru.id = rup.user_id
|
||||||
WHERE s.is_deleted = false
|
WHERE s.is_deleted = false
|
||||||
AND ($1::uuid IS NULL OR s.project_id = $1)
|
AND ($1::uuid IS NULL OR s.project_id = $1)
|
||||||
AND ($2::uuid[] IS NULL OR uv.user_id = ANY($2::uuid[]))
|
AND ($2::uuid[] IS NULL OR s.user_id = ANY($2::uuid[]))
|
||||||
AND ($3::uuid IS NULL OR s.reviewed_by = $3)
|
AND ($3::uuid IS NULL OR s.reviewed_by = $3)
|
||||||
AND (
|
AND (
|
||||||
$4::smallint[] IS NULL
|
$4::smallint[] IS NULL
|
||||||
@@ -429,14 +429,14 @@ SET
|
|||||||
reviewed_by = COALESCE($2, reviewed_by),
|
reviewed_by = COALESCE($2, reviewed_by),
|
||||||
review_note = COALESCE($3, review_note),
|
review_note = COALESCE($3, review_note),
|
||||||
content = COALESCE($4, content)
|
content = COALESCE($4, content)
|
||||||
FROM submissions s
|
FROM users u
|
||||||
JOIN users u ON s.user_id = u.id
|
|
||||||
LEFT JOIN user_profiles up ON u.id = up.user_id
|
LEFT JOIN user_profiles up ON u.id = up.user_id
|
||||||
LEFT JOIN users ru ON s.reviewed_by = ru.id
|
LEFT JOIN users ru ON submissions.reviewed_by = ru.id
|
||||||
LEFT JOIN user_profiles rup ON ru.id = rup.user_id
|
LEFT JOIN user_profiles rup ON ru.id = rup.user_id
|
||||||
WHERE s.id = $5
|
WHERE submissions.id = $5
|
||||||
|
AND submissions.user_id = u.id
|
||||||
RETURNING
|
RETURNING
|
||||||
s.id, s.project_id, s.commit_id, s.user_id, s.created_at, s.status, s.reviewed_by, s.reviewed_at, s.review_note, s.content, s.is_deleted,
|
submissions.id, submissions.project_id, submissions.commit_id, submissions.user_id, submissions.created_at, submissions.status, submissions.reviewed_by, submissions.reviewed_at, submissions.review_note, submissions.content, submissions.is_deleted,
|
||||||
json_build_object(
|
json_build_object(
|
||||||
'id', u.id,
|
'id', u.id,
|
||||||
'email', u.email,
|
'email', u.email,
|
||||||
@@ -444,7 +444,7 @@ RETURNING
|
|||||||
'full_name', up.full_name,
|
'full_name', up.full_name,
|
||||||
'avatar_url', up.avatar_url
|
'avatar_url', up.avatar_url
|
||||||
)::json AS user,
|
)::json AS user,
|
||||||
CASE WHEN s.reviewed_by IS NOT NULL THEN
|
CASE WHEN submissions.reviewed_by IS NOT NULL THEN
|
||||||
json_build_object(
|
json_build_object(
|
||||||
'id', ru.id,
|
'id', ru.id,
|
||||||
'email', ru.email,
|
'email', ru.email,
|
||||||
|
|||||||
Reference in New Issue
Block a user