Skip to content

Commit

Permalink
a
Browse files Browse the repository at this point in the history
  • Loading branch information
zizdlp committed Aug 17, 2024
1 parent 9982de3 commit 758ebc8
Show file tree
Hide file tree
Showing 26 changed files with 905 additions and 160 deletions.
60 changes: 45 additions & 15 deletions zbook_backend/db/mock/store.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

30 changes: 24 additions & 6 deletions zbook_backend/db/query/repo_relation.sql
Original file line number Diff line number Diff line change
Expand Up @@ -15,34 +15,52 @@ FROM repo_relations
WHERE user_id = $1 and repo_id=$2 and relation_type = $3;


-- name: GetSelectedUserByRepoCount :one
-- name: GetListSelectedUserByRepoCount :one
SELECT COUNT(*)
FROM repos as r
LEFT JOIN repo_relations as rr ON rr.repo_id=r.repo_id
JOIN users as u ON u.user_id = rr.user_id
JOIN users as u ON u.user_id = rr.user_id AND (u.blocked='false' OR @role::text='admin')
WHERE r.repo_id=$1 AND rr.relation_type = 'visi';

-- name: ListSelectedUserByRepo :many
SELECT u.*
FROM repos as r
LEFT JOIN repo_relations as rr ON rr.repo_id=r.repo_id
JOIN users as u ON u.user_id = rr.user_id
JOIN users as u ON u.user_id = rr.user_id AND (u.blocked='false' OR @role::text='admin')
WHERE r.repo_id=$3 AND rr.relation_type = 'visi'
ORDER BY rr.created_at DESC
LIMIT $1
OFFSET $2;


-- name: QuerySelectedUserByRepo :many
select u.*,ts_rank(fts_username, plainto_tsquery(@query)) as rank
FROM repos as r
LEFT JOIN repo_relations as rr ON rr.repo_id=r.repo_id
JOIN users as u ON u.user_id = rr.user_id
WHERE r.repo_id=$3 AND rr.relation_type = 'visi' AND (u.blocked='false' OR @role::text='admin') AND fts_username @@ plainto_tsquery(@query)
ORDER BY rank DESC
LIMIT $1
OFFSET $2;

-- name: GetQuerySelectedUserByRepoCount :one
SELECT COUNT(*)
FROM repos as r
LEFT JOIN repo_relations as rr ON rr.repo_id=r.repo_id
JOIN users as u ON u.user_id = rr.user_id
WHERE r.repo_id=$1 AND rr.relation_type = 'visi' AND (u.blocked='false' OR @role::text='admin') AND fts_username @@ plainto_tsquery(@query);


-- name: QueryUserByRepo :many
SELECT
u.*,
u.*,ts_rank(fts_username, plainto_tsquery(@query)) as rank,
CASE WHEN MAX(rr.user_id) IS NOT NULL THEN true ELSE false END AS is_visible
FROM
users as u
LEFT JOIN
repo_relations rr ON rr.user_id = u.user_id AND rr.repo_id=$3
WHERE u.username=$4
WHERE (u.blocked='false' OR @role::text='admin') AND fts_username @@ plainto_tsquery(@query)
GROUP BY u.user_id,rr.created_at
ORDER BY rr.created_at DESC
ORDER BY rank DESC,rr.created_at DESC
LIMIT $1
OFFSET $2;
4 changes: 3 additions & 1 deletion zbook_backend/db/sqlc/querier.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 758ebc8

Please sign in to comment.