Removed Tailwind css, moved api to v1 dir
This commit is contained in:
parent
c8f96eb694
commit
c9fba4666e
18 changed files with 195 additions and 453 deletions
app/api/v1/species
88
app/api/v1/species/route.ts
Normal file
88
app/api/v1/species/route.ts
Normal file
|
@ -0,0 +1,88 @@
|
|||
import { google } from 'googleapis';
|
||||
import { NextResponse } from 'next/server';
|
||||
|
||||
export async function GET() {
|
||||
const target = ['https://www.googleapis.com/auth/spreadsheets.readonly'];
|
||||
const jwt = new google.auth.JWT(
|
||||
process.env.API_EMAIL,
|
||||
undefined,
|
||||
(process.env.API_KEY || '').replace(/\\n/g, '\n'),
|
||||
target
|
||||
);
|
||||
|
||||
const sheets = google.sheets({ version: 'v4', auth: jwt });
|
||||
const response = await sheets.spreadsheets.get({
|
||||
spreadsheetId: process.env.SPREADSHEET_ID,
|
||||
ranges: [
|
||||
'Overview!B22:R22',
|
||||
'Overview!B23:S23',
|
||||
'Overview!B24:R24',
|
||||
'Overview!B25:S25',
|
||||
'Overview!B26:S26',
|
||||
'Overview!B27:Q27',
|
||||
'Overview!B28:Q28',
|
||||
'Overview!B29:Q29',
|
||||
'Overview!B30:P30',
|
||||
'Overview!B31:P31',
|
||||
'Overview!B32:P32',
|
||||
'Overview!B33:P33',
|
||||
'Overview!B34:O34',
|
||||
],
|
||||
includeGridData: true,
|
||||
});
|
||||
|
||||
const sheetsData = response.data.sheets;
|
||||
if (sheetsData?.length) {
|
||||
|
||||
const rows = sheetsData[0].data;
|
||||
const merges = sheetsData[0].merges;
|
||||
if (rows?.length) {
|
||||
let rowLenghts = new Array<any>;
|
||||
if (rows[0].rowData?.length) {
|
||||
rowLenghts = rows[0].rowData;
|
||||
}
|
||||
let speciesArray = new Array<number>;
|
||||
|
||||
for (let i = 0; i < rows.length; i++) {
|
||||
let sRows = rows[i].rowData;
|
||||
if (sRows?.length) {
|
||||
let data = sRows[0].values;
|
||||
if (data?.length) {
|
||||
speciesArray[i] = 0;
|
||||
for (let j = 0; j < data.length; j++) {
|
||||
switch (data[j].userEnteredValue?.stringValue) {
|
||||
case ("Taken"): {
|
||||
speciesArray[i] = speciesArray[i] + 2;
|
||||
break;
|
||||
}
|
||||
case ("A"):
|
||||
case ("B"):
|
||||
case ("-"): {
|
||||
speciesArray[i] = speciesArray[i] + 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (merges?.length) {
|
||||
merges.slice(1, merges.length).forEach(merge => {
|
||||
if (merge.startRowIndex && merge.startRowIndex - 21 == i) {
|
||||
speciesArray[i] = speciesArray[i] + 2;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
else {
|
||||
speciesArray[i] = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
console.log("New Google Data loaded " + Intl.DateTimeFormat('en-UK', {hour: 'numeric', minute: 'numeric', hour12: false}).format(Date.now()));
|
||||
return NextResponse.json({ speciesArray });
|
||||
}
|
||||
}
|
||||
else {
|
||||
return NextResponse.json({ status: 500 })
|
||||
}
|
||||
}
|
Reference in a new issue