select($filters['fields']); } if (is_array($filters['conditions'])) { if (!empty($filters['conditions']['text'])) { $query->where('AUTH_SOURCE_NAME', 'like', '%' . $filters['conditions']['text'] . '%'); unset($filters['conditions']['text']); } $query->where($filters['conditions']); } $total = $query->count(); if (is_array($filters['start']) || is_array($filters['limit'])) { $start = $filters['start'] ?? 0; $limit = $filters['limit'] ?? 25; $query->offset($start)->limit($limit); } if (is_array($filters['orderBy'])) { $query->orderBy($filters['orderBy'][0], $filters['orderBy'][1] ?? 'asc'); } $data =$query->get()->toArray(); $result = [ 'total' => $total, 'data' => $data ]; return $result; } catch (Exception $exception) { return $exception->getMessage(); } } public static function remove($conditions) { try { $query = static::query(); $query->where($conditions); $deleteRows = $query->delete(); return ['deleteRows' => $deleteRows]; } catch (Exception $exception) { return $exception->getMessage(); } } public static function saveData($authSourceData) { try { if (empty($authSourceData['AUTH_SOURCE_UID'])) { $authSourceData['AUTH_SOURCE_UID'] = G::generateUniqueID(); $responseSave = self::create($authSourceData); } else { $responseSave = self::where('AUTH_SOURCE_UID', $authSourceData['AUTH_SOURCE_UID']) ->update($authSourceData); } return $responseSave; } catch (Exception $exception) { return $exception->getMessage(); } } }