You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nlpcraft.apache.org by ar...@apache.org on 2020/10/16 05:39:56 UTC
[incubator-nlpcraft] branch NLPCRAFT-156 updated: Update NCCli.scala
This is an automated email from the ASF dual-hosted git repository.
aradzinski pushed a commit to branch NLPCRAFT-156
in repository https://gitbox.apache.org/repos/asf/incubator-nlpcraft.git
The following commit(s) were added to refs/heads/NLPCRAFT-156 by this push:
new 8f3df57 Update NCCli.scala
8f3df57 is described below
commit 8f3df57db09326c080ad5e2f0de00ad10f27d632
Author: Aaron Radzinski <ar...@datalingvo.com>
AuthorDate: Thu Oct 15 22:31:39 2020 -0700
Update NCCli.scala
---
.../nlpcraft/model/tools/cmdline/NCCli.scala | 92 +++++++++++++++++++++-
1 file changed, 91 insertions(+), 1 deletion(-)
diff --git a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/cmdline/NCCli.scala b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/cmdline/NCCli.scala
index 0b44165..856e21a 100644
--- a/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/cmdline/NCCli.scala
+++ b/nlpcraft/src/main/scala/org/apache/nlpcraft/model/tools/cmdline/NCCli.scala
@@ -586,6 +586,60 @@ object NCCli extends App {
)
),
Command(
+ name = "signin",
+ group = "2. REST Commands",
+ synopsis = s"Wrapper for REST ${c("/signin")} call.",
+ desc = Some(
+ s"If no arguments provided, it signs in with the " +
+ s"default 'admin@admin.com' user account. NOTE: please make sure to remove this account when " +
+ s"running in production."
+ ),
+ body = cmdSignIn,
+ params = Seq(
+ Parameter(
+ id = "email",
+ names = Seq("--email", "-e"),
+ value = Some("email"),
+ optional = true,
+ desc =
+ s"Email of the user. If not provided, 'admin@admin.com' will be used."
+ ),
+ Parameter(
+ id = "passwd",
+ names = Seq("--passwd", "-p"),
+ value = Some("****"),
+ optional = true,
+ desc =
+ s"User password to sign in. If not provided, the default password will be used."
+ )
+ ),
+ examples = Seq(
+ Example(
+ usage = Seq(
+ s"$PROMPT $SCRIPT_NAME signin"
+ ),
+ desc = s"Signs in with the default ${c("admin@admin.com")} user account."
+ )
+ )
+ ),
+ Command(
+ name = "signout",
+ group = "2. REST Commands",
+ synopsis = s"Wrapper for REST ${c("/signout")} call.",
+ desc = Some(
+ s"Signs out currently signed in user."
+ ),
+ body = cmdSignOut,
+ examples = Seq(
+ Example(
+ usage = Seq(
+ s"$PROMPT $SCRIPT_NAME signout"
+ ),
+ desc = s"Signs out currently signed in user, if any."
+ )
+ )
+ ),
+ Command(
name = "call",
group = "2. REST Commands",
synopsis = s"REST call in a convenient way for REPL mode.",
@@ -1827,6 +1881,40 @@ object NCCli extends App {
* @param args Arguments, if any, for this command.
* @param repl Whether or not executing from REPL.
*/
+ private def cmdSignIn(cmd: Command, args: Seq[Argument], repl: Boolean): Unit = {
+ if (state.accessToken.nonEmpty)
+ error("Already signed in.")
+ else {
+ val email = args.find(_.parameter.id == "email").getOrElse("admin@admin.com")
+ val passwd = args.find(_.parameter.id == "passwd").getOrElse("admin")
+ }
+ }
+
+ /**
+ *
+ * @param cmd Command descriptor.
+ * @param args Arguments, if any, for this command.
+ * @param repl Whether or not executing from REPL.
+ */
+ private def cmdSignOut(cmd: Command, args: Seq[Argument], repl: Boolean): Unit = {
+ if (state.accessToken.isEmpty)
+ error("Not signed in.")
+ else
+ httpRest(
+ cmd,
+ "signout",
+ s"""
+ |{"acsTok": "${state.accessToken.getOrElse("")}"}
+ |""".stripMargin
+ )
+ }
+
+ /**
+ *
+ * @param cmd Command descriptor.
+ * @param args Arguments, if any, for this command.
+ * @param repl Whether or not executing from REPL.
+ */
private def cmdCall(cmd: Command, args: Seq[Argument], repl: Boolean): Unit = {
val normArgs = args.filter(!_.parameter.synthetic)
val synthArgs = args.filter(_.parameter.synthetic)
@@ -2549,7 +2637,9 @@ object NCCli extends App {
private def boot(args: Array[String]): Unit = {
// Check version.
new Thread() {
- override def run(): Unit = U.getUrlDocument("https://nlpcraft.apache.org/vercheck/cli.html")
+ override def run(): Unit = {
+ System.out.println(U.getUrlDocument("https://nlpcraft.apache.org/vercheck/cli.html"))
+ }
}
.start()