use App\Collaborator;
use App\Events\PackageCreated;
use App\Events\PackageUpdated;
use App\Http\Controllers\Controller;
use App\Http\Requests\PackageFormRequest;
use App\Package;
use App\Tag;
use DateTime;
use Facades\App\Repo;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Str;
class PackageController extends Controller
{
public function store(PackageFormRequest $request)
{
$repo = Repo::fromRequest($request);
$package = Package::withoutSyncingToSearch(function () use ($request, $repo) {
$package = Package::create(array_merge(
request()->only(['name', 'author_id', 'url', 'abstract', 'instructions']),
[
'composer_name' => $request->getComposerName(),
'repo_url' => $repo->url(),
'readme_source' => $repo->source(),
'readme_format' => $repo->readmeFormat(),
'submitter_id' => auth()->user()->id,
'readme' => $repo->readme(),
'latest_version' => $repo->latestReleaseVersion(),
]
));
return $package;
});
event(new PackageCreated($package));
}
}