{"action":"created","comment":{"url":"https://api.github.com/repos/revaturecloud/servicehub-user/pulls/comments/212728725","pull_request_review_id":149428021,"id":212728725,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIxMjcyODcyNQ==","diff_hunk":"@@ -18,16 +20,392 @@ public class UserController : BaseController\n     {\n         private readonly IUserRepository _userRepository;\n         private readonly IQueueFactory _queues;\n+        private readonly IQueueClient queueSender;\n+        private readonly IQueueClient queueReceiver;\n+        private static readonly string sendQueueName = \"usertohs\";\n+        private static readonly string receiveQueueName = \"hstouser\";\n \n         public UserController(IUserRepository userRepository,\n                               ILoggerFactory loggerFactory,\n                               IQueueFactory queues)\n           : base(loggerFactory)\n         {\n-            \n             _userRepository = userRepository;\n             _queues = queues;\n+            //if statement used for testing\n+            if (queues != null)\n+            {\n+                queueSender = _queues.GetQueueClient(sendQueueName);\n+                queueReceiver = _queues.GetQueueClient(receiveQueueName);\n+                queueReceiver.RegisterMessageHandler(\n+                MessageHandler,\n+                BusError);\n+            }\n+        }\n+\n+        public async Task BusError(ExceptionReceivedEventArgs e)\n+        {\n+            logger.LogError(e.Exception, \"Error receiving message\");\n+            Message msg = new Message();\n+            msg.Body = Encoding.UTF8.GetBytes(\"Error receiving message from service bus queue\");\n+            msg.Label = \"500\";\n+            msg.CorrelationId = \"Error\";\n+            await queueSender.SendAsync(msg);\n+        }\n+\n+        public async Task MessageHandler(Message message, System.Threading.CancellationToken token)\n+        {\n+            await queueReceiver.CompleteAsync(message.SystemProperties.LockToken);\n+            Message msg = await MessageRouter(message);\n+            await queueSender.SendAsync(msg);\n+        }\n \n+        public async Task<Message> MessageRouter(Message message)\n+        { \n+            Message response = new Message();\n+            switch (message.Label)\n+            {\n+                case \"Get\":\n+                    response = await GetQ(message);\n+                    break;\n+                case \"GetById\":\n+                    response = await GetByIdQ(message);\n+                    break;\n+                case \"GetByGender\":\n+                    response = await GetByGenderQ(message);\n+                    break;\n+                case \"GetByType\":\n+                    response = await GetByTypeQ(message);\n+                    break;\n+                case \"Post\":\n+                    response = await PostQ(message);\n+                    break;\n+                case \"Put\":\n+                    response = await PutQ(message);\n+                    break;\n+                default:\n+                    response.Label = \"404\";\n+                    response.Body = Encoding.UTF8.GetBytes(\"Invalid Label\");\n+                    response.CorrelationId = message.MessageId;\n+                    break;\n+            }\n+            return response;\n+        }\n+\n+        public async Task<Message> GetQ(Message message)\n+        {\n+            Message msg;\n+            try\n+            {\n+                msg = new Message();\n+                if (message.MessageId == null)\n+                    return null;\n+                msg.CorrelationId = message.MessageId;\n+                var users = await _userRepository.GetAsync();\n+                var libUsers = UserModelMapper.List_ContextToLibrary(users);\n+                if(libUsers == null)\n+                {\n+                    logger.LogError(\"One or more users in the db were invalid.\");\n+                    msg.Label = \"404\";\n+                    msg.Body = Encoding.UTF8.GetBytes(\"One or more users in the db were invalid\");\n+                    return msg;\n+                }\n+\n+                string body = JsonConvert.SerializeObject(libUsers);\n+                msg.Label = \"200\";\n+                msg.Body = Encoding.UTF8.GetBytes(body);\n+                return msg;\n+            }\n+            catch (Exception e)\n+            {\n+                msg = new Message();\n+                if (message.MessageId == null)\n+                    return null;\n+                msg.CorrelationId = message.MessageId;\n+                logger.LogError(e.ToString(), \"Failed to add  to bus\");\n+                msg.Label = \"500\";\n+                msg.Body = Encoding.UTF8.GetBytes(\"Internal Server Error\");\n+                return msg;\n+            }\n+        }\n+\n+        public async Task<Message> GetByIdQ(Message message)\n+        {\n+            Message msg;\n+            try\n+            {\n+                msg = new Message();\n+                Guid id = Guid.Parse(Encoding.UTF8.GetString(message.Body));\n+                if (message.MessageId == null)\n+                    return null;\n+                msg.CorrelationId = message.MessageId;\n+                var libraryUser = UserModelMapper.ContextToLibrary(await _userRepository.GetByIdAsync(id));\n+                if (libraryUser == null)\n+                {\n+                    logger.LogError(\"Library user model was null.\");\n+                    msg.Label = \"404\";\n+                    msg.Body = Encoding.UTF8.GetBytes(\"Library user model was null.\");\n+                    return msg;\n+                }\n+                msg.Label = \"200\";\n+                msg.Body = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(libraryUser));\n+                return msg;\n+            }\n+            catch (Exception e)\n+            {\n+                msg = new Message();\n+                if (message.MessageId == null)\n+                    return null;\n+                msg.CorrelationId = message.MessageId;\n+                logger.LogError(e, \"Resource was not found in database.\");\n+                msg.Label = \"404\";\n+                msg.Body = Encoding.UTF8.GetBytes(\"Not Found\");\n+                return msg;\n+            }\n+        }\n+\n+        public async Task<Message> GetByGenderQ(Message message)\n+        {\n+            Message msg;\n+            try\n+            {\n+                msg = new Message();\n+                if (message.MessageId == null)\n+                    return null;\n+                msg.CorrelationId = message.MessageId;\n+                string gender = Encoding.UTF8.GetString(message.Body).ToUpper();\n+                string[] genders = ServiceHub.User.Library.Models.User.ValidUppercaseGenders;\n+                bool validGender = false;\n+\n+                foreach (var x in genders)\n+                {\n+                    if (gender == x)\n+                    {\n+                        validGender = true;\n+                    }\n+                }\n+\n+                if (!validGender)\n+                {\n+                    logger.LogError($\"Invalid Gender was input, {gender}.  \");\n+                    msg.Body = Encoding.UTF8.GetBytes($\"Invalid Gender: {gender}.\");\n+                    msg.Label = \"400\";\n+                    return msg;\n+                }\n+                else\n+                {\n+                    var users = await _userRepository.GetAsync();\n+                    var GUsers = new List<ServiceHub.User.Library.Models.User>();\n+\n+                    foreach (var x in users)\n+                    {\n+                        if (x.Gender.ToUpper() == gender)\n+                        {\n+                            var libraryUser = UserModelMapper.ContextToLibrary(x);\n+                            if (libraryUser == null)\n+                            {\n+                                logger.LogError(\"Library User model was null.\");\n+                                msg.Body = Encoding.UTF8.GetBytes(\"Library user model was null.\");\n+                                msg.Label = \"500\";\n+                                return msg;\n+                            }\n+                            GUsers.Add(libraryUser);\n+                        }\n+                    }\n+                    msg.Body = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(GUsers));\n+                    msg.Label = \"200\";\n+                    return msg;\n+                }\n+            }\n+            catch (Exception e)\n+            {\n+                msg = new Message();\n+                if (message.MessageId == null)\n+                    return null;\n+                msg.CorrelationId = message.MessageId;\n+                logger.LogError(e, \"GetByGender threw exception\");\n+                msg.Label = \"500\";\n+                msg.Body = Encoding.UTF8.GetBytes(\"GetByGenderQ threw exception\");\n+                return msg;\n+            }\n+        }\n+\n+        public async Task<Message> GetByTypeQ(Message message)\n+        {\n+            Message msg;\n+            \n+            try\n+            {\n+                msg = new Message();\n+                if (message.MessageId == null)\n+                    return null;\n+                msg.CorrelationId = message.MessageId;\n+                string type = Encoding.UTF8.GetString(message.Body);\n+                if (type == null)\n+                {\n+                    logger.LogError(\"Null Type was input\");\n+                    msg.Label = \"400\";\n+                    msg.Body = Encoding.UTF8.GetBytes(\"Null type was input\");\n+                    return msg;\n+                }\n+                bool isValidType = false;\n+                foreach (var validType in Library.Models.User.ValidUppercaseTypes)\n+                {\n+                    if (type.ToUpper() == validType) { isValidType = true; }\n+                }\n+                if (!isValidType)\n+                {\n+                    logger.LogError(\"Invalid Type was input\");\n+                    msg.Label = \"400\";\n+                    msg.Body = Encoding.UTF8.GetBytes(\"Invalid type was input\");\n+                    return msg;\n+                }\n+\n+                var users = await _userRepository.GetAsync();\n+                var contextUsers = new List<Context.Models.User>();\n+                foreach (var contextUser in users)\n+                {\n+                    if (contextUser.Type.ToUpper() == type.ToUpper())\n+                    {\n+                        contextUsers.Add(contextUser);\n+                    }\n+                }\n+                var libraryUsers = UserModelMapper.List_ContextToLibrary(contextUsers);\n+                msg.Label = \"200\";\n+                msg.Body = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(libraryUsers));\n+                return msg;\n+            }\n+            catch (Exception e)\n+            {\n+                msg = new Message();\n+                if (message.MessageId == null)\n+                    return null;\n+                msg.CorrelationId = message.MessageId;\n+                logger.LogError(e, \"Failed to access users by Type\");\n+                msg.Body = Encoding.UTF8.GetBytes(\"Internal Server Error\");\n+                msg.Label = \"500\";\n+                return msg;\n+            }\n+        }\n+\n+        public async Task<Message> PostQ(Message message)\n+        {\n+            Message msg;\n+            try\n+            {\n+                msg = new Message();\n+                if (message.MessageId == null)\n+                    return null;\n+                msg.CorrelationId = message.MessageId;\n+                lib.User user = JsonConvert.DeserializeObject<lib.User>(Encoding.UTF8.GetString(message.Body));\n+                if (user == null)\n+                {\n+                    logger.LogError(\"User is null.\");\n+                    msg.Body = Encoding.UTF8.GetBytes(\"User is null\");\n+                    msg.Label = \"400\";\n+                    return msg;\n+                }\n+                user.UserId = Guid.NewGuid();\n+                var contextUser = UserModelMapper.LibraryToContext(user);\n+\n+                if (contextUser == null)\n+                {\n+                    logger.LogError(\"Context User is null.\");\n+                    msg.Body = Encoding.UTF8.GetBytes(\"Context User is null.\");\n+                    msg.Label = \"400\";\n+                    return msg;\n+                }\n+                await _userRepository.InsertAsync(contextUser);\n+                msg.Body = Encoding.UTF8.GetBytes(\"Added to DB\");\n+                msg.Label = \"200\";\n+                return msg;\n+            }\n+            catch (Exception e)\n+            {\n+                msg = new Message();\n+                if (message.MessageId == null)\n+                    return null;\n+                msg.CorrelationId = message.MessageId;\n+                logger.LogError(e, \"Exception thrown during Post\");\n+                msg.Body = Encoding.UTF8.GetBytes(\"Exception thrown during Post\");\n+                msg.Label = \"500\";\n+                return msg;\n+            }\n+        }\n+\n+        public async Task<Message> PutQ(Message message)","path":"src/ServiceHub.User.Service/Controllers/UserController.cs","position":332,"original_position":332,"commit_id":"1c7ee163db4795a769cf8c0f642f2828a15217a0","original_commit_id":"1c7ee163db4795a769cf8c0f642f2828a15217a0","user":{"login":"fredbelotte","id":22018714,"node_id":"MDQ6VXNlcjIyMDE4NzE0","avatar_url":"https://avatars3.githubusercontent.com/u/22018714?v=4","gravatar_id":"","url":"https://api.github.com/users/fredbelotte","html_url":"https://github.com/fredbelotte","followers_url":"https://api.github.com/users/fredbelotte/followers","following_url":"https://api.github.com/users/fredbelotte/following{/other_user}","gists_url":"https://api.github.com/users/fredbelotte/gists{/gist_id}","starred_url":"https://api.github.com/users/fredbelotte/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fredbelotte/subscriptions","organizations_url":"https://api.github.com/users/fredbelotte/orgs","repos_url":"https://api.github.com/users/fredbelotte/repos","events_url":"https://api.github.com/users/fredbelotte/events{/privacy}","received_events_url":"https://api.github.com/users/fredbelotte/received_events","type":"User","site_admin":false},"body":"![Code Smell](https://sonarsource.github.io/sonar-github/code_smell.png 'Code Smell') Code Smell: Refactor this method to reduce its Cognitive Complexity from 16 to the 15 allowed. ([csharpsquid:S3776](https://sonarcloud.io/organizations/revaturecloud/rules#rule_key=csharpsquid%3AS3776))\n\n[See it in SonarCloud](https://sonarcloud.io/project/issues?id=servicehub%3Auser&pullRequest=95&issues=AWVtVKHOXKENQn1SquHL&open=AWVtVKHOXKENQn1SquHL)\n\n[ISSUE_KEY]: AWVtVKHOXKENQn1SquHL","created_at":"2018-08-24T19:14:31Z","updated_at":"2018-08-24T19:14:31Z","html_url":"https://github.com/revaturecloud/servicehub-user/pull/95#discussion_r212728725","pull_request_url":"https://api.github.com/repos/revaturecloud/servicehub-user/pulls/95","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/revaturecloud/servicehub-user/pulls/comments/212728725"},"html":{"href":"https://github.com/revaturecloud/servicehub-user/pull/95#discussion_r212728725"},"pull_request":{"href":"https://api.github.com/repos/revaturecloud/servicehub-user/pulls/95"}}},"pull_request":{"url":"https://api.github.com/repos/revaturecloud/servicehub-user/pulls/95","id":209849854,"node_id":"MDExOlB1bGxSZXF1ZXN0MjA5ODQ5ODU0","html_url":"https://github.com/revaturecloud/servicehub-user/pull/95","diff_url":"https://github.com/revaturecloud/servicehub-user/pull/95.diff","patch_url":"https://github.com/revaturecloud/servicehub-user/pull/95.patch","issue_url":"https://api.github.com/repos/revaturecloud/servicehub-user/issues/95","number":95,"state":"open","locked":false,"title":"add messaging queue implementation","user":{"login":"KyleTTownsend","id":38804635,"node_id":"MDQ6VXNlcjM4ODA0NjM1","avatar_url":"https://avatars3.githubusercontent.com/u/38804635?v=4","gravatar_id":"","url":"https://api.github.com/users/KyleTTownsend","html_url":"https://github.com/KyleTTownsend","followers_url":"https://api.github.com/users/KyleTTownsend/followers","following_url":"https://api.github.com/users/KyleTTownsend/following{/other_user}","gists_url":"https://api.github.com/users/KyleTTownsend/gists{/gist_id}","starred_url":"https://api.github.com/users/KyleTTownsend/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/KyleTTownsend/subscriptions","organizations_url":"https://api.github.com/users/KyleTTownsend/orgs","repos_url":"https://api.github.com/users/KyleTTownsend/repos","events_url":"https://api.github.com/users/KyleTTownsend/events{/privacy}","received_events_url":"https://api.github.com/users/KyleTTownsend/received_events","type":"User","site_admin":false},"body":"","created_at":"2018-08-21T14:39:36Z","updated_at":"2018-08-24T19:14:31Z","closed_at":null,"merged_at":null,"merge_commit_sha":"21ce7d2748280609cad2f416ddf6790c4149d58c","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/revaturecloud/servicehub-user/pulls/95/commits","review_comments_url":"https://api.github.com/repos/revaturecloud/servicehub-user/pulls/95/comments","review_comment_url":"https://api.github.com/repos/revaturecloud/servicehub-user/pulls/comments{/number}","comments_url":"https://api.github.com/repos/revaturecloud/servicehub-user/issues/95/comments","statuses_url":"https://api.github.com/repos/revaturecloud/servicehub-user/statuses/1c7ee163db4795a769cf8c0f642f2828a15217a0","head":{"label":"revaturecloud:159827472-add-messaging-queue-implementation","ref":"159827472-add-messaging-queue-implementation","sha":"1c7ee163db4795a769cf8c0f642f2828a15217a0","user":{"login":"revaturecloud","id":36998744,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM2OTk4NzQ0","avatar_url":"https://avatars3.githubusercontent.com/u/36998744?v=4","gravatar_id":"","url":"https://api.github.com/users/revaturecloud","html_url":"https://github.com/revaturecloud","followers_url":"https://api.github.com/users/revaturecloud/followers","following_url":"https://api.github.com/users/revaturecloud/following{/other_user}","gists_url":"https://api.github.com/users/revaturecloud/gists{/gist_id}","starred_url":"https://api.github.com/users/revaturecloud/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/revaturecloud/subscriptions","organizations_url":"https://api.github.com/users/revaturecloud/orgs","repos_url":"https://api.github.com/users/revaturecloud/repos","events_url":"https://api.github.com/users/revaturecloud/events{/privacy}","received_events_url":"https://api.github.com/users/revaturecloud/received_events","type":"Organization","site_admin":false},"repo":{"id":131664524,"node_id":"MDEwOlJlcG9zaXRvcnkxMzE2NjQ1MjQ=","name":"servicehub-user","full_name":"revaturecloud/servicehub-user","owner":{"login":"revaturecloud","id":36998744,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM2OTk4NzQ0","avatar_url":"https://avatars3.githubusercontent.com/u/36998744?v=4","gravatar_id":"","url":"https://api.github.com/users/revaturecloud","html_url":"https://github.com/revaturecloud","followers_url":"https://api.github.com/users/revaturecloud/followers","following_url":"https://api.github.com/users/revaturecloud/following{/other_user}","gists_url":"https://api.github.com/users/revaturecloud/gists{/gist_id}","starred_url":"https://api.github.com/users/revaturecloud/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/revaturecloud/subscriptions","organizations_url":"https://api.github.com/users/revaturecloud/orgs","repos_url":"https://api.github.com/users/revaturecloud/repos","events_url":"https://api.github.com/users/revaturecloud/events{/privacy}","received_events_url":"https://api.github.com/users/revaturecloud/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/revaturecloud/servicehub-user","description":"the person api.","fork":false,"url":"https://api.github.com/repos/revaturecloud/servicehub-user","forks_url":"https://api.github.com/repos/revaturecloud/servicehub-user/forks","keys_url":"https://api.github.com/repos/revaturecloud/servicehub-user/keys{/key_id}","collaborators_url":"https://api.github.com/repos/revaturecloud/servicehub-user/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/revaturecloud/servicehub-user/teams","hooks_url":"https://api.github.com/repos/revaturecloud/servicehub-user/hooks","issue_events_url":"https://api.github.com/repos/revaturecloud/servicehub-user/issues/events{/number}","events_url":"https://api.github.com/repos/revaturecloud/servicehub-user/events","assignees_url":"https://api.github.com/repos/revaturecloud/servicehub-user/assignees{/user}","branches_url":"https://api.github.com/repos/revaturecloud/servicehub-user/branches{/branch}","tags_url":"https://api.github.com/repos/revaturecloud/servicehub-user/tags","blobs_url":"https://api.github.com/repos/revaturecloud/servicehub-user/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/revaturecloud/servicehub-user/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/revaturecloud/servicehub-user/git/refs{/sha}","trees_url":"https://api.github.com/repos/revaturecloud/servicehub-user/git/trees{/sha}","statuses_url":"https://api.github.com/repos/revaturecloud/servicehub-user/statuses/{sha}","languages_url":"https://api.github.com/repos/revaturecloud/servicehub-user/languages","stargazers_url":"https://api.github.com/repos/revaturecloud/servicehub-user/stargazers","contributors_url":"https://api.github.com/repos/revaturecloud/servicehub-user/contributors","subscribers_url":"https://api.github.com/repos/revaturecloud/servicehub-user/subscribers","subscription_url":"https://api.github.com/repos/revaturecloud/servicehub-user/subscription","commits_url":"https://api.github.com/repos/revaturecloud/servicehub-user/commits{/sha}","git_commits_url":"https://api.github.com/repos/revaturecloud/servicehub-user/git/commits{/sha}","comments_url":"https://api.github.com/repos/revaturecloud/servicehub-user/comments{/number}","issue_comment_url":"https://api.github.com/repos/revaturecloud/servicehub-user/issues/comments{/number}","contents_url":"https://api.github.com/repos/revaturecloud/servicehub-user/contents/{+path}","compare_url":"https://api.github.com/repos/revaturecloud/servicehub-user/compare/{base}...{head}","merges_url":"https://api.github.com/repos/revaturecloud/servicehub-user/merges","archive_url":"https://api.github.com/repos/revaturecloud/servicehub-user/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/revaturecloud/servicehub-user/downloads","issues_url":"https://api.github.com/repos/revaturecloud/servicehub-user/issues{/number}","pulls_url":"https://api.github.com/repos/revaturecloud/servicehub-user/pulls{/number}","milestones_url":"https://api.github.com/repos/revaturecloud/servicehub-user/milestones{/number}","notifications_url":"https://api.github.com/repos/revaturecloud/servicehub-user/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/revaturecloud/servicehub-user/labels{/name}","releases_url":"https://api.github.com/repos/revaturecloud/servicehub-user/releases{/id}","deployments_url":"https://api.github.com/repos/revaturecloud/servicehub-user/deployments","created_at":"2018-05-01T01:30:39Z","updated_at":"2018-08-14T19:52:20Z","pushed_at":"2018-08-24T19:12:50Z","git_url":"git://github.com/revaturecloud/servicehub-user.git","ssh_url":"git@github.com:revaturecloud/servicehub-user.git","clone_url":"https://github.com/revaturecloud/servicehub-user.git","svn_url":"https://github.com/revaturecloud/servicehub-user","homepage":null,"size":1123,"stargazers_count":2,"watchers_count":2,"language":"C#","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":2,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":2,"open_issues":2,"watchers":2,"default_branch":"master"}},"base":{"label":"revaturecloud:broker","ref":"broker","sha":"d9067ef401a78aab67d960e13d771fafd7dda21c","user":{"login":"revaturecloud","id":36998744,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM2OTk4NzQ0","avatar_url":"https://avatars3.githubusercontent.com/u/36998744?v=4","gravatar_id":"","url":"https://api.github.com/users/revaturecloud","html_url":"https://github.com/revaturecloud","followers_url":"https://api.github.com/users/revaturecloud/followers","following_url":"https://api.github.com/users/revaturecloud/following{/other_user}","gists_url":"https://api.github.com/users/revaturecloud/gists{/gist_id}","starred_url":"https://api.github.com/users/revaturecloud/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/revaturecloud/subscriptions","organizations_url":"https://api.github.com/users/revaturecloud/orgs","repos_url":"https://api.github.com/users/revaturecloud/repos","events_url":"https://api.github.com/users/revaturecloud/events{/privacy}","received_events_url":"https://api.github.com/users/revaturecloud/received_events","type":"Organization","site_admin":false},"repo":{"id":131664524,"node_id":"MDEwOlJlcG9zaXRvcnkxMzE2NjQ1MjQ=","name":"servicehub-user","full_name":"revaturecloud/servicehub-user","owner":{"login":"revaturecloud","id":36998744,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM2OTk4NzQ0","avatar_url":"https://avatars3.githubusercontent.com/u/36998744?v=4","gravatar_id":"","url":"https://api.github.com/users/revaturecloud","html_url":"https://github.com/revaturecloud","followers_url":"https://api.github.com/users/revaturecloud/followers","following_url":"https://api.github.com/users/revaturecloud/following{/other_user}","gists_url":"https://api.github.com/users/revaturecloud/gists{/gist_id}","starred_url":"https://api.github.com/users/revaturecloud/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/revaturecloud/subscriptions","organizations_url":"https://api.github.com/users/revaturecloud/orgs","repos_url":"https://api.github.com/users/revaturecloud/repos","events_url":"https://api.github.com/users/revaturecloud/events{/privacy}","received_events_url":"https://api.github.com/users/revaturecloud/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/revaturecloud/servicehub-user","description":"the person api.","fork":false,"url":"https://api.github.com/repos/revaturecloud/servicehub-user","forks_url":"https://api.github.com/repos/revaturecloud/servicehub-user/forks","keys_url":"https://api.github.com/repos/revaturecloud/servicehub-user/keys{/key_id}","collaborators_url":"https://api.github.com/repos/revaturecloud/servicehub-user/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/revaturecloud/servicehub-user/teams","hooks_url":"https://api.github.com/repos/revaturecloud/servicehub-user/hooks","issue_events_url":"https://api.github.com/repos/revaturecloud/servicehub-user/issues/events{/number}","events_url":"https://api.github.com/repos/revaturecloud/servicehub-user/events","assignees_url":"https://api.github.com/repos/revaturecloud/servicehub-user/assignees{/user}","branches_url":"https://api.github.com/repos/revaturecloud/servicehub-user/branches{/branch}","tags_url":"https://api.github.com/repos/revaturecloud/servicehub-user/tags","blobs_url":"https://api.github.com/repos/revaturecloud/servicehub-user/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/revaturecloud/servicehub-user/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/revaturecloud/servicehub-user/git/refs{/sha}","trees_url":"https://api.github.com/repos/revaturecloud/servicehub-user/git/trees{/sha}","statuses_url":"https://api.github.com/repos/revaturecloud/servicehub-user/statuses/{sha}","languages_url":"https://api.github.com/repos/revaturecloud/servicehub-user/languages","stargazers_url":"https://api.github.com/repos/revaturecloud/servicehub-user/stargazers","contributors_url":"https://api.github.com/repos/revaturecloud/servicehub-user/contributors","subscribers_url":"https://api.github.com/repos/revaturecloud/servicehub-user/subscribers","subscription_url":"https://api.github.com/repos/revaturecloud/servicehub-user/subscription","commits_url":"https://api.github.com/repos/revaturecloud/servicehub-user/commits{/sha}","git_commits_url":"https://api.github.com/repos/revaturecloud/servicehub-user/git/commits{/sha}","comments_url":"https://api.github.com/repos/revaturecloud/servicehub-user/comments{/number}","issue_comment_url":"https://api.github.com/repos/revaturecloud/servicehub-user/issues/comments{/number}","contents_url":"https://api.github.com/repos/revaturecloud/servicehub-user/contents/{+path}","compare_url":"https://api.github.com/repos/revaturecloud/servicehub-user/compare/{base}...{head}","merges_url":"https://api.github.com/repos/revaturecloud/servicehub-user/merges","archive_url":"https://api.github.com/repos/revaturecloud/servicehub-user/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/revaturecloud/servicehub-user/downloads","issues_url":"https://api.github.com/repos/revaturecloud/servicehub-user/issues{/number}","pulls_url":"https://api.github.com/repos/revaturecloud/servicehub-user/pulls{/number}","milestones_url":"https://api.github.com/repos/revaturecloud/servicehub-user/milestones{/number}","notifications_url":"https://api.github.com/repos/revaturecloud/servicehub-user/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/revaturecloud/servicehub-user/labels{/name}","releases_url":"https://api.github.com/repos/revaturecloud/servicehub-user/releases{/id}","deployments_url":"https://api.github.com/repos/revaturecloud/servicehub-user/deployments","created_at":"2018-05-01T01:30:39Z","updated_at":"2018-08-14T19:52:20Z","pushed_at":"2018-08-24T19:12:50Z","git_url":"git://github.com/revaturecloud/servicehub-user.git","ssh_url":"git@github.com:revaturecloud/servicehub-user.git","clone_url":"https://github.com/revaturecloud/servicehub-user.git","svn_url":"https://github.com/revaturecloud/servicehub-user","homepage":null,"size":1123,"stargazers_count":2,"watchers_count":2,"language":"C#","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":2,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":2,"open_issues":2,"watchers":2,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/revaturecloud/servicehub-user/pulls/95"},"html":{"href":"https://github.com/revaturecloud/servicehub-user/pull/95"},"issue":{"href":"https://api.github.com/repos/revaturecloud/servicehub-user/issues/95"},"comments":{"href":"https://api.github.com/repos/revaturecloud/servicehub-user/issues/95/comments"},"review_comments":{"href":"https://api.github.com/repos/revaturecloud/servicehub-user/pulls/95/comments"},"review_comment":{"href":"https://api.github.com/repos/revaturecloud/servicehub-user/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/revaturecloud/servicehub-user/pulls/95/commits"},"statuses":{"href":"https://api.github.com/repos/revaturecloud/servicehub-user/statuses/1c7ee163db4795a769cf8c0f642f2828a15217a0"}},"author_association":"NONE"}}
{"actor":{"display_login":"fredbelotte"}}