@rpcbase/server 0.91.0 → 0.94.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/cli/run_native.js CHANGED
@@ -53,6 +53,11 @@ const init_processes = (args) => {
53
53
  // yarn dev
54
54
  cmd: ["yarn", ["dev"]]
55
55
  },
56
+ {
57
+ name: "queue",
58
+ dirs: [],
59
+ cmd: ["yarn", ["dev-queue"]]
60
+ },
56
61
  // mongodb database
57
62
  {
58
63
  name: "database",
@@ -1,9 +1,12 @@
1
1
  /* @flow */
2
+ const debug = require("debug")
2
3
  const session = require("express-session")
3
4
  const validator = require("validator")
4
5
  const {createClient} = require("redis")
5
6
  const redis_store = require("connect-redis")(session)
6
7
 
8
+ const log = debug("rb:session")
9
+
7
10
  // WARNING:
8
11
  // https://stackoverflow.com/questions/70867229/error-connection-timeout-when-connecting-to-redis-docker-instance
9
12
  // https://github.com/redis/node-redis/issues/1656/
@@ -27,9 +30,9 @@ setTimeout(async() => {
27
30
  }
28
31
 
29
32
  const reconnectStrategy = (retries) => {
30
- console.log("redis_client::reconnectStrategy::retrying with arg", retries)
33
+ log("redis_client::reconnectStrategy::retrying with arg", retries)
31
34
  if (retries < 5) {
32
- console.log("retry count:", retries, "retrying in 1s")
35
+ log("retry count:", retries, "retrying in 1s")
33
36
  return 4000
34
37
  } else {
35
38
  return new Error("max retries expiered")
@@ -47,9 +50,8 @@ setTimeout(async() => {
47
50
  legacyMode: true,
48
51
  })
49
52
 
50
-
51
53
  redis_client.on("ready", () => {
52
- console.log("session-storage::redis_client connected")
54
+ log("session-storage::redis_client connected")
53
55
  })
54
56
 
55
57
  const res = await redis_client.connect()
@@ -69,7 +71,7 @@ setTimeout(async() => {
69
71
  })
70
72
 
71
73
  // TODO: is this still necessary
72
- }, 300)
74
+ }, 200)
73
75
 
74
76
 
75
77
  module.exports = (req, res, next) => {
@@ -80,6 +82,6 @@ module.exports = (req, res, next) => {
80
82
  if (session_middleware) {
81
83
  session_middleware(req, res, next)
82
84
  } else {
83
- console.warn("session middleware not set yet")
85
+ warn("session middleware not set yet")
84
86
  }
85
87
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rpcbase/server",
3
- "version": "0.91.0",
3
+ "version": "0.94.0",
4
4
  "license": "SSPL-1.0",
5
5
  "main": "./index.js",
6
6
  "bin": {
@@ -1,10 +1,19 @@
1
1
  /* @flow */
2
+ const debug = require("debug")
3
+
4
+
5
+ const log = debug("rb:auth:check_session")
6
+
2
7
 
3
8
  const check_session = async(payload, ctx) => {
4
9
  const {req} = ctx
5
- // console.log("session check", req.session)
10
+
11
+ log("session:", req.session)
6
12
 
7
13
  const is_signed_in = !!req.session.user_id
14
+
15
+ log("is_signed_in:", is_signed_in)
16
+
8
17
  return {
9
18
  status: "ok",
10
19
  is_signed_in,
@@ -1,8 +1,12 @@
1
1
  /* @flow */
2
2
  const {compare_hash} = require("@rpcbase/std/crypto/hash")
3
+ const debug = require("debug")
3
4
 
4
5
  const mongoose = require("../../mongoose")
5
6
 
7
+
8
+ const log = debug("rb:auth:signin")
9
+
6
10
  const fail = () => ({
7
11
  errors: {form: "Invalid email or password"}
8
12
  })
@@ -13,8 +17,6 @@ const sign_in = async({email, password}, ctx) => {
13
17
  const {req} = ctx
14
18
 
15
19
  // find the matching user
16
- // TODO: document ctx param
17
- // const user = await User.findOne({email}, null, {ctx})
18
20
  const user = await User.findOne({email}, null)
19
21
 
20
22
  if (!user) {
@@ -26,13 +28,20 @@ const sign_in = async({email, password}, ctx) => {
26
28
  const is_match = await compare_hash(password, hashed_pass)
27
29
 
28
30
  if (is_match) {
29
- console.log("is match, user signed in wow")
31
+ log("compare_hash is match")
32
+
33
+ req.session.user_id = user._id.toString()
30
34
  await req.session.save()
31
- console.log("rb:auth:user_signed_in")
35
+
36
+ log("session saved, user is signed in")
37
+
32
38
  return {
33
39
  status: "ok"
34
40
  }
41
+
35
42
  } else {
43
+ log("no match, returning error")
44
+
36
45
  return fail()
37
46
  }
38
47
  }