Skip to content

Commit

Permalink
Remove field from db table
Browse files Browse the repository at this point in the history
  • Loading branch information
apiraino committed Jan 8, 2024
1 parent 9d7bfcd commit f8ff17d
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 14 deletions.
3 changes: 1 addition & 2 deletions src/db.rs
Original file line number Diff line number Diff line change
Expand Up @@ -312,8 +312,7 @@ CREATE UNIQUE INDEX jobs_name_scheduled_at_unique_index
CREATE table review_prefs (
id UUID DEFAULT gen_random_uuid() PRIMARY KEY,
user_id BIGINT REFERENCES users(user_id),
assigned_prs INT[] NOT NULL DEFAULT array[]::INT[],
num_assigned_prs INTEGER
assigned_prs INT[] NOT NULL DEFAULT array[]::INT[]
);
CREATE UNIQUE INDEX review_prefs_user_id ON review_prefs(user_id);
",
Expand Down
19 changes: 7 additions & 12 deletions src/handlers/review_work_queue.rs
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ async fn get_pr_assignees(
issue_num: i32,
) -> anyhow::Result<Vec<TeamMemberWorkQueue>> {
let q = "
SELECT u.username, r.*
SELECT u.username, r.*, array_length(assigned_prs, 1) as num_assigned_prs
FROM review_prefs r
JOIN users u on u.user_id=r.user_id
WHERE $1 = ANY (assigned_prs)";
Expand All @@ -36,16 +36,12 @@ async fn update_team_member_workqueue(
) -> anyhow::Result<TeamMemberWorkQueue> {
let q = "
UPDATE review_prefs r
SET assigned_prs = $2, num_assigned_prs = $3
SET assigned_prs = $2
FROM users u
WHERE r.user_id=$1 AND u.user_id=r.user_id
RETURNING u.username, r.*";
let num_assigned_prs = assignee.assigned_prs.len() as i32;
RETURNING u.username, r.*, array_length(assigned_prs, 1) as num_assigned_prs";
let rec = db
.query_one(
q,
&[&assignee.user_id, &assignee.assigned_prs, &num_assigned_prs],
)
.query_one(q, &[&assignee.user_id, &assignee.assigned_prs])
.await
.context("Update DB error")?;
Ok(rec.into())
Expand Down Expand Up @@ -73,12 +69,11 @@ async fn upsert_team_member_workqueue(
user_id: i64,
pr: i32,
) -> anyhow::Result<u64, anyhow::Error> {
let q =
"
let q = "
INSERT INTO review_prefs
(user_id, assigned_prs, num_assigned_prs) VALUES ($1, $2, 1)
(user_id, assigned_prs) VALUES ($1, $2)
ON CONFLICT (user_id)
DO UPDATE SET assigned_prs = array_append(review_prefs.assigned_prs, $3), num_assigned_prs = review_prefs.num_assigned_prs + 1
DO UPDATE SET assigned_prs = array_append(review_prefs.assigned_prs, $3)
WHERE review_prefs.user_id=$1";
let pr_v = vec![pr];
db.execute(q, &[&user_id, &pr_v, &pr])
Expand Down

0 comments on commit f8ff17d

Please sign in to comment.