create account

TypeScript Capabilities applied to the 'gerrit-native-notifications' by adasq

View this thread on: hive.blogpeakd.comecency.com
· @adasq ·
$65.30
TypeScript Capabilities applied to the 'gerrit-native-notifications'
# Introduction

The scope of the contribution are two PRs to my project, [gerrit-native-notifications](https://github.com/adasq/gerrit-native-notifications). Some of TypeScript capabilities has been applied to improve codebase readability and configuration process. This includes interfaces definition which represent Gerrit notification entities.

But wait... What the hell is this project about? 

# Motivation 
There is quiet popular code review platform, called [Gerrit](https://www.gerritcodereview.com/). It allow you to review project team peers code, add comments, approvals etc. In the mean time, it generates notifications which informs some actions have just happened. Here is an example of of such notification:
![image.png](https://res.cloudinary.com/hpiynhbhq/image/upload/v1511554486/jgjbaudtmlupsxo0thdq.png)


Quiet non-readable form huh? Generally speaking, sending real-time typed notifications via email are not comfortable to work with development process. I found it really disappointing in daily work. "*Why isn't it displayed as native notification?*" you might ask. Same idea has born in my mind some day - and that's why [gerrit-native-notifications](https://github.com/adasq/gerrit-native-notifications) has appeared on Github! 

# How does it work?

This is a simple service, written in `nodejs`, which receives notifications from Gerrit, parses it and displays as native notifications. So then, it looks like this:

![gerrit native notification](https://raw.githubusercontent.com/adasq/gerrit-native-notifications/master/docs/images/%20notification-example-1.png)

What's more, notifications are displayed in real-time. No delays caused by SMTP. You have received +2 approval from team peer? You are ready to merge it! Interested in comment you have just received? Clicking on the notification will redirect you to gerrit change page.

<br /><hr/><em>Posted on <a href="https://utopian.io/utopian-io/@adasq/typescript-capabilities-applied-to-the-gerrit-native-notifications">Utopian.io -  Rewarding Open Source Contributors</a></em><hr/>
👍  , , , , , , , , , , , , , , , , , , ,
properties (23)
authoradasq
permlinktypescript-capabilities-applied-to-the-gerrit-native-notifications
categoryutopian-io
json_metadata"{"community":"utopian","app":"utopian/1.0.0","format":"markdown","repository":{"id":64057245,"name":"gerrit-native-notifications","full_name":"adasq/gerrit-native-notifications","owner":{"login":"adasq","id":5637734,"avatar_url":"https://avatars2.githubusercontent.com/u/5637734?v=4","gravatar_id":"","url":"https://api.github.com/users/adasq","html_url":"https://github.com/adasq","followers_url":"https://api.github.com/users/adasq/followers","following_url":"https://api.github.com/users/adasq/following{/other_user}","gists_url":"https://api.github.com/users/adasq/gists{/gist_id}","starred_url":"https://api.github.com/users/adasq/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adasq/subscriptions","organizations_url":"https://api.github.com/users/adasq/orgs","repos_url":"https://api.github.com/users/adasq/repos","events_url":"https://api.github.com/users/adasq/events{/privacy}","received_events_url":"https://api.github.com/users/adasq/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/adasq/gerrit-native-notifications","description":"See gerrit notifications on your OS","fork":false,"url":"https://api.github.com/repos/adasq/gerrit-native-notifications","forks_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/forks","keys_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/keys{/key_id}","collaborators_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/teams","hooks_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/hooks","issue_events_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/issues/events{/number}","events_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/events","assignees_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/assignees{/user}","branches_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/branches{/branch}","tags_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/tags","blobs_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/git/refs{/sha}","trees_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/git/trees{/sha}","statuses_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/statuses/{sha}","languages_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/languages","stargazers_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/stargazers","contributors_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/contributors","subscribers_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/subscribers","subscription_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/subscription","commits_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/commits{/sha}","git_commits_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/git/commits{/sha}","comments_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/comments{/number}","issue_comment_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/issues/comments{/number}","contents_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/contents/{+path}","compare_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/compare/{base}...{head}","merges_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/merges","archive_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/downloads","issues_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/issues{/number}","pulls_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/pulls{/number}","milestones_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/milestones{/number}","notifications_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/labels{/name}","releases_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/releases{/id}","deployments_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/deployments","created_at":"2016-07-24T08:59:15Z","updated_at":"2017-10-05T17:13:11Z","pushed_at":"2017-10-08T10:19:27Z","git_url":"git://github.com/adasq/gerrit-native-notifications.git","ssh_url":"git@github.com:adasq/gerrit-native-notifications.git","clone_url":"https://github.com/adasq/gerrit-native-notifications.git","svn_url":"https://github.com/adasq/gerrit-native-notifications","homepage":null,"size":160,"stargazers_count":1,"watchers_count":1,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2,"mirror_url":null,"archived":false,"open_issues_count":1,"forks":2,"open_issues":1,"watchers":1,"default_branch":"master","score":14.497923},"pullRequests":[{"url":"https://api.github.com/repos/adasq/gerrit-native-notifications/pulls/7","id":145328868,"html_url":"https://github.com/adasq/gerrit-native-notifications/pull/7","diff_url":"https://github.com/adasq/gerrit-native-notifications/pull/7.diff","patch_url":"https://github.com/adasq/gerrit-native-notifications/pull/7.patch","issue_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/issues/7","number":7,"state":"closed","locked":false,"title":"Code refactor 2","user":{"login":"adasq","id":5637734,"avatar_url":"https://avatars2.githubusercontent.com/u/5637734?v=4","gravatar_id":"","url":"https://api.github.com/users/adasq","html_url":"https://github.com/adasq","followers_url":"https://api.github.com/users/adasq/followers","following_url":"https://api.github.com/users/adasq/following{/other_user}","gists_url":"https://api.github.com/users/adasq/gists{/gist_id}","starred_url":"https://api.github.com/users/adasq/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adasq/subscriptions","organizations_url":"https://api.github.com/users/adasq/orgs","repos_url":"https://api.github.com/users/adasq/repos","events_url":"https://api.github.com/users/adasq/events{/privacy}","received_events_url":"https://api.github.com/users/adasq/received_events","type":"User","site_admin":false},"body":"- indention fixed\r\n- code readability level improved","created_at":"2017-10-08T10:19:15Z","updated_at":"2017-10-08T10:19:27Z","closed_at":"2017-10-08T10:19:27Z","merged_at":"2017-10-08T10:19:27Z","merge_commit_sha":"5c1034ba6c6246994bdca45aadbfe12f080be06e","assignee":null,"assignees":[],"requested_reviewers":[],"milestone":null,"commits_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/pulls/7/commits","review_comments_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/pulls/7/comments","review_comment_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/pulls/comments{/number}","comments_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/issues/7/comments","statuses_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/statuses/07a62d768012eb8bfa8623d867ab3612f3afb183","head":{"label":"adasq:code-refactor-2","ref":"code-refactor-2","sha":"07a62d768012eb8bfa8623d867ab3612f3afb183","user":{"login":"adasq","id":5637734,"avatar_url":"https://avatars2.githubusercontent.com/u/5637734?v=4","gravatar_id":"","url":"https://api.github.com/users/adasq","html_url":"https://github.com/adasq","followers_url":"https://api.github.com/users/adasq/followers","following_url":"https://api.github.com/users/adasq/following{/other_user}","gists_url":"https://api.github.com/users/adasq/gists{/gist_id}","starred_url":"https://api.github.com/users/adasq/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adasq/subscriptions","organizations_url":"https://api.github.com/users/adasq/orgs","repos_url":"https://api.github.com/users/adasq/repos","events_url":"https://api.github.com/users/adasq/events{/privacy}","received_events_url":"https://api.github.com/users/adasq/received_events","type":"User","site_admin":false},"repo":{"id":64057245,"name":"gerrit-native-notifications","full_name":"adasq/gerrit-native-notifications","owner":{"login":"adasq","id":5637734,"avatar_url":"https://avatars2.githubusercontent.com/u/5637734?v=4","gravatar_id":"","url":"https://api.github.com/users/adasq","html_url":"https://github.com/adasq","followers_url":"https://api.github.com/users/adasq/followers","following_url":"https://api.github.com/users/adasq/following{/other_user}","gists_url":"https://api.github.com/users/adasq/gists{/gist_id}","starred_url":"https://api.github.com/users/adasq/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adasq/subscriptions","organizations_url":"https://api.github.com/users/adasq/orgs","repos_url":"https://api.github.com/users/adasq/repos","events_url":"https://api.github.com/users/adasq/events{/privacy}","received_events_url":"https://api.github.com/users/adasq/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/adasq/gerrit-native-notifications","description":"See gerrit notifications on your OS","fork":false,"url":"https://api.github.com/repos/adasq/gerrit-native-notifications","forks_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/forks","keys_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/keys{/key_id}","collaborators_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/teams","hooks_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/hooks","issue_events_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/issues/events{/number}","events_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/events","assignees_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/assignees{/user}","branches_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/branches{/branch}","tags_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/tags","blobs_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/git/refs{/sha}","trees_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/git/trees{/sha}","statuses_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/statuses/{sha}","languages_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/languages","stargazers_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/stargazers","contributors_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/contributors","subscribers_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/subscribers","subscription_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/subscription","commits_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/commits{/sha}","git_commits_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/git/commits{/sha}","comments_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/comments{/number}","issue_comment_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/issues/comments{/number}","contents_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/contents/{+path}","compare_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/compare/{base}...{head}","merges_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/merges","archive_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/downloads","issues_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/issues{/number}","pulls_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/pulls{/number}","milestones_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/milestones{/number}","notifications_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/labels{/name}","releases_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/releases{/id}","deployments_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/deployments","created_at":"2016-07-24T08:59:15Z","updated_at":"2017-10-05T17:13:11Z","pushed_at":"2017-10-08T10:19:27Z","git_url":"git://github.com/adasq/gerrit-native-notifications.git","ssh_url":"git@github.com:adasq/gerrit-native-notifications.git","clone_url":"https://github.com/adasq/gerrit-native-notifications.git","svn_url":"https://github.com/adasq/gerrit-native-notifications","homepage":null,"size":160,"stargazers_count":1,"watchers_count":1,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2,"mirror_url":null,"archived":false,"open_issues_count":1,"forks":2,"open_issues":1,"watchers":1,"default_branch":"master"}},"base":{"label":"adasq:master","ref":"master","sha":"911e38ccf04fe5ccf5ee10325bc1e165d30e1cff","user":{"login":"adasq","id":5637734,"avatar_url":"https://avatars2.githubusercontent.com/u/5637734?v=4","gravatar_id":"","url":"https://api.github.com/users/adasq","html_url":"https://github.com/adasq","followers_url":"https://api.github.com/users/adasq/followers","following_url":"https://api.github.com/users/adasq/following{/other_user}","gists_url":"https://api.github.com/users/adasq/gists{/gist_id}","starred_url":"https://api.github.com/users/adasq/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adasq/subscriptions","organizations_url":"https://api.github.com/users/adasq/orgs","repos_url":"https://api.github.com/users/adasq/repos","events_url":"https://api.github.com/users/adasq/events{/privacy}","received_events_url":"https://api.github.com/users/adasq/received_events","type":"User","site_admin":false},"repo":{"id":64057245,"name":"gerrit-native-notifications","full_name":"adasq/gerrit-native-notifications","owner":{"login":"adasq","id":5637734,"avatar_url":"https://avatars2.githubusercontent.com/u/5637734?v=4","gravatar_id":"","url":"https://api.github.com/users/adasq","html_url":"https://github.com/adasq","followers_url":"https://api.github.com/users/adasq/followers","following_url":"https://api.github.com/users/adasq/following{/other_user}","gists_url":"https://api.github.com/users/adasq/gists{/gist_id}","starred_url":"https://api.github.com/users/adasq/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adasq/subscriptions","organizations_url":"https://api.github.com/users/adasq/orgs","repos_url":"https://api.github.com/users/adasq/repos","events_url":"https://api.github.com/users/adasq/events{/privacy}","received_events_url":"https://api.github.com/users/adasq/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/adasq/gerrit-native-notifications","description":"See gerrit notifications on your OS","fork":false,"url":"https://api.github.com/repos/adasq/gerrit-native-notifications","forks_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/forks","keys_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/keys{/key_id}","collaborators_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/teams","hooks_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/hooks","issue_events_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/issues/events{/number}","events_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/events","assignees_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/assignees{/user}","branches_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/branches{/branch}","tags_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/tags","blobs_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/git/refs{/sha}","trees_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/git/trees{/sha}","statuses_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/statuses/{sha}","languages_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/languages","stargazers_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/stargazers","contributors_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/contributors","subscribers_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/subscribers","subscription_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/subscription","commits_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/commits{/sha}","git_commits_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/git/commits{/sha}","comments_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/comments{/number}","issue_comment_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/issues/comments{/number}","contents_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/contents/{+path}","compare_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/compare/{base}...{head}","merges_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/merges","archive_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/downloads","issues_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/issues{/number}","pulls_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/pulls{/number}","milestones_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/milestones{/number}","notifications_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/labels{/name}","releases_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/releases{/id}","deployments_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/deployments","created_at":"2016-07-24T08:59:15Z","updated_at":"2017-10-05T17:13:11Z","pushed_at":"2017-10-08T10:19:27Z","git_url":"git://github.com/adasq/gerrit-native-notifications.git","ssh_url":"git@github.com:adasq/gerrit-native-notifications.git","clone_url":"https://github.com/adasq/gerrit-native-notifications.git","svn_url":"https://github.com/adasq/gerrit-native-notifications","homepage":null,"size":160,"stargazers_count":1,"watchers_count":1,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2,"mirror_url":null,"archived":false,"open_issues_count":1,"forks":2,"open_issues":1,"watchers":1,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/adasq/gerrit-native-notifications/pulls/7"},"html":{"href":"https://github.com/adasq/gerrit-native-notifications/pull/7"},"issue":{"href":"https://api.github.com/repos/adasq/gerrit-native-notifications/issues/7"},"comments":{"href":"https://api.github.com/repos/adasq/gerrit-native-notifications/issues/7/comments"},"review_comments":{"href":"https://api.github.com/repos/adasq/gerrit-native-notifications/pulls/7/comments"},"review_comment":{"href":"https://api.github.com/repos/adasq/gerrit-native-notifications/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/adasq/gerrit-native-notifications/pulls/7/commits"},"statuses":{"href":"https://api.github.com/repos/adasq/gerrit-native-notifications/statuses/07a62d768012eb8bfa8623d867ab3612f3afb183"}},"author_association":"OWNER"},{"url":"https://api.github.com/repos/adasq/gerrit-native-notifications/pulls/6","id":145288045,"html_url":"https://github.com/adasq/gerrit-native-notifications/pull/6","diff_url":"https://github.com/adasq/gerrit-native-notifications/pull/6.diff","patch_url":"https://github.com/adasq/gerrit-native-notifications/pull/6.patch","issue_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/issues/6","number":6,"state":"closed","locked":false,"title":"Code refactor","user":{"login":"adasq","id":5637734,"avatar_url":"https://avatars2.githubusercontent.com/u/5637734?v=4","gravatar_id":"","url":"https://api.github.com/users/adasq","html_url":"https://github.com/adasq","followers_url":"https://api.github.com/users/adasq/followers","following_url":"https://api.github.com/users/adasq/following{/other_user}","gists_url":"https://api.github.com/users/adasq/gists{/gist_id}","starred_url":"https://api.github.com/users/adasq/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adasq/subscriptions","organizations_url":"https://api.github.com/users/adasq/orgs","repos_url":"https://api.github.com/users/adasq/repos","events_url":"https://api.github.com/users/adasq/events{/privacy}","received_events_url":"https://api.github.com/users/adasq/received_events","type":"User","site_admin":false},"body":"Some code refactoring has been applied:\r\n- Interfaces for Gerrit events added\r\n- Gerrit event parser logic moved to another file.\r\n- ignoring function is printed into a console, to let you know which function forced the event to be ignored","created_at":"2017-10-07T11:33:05Z","updated_at":"2017-10-07T11:55:05Z","closed_at":"2017-10-07T11:55:05Z","merged_at":"2017-10-07T11:55:05Z","merge_commit_sha":"911e38ccf04fe5ccf5ee10325bc1e165d30e1cff","assignee":null,"assignees":[],"requested_reviewers":[],"milestone":null,"commits_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/pulls/6/commits","review_comments_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/pulls/6/comments","review_comment_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/pulls/comments{/number}","comments_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/issues/6/comments","statuses_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/statuses/39e9b9786e956bc2b4adf5883f767ad04cdf30ed","head":{"label":"adasq:code-refactor","ref":"code-refactor","sha":"39e9b9786e956bc2b4adf5883f767ad04cdf30ed","user":{"login":"adasq","id":5637734,"avatar_url":"https://avatars2.githubusercontent.com/u/5637734?v=4","gravatar_id":"","url":"https://api.github.com/users/adasq","html_url":"https://github.com/adasq","followers_url":"https://api.github.com/users/adasq/followers","following_url":"https://api.github.com/users/adasq/following{/other_user}","gists_url":"https://api.github.com/users/adasq/gists{/gist_id}","starred_url":"https://api.github.com/users/adasq/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adasq/subscriptions","organizations_url":"https://api.github.com/users/adasq/orgs","repos_url":"https://api.github.com/users/adasq/repos","events_url":"https://api.github.com/users/adasq/events{/privacy}","received_events_url":"https://api.github.com/users/adasq/received_events","type":"User","site_admin":false},"repo":{"id":64057245,"name":"gerrit-native-notifications","full_name":"adasq/gerrit-native-notifications","owner":{"login":"adasq","id":5637734,"avatar_url":"https://avatars2.githubusercontent.com/u/5637734?v=4","gravatar_id":"","url":"https://api.github.com/users/adasq","html_url":"https://github.com/adasq","followers_url":"https://api.github.com/users/adasq/followers","following_url":"https://api.github.com/users/adasq/following{/other_user}","gists_url":"https://api.github.com/users/adasq/gists{/gist_id}","starred_url":"https://api.github.com/users/adasq/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adasq/subscriptions","organizations_url":"https://api.github.com/users/adasq/orgs","repos_url":"https://api.github.com/users/adasq/repos","events_url":"https://api.github.com/users/adasq/events{/privacy}","received_events_url":"https://api.github.com/users/adasq/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/adasq/gerrit-native-notifications","description":"See gerrit notifications on your OS","fork":false,"url":"https://api.github.com/repos/adasq/gerrit-native-notifications","forks_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/forks","keys_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/keys{/key_id}","collaborators_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/teams","hooks_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/hooks","issue_events_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/issues/events{/number}","events_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/events","assignees_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/assignees{/user}","branches_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/branches{/branch}","tags_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/tags","blobs_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/git/refs{/sha}","trees_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/git/trees{/sha}","statuses_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/statuses/{sha}","languages_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/languages","stargazers_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/stargazers","contributors_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/contributors","subscribers_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/subscribers","subscription_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/subscription","commits_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/commits{/sha}","git_commits_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/git/commits{/sha}","comments_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/comments{/number}","issue_comment_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/issues/comments{/number}","contents_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/contents/{+path}","compare_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/compare/{base}...{head}","merges_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/merges","archive_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/downloads","issues_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/issues{/number}","pulls_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/pulls{/number}","milestones_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/milestones{/number}","notifications_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/labels{/name}","releases_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/releases{/id}","deployments_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/deployments","created_at":"2016-07-24T08:59:15Z","updated_at":"2017-10-05T17:13:11Z","pushed_at":"2017-10-08T10:19:27Z","git_url":"git://github.com/adasq/gerrit-native-notifications.git","ssh_url":"git@github.com:adasq/gerrit-native-notifications.git","clone_url":"https://github.com/adasq/gerrit-native-notifications.git","svn_url":"https://github.com/adasq/gerrit-native-notifications","homepage":null,"size":160,"stargazers_count":1,"watchers_count":1,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2,"mirror_url":null,"archived":false,"open_issues_count":1,"forks":2,"open_issues":1,"watchers":1,"default_branch":"master"}},"base":{"label":"adasq:master","ref":"master","sha":"1c6d8c9073e5edca34274fc5770348b32d8a9f4a","user":{"login":"adasq","id":5637734,"avatar_url":"https://avatars2.githubusercontent.com/u/5637734?v=4","gravatar_id":"","url":"https://api.github.com/users/adasq","html_url":"https://github.com/adasq","followers_url":"https://api.github.com/users/adasq/followers","following_url":"https://api.github.com/users/adasq/following{/other_user}","gists_url":"https://api.github.com/users/adasq/gists{/gist_id}","starred_url":"https://api.github.com/users/adasq/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adasq/subscriptions","organizations_url":"https://api.github.com/users/adasq/orgs","repos_url":"https://api.github.com/users/adasq/repos","events_url":"https://api.github.com/users/adasq/events{/privacy}","received_events_url":"https://api.github.com/users/adasq/received_events","type":"User","site_admin":false},"repo":{"id":64057245,"name":"gerrit-native-notifications","full_name":"adasq/gerrit-native-notifications","owner":{"login":"adasq","id":5637734,"avatar_url":"https://avatars2.githubusercontent.com/u/5637734?v=4","gravatar_id":"","url":"https://api.github.com/users/adasq","html_url":"https://github.com/adasq","followers_url":"https://api.github.com/users/adasq/followers","following_url":"https://api.github.com/users/adasq/following{/other_user}","gists_url":"https://api.github.com/users/adasq/gists{/gist_id}","starred_url":"https://api.github.com/users/adasq/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adasq/subscriptions","organizations_url":"https://api.github.com/users/adasq/orgs","repos_url":"https://api.github.com/users/adasq/repos","events_url":"https://api.github.com/users/adasq/events{/privacy}","received_events_url":"https://api.github.com/users/adasq/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/adasq/gerrit-native-notifications","description":"See gerrit notifications on your OS","fork":false,"url":"https://api.github.com/repos/adasq/gerrit-native-notifications","forks_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/forks","keys_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/keys{/key_id}","collaborators_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/teams","hooks_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/hooks","issue_events_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/issues/events{/number}","events_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/events","assignees_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/assignees{/user}","branches_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/branches{/branch}","tags_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/tags","blobs_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/git/refs{/sha}","trees_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/git/trees{/sha}","statuses_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/statuses/{sha}","languages_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/languages","stargazers_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/stargazers","contributors_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/contributors","subscribers_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/subscribers","subscription_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/subscription","commits_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/commits{/sha}","git_commits_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/git/commits{/sha}","comments_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/comments{/number}","issue_comment_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/issues/comments{/number}","contents_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/contents/{+path}","compare_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/compare/{base}...{head}","merges_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/merges","archive_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/downloads","issues_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/issues{/number}","pulls_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/pulls{/number}","milestones_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/milestones{/number}","notifications_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/labels{/name}","releases_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/releases{/id}","deployments_url":"https://api.github.com/repos/adasq/gerrit-native-notifications/deployments","created_at":"2016-07-24T08:59:15Z","updated_at":"2017-10-05T17:13:11Z","pushed_at":"2017-10-08T10:19:27Z","git_url":"git://github.com/adasq/gerrit-native-notifications.git","ssh_url":"git@github.com:adasq/gerrit-native-notifications.git","clone_url":"https://github.com/adasq/gerrit-native-notifications.git","svn_url":"https://github.com/adasq/gerrit-native-notifications","homepage":null,"size":160,"stargazers_count":1,"watchers_count":1,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2,"mirror_url":null,"archived":false,"open_issues_count":1,"forks":2,"open_issues":1,"watchers":1,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/adasq/gerrit-native-notifications/pulls/6"},"html":{"href":"https://github.com/adasq/gerrit-native-notifications/pull/6"},"issue":{"href":"https://api.github.com/repos/adasq/gerrit-native-notifications/issues/6"},"comments":{"href":"https://api.github.com/repos/adasq/gerrit-native-notifications/issues/6/comments"},"review_comments":{"href":"https://api.github.com/repos/adasq/gerrit-native-notifications/pulls/6/comments"},"review_comment":{"href":"https://api.github.com/repos/adasq/gerrit-native-notifications/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/adasq/gerrit-native-notifications/pulls/6/commits"},"statuses":{"href":"https://api.github.com/repos/adasq/gerrit-native-notifications/statuses/39e9b9786e956bc2b4adf5883f767ad04cdf30ed"}},"author_association":"OWNER"}],"platform":"github","type":"development","tags":["utopian-io","gerrit","nodejs","notifications","native"],"links":["https://github.com/adasq/gerrit-native-notifications","https://www.gerritcodereview.com/","https://res.cloudinary.com/hpiynhbhq/image/upload/v1511554486/jgjbaudtmlupsxo0thdq.png","https://raw.githubusercontent.com/adasq/gerrit-native-notifications/master/docs/images/%20notification-example-1.png"],"image":["https://res.cloudinary.com/hpiynhbhq/image/upload/v1511554486/jgjbaudtmlupsxo0thdq.png","https://raw.githubusercontent.com/adasq/gerrit-native-notifications/master/docs/images/%20notification-example-1.png"]}"
created2017-11-24 20:32:51
last_update2017-11-24 20:32:51
depth0
children4
last_payout2017-12-01 20:32:51
cashout_time1969-12-31 23:59:59
total_payout_value46.156 HBD
curator_payout_value19.148 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length2,066
author_reputation17,083,257,821,007
root_title"TypeScript Capabilities applied to the 'gerrit-native-notifications'"
beneficiaries
0.
accountespoem
weight99
1.
accountfreedom
weight658
2.
accountmisterdelegation
weight548
3.
accountned
weight543
4.
accountruah
weight61
5.
accounttransisto
weight70
6.
accountwackou
weight53
7.
accountxeldal
weight27
max_accepted_payout1,000,000.000 HBD
percent_hbd5,000
post_id21,424,611
net_rshares33,295,493,247,093
author_curate_reward""
vote details (20)
@mcfarhat ·
Thank you for the contribution. It has been approved.

You can contact us on [Discord](https://discord.gg/UCvqCsx).
**[[utopian-moderator]](https://utopian.io/moderators)**
properties (22)
authormcfarhat
permlinkre-adasq-typescript-capabilities-applied-to-the-gerrit-native-notifications-20171125t101410386z
categoryutopian-io
json_metadata{"tags":["utopian-io"],"community":"utopian","app":"utopian/1.0.0"}
created2017-11-25 10:14:18
last_update2017-11-25 10:14:18
depth1
children0
last_payout2017-12-02 10:14:18
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length172
author_reputation150,651,671,367,256
root_title"TypeScript Capabilities applied to the 'gerrit-native-notifications'"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id21,470,586
net_rshares0
@steemitboard ·
Congratulations @adasq! You have completed some achievement on Steemit and have been rewarded with new badge(s) :

[![](https://steemitimages.com/70x80/http://steemitboard.com/notifications/firstpayout.png)](http://steemitboard.com/@adasq) You got your First payout

Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click [here](https://steemit.com/@steemitboard)

If you no longer want to receive notifications, reply to this comment with the word `STOP`

> By upvoting this notification, you can help all Steemit users. Learn how [here](https://steemit.com/steemitboard/@steemitboard/http-i-cubeupload-com-7ciqeo-png)!
properties (22)
authorsteemitboard
permlinksteemitboard-notify-adasq-20171126t012547000z
categoryutopian-io
json_metadata{"image":["https://steemitboard.com/img/notifications.png"]}
created2017-11-26 01:25:45
last_update2017-11-26 01:25:45
depth1
children0
last_payout2017-12-03 01:25:45
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length680
author_reputation38,975,615,169,260
root_title"TypeScript Capabilities applied to the 'gerrit-native-notifications'"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id21,529,941
net_rshares0
@steemitboard ·
Congratulations @adasq! You have completed some achievement on Steemit and have been rewarded with new badge(s) :

[![](https://steemitimages.com/70x80/http://steemitboard.com/notifications/payout.png)](http://steemitboard.com/@adasq) Award for the total payout received

Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click [here](https://steemit.com/@steemitboard)

If you no longer want to receive notifications, reply to this comment with the word `STOP`

> By upvoting this notification, you can help all Steemit users. Learn how [here](https://steemit.com/steemitboard/@steemitboard/http-i-cubeupload-com-7ciqeo-png)!
properties (22)
authorsteemitboard
permlinksteemitboard-notify-adasq-20171126t214602000z
categoryutopian-io
json_metadata{"image":["https://steemitboard.com/img/notifications.png"]}
created2017-11-26 21:46:00
last_update2017-11-26 21:46:00
depth1
children0
last_payout2017-12-03 21:46:00
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length685
author_reputation38,975,615,169,260
root_title"TypeScript Capabilities applied to the 'gerrit-native-notifications'"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id21,612,611
net_rshares0
@utopian-io ·
### Hey @adasq I am @utopian-io. I have just upvoted you at 27% Power!
#### Achievements
- You have less than 500 followers. Just gave you a gift to help you succeed!
- Seems like you contribute quite often. AMAZING!
#### Community-Driven Witness!
I am the first and only Steem Community-Driven Witness. <a href="https://discord.gg/zTrEMqB">Participate on Discord</a>. Lets GROW TOGETHER!
- <a href="https://v2.steemconnect.com/sign/account-witness-vote?witness=utopian-io&approve=1">Vote for my Witness With SteemConnect</a>
- <a href="https://v2.steemconnect.com/sign/account-witness-proxy?proxy=utopian-io&approve=1">Proxy vote to Utopian Witness with SteemConnect</a>
- Or vote/proxy on <a href="https://steemit.com/~witnesses">Steemit Witnesses</a>

[![mooncryption-utopian-witness-gif](https://steemitimages.com/DQmYPUuQRptAqNBCQRwQjKWAqWU3zJkL3RXVUtEKVury8up/mooncryption-s-utopian-io-witness-gif.gif)](https://steemit.com/~witnesses)

**Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x**
properties (22)
authorutopian-io
permlinkre-adasq-typescript-capabilities-applied-to-the-gerrit-native-notifications-20171125t131006899z
categoryutopian-io
json_metadata{"tags":["utopian-io"],"community":"utopian","app":"utopian/1.0.0"}
created2017-11-25 13:10:06
last_update2017-11-25 13:10:06
depth1
children0
last_payout2017-12-02 13:10:06
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length1,094
author_reputation152,955,367,999,756
root_title"TypeScript Capabilities applied to the 'gerrit-native-notifications'"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id21,481,861
net_rshares0