input('name') != '') { $data = [ 'account_id' => Auth::user()->account_id, 'author_id' => Auth::id(), 'vault_id' => $vaultId, 'group_type_id' => $request->input('group_type_id'), 'name' => $request->input('name'), ]; $group = (new CreateGroup())->execute($data); $groupId = $group->id; } $data = [ 'account_id' => Auth::user()->account_id, 'author_id' => Auth::id(), 'vault_id' => $vaultId, 'contact_id' => $contactId, 'group_id' => $request->input('group_id') != 0 ? $request->input('group_id') : $groupId, 'group_type_role_id' => $request->input('group_type_role_id') ?? null, ]; $group = (new AddContactToGroup())->execute($data); $contact = Contact::find($contactId); return response()->json([ 'data' => ModuleGroupsViewHelper::dto($contact, $group, true), ], 201); } public function destroy(Request $request, int $vaultId, int $contactId, int $groupId) { $data = [ 'account_id' => Auth::user()->account_id, 'author_id' => Auth::id(), 'vault_id' => $vaultId, 'contact_id' => $contactId, 'group_id' => $groupId, ]; $group = (new RemoveContactFromGroup())->execute($data); $contact = Contact::find($contactId); return response()->json([ 'data' => ModuleGroupsViewHelper::dto($contact, $group, false), ], 200); } }