{"action":"created","comment":{"url":"https://api.github.com/repos/evercam/evercam-api/pulls/comments/33242713","id":33242713,"diff_hunk":"@@ -3,63 +3,209 @@\n module Evercam\n   module Presenters\n     class Model < Presenter\n-\n       root :models\n \n       expose :id, documentation: {\n-        type: 'string',\n-        desc: 'Unique identifier of the model',\n+        type: \"string\",\n+        desc: \"Unique identifier of the model\",\n         required: true\n       } do |m|\n         m.exid\n       end\n \n       expose :name, documentation: {\n-        type: 'string',\n-        desc: 'Name of the model',\n+        type: \"string\",\n+        desc: \"Name of the model\",\n         required: true\n       }\n \n       expose :vendor_id, documentation: {\n-        type: 'string',\n-        desc: 'Unique identifier for the vendor',\n+        type: \"string\",\n+        desc: \"Unique identifier for the vendor\",\n         required: true\n       } do |m, o|\n         m.vendor.exid\n       end\n \n+      expose :username, documentation: {\n+        type: \"string\",\n+        desc: \"Default username of the model\",\n+        required: false\n+      }\n+\n+      expose :password, documentation: {\n+        type: \"string\",\n+        desc: \"Default password of the model\",\n+        required: false\n+      }\n+\n+      expose :jpg_url, documentation: {\n+        type: \"string\",\n+        desc: \"Default Jpg image URL of the model\",\n+        required: false\n+      }\n+\n+      expose :h264_url, documentation: {\n+        type: \"string\",\n+        desc: \"Default H264 stream URL of the model\",\n+        required: false\n+      }\n+\n+      expose :mjpg_url, documentation: {\n+        type: \"string\",\n+        desc: \"Default Mjpeg stream URL of the model\",\n+        required: false\n+      }\n+\n+      expose :shape, documentation: {\n+        type: \"string\",\n+        desc: \"Shape of the model\",\n+        required: false\n+      }\n+\n+      expose :resolution, documentation: {\n+        type: \"string\",\n+        desc: \"Resolution(s) supported by model\",\n+        required: false\n+      }\n+\n+      expose :official_url, documentation: {\n+        type: \"string\",\n+        desc: \"Official URL of the model\",\n+        required: false\n+      }\n+\n+      expose :more_info, documentation: {\n+        type: \"string\",\n+        desc: \"Additional information of the model\",\n+        required: false\n+      }\n+\n+      expose :audio_url, documentation: {\n+        type: \"string\",\n+        desc: \"Audio stream URL of the model\",\n+        required: false\n+      }\n+\n+      expose :poe, documentation: {\n+        type: \"boolean\",\n+        desc: \"Whether or not POE is supported by the model\",\n+        required: false\n+      }\n+\n+      expose :wifi, documentation: {\n+        type: \"boolean\",\n+        desc: \"Whether or not WiFi is supported by the model\",\n+        required: false\n+      }\n+\n+      expose :upnp, documentation: {\n+        type: \"boolean\",\n+        desc: \"Whether or not UPNP is supported by the model\",\n+        required: false\n+      }\n+\n+      expose :ptz, documentation: {\n+        type: \"boolean\",\n+        desc: \"Whether or not PTZ is supported by the model\",\n+        required: false\n+      }\n+\n+      expose :infrared, documentation: {\n+        type: \"boolean\",\n+        desc: \"Whether or not Infrared is supported by the model\",\n+        required: false\n+      }\n+\n+      expose :varifocal, documentation: {\n+        type: \"boolean\",\n+        desc: \"Whether or not Varifocal is supported by the model\",\n+        required: false\n+      }\n+\n+      expose :sd_card, documentation: {\n+        type: \"boolean\",\n+        desc: \"Whether or not SD Card is supported by the model\",\n+        required: false\n+      }\n+\n+      expose :audio_io, documentation: {\n+        type: \"boolean\",\n+        desc: \"Whether or not Audio Input/Output is supported by the model\",\n+        required: false\n+      }\n+\n+      expose :discontinued, documentation: {\n+        type: \"boolean\",\n+        desc: \"Whether or not the vendor has Discontinued this model\",\n+        required: false\n+      }\n+\n+      expose :onvif, documentation: {\n+        type: \"boolean\",\n+        desc: \"Whether or not OnVif is supported by the model\",\n+        required: false\n+      }\n+\n+      expose :psia, documentation: {\n+        type: \"boolean\",\n+        desc: \"Whether or not PSIA is supported by the model\",\n+        required: false\n+      }\n+\n+      expose :icon_image, documentation: {\n+        type: \"String\",\n+        desc: \"Model icon\"\n+      } do |m,o|\n+        \"http://evercam-public-assets.s3.amazonaws.com/#{m.vendor.exid}/#{m.exid}/icon.jpg\"\n+      end\n+\n+      expose :thumbnail_image, documentation: {\n+        type: \"String\",\n+        desc: \"Model thumbnail\"\n+      } do |m,o|\n+        \"http://evercam-public-assets.s3.amazonaws.com/#{m.vendor.exid}/#{m.exid}/thumbnail.jpg\"\n+      end\n+\n+      expose :original_image, documentation: {\n+        type: \"String\",\n+        desc: \"Model Original\"\n+      } do |m,o|\n+        \"http://evercam-public-assets.s3.amazonaws.com/#{m.vendor.exid}/#{m.exid}/original.jpg\"","path":"app/api/v1/presenters/model_presenter.rb","position":179,"original_position":179,"commit_id":"68ce271f253721f8506f22af8766acff0c4abdc5","original_commit_id":"68ce271f253721f8506f22af8766acff0c4abdc5","user":{"login":"houndci","id":6697940,"avatar_url":"https://avatars.githubusercontent.com/u/6697940?v=3","gravatar_id":"","url":"https://api.github.com/users/houndci","html_url":"https://github.com/houndci","followers_url":"https://api.github.com/users/houndci/followers","following_url":"https://api.github.com/users/houndci/following{/other_user}","gists_url":"https://api.github.com/users/houndci/gists{/gist_id}","starred_url":"https://api.github.com/users/houndci/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/houndci/subscriptions","organizations_url":"https://api.github.com/users/houndci/orgs","repos_url":"https://api.github.com/users/houndci/repos","events_url":"https://api.github.com/users/houndci/events{/privacy}","received_events_url":"https://api.github.com/users/houndci/received_events","type":"User","site_admin":false},"body":"Line is too long. [95/80]","created_at":"2015-06-25T10:52:57Z","updated_at":"2015-06-25T10:52:57Z","html_url":"https://github.com/evercam/evercam-api/pull/355#discussion_r33242713","pull_request_url":"https://api.github.com/repos/evercam/evercam-api/pulls/355","_links":{"self":{"href":"https://api.github.com/repos/evercam/evercam-api/pulls/comments/33242713"},"html":{"href":"https://github.com/evercam/evercam-api/pull/355#discussion_r33242713"},"pull_request":{"href":"https://api.github.com/repos/evercam/evercam-api/pulls/355"}}},"pull_request":{"url":"https://api.github.com/repos/evercam/evercam-api/pulls/355","id":38311885,"html_url":"https://github.com/evercam/evercam-api/pull/355","diff_url":"https://github.com/evercam/evercam-api/pull/355.diff","patch_url":"https://github.com/evercam/evercam-api/pull/355.patch","issue_url":"https://api.github.com/repos/evercam/evercam-api/issues/355","number":355,"state":"open","locked":false,"title":"Add extra data","user":{"login":"shakeelanjum","id":6198066,"avatar_url":"https://avatars.githubusercontent.com/u/6198066?v=3","gravatar_id":"","url":"https://api.github.com/users/shakeelanjum","html_url":"https://github.com/shakeelanjum","followers_url":"https://api.github.com/users/shakeelanjum/followers","following_url":"https://api.github.com/users/shakeelanjum/following{/other_user}","gists_url":"https://api.github.com/users/shakeelanjum/gists{/gist_id}","starred_url":"https://api.github.com/users/shakeelanjum/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/shakeelanjum/subscriptions","organizations_url":"https://api.github.com/users/shakeelanjum/orgs","repos_url":"https://api.github.com/users/shakeelanjum/repos","events_url":"https://api.github.com/users/shakeelanjum/events{/privacy}","received_events_url":"https://api.github.com/users/shakeelanjum/received_events","type":"User","site_admin":false},"body":"@mosic, please review the code changes as tested locally, including:\r\n\r\n1. migrations to add extra columns (separate for each attribute in vendor_models)\r\n2. import data from csv file and put it in separate columns\r\n3. split existing data in config and images groups into their separate columns","created_at":"2015-06-23T08:26:13Z","updated_at":"2015-06-25T10:52:57Z","closed_at":null,"merged_at":null,"merge_commit_sha":"563c82f9feb4d7e308c66b5f22e171d1d8a0a3c1","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/evercam/evercam-api/pulls/355/commits","review_comments_url":"https://api.github.com/repos/evercam/evercam-api/pulls/355/comments","review_comment_url":"https://api.github.com/repos/evercam/evercam-api/pulls/comments{/number}","comments_url":"https://api.github.com/repos/evercam/evercam-api/issues/355/comments","statuses_url":"https://api.github.com/repos/evercam/evercam-api/statuses/68ce271f253721f8506f22af8766acff0c4abdc5","head":{"label":"evercam:add_extra_data","ref":"add_extra_data","sha":"68ce271f253721f8506f22af8766acff0c4abdc5","user":{"login":"evercam","id":5575404,"avatar_url":"https://avatars.githubusercontent.com/u/5575404?v=3","gravatar_id":"","url":"https://api.github.com/users/evercam","html_url":"https://github.com/evercam","followers_url":"https://api.github.com/users/evercam/followers","following_url":"https://api.github.com/users/evercam/following{/other_user}","gists_url":"https://api.github.com/users/evercam/gists{/gist_id}","starred_url":"https://api.github.com/users/evercam/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/evercam/subscriptions","organizations_url":"https://api.github.com/users/evercam/orgs","repos_url":"https://api.github.com/users/evercam/repos","events_url":"https://api.github.com/users/evercam/events{/privacy}","received_events_url":"https://api.github.com/users/evercam/received_events","type":"Organization","site_admin":false},"repo":{"id":14651973,"name":"evercam-api","full_name":"evercam/evercam-api","owner":{"login":"evercam","id":5575404,"avatar_url":"https://avatars.githubusercontent.com/u/5575404?v=3","gravatar_id":"","url":"https://api.github.com/users/evercam","html_url":"https://github.com/evercam","followers_url":"https://api.github.com/users/evercam/followers","following_url":"https://api.github.com/users/evercam/following{/other_user}","gists_url":"https://api.github.com/users/evercam/gists{/gist_id}","starred_url":"https://api.github.com/users/evercam/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/evercam/subscriptions","organizations_url":"https://api.github.com/users/evercam/orgs","repos_url":"https://api.github.com/users/evercam/repos","events_url":"https://api.github.com/users/evercam/events{/privacy}","received_events_url":"https://api.github.com/users/evercam/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/evercam/evercam-api","description":"Grape application that manages all communication between Evecam Media & Evercam Clients","fork":false,"url":"https://api.github.com/repos/evercam/evercam-api","forks_url":"https://api.github.com/repos/evercam/evercam-api/forks","keys_url":"https://api.github.com/repos/evercam/evercam-api/keys{/key_id}","collaborators_url":"https://api.github.com/repos/evercam/evercam-api/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/evercam/evercam-api/teams","hooks_url":"https://api.github.com/repos/evercam/evercam-api/hooks","issue_events_url":"https://api.github.com/repos/evercam/evercam-api/issues/events{/number}","events_url":"https://api.github.com/repos/evercam/evercam-api/events","assignees_url":"https://api.github.com/repos/evercam/evercam-api/assignees{/user}","branches_url":"https://api.github.com/repos/evercam/evercam-api/branches{/branch}","tags_url":"https://api.github.com/repos/evercam/evercam-api/tags","blobs_url":"https://api.github.com/repos/evercam/evercam-api/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/evercam/evercam-api/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/evercam/evercam-api/git/refs{/sha}","trees_url":"https://api.github.com/repos/evercam/evercam-api/git/trees{/sha}","statuses_url":"https://api.github.com/repos/evercam/evercam-api/statuses/{sha}","languages_url":"https://api.github.com/repos/evercam/evercam-api/languages","stargazers_url":"https://api.github.com/repos/evercam/evercam-api/stargazers","contributors_url":"https://api.github.com/repos/evercam/evercam-api/contributors","subscribers_url":"https://api.github.com/repos/evercam/evercam-api/subscribers","subscription_url":"https://api.github.com/repos/evercam/evercam-api/subscription","commits_url":"https://api.github.com/repos/evercam/evercam-api/commits{/sha}","git_commits_url":"https://api.github.com/repos/evercam/evercam-api/git/commits{/sha}","comments_url":"https://api.github.com/repos/evercam/evercam-api/comments{/number}","issue_comment_url":"https://api.github.com/repos/evercam/evercam-api/issues/comments{/number}","contents_url":"https://api.github.com/repos/evercam/evercam-api/contents/{+path}","compare_url":"https://api.github.com/repos/evercam/evercam-api/compare/{base}...{head}","merges_url":"https://api.github.com/repos/evercam/evercam-api/merges","archive_url":"https://api.github.com/repos/evercam/evercam-api/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/evercam/evercam-api/downloads","issues_url":"https://api.github.com/repos/evercam/evercam-api/issues{/number}","pulls_url":"https://api.github.com/repos/evercam/evercam-api/pulls{/number}","milestones_url":"https://api.github.com/repos/evercam/evercam-api/milestones{/number}","notifications_url":"https://api.github.com/repos/evercam/evercam-api/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/evercam/evercam-api/labels{/name}","releases_url":"https://api.github.com/repos/evercam/evercam-api/releases{/id}","created_at":"2013-11-23T22:52:01Z","updated_at":"2015-06-10T13:35:05Z","pushed_at":"2015-06-25T10:52:49Z","git_url":"git://github.com/evercam/evercam-api.git","ssh_url":"git@github.com:evercam/evercam-api.git","clone_url":"https://github.com/evercam/evercam-api.git","svn_url":"https://github.com/evercam/evercam-api","homepage":"http://dash.evercam.io/swagger","size":110780,"stargazers_count":3,"watchers_count":3,"language":"Ruby","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":2,"forks":1,"open_issues":2,"watchers":3,"default_branch":"master"}},"base":{"label":"evercam:master","ref":"master","sha":"3c4af99e826bce9bf15246756e1b0e16981cd0cb","user":{"login":"evercam","id":5575404,"avatar_url":"https://avatars.githubusercontent.com/u/5575404?v=3","gravatar_id":"","url":"https://api.github.com/users/evercam","html_url":"https://github.com/evercam","followers_url":"https://api.github.com/users/evercam/followers","following_url":"https://api.github.com/users/evercam/following{/other_user}","gists_url":"https://api.github.com/users/evercam/gists{/gist_id}","starred_url":"https://api.github.com/users/evercam/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/evercam/subscriptions","organizations_url":"https://api.github.com/users/evercam/orgs","repos_url":"https://api.github.com/users/evercam/repos","events_url":"https://api.github.com/users/evercam/events{/privacy}","received_events_url":"https://api.github.com/users/evercam/received_events","type":"Organization","site_admin":false},"repo":{"id":14651973,"name":"evercam-api","full_name":"evercam/evercam-api","owner":{"login":"evercam","id":5575404,"avatar_url":"https://avatars.githubusercontent.com/u/5575404?v=3","gravatar_id":"","url":"https://api.github.com/users/evercam","html_url":"https://github.com/evercam","followers_url":"https://api.github.com/users/evercam/followers","following_url":"https://api.github.com/users/evercam/following{/other_user}","gists_url":"https://api.github.com/users/evercam/gists{/gist_id}","starred_url":"https://api.github.com/users/evercam/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/evercam/subscriptions","organizations_url":"https://api.github.com/users/evercam/orgs","repos_url":"https://api.github.com/users/evercam/repos","events_url":"https://api.github.com/users/evercam/events{/privacy}","received_events_url":"https://api.github.com/users/evercam/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/evercam/evercam-api","description":"Grape application that manages all communication between Evecam Media & Evercam Clients","fork":false,"url":"https://api.github.com/repos/evercam/evercam-api","forks_url":"https://api.github.com/repos/evercam/evercam-api/forks","keys_url":"https://api.github.com/repos/evercam/evercam-api/keys{/key_id}","collaborators_url":"https://api.github.com/repos/evercam/evercam-api/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/evercam/evercam-api/teams","hooks_url":"https://api.github.com/repos/evercam/evercam-api/hooks","issue_events_url":"https://api.github.com/repos/evercam/evercam-api/issues/events{/number}","events_url":"https://api.github.com/repos/evercam/evercam-api/events","assignees_url":"https://api.github.com/repos/evercam/evercam-api/assignees{/user}","branches_url":"https://api.github.com/repos/evercam/evercam-api/branches{/branch}","tags_url":"https://api.github.com/repos/evercam/evercam-api/tags","blobs_url":"https://api.github.com/repos/evercam/evercam-api/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/evercam/evercam-api/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/evercam/evercam-api/git/refs{/sha}","trees_url":"https://api.github.com/repos/evercam/evercam-api/git/trees{/sha}","statuses_url":"https://api.github.com/repos/evercam/evercam-api/statuses/{sha}","languages_url":"https://api.github.com/repos/evercam/evercam-api/languages","stargazers_url":"https://api.github.com/repos/evercam/evercam-api/stargazers","contributors_url":"https://api.github.com/repos/evercam/evercam-api/contributors","subscribers_url":"https://api.github.com/repos/evercam/evercam-api/subscribers","subscription_url":"https://api.github.com/repos/evercam/evercam-api/subscription","commits_url":"https://api.github.com/repos/evercam/evercam-api/commits{/sha}","git_commits_url":"https://api.github.com/repos/evercam/evercam-api/git/commits{/sha}","comments_url":"https://api.github.com/repos/evercam/evercam-api/comments{/number}","issue_comment_url":"https://api.github.com/repos/evercam/evercam-api/issues/comments{/number}","contents_url":"https://api.github.com/repos/evercam/evercam-api/contents/{+path}","compare_url":"https://api.github.com/repos/evercam/evercam-api/compare/{base}...{head}","merges_url":"https://api.github.com/repos/evercam/evercam-api/merges","archive_url":"https://api.github.com/repos/evercam/evercam-api/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/evercam/evercam-api/downloads","issues_url":"https://api.github.com/repos/evercam/evercam-api/issues{/number}","pulls_url":"https://api.github.com/repos/evercam/evercam-api/pulls{/number}","milestones_url":"https://api.github.com/repos/evercam/evercam-api/milestones{/number}","notifications_url":"https://api.github.com/repos/evercam/evercam-api/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/evercam/evercam-api/labels{/name}","releases_url":"https://api.github.com/repos/evercam/evercam-api/releases{/id}","created_at":"2013-11-23T22:52:01Z","updated_at":"2015-06-10T13:35:05Z","pushed_at":"2015-06-25T10:52:49Z","git_url":"git://github.com/evercam/evercam-api.git","ssh_url":"git@github.com:evercam/evercam-api.git","clone_url":"https://github.com/evercam/evercam-api.git","svn_url":"https://github.com/evercam/evercam-api","homepage":"http://dash.evercam.io/swagger","size":110780,"stargazers_count":3,"watchers_count":3,"language":"Ruby","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":2,"forks":1,"open_issues":2,"watchers":3,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/evercam/evercam-api/pulls/355"},"html":{"href":"https://github.com/evercam/evercam-api/pull/355"},"issue":{"href":"https://api.github.com/repos/evercam/evercam-api/issues/355"},"comments":{"href":"https://api.github.com/repos/evercam/evercam-api/issues/355/comments"},"review_comments":{"href":"https://api.github.com/repos/evercam/evercam-api/pulls/355/comments"},"review_comment":{"href":"https://api.github.com/repos/evercam/evercam-api/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/evercam/evercam-api/pulls/355/commits"},"statuses":{"href":"https://api.github.com/repos/evercam/evercam-api/statuses/68ce271f253721f8506f22af8766acff0c4abdc5"}}}}