'required|date', 'account_id' => 'required|integer|exists:accounts,id', 'contact_id' => 'required|integer|exists:contacts,id', 'contact_field_type_id' => 'required|integer|exists:contact_field_types,id', ]; } /** * Create a conversation. * * @param array $data * @return Conversation */ public function execute(array $data): Conversation { $this->validate($data); $contact = Contact::where('account_id', $data['account_id']) ->findOrFail($data['contact_id']); $contact->throwInactive(); ContactFieldType::where('account_id', $data['account_id']) ->findOrFail($data['contact_field_type_id']); return Conversation::create($data); } }