@churchapps/apphelper 0.3.43 → 0.3.45
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/dist/helpers/ApiHelper.d.ts.map +1 -1
- package/dist/helpers/ApiHelper.js +3 -3
- package/dist/helpers/ApiHelper.js.map +1 -1
- package/dist/helpers/ErrorHelper.d.ts +2 -2
- package/dist/helpers/ErrorHelper.d.ts.map +1 -1
- package/dist/helpers/ErrorHelper.js.map +1 -1
- package/dist/helpers/UserHelper.js +1 -1
- package/dist/helpers/UserHelper.js.map +1 -1
- package/package.json +2 -2
- package/src/helpers/ApiHelper.ts +119 -119
- package/src/helpers/ErrorHelper.ts +2 -2
- package/src/helpers/UserHelper.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApiHelper.d.ts","sourceRoot":"","sources":["../../src/helpers/ApiHelper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,uBAAuB,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGtF,qBAAa,SAAS;
|
|
1
|
+
{"version":3,"file":"ApiHelper.d.ts","sourceRoot":"","sources":["../../src/helpers/ApiHelper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,uBAAuB,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGtF,qBAAa,SAAS;IAErB,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,CAAM;IACpC,MAAM,CAAC,eAAe,UAAS;IAE/B,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM;IAOhC,MAAM,CAAC,qBAAqB,CAAC,GAAG,EAAE,MAAM;IAQxC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,uBAAuB,EAAE;IAU1F,MAAM,CAAC,gBAAgB;WAKV,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW;WAWtC,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE;WAQhE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,WAAW;WAUzD,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,WAAW;WAU1D,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW;WAczC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,WAAW;WAUlE,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG;mBAc/C,aAAa;CAUlC"}
|
|
@@ -13,7 +13,7 @@ class ApiHelper {
|
|
|
13
13
|
static setDefaultPermissions(jwt) {
|
|
14
14
|
this.apiConfigs.forEach(config => {
|
|
15
15
|
config.jwt = jwt;
|
|
16
|
-
config.
|
|
16
|
+
config.permissions = [];
|
|
17
17
|
});
|
|
18
18
|
this.isAuthenticated = true;
|
|
19
19
|
}
|
|
@@ -21,13 +21,13 @@ class ApiHelper {
|
|
|
21
21
|
this.apiConfigs.forEach(config => {
|
|
22
22
|
if (config.keyName === keyName) {
|
|
23
23
|
config.jwt = jwt;
|
|
24
|
-
config.
|
|
24
|
+
config.permissions = permissions;
|
|
25
25
|
}
|
|
26
26
|
});
|
|
27
27
|
this.isAuthenticated = true;
|
|
28
28
|
}
|
|
29
29
|
static clearPermissions() {
|
|
30
|
-
this.apiConfigs.forEach(config => { config.jwt = ""; config.
|
|
30
|
+
this.apiConfigs.forEach(config => { config.jwt = ""; config.permissions = []; });
|
|
31
31
|
this.isAuthenticated = false;
|
|
32
32
|
}
|
|
33
33
|
static async get(path, apiName) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApiHelper.js","sourceRoot":"","sources":["../../src/helpers/ApiHelper.ts"],"names":[],"mappings":";;;AACA,+CAA4C;AAE5C,MAAa,SAAS;
|
|
1
|
+
{"version":3,"file":"ApiHelper.js","sourceRoot":"","sources":["../../src/helpers/ApiHelper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ErrorLogInterface,
|
|
1
|
+
import { ErrorLogInterface, ErrorAppDataInterface } from "@churchapps/helpers";
|
|
2
2
|
export declare class ErrorHelper {
|
|
3
3
|
static getAppData: () => {
|
|
4
4
|
churchId: string;
|
|
@@ -7,7 +7,7 @@ export declare class ErrorHelper {
|
|
|
7
7
|
application: string;
|
|
8
8
|
};
|
|
9
9
|
static customErrorHandler: (errorLog: ErrorLogInterface) => void;
|
|
10
|
-
static init: (getAppData: () =>
|
|
10
|
+
static init: (getAppData: () => ErrorAppDataInterface, customErrorHandler: (errorLog: ErrorLogInterface) => void) => void;
|
|
11
11
|
static logError: (errorType: string, message: string, details: string) => void;
|
|
12
12
|
}
|
|
13
13
|
//# sourceMappingURL=ErrorHelper.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ErrorHelper.d.ts","sourceRoot":"","sources":["../../src/helpers/ErrorHelper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"ErrorHelper.d.ts","sourceRoot":"","sources":["../../src/helpers/ErrorHelper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAI/E,qBAAa,WAAW;IAEvB,MAAM,CAAC,UAAU,EAAE,MAAM;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IACtG,MAAM,CAAC,kBAAkB,EAAE,CAAC,QAAQ,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAEjE,MAAM,CAAC,IAAI,GAAI,YAAY,MAAM,qBAAqB,EAAE,oBAAoB,CAAC,QAAQ,EAAE,iBAAiB,KAAK,IAAI,UAGhH;IAED,MAAM,CAAC,QAAQ,GAAI,WAAW,MAAM,EAAE,SAAS,MAAM,EAAE,SAAS,MAAM,UAyBrE;CAED"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ErrorHelper.js","sourceRoot":"","sources":["../../src/helpers/ErrorHelper.ts"],"names":[],"mappings":";;;;AACA,2CAAwC;AAGxC,MAAa,WAAW;;AAAxB,kCAqCC;;AAhCO,gBAAI,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"ErrorHelper.js","sourceRoot":"","sources":["../../src/helpers/ErrorHelper.ts"],"names":[],"mappings":";;;;AACA,2CAAwC;AAGxC,MAAa,WAAW;;AAAxB,kCAqCC;;AAhCO,gBAAI,GAAG,CAAC,UAAuC,EAAE,kBAAyD,EAAE,EAAE;IACpH,EAAW,CAAC,UAAU,GAAG,UAAU,CAAC;IACpC,EAAW,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;AACrD,CAAC,AAHU,CAGV;AAEM,oBAAQ,GAAG,CAAC,SAAiB,EAAE,OAAe,EAAE,OAAe,EAAE,EAAE;IACzE,IAAI,EAAI,CAAC,UAAU,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,EAAI,CAAC,UAAU,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAsB;YAC9B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,SAAS;YACpB,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,OAAO;SAChB,CAAA;QAED,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QAE9B,IAAI,GAAG,CAAC,SAAS,KAAK,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAAE,OAAO;QAChF,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAAE,OAAO;QACrD,IAAI,CAAC;YACJ,qBAAS,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC,GAAG,CAAC,EAAE,eAAe,CAAC,CAAC;QAClE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACnB,CAAC;QACD,IAAI,EAAW,CAAC,kBAAkB;YAAE,EAAW,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACzE,CAAC;AACF,CAAC,AAzBc,CAyBd"}
|
|
@@ -12,7 +12,7 @@ class UserHelper {
|
|
|
12
12
|
ApiHelper_1.ApiHelper.setDefaultPermissions(user.jwt);
|
|
13
13
|
}
|
|
14
14
|
static checkAccess({ api, contentType, action }) {
|
|
15
|
-
const permissions = ApiHelper_1.ApiHelper.getConfig(api)?.
|
|
15
|
+
const permissions = ApiHelper_1.ApiHelper.getConfig(api)?.permissions || [];
|
|
16
16
|
let result = false;
|
|
17
17
|
if (permissions !== undefined) {
|
|
18
18
|
permissions.forEach(element => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserHelper.js","sourceRoot":"","sources":["../../src/helpers/UserHelper.ts"],"names":[],"mappings":";;;;AAAA,2CAAuC;AAGvC,MAAa,UAAU;IA6BtB,MAAM,CAAC,cAAc,CAAC,UAAoC;QACzD,qBAAS,CAAC,qBAAqB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAChD,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,qBAAS,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtG,CAAC;IAED,MAAM,CAAC,sBAAsB,CAAC,IAA8B;QAC3D,qBAAS,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAkB;QAC9D,MAAM,WAAW,GAAG,qBAAS,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"UserHelper.js","sourceRoot":"","sources":["../../src/helpers/UserHelper.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@churchapps/apphelper",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.45",
|
|
4
4
|
"description": "Library of helper functions for React and NextJS ChurchApps",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"react-router-dom": "^6.15.0"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@churchapps/helpers": "^1.0.
|
|
40
|
+
"@churchapps/helpers": "^1.0.38",
|
|
41
41
|
"@emotion/cache": "^11.11.0",
|
|
42
42
|
"@emotion/react": "^11.11.1",
|
|
43
43
|
"@emotion/styled": "^11.11.0",
|
package/src/helpers/ApiHelper.ts
CHANGED
|
@@ -3,124 +3,124 @@ import { ErrorHelper } from "./ErrorHelper";
|
|
|
3
3
|
|
|
4
4
|
export class ApiHelper {
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
6
|
+
static apiConfigs: ApiConfig[] = [];
|
|
7
|
+
static isAuthenticated = false;
|
|
8
|
+
|
|
9
|
+
static getConfig(keyName: string) {
|
|
10
|
+
let result: ApiConfig;
|
|
11
|
+
this.apiConfigs.forEach(config => { if (config.keyName === keyName) result = config });
|
|
12
|
+
//if (result === null) throw new Error("Unconfigured API: " + keyName);
|
|
13
|
+
return result;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
static setDefaultPermissions(jwt: string) {
|
|
17
|
+
this.apiConfigs.forEach(config => {
|
|
18
|
+
config.jwt = jwt;
|
|
19
|
+
config.permissions = [];
|
|
20
|
+
});
|
|
21
|
+
this.isAuthenticated = true;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
static setPermissions(keyName: string, jwt: string, permissions: RolePermissionInterface[]) {
|
|
25
|
+
this.apiConfigs.forEach(config => {
|
|
26
|
+
if (config.keyName === keyName) {
|
|
27
|
+
config.jwt = jwt;
|
|
28
|
+
config.permissions = permissions;
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
this.isAuthenticated = true;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
static clearPermissions() {
|
|
35
|
+
this.apiConfigs.forEach(config => { config.jwt = ""; config.permissions = []; });
|
|
36
|
+
this.isAuthenticated = false;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
static async get(path: string, apiName: ApiListType) {
|
|
40
|
+
const config = this.getConfig(apiName);
|
|
41
|
+
const requestOptions = {
|
|
42
|
+
method: "GET",
|
|
43
|
+
headers: { Authorization: "Bearer " + config.jwt },
|
|
44
|
+
cache: "no-store"
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
return await this.fetchWithErrorHandling(config.url + path, requestOptions);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
static async getAnonymous(path: string, apiName: ApiListType, tags?: string[]) {
|
|
51
|
+
const config = this.getConfig(apiName);
|
|
52
|
+
const requestOptions: RequestInit = { method: "GET" };
|
|
53
|
+
if (tags?.length > 0) (requestOptions as any).next = { tags: tags };
|
|
54
|
+
else requestOptions.cache = "no-store";
|
|
55
|
+
return await this.fetchWithErrorHandling(config.url + path, requestOptions);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
static async post(path: string, data: any[] | {}, apiName: ApiListType) {
|
|
59
|
+
const config = this.getConfig(apiName);
|
|
60
|
+
const requestOptions = {
|
|
61
|
+
method: "POST",
|
|
62
|
+
headers: { Authorization: "Bearer " + config.jwt, "Content-Type": "application/json" },
|
|
63
|
+
body: JSON.stringify(data)
|
|
64
|
+
};
|
|
65
|
+
return await this.fetchWithErrorHandling(config.url + path, requestOptions);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
static async patch(path: string, data: any[] | {}, apiName: ApiListType) {
|
|
69
|
+
const config = this.getConfig(apiName);
|
|
70
|
+
const requestOptions = {
|
|
71
|
+
method: "PATCH",
|
|
72
|
+
headers: { Authorization: "Bearer " + config.jwt, "Content-Type": "application/json" },
|
|
73
|
+
body: JSON.stringify(data)
|
|
74
|
+
};
|
|
75
|
+
return await this.fetchWithErrorHandling(config.url + path, requestOptions);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
static async delete(path: string, apiName: ApiListType) {
|
|
79
|
+
const config = this.getConfig(apiName);
|
|
80
|
+
const requestOptions = {
|
|
81
|
+
method: "DELETE",
|
|
82
|
+
headers: { Authorization: "Bearer " + config.jwt }
|
|
83
|
+
};
|
|
84
|
+
try {
|
|
85
|
+
const response = await fetch(config.url + path, requestOptions);
|
|
86
|
+
if (!response.ok) await this.throwApiError(response);
|
|
87
|
+
} catch (e) {
|
|
88
|
+
throw (e);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
static async postAnonymous(path: string, data: any[] | {}, apiName: ApiListType) {
|
|
93
|
+
const config = this.getConfig(apiName);
|
|
94
|
+
const requestOptions = {
|
|
95
|
+
method: "POST",
|
|
96
|
+
headers: { "Content-Type": "application/json" },
|
|
97
|
+
body: JSON.stringify(data)
|
|
98
|
+
};
|
|
99
|
+
return await this.fetchWithErrorHandling(config.url + path, requestOptions);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
static async fetchWithErrorHandling(url: string, requestOptions: any) {
|
|
103
|
+
try {
|
|
104
|
+
const response = await fetch(url, requestOptions);
|
|
105
|
+
if (!response.ok) await this.throwApiError(response);
|
|
106
|
+
else {
|
|
107
|
+
if (response.status !== 204) {
|
|
108
|
+
return response.json();
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
} catch (e) {
|
|
112
|
+
throw (e);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
private static async throwApiError(response: Response) {
|
|
117
|
+
let msg = response.statusText;
|
|
118
|
+
try {
|
|
119
|
+
const json = await response.json();
|
|
120
|
+
msg = json.errors[0];
|
|
121
|
+
} catch { }
|
|
122
|
+
ErrorHelper.logError(response.status.toString(), response.url, msg);
|
|
123
|
+
throw new Error(msg || "Error");
|
|
124
|
+
}
|
|
125
125
|
|
|
126
126
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ErrorLogInterface,
|
|
1
|
+
import { ErrorLogInterface, ErrorAppDataInterface } from "@churchapps/helpers";
|
|
2
2
|
import { ApiHelper } from "./ApiHelper";
|
|
3
3
|
|
|
4
4
|
|
|
@@ -7,7 +7,7 @@ export class ErrorHelper {
|
|
|
7
7
|
static getAppData: () => { churchId: string, userId: string, originUrl: string, application: string };
|
|
8
8
|
static customErrorHandler: (errorLog: ErrorLogInterface) => void;
|
|
9
9
|
|
|
10
|
-
static init = (getAppData: () =>
|
|
10
|
+
static init = (getAppData: () => ErrorAppDataInterface, customErrorHandler: (errorLog: ErrorLogInterface) => void) => {
|
|
11
11
|
ErrorHelper.getAppData = getAppData;
|
|
12
12
|
ErrorHelper.customErrorHandler = customErrorHandler;
|
|
13
13
|
}
|
|
@@ -40,7 +40,7 @@ export class UserHelper {
|
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
static checkAccess({ api, contentType, action }: IApiPermission): boolean {
|
|
43
|
-
const permissions = ApiHelper.getConfig(api)?.
|
|
43
|
+
const permissions = ApiHelper.getConfig(api)?.permissions || [];
|
|
44
44
|
|
|
45
45
|
let result = false;
|
|
46
46
|
if (permissions !== undefined) {
|