diff --git a/app.js b/app.js index 97bd915..f59f006 100644 --- a/app.js +++ b/app.js @@ -12,6 +12,7 @@ var getUserAccounts = require('./routes/getUserAccounts') var singleUserCheck = require('./routes/singleCheck') var addAccount = require('./routes/addAccount') var readCookie = require('./routes/readCookie') +var getStreamNames = require('./routes/getStreamNames') var login = require('./routes/login') var app = express(); const basicAuth = require('express-basic-auth') @@ -42,6 +43,7 @@ app.use('/getUserAccounts', getUserAccounts); app.use('/singleCheck', basicAuth(users), singleUserCheck) app.use('/addAccount', addAccount) app.use('/readCookie', readCookie) +app.use('/getStreamNames', getStreamNames) // catch 404 and forward to error handler diff --git a/client/src/components/AddAccount.jsx b/client/src/components/AddAccount.jsx index 063f388..7331787 100644 --- a/client/src/components/AddAccount.jsx +++ b/client/src/components/AddAccount.jsx @@ -1,5 +1,6 @@ import React, { Component } from "react"; import axios from "axios"; +import DropDown from "./accountDropDown" class AddAccount extends Component { constructor() { @@ -11,6 +12,7 @@ class AddAccount extends Component { }; } + componentDidMount() { // fetch("/getStreams") // .then((res) => res.json()) @@ -51,6 +53,7 @@ class AddAccount extends Component { }; render() { + const { username, password, stream } = this.state; return ( @@ -89,6 +92,7 @@ class AddAccount extends Component {


+

diff --git a/client/src/components/accountDropDown.jsx b/client/src/components/accountDropDown.jsx new file mode 100644 index 0000000..3043d2e --- /dev/null +++ b/client/src/components/accountDropDown.jsx @@ -0,0 +1,53 @@ +import React from "react"; + +var values; + +class DropDown extends React.Component { + constructor() { + super(); + this.state = { + options: [], + }; + } + + componentDidMount() { + this.fetchOptions(); + } + + fetchOptions() { + fetch("/getStreamNames") + .then((res) => { + return res.json(); + }) + .then((json) => { + values = json; + let arr = []; + values.forEach((element) => { + arr.push(element.streamName); + }); + this.setState({ options: arr }); + }); + } + + state = { value: "Large" }; + + handleChange = (event) => { + this.setState({ + value: event.target.value + }); +} + + render() { + return ( +
+ +
+ ); + } +} + +export default DropDown; diff --git a/client/src/components/index.js b/client/src/components/index.js index b9e9969..0a066cd 100644 --- a/client/src/components/index.js +++ b/client/src/components/index.js @@ -3,4 +3,5 @@ export { default as Footer } from "./Footer"; export { default as Home } from "./Home"; export { default as Accounts } from "./Accounts"; export { default as ServerList } from "./ServerList"; -export { default as AddAccount } from "./AddAccount" \ No newline at end of file +export { default as AddAccount } from "./AddAccount" +export {default as DropDown } from "./accountDropDown" \ No newline at end of file diff --git a/lib/getStreamNames.js b/lib/getStreamNames.js new file mode 100644 index 0000000..b7f5cf9 --- /dev/null +++ b/lib/getStreamNames.js @@ -0,0 +1,16 @@ +const sql = require('./mysql') + +function getStreamNames() { + let data = sql.query(`SELECT idstreams, streamName FROM BBLB_DNS.streams`) + // console.log(data) + if (data.length == 0) { + return 'StreamsFailed' + } else { + return data + } +} + +module.exports = { + getStreamNames +} + diff --git a/routes/getStreamNames.js b/routes/getStreamNames.js new file mode 100644 index 0000000..23d5c50 --- /dev/null +++ b/routes/getStreamNames.js @@ -0,0 +1,16 @@ +var express = require('express'); +var router = express.Router(); + +const { getStreamNames } = require('../lib/getStreamNames') + +/* POST postUser page. */ +router.get('/', async function (req, res, next) { + if (req.signedCookies.user === undefined) { + res.send('Cookie Not Set') + } else { + let data = await getStreamNames() + res.send(data) + } +}); + +module.exports = router;