nitweb: move github login configuration to its own module
authorAlexandre Terrasa <alexandre@moz-code.org>
Wed, 31 Aug 2016 14:32:28 +0000 (10:32 -0400)
committerAlexandre Terrasa <alexandre@moz-code.org>
Tue, 6 Dec 2016 19:58:17 +0000 (14:58 -0500)
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

src/nitweb.nit
src/web/api_auth.nit [new file with mode: 0644]
src/web/web.nit

index 95b1671..42e1df0 100644 (file)
 # Runs a webserver based on nitcorn that render things from model.
 module nitweb
 
-import popcorn::pop_auth
 import frontend
 import web
 import doc::doc_down
 
-redef class NitwebConfig
-
-       # Github client id used for Github OAuth login.
-       #
-       # * key: `github.client_id`
-       # * default: ``
-       fun github_client_id: String do return ini["github.client.id"] or else ""
-
-       # Github client secret used for Github OAuth login.
-       #
-       # * key: `github.client_secret`
-       # * default: ``
-       fun github_client_secret: String do return ini["github.client.secret"] or else ""
-end
-
 redef class ToolContext
 
        # Path to app config file.
diff --git a/src/web/api_auth.nit b/src/web/api_auth.nit
new file mode 100644 (file)
index 0000000..80cce5d
--- /dev/null
@@ -0,0 +1,40 @@
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+module api_auth
+
+import web_base
+import popcorn::pop_auth
+
+redef class NitwebConfig
+
+       # Github client id used for Github OAuth login.
+       #
+       # * key: `github.client_id`
+       # * default: ``
+       fun github_client_id: String do return ini["github.client.id"] or else ""
+
+       # Github client secret used for Github OAuth login.
+       #
+       # * key: `github.client_secret`
+       # * default: ``
+       fun github_client_secret: String do return ini["github.client.secret"] or else ""
+end
+
+redef class APIRouter
+       redef init do
+               super
+               use("/user", new GithubUser)
+       end
+end
index 2e5294e..36d7e98 100644 (file)
@@ -15,6 +15,7 @@
 # Components required to build a web server about the nit model.
 module web
 
+import api_auth
 import api_model
 import api_catalog
 import api_graph