diff --git a/chatgpt nonsense.js b/chatgpt nonsense.js deleted file mode 100644 index cdc9646..0000000 --- a/chatgpt nonsense.js +++ /dev/null @@ -1,162 +0,0 @@ -const buttons = document.querySelectorAll('.button-container button'); -const ctx = document.getElementById('dataChart').getContext('2d'); - -// Initial dataset (AQI) -const initialData = { - labels: ['', 'Jan 22 11:00 PM', '', '', 'Jan 23 2:00 AM', '', '', 'Jan 23 5:00 AM', '', '', 'Jan 23 8:00 AM', '',], - datasets: [{ - label: 'AQI', - data: [50, 60, 60, 80, 30, 60, 54, 60, 43, 30, 60, 60], - backgroundColor: 'green', - borderColor: 'green', - }] -}; - -const chart = new Chart(ctx, { - type: 'bar', - data: initialData, - options: { - responsive: true, - title: { - display: true, - text: 'HISTORICAL' - }, - subtitle: { - display: true, - text: 'Historic air quality graph for Singapore' - }, - legend: { - display: false - }, - tooltips: { - mode: 'index', - intersect: false, - callbacks: { - label: function (tooltipItem, data) { - const label = data.labels[tooltipItem.index]; - return label + ': ' + data.datasets[0].data[tooltipItem.index]; - } - } - }, - scales: { - xAxes: [{ - barPercentage: 0.6, - categoryPercentage: 0.7, - ticks: { - autoSkip: true, - }, - maxRotation: 0, - minRotation: 0 - }], - yAxes: [{ - title: { - display: true, - text: 'Value' - } - }] - } - } -}); - -// Function to update chart data based on the selected button -const updateChart = (data) => { - chart.data = data; - chart.update(); -}; - -// Event listener for button clicks -buttons.forEach(button => { - button.addEventListener('click', () => { - // Implement logic to switch data based on clicked button - const buttonId = button.id.toLowerCase(); - let newData; - - // Example: Switch data based on button clicked - switch (buttonId) { - case 'aqibutton': - newData = { - labels: ['', 'Jan 22 11:00 PM', '', '', 'Jan 23 2:00 AM', '', '', 'Jan 23 5:00 AM', '', '', 'Jan 23 8:00 AM', '',], - datasets: [{ - label: 'AQI', - data: [50, 60, 60, 80, 30, 60, 54, 60, 43, 30, 60, 60], - backgroundColor: 'green', - borderColor: 'green', - }] - }; - - break; - case 'tempbutton': - newData = { - labels: ['Jan 22 11:00 PM', 'Jan 23 12:00 AM', 'Jan 23 1:00 AM', 'Jan 23 2:00 AM'], - datasets: [{ - label: 'Temperature', - data: [25, 30, 40, 35], - backgroundColor: 'green', - borderColor: 'green', - }] - }; - break; - case 'humbutton': - newData = { - labels: ['Jan 22 11:00 PM', 'Jan 23 12:00 AM', 'Jan 23 1:00 AM', 'Jan 23 2:00 AM'], - datasets: [{ - label: 'Humidity', - data: [25, 30, 40, 35], - backgroundColor: 'green', - borderColor: 'green', - }] - }; - break; - case 'o3button': - newData = { - labels: ['Jan 22 11:00 PM', 'Jan 23 12:00 AM', 'Jan 23 1:00 AM', 'Jan 23 2:00 AM'], - datasets: [{ - label: 'O3', - data: [25, 30, 40, 35], - backgroundColor: 'green', - borderColor: 'green', - }] - }; - break; - case 'no2button': - newData = { - labels: ['Jan 22 11:00 PM', 'Jan 23 12:00 AM', 'Jan 23 1:00 AM', 'Jan 23 2:00 AM'], - datasets: [{ - label: 'NO2', - data: [25, 30, 40, 35], - backgroundColor: 'green', - borderColor: 'green', - }] - }; - break; - case 'so2button': - newData = { - labels: ['Jan 22 11:00 PM', 'Jan 23 12:00 AM', 'Jan 23 1:00 AM', 'Jan 23 2:00 AM'], - datasets: [{ - label: 'SO2', - data: [25, 30, 40, 35], - backgroundColor: 'green', - borderColor: 'green', - }] - }; - break; - case 'cobutton': - newData = { - labels: ['Jan 22 11:00 PM', 'Jan 23 12:00 AM', 'Jan 23 1:00 AM', 'Jan 23 2:00 AM'], - datasets: [{ - label: 'CO', - data: [25, 30, 40, 35], - backgroundColor: 'green', - borderColor: 'green', - }] - }; - break; - - default: - newData = initialData; // Default to initial data (AQI) - break; - } - - updateChart(newData); - }); -}); \ No newline at end of file diff --git a/consumerWebsite/functions/apilog.js b/consumerWebsite/functions/apilog.js new file mode 100644 index 0000000..70f540c --- /dev/null +++ b/consumerWebsite/functions/apilog.js @@ -0,0 +1,11 @@ +const { api_log_Model } = require("../database/model/apiLogModel"); +const {Op} = require("sequelize"); + +async function getAllLog(){ + return await api_log_Model.findAll(); +} + + + + +module.exports = { getAllLog }; \ No newline at end of file diff --git a/consumerWebsite/routes/api_routes.js b/consumerWebsite/routes/api_routes.js index d91b34c..a6f6faa 100644 --- a/consumerWebsite/routes/api_routes.js +++ b/consumerWebsite/routes/api_routes.js @@ -18,6 +18,9 @@ router.use('/sensor', [auth, APIlogger], require('./sensor.js')); //sensor data route router.use('/sensor-data', [auth, APIlogger], require('./sensorData.js')); +//apilog route +router.use('/apilog', [APIlogger], require('./apilog.js')); + //latest sensor data to display on dashboard router.use('/latest-sensor-data', [APIlogger], require('./latestsensorData.js')); diff --git a/consumerWebsite/routes/apilog.js b/consumerWebsite/routes/apilog.js new file mode 100644 index 0000000..6b1eb89 --- /dev/null +++ b/consumerWebsite/routes/apilog.js @@ -0,0 +1,34 @@ +//functions if needed +const { + getAllLog +} = require("../functions/apilog.js"); + +const express = require("express"); +const router = express.Router(); + +//get all +router.get("/", async (req, res, next) => { + let Res = await getAllLog(); + res.json(Res); +}); + +//get by route name? +router.get("/route/:name", async (req, res, next) => { +}); + +//get ny status? +router.get("/status/:status", async (req, res, next) => { +}); + +//by method +router.get("/method/:method", async (req, res, next) => { +}); + +//by ip +router.get("/ip/:ip", async (req, res, next) => { +}); + + + + +module.exports = router; diff --git a/example.html b/example.html deleted file mode 100644 index f4236ab..0000000 --- a/example.html +++ /dev/null @@ -1,277 +0,0 @@ -<%- include('top') %> - - -
- -
- -
-
-
- Air Quality Index -
-
- Average: {{average.aqi}} -
- latest: {{latest.aqi}} -
- -
-
- -
-
-
- Humidity -
-
- Average: {{average.humidity}} -
- latest: {{latest.humidity}} -
- -
-
- -
-
-
- Temperature -
-
- Average: {{average.temperature}} -
- latest: {{latest.temperature}} -
- -
-
- -
-
-
- Wind Speed -
-
- Average: {{average.windspeed}} -
- latest: {{latest.windspeed}} -
- -
-
-
-
- Loading... -
-
- - -<%- include('bot') %> - - - Location - JSON - Location - (Required) Location Example: curl https://api.teeseng.uk/api/v0/sensor/new - -H "Authorization: provide - your API key here" -d '{"location": "11"}' - - - - -
-
-

