summaryrefslogtreecommitdiff
path: root/ping/frontend/src/routes/stocksapi
diff options
context:
space:
mode:
authorMartial Simon <msimon_fr@hotmail.com>2025-09-15 01:07:58 +0200
committerMartial Simon <msimon_fr@hotmail.com>2025-09-15 01:07:58 +0200
commit967be9e750221ab2ab783f95df79bb26d290a45e (patch)
tree6802900a5e975f9f68b169f0f503f040056d6952 /ping/frontend/src/routes/stocksapi
add: added projectsHEADmain
Diffstat (limited to 'ping/frontend/src/routes/stocksapi')
-rw-r--r--ping/frontend/src/routes/stocksapi/chart/+server.ts21
-rw-r--r--ping/frontend/src/routes/stocksapi/insights/+server.ts19
-rw-r--r--ping/frontend/src/routes/stocksapi/quote/+server.ts18
-rw-r--r--ping/frontend/src/routes/stocksapi/search/+server.ts18
-rw-r--r--ping/frontend/src/routes/stocksapi/trendingSymbols/+server.ts16
5 files changed, 92 insertions, 0 deletions
diff --git a/ping/frontend/src/routes/stocksapi/chart/+server.ts b/ping/frontend/src/routes/stocksapi/chart/+server.ts
new file mode 100644
index 0000000..3271e83
--- /dev/null
+++ b/ping/frontend/src/routes/stocksapi/chart/+server.ts
@@ -0,0 +1,21 @@
+import type { RequestHandler } from '@sveltejs/kit';
+import yahooFinance from 'yahoo-finance2';
+
+/**
+ * Example request : GET /stocksapi/chart?query=AAPL&startDate=2025-01-01&
+ */
+export const GET: RequestHandler = async ({ request }) => {
+ const sp = new URL(request.url).searchParams;
+ const query = sp.get('query') || 'AAPL';
+ const startDate = sp.get('startDate') || '2025-01-01';
+ const endDate = sp.get('endDate') || new Date().toISOString().split('T')[0];
+ const interval = sp.get('interval') || '1d';
+
+ const data = await yahooFinance.chart(query, { period1: startDate, period2: endDate, interval: interval });
+ return new Response(JSON.stringify(data), {
+ headers: {
+ 'Content-Type': 'application/json',
+ 'Cache-Control': 'no-cache',
+ },
+ });
+}; \ No newline at end of file
diff --git a/ping/frontend/src/routes/stocksapi/insights/+server.ts b/ping/frontend/src/routes/stocksapi/insights/+server.ts
new file mode 100644
index 0000000..6be76e9
--- /dev/null
+++ b/ping/frontend/src/routes/stocksapi/insights/+server.ts
@@ -0,0 +1,19 @@
+import type { RequestHandler } from '@sveltejs/kit';
+import yahooFinance from 'yahoo-finance2';
+
+/**
+ * Example request : GET /stocksapi/insights?query=AAPL
+ */
+export const GET: RequestHandler = async ({ request }) => {
+ const sp = new URL(request.url).searchParams;
+ const query = sp.get('query') || 'AAPL';
+
+ const queryOptions = { lang: 'en-US', reportsCount: 2, region: 'US' };
+ const data = await yahooFinance.insights(query, queryOptions);
+ return new Response(JSON.stringify(data), {
+ headers: {
+ 'Content-Type': 'application/json',
+ 'Cache-Control': 'no-cache',
+ },
+ });
+}; \ No newline at end of file
diff --git a/ping/frontend/src/routes/stocksapi/quote/+server.ts b/ping/frontend/src/routes/stocksapi/quote/+server.ts
new file mode 100644
index 0000000..96619fc
--- /dev/null
+++ b/ping/frontend/src/routes/stocksapi/quote/+server.ts
@@ -0,0 +1,18 @@
+import type { RequestHandler } from '@sveltejs/kit';
+import yahooFinance from 'yahoo-finance2';
+
+/**
+ * Example request : GET /stocksapi/quote?query=AAPL
+ */
+export const GET: RequestHandler = async ({ request }) => {
+ const sp = new URL(request.url).searchParams;
+ const query = sp.get('query') || 'AAPL';
+
+ const data = await yahooFinance.quote(query);
+ return new Response(JSON.stringify(data), {
+ headers: {
+ 'Content-Type': 'application/json',
+ 'Cache-Control': 'no-cache',
+ },
+ });
+}; \ No newline at end of file
diff --git a/ping/frontend/src/routes/stocksapi/search/+server.ts b/ping/frontend/src/routes/stocksapi/search/+server.ts
new file mode 100644
index 0000000..e58fc6b
--- /dev/null
+++ b/ping/frontend/src/routes/stocksapi/search/+server.ts
@@ -0,0 +1,18 @@
+import type { RequestHandler } from '@sveltejs/kit';
+import yahooFinance from 'yahoo-finance2';
+
+/**
+ * Example request : GET /stocksapi/search?query=AAPL
+ */
+export const GET: RequestHandler = async ({ request }) => {
+ const sp = new URL(request.url).searchParams;
+ const query = sp.get('query') || 'AAPL';
+
+ const data = await yahooFinance.search(query, { region: 'US' })
+ return new Response(JSON.stringify(data), {
+ headers: {
+ 'Content-Type': 'application/json',
+ 'Cache-Control': 'no-cache',
+ },
+ });
+}; \ No newline at end of file
diff --git a/ping/frontend/src/routes/stocksapi/trendingSymbols/+server.ts b/ping/frontend/src/routes/stocksapi/trendingSymbols/+server.ts
new file mode 100644
index 0000000..3dac574
--- /dev/null
+++ b/ping/frontend/src/routes/stocksapi/trendingSymbols/+server.ts
@@ -0,0 +1,16 @@
+import type { RequestHandler } from '@sveltejs/kit';
+import yahooFinance from 'yahoo-finance2';
+
+/**
+ * Example request : GET /stocksapi/trendingSymbols
+ */
+export const GET: RequestHandler = async () => {
+ const queryOptions = { count: 5, lang: 'en-US' };
+ const data = await yahooFinance.trendingSymbols('US', queryOptions);
+ return new Response(JSON.stringify(data), {
+ headers: {
+ 'Content-Type': 'application/json',
+ 'Cache-Control': 'no-cache',
+ },
+ });
+}; \ No newline at end of file