CreateAdminRouter Creates the HTTP handler for the PRIVATE admin API of a gateway server.
(sc *ServerContext)
| 144 | |
| 145 | // CreateAdminRouter Creates the HTTP handler for the PRIVATE admin API of a gateway server. |
| 146 | func CreateAdminRouter(sc *ServerContext) *mux.Router { |
| 147 | r, dbr, keyspace := createCommonRouter(sc, adminPrivs, adminServer) |
| 148 | |
| 149 | // Keyspace handlers (single collection): |
| 150 | keyspace.Handle("/_purge", |
| 151 | makeHandler(sc, adminPrivs, []Permission{PermWriteAppData}, nil, (*handler).handlePurge)).Methods("POST") |
| 152 | keyspace.Handle("/_raw/{docid:"+docRegex+"}", |
| 153 | makeHandler(sc, adminPrivs, []Permission{PermReadAppData}, nil, (*handler).handleGetRawDoc)).Methods("GET", "HEAD") |
| 154 | keyspace.Handle("/_revtree/{docid:"+docRegex+"}", |
| 155 | makeHandler(sc, adminPrivs, []Permission{PermReadAppData}, nil, (*handler).handleGetRevTree)).Methods("GET") |
| 156 | keyspace.Handle("/_dumpchannel/{channel}", |
| 157 | makeHandler(sc, adminPrivs, []Permission{PermReadAppData}, nil, (*handler).handleDumpChannel)).Methods("GET") |
| 158 | |
| 159 | // Database handlers (multi collection): |
| 160 | dbr.Handle("/_resync", |
| 161 | makeOfflineHandler(sc, adminPrivs, []Permission{PermUpdateDb}, nil, (*handler).handleGetResync)).Methods("GET") |
| 162 | dbr.Handle("/_resync", |
| 163 | makeOfflineHandler(sc, adminPrivs, []Permission{PermUpdateDb}, nil, (*handler).handlePostResync)).Methods("POST") |
| 164 | dbr.Handle("/_compact", |
| 165 | makeHandler(sc, adminPrivs, []Permission{PermUpdateDb}, nil, (*handler).handleCompact)).Methods("POST") |
| 166 | dbr.Handle("/_compact", |
| 167 | makeHandler(sc, adminPrivs, []Permission{PermUpdateDb}, nil, (*handler).handleGetCompact)).Methods("GET") |
| 168 | dbr.Handle("/_attachment_migration", |
| 169 | makeHandler(sc, adminPrivs, []Permission{PermUpdateDb}, nil, (*handler).handleAttachmentMigration)).Methods("POST") |
| 170 | dbr.Handle("/_attachment_migration", |
| 171 | makeHandler(sc, adminPrivs, []Permission{PermUpdateDb}, nil, (*handler).handleGetAttachmentMigration)).Methods("GET") |
| 172 | dbr.Handle("/_session", |
| 173 | makeHandler(sc, adminPrivs, []Permission{PermWritePrincipal}, nil, (*handler).createUserSession)).Methods("POST") |
| 174 | dbr.Handle("/_session/{sessionid}", |
| 175 | makeHandler(sc, adminPrivs, []Permission{PermReadPrincipal}, nil, (*handler).getUserSession)).Methods("GET") |
| 176 | dbr.Handle("/_session/{sessionid}", |
| 177 | makeHandler(sc, adminPrivs, []Permission{PermWritePrincipal}, nil, (*handler).deleteUserSession)).Methods("DELETE") |
| 178 | |
| 179 | dbr.Handle("/_user/", |
| 180 | makeHandler(sc, adminPrivs, []Permission{PermReadPrincipal}, nil, (*handler).getUsers)).Methods("GET", "HEAD") |
| 181 | dbr.Handle("/_user/", |
| 182 | makeHandler(sc, adminPrivs, []Permission{PermWritePrincipal}, nil, (*handler).putUser)).Methods("POST") |
| 183 | dbr.Handle("/_user/{name}", |
| 184 | makeHandler(sc, adminPrivs, []Permission{PermReadPrincipal}, []Permission{PermReadPrincipalAppData}, (*handler).getUserInfo)).Methods("GET", "HEAD") |
| 185 | dbr.Handle("/_user/{name}", |
| 186 | makeHandler(sc, adminPrivs, []Permission{PermWritePrincipal}, nil, (*handler).putUser)).Methods("PUT") |
| 187 | dbr.Handle("/_user/{name}", |
| 188 | makeHandler(sc, adminPrivs, []Permission{PermWritePrincipal}, nil, (*handler).deleteUser)).Methods("DELETE") |
| 189 | |
| 190 | dbr.Handle("/_user/{name}/_session", |
| 191 | makeHandler(sc, adminPrivs, []Permission{PermWritePrincipal}, nil, (*handler).deleteUserSessions)).Methods("DELETE") |
| 192 | dbr.Handle("/_user/{name}/_session/{sessionid}", |
| 193 | makeHandler(sc, adminPrivs, []Permission{PermWritePrincipal}, nil, (*handler).deleteUserSession)).Methods("DELETE") |
| 194 | |
| 195 | dbr.Handle("/_role/", |
| 196 | makeHandler(sc, adminPrivs, []Permission{PermReadPrincipal}, nil, (*handler).getRoles)).Methods("GET", "HEAD") |
| 197 | dbr.Handle("/_role/", |
| 198 | makeHandler(sc, adminPrivs, []Permission{PermWritePrincipal}, nil, (*handler).putRole)).Methods("POST") |
| 199 | dbr.Handle("/_role/{name}", |
| 200 | makeHandler(sc, adminPrivs, []Permission{PermReadPrincipal}, []Permission{PermReadPrincipalAppData}, (*handler).getRoleInfo)).Methods("GET", "HEAD") |
| 201 | dbr.Handle("/_role/{name}", |
| 202 | makeHandler(sc, adminPrivs, []Permission{PermWritePrincipal}, nil, (*handler).putRole)).Methods("PUT") |
| 203 | dbr.Handle("/_role/{name}", |
no test coverage detected