API Keys

- -

- You can generate API Keys here: -

- - - - - - - - - - - - - - - - - - - -
NamePublic KeyPrivate KeyKey TypeCreated
API KeyGR234-We34greR-234-fEGType2024-01-22
-
-
- - -
-

Errors

-

- The Westeros API uses the following error codes: -

- - - - - - - - - - - - - - - - - - - - - - - - - -
Error CodeMeaning
X000 - Some parameters are missing. This error appears when you don't pass every mandatory - parameters. -
403 - Unknown or unvalid secret_key. This error appears if - you use an unknow API key or if your API key expired. -
500 - Unvalid secret_key No API key was supplied. Invalid - request. -
X003 - Unknown or unvalid user token. This error appears if - you use an unknow user token or if the user token expired. -
-
- - -
-
-

API Keys

- -

- You can generate API Keys here: -

- - - - - - - - - - - - - - - - - - - -
NamePublic KeyPrivate KeyKey TypeCreated
API KeyGR234-We34greR-234-fEGType2024-01-22
-
-
- - -
-

API Keys

-

- You can generate API Keys here: -

-
- - -
- -
-
\ No newline at end of file diff --git a/sensor-data.ejs b/sensor-data.ejs deleted file mode 100644 index 2edee8d..0000000 --- a/sensor-data.ejs +++ /dev/null @@ -1,38 +0,0 @@ -<%- include('top') %> - - - - - - - <%- include('bot') %> \ No newline at end of file