Update API docs
This commit is contained in:
@@ -4,21 +4,30 @@ import { ChannelPins, digitalValue, voltage } from ".";
|
||||
import { Led } from "johnny-five";
|
||||
|
||||
|
||||
export async function readLed (req: Request, res: Response) {
|
||||
const { p } = req.params;
|
||||
const pin: number = Number.parseInt(p);
|
||||
|
||||
const pinState: digitalValue = board.pins[pin].value == 1 ? 'ON' : 'OFF';
|
||||
|
||||
return res.status(200).json({
|
||||
status: 200,
|
||||
pin_state: {
|
||||
[pin]: pinState
|
||||
}
|
||||
});
|
||||
export function readLed (req: Request, res: Response): Response<string | any> {
|
||||
try {
|
||||
const { p } = req.params;
|
||||
const pin: number = Number.parseInt(p);
|
||||
|
||||
const pinState: digitalValue = board.pins[pin].value == 1 ? 'ON' : 'OFF';
|
||||
|
||||
return res.status(200).json({
|
||||
status: 200,
|
||||
pin_state: {
|
||||
[pin]: pinState
|
||||
}
|
||||
});
|
||||
}
|
||||
catch (err) {
|
||||
console.error(err);
|
||||
return res.status(500).json({
|
||||
status: 200,
|
||||
message: "Internal server error"
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
export async function writeLed (req: Request, res: Response) {
|
||||
export function writeLed (req: Request, res: Response): Response<string | any> {
|
||||
const { p, a } = req.params;
|
||||
const act: string = a.toLocaleLowerCase();
|
||||
const pin: number = Number.parseInt(p);
|
||||
@@ -63,47 +72,56 @@ export async function writeLed (req: Request, res: Response) {
|
||||
};
|
||||
|
||||
|
||||
export async function readRgbLed (req: Request, res: Response) {
|
||||
export function readRgbLed (req: Request, res: Response): Response<string | any> {
|
||||
const r: number = Number.parseInt(req.body.r);
|
||||
const g: number = Number.parseInt(req.body.g);
|
||||
const b: number = Number.parseInt(req.body.b);
|
||||
|
||||
const rgbPins: number[] = Object.values({ r, g, b });
|
||||
try {
|
||||
const rgbPins: number[] = Object.values({ r, g, b });
|
||||
|
||||
for (let i = 0; i < rgbPins.length; i++) {
|
||||
const pin = rgbPins[i];
|
||||
if (Number.isNaN(pin)) {
|
||||
return res.status(400).json({
|
||||
status: 400,
|
||||
message: `Invalid pin ${pin} param, it should be integer`
|
||||
});
|
||||
for (let i = 0; i < rgbPins.length; i++) {
|
||||
const pin = rgbPins[i];
|
||||
if (Number.isNaN(pin)) {
|
||||
return res.status(400).json({
|
||||
status: 400,
|
||||
message: `Invalid pin ${pin} param, it should be integer`
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
const led = new Led.RGB({
|
||||
pins: {
|
||||
red: r,
|
||||
green: g,
|
||||
blue: b
|
||||
},
|
||||
isAnode: true
|
||||
})
|
||||
|
||||
led.red = new Led(r);
|
||||
led.green = new Led(g);
|
||||
led.blue = new Led(b);
|
||||
|
||||
return res.status(200).json({
|
||||
status: 200,
|
||||
pin_state: {
|
||||
[r]: led.red.isOn,
|
||||
[g]: led.green.isOn,
|
||||
[b]: led.blue.isOn
|
||||
}
|
||||
});
|
||||
}
|
||||
catch (err) {
|
||||
console.error(err);
|
||||
return res.status(500).json({
|
||||
status: 200,
|
||||
message: "Internal server error"
|
||||
})
|
||||
}
|
||||
|
||||
const led = new Led.RGB({
|
||||
pins: {
|
||||
red: r,
|
||||
green: g,
|
||||
blue: b
|
||||
},
|
||||
isAnode: true
|
||||
})
|
||||
|
||||
led.red = new Led(r);
|
||||
led.green = new Led(g);
|
||||
led.blue = new Led(b);
|
||||
|
||||
return res.status(200).json({
|
||||
status: 200,
|
||||
pin_state: {
|
||||
[r]: led.red.isOn,
|
||||
[g]: led.green.isOn,
|
||||
[b]: led.blue.isOn
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
export async function writeRgbLed (req: Request, res: Response) {
|
||||
export function writeRgbLed (req: Request, res: Response): Response<string | any> {
|
||||
const r: ChannelPins = req.body.r;
|
||||
const g: ChannelPins = req.body.g;
|
||||
const b: ChannelPins = req.body.b;
|
||||
@@ -140,14 +158,14 @@ export async function writeRgbLed (req: Request, res: Response) {
|
||||
const pins: string = rgbLeds.map(c => c.pin.toString()).join(", ");
|
||||
const values: string = rgbLeds.map(c => `${c.value}`).join(", ");
|
||||
|
||||
res.status(200).json({
|
||||
return res.status(200).json({
|
||||
status: 200,
|
||||
message: `Success changed pins ${pins} to state ${values}`
|
||||
});
|
||||
}
|
||||
catch (err) {
|
||||
console.error(err);
|
||||
res.status(500).json({
|
||||
return res.status(500).json({
|
||||
status: 500,
|
||||
message: "Internal Server Error"
|
||||
});
|
||||
|
||||
@@ -10,9 +10,12 @@ export function readPin (req: Request, res: Response) {
|
||||
|
||||
return res.status(200).json({
|
||||
status: 200,
|
||||
state: {
|
||||
used: true
|
||||
},
|
||||
pins: [
|
||||
{
|
||||
pin: pin,
|
||||
mode: mode
|
||||
}
|
||||
],
|
||||
message: `Pin ${pin} is ${mode}`
|
||||
});
|
||||
}
|
||||
@@ -28,6 +31,12 @@ export function setPin (req: Request, res: Response) {
|
||||
|
||||
return res.status(200).json({
|
||||
status: 200,
|
||||
pins: [
|
||||
{
|
||||
pin: pin,
|
||||
mode: mode
|
||||
}
|
||||
],
|
||||
message: `Pin ${pin} setted as ${mode}`
|
||||
});
|
||||
}
|
||||
@@ -8,19 +8,18 @@ import { board, suBoard, comport } from './setup';
|
||||
import { isBoardConnected } from './middleware/connection';
|
||||
import view from './routes/view';
|
||||
import api from './routes/api';
|
||||
import { selectPort } from './ports';
|
||||
import socketHandler from './handlers/socketHandler';
|
||||
|
||||
const app = express();
|
||||
const server = http.createServer(app);
|
||||
const io = new Server(server, {
|
||||
const server: http.Server = http.createServer(app);
|
||||
const io: Server = new Server(server, {
|
||||
cors: {
|
||||
origin: "*"
|
||||
}
|
||||
}); // I have no experience at WebSocket, so.. forgive me :)
|
||||
|
||||
const host = 'localhost';
|
||||
const port = 3000;
|
||||
const host: string = 'localhost';
|
||||
const port: number = 3000;
|
||||
|
||||
app.use(express.json());
|
||||
app.use(express.static('client'));
|
||||
|
||||
Reference in New Issue
Block a user