{"action":"created","comment":{"url":"https://api.github.com/repos/LycheeOrg/Lychee-Laravel/pulls/comments/264049849","pull_request_review_id":212613349,"id":264049849,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDI2NDA0OTg0OQ==","diff_hunk":"@@ -0,0 +1,150 @@\n+<?php\n+\n+namespace App\\Console\\Commands;\n+\n+use App\\Configs;\n+use App\\Metadata\\Extractor;\n+use App\\ModelFunctions\\PhotoFunctions;\n+use App\\Photo;\n+use Illuminate\\Console\\Command;\n+use Illuminate\\Support\\Facades\\Config;\n+\n+class video_data extends Command\n+{\n+\t/**\n+\t * The name and signature of the console command.\n+\t *\n+\t * @var string\n+\t */\n+\tprotected $signature = 'video_data {count=100 : number of videos to process} {timeout=600 : timeout time requirement}';\n+\n+\t/**\n+\t * The console command description.\n+\t *\n+\t * @var string\n+\t */\n+\tprotected $description = 'Generate video thumbnails and metadata if missing';\n+\n+\t/**\n+\t * @var PhotoFunctions\n+\t */\n+\tprivate $photoFunctions;\n+\n+\t/**\n+\t * @var Extractor\n+\t */\n+\tprivate $metadataExtractor;\n+\n+\t/**\n+\t * Create a new command instance.\n+\t *\n+\t * @param PhotoFunctions $photoFunctions\n+\t * @return void\n+\t */\n+\tpublic function __construct(PhotoFunctions $photoFunctions, Extractor $metadataExtractor)\n+\t{\n+\t\tparent::__construct();\n+\n+\t\t$this->photoFunctions = $photoFunctions;\n+\t\t$this->metadataExtractor = $metadataExtractor;\n+\t}\n+\n+\t/**\n+\t * Execute the console command.\n+\t *\n+\t * @return mixed\n+\t */\n+\tpublic function handle()\n+\t{\n+\t\tset_time_limit($this->argument('timeout'));\n+\n+\t\t$this->line(\n+\t\t\tsprintf(\n+\t\t\t\t'Will attempt to generate up to %s video thumbnails/metadata with a timeout of %d seconds...',\n+\t\t\t\t$this->argument('count'),\n+\t\t\t\t$this->argument('timeout')\n+\t\t\t)\n+\t\t);\n+\n+\t\t$photos = Photo::where('type', 'like', 'video/%')\n+\t\t\t->where('width', '=', 0)\n+\t\t\t->take($this->argument('count'))\n+\t\t\t->get()\n+\t\t;\n+\n+\t\tif (count($photos) == 0) {\n+\t\t\t$this->line('No videos require processing');\n+\t\t\treturn 0;\n+\t\t}\n+\n+\t\tforeach ($photos as $photo) {\n+\t\t\t$this->line('Processing '.$photo->title.'...');\n+\t\t\t$url = Config::get('defines.dirs.LYCHEE_UPLOADS_BIG').$photo->url;\n+\n+\t\t\tif ($photo->thumbUrl != '') {\n+\t\t\t\t$thumb = Config::get('defines.dirs.LYCHEE_UPLOADS_THUMB').$photo->thumbUrl;\n+\t\t\t\tif (file_exists($thumb)) {\n+\t\t\t\t\t$urlBase = explode('.', $photo->url);\n+\t\t\t\t\t$thumbBase = explode('.', $photo->thumbUrl);\n+\t\t\t\t\tif ($urlBase !== $thumbBase) {\n+\t\t\t\t\t\t$photo->thumbUrl = $urlBase[0].'.'.$thumbBase[1];\n+\t\t\t\t\t\trename($thumb, Config::get('defines.dirs.LYCHEE_UPLOADS_THUMB').$photo->thumbUrl);\n+\t\t\t\t\t\t$this->line('Renamed thumb to match the video file');\n+\t\t\t\t\t}\n+\t\t\t\t}\n+\t\t\t}\n+\n+\t\t\tif (file_exists($url)) {\n+\t\t\t\t$info = $this->metadataExtractor->extract($url, $photo->type);\n+\n+\t\t\t\tif ($info['width']) {\n+\t\t\t\t\t$this->line('Extracted metadata');","path":"app/Console/Commands/video_data.php","position":101,"original_position":101,"commit_id":"9f57881b8051ce647f1828d8312cccbf69a5e531","original_commit_id":"9f57881b8051ce647f1828d8312cccbf69a5e531","user":{"login":"ildyria","id":627094,"node_id":"MDQ6VXNlcjYyNzA5NA==","avatar_url":"https://avatars3.githubusercontent.com/u/627094?v=4","gravatar_id":"","url":"https://api.github.com/users/ildyria","html_url":"https://github.com/ildyria","followers_url":"https://api.github.com/users/ildyria/followers","following_url":"https://api.github.com/users/ildyria/following{/other_user}","gists_url":"https://api.github.com/users/ildyria/gists{/gist_id}","starred_url":"https://api.github.com/users/ildyria/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ildyria/subscriptions","organizations_url":"https://api.github.com/users/ildyria/orgs","repos_url":"https://api.github.com/users/ildyria/repos","events_url":"https://api.github.com/users/ildyria/events{/privacy}","received_events_url":"https://api.github.com/users/ildyria/received_events","type":"User","site_admin":false},"body":"Then shouldn't you test `if ($info['width'] != '')` instead ? :)","created_at":"2019-03-10T17:40:13Z","updated_at":"2019-03-10T17:40:13Z","html_url":"https://github.com/LycheeOrg/Lychee-Laravel/pull/110#discussion_r264049849","pull_request_url":"https://api.github.com/repos/LycheeOrg/Lychee-Laravel/pulls/110","author_association":"COLLABORATOR","_links":{"self":{"href":"https://api.github.com/repos/LycheeOrg/Lychee-Laravel/pulls/comments/264049849"},"html":{"href":"https://github.com/LycheeOrg/Lychee-Laravel/pull/110#discussion_r264049849"},"pull_request":{"href":"https://api.github.com/repos/LycheeOrg/Lychee-Laravel/pulls/110"}},"in_reply_to_id":264031534},"pull_request":{"url":"https://api.github.com/repos/LycheeOrg/Lychee-Laravel/pulls/110","id":257808627,"node_id":"MDExOlB1bGxSZXF1ZXN0MjU3ODA4NjI3","html_url":"https://github.com/LycheeOrg/Lychee-Laravel/pull/110","diff_url":"https://github.com/LycheeOrg/Lychee-Laravel/pull/110.diff","patch_url":"https://github.com/LycheeOrg/Lychee-Laravel/pull/110.patch","issue_url":"https://api.github.com/repos/LycheeOrg/Lychee-Laravel/issues/110","number":110,"state":"open","locked":false,"title":"Support for small thumbs and metadata for videos","user":{"login":"kamil4","id":16415200,"node_id":"MDQ6VXNlcjE2NDE1MjAw","avatar_url":"https://avatars0.githubusercontent.com/u/16415200?v=4","gravatar_id":"","url":"https://api.github.com/users/kamil4","html_url":"https://github.com/kamil4","followers_url":"https://api.github.com/users/kamil4/followers","following_url":"https://api.github.com/users/kamil4/following{/other_user}","gists_url":"https://api.github.com/users/kamil4/gists{/gist_id}","starred_url":"https://api.github.com/users/kamil4/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kamil4/subscriptions","organizations_url":"https://api.github.com/users/kamil4/orgs","repos_url":"https://api.github.com/users/kamil4/repos","events_url":"https://api.github.com/users/kamil4/events{/privacy}","received_events_url":"https://api.github.com/users/kamil4/received_events","type":"User","site_admin":false},"body":"Addresses #93. The bulk of the work is on the server side (here); I'll submit a separate PR for the front end.\r\n\r\n`PhotoFunctions::createVideoThumb()` is renamed to `createVideoImages()`. It now also generates thumb@2x, small, and small@2x variants. It also extracts metadata (width, height, frame rate, creation time, location, duration). For metadata that goes beyond static images (frame rate, duration), I overloaded `focal` and `aperture`, respectively. The patch also fixes a strange behavior of video thumbs having a different basename than the video file. Another fixed bug is the deletion of the extracted frame image when it's no longer needed. The function includes extensive diagnostics when invoked from the console.\r\n\r\nSpeaking of the console, a new `movies` command is added that will extract any missing thumbnails and metadata.\r\n\r\nFor videos, we can't build the name of the small/small@2x files by appending `$photo.url` since that one is a video file, not a jpeg file, so we need to check and use `thumbUrl` instead.","created_at":"2019-03-04T04:29:49Z","updated_at":"2019-03-10T17:40:13Z","closed_at":null,"merged_at":null,"merge_commit_sha":"ac7646649ca4c9abd66a2cfa5843a33b9a7ce7a6","assignee":null,"assignees":[],"requested_reviewers":[{"login":"hermzz","id":129883,"node_id":"MDQ6VXNlcjEyOTg4Mw==","avatar_url":"https://avatars2.githubusercontent.com/u/129883?v=4","gravatar_id":"","url":"https://api.github.com/users/hermzz","html_url":"https://github.com/hermzz","followers_url":"https://api.github.com/users/hermzz/followers","following_url":"https://api.github.com/users/hermzz/following{/other_user}","gists_url":"https://api.github.com/users/hermzz/gists{/gist_id}","starred_url":"https://api.github.com/users/hermzz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hermzz/subscriptions","organizations_url":"https://api.github.com/users/hermzz/orgs","repos_url":"https://api.github.com/users/hermzz/repos","events_url":"https://api.github.com/users/hermzz/events{/privacy}","received_events_url":"https://api.github.com/users/hermzz/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/LycheeOrg/Lychee-Laravel/pulls/110/commits","review_comments_url":"https://api.github.com/repos/LycheeOrg/Lychee-Laravel/pulls/110/comments","review_comment_url":"https://api.github.com/repos/LycheeOrg/Lychee-Laravel/pulls/comments{/number}","comments_url":"https://api.github.com/repos/LycheeOrg/Lychee-Laravel/issues/110/comments","statuses_url":"https://api.github.com/repos/LycheeOrg/Lychee-Laravel/statuses/9f57881b8051ce647f1828d8312cccbf69a5e531","head":{"label":"kamil4:improved-videos","ref":"improved-videos","sha":"9f57881b8051ce647f1828d8312cccbf69a5e531","user":{"login":"kamil4","id":16415200,"node_id":"MDQ6VXNlcjE2NDE1MjAw","avatar_url":"https://avatars0.githubusercontent.com/u/16415200?v=4","gravatar_id":"","url":"https://api.github.com/users/kamil4","html_url":"https://github.com/kamil4","followers_url":"https://api.github.com/users/kamil4/followers","following_url":"https://api.github.com/users/kamil4/following{/other_user}","gists_url":"https://api.github.com/users/kamil4/gists{/gist_id}","starred_url":"https://api.github.com/users/kamil4/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kamil4/subscriptions","organizations_url":"https://api.github.com/users/kamil4/orgs","repos_url":"https://api.github.com/users/kamil4/repos","events_url":"https://api.github.com/users/kamil4/events{/privacy}","received_events_url":"https://api.github.com/users/kamil4/received_events","type":"User","site_admin":false},"repo":{"id":171083571,"node_id":"MDEwOlJlcG9zaXRvcnkxNzEwODM1NzE=","name":"Lychee-Laravel","full_name":"kamil4/Lychee-Laravel","private":false,"owner":{"login":"kamil4","id":16415200,"node_id":"MDQ6VXNlcjE2NDE1MjAw","avatar_url":"https://avatars0.githubusercontent.com/u/16415200?v=4","gravatar_id":"","url":"https://api.github.com/users/kamil4","html_url":"https://github.com/kamil4","followers_url":"https://api.github.com/users/kamil4/followers","following_url":"https://api.github.com/users/kamil4/following{/other_user}","gists_url":"https://api.github.com/users/kamil4/gists{/gist_id}","starred_url":"https://api.github.com/users/kamil4/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kamil4/subscriptions","organizations_url":"https://api.github.com/users/kamil4/orgs","repos_url":"https://api.github.com/users/kamil4/repos","events_url":"https://api.github.com/users/kamil4/events{/privacy}","received_events_url":"https://api.github.com/users/kamil4/received_events","type":"User","site_admin":false},"html_url":"https://github.com/kamil4/Lychee-Laravel","description":"Laravel implementation of the Lychee image server","fork":true,"url":"https://api.github.com/repos/kamil4/Lychee-Laravel","forks_url":"https://api.github.com/repos/kamil4/Lychee-Laravel/forks","keys_url":"https://api.github.com/repos/kamil4/Lychee-Laravel/keys{/key_id}","collaborators_url":"https://api.github.com/repos/kamil4/Lychee-Laravel/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/kamil4/Lychee-Laravel/teams","hooks_url":"https://api.github.com/repos/kamil4/Lychee-Laravel/hooks","issue_events_url":"https://api.github.com/repos/kamil4/Lychee-Laravel/issues/events{/number}","events_url":"https://api.github.com/repos/kamil4/Lychee-Laravel/events","assignees_url":"https://api.github.com/repos/kamil4/Lychee-Laravel/assignees{/user}","branches_url":"https://api.github.com/repos/kamil4/Lychee-Laravel/branches{/branch}","tags_url":"https://api.github.com/repos/kamil4/Lychee-Laravel/tags","blobs_url":"https://api.github.com/repos/kamil4/Lychee-Laravel/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/kamil4/Lychee-Laravel/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/kamil4/Lychee-Laravel/git/refs{/sha}","trees_url":"https://api.github.com/repos/kamil4/Lychee-Laravel/git/trees{/sha}","statuses_url":"https://api.github.com/repos/kamil4/Lychee-Laravel/statuses/{sha}","languages_url":"https://api.github.com/repos/kamil4/Lychee-Laravel/languages","stargazers_url":"https://api.github.com/repos/kamil4/Lychee-Laravel/stargazers","contributors_url":"https://api.github.com/repos/kamil4/Lychee-Laravel/contributors","subscribers_url":"https://api.github.com/repos/kamil4/Lychee-Laravel/subscribers","subscription_url":"https://api.github.com/repos/kamil4/Lychee-Laravel/subscription","commits_url":"https://api.github.com/repos/kamil4/Lychee-Laravel/commits{/sha}","git_commits_url":"https://api.github.com/repos/kamil4/Lychee-Laravel/git/commits{/sha}","comments_url":"https://api.github.com/repos/kamil4/Lychee-Laravel/comments{/number}","issue_comment_url":"https://api.github.com/repos/kamil4/Lychee-Laravel/issues/comments{/number}","contents_url":"https://api.github.com/repos/kamil4/Lychee-Laravel/contents/{+path}","compare_url":"https://api.github.com/repos/kamil4/Lychee-Laravel/compare/{base}...{head}","merges_url":"https://api.github.com/repos/kamil4/Lychee-Laravel/merges","archive_url":"https://api.github.com/repos/kamil4/Lychee-Laravel/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/kamil4/Lychee-Laravel/downloads","issues_url":"https://api.github.com/repos/kamil4/Lychee-Laravel/issues{/number}","pulls_url":"https://api.github.com/repos/kamil4/Lychee-Laravel/pulls{/number}","milestones_url":"https://api.github.com/repos/kamil4/Lychee-Laravel/milestones{/number}","notifications_url":"https://api.github.com/repos/kamil4/Lychee-Laravel/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/kamil4/Lychee-Laravel/labels{/name}","releases_url":"https://api.github.com/repos/kamil4/Lychee-Laravel/releases{/id}","deployments_url":"https://api.github.com/repos/kamil4/Lychee-Laravel/deployments","created_at":"2019-02-17T04:58:46Z","updated_at":"2019-03-10T06:08:41Z","pushed_at":"2019-03-10T06:08:40Z","git_url":"git://github.com/kamil4/Lychee-Laravel.git","ssh_url":"git@github.com:kamil4/Lychee-Laravel.git","clone_url":"https://github.com/kamil4/Lychee-Laravel.git","svn_url":"https://github.com/kamil4/Lychee-Laravel","homepage":"","size":2455,"stargazers_count":0,"watchers_count":0,"language":"PHP","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"LycheeOrg:master","ref":"master","sha":"76d0cb1dff43819c8760ba0c3ad77b854b89bfc1","user":{"login":"LycheeOrg","id":37916028,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM3OTE2MDI4","avatar_url":"https://avatars3.githubusercontent.com/u/37916028?v=4","gravatar_id":"","url":"https://api.github.com/users/LycheeOrg","html_url":"https://github.com/LycheeOrg","followers_url":"https://api.github.com/users/LycheeOrg/followers","following_url":"https://api.github.com/users/LycheeOrg/following{/other_user}","gists_url":"https://api.github.com/users/LycheeOrg/gists{/gist_id}","starred_url":"https://api.github.com/users/LycheeOrg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/LycheeOrg/subscriptions","organizations_url":"https://api.github.com/users/LycheeOrg/orgs","repos_url":"https://api.github.com/users/LycheeOrg/repos","events_url":"https://api.github.com/users/LycheeOrg/events{/privacy}","received_events_url":"https://api.github.com/users/LycheeOrg/received_events","type":"Organization","site_admin":false},"repo":{"id":143975804,"node_id":"MDEwOlJlcG9zaXRvcnkxNDM5NzU4MDQ=","name":"Lychee-Laravel","full_name":"LycheeOrg/Lychee-Laravel","private":false,"owner":{"login":"LycheeOrg","id":37916028,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM3OTE2MDI4","avatar_url":"https://avatars3.githubusercontent.com/u/37916028?v=4","gravatar_id":"","url":"https://api.github.com/users/LycheeOrg","html_url":"https://github.com/LycheeOrg","followers_url":"https://api.github.com/users/LycheeOrg/followers","following_url":"https://api.github.com/users/LycheeOrg/following{/other_user}","gists_url":"https://api.github.com/users/LycheeOrg/gists{/gist_id}","starred_url":"https://api.github.com/users/LycheeOrg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/LycheeOrg/subscriptions","organizations_url":"https://api.github.com/users/LycheeOrg/orgs","repos_url":"https://api.github.com/users/LycheeOrg/repos","events_url":"https://api.github.com/users/LycheeOrg/events{/privacy}","received_events_url":"https://api.github.com/users/LycheeOrg/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/LycheeOrg/Lychee-Laravel","description":"Laravel implementation of the Lychee image server","fork":false,"url":"https://api.github.com/repos/LycheeOrg/Lychee-Laravel","forks_url":"https://api.github.com/repos/LycheeOrg/Lychee-Laravel/forks","keys_url":"https://api.github.com/repos/LycheeOrg/Lychee-Laravel/keys{/key_id}","collaborators_url":"https://api.github.com/repos/LycheeOrg/Lychee-Laravel/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/LycheeOrg/Lychee-Laravel/teams","hooks_url":"https://api.github.com/repos/LycheeOrg/Lychee-Laravel/hooks","issue_events_url":"https://api.github.com/repos/LycheeOrg/Lychee-Laravel/issues/events{/number}","events_url":"https://api.github.com/repos/LycheeOrg/Lychee-Laravel/events","assignees_url":"https://api.github.com/repos/LycheeOrg/Lychee-Laravel/assignees{/user}","branches_url":"https://api.github.com/repos/LycheeOrg/Lychee-Laravel/branches{/branch}","tags_url":"https://api.github.com/repos/LycheeOrg/Lychee-Laravel/tags","blobs_url":"https://api.github.com/repos/LycheeOrg/Lychee-Laravel/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/LycheeOrg/Lychee-Laravel/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/LycheeOrg/Lychee-Laravel/git/refs{/sha}","trees_url":"https://api.github.com/repos/LycheeOrg/Lychee-Laravel/git/trees{/sha}","statuses_url":"https://api.github.com/repos/LycheeOrg/Lychee-Laravel/statuses/{sha}","languages_url":"https://api.github.com/repos/LycheeOrg/Lychee-Laravel/languages","stargazers_url":"https://api.github.com/repos/LycheeOrg/Lychee-Laravel/stargazers","contributors_url":"https://api.github.com/repos/LycheeOrg/Lychee-Laravel/contributors","subscribers_url":"https://api.github.com/repos/LycheeOrg/Lychee-Laravel/subscribers","subscription_url":"https://api.github.com/repos/LycheeOrg/Lychee-Laravel/subscription","commits_url":"https://api.github.com/repos/LycheeOrg/Lychee-Laravel/commits{/sha}","git_commits_url":"https://api.github.com/repos/LycheeOrg/Lychee-Laravel/git/commits{/sha}","comments_url":"https://api.github.com/repos/LycheeOrg/Lychee-Laravel/comments{/number}","issue_comment_url":"https://api.github.com/repos/LycheeOrg/Lychee-Laravel/issues/comments{/number}","contents_url":"https://api.github.com/repos/LycheeOrg/Lychee-Laravel/contents/{+path}","compare_url":"https://api.github.com/repos/LycheeOrg/Lychee-Laravel/compare/{base}...{head}","merges_url":"https://api.github.com/repos/LycheeOrg/Lychee-Laravel/merges","archive_url":"https://api.github.com/repos/LycheeOrg/Lychee-Laravel/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/LycheeOrg/Lychee-Laravel/downloads","issues_url":"https://api.github.com/repos/LycheeOrg/Lychee-Laravel/issues{/number}","pulls_url":"https://api.github.com/repos/LycheeOrg/Lychee-Laravel/pulls{/number}","milestones_url":"https://api.github.com/repos/LycheeOrg/Lychee-Laravel/milestones{/number}","notifications_url":"https://api.github.com/repos/LycheeOrg/Lychee-Laravel/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/LycheeOrg/Lychee-Laravel/labels{/name}","releases_url":"https://api.github.com/repos/LycheeOrg/Lychee-Laravel/releases{/id}","deployments_url":"https://api.github.com/repos/LycheeOrg/Lychee-Laravel/deployments","created_at":"2018-08-08T07:19:08Z","updated_at":"2019-03-10T12:58:33Z","pushed_at":"2019-03-10T16:26:29Z","git_url":"git://github.com/LycheeOrg/Lychee-Laravel.git","ssh_url":"git@github.com:LycheeOrg/Lychee-Laravel.git","clone_url":"https://github.com/LycheeOrg/Lychee-Laravel.git","svn_url":"https://github.com/LycheeOrg/Lychee-Laravel","homepage":"","size":2447,"stargazers_count":18,"watchers_count":18,"language":"PHP","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":13,"mirror_url":null,"archived":false,"open_issues_count":43,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":13,"open_issues":43,"watchers":18,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/LycheeOrg/Lychee-Laravel/pulls/110"},"html":{"href":"https://github.com/LycheeOrg/Lychee-Laravel/pull/110"},"issue":{"href":"https://api.github.com/repos/LycheeOrg/Lychee-Laravel/issues/110"},"comments":{"href":"https://api.github.com/repos/LycheeOrg/Lychee-Laravel/issues/110/comments"},"review_comments":{"href":"https://api.github.com/repos/LycheeOrg/Lychee-Laravel/pulls/110/comments"},"review_comment":{"href":"https://api.github.com/repos/LycheeOrg/Lychee-Laravel/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/LycheeOrg/Lychee-Laravel/pulls/110/commits"},"statuses":{"href":"https://api.github.com/repos/LycheeOrg/Lychee-Laravel/statuses/9f57881b8051ce647f1828d8312cccbf69a5e531"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"ildyria"}}