File size: 941 Bytes
5769f09
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import extractSearchResults from "../extractors/search.extractor.js";

export const search = async (req) => {
  try {
    let { keyword, type, status, rated, score, season, language, genres, sort, sy, sm, sd, ey, em, ed } = req.query;
    let page = parseInt(req.query.page) || 1;

    const [totalPage, data] = await extractSearchResults({
      keyword: keyword,
      type: type,
      status: status,
      rated: rated,
      score: score,
      season: season,
      language: language,
      genres: genres,
      sort: sort,
      page: page,
      sy: sy,
      sm: sm,
      sd: sd,
      ey: ey,
      em: em,
      ed: ed,
    });
    if (page > totalPage) {
      const error = new Error("Requested page exceeds total available pages.");
      error.status = 404;
      throw error;
    }
    return { data, totalPage };
  } catch (e) {
    console.error(e);
    if (e.status === 404) {
      throw e;
    }
    throw e;
  }
};