update/return-student-contact-list

This commit is contained in:
SowinskiBraeden committed 2022-02-09 13:59:23 -08:00
1 parent 2bc558b4e0
commit 9b81f301db
1 file changed
+22 -16
+22 -16
View File
@@ -650,6 +650,8 @@ func Student(c *fiber.Ctx) error {
claims := token.Claims.(*jwt.StandardClaims) claims := token.Claims.(*jwt.StandardClaims)
var responceData map[string]interface{}
var student models.Student var student models.Student
findErr := studentCollection.FindOne(context.TODO(), bson.M{"schooldata.sid": claims.Issuer}).Decode(&student) findErr := studentCollection.FindOne(context.TODO(), bson.M{"schooldata.sid": claims.Issuer}).Decode(&student)
if findErr != nil { if findErr != nil {
@@ -659,28 +661,32 @@ func Student(c *fiber.Ctx) error {
}) })
} }
responceData["student"] = student
var locker models.Locker var locker models.Locker
var hasLocker bool = false
if student.SchoolData.Locker != "" { if student.SchoolData.Locker != "" {
lockerCollection.FindOne(context.TODO(), bson.M{"ID": student.SchoolData.Locker}).Decode(&locker) lockerCollection.FindOne(context.TODO(), bson.M{"ID": student.SchoolData.Locker}).Decode(&locker)
hasLocker = true responceData["locker"] = locker
} }
if hasLocker { var contacts []models.Contact
return c.Status(fiber.StatusAccepted).JSON(fiber.Map{ var contact models.Contact
"success": true,
"message": "successfully logged into student", for i := range student.PersonalData.Contacts {
"result": student, findErr := contactCollection.FindOne(context.TODO(), bson.M{"_id": student.PersonalData.Contacts[i]}).Decode(&contact)
"locker": locker, if findErr != nil {
}) responceData["error"] = "Error: There was an error loading some contacts"
} else {
return c.Status(fiber.StatusAccepted).JSON(fiber.Map{
"success": true,
"message": "successfully logged into student",
"result": student,
"locker": nil, // Nil locker == no locker provided
})
} }
contacts = append(contacts, contact)
}
if len(contacts) > 0 {
responceData["contacts"] = contacts
}
return c.Status(fiber.StatusAccepted).JSON(fiber.Map{
"success": true,
"responce": responceData,
})
} }
func Teacher(c *fiber.Ctx) error { func Teacher(c *fiber.Ctx) error {