Skip to content
Snippets Groups Projects
Commit 7c5d5eda authored by Nick Anton Christoph Kleine-Tebbe's avatar Nick Anton Christoph Kleine-Tebbe
Browse files

kolloquium titles are loaded from folders 2

parent a52ffaf8
Branches
No related tags found
No related merge requests found
const express = require('express')
var bodyParser = require('body-parser')
// Create express instance
const app = express()
// Require API routes
const users = require('./routes/users')
const test = require('./routes/kolloquiums')
const kolloquiums = require('./routes/kolloquiums')
// Import API Routes
// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: false }))
// parse application/json
app.use(bodyParser.json())
app.use(users)
app.use(kolloquiums)
// Export express app
module.exports = app
......
......@@ -10,10 +10,10 @@ function getDirectories(path) {
}
fs.mkdir('Kolloquiums',function(err) {
if (err.code === "EEXIST") {
if (err && err.code === "EEXIST") {
console.log('Kolloquiums Directory already existed')
}
else if (err.code != "EEXIST") {
else if (err && err.code != "EEXIST") {
return console.error(err);
}
else {
......@@ -24,17 +24,90 @@ fs.mkdir('Kolloquiums',function(err) {
// Get Kolloquiums
router.use('/getKolloquiums', (req, res) => {
var directories = getDirectories('Kolloquiums')
res.json({
return res.json({
kolloquiums: directories
});
})
// Delete Kolloquium
router.use('/deleteKolloquiums', (req, res) => {
console.log(req)
res.json({
status: 'success'
router.use('/deleteKolloquium', (req, res) => {
console.log('deleting Kolloquium')
let { title } = req.body
if(title == '') {
console.error('Folder has no name')
return res.json({
status: 'error',
message: 'Folder has no name'
})
}
fs.rmdir("Kolloquiums/" + title, function(err) {
if (err) {
console.error(err);
return res.json({
status: 'error',
message: err
})
}
});
return res.json({
status: 'success',
message: 'removed Kolloquium ' + title
})
})
// Create Kolloquium
router.use('/createKolloquium', (req, res) => {
console.log('creating Kolloquium')
console.log(req.body)
let { title } = req.body
fs.mkdir('Kolloquiums/' + title,function(err) {
if (err && err.code === "EEXIST") {
console.warn('Directory "' + title + '" already existed')
return res.json({
status: 'warning',
message: 'Directory "' + title + '" already existed'
})
}
else if (err && err.code != "EEXIST") {
console.error(err);
return res.json({
status: 'error',
message: err
})
}
else {
console.log('Directory "' + title + '" created successfully!');
return res.json({
status: 'success',
message: 'Directory "' + title + '" created successfully!'
})
}
});
})
// Rename Kolloquium
router.use('/renameKolloquium', (req, res) => {
console.log('renaming Kolloquium')
console.log(req.body);
let { oldTitle, newTitle } = req.body
if( oldTitle == '' || newTitle == '') {
console.error('at least one of the names was empty')
return res.json({
status: 'error',
message: 'at least one of the names was empty'
})
}
fs.rename('Kolloquiums/' + oldTitle, 'Kolloquiums/' + newTitle, (err) => {
if(err) {
console.error(err);
return res.json({
status: 'error',
message: err
})
}
console.log("Directory renamed successfully.");
});
})
module.exports = router
......@@ -58,11 +58,11 @@ export default {
},
methods: {
save() {
this.$emit("update:inEdit", false);
this.$emit("update:title", this.title);
this.$emit("update:inEdit", {inEdit: false, title: this.title});
// this.$emit("update:title", this.title); // done in update:inEdit
},
edit() {
this.$emit("update:inEdit", true);
this.$emit("update:inEdit", {inEdit: true, title: this.title});
},
deleteMe() {
this.$emit("deleteKolloquium")
......
export default {
// Nuxt target see https://nuxtjs.org/api/configuration-target
target: 'server',
......
......@@ -10,6 +10,7 @@
"dependencies": {
"@nuxt/http": "latest",
"@nuxtjs/axios": "^5.13.6",
"body-parser": "^1.19.1",
"express": "latest",
"nuxt": "latest"
},
......@@ -14,6 +14,7 @@
"dependencies": {
"@nuxt/http": "latest",
"@nuxtjs/axios": "^5.13.6",
"body-parser": "^1.19.1",
"express": "latest",
"nuxt": "latest"
},
......
......@@ -98,21 +98,44 @@ export default {
});
this.selectedKolloquium = "";
this.kolloquiums = this.kolloquiums.filter(kolloquium => kolloquium.title.length > 0);
this.kolloquiums = [...this.kolloquiums, {title: '', inEdit: true}];
this.kolloquiums = [...this.kolloquiums, {title: '', inEdit: true, isNew: true}];
},
toggleEdit(kolloquium, status) {
toggleEdit(kolloquium, {inEdit, title}) {
let createNew = kolloquium.inEdit && kolloquium.isNew;
let changeName = kolloquium.inEdit && !kolloquium.isNew;
this.kolloquiums.forEach(kolloquium => {
kolloquium.inEdit = false;
});
kolloquium.inEdit = status;
kolloquium.inEdit = inEdit;
if(createNew){
kolloquium.title = title
kolloquium.isNew = false
if (!title || title == '') {
this.deleteKolloquium(title)
return
}
this.$axios.post('api/createKolloquium', { title: title })
}
else if (changeName) {
if (title == '') {
return
}
kolloquium.title = title
this.$axios.post('api/renameKolloquium', { oldTitle: kolloquium.title, newTitle: title})
}
},
deleteKolloquium(kolloquiumToDelete) {
this.kolloquiums = this.kolloquiums.filter(kolloquium => kolloquium.title != kolloquiumToDelete.title);
this.selectedKolloquium = ""
if(kolloquiumToDelete != ''){
this.$axios.post('api/deleteKolloquium', { title: kolloquiumToDelete.title })
}
},
},
async asyncData ({ $http }) {
const data = await $http.$get('/api/kolloquiums/getKolloquiums')
const data = await $http.$get('/api/getKolloquiums/')
let kolloquiumList = []
data.kolloquiums.forEach(title => {
kolloquiumList.push({
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment