feat: added event and event handler
This commit is contained in:
		
							
								
								
									
										5
									
								
								server/src/config/eventEmitter.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								server/src/config/eventEmitter.ts
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,5 @@ | ||||
| import { EventEmitter } from "events"; | ||||
|  | ||||
| class DomainEventEmitter extends EventEmitter {} | ||||
|  | ||||
| export const domainEventEmitter = new DomainEventEmitter(); | ||||
							
								
								
									
										14
									
								
								server/src/event/ttnMessageReceivedEvent.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								server/src/event/ttnMessageReceivedEvent.ts
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,14 @@ | ||||
| export const TtnMessageReceivedEventName = "TtnMessageReceived"; | ||||
| export type TtnMessageReceivedEvent = { | ||||
|   lp_ttn_end_device_uplinks_id: string; | ||||
|   wifis: { | ||||
|     mac: string; | ||||
|     rssi: number; | ||||
|   }[]; | ||||
|   ttnGateways: { | ||||
|     rssi: number; | ||||
|     latitude: number; | ||||
|     longitude: number; | ||||
|     altitude: number; | ||||
|   }[]; | ||||
| }; | ||||
							
								
								
									
										13
									
								
								server/src/eventHandler/ttnMessageReceivedEventHandler.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								server/src/eventHandler/ttnMessageReceivedEventHandler.ts
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,13 @@ | ||||
| import { domainEventEmitter } from "../config/eventEmitter"; | ||||
| import { | ||||
|   TtnMessageReceivedEvent, | ||||
|   TtnMessageReceivedEventName, | ||||
| } from "../event/ttnMessageReceivedEvent"; | ||||
|  | ||||
| domainEventEmitter.on( | ||||
|   TtnMessageReceivedEventName, | ||||
|   async (event: TtnMessageReceivedEvent) => { | ||||
|     console.log(event); | ||||
|     // TODO Hendrik 🚀 | ||||
|   } | ||||
| ); | ||||
| @ -1,6 +1,7 @@ | ||||
| import dotenv from "dotenv"; | ||||
| import express from "express"; | ||||
| import "reflect-metadata"; | ||||
| import "./eventHandler/ttnMessageReceivedEventHandler"; | ||||
| const cors = require("cors"); | ||||
|  | ||||
| import locationRoutes from "./controller/locationController"; | ||||
|  | ||||
		Reference in New Issue
	
	Block a user