voicemails; } public function store(Request $request, int $accountId) { $account = Account::findOrFail($accountId); $request->validate([ 'sip_from' => 'nullable|starts_with:sip', 'content_type' => [ 'required', Rule::in(AccountFile::VOICEMAIL_CONTENTTYPES), ] ]); $voicemail = new AccountFile; $voicemail->account_id = $account->id; $voicemail->sip_from = $request->get('sip_from'); $voicemail->content_type = $request->get('content_type'); $voicemail->save(); $voicemail->append(['upload_url', 'max_upload_size']); return $voicemail; } public function show(Request $request, int $accountId, string $uuid) { return Account::findOrFail($accountId)->voicemails()->where('id', $uuid)->firstOrFail(); } public function destroy(Request $request, int $accountId, string $uuid) { return Account::findOrFail($accountId)->voicemails()->where('id', $uuid)->delete(); } }