public static function upload(UploadedFile $file, $user, $contest = null)
{
$entry = new static();
DB::transaction(function () use($entry, $file, $user, $contest) {
$entry->save();
// get id
$entry->user()->associate($user);
$entry->contest()->associate($contest);
$entry->filesize = $file->getClientSize();
$entry->original_filename = $file->getClientOriginalName();
$entry->storeFile($file->getRealPath(), $file->getClientOriginalExtension());
$entry->save();
});
return $entry;
}