12 return c.json(messages);
13 } catch (error) {
14 console.error("Error fetching chat messages:", error);
15 return c.json({ error: "Failed to fetch chat messages" }, 500);
16 }
17});
28 return c.json(messages);
29 } catch (error) {
30 console.error("Error fetching recent chat messages:", error);
31 return c.json({ error: "Failed to fetch recent chat messages" }, 500);
32 }
33});
11 return c.json(jobsList);
12 } catch (error) {
13 console.error("Error fetching jobs:", error);
14 return c.json({ error: "Failed to fetch jobs" }, 500);
15 }
16});
31 return c.json(job);
32 } catch (error) {
33 console.error("Error fetching job:", error);
34 return c.json({ error: "Failed to fetch job" }, 500);
35 }
36});
23*/
24
25import { fetch as proxiedFetch } from "https://esm.town/v/std/fetch";
26import * as cheerio from "npm:cheerio";
27import { fetchLyricsMetadata } from "./lyrics";
28
29/**
55 }
56
57 const res = await fetchLyricsMetadata(query);
58
59 if (res.status === 200 && res.url !== "Not found") {
63 "Accept-Language": "en-US,en;q=0.9",
64 "Cache-Control": "max-age=0",
65 "Sec-Fetch-Dest": "document",
66 "Sec-Fetch-Mode": "navigate",
67 "Sec-Fetch-Site": "none",
68 "Sec-Fetch-User": "?1",
69 "Sec-Gpc": "1",
70 "Upgrade-Insecure-Requests": "1",
80 }
81
82 const response = await fetch(res.url, { headers: headers });
83 const targetHtml = await response.text();
84 let $ = cheerio.load(targetHtml);
23*/
24
25import { fetch as proxiedFetch } from "https://esm.town/v/std/fetch";
26
27interface LyricsResponse {
53}
54
55export const fetchLyricsMetadata = async (
56 searchTerm: string,
57): Promise<LyricsResponse> => {
73
74 // Make the API request
75 const response = await proxiedFetch(target, { headers });
76 const data = await response.json();
77
106 return c.json({ success: true, data: resumes });
107 } catch (error) {
108 console.error("Error fetching resumes:", error);
109 return c.json({ success: false, error: "Failed to fetch resumes" }, 500);
110 }
111});
125 return c.json({ success: true, data: resume });
126 } catch (error) {
127 console.error("Error fetching resume:", error);
128 return c.json({ success: false, error: "Failed to fetch resume" }, 500);
129 }
130});
169 return c.json({ success: true, data: jobs });
170 } catch (error) {
171 console.error("Error fetching job requirements:", error);
172 return c.json({ success: false, error: "Failed to fetch job requirements" }, 500);
173 }
174});
188 return c.json({ success: true, data: job });
189 } catch (error) {
190 console.error("Error fetching job requirement:", error);
191 return c.json({ success: false, error: "Failed to fetch job requirement" }, 500);
192 }
193});
298
299// Export the Hono app
300export default app.fetch;
26 const [error, setError] = useState<string | null>(null);
27
28 // Fetch resumes and jobs on initial load
29 React.useEffect(() => {
30 fetchResumes();
31 fetchJobs();
32 }, []);
33
34 // Fetch all resumes
35 const fetchResumes = async () => {
36 try {
37 const response = await fetch("/api/resumes");
38 const data = await response.json();
39
41 setResumes(data.data);
42 } else {
43 setError(data.error || "Failed to fetch resumes");
44 }
45 } catch (error) {
46 console.error("Error fetching resumes:", error);
47 setError("Failed to fetch resumes");
48 }
49 };
50
51 // Fetch all jobs
52 const fetchJobs = async () => {
53 try {
54 const response = await fetch("/api/jobs");
55 const data = await response.json();
56
58 setJobs(data.data);
59 } else {
60 setError(data.error || "Failed to fetch jobs");
61 }
62 } catch (error) {
63 console.error("Error fetching jobs:", error);
64 setError("Failed to fetch jobs");
65 }
66 };
72
73 try {
74 const response = await fetch("/api/resumes", {
75 method: "POST",
76 headers: {
84 if (data.success) {
85 // Refresh resumes list
86 await fetchResumes();
87 setActiveTab("results");
88 } else {
103
104 try {
105 const response = await fetch("/api/jobs", {
106 method: "POST",
107 headers: {
115 if (data.success) {
116 // Refresh jobs list
117 await fetchJobs();
118 setSelectedJob(data.data);
119 setActiveTab("results");
154
155 // Score resumes
156 const response = await fetch("/api/score/batch", {
157 method: "POST",
158 headers: {
184
185 try {
186 const response = await fetch("/api/score", {
187 method: "POST",
188 headers: {
20
21 // Read the HTML file content
22 const response = await fetch(new URL(htmlFile, import.meta.url));
23 const html = await response.text();
24
1const script = `
2export default {
3 async fetch(request, env, ctx) {
4 const url = new URL(request.url);
5 url.host = "embed-hono.lime4042.workers.dev";
6 console.log(url)
7 const r = await fetch(url,request);
8 return new Response((r).body,r);
9 },
19 files.append("uuid", uuid);
20 files.append("token", key);
21 const upload = await fetch(
22 `https://temptemp-workers.web.val.run/pushCode?uuid=${uuid}&token=${key}`,
23 {
20});
21
22export default app.fetch;
1/** @jsxImportSource https://esm.sh/hono@latest/jsx **/
2
3import { modifyFetchHandler } from "https://esm.town/v/andreterron/codeOnValTown?v=50";
4import { iframeHandler } from "https://esm.town/v/nbbaier/iframeHandler";
5import { resetStyle } from "https://esm.town/v/nbbaier/resetStyle";
16import { sqliteStyle } from "https://esm.town/v/robaggio/sqliteStyle";
17import { ResultSet, sqlite } from "https://esm.town/v/std/sqlite";
18import { reloadOnSaveFetchMiddleware } from "https://esm.town/v/stevekrouse/reloadOnSave";
19import { Hono } from "npm:hono";
20import type { FC } from "npm:hono/jsx";
175});
176
177export const handler = app.fetch;
178export default iframeHandler(modifyFetchHandler(passwordAuth(handler, { verifyPassword: verifyToken })));