← back to dhruv-m-patel__universal-react

Function bodies 59 total

All specs Real LLM only Function bodies
UsersRepository.getUserById method · javascript · L28-L33 (6 LOC)
src/server/repositories/UsersRepository.js
  async getUserById(id) {
    if (!id) {
      throw new Error('User ID is required');
    }
    return await this.get(`/users/${id}`);
  }
UsersRepository.getUserPosts method · javascript · L40-L45 (6 LOC)
src/server/repositories/UsersRepository.js
  async getUserPosts(userId) {
    if (!userId) {
      throw new Error('User ID is required');
    }
    return await this.get(`/users/${userId}/posts`);
  }
UsersRepository.getUserAlbums method · javascript · L52-L57 (6 LOC)
src/server/repositories/UsersRepository.js
  async getUserAlbums(userId) {
    if (!userId) {
      throw new Error('User ID is required');
    }
    return await this.get(`/users/${userId}/albums`);
  }
UsersRepository.updateUser method · javascript · L74-L79 (6 LOC)
src/server/repositories/UsersRepository.js
  async updateUser(id, userData) {
    if (!id) {
      throw new Error('User ID is required');
    }
    return await this.put(`/users/${id}`, userData);
  }
UsersRepository.deleteUser method · javascript · L86-L91 (6 LOC)
src/server/repositories/UsersRepository.js
  async deleteUser(id) {
    if (!id) {
      throw new Error('User ID is required');
    }
    return await this.delete(`/users/${id}`);
  }
Router function · javascript · L14-L28 (15 LOC)
src/server/router.jsx
export default function Router() {
  return (
    <Routes>
      <Route path="/" element={<HomePage />} />
      <Route path="/posts" element={<PostsPage />} />
      <Route path="/posts/:id" element={<PostDetailPage />} />
      <Route path="/users" element={<UsersPage />} />
      <Route path="/users/:id" element={<UserProfilePage />} />
      {/* Error pages for SSR error handling */}
      <Route path="/404" element={<NotFound />} />
      <Route path="/500" element={<ServerError />} />
      <Route path="*" element={<NotFound />} />
    </Routes>
  );
}
postsRoutes function · javascript · L6-L91 (86 LOC)
src/server/routes/api/posts.js
export default async function postsRoutes(router) {
  /**
   * GET /api/posts
   * Fetch paginated list of posts
   * Query params:
   *   - page: Page number (default: 1)
   *   - limit: Posts per page (default: 10)
   */
  router.get('/', async (req, res) => {
    try {
      const page = parseInt(req.query.page) || 1;
      const limit = parseInt(req.query.limit) || 10;

      const posts = await req.repositories.posts.getPosts(page, limit);

      res.json(posts);
    } catch (error) {
      console.error('Error fetching posts:', error);
      res.status(500).json({
        error: 'Failed to fetch posts',
        message: error.message,
      });
    }
  });

  /**
   * GET /api/posts/:id
   * Fetch a single post by ID
   */
  router.get('/:id', async (req, res) => {
    try {
      const { id } = req.params;

      if (!id || isNaN(id)) {
        return res.status(400).json({
          error: 'Invalid post ID',
          message: 'Post ID must be a valid number',
        });
     
Want fix-PRs on findings? Install Repobility's GitHub App · github.com/apps/repobility-bot
usersRoutes function · javascript · L6-L119 (114 LOC)
src/server/routes/api/users.js
export default async function usersRoutes(router) {
  /**
   * GET /api/users
   * Fetch all users
   */
  router.get('/', async (req, res) => {
    try {
      const users = await req.repositories.users.getUsers();
      res.json(users);
    } catch (error) {
      console.error('Error fetching users:', error);
      res.status(500).json({
        error: 'Failed to fetch users',
        message: error.message,
      });
    }
  });

  /**
   * GET /api/users/:id
   * Fetch a single user by ID
   */
  router.get('/:id', async (req, res) => {
    try {
      const { id } = req.params;
      const { include_posts: includePosts = false } = req.query;

      if (!id || isNaN(id)) {
        return res.status(400).json({
          error: 'Invalid user ID',
          message: 'User ID must be a valid number',
        });
      }

      const user = await req.repositories.users.getUserById(id);
      if (!user || !user.id) {
        return res.status(404).json({
          error: 'User not foun
index function · javascript · L12-L150 (139 LOC)
src/server/routes/index.js
export default async function index(router) {
  // Homepage - no data pre-fetching needed
  router.get('/', async (req, res, next) => {
    next();
  });

  // Posts list page - pre-fetch posts data
  router.get('/posts', async (req, res, next) => {
    try {
      const page = parseInt(req.query.page) || 1;
      const limit = parseInt(req.query.limit) || 10;

      // Fetch posts data from repository
      const posts = await req.repositories.posts.getPosts(page, limit);

      // Merge with existing initialState, maintaining other data
      const initialState = getInitialState(req);
      req.initialState = {
        ...initialState,
        posts: {
          ...initialState?.posts,
          posts: {
            data: posts,
            currentPage: page,
            totalPages: 10,
          },
        },
      };
      next();
    } catch (error) {
      console.error('Error pre-fetching posts:', error);
      // Pass error to error handler for posts list failures
      error.s
‹ prevpage 2 / 2