[api] handle no latest

This commit is contained in:
xiaomlove
2022-04-08 02:44:30 +08:00
parent 196950885b
commit e659983724
3 changed files with 33 additions and 27 deletions

View File

@@ -7,6 +7,7 @@ use App\Models\News;
use App\Repositories\NewsRepository;
use Carbon\Carbon;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;
use Illuminate\Support\Facades\Auth;
use Illuminate\Validation\Rule;
use Nexus\Database\NexusDB;
@@ -104,10 +105,15 @@ class NewsController extends Controller
{
$user = Auth::user();
$result = News::query()->orderBy('id', 'desc')->first();
$resource = new NewsResource($result);
if ($result) {
$resource = new NewsResource($result);
} else {
$resource = new JsonResource(null);
}
$resource->additional([
'site_info' => site_info(),
]);
/**
* Visiting the home page is the same as viewing the latest news
* @see functions.php line 2590

View File

@@ -6,6 +6,7 @@ use App\Http\Resources\PollResource;
use App\Models\Poll;
use App\Repositories\PollRepository;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;
use Illuminate\Support\Facades\Auth;
use Illuminate\Validation\Rule;
@@ -96,7 +97,6 @@ class PollController extends Controller
}
/**
* @todo 弃权选项
* @return array
*/
public function latest()
@@ -130,9 +130,11 @@ class PollController extends Controller
foreach ($answerStats as $index => &$value) {
$value = number_format(($value / $poll->answers_count) * 100, 2) . '%';
}
$resource = new PollResource($poll);
} else {
$resource = new JsonResource(null);
}
$resource = new PollResource($poll);
$resource->additional([
'selection' => $selection,
'answer_stats' => $answerStats,