Forráskód Böngészése

Check if class and subject already exists

Andrea Fazzi 5 éve
szülő
commit
b6cc6eca30
2 módosított fájl, 17 hozzáadás és 0 törlés
  1. 8 0
      orm/class.go
  2. 9 0
      orm/subject.go

+ 8 - 0
orm/class.go

@@ -1,6 +1,7 @@
 package orm
 
 import (
+	"fmt"
 	"net/http"
 
 	"github.com/jinzhu/gorm"
@@ -178,6 +179,13 @@ func AddClass(args map[string]string, r *http.Request) (IDer, error) {
 }
 
 func CreateClass(class *Class) (*Class, error) {
+	var classes []*Class
+	if err := DB().Where("name=?", class.Name).Find(&classes).Error; err != nil {
+		return nil, err
+	}
+	if len(classes) > 0 {
+		return nil, fmt.Errorf("Class %s already exists!", class.Name)
+	}
 	if err := DB().Create(class).Error; err != nil {
 		return nil, err
 	}

+ 9 - 0
orm/subject.go

@@ -1,6 +1,7 @@
 package orm
 
 import (
+	"fmt"
 	"net/http"
 
 	"github.com/jinzhu/gorm"
@@ -125,6 +126,14 @@ func AddSubject(args map[string]string, r *http.Request) (IDer, error) {
 }
 
 func CreateSubject(subject *Subject) (*Subject, error) {
+	var subjects []*Subject
+	if err := DB().Where("name=?", subject.Name).Find(&subjects).Error; err != nil {
+		return nil, err
+	}
+	if len(subjects) > 0 {
+		return nil, fmt.Errorf("Subject %s already exists!", subject.Name)
+	}
+
 	if err := DB().Create(subject).Error; err != nil {
 		return nil, err
 	}