Lots of improvements and changes
This commit is contained in:
17
web/server/api/store/index.delete.js
Normal file
17
web/server/api/store/index.delete.js
Normal file
@@ -0,0 +1,17 @@
|
||||
import { ObjectId } from "mongodb";
|
||||
|
||||
export default defineEventHandler(async (event) => {
|
||||
const { id } = await readBody(event)
|
||||
|
||||
const user = await getAuth(event)
|
||||
|
||||
const storesColl = db.collection('stores');
|
||||
|
||||
const result = await storesColl.deleteOne({ _id: new ObjectId(id) })
|
||||
|
||||
if (result.deletedCount === 1) {
|
||||
return result
|
||||
} else {
|
||||
throw createError({ statusCode: 500, statusMessage: 'Error tijdens het verwijderen van de store' })
|
||||
}
|
||||
});
|
21
web/server/api/store/index.get.js
Normal file
21
web/server/api/store/index.get.js
Normal file
@@ -0,0 +1,21 @@
|
||||
export default defineEventHandler(async () => {
|
||||
|
||||
const storesColl = db.collection('stores');
|
||||
|
||||
const cursor = storesColl.aggregate([
|
||||
{
|
||||
$lookup:
|
||||
{
|
||||
from: "users",
|
||||
localField: "ownerId",
|
||||
foreignField: "_id",
|
||||
as: "owner",
|
||||
},
|
||||
},
|
||||
{
|
||||
$unwind: "$owner",
|
||||
},
|
||||
])
|
||||
|
||||
return await cursor.toArray()
|
||||
});
|
13
web/server/api/store/index.post.js
Normal file
13
web/server/api/store/index.post.js
Normal file
@@ -0,0 +1,13 @@
|
||||
import { ObjectId } from "mongodb";
|
||||
|
||||
export default defineEventHandler(async (event) => {
|
||||
const { coords, name, items, id } = await readBody(event)
|
||||
|
||||
const user = await getAuth(event)
|
||||
|
||||
const storesColl = db.collection('stores');
|
||||
|
||||
const { value: store } = await storesColl.findOneAndUpdate({ _id: id ? new ObjectId(id) : new ObjectId() }, { $set: { coords: coords, name: name, items: items, ownerId: user._id, } }, { returnDocument: 'after', upsert: true })
|
||||
|
||||
return store
|
||||
});
|
Reference in New Issue
Block a user