From 48f2d024fed385582cefff05b283538f5e8b1c38 Mon Sep 17 00:00:00 2001 From: Teemu Patja Date: Thu, 9 Nov 2017 16:55:40 +0200 Subject: [PATCH] Show pending payouts with missing address in activity --- ...4844-user-has-address-to-activity.down.sql | 0 ...164844-user-has-address-to-activity.up.sql | 79 +++++++++++++++++++ resources/sql/queries.sql | 1 + src/clj/commiteth/routes/services.clj | 19 ++--- src/cljs/commiteth/activity.cljs | 8 +- 5 files changed, 96 insertions(+), 11 deletions(-) create mode 100644 resources/migrations/20171109164844-user-has-address-to-activity.down.sql create mode 100644 resources/migrations/20171109164844-user-has-address-to-activity.up.sql diff --git a/resources/migrations/20171109164844-user-has-address-to-activity.down.sql b/resources/migrations/20171109164844-user-has-address-to-activity.down.sql new file mode 100644 index 0000000..e69de29 diff --git a/resources/migrations/20171109164844-user-has-address-to-activity.up.sql b/resources/migrations/20171109164844-user-has-address-to-activity.up.sql new file mode 100644 index 0000000..c516fe5 --- /dev/null +++ b/resources/migrations/20171109164844-user-has-address-to-activity.up.sql @@ -0,0 +1,79 @@ +DROP VIEW "public"."claims_view" CASCADE; + +CREATE VIEW "public"."claims_view" AS SELECT i.title AS issue_title, + i.issue_number, + r.repo AS repo_name, + r.owner AS repo_owner, + COALESCE(u.name, u.login) AS user_name, + u.avatar_url AS user_avatar_url, + i.payout_receipt, + p.updated, + i.updated AS issue_updated, + i.balance_eth, + i.tokens, + i.value_usd, + p.state AS pr_state, + i.is_open AS issue_open, + (case when u.address IS NULL THEN false ELSE true END) AS user_has_address + FROM issues i, + users u, + repositories r, + pull_requests p + WHERE r.repo_id = i.repo_id + AND p.issue_id = i.issue_id + AND p.user_id = u.id + AND i.contract_address IS NOT NULL + AND i.comment_id IS NOT NULL + ORDER BY p.updated; + + +CREATE OR REPLACE VIEW "public"."activity_feed_view" AS + SELECT 'open-claim'::text AS type, + claims_view.issue_title, + claims_view.repo_name, + claims_view.repo_owner, + claims_view.issue_number, + claims_view.user_name, + claims_view.user_avatar_url, + claims_view.balance_eth, + claims_view.tokens, + claims_view.value_usd, + claims_view.user_has_address, + claims_view.updated + FROM claims_view + WHERE claims_view.pr_state = 0 + AND claims_view.payout_receipt IS NULL + AND claims_view.issue_open IS TRUE +UNION + SELECT 'claim-pending'::text AS type, + claims_view.issue_title, + claims_view.repo_name, + claims_view.repo_owner, + claims_view.issue_number, + claims_view.user_name, + claims_view.user_avatar_url, + claims_view.balance_eth, + claims_view.tokens, + claims_view.value_usd, + claims_view.user_has_address, + claims_view.issue_updated AS updated + FROM claims_view + WHERE claims_view.pr_state = 1 + AND claims_view.payout_receipt IS NULL +UNION + SELECT 'claim-payout'::text AS type, + claims_view.issue_title, + claims_view.repo_name, + claims_view.repo_owner, + claims_view.issue_number, + claims_view.user_name, + claims_view.user_avatar_url, + claims_view.balance_eth, + claims_view.tokens, + claims_view.value_usd, + claims_view.user_has_address, + claims_view.issue_updated AS updated + FROM claims_view + WHERE claims_view.pr_state = 1 + AND claims_view.payout_receipt IS NOT NULL + ORDER BY 12 DESC; diff --git a/resources/sql/queries.sql b/resources/sql/queries.sql index 976c928..a95f34b 100644 --- a/resources/sql/queries.sql +++ b/resources/sql/queries.sql @@ -571,6 +571,7 @@ SELECT balance_eth, tokens, value_usd, + user_has_address, updated FROM activity_feed_view ORDER BY updated DESC diff --git a/src/clj/commiteth/routes/services.clj b/src/clj/commiteth/routes/services.clj index 379e254..d8d6207 100644 --- a/src/clj/commiteth/routes/services.clj +++ b/src/clj/commiteth/routes/services.clj @@ -147,15 +147,16 @@ (defn prettify-bounty-items [bounty-items] (let [renames {:user_name :display-name - :user_avatar_url :avatar-url - :issue_title :issue-title - :type :item-type - :repo_name :repo-name - :repo_owner :repo-owner - :issue_number :issue-number - :value_usd :value-usd - :claim_count :claim-count - :balance_eth :balance-eth}] + :user_avatar_url :avatar-url + :issue_title :issue-title + :type :item-type + :repo_name :repo-name + :repo_owner :repo-owner + :issue_number :issue-number + :value_usd :value-usd + :claim_count :claim-count + :balance_eth :balance-eth + :user_has_address :user-has-address}] (map #(-> % (rename-keys renames) (update :value-usd usd-decimal->str) diff --git a/src/cljs/commiteth/activity.cljs b/src/cljs/commiteth/activity.cljs index 8c1ba94..36f4162 100644 --- a/src/cljs/commiteth/activity.cljs +++ b/src/cljs/commiteth/activity.cljs @@ -11,7 +11,8 @@ item-type repo-owner repo-name - issue-number] :as item}] + issue-number + user-has-address] :as item}] (let [issue-link [:a {:href (issue-url repo-owner repo-name issue-number)} issue-title]] @@ -21,7 +22,10 @@ " for " issue-link] "open-claim" [:div "Submitted a claim for " issue-link] "balance-update" [:div issue-link " bounty increased to USD " value-usd] - "claim-pending" [:div "Won USD " value-usd " for " issue-link " (payout pending maintainer confirmation)"] + "claim-pending" [:div "Won USD " value-usd " for " issue-link + (if user-has-address + " (payout pending maintainer confirmation)" + " (payout pending user to update ETH address)")] "")))