@nymphjs/tilmeld 1.0.0-alpha.2 → 1.0.0-alpha.6
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/CHANGELOG.md +25 -0
- package/README.md +21 -16
- package/dist/Group.d.ts +1 -1
- package/dist/Group.js.map +1 -1
- package/dist/Group.test.js +8 -2
- package/dist/Group.test.js.map +1 -1
- package/dist/Tilmeld.d.ts +6 -7
- package/dist/Tilmeld.js +114 -56
- package/dist/Tilmeld.js.map +1 -1
- package/dist/User.d.ts +1 -1
- package/dist/User.js.map +1 -1
- package/dist/User.test.js +8 -2
- package/dist/User.test.js.map +1 -1
- package/dist/conf/d.d.ts +3 -0
- package/dist/conf/defaults.js +25 -92
- package/dist/conf/defaults.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/tilmeldJoiProps.d.ts +12 -0
- package/dist/tilmeldJoiProps.js +20 -0
- package/dist/tilmeldJoiProps.js.map +1 -0
- package/package.json +6 -6
- package/src/Group.test.ts +10 -2
- package/src/Group.ts +11 -2
- package/src/Tilmeld.ts +200 -76
- package/src/User.test.ts +10 -2
- package/src/User.ts +11 -2
- package/src/conf/d.ts +30 -0
- package/src/conf/defaults.ts +8 -47
- package/src/index.ts +3 -1
- package/src/tilmeldJoiProps.ts +46 -0
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,31 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [1.0.0-alpha.6](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.5...v1.0.0-alpha.6) (2021-10-05)
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
- tilmeld instance in access control functions ([7965df8](https://github.com/sciactive/nymphjs/commit/7965df8ea8cbbad7efa77ce8fe8b0f3061ac3c44))
|
|
11
|
+
|
|
12
|
+
# [1.0.0-alpha.5](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.4...v1.0.0-alpha.5) (2021-09-30)
|
|
13
|
+
|
|
14
|
+
### Features
|
|
15
|
+
|
|
16
|
+
- provide Joi prop checks for Nymph and Tilmeld as exports ([8180861](https://github.com/sciactive/nymphjs/commit/8180861c6631f7fd25a2d2a3c57924b8f4147cf3))
|
|
17
|
+
|
|
18
|
+
# [1.0.0-alpha.4](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.3...v1.0.0-alpha.4) (2021-09-27)
|
|
19
|
+
|
|
20
|
+
### Features
|
|
21
|
+
|
|
22
|
+
- gate UIDs on Tilmeld with config and abilities ([99a9141](https://github.com/sciactive/nymphjs/commit/99a9141cc92fe3d1ad68d21e42de4e9b5493e4d9))
|
|
23
|
+
- use new instances of nymph for server and pubsub requests ([0c18fab](https://github.com/sciactive/nymphjs/commit/0c18faba2b55fe82c16806d221fc54d2cd42c992))
|
|
24
|
+
|
|
25
|
+
# [1.0.0-alpha.3](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.2...v1.0.0-alpha.3) (2021-09-22)
|
|
26
|
+
|
|
27
|
+
### Features
|
|
28
|
+
|
|
29
|
+
- move to fully instance based design, no more globals ([c036220](https://github.com/sciactive/nymphjs/commit/c0362209b90a475b8b85269a829b0ec6bed4465f))
|
|
30
|
+
|
|
6
31
|
# [1.0.0-alpha.2](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.1...v1.0.0-alpha.2) (2021-09-21)
|
|
7
32
|
|
|
8
33
|
### Features
|
package/README.md
CHANGED
|
@@ -12,32 +12,37 @@ npm install --save @nymphjs/tilmeld
|
|
|
12
12
|
|
|
13
13
|
## Usage
|
|
14
14
|
|
|
15
|
-
When you initialize Nymph, provide it with the Tilmeld class from this package.
|
|
15
|
+
When you initialize Nymph, provide it with an instance of the Tilmeld class from this package. You now have access to the User and Group classes that are specific to that instance of Nymph/Tilmeld.
|
|
16
16
|
|
|
17
17
|
Here's an overview.
|
|
18
18
|
|
|
19
19
|
```ts
|
|
20
20
|
import SQLite3Driver from '@nymphjs/driver-sqlite3';
|
|
21
|
-
import Tilmeld from '@nymphjs/tilmeld';
|
|
22
|
-
import
|
|
23
|
-
|
|
24
|
-
|
|
21
|
+
import { Tilmeld } from '@nymphjs/tilmeld';
|
|
22
|
+
import { Nymph } from '@nymphjs/nymph';
|
|
23
|
+
|
|
24
|
+
const tilmeld = new Tilmeld({
|
|
25
|
+
appName: 'My App',
|
|
26
|
+
appUrl: 'http://localhost',
|
|
27
|
+
cookieDomain: 'localhost',
|
|
28
|
+
cookiePath: '/',
|
|
29
|
+
setupPath: '/user',
|
|
30
|
+
verifyRedirect: 'http://localhost',
|
|
31
|
+
verifyChangeRedirect: 'http://localhost',
|
|
32
|
+
cancelChangeRedirect: 'http://localhost',
|
|
33
|
+
jwtSecret: 'shhhhh',
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
const nymph = new Nymph(
|
|
25
37
|
{},
|
|
26
38
|
new SQLite3Driver({
|
|
27
39
|
filename: ':memory:',
|
|
28
40
|
}),
|
|
29
|
-
|
|
30
|
-
appName: 'My App',
|
|
31
|
-
appUrl: 'http://localhost',
|
|
32
|
-
cookieDomain: 'localhost',
|
|
33
|
-
cookiePath: '/',
|
|
34
|
-
setupPath: '/user',
|
|
35
|
-
verifyRedirect: 'http://localhost',
|
|
36
|
-
verifyChangeRedirect: 'http://localhost',
|
|
37
|
-
cancelChangeRedirect: 'http://localhost',
|
|
38
|
-
jwtSecret: 'shhhhh',
|
|
39
|
-
})
|
|
41
|
+
tilmeld
|
|
40
42
|
);
|
|
43
|
+
|
|
44
|
+
// These are the classes specific to this instance of Tilmeld.
|
|
45
|
+
const { User, Group } = tilmeld;
|
|
41
46
|
```
|
|
42
47
|
|
|
43
48
|
## Options
|
package/dist/Group.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { EntityData, EntityJson, EntityPatch, Options, Selector, SerializedEntityData } from '@nymphjs/nymph';
|
|
2
|
+
import type Tilmeld from './Tilmeld';
|
|
2
3
|
import AbleObject from './AbleObject';
|
|
3
|
-
import Tilmeld from './Tilmeld';
|
|
4
4
|
import User, { UserData } from './User';
|
|
5
5
|
export declare type GroupData = {
|
|
6
6
|
abilities?: string[];
|
package/dist/Group.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Group.js","sourceRoot":"","sources":["../src/Group.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Group.js","sourceRoot":"","sources":["../src/Group.ts"],"names":[],"mappings":"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"}
|
package/dist/Group.test.js
CHANGED
|
@@ -13,7 +13,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
const driver_sqlite3_1 = require("@nymphjs/driver-sqlite3");
|
|
16
|
-
const nymph_1 =
|
|
16
|
+
const nymph_1 = require("@nymphjs/nymph");
|
|
17
17
|
const Tilmeld_1 = __importDefault(require("./Tilmeld"));
|
|
18
18
|
const defaults_1 = __importDefault(require("./conf/defaults"));
|
|
19
19
|
const tilmeld = new Tilmeld_1.default({
|
|
@@ -28,7 +28,7 @@ const tilmeld = new Tilmeld_1.default({
|
|
|
28
28
|
cancelChangeRedirect: 'http://localhost:8080',
|
|
29
29
|
jwtSecret: 'shhhhh',
|
|
30
30
|
});
|
|
31
|
-
nymph_1.
|
|
31
|
+
const _nymph = new nymph_1.Nymph({}, new driver_sqlite3_1.SQLite3Driver({
|
|
32
32
|
filename: ':memory:',
|
|
33
33
|
}), tilmeld);
|
|
34
34
|
const Group = tilmeld.Group;
|
|
@@ -42,6 +42,12 @@ describe('Group', () => {
|
|
|
42
42
|
return newGroup;
|
|
43
43
|
});
|
|
44
44
|
}
|
|
45
|
+
it('new group passes validation', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
46
|
+
const validGroup = yield makeNewGroup();
|
|
47
|
+
expect(() => {
|
|
48
|
+
defaults_1.default.validatorGroup(validGroup);
|
|
49
|
+
}).not.toThrow();
|
|
50
|
+
}));
|
|
45
51
|
it("doesn't allow unknown keys", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
46
52
|
const invalidGroup = yield makeNewGroup();
|
|
47
53
|
invalidGroup.unknown = 'I should cause an error.';
|
package/dist/Group.test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Group.test.js","sourceRoot":"","sources":["../src/Group.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,4DAAwD;AACxD,
|
|
1
|
+
{"version":3,"file":"Group.test.js","sourceRoot":"","sources":["../src/Group.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,4DAAwD;AACxD,0CAAuC;AAEvC,wDAAgC;AAChC,+DAAuC;AAEvC,MAAM,OAAO,GAAG,IAAI,iBAAO,CAAC;IAC1B,OAAO,EAAE,QAAQ;IACjB,MAAM,EAAE,uBAAuB;IAC/B,YAAY,EAAE,WAAW;IACzB,UAAU,EAAE,GAAG;IACf,SAAS,EAAE,OAAO;IAClB,cAAc,EAAE,KAAK;IACrB,cAAc,EAAE,uBAAuB;IACvC,oBAAoB,EAAE,uBAAuB;IAC7C,oBAAoB,EAAE,uBAAuB;IAC7C,SAAS,EAAE,QAAQ;CACpB,CAAC,CAAC;AACH,MAAM,MAAM,GAAG,IAAI,aAAK,CACtB,EAAE,EACF,IAAI,8BAAa,CAAC;IAChB,QAAQ,EAAE,UAAU;CACrB,CAAC,EACF,OAAO,CACR,CAAC;AAEF,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;AAE5B,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;IACrB,SAAe,YAAY;;YACzB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;YAEvC,QAAQ,CAAC,SAAS,GAAG,WAAW,CAAC;YACjC,QAAQ,CAAC,KAAK,GAAG,oBAAoB,CAAC;YACtC,QAAQ,CAAC,IAAI,GAAG,WAAW,CAAC;YAE5B,OAAO,QAAQ,CAAC;QAClB,CAAC;KAAA;IAED,EAAE,CAAC,6BAA6B,EAAE,GAAS,EAAE;QAC3C,MAAM,UAAU,GAAG,MAAM,YAAY,EAAE,CAAC;QAExC,MAAM,CAAC,GAAG,EAAE;YACV,kBAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACnB,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,GAAS,EAAE;QAC1C,MAAM,YAAY,GAAG,MAAM,YAAY,EAAE,CAAC;QAG1C,YAAY,CAAC,OAAO,GAAG,0BAA0B,CAAC;QAElD,MAAM,CAAC,GAAG,EAAE;YACV,kBAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC,OAAO,CAAC,0CAA0C,CAAC,CAAC;IACzD,CAAC,CAAA,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/dist/Tilmeld.d.ts
CHANGED
|
@@ -1,14 +1,10 @@
|
|
|
1
|
-
import { Nymph, EntityInterface, FormattedSelector, Options, TilmeldInterface } from '@nymphjs/nymph';
|
|
1
|
+
import { Nymph, EntityInterface, FormattedSelector, Options, TilmeldInterface, TilmeldAccessLevels } from '@nymphjs/nymph';
|
|
2
2
|
import { Request, Response } from 'express';
|
|
3
3
|
import { Config } from './conf';
|
|
4
4
|
import Group from './Group';
|
|
5
5
|
import User, { UserData } from './User';
|
|
6
6
|
import { AccessControlData } from './Tilmeld.types';
|
|
7
7
|
export default class Tilmeld implements TilmeldInterface {
|
|
8
|
-
static NO_ACCESS: number;
|
|
9
|
-
static READ_ACCESS: number;
|
|
10
|
-
static WRITE_ACCESS: number;
|
|
11
|
-
static FULL_ACCESS: number;
|
|
12
8
|
nymph: Nymph;
|
|
13
9
|
config: Config;
|
|
14
10
|
currentUser: (User & UserData) | null;
|
|
@@ -16,14 +12,17 @@ export default class Tilmeld implements TilmeldInterface {
|
|
|
16
12
|
Group: typeof Group;
|
|
17
13
|
request: Request | null;
|
|
18
14
|
response: Response | null;
|
|
15
|
+
private skipAuthenticate;
|
|
19
16
|
constructor(config: Partial<Config> & {
|
|
20
17
|
jwtSecret: string;
|
|
21
18
|
});
|
|
22
|
-
|
|
19
|
+
clone(): Tilmeld;
|
|
23
20
|
init(nymph: Nymph): void;
|
|
21
|
+
gatekeeper(ability?: string): boolean;
|
|
24
22
|
private initAccessControl;
|
|
25
23
|
addAccessControlSelectors(options: Options, selectors: FormattedSelector[]): void;
|
|
26
|
-
checkPermissions(entity: EntityInterface & AccessControlData, type?:
|
|
24
|
+
checkPermissions(entity: EntityInterface & AccessControlData, type?: TilmeldAccessLevels, user?: (User & UserData) | false): boolean;
|
|
25
|
+
checkClientUIDPermissions(name: string, type?: TilmeldAccessLevels, user?: (User & UserData) | false): boolean;
|
|
27
26
|
fillSession(user: User & UserData): void;
|
|
28
27
|
clearSession(): void;
|
|
29
28
|
extractToken(token: string): Promise<(User & UserData) | null>;
|
package/dist/Tilmeld.js
CHANGED
|
@@ -19,19 +19,22 @@ const Group_1 = __importDefault(require("./Group"));
|
|
|
19
19
|
const User_1 = __importDefault(require("./User"));
|
|
20
20
|
class Tilmeld {
|
|
21
21
|
constructor(config) {
|
|
22
|
+
this.nymph = {};
|
|
22
23
|
this.currentUser = null;
|
|
23
24
|
this.User = User_1.default;
|
|
24
25
|
this.Group = Group_1.default;
|
|
25
26
|
this.request = null;
|
|
26
27
|
this.response = null;
|
|
27
|
-
this.
|
|
28
|
+
this.skipAuthenticate = false;
|
|
28
29
|
this.config = Object.assign(Object.assign({}, conf_1.ConfigDefaults), config);
|
|
29
30
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
31
|
+
clone() {
|
|
32
|
+
const tilmeld = new Tilmeld(this.config);
|
|
33
|
+
tilmeld.request = this.request;
|
|
34
|
+
tilmeld.response = this.response;
|
|
35
|
+
tilmeld.currentUser = this.currentUser;
|
|
36
|
+
tilmeld.skipAuthenticate = true;
|
|
37
|
+
return tilmeld;
|
|
35
38
|
}
|
|
36
39
|
init(nymph) {
|
|
37
40
|
this.nymph = nymph;
|
|
@@ -42,23 +45,32 @@ class Tilmeld {
|
|
|
42
45
|
}
|
|
43
46
|
NymphUser.nymph = this.nymph;
|
|
44
47
|
NymphUser.tilmeld = this;
|
|
48
|
+
NymphUser.skipOnClone = true;
|
|
45
49
|
this.User = NymphUser;
|
|
46
|
-
this.nymph.
|
|
50
|
+
this.nymph.addEntityClass(NymphUser);
|
|
47
51
|
class NymphGroup extends Group_1.default {
|
|
48
52
|
}
|
|
49
53
|
NymphGroup.nymph = this.nymph;
|
|
50
54
|
NymphGroup.tilmeld = this;
|
|
55
|
+
NymphUser.skipOnClone = true;
|
|
51
56
|
this.Group = NymphGroup;
|
|
52
|
-
this.nymph.
|
|
57
|
+
this.nymph.addEntityClass(NymphGroup);
|
|
53
58
|
this.initAccessControl();
|
|
54
|
-
if (this.request != null) {
|
|
59
|
+
if (this.request != null && !this.skipAuthenticate) {
|
|
55
60
|
this.authenticate();
|
|
56
61
|
}
|
|
62
|
+
this.skipAuthenticate = false;
|
|
63
|
+
}
|
|
64
|
+
gatekeeper(ability) {
|
|
65
|
+
if (this.currentUser == null) {
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
return this.currentUser.$gatekeeper(ability);
|
|
57
69
|
}
|
|
58
70
|
initAccessControl() {
|
|
59
|
-
const
|
|
60
|
-
|
|
61
|
-
|
|
71
|
+
const handleQuery = function (nymph, options, selectors) {
|
|
72
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
73
|
+
const tilmeld = nymph.tilmeld;
|
|
62
74
|
if (!options ||
|
|
63
75
|
!('skipAc' in options) ||
|
|
64
76
|
!options.skipAc ||
|
|
@@ -73,34 +85,39 @@ class Tilmeld {
|
|
|
73
85
|
selectors[0].type !== '&' ||
|
|
74
86
|
(!('guid' in selectors[0]) && !('equal' in selectors[0])) ||
|
|
75
87
|
('guid' in selectors[0] &&
|
|
76
|
-
((_c = selectors[0].guid) === null || _c === void 0 ? void 0 : _c.length)
|
|
77
|
-
|
|
88
|
+
(!((_c = selectors[0].guid) === null || _c === void 0 ? void 0 : _c.length) ||
|
|
89
|
+
!((_e = (_d = selectors[0].guid) === null || _d === void 0 ? void 0 : _d[0]) === null || _e === void 0 ? void 0 : _e.length))) ||
|
|
78
90
|
('equal' in selectors[0] &&
|
|
79
|
-
((
|
|
80
|
-
((
|
|
91
|
+
((_g = (_f = selectors[0].equal) === null || _f === void 0 ? void 0 : _f[0]) === null || _g === void 0 ? void 0 : _g[0]) !== 'username' &&
|
|
92
|
+
((_j = (_h = selectors[0].equal) === null || _h === void 0 ? void 0 : _h[0]) === null || _j === void 0 ? void 0 : _j[0]) !== 'groupname'))) {
|
|
81
93
|
throw new errors_1.AccessControlError('No permission to search.');
|
|
82
94
|
}
|
|
83
95
|
}
|
|
84
96
|
tilmeld.addAccessControlSelectors(options, selectors);
|
|
85
97
|
}
|
|
86
98
|
};
|
|
87
|
-
|
|
99
|
+
handleQuery.skipOnClone = true;
|
|
100
|
+
const checkPermissionsDelete = function (nymph, entity) {
|
|
101
|
+
const tilmeld = nymph.tilmeld;
|
|
88
102
|
if (typeof entity.$tilmeldDeleteSkipAC === 'function' &&
|
|
89
103
|
entity.$tilmeldDeleteSkipAC()) {
|
|
90
104
|
return;
|
|
91
105
|
}
|
|
92
|
-
if (tilmeld.checkPermissions(entity,
|
|
106
|
+
if (tilmeld.checkPermissions(entity, nymph_1.TilmeldAccessLevels.FULL_ACCESS)) {
|
|
93
107
|
throw new errors_1.AccessControlError('No permission to delete.');
|
|
94
108
|
}
|
|
95
109
|
};
|
|
96
|
-
|
|
97
|
-
|
|
110
|
+
checkPermissionsDelete.skipOnClone = true;
|
|
111
|
+
const checkPermissionsDeleteByID = function (nymph, guid, className) {
|
|
112
|
+
const entity = nymph.driver.getEntitySync({ class: nymph.getEntityClass(className !== null && className !== void 0 ? className : 'Entity') }, { type: '&', guid: guid });
|
|
98
113
|
if (entity != null) {
|
|
99
|
-
checkPermissionsDelete(entity);
|
|
114
|
+
checkPermissionsDelete(nymph, entity);
|
|
100
115
|
}
|
|
101
116
|
};
|
|
102
|
-
|
|
117
|
+
checkPermissionsDeleteByID.skipOnClone = true;
|
|
118
|
+
const checkPermissionsSaveAndFilterAcChanges = function (nymph, entity) {
|
|
103
119
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
120
|
+
const tilmeld = nymph.tilmeld;
|
|
104
121
|
if (!entity) {
|
|
105
122
|
return;
|
|
106
123
|
}
|
|
@@ -132,15 +149,17 @@ class Tilmeld {
|
|
|
132
149
|
}
|
|
133
150
|
};
|
|
134
151
|
setAcProperties(originalAc);
|
|
135
|
-
if (tilmeld.checkPermissions(entity,
|
|
152
|
+
if (tilmeld.checkPermissions(entity, nymph_1.TilmeldAccessLevels.FULL_ACCESS)) {
|
|
136
153
|
setAcProperties(newAc);
|
|
137
154
|
}
|
|
138
155
|
}
|
|
139
|
-
if (!tilmeld.checkPermissions(entity,
|
|
156
|
+
if (!tilmeld.checkPermissions(entity, nymph_1.TilmeldAccessLevels.WRITE_ACCESS)) {
|
|
140
157
|
throw new errors_1.AccessControlError('No permission to write.');
|
|
141
158
|
}
|
|
142
159
|
};
|
|
143
|
-
|
|
160
|
+
checkPermissionsSaveAndFilterAcChanges.skipOnClone = true;
|
|
161
|
+
const addAccess = function (nymph, entity) {
|
|
162
|
+
const tilmeld = nymph.tilmeld;
|
|
144
163
|
const user = tilmeld.currentUser;
|
|
145
164
|
if (user != null &&
|
|
146
165
|
entity.guid == null &&
|
|
@@ -155,13 +174,13 @@ class Tilmeld {
|
|
|
155
174
|
entity.group = user.group;
|
|
156
175
|
}
|
|
157
176
|
if (entity.acUser == null) {
|
|
158
|
-
entity.acUser =
|
|
177
|
+
entity.acUser = nymph_1.TilmeldAccessLevels.FULL_ACCESS;
|
|
159
178
|
}
|
|
160
179
|
if (entity.acGroup == null) {
|
|
161
|
-
entity.acGroup =
|
|
180
|
+
entity.acGroup = nymph_1.TilmeldAccessLevels.READ_ACCESS;
|
|
162
181
|
}
|
|
163
182
|
if (entity.acOther == null) {
|
|
164
|
-
entity.acOther =
|
|
183
|
+
entity.acOther = nymph_1.TilmeldAccessLevels.NO_ACCESS;
|
|
165
184
|
}
|
|
166
185
|
if (entity.acRead == null) {
|
|
167
186
|
entity.acRead = [];
|
|
@@ -174,33 +193,34 @@ class Tilmeld {
|
|
|
174
193
|
}
|
|
175
194
|
}
|
|
176
195
|
};
|
|
177
|
-
|
|
196
|
+
addAccess.skipOnClone = true;
|
|
197
|
+
const validate = function (_nymph, entity) {
|
|
178
198
|
if (!(entity instanceof User_1.default) && !(entity instanceof Group_1.default)) {
|
|
179
199
|
const ownershipAcPropertyValidator = (prop) => {
|
|
180
200
|
if (typeof prop != 'number' ||
|
|
181
|
-
prop <
|
|
182
|
-
prop >
|
|
183
|
-
throw new errors_1.AccessControlError('Invalid access control property
|
|
201
|
+
prop < nymph_1.TilmeldAccessLevels.NO_ACCESS ||
|
|
202
|
+
prop > nymph_1.TilmeldAccessLevels.FULL_ACCESS) {
|
|
203
|
+
throw new errors_1.AccessControlError('Invalid access control property: ' + prop);
|
|
184
204
|
}
|
|
185
205
|
};
|
|
186
206
|
const accessAcPropertyValidator = (prop) => {
|
|
187
207
|
if (!Array.isArray(prop)) {
|
|
188
|
-
throw new errors_1.AccessControlError('Invalid access control property
|
|
208
|
+
throw new errors_1.AccessControlError('Invalid access control property: ' + prop);
|
|
189
209
|
}
|
|
190
210
|
prop.forEach((value) => {
|
|
191
211
|
if (!(value instanceof User_1.default || value instanceof Group_1.default)) {
|
|
192
|
-
throw new errors_1.AccessControlError('Invalid access control property
|
|
212
|
+
throw new errors_1.AccessControlError('Invalid access control property: ' + prop);
|
|
193
213
|
}
|
|
194
214
|
});
|
|
195
215
|
};
|
|
196
216
|
if ('user' in entity) {
|
|
197
217
|
if (!(entity.user instanceof User_1.default)) {
|
|
198
|
-
throw new errors_1.AccessControlError('Invalid access control property
|
|
218
|
+
throw new errors_1.AccessControlError('Invalid access control property: user');
|
|
199
219
|
}
|
|
200
220
|
}
|
|
201
221
|
if ('group' in entity) {
|
|
202
222
|
if (!(entity.Group instanceof Group_1.default)) {
|
|
203
|
-
throw new errors_1.AccessControlError('Invalid access control property
|
|
223
|
+
throw new errors_1.AccessControlError('Invalid access control property: group');
|
|
204
224
|
}
|
|
205
225
|
}
|
|
206
226
|
if ('acUser' in entity) {
|
|
@@ -223,6 +243,7 @@ class Tilmeld {
|
|
|
223
243
|
}
|
|
224
244
|
}
|
|
225
245
|
};
|
|
246
|
+
validate.skipOnClone = true;
|
|
226
247
|
this.nymph.on('query', handleQuery);
|
|
227
248
|
this.nymph.on('beforeSaveEntity', addAccess);
|
|
228
249
|
this.nymph.on('beforeSaveEntity', validate);
|
|
@@ -248,7 +269,7 @@ class Tilmeld {
|
|
|
248
269
|
if (user === null) {
|
|
249
270
|
selectors.push({
|
|
250
271
|
type: '|',
|
|
251
|
-
gte: [['acOther',
|
|
272
|
+
gte: [['acOther', nymph_1.TilmeldAccessLevels.READ_ACCESS]],
|
|
252
273
|
selector: [
|
|
253
274
|
{
|
|
254
275
|
type: '&',
|
|
@@ -266,12 +287,12 @@ class Tilmeld {
|
|
|
266
287
|
{
|
|
267
288
|
type: '&',
|
|
268
289
|
ref: [['user', user]],
|
|
269
|
-
gte: [['acUser',
|
|
290
|
+
gte: [['acUser', nymph_1.TilmeldAccessLevels.READ_ACCESS]],
|
|
270
291
|
},
|
|
271
292
|
];
|
|
272
293
|
const selector = {
|
|
273
294
|
type: '|',
|
|
274
|
-
gte: [['acOther',
|
|
295
|
+
gte: [['acOther', nymph_1.TilmeldAccessLevels.READ_ACCESS]],
|
|
275
296
|
selector: subSelectors,
|
|
276
297
|
ref: [
|
|
277
298
|
['acRead', user],
|
|
@@ -306,7 +327,7 @@ class Tilmeld {
|
|
|
306
327
|
if (groupRefs.length) {
|
|
307
328
|
subSelectors.push({
|
|
308
329
|
type: '&',
|
|
309
|
-
gte: [['acGroup',
|
|
330
|
+
gte: [['acGroup', nymph_1.TilmeldAccessLevels.READ_ACCESS]],
|
|
310
331
|
selector: [
|
|
311
332
|
{
|
|
312
333
|
type: '|',
|
|
@@ -324,7 +345,7 @@ class Tilmeld {
|
|
|
324
345
|
selectors.push(selector);
|
|
325
346
|
}
|
|
326
347
|
}
|
|
327
|
-
checkPermissions(entity, type =
|
|
348
|
+
checkPermissions(entity, type = nymph_1.TilmeldAccessLevels.READ_ACCESS, user) {
|
|
328
349
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
329
350
|
if (typeof entity !== 'object' || typeof entity.$is !== 'function') {
|
|
330
351
|
return false;
|
|
@@ -343,15 +364,16 @@ class Tilmeld {
|
|
|
343
364
|
return true;
|
|
344
365
|
}
|
|
345
366
|
if ((entity instanceof User_1.default || entity instanceof Group_1.default) &&
|
|
346
|
-
(type ===
|
|
367
|
+
(type === nymph_1.TilmeldAccessLevels.READ_ACCESS ||
|
|
368
|
+
userOrEmpty.$gatekeeper('tilmeld/admin'))) {
|
|
347
369
|
return true;
|
|
348
370
|
}
|
|
349
371
|
if (entity.user == null && entity.group == null) {
|
|
350
372
|
return true;
|
|
351
373
|
}
|
|
352
|
-
const acUser = (_a = entity.acUser) !== null && _a !== void 0 ? _a :
|
|
353
|
-
const acGroup = (_b = entity.acGroup) !== null && _b !== void 0 ? _b :
|
|
354
|
-
const acOther = (_c = entity.acOther) !== null && _c !== void 0 ? _c :
|
|
374
|
+
const acUser = (_a = entity.acUser) !== null && _a !== void 0 ? _a : nymph_1.TilmeldAccessLevels.FULL_ACCESS;
|
|
375
|
+
const acGroup = (_b = entity.acGroup) !== null && _b !== void 0 ? _b : nymph_1.TilmeldAccessLevels.READ_ACCESS;
|
|
376
|
+
const acOther = (_c = entity.acOther) !== null && _c !== void 0 ? _c : nymph_1.TilmeldAccessLevels.NO_ACCESS;
|
|
355
377
|
if (userOrNull === null) {
|
|
356
378
|
return acOther >= type;
|
|
357
379
|
}
|
|
@@ -361,16 +383,25 @@ class Tilmeld {
|
|
|
361
383
|
if (userOrEmpty.group != null &&
|
|
362
384
|
typeof userOrEmpty.group.$is === 'function' &&
|
|
363
385
|
userOrEmpty.group.$is(entity) &&
|
|
364
|
-
type ===
|
|
386
|
+
type === nymph_1.TilmeldAccessLevels.READ_ACCESS) {
|
|
365
387
|
return true;
|
|
366
388
|
}
|
|
367
389
|
let allGroups = userOrEmpty.group == null ? [] : [userOrEmpty.group];
|
|
368
390
|
allGroups = allGroups.concat((_d = userOrEmpty.groups) !== null && _d !== void 0 ? _d : []);
|
|
369
391
|
allGroups = allGroups.concat(userOrEmpty.$getDescendantGroupsSync());
|
|
370
392
|
const checks = [
|
|
371
|
-
{
|
|
372
|
-
|
|
373
|
-
|
|
393
|
+
{
|
|
394
|
+
type: nymph_1.TilmeldAccessLevels.FULL_ACCESS,
|
|
395
|
+
array: [...((_e = entity.acFull) !== null && _e !== void 0 ? _e : [])],
|
|
396
|
+
},
|
|
397
|
+
{
|
|
398
|
+
type: nymph_1.TilmeldAccessLevels.WRITE_ACCESS,
|
|
399
|
+
array: [...((_f = entity.acWrite) !== null && _f !== void 0 ? _f : [])],
|
|
400
|
+
},
|
|
401
|
+
{
|
|
402
|
+
type: nymph_1.TilmeldAccessLevels.READ_ACCESS,
|
|
403
|
+
array: [...((_g = entity.acRead) !== null && _g !== void 0 ? _g : [])],
|
|
404
|
+
},
|
|
374
405
|
];
|
|
375
406
|
for (let curCheck of checks) {
|
|
376
407
|
if (type <= curCheck.type) {
|
|
@@ -397,6 +428,37 @@ class Tilmeld {
|
|
|
397
428
|
}
|
|
398
429
|
return acOther >= type;
|
|
399
430
|
}
|
|
431
|
+
checkClientUIDPermissions(name, type = nymph_1.TilmeldAccessLevels.READ_ACCESS, user) {
|
|
432
|
+
let userOrEmpty = this.User.factorySync();
|
|
433
|
+
if (user == null) {
|
|
434
|
+
userOrEmpty = this.User.current(true);
|
|
435
|
+
}
|
|
436
|
+
else if (user !== false) {
|
|
437
|
+
userOrEmpty = user;
|
|
438
|
+
}
|
|
439
|
+
if (userOrEmpty.$gatekeeper('system/admin')) {
|
|
440
|
+
return true;
|
|
441
|
+
}
|
|
442
|
+
if (type === nymph_1.TilmeldAccessLevels.FULL_ACCESS) {
|
|
443
|
+
return (this.config.clientSetabledUIDs.indexOf(name) !== -1 ||
|
|
444
|
+
userOrEmpty.$gatekeeper(`uid/set/${name}`));
|
|
445
|
+
}
|
|
446
|
+
else if (type === nymph_1.TilmeldAccessLevels.WRITE_ACCESS) {
|
|
447
|
+
return (this.config.clientEnabledUIDs.indexOf(name) !== -1 ||
|
|
448
|
+
this.config.clientSetabledUIDs.indexOf(name) !== -1 ||
|
|
449
|
+
userOrEmpty.$gatekeeper(`uid/new/${name}`) ||
|
|
450
|
+
userOrEmpty.$gatekeeper(`uid/set/${name}`));
|
|
451
|
+
}
|
|
452
|
+
else if (type === nymph_1.TilmeldAccessLevels.READ_ACCESS) {
|
|
453
|
+
return (this.config.clientReadableUIDs.indexOf(name) !== -1 ||
|
|
454
|
+
this.config.clientEnabledUIDs.indexOf(name) !== -1 ||
|
|
455
|
+
this.config.clientSetabledUIDs.indexOf(name) !== -1 ||
|
|
456
|
+
userOrEmpty.$gatekeeper(`uid/get/${name}`) ||
|
|
457
|
+
userOrEmpty.$gatekeeper(`uid/new/${name}`) ||
|
|
458
|
+
userOrEmpty.$gatekeeper(`uid/set/${name}`));
|
|
459
|
+
}
|
|
460
|
+
return false;
|
|
461
|
+
}
|
|
400
462
|
fillSession(user) {
|
|
401
463
|
var _a;
|
|
402
464
|
const _group = user.group;
|
|
@@ -449,9 +511,9 @@ class Tilmeld {
|
|
|
449
511
|
const cookies = (_a = this.request.cookies) !== null && _a !== void 0 ? _a : {};
|
|
450
512
|
let fromAuthHeader = false;
|
|
451
513
|
let authToken;
|
|
452
|
-
if (this.request.header('
|
|
514
|
+
if (this.request.header('x-tilmeldauth') != null) {
|
|
453
515
|
fromAuthHeader = true;
|
|
454
|
-
authToken = this.request.header('
|
|
516
|
+
authToken = this.request.header('x-tilmeldauth');
|
|
455
517
|
}
|
|
456
518
|
else if ('TILMELDAUTH' in cookies) {
|
|
457
519
|
fromAuthHeader = false;
|
|
@@ -466,7 +528,7 @@ class Tilmeld {
|
|
|
466
528
|
extract = this.config.jwtExtract(this.config, authToken);
|
|
467
529
|
}
|
|
468
530
|
else {
|
|
469
|
-
const xsrfToken = this.request.header('
|
|
531
|
+
const xsrfToken = this.request.header('x-xsrf-token');
|
|
470
532
|
if (xsrfToken == null && !fromAuthHeader) {
|
|
471
533
|
return false;
|
|
472
534
|
}
|
|
@@ -524,8 +586,4 @@ class Tilmeld {
|
|
|
524
586
|
}
|
|
525
587
|
}
|
|
526
588
|
exports.default = Tilmeld;
|
|
527
|
-
Tilmeld.NO_ACCESS = 0;
|
|
528
|
-
Tilmeld.READ_ACCESS = 1;
|
|
529
|
-
Tilmeld.WRITE_ACCESS = 2;
|
|
530
|
-
Tilmeld.FULL_ACCESS = 4;
|
|
531
589
|
//# sourceMappingURL=Tilmeld.js.map
|