@@ -76,6 +76,11 @@ func (f *functions) del(w http.ResponseWriter, r *http.Request) {
76
76
return
77
77
}
78
78
79
+ if err := function .Delete (curDB , name ); err != nil {
80
+ http .Error (w , err .Error (), http .StatusInternalServerError )
81
+ return
82
+ }
83
+
79
84
w .WriteHeader (http .StatusOK )
80
85
}
81
86
@@ -113,3 +118,41 @@ func (f *functions) exec(w http.ResponseWriter, r *http.Request) {
113
118
114
119
w .WriteHeader (http .StatusOK )
115
120
}
121
+
122
+ func (f * functions ) list (w http.ResponseWriter , r * http.Request ) {
123
+ conf , _ , err := middleware .Extract (r , false )
124
+ if err != nil {
125
+ http .Error (w , err .Error (), http .StatusUnauthorized )
126
+ return
127
+ }
128
+
129
+ curDB := client .Database (conf .Name )
130
+
131
+ results , err := function .List (curDB )
132
+ if err != nil {
133
+ http .Error (w , err .Error (), http .StatusInternalServerError )
134
+ return
135
+ }
136
+
137
+ respond (w , http .StatusOK , results )
138
+ }
139
+
140
+ func (f * functions ) info (w http.ResponseWriter , r * http.Request ) {
141
+ conf , _ , err := middleware .Extract (r , false )
142
+ if err != nil {
143
+ http .Error (w , err .Error (), http .StatusUnauthorized )
144
+ return
145
+ }
146
+
147
+ curDB := client .Database (conf .Name )
148
+
149
+ name := getURLPart (r .URL .Path , 3 )
150
+
151
+ fn , err := function .GetByName (curDB , name )
152
+ if err != nil {
153
+ http .Error (w , err .Error (), http .StatusInternalServerError )
154
+ return
155
+ }
156
+
157
+ respond (w , http .StatusOK , fn )
158
+ }
0 commit comments