@nocobase/plugin-users 0.7.0-alpha.3 → 0.7.0-alpha.30

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.
@@ -57,7 +57,7 @@ function findUserByToken(ctx, plugin) {
57
57
  });
58
58
  }
59
59
  catch (error) {
60
- console.warn(error);
60
+ return null;
61
61
  }
62
62
  });
63
63
  }
@@ -1 +1 @@
1
- {"version":3,"file":"parseToken.js","sourceRoot":"","sources":["../../src/middlewares/parseToken.ts"],"names":[],"mappings":";;;;;;;;;AAGA,MAAM,UAAU,UAAU,CAAC,OAAiC;IAC1D,OAAO,SAAe,UAAU,CAAC,GAAY,EAAE,IAAU;;YACvD,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YACxD,IAAI,IAAI,EAAE;gBACR,GAAG,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;gBAC7B,cAAc,CAAC,GAAG,CAAC,CAAC;aACrB;YACD,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC;KAAA,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,GAAG;;IAChC,IAAI,WAAW,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAEpC,IAAI,WAAW,KAAK,WAAW,EAAE;QAC/B,GAAG,CAAC,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;QACpC,OAAO;KACR;IAED,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC;IAE9C,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE;QACzB,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;KACjC;SAAM,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;QAC/B,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;QACjE,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,WAAC,OAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,0CAAE,OAAO,CAAA,EAAA,CAAC,CAAC;YACxE,WAAW,GAAG,MAAA,CAAC,WAAW,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,0CAAE,IAAI,CAAC;SACnD;KACF;IAED,IAAI,WAAW,EAAE;QACf,GAAG,CAAC,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;KACrC;AACH,CAAC;AAED,SAAe,eAAe,CAAC,GAAY,EAAE,MAAmB;;QAC9D,MAAM,KAAK,GAAG,GAAG,CAAC,cAAc,EAAE,CAAC;QACnC,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,IAAI,CAAC;SACb;QACD,IAAI;YACF,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAEzD,OAAO,MAAM,GAAG,CAAC,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;gBACjD,MAAM,EAAE;oBACN,EAAE,EAAE,MAAM;iBACX;gBACD,OAAO,EAAE,CAAC,OAAO,CAAC;aACnB,CAAC,CAAC;SACJ;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACrB;IACH,CAAC;CAAA","sourcesContent":["import { Context, Next } from '@nocobase/actions';\nimport UsersPlugin from '../server';\n\nexport function parseToken(options?: { plugin: UsersPlugin }) {\n return async function parseToken(ctx: Context, next: Next) {\n const user = await findUserByToken(ctx, options.plugin);\n if (user) {\n ctx.state.currentUser = user;\n setCurrentRole(ctx);\n }\n return next();\n };\n}\n\nexport function setCurrentRole(ctx) {\n let currentRole = ctx.get('X-Role');\n\n if (currentRole === 'anonymous') {\n ctx.state.currentRole = currentRole;\n return;\n }\n\n const userRoles = ctx.state.currentUser.roles;\n\n if (userRoles.length == 1) {\n currentRole = userRoles[0].name;\n } else if (userRoles.length > 1) {\n const role = userRoles.find((role) => role.name === currentRole);\n if (!role) {\n const defaultRole = userRoles.find((role) => role?.rolesUsers?.default);\n currentRole = (defaultRole || userRoles[0])?.name;\n }\n }\n\n if (currentRole) {\n ctx.state.currentRole = currentRole;\n }\n}\n\nasync function findUserByToken(ctx: Context, plugin: UsersPlugin) {\n const token = ctx.getBearerToken();\n if (!token) {\n return null;\n }\n try {\n const { userId } = await plugin.jwtService.decode(token);\n\n return await ctx.db.getRepository('users').findOne({\n filter: {\n id: userId,\n },\n appends: ['roles'],\n });\n } catch (error) {\n console.warn(error);\n }\n}\n"]}
1
+ {"version":3,"file":"parseToken.js","sourceRoot":"","sources":["../../src/middlewares/parseToken.ts"],"names":[],"mappings":";;;;;;;;;AAGA,MAAM,UAAU,UAAU,CAAC,OAAiC;IAC1D,OAAO,SAAe,UAAU,CAAC,GAAY,EAAE,IAAU;;YACvD,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YACxD,IAAI,IAAI,EAAE;gBACR,GAAG,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;gBAC7B,cAAc,CAAC,GAAG,CAAC,CAAC;aACrB;YACD,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC;KAAA,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,GAAG;;IAChC,IAAI,WAAW,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAEpC,IAAI,WAAW,KAAK,WAAW,EAAE;QAC/B,GAAG,CAAC,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;QACpC,OAAO;KACR;IAED,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC;IAE9C,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE;QACzB,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;KACjC;SAAM,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;QAC/B,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;QACjE,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,WAAC,OAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,0CAAE,OAAO,CAAA,EAAA,CAAC,CAAC;YACxE,WAAW,GAAG,MAAA,CAAC,WAAW,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,0CAAE,IAAI,CAAC;SACnD;KACF;IAED,IAAI,WAAW,EAAE;QACf,GAAG,CAAC,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;KACrC;AACH,CAAC;AAED,SAAe,eAAe,CAAC,GAAY,EAAE,MAAmB;;QAC9D,MAAM,KAAK,GAAG,GAAG,CAAC,cAAc,EAAE,CAAC;QACnC,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,IAAI,CAAC;SACb;QACD,IAAI;YACF,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAEzD,OAAO,MAAM,GAAG,CAAC,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;gBACjD,MAAM,EAAE;oBACN,EAAE,EAAE,MAAM;iBACX;gBACD,OAAO,EAAE,CAAC,OAAO,CAAC;aACnB,CAAC,CAAC;SACJ;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,IAAI,CAAC;SACb;IACH,CAAC;CAAA","sourcesContent":["import { Context, Next } from '@nocobase/actions';\nimport UsersPlugin from '../server';\n\nexport function parseToken(options?: { plugin: UsersPlugin }) {\n return async function parseToken(ctx: Context, next: Next) {\n const user = await findUserByToken(ctx, options.plugin);\n if (user) {\n ctx.state.currentUser = user;\n setCurrentRole(ctx);\n }\n return next();\n };\n}\n\nexport function setCurrentRole(ctx) {\n let currentRole = ctx.get('X-Role');\n\n if (currentRole === 'anonymous') {\n ctx.state.currentRole = currentRole;\n return;\n }\n\n const userRoles = ctx.state.currentUser.roles;\n\n if (userRoles.length == 1) {\n currentRole = userRoles[0].name;\n } else if (userRoles.length > 1) {\n const role = userRoles.find((role) => role.name === currentRole);\n if (!role) {\n const defaultRole = userRoles.find((role) => role?.rolesUsers?.default);\n currentRole = (defaultRole || userRoles[0])?.name;\n }\n }\n\n if (currentRole) {\n ctx.state.currentRole = currentRole;\n }\n}\n\nasync function findUserByToken(ctx: Context, plugin: UsersPlugin) {\n const token = ctx.getBearerToken();\n if (!token) {\n return null;\n }\n try {\n const { userId } = await plugin.jwtService.decode(token);\n\n return await ctx.db.getRepository('users').findOne({\n filter: {\n id: userId,\n },\n appends: ['roles'],\n });\n } catch (error) {\n return null;\n }\n}\n"]}
@@ -62,7 +62,7 @@ function findUserByToken(ctx, plugin) {
62
62
  });
