/
coordinators.go
103 lines (93 loc) · 2.31 KB
/
coordinators.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
package controllers
import (
"github.com/revel/revel"
"github.com/janekolszak/revmgo"
"github.com/ip4368/colonnade/app/models"
)
type Coordinators struct {
*revel.Controller
revmgo.MongoController
}
func (c Coordinators) AddStages(Id string) revel.Result {
var stages struct{
Description []string `json:"d"`
}
models.ParseBody(c.Request.Body, &stages)
result := models.CoordinatorAddStages(
c.MongoSession,
models.User_t{
Email: c.Session["email"],
Username: c.Session["username"],
Name: c.Session["name"],
UserIdHex: c.Session["userId"],
},
Id,
stages.Description,
)
data := make(map[string]interface{})
data["error"] = result
switch result{
case 0:
data["message"] = "Stages have been added"
case 1:
data["message"] = "Course ID is invalid"
case 2:
data["message"] = "Your login session is not valid"
case 3:
data["message"] = "Course is not found"
}
return c.RenderJson(data)
}
func (c Coordinators) AddTasks(Id string, Stage int) revel.Result {
var tasks struct{
Description []string `json:"d"`
}
models.ParseBody(c.Request.Body, &tasks)
result := models.CoordinatorAddTasks(
c.MongoSession,
models.User_t{
Email: c.Session["email"],
Username: c.Session["username"],
Name: c.Session["name"],
UserIdHex: c.Session["userId"],
},
Id,
Stage,
tasks.Description,
)
data := make(map[string]interface{})
data["error"] = result
switch result{
case 0:
data["message"] = "Stages have been added"
case 1:
data["message"] = "Course ID is invalid"
case 2:
data["message"] = "Your login session is not valid"
case 3:
data["message"] = "Course is not found"
}
return c.RenderJson(data)
}
func (c Coordinators) GetUsers(Id string, UserType string) revel.Result {
result, users := models.CoordinatorGetUsers(
c.MongoSession,
models.User_t{
Email: c.Session["email"],
Username: c.Session["username"],
Name: c.Session["name"],
UserIdHex: c.Session["userId"],
},
Id,
UserType,
)
data := make(map[string]interface{})
data["error"] = result
switch result{
case 0:
data["message"] = "Success"
data["data"] = make(map[string]interface{})
data["data"].(map[string]interface{})["users"] = users
}
return c.RenderJson(data)
}