Eingabe und Listing funktionieren erst mal
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import { MongoClient } from 'mongodb';
|
||||
import { update_pflux } from '../db/mongo.js';
|
||||
import { get_pflux } from '../db/mongo.js';
|
||||
|
||||
export function registerAddressRoute(app, requireLogin) {
|
||||
const ADDRESS_SERVICE_URL = process.env.ADDRESS_SERVICE_URL || 'https://noise.fuerst-stuttgart.de/srv/getaddress';
|
||||
@@ -25,16 +25,20 @@ export function registerAddressRoute(app, requireLogin) {
|
||||
return res.status(404).json({ error: 'Sensor nicht gefunden' });
|
||||
}
|
||||
|
||||
// Kopiere nach prop_flux mit sensorNumber als _id
|
||||
try {
|
||||
await propFlux.replaceOne(
|
||||
{ _id: sensorNumber },
|
||||
{ ...propEntry, _id: sensorNumber },
|
||||
{ upsert: true }
|
||||
);
|
||||
} catch (err) {
|
||||
console.error('Fehler beim Kopieren nach prop_flux:', err);
|
||||
// Kein Abbruch, nur Logging
|
||||
// Sensor bekannt -> Wurde der schon rüber kopiert?
|
||||
const propsF = await get_pflux(sensorNumber)
|
||||
if(!propsF.erg) {
|
||||
// nein, also kopieren nach prop_flux mit sensorNumber als _id
|
||||
try {
|
||||
await propFlux.replaceOne(
|
||||
{ _id: sensorNumber },
|
||||
{ ...propEntry, _id: sensorNumber },
|
||||
{ upsert: true }
|
||||
);
|
||||
} catch (err) {
|
||||
console.error('Fehler beim Kopieren nach prop_flux:', err);
|
||||
// Kein Abbruch, nur Logging
|
||||
}
|
||||
}
|
||||
|
||||
// Adresse wie bisher holen (über die Sensornummer via nominative)
|
||||
@@ -58,10 +62,11 @@ export function registerAddressRoute(app, requireLogin) {
|
||||
}
|
||||
|
||||
await client.close();
|
||||
|
||||
return res.json({
|
||||
address: addressString,
|
||||
parts: addrParts,
|
||||
propEntry
|
||||
props: propsF
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ import bcrypt from 'bcrypt';
|
||||
import { getCollections, update_pflux } from '../db/mongo.js';
|
||||
|
||||
export function registerApiRoutes(app, requireLogin) {
|
||||
const { entriesCollection, usersCollection } = getCollections();
|
||||
const { entriesCollection, usersCollection, prop_fluxCollection } = getCollections();
|
||||
|
||||
app.get('/api/check-email', async (req, res) => {
|
||||
const email = (req.query.email || '').toLowerCase().trim();
|
||||
@@ -46,7 +46,7 @@ export function registerApiRoutes(app, requireLogin) {
|
||||
}
|
||||
sensorNumber = parseInt(sensorNumber, 10);
|
||||
try {
|
||||
await entriesCollection.updateOne(
|
||||
await prop_fluxCollection.updateOne(
|
||||
{ _id: new ObjectId(id) },
|
||||
{ $set: { espId, sensorNumber, name, description, address } }
|
||||
);
|
||||
@@ -61,7 +61,7 @@ export function registerApiRoutes(app, requireLogin) {
|
||||
const { id } = req.query;
|
||||
if (id) {
|
||||
try {
|
||||
const item = await entriesCollection.findOne({ _id: new ObjectId(id) });
|
||||
const item = await prop_fluxCollection.findOne({ _id: new ObjectId(id) });
|
||||
if (item) return res.json([item]);
|
||||
return res.json([]);
|
||||
} catch (err) {
|
||||
@@ -73,8 +73,8 @@ export function registerApiRoutes(app, requireLogin) {
|
||||
const limit = parseInt(req.query.limit) || 10;
|
||||
const skip = (page - 1) * limit;
|
||||
try {
|
||||
const items = await entriesCollection.find({})
|
||||
.sort({ createdAt: -1 })
|
||||
const items = await prop_fluxCollection.find({chip: {$exists: true}})
|
||||
.sort({ "chip.createdAt": -1 })
|
||||
.skip(skip)
|
||||
.limit(limit)
|
||||
.toArray();
|
||||
@@ -86,7 +86,7 @@ export function registerApiRoutes(app, requireLogin) {
|
||||
});
|
||||
|
||||
app.delete('/api/delete/:id', requireLogin, async (req, res) => {
|
||||
await entriesCollection.deleteOne({ _id: new ObjectId(req.params.id) });
|
||||
await prop_fluxCollection.deleteOne({ _id: new ObjectId(req.params.id) });
|
||||
res.json({ success: true });
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user