Skip to content

Commit 055658e

Browse files
committed
fix errors
2 parents 2630c63 + 8f4b543 commit 055658e

File tree

4 files changed

+127
-15
lines changed

4 files changed

+127
-15
lines changed

backend/src/main/java/com/youdemy/controller/CourseRestController.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -86,21 +86,11 @@ public ResponseEntity<Course> getCourse(@PathVariable long id){
8686
public String postNewCourse(@RequestBody Course newCourse, Model model) throws IOException {
8787

8888

89-
90-
9189
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
9290

9391
System.out.println("aquiiiiiiiiiiii "+authentication.getName());
9492

9593

96-
97-
98-
UserDetails userDetails = (UserDetails) SecurityContextHolder.getContext().getAuthentication()
99-
.getPrincipal();
100-
String username = userDetails.getUsername();
101-
102-
System.out.println("aquiiiiiiiiiiii "+username);
103-
10494
User author = userService.findByFirstName(Objects.requireNonNull(authentication.getName()));
10595

10696

@@ -120,6 +110,16 @@ public String postNewCourse(@RequestBody Course newCourse, Model model) throws I
120110

121111
}
122112

113+
114+
@PostMapping("/{id}")
115+
public String editCourse(@PathVariable long id, @RequestBody Course newCourse, Model model) throws IOException {
116+
117+
courseService.save(newCourse);
118+
119+
return "redirect:/";
120+
121+
}
122+
123123
public byte[] loadRandomImage() throws IOException {
124124
int randomImgNum = (int) Math.floor(Math.random() * 9) + 1;
125125
File image = ResourceUtils.getFile("classpath:./fakeImages/" + randomImgNum + ".jpg");

backend/src/main/java/com/youdemy/controller/VideoThumbnailController.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,9 @@
11
package com.youdemy.controller;
22

3-
import com.youdemy.model.Course;
43
import com.youdemy.model.VideoThumbnail;
5-
import com.youdemy.repository.VideoThumbnailRepository;
64
import com.youdemy.service.UserService;
75
import com.youdemy.service.VideoThumbnailService;
86
import org.springframework.beans.factory.annotation.Autowired;
9-
import org.springframework.core.io.ByteArrayResource;
10-
import org.springframework.core.io.Resource;
117
import org.springframework.ui.Model;
128
import org.springframework.web.bind.annotation.*;
139
import org.springframework.web.multipart.MultipartFile;
Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
package com.youdemy.controller.api;
2+
3+
import java.io.File;
4+
import java.io.IOException;
5+
import java.net.URI;
6+
import java.nio.file.Files;
7+
import java.sql.SQLException;
8+
import java.util.ArrayList;
9+
import java.util.Arrays;
10+
import java.util.Collection;
11+
import java.util.List;
12+
import java.util.Objects;
13+
import java.util.Optional;
14+
15+
import com.youdemy.controller.BasicAttributes;
16+
import org.hibernate.engine.jdbc.BlobProxy;
17+
import org.springframework.beans.factory.annotation.Autowired;
18+
import org.springframework.data.domain.Page;
19+
import org.springframework.data.domain.PageRequest;
20+
import org.springframework.http.HttpStatus;
21+
import org.springframework.http.ResponseEntity;
22+
import org.springframework.ui.Model;
23+
import org.springframework.util.ResourceUtils;
24+
import org.springframework.web.bind.annotation.*;
25+
import org.springframework.web.multipart.MultipartFile;
26+
import org.springframework.web.servlet.support.ServletUriComponentsBuilder;
27+
28+
import com.fasterxml.jackson.databind.ObjectMapper;
29+
import com.youdemy.model.Course;
30+
import com.youdemy.model.Lesson;
31+
import com.youdemy.model.User;
32+
import com.youdemy.service.CourseService;
33+
import com.youdemy.service.UserService;
34+
35+
import javax.servlet.http.HttpServletRequest;
36+
37+
38+
@RestController
39+
@RequestMapping("/api/courses")
40+
public class CourseRestController {
41+
42+
@Autowired
43+
private CourseService courseService;
44+
45+
@Autowired
46+
private UserService userService;
47+
48+
@ModelAttribute
49+
public void addAttributes(Model model, HttpServletRequest request) {
50+
BasicAttributes.addAttributes(model, request, userService);
51+
}
52+
53+
@GetMapping("/{id}")
54+
public Course getById(@PathVariable long id) {
55+
Optional<Course> course = courseService.findById(id);
56+
57+
return course.orElse(null);
58+
59+
}
60+
61+
@RequestMapping(value = "/{id}", method = RequestMethod.DELETE)
62+
public ResponseEntity delete(@PathVariable long id) {
63+
courseService.delete(id);
64+
65+
return ResponseEntity.noContent().build();
66+
}
67+
68+
@RequestMapping(value = "/page", method = RequestMethod.GET)
69+
@ResponseBody
70+
public Page<Course> getCoursesInPage(@RequestParam Optional<Integer> page,
71+
@RequestParam Optional<String> search) {
72+
System.out.println(page.orElse(0));
73+
74+
return courseService.findByTitle(search.orElse(""),
75+
PageRequest.of(page.orElse(0), 6));
76+
}
77+
78+
@PostMapping("/new")
79+
public Course create(@RequestAttribute("title") String title, @RequestAttribute("image") MultipartFile image,
80+
@RequestAttribute("description") String description, @RequestAttribute("price") int price,
81+
@RequestAttribute("tags") String tags, @RequestAttribute("lessons") String lessons,
82+
Model model) throws IOException {
83+
Course course = new Course();
84+
User author = userService.findByFirstName(Objects.requireNonNull(model.getAttribute("userName")).toString());
85+
86+
List<Lesson> lessonList = new ArrayList<>(Arrays.asList(new ObjectMapper().readValue(lessons, Lesson[].class)));
87+
lessonList.forEach(lesson -> {
88+
lesson.setAuthor(author);
89+
lesson.setCourse(course);
90+
});
91+
92+
course.setAuthor(author);
93+
course.setThumbnail(image.getBytes());
94+
course.setTitle(title);
95+
course.setDescription(description);
96+
course.setPrice(price);
97+
course.setTags(new ArrayList(Arrays.asList(new ObjectMapper().readValue(tags, String[].class))));
98+
course.setLessons(lessonList);
99+
100+
courseService.save(course);
101+
102+
return courseService.findById(course.getId()).get();
103+
}
104+
105+
public byte[] loadRandomImage() throws IOException {
106+
int randomImgNum = (int) Math.floor(Math.random() * 9) + 1;
107+
File image = ResourceUtils.getFile("classpath:./fakeImages/" + randomImgNum + ".jpg");
108+
109+
return Files.readAllBytes(image.toPath());
110+
}
111+
112+
113+
114+
115+
116+
}

backend/src/main/java/com/youdemy/controller/OrderPRestController.java renamed to backend/src/main/java/com/youdemy/controller/api/OrderPRestController.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.youdemy.controller;
1+
package com.youdemy.controller.api;
22

33
import java.util.ArrayList;
44
import java.util.Optional;

0 commit comments

Comments
 (0)