public static function upload($filePath, $user, $topic = null)
{
$cover = new static();
DB::transaction(function () use($cover, $filePath, $user, $topic) {
$cover->save();
// get id
$cover->user()->associate($user);
$cover->topic()->associate($topic);
$cover->storeFile($filePath);
$cover->save();
});
return $cover;
}