Browse Source

Add /devices route API

main
Haris Razis 4 years ago
parent
commit
2bddb7dfc5
No known key found for this signature in database GPG Key ID: 86A4D290ED03FAB4
  1. 18
      server/src/class/Socket.ts
  2. 2
      server/src/index.ts
  3. 6
      server/src/routes/Routes.ts

18
server/src/class/Socket.ts

@ -5,6 +5,10 @@ interface database {
closeWrite(): void;
}
interface server extends SocketIO.Server {
allSockets(): Promise<{}>;
}
interface packet {
uuid: string;
measurement: number;
@ -12,7 +16,7 @@ interface packet {
}
export class Socket<T> {
private io!: SocketIO.Server;
private io!: server;
constructor(
private eventName: string,
@ -50,8 +54,16 @@ export class Socket<T> {
});
}
get rooms() {
return this.io.sockets.adapter.rooms;
get rooms(): Array<String> {
let roomsArray: Array<String> = [];
this.io.allSockets().then((msg: any) => {
console.log(msg);
const iterator = msg.entries();
for (const entry of iterator) {
roomsArray.push(entry[0]);
}
});
return roomsArray;
}
closeSocket(): void {

2
server/src/index.ts

@ -1,6 +1,7 @@
require('dotenv').config();
import express from 'express';
import chalk from 'chalk';
var cors = require('cors');
import { Service } from './class/Service';
import { AppRouter } from './AppRouter';
import { Routes } from './routes/Routes';
@ -11,6 +12,7 @@ const app = express();
const http = require('http').Server(app);
const service = new Service(http);
app.use(cors());
app.use(AppRouter.getInstance());
const route = new Routes(app, service);

6
server/src/routes/Routes.ts

@ -11,11 +11,9 @@ export class Routes {
private devices(): void {
this.app.get('/devices', async (req, res) => {
const data = this.service.socket.rooms;
console.log(data);
const parsedOata = JSON.stringify(data);
const data = await this.service.socket.rooms;
res.header('Content-Type', 'application/json');
res.send(parsedOata);
res.send(JSON.stringify(data));
});
}

Loading…
Cancel
Save