|
@@ -0,0 +1,63 @@
|
|
|
+package api
|
|
|
+
|
|
|
+import (
|
|
|
+ "../settings"
|
|
|
+ "encoding/json"
|
|
|
+ "fmt"
|
|
|
+ "net/http"
|
|
|
+ "strconv"
|
|
|
+ "strings"
|
|
|
+)
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+func CardOfGroupRoute(w http.ResponseWriter, r *http.Request) {
|
|
|
+
|
|
|
+ showAPIRequest(r)
|
|
|
+ w.Header().Set("Content-Type", "application/json")
|
|
|
+
|
|
|
+ path := replacePath(r.URL.Path, "/api/cardofgroup/")
|
|
|
+ var groupnum1 string
|
|
|
+ var semesternum1 string
|
|
|
+
|
|
|
+ if path != "" && strings.Contains(path, "semester/") && r.Method == "GET" {
|
|
|
+ // парсим для нахождения номера группы и семестра
|
|
|
+ list := strings.Split(path, "/semester/")
|
|
|
+ groupnum1 = list[0]
|
|
|
+ semesternum1 = list[1]
|
|
|
+
|
|
|
+ // преобразовывает в int
|
|
|
+ groupnum, err := strconv.Atoi(groupnum1)
|
|
|
+ if err != nil {
|
|
|
+ json.NewEncoder(w).Encode(struct{ Error string }{Error: "strconv error1"})
|
|
|
+ fmt.Println(err)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ semesternum, err := strconv.Atoi(semesternum1)
|
|
|
+ if err != nil {
|
|
|
+ json.NewEncoder(w).Encode(struct{ Error string }{Error: "strconv error2"})
|
|
|
+ fmt.Println(err)
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ GetCardOfGroup(w, r, groupnum, semesternum)
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ json.NewEncoder(w).Encode(struct{ Error string }{Error: "This method is not supported"})
|
|
|
+}
|
|
|
+
|
|
|
+func GetCardOfGroup(w http.ResponseWriter, r *http.Request,groupnum int ,semesternum int) {
|
|
|
+ var semester Semester
|
|
|
+ var group Group
|
|
|
+ var subjectofgroup []Subjectofgroup
|
|
|
+
|
|
|
+ settings.DB.Where("id = ?", semesternum).First(&semester)
|
|
|
+ settings.DB.Where("groupnumber = ?", groupnum).First(&group)
|
|
|
+ settings.DB.Where("id_group = ? AND id_semester = ?", group.ID, semester.ID).Find(&subjectofgroup)
|
|
|
+
|
|
|
+
|
|
|
+ json.NewEncoder(w).Encode(subjectofgroup)
|
|
|
+
|
|
|
+ return
|
|
|
+}
|