createProfilesFromRequest($request); $created = []; foreach ($profiles as $profile) { $this->apiProfileCreateDbEntry($profile, $request); $created[] = $profile; } $this->fillJsonResponse($request, $response, NotificationLevel::OK, 'Profil', 'Profil successfully created.', $created); } /** * @param Profile $profile Profile to create in the database * @param RequestAbstract $request Request * * @return void * * @since 1.0.0 */ public function apiProfileCreateDbEntry(Profile $profile, RequestAbstract $request) : void { if ($profile->getId() === 0) { $this->createModel($request, $profile, ProfileMapper::class, 'profile'); } } /** * Method to create profile from request. * * @param RequestAbstract $request Request * * @return array * * @since 1.0.0 */ private function createProfilesFromRequest(RequestAbstract $request) : array { $profiles = []; $accounts = $request->getDataList('iaccount-idlist'); foreach ($accounts as $account) { $account = (int) \trim($account); $isInDb = ProfileMapper::getFor($account, 'account'); if ($isInDb->getId() !== 0) { $profiles[] = $isInDb; continue; } $profiles[] = new Profile(AccountMapper::get($account)); } return $profiles; } }