Skip to content

Commit 6d9c347

Browse files
committed
Added sections
1 parent 6c64b77 commit 6d9c347

11 files changed

+121
-31
lines changed

Controller/controller.js

+59-19
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
var model = require('./../Models/model.js')
2+
const fs = require('fs');
3+
24

35
var methods = {}
46

@@ -53,7 +55,8 @@ methods.addCourse = function (courseID, courseName, imageUrl) {
5355
}
5456

5557
methods.addCourseData = function (courseID, courseName, topicName, courseData, videolink) {
56-
return model.fun.checkCourse(courseID).then(flag => {
58+
return model.fun.checkCourse(courseName).then(flag => {
59+
console.log(flag);
5760
if (courseID == flag.courseid) {
5861
return model.fun.addCourseData(courseID, topicName, courseData, videolink).then(result => {
5962
return Promise.resolve({
@@ -85,35 +88,72 @@ methods.getCourse = function () {
8588
})
8689
})
8790
}
88-
methods.getCourseData = function(courseName){
89-
return model.fun.checkCourse(courseName).then(flag =>{
90-
return model.fun.getCourseData(flag.courseid).then(result =>{
91+
methods.getCourseData = function (courseName) {
92+
return model.fun.checkCourse(courseName).then(flag => {
93+
return model.fun.getCourseData(flag.courseid).then(result => {
9194
var data = {};
9295
var count = 0;
93-
for (let val of result){
96+
for (let val of result) {
9497
data[count] = val.section;
9598
count = count + 1;
9699
}
97100
return Promise.resolve(data);
98101
})
99102
})
100-
.catch(error =>{
101-
return Promise.reject({ "message": "course not found" })
102-
})
103+
.catch(error => {
104+
return Promise.reject({ "message": "course not found" })
105+
})
103106
}
104-
methods.getSectionData = function(courseName,section){
105-
return model.fun.checkCourse(courseName).then(flag =>{
106-
return model.fun.getSectionData(flag.courseid, section).then(result =>{
107-
console.log("SECTION RESULT",result);
108-
109-
return Promise.resolve({"data":result.data,"link":result.videoLink});
107+
methods.getSectionData = function (courseName, section) {
108+
return model.fun.checkCourse(courseName).then(flag => {
109+
return model.fun.getSectionData(flag.courseid, section).then(result => {
110+
console.log("SECTION RESULT", result);
111+
112+
return Promise.resolve({ "data": result.data, "link": result.videoLink });
110113
})
111-
.catch(error =>{
112-
return Promise.reject({"message":"error in section data"})
114+
.catch(error => {
115+
return Promise.reject({ "message": "error in section data" })
116+
})
117+
})
118+
.catch(error => {
119+
return Promise.reject({ "message": "cannot find the course" })
120+
})
121+
}
122+
methods.deleteCourse = function (courseName) {
123+
return model.fun.checkCourse(courseName).then(flag => {
124+
return model.fun.deleteCourse(flag.courseid).then(result => {
125+
fs.unlink(flag.imageurl, (err) => {
126+
if (err) return Promise.resolve({ "message": "error in file deleting" });
127+
console.log("Successfully file deleted");
128+
})
129+
return Promise.resolve({ "message": "successfully deleted" })
113130
})
131+
.catch(error => {
132+
return Promise.reject({ "message": "error in delete course" })
133+
})
114134
})
115-
.catch(error =>{
116-
return Promise.reject({"message":"error in check the course"})
135+
.catch(error => {
136+
return Promise.reject({ "message": "cannot find the course" })
137+
})
138+
}
139+
methods.updateSection = function (courseName, topicName, courseData,videolink) {
140+
return model.fun.checkCourse(courseName).then(flag => {
141+
console.log(flag);
142+
return model.fun.updateCourseData(flag.courseid, topicName, courseData, videolink).then(result => {
143+
return Promise.resolve({
144+
"message": "course data successfully updated"
145+
});
146+
})
147+
.catch(error => {
148+
console.log(error);
149+
return Promise.reject({
150+
"message": "failure"
151+
});
152+
})
153+
117154
})
155+
.catch(error => {
156+
return Promise.reject({ "message": "course not found" })
157+
})
118158
}
119-
exports.cont = methods;
159+
exports.cont = methods;

Models/model.js

+23-2
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ var courseData = connection.define('courseData', {
6969
allowNull: false
7070
},
7171
data: {
72-
type: Sequelize.STRING,
72+
type: Sequelize.TEXT,
7373
allowNull: false
7474
},
7575
videoLink : {
@@ -186,5 +186,26 @@ methods.getSectionData = function(course_id,section){
186186
return Promise.reject({"message":"not found"})
187187
})
188188
}
189-
189+
methods.deleteCourse = function(course_id){
190+
return connection.sync().then(function(){
191+
return courses.destroy({where:{courseid:course_id}}).then(result =>{
192+
return courseData.destroy({where:{courseid:course_id}})
193+
})
194+
}).then(result =>{
195+
return Promise.resolve(result)
196+
})
197+
.catch(error =>{
198+
return Promise.reject(error)
199+
})
200+
}
201+
methods.updateCourseData = function (course_id,topic_name, course_data,videolink) {
202+
return connection.sync().then(function () {
203+
return courseData.update({
204+
data: course_data,
205+
videoLink : videolink
206+
},
207+
{where:{[Op.and]: [{courseid: course_id}, {section: topic_name}]}}
208+
)
209+
})
210+
}
190211
exports.fun = methods;

server.js

+39-10
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ var upload = multer({ storage: storage })
2222

2323
app.use(bodyParser.json()); // support json encoded bodies
2424
app.use(bodyParser.urlencoded({ extended: true })); // support encoded bodies
25-
app.use('/viewImage', express.static(__dirname + '/uploads'));
25+
app.use('/uploads', express.static(__dirname + '/uploads'));
2626

2727
app.use(function (req, res, next) {
2828
res.header("Access-Control-Allow-Origin", "http://localhost:4200");
@@ -36,7 +36,7 @@ app.use(cookieParser());
3636
app.use(session({
3737
key: 'user_sid',
3838
secret: 'somerandonstuffs',
39-
resave: false,
39+
resave: true,
4040
saveUninitialized: false,
4141
cookie: {
4242
expires: 600000
@@ -85,9 +85,6 @@ app.post('/login', function (req, res) {
8585
})
8686
app.route('/home')
8787
.get(function (req, res) {
88-
res.send('welcome');
89-
})
90-
.post(function (req, res) {
9188
console.log("session profile", req.session);
9289
if (req.session.user && req.cookies.user_sid) {
9390
controller.cont.getCourse().then(result => {
@@ -131,7 +128,7 @@ app.route('/createNew')
131128
var data = req.body;
132129

133130
res.setHeader('Content-Type', 'application/json');
134-
131+
console.log(data);
135132
controller.cont.addCourse(data.courseId, data.courseName, req.file.path).then(result => {
136133
res.send(result);
137134
}
@@ -175,7 +172,7 @@ app.route('/viewCourse')
175172
}
176173
})
177174
app.route('/course/:coursename')
178-
.post(function(req,res){
175+
.post(function (req, res) {
179176
if (req.session.user && req.cookies.user_sid) {
180177
controller.cont.getCourseData(req.params.coursename).then(result => {
181178
res.send(result);
@@ -190,9 +187,9 @@ app.route('/course/:coursename')
190187
}
191188
})
192189
app.route('/course/:coursename/:section')
193-
.post(function(req,res){
190+
.post(function (req, res) {
194191
if (req.session.user && req.cookies.user_sid) {
195-
controller.cont.getSectionData(req.params.coursename,req.params.section).then(result => {
192+
controller.cont.getSectionData(req.params.coursename, req.params.section).then(result => {
196193
res.send(result);
197194
})
198195
.catch(error => {
@@ -204,7 +201,39 @@ app.route('/course/:coursename/:section')
204201
res.send(result);
205202
}
206203
})
204+
app.route('/deleteCourse')
205+
.post(function (req, res) {
206+
var data = req.body;
207+
if (req.session.user && req.cookies.user_sid) {
208+
controller.cont.deleteCourse(data.coursename).then(result => {
209+
res.send(result);
210+
})
211+
.catch(error => {
212+
res.send(error)
213+
})
214+
} else {
215+
res.statusCode = 401
216+
result = { "message": "not logged in" };
217+
res.send(result);
218+
}
219+
})
220+
app.route('/update-section')
221+
.post(function(req, res){
222+
var data = req.body;
223+
console.log(data);
224+
if (req.session.user && req.cookies.user_sid) {
225+
controller.cont.updateSection(data.courseName,data.topicName,data.courseData,data.video).then(result => {
226+
res.send(result);
227+
})
228+
.catch(error => {
229+
res.send(error)
230+
})
231+
} else {
232+
res.statusCode = 401
233+
result = { "message": "not logged in" };
234+
res.send(result);
235+
}
236+
})
207237
app.listen(3000, '0.0.0.0', function () {
208238
console.log('Tutorial app listening on port 3000!')
209-
210239
})
3.28 KB
Loading
2.92 KB
Loading
3.28 KB
Loading
3.28 KB
Loading
-169 KB
Binary file not shown.
2.92 KB
Loading
2.82 KB
Loading
-169 KB
Binary file not shown.

0 commit comments

Comments
 (0)