apiResponder->setDto(new ApiResponseDto('Отсутствует доступ к ресурсу')); return response()->json($this->apiResponder->error(), 403); } $entityHistory = Activity::where('log_name', $appName) ->where('subject_id', $subjectId) ->get() ->toArray(); $this->apiResponder->setDto(new ApiResponseDto(null, $this->formatHistory($entityHistory))); //echo '
'; var_dump($this->apiResponder->success()); echo''; //return $this->apiResponder->success(); // return response()->json(); return $this->apiResponder->success(); // die(); // if (empty($entityHistory)) { // $this->apiResponder->setDto(new ApiResponseDto()); // return response()->json($this->apiResponder->error()); // } // $this->apiResponder->setDto(new ApiResponseDto('', )); // return response()->json($this->apiResponder->error()); // die(); // //$appName = $moduleName ?? (new ModuleService())->getModuleName(); // //echo '
'; var_dump(UserService->getUserAppPermissions()); echo''; // echo '
'; var_dump($rqst->subject_id); echo''; // echo '
'; var_dump($appName); echo''; // if (!$appName) { // #Гаврилов // //ВОЗВРАЩАЕМ ОШИБКУ, ЕСЛИ ИСТОРИЯ НЕ НАЙДЕНА. ИЛИ НА УРОВНЕ ФРОНТА ПРОВЕРЯЕМ ПУСТАЯ ЛИ ИСТОРИЯ И ВЫВОДИМ ВСПЛЫВАЮЩЕЕ ОКНО что "ИСТОРИЯ ОТСУТСТВУЕТ" // return ''; // } // return ''; // // $entityHistory = Activity::where('log_name', 'Taxi') // // ->where('subject_id', $entityId) // // ->get(); // // return $entityHistory; } private function formatHistory($historyData) { $formattedHistory = []; foreach ($historyData as $historyAction) { $historyChange = []; #Гаврилов //ДОЛЖНО ЛОГИРОВАТЬСЯ ID АУТЕНТИФИЦИРОВАННОГО ПОЛЬЗОВАТЕЛЯ. сЕЙЧАС ЗАПИСЫВАЕМ КОЛХОЗНО В PROPERTIES. //ПРОВЕРЬ ЧТО ДЕЛАТЬ, ЕСЛИ ПОЛЬЗОВАТЕЛЬ - API? $historyChange['changeAction'] = $historyAction['business_event']; $user = User::find($historyAction['causer_id']); $login = $user->login; $historyChange['changeAuthor'] = $login; $actionDate = new \DateTime($historyAction['created_at']); $historyChange['changeDate'] = $actionDate->format('d.m.Y'); $historyChange['changeTime'] = $actionDate->format('H:i:s'); $historyChange['changeDetails'] = json_encode($historyAction['properties']['attributes'], JSON_UNESCAPED_UNICODE); $formattedHistory[] = $historyChange; } //ГАВРИЛОВ. СОЗДАЙ СЕРВИС. В НЕМ РЕАЛ3ИЗУЙ МЕТОДЫ НАЗНАЧЕНИЯ ЗНАЧЕНИЙ КАЖДОМУ СВОЙСТВУ ОБЪЕКТА ИСТОРИИ . ИЗ КОНТРОЛЛЕРА СОЗДАВАЙ ЭКЗЕМПЛЯР КЛАССА СЕРВИСА. В КОНТРОЛЛЕРЕ СЕРВИСА ПО ОЧЕРЕДИ ВЫЗЫВАЙ ВСЕ МЕТОДЫ НАЗНАЧЕНИЯ СВОЙСТВ ИСТОРИИ. return $formattedHistory; //changeAction: string, //Совершенное действие: создание, удаление, редактирование, архивирование и т.д. // changeAuthor: string, //Автор изменения: логин, сервисная УЗ // changeDate: Date //Объект даты изменения. В объекте будет либо время (тогда показываем), либо время будет отсутствовать (тогда не показываем) //что будем передавать? объект new Date или библиотечный объект для работы с датами? // changeTime?: string //Время изменений. Передавать не нужно, на этабе сборки компонента будет формироваться на основе пропса changeDate // changeDetails?: HistoryEntityElDetails[] } }