RohanVashisht commited on
Commit
58ed523
·
verified ·
1 Parent(s): 0c9c48a

Update src/index.ts

Browse files
Files changed (1) hide show
  1. src/index.ts +15 -32
src/index.ts CHANGED
@@ -85,42 +85,25 @@ serve({
85
  }
86
 
87
  if (pathname === "/api/infiniteScrollPrograms") {
88
- const section = url.searchParams.get("section");
89
- const [ll, ul] = (url.searchParams.get("range") || "")
90
- .split("..")
91
- .map(Number);
92
 
93
- if (!section || isNaN(ll) || isNaN(ul)) {
94
- return new Response(JSON.stringify([]), {
95
- status: 400,
96
- headers: corsHeaders,
97
- });
98
- }
99
 
100
- const getSortedResponse = (sortFn: Function) =>
101
- new Response(JSON.stringify([...programs].sort(sortFn).slice(ll, ul)), {
102
- status: 200,
103
- headers: corsHeaders,
104
- });
105
 
106
- if (section === "mostUsed") {
107
- return getSortedResponse(
108
- (a: any, b: any) => b.stargazers_count - a.stargazers_count,
109
- );
110
- }
111
-
112
- if (section === "latestRepos") {
113
- return getSortedResponse(
114
- (a: any, b: any) =>
115
- new Date(b.created_at).getTime() - new Date(a.created_at).getTime(),
116
- );
117
- }
118
 
119
- return new Response(JSON.stringify([]), {
120
- status: 400,
121
- headers: corsHeaders,
122
- });
123
- }
124
 
125
  return new Response("Not Found", {
126
  status: 404,
 
85
  }
86
 
87
  if (pathname === "/api/infiniteScrollPrograms") {
88
+ const pageNumberParam = url.searchParams.get("pageNumber");
89
+ const pageNumber = parseInt(pageNumberParam || "0", 10);
 
 
90
 
91
+ if (isNaN(pageNumber) || pageNumber < 0) {
92
+ return new Response(JSON.stringify({ error: "Invalid page number" }), {
93
+ status: 400,
94
+ headers: corsHeaders,
95
+ });
96
+ }
97
 
98
+ const lowerLimit = pageNumber * 10;
99
+ const scrollResults = programs.slice(lowerLimit, lowerLimit + 10);
 
 
 
100
 
101
+ return new Response(JSON.stringify(scrollResults), {
102
+ status: 200,
103
+ headers: corsHeaders,
104
+ });
105
+ }
 
 
 
 
 
 
 
106
 
 
 
 
 
 
107
 
108
  return new Response("Not Found", {
109
  status: 404,