@naturalcycles/backend-lib 5.5.0 → 5.6.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.
@@ -31,7 +31,7 @@ export declare class BaseAdminService {
31
31
  * Otherwise returns Set of permissions.
32
32
  * Empty array means it IS and Admin, but has no permissions (except being an Admin).
33
33
  */
34
- getEmailPermissions(email?: string): Set<string> | undefined;
34
+ getEmailPermissions(email?: string): Promise<Set<string> | undefined>;
35
35
  /**
36
36
  * To be extended.
37
37
  */
@@ -32,7 +32,7 @@ class BaseAdminService {
32
32
  * Otherwise returns Set of permissions.
33
33
  * Empty array means it IS and Admin, but has no permissions (except being an Admin).
34
34
  */
35
- getEmailPermissions(email) {
35
+ async getEmailPermissions(email) {
36
36
  if (!email)
37
37
  return;
38
38
  console.log(`getEmailPermissions (${(0, nodejs_lib_1.dimGrey)(email)}) returning undefined (please override the implementation)`);
@@ -80,7 +80,7 @@ class BaseAdminService {
80
80
  return false;
81
81
  const adminToken = this.getAdminToken(req);
82
82
  const email = await this.getEmailByToken(req, adminToken);
83
- return !!this.getEmailPermissions(email);
83
+ return !!(await this.getEmailPermissions(email));
84
84
  }
85
85
  async getAdminInfo(req) {
86
86
  return await this.hasPermissions(req);
@@ -98,7 +98,7 @@ class BaseAdminService {
98
98
  return adminInfoDisabled();
99
99
  const adminToken = this.getAdminToken(req);
100
100
  const email = await this.getEmailByToken(req, adminToken);
101
- const hasPermissions = this.getEmailPermissions(email);
101
+ const hasPermissions = await this.getEmailPermissions(email);
102
102
  if (!hasPermissions)
103
103
  return;
104
104
  const granted = reqPermissions.every(p => hasPermissions.has(p));
@@ -122,7 +122,7 @@ class BaseAdminService {
122
122
  userFriendly: true,
123
123
  });
124
124
  }
125
- const hasPermissions = this.getEmailPermissions(email);
125
+ const hasPermissions = await this.getEmailPermissions(email);
126
126
  const grantedPermissions = hasPermissions
127
127
  ? reqPermissions.filter(p => hasPermissions.has(p))
128
128
  : [];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@naturalcycles/backend-lib",
3
- "version": "5.5.0",
3
+ "version": "5.6.0",
4
4
  "scripts": {
5
5
  "prepare": "husky",
6
6
  "dev": "APP_ENV=dev node -r ts-node/register --watch ./src/test/server/server.ts",
@@ -58,7 +58,7 @@ export class BaseAdminService {
58
58
  * Otherwise returns Set of permissions.
59
59
  * Empty array means it IS and Admin, but has no permissions (except being an Admin).
60
60
  */
61
- getEmailPermissions(email?: string): Set<string> | undefined {
61
+ async getEmailPermissions(email?: string): Promise<Set<string> | undefined> {
62
62
  if (!email) return
63
63
  console.log(
64
64
  `getEmailPermissions (${dimGrey(
@@ -127,7 +127,7 @@ export class BaseAdminService {
127
127
  if (!req) return false
128
128
  const adminToken = this.getAdminToken(req)
129
129
  const email = await this.getEmailByToken(req, adminToken)
130
- return !!this.getEmailPermissions(email)
130
+ return !!(await this.getEmailPermissions(email))
131
131
  }
132
132
 
133
133
  async getAdminInfo(req: BackendRequest): Promise<AdminInfo | undefined> {
@@ -152,7 +152,7 @@ export class BaseAdminService {
152
152
 
153
153
  const adminToken = this.getAdminToken(req)
154
154
  const email = await this.getEmailByToken(req, adminToken)
155
- const hasPermissions = this.getEmailPermissions(email)
155
+ const hasPermissions = await this.getEmailPermissions(email)
156
156
  if (!hasPermissions) return
157
157
 
158
158
  const granted = reqPermissions.every(p => hasPermissions.has(p))
@@ -186,7 +186,7 @@ export class BaseAdminService {
186
186
  })
187
187
  }
188
188
 
189
- const hasPermissions = this.getEmailPermissions(email)
189
+ const hasPermissions = await this.getEmailPermissions(email)
190
190
  const grantedPermissions = hasPermissions
191
191
  ? reqPermissions.filter(p => hasPermissions.has(p))
192
192
  : []