63
63
  }
64
64
  catch (error) {
65
- console.warn(error);
65
+ return null;
66
66
  }
67
67
  });
68
68
  }
@@ -1 +1 @@
1
- {"version":3,"file":"parseToken.js","sourceRoot":"","sources":["../../src/middlewares/parseToken.ts"],"names":[],"mappings":";;;;;;;;;;;;AAGA,SAAgB,UAAU,CAAC,OAAiC;IAC1D,OAAO,SAAe,UAAU,CAAC,GAAY,EAAE,IAAU;;YACvD,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YACxD,IAAI,IAAI,EAAE;gBACR,GAAG,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;gBAC7B,cAAc,CAAC,GAAG,CAAC,CAAC;aACrB;YACD,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC;KAAA,CAAC;AACJ,CAAC;AATD,gCASC;AAED,SAAgB,cAAc,CAAC,GAAG;;IAChC,IAAI,WAAW,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAEpC,IAAI,WAAW,KAAK,WAAW,EAAE;QAC/B,GAAG,CAAC,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;QACpC,OAAO;KACR;IAED,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC;IAE9C,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE;QACzB,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;KACjC;SAAM,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;QAC/B,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;QACjE,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,WAAC,OAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,0CAAE,OAAO,CAAA,EAAA,CAAC,CAAC;YACxE,WAAW,GAAG,MAAA,CAAC,WAAW,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,0CAAE,IAAI,CAAC;SACnD;KACF;IAED,IAAI,WAAW,EAAE;QACf,GAAG,CAAC,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;KACrC;AACH,CAAC;AAvBD,wCAuBC;AAED,SAAe,eAAe,CAAC,GAAY,EAAE,MAAmB;;QAC9D,MAAM,KAAK,GAAG,GAAG,CAAC,cAAc,EAAE,CAAC;QACnC,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,IAAI,CAAC;SACb;QACD,IAAI;YACF,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAEzD,OAAO,MAAM,GAAG,CAAC,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;gBACjD,MAAM,EAAE;oBACN,EAAE,EAAE,MAAM;iBACX;gBACD,OAAO,EAAE,CAAC,OAAO,CAAC;aACnB,CAAC,CAAC;SACJ;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACrB;IACH,CAAC;CAAA","sourcesContent":["import { Context, Next } from '@nocobase/actions';\nimport UsersPlugin from '../server';\n\nexport function parseToken(options?: { plugin: UsersPlugin }) {\n return async function parseToken(ctx: Context, next: Next) {\n const user = await findUserByToken(ctx, options.plugin);\n if (user) {\n ctx.state.currentUser = user;\n setCurrentRole(ctx);\n }\n return next();\n };\n}\n\nexport function setCurrentRole(ctx) {\n let currentRole = ctx.get('X-Role');\n\n if (currentRole === 'anonymous') {\n ctx.state.currentRole = currentRole;\n return;\n }\n\n const userRoles = ctx.state.currentUser.roles;\n\n if (userRoles.length == 1) {\n currentRole = userRoles[0].name;\n } else if (userRoles.length > 1) {\n const role = userRoles.find((role) => role.name === currentRole);\n if (!role) {\n const defaultRole = userRoles.find((role) => role?.rolesUsers?.default);\n currentRole = (defaultRole || userRoles[0])?.name;\n }\n }\n\n if (currentRole) {\n ctx.state.currentRole = currentRole;\n }\n}\n\nasync function findUserByToken(ctx: Context, plugin: UsersPlugin) {\n const token = ctx.getBearerToken();\n if (!token) {\n return null;\n }\n try {\n const { userId } = await plugin.jwtService.decode(token);\n\n return await ctx.db.getRepository('users').findOne({\n filter: {\n id: userId,\n },\n appends: ['roles'],\n });\n } catch (error) {\n console.warn(error);\n }\n}\n"]}
1
+ {"version":3,"file":"parseToken.js","sourceRoot":"","sources":["../../src/middlewares/parseToken.ts"],"names":[],"mappings":";;;;;;;;;;;;AAGA,SAAgB,UAAU,CAAC,OAAiC;IAC1D,OAAO,SAAe,UAAU,CAAC,GAAY,EAAE,IAAU;;YACvD,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YACxD,IAAI,IAAI,EAAE;gBACR,GAAG,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;gBAC7B,cAAc,CAAC,GAAG,CAAC,CAAC;aACrB;YACD,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC;KAAA,CAAC;AACJ,CAAC;AATD,gCASC;AAED,SAAgB,cAAc,CAAC,GAAG;;IAChC,IAAI,WAAW,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAEpC,IAAI,WAAW,KAAK,WAAW,EAAE;QAC/B,GAAG,CAAC,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;QACpC,OAAO;KACR;IAED,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC;IAE9C,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE;QACzB,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;KACjC;SAAM,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;QAC/B,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;QACjE,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,WAAC,OAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,0CAAE,OAAO,CAAA,EAAA,CAAC,CAAC;YACxE,WAAW,GAAG,MAAA,CAAC,WAAW,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,0CAAE,IAAI,CAAC;SACnD;KACF;IAED,IAAI,WAAW,EAAE;QACf,GAAG,CAAC,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;KACrC;AACH,CAAC;AAvBD,wCAuBC;AAED,SAAe,eAAe,CAAC,GAAY,EAAE,MAAmB;;QAC9D,MAAM,KAAK,GAAG,GAAG,CAAC,cAAc,EAAE,CAAC;QACnC,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,IAAI,CAAC;SACb;QACD,IAAI;YACF,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAEzD,OAAO,MAAM,GAAG,CAAC,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;gBACjD,MAAM,EAAE;oBACN,EAAE,EAAE,MAAM;iBACX;gBACD,OAAO,EAAE,CAAC,OAAO,CAAC;aACnB,CAAC,CAAC;SACJ;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,IAAI,CAAC;SACb;IACH,CAAC;CAAA","sourcesContent":["import { Context, Next } from '@nocobase/actions';\nimport UsersPlugin from '../server';\n\nexport function parseToken(options?: { plugin: UsersPlugin }) {\n return async function parseToken(ctx: Context, next: Next) {\n const user = await findUserByToken(ctx, options.plugin);\n if (user) {\n ctx.state.currentUser = user;\n setCurrentRole(ctx);\n }\n return next();\n };\n}\n\nexport function setCurrentRole(ctx) {\n let currentRole = ctx.get('X-Role');\n\n if (currentRole === 'anonymous') {\n ctx.state.currentRole = currentRole;\n return;\n }\n\n const userRoles = ctx.state.currentUser.roles;\n\n if (userRoles.length == 1) {\n currentRole = userRoles[0].name;\n } else if (userRoles.length > 1) {\n const role = userRoles.find((role) => role.name === currentRole);\n if (!role) {\n const defaultRole = userRoles.find((role) => role?.rolesUsers?.default);\n currentRole = (defaultRole || userRoles[0])?.name;\n }\n }\n\n if (currentRole) {\n ctx.state.currentRole = currentRole;\n }\n}\n\nasync function findUserByToken(ctx: Context, plugin: UsersPlugin) {\n const token = ctx.getBearerToken();\n if (!token) {\n return null;\n }\n try {\n const { userId } = await plugin.jwtService.decode(token);\n\n return await ctx.db.getRepository('users').findOne({\n filter: {\n id: userId,\n },\n appends: ['roles'],\n });\n } catch (error) {\n return null;\n }\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nocobase/plugin-users",
3
- "version": "0.7.0-alpha.3",
3
+ "version": "0.7.0-alpha.30",
4
4
  "main": "lib/index.js",
5
5
  "license": "Apache-2.0",
6
6
  "licenses": [
@@ -18,8 +18,8 @@
18
18
  "jsonwebtoken": "^8.5.1"
19
19
  },
20
20
  "devDependencies": {
21
- "@nocobase/test": "0.7.0-alpha.3",
21
+ "@nocobase/test": "0.7.0-alpha.30",
22
22
  "@types/jsonwebtoken": "^8.5.8"
23
23
  },
24
- "gitHead": "b12507f6e4bcb5f1fd8285670a43fb3807d90ea0"
24
+ "gitHead": "781fb0a999854341cd8c353d31ae5a11ecbbe775"
25
25
  }