This commit is contained in:
2026-04-27 20:29:21 +02:00
parent 329ed5adb0
commit b928212608
10 changed files with 329 additions and 7 deletions

View File

@@ -52,6 +52,7 @@ checkAuth = passport.authenticate('jwt', { session: false });
app.use(checkAuth);
// ROUTES WITH AUTH
app.use('/campaign', require('./routes/campaign'));
/*
app.use('/campaign', require('./routes/campaign'));
app.use('/maps', require('./routes/map'));

View File

@@ -0,0 +1,17 @@
const mongoose = require("mongoose");
const Schema = mongoose.Schema;
const CampaignSchema = new Schema({
name: {type: String, required: true},
description: {type: String},
color: {type: String},
createdBy: {
type: Schema.Types.ObjectId,
ref: 'User',
required: true
},
date: { type: Date, default: Date.now},
settings: { type: Object }
});
module.exports = mongoose.model('Campaign', CampaignSchema);

View File

@@ -0,0 +1,32 @@
const express = require('express')
const router = express.Router();
const Campaign = require("../models/Campaign");
router.post('/create', async (req, res) => {
try {
const { name, description, color, settings } = req.body;
const newCampaign = new Campaign({
name,
description,
color,
settings,
createdBy: req.user.id
});
await newCampaign.save();
res.json({ status: "ok", campaign: newCampaign });
} catch (err) {
res.json({ status: "error", msg: "errors.internal" });
}
});
router.get('/list', async (req, res) => {
try {
const campaigns = await Campaign.find({ createdBy: req.user.id });
res.json({ status: "ok", campaigns });
} catch (err) {
res.json({ status: "error", msg: "errors.internal", err });
}
});
module.exports = router;