@nymphjs/tilmeld-client 1.0.0-alpha.4 → 1.0.0-alpha.40
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 +164 -0
- package/README.md +16 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/lib/Group.d.ts +1 -0
- package/lib/Group.js +5 -0
- package/lib/Group.js.map +1 -1
- package/lib/User.d.ts +14 -9
- package/lib/User.js +13 -18
- package/lib/User.js.map +1 -1
- package/lib/helpers.d.ts +14 -9
- package/lib/helpers.js +13 -33
- package/lib/helpers.js.map +1 -1
- package/package.json +10 -10
- package/src/Group.ts +6 -0
- package/src/User.ts +28 -29
- package/src/helpers.ts +31 -24
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,170 @@
|
|
|
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.40](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.39...v1.0.0-alpha.40) (2022-03-05)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @nymphjs/tilmeld-client
|
|
9
|
+
|
|
10
|
+
# [1.0.0-alpha.39](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.38...v1.0.0-alpha.39) (2022-03-05)
|
|
11
|
+
|
|
12
|
+
**Note:** Version bump only for package @nymphjs/tilmeld-client
|
|
13
|
+
|
|
14
|
+
# [1.0.0-alpha.38](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.37...v1.0.0-alpha.38) (2022-02-10)
|
|
15
|
+
|
|
16
|
+
**Note:** Version bump only for package @nymphjs/tilmeld-client
|
|
17
|
+
|
|
18
|
+
# [1.0.0-alpha.37](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.36...v1.0.0-alpha.37) (2022-02-02)
|
|
19
|
+
|
|
20
|
+
**Note:** Version bump only for package @nymphjs/tilmeld-client
|
|
21
|
+
|
|
22
|
+
# [1.0.0-alpha.36](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.35...v1.0.0-alpha.36) (2022-01-26)
|
|
23
|
+
|
|
24
|
+
**Note:** Version bump only for package @nymphjs/tilmeld-client
|
|
25
|
+
|
|
26
|
+
# [1.0.0-alpha.35](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.34...v1.0.0-alpha.35) (2022-01-19)
|
|
27
|
+
|
|
28
|
+
### Bug Fixes
|
|
29
|
+
|
|
30
|
+
- remove getClientConfig helper, which didn't support multiple nymph instances ([5a4b898](https://github.com/sciactive/nymphjs/commit/5a4b898ac2bf37dbd2a2dd4d32f2f1f805704739))
|
|
31
|
+
|
|
32
|
+
# [1.0.0-alpha.34](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.33...v1.0.0-alpha.34) (2022-01-08)
|
|
33
|
+
|
|
34
|
+
### Bug Fixes
|
|
35
|
+
|
|
36
|
+
- packaging issue ([a61120c](https://github.com/sciactive/nymphjs/commit/a61120ca240e2758136e6b57c3f897bd32519984))
|
|
37
|
+
|
|
38
|
+
# [1.0.0-alpha.33](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.32...v1.0.0-alpha.33) (2022-01-08)
|
|
39
|
+
|
|
40
|
+
### Bug Fixes
|
|
41
|
+
|
|
42
|
+
- require passing the user class to tilmeld components ([5b8d07e](https://github.com/sciactive/nymphjs/commit/5b8d07eba15318bf6046a5cb4a64fb550a3a4545))
|
|
43
|
+
|
|
44
|
+
# [1.0.0-alpha.32](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.31...v1.0.0-alpha.32) (2022-01-08)
|
|
45
|
+
|
|
46
|
+
### Bug Fixes
|
|
47
|
+
|
|
48
|
+
- add nymph getter and setter to user clone ([aa72399](https://github.com/sciactive/nymphjs/commit/aa723998d75c72f3d9cd00b3a735607e99390cde))
|
|
49
|
+
|
|
50
|
+
# [1.0.0-alpha.31](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.30...v1.0.0-alpha.31) (2022-01-08)
|
|
51
|
+
|
|
52
|
+
### Features
|
|
53
|
+
|
|
54
|
+
- tilmeld client user can now be cloned ([c360fd3](https://github.com/sciactive/nymphjs/commit/c360fd312839aef221c2562dc45797cd270fa936))
|
|
55
|
+
|
|
56
|
+
# [1.0.0-alpha.30](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.29...v1.0.0-alpha.30) (2022-01-07)
|
|
57
|
+
|
|
58
|
+
**Note:** Version bump only for package @nymphjs/tilmeld-client
|
|
59
|
+
|
|
60
|
+
# [1.0.0-alpha.29](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.28...v1.0.0-alpha.29) (2022-01-07)
|
|
61
|
+
|
|
62
|
+
### Features
|
|
63
|
+
|
|
64
|
+
- add additionalData in register and login data ([b906cd6](https://github.com/sciactive/nymphjs/commit/b906cd66715098019ca55c3562de72cbf7669ca7))
|
|
65
|
+
|
|
66
|
+
# [1.0.0-alpha.28](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.27...v1.0.0-alpha.28) (2022-01-07)
|
|
67
|
+
|
|
68
|
+
**Note:** Version bump only for package @nymphjs/tilmeld-client
|
|
69
|
+
|
|
70
|
+
# [1.0.0-alpha.27](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.26...v1.0.0-alpha.27) (2022-01-05)
|
|
71
|
+
|
|
72
|
+
### Features
|
|
73
|
+
|
|
74
|
+
- update smui to latest versions ([7ed7bd3](https://github.com/sciactive/nymphjs/commit/7ed7bd34d01a155c7001a2671de25ef2f3363682))
|
|
75
|
+
|
|
76
|
+
# [1.0.0-alpha.26](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.25...v1.0.0-alpha.26) (2021-12-30)
|
|
77
|
+
|
|
78
|
+
**Note:** Version bump only for package @nymphjs/tilmeld-client
|
|
79
|
+
|
|
80
|
+
# [1.0.0-alpha.25](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.24...v1.0.0-alpha.25) (2021-12-30)
|
|
81
|
+
|
|
82
|
+
**Note:** Version bump only for package @nymphjs/tilmeld-client
|
|
83
|
+
|
|
84
|
+
# [1.0.0-alpha.24](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.23...v1.0.0-alpha.24) (2021-12-30)
|
|
85
|
+
|
|
86
|
+
**Note:** Version bump only for package @nymphjs/tilmeld-client
|
|
87
|
+
|
|
88
|
+
# [1.0.0-alpha.23](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.22...v1.0.0-alpha.23) (2021-12-30)
|
|
89
|
+
|
|
90
|
+
**Note:** Version bump only for package @nymphjs/tilmeld-client
|
|
91
|
+
|
|
92
|
+
# [1.0.0-alpha.22](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.21...v1.0.0-alpha.22) (2021-12-14)
|
|
93
|
+
|
|
94
|
+
### Features
|
|
95
|
+
|
|
96
|
+
- update smui to latest versions ([912873b](https://github.com/sciactive/nymphjs/commit/912873b863d1ae5d51c359a3c0558bff38ce85cd))
|
|
97
|
+
|
|
98
|
+
# [1.0.0-alpha.21](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.20...v1.0.0-alpha.21) (2021-11-29)
|
|
99
|
+
|
|
100
|
+
**Note:** Version bump only for package @nymphjs/tilmeld-client
|
|
101
|
+
|
|
102
|
+
# [1.0.0-alpha.20](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.19...v1.0.0-alpha.20) (2021-11-24)
|
|
103
|
+
|
|
104
|
+
**Note:** Version bump only for package @nymphjs/tilmeld-client
|
|
105
|
+
|
|
106
|
+
# [1.0.0-alpha.19](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.18...v1.0.0-alpha.19) (2021-11-18)
|
|
107
|
+
|
|
108
|
+
### Features
|
|
109
|
+
|
|
110
|
+
- update smui and other packages to latest versions ([2465340](https://github.com/sciactive/nymphjs/commit/24653400d887bc04c41c3c4ee0c73ce2f2289e0d))
|
|
111
|
+
|
|
112
|
+
# [1.0.0-alpha.18](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.17...v1.0.0-alpha.18) (2021-11-09)
|
|
113
|
+
|
|
114
|
+
**Note:** Version bump only for package @nymphjs/tilmeld-client
|
|
115
|
+
|
|
116
|
+
# [1.0.0-alpha.17](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.16...v1.0.0-alpha.17) (2021-10-14)
|
|
117
|
+
|
|
118
|
+
**Note:** Version bump only for package @nymphjs/tilmeld-client
|
|
119
|
+
|
|
120
|
+
# [1.0.0-alpha.16](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.15...v1.0.0-alpha.16) (2021-10-14)
|
|
121
|
+
|
|
122
|
+
### Bug Fixes
|
|
123
|
+
|
|
124
|
+
- don't ignore built files in npm packages ([7d688db](https://github.com/sciactive/nymphjs/commit/7d688dbec362f1f71fb451a1d0dbcaecc15d99fc))
|
|
125
|
+
|
|
126
|
+
# [1.0.0-alpha.15](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.14...v1.0.0-alpha.15) (2021-10-14)
|
|
127
|
+
|
|
128
|
+
**Note:** Version bump only for package @nymphjs/tilmeld-client
|
|
129
|
+
|
|
130
|
+
# [1.0.0-alpha.14](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.13...v1.0.0-alpha.14) (2021-10-14)
|
|
131
|
+
|
|
132
|
+
**Note:** Version bump only for package @nymphjs/tilmeld-client
|
|
133
|
+
|
|
134
|
+
# [1.0.0-alpha.13](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.12...v1.0.0-alpha.13) (2021-10-14)
|
|
135
|
+
|
|
136
|
+
**Note:** Version bump only for package @nymphjs/tilmeld-client
|
|
137
|
+
|
|
138
|
+
# [1.0.0-alpha.12](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.11...v1.0.0-alpha.12) (2021-10-13)
|
|
139
|
+
|
|
140
|
+
**Note:** Version bump only for package @nymphjs/tilmeld-client
|
|
141
|
+
|
|
142
|
+
# [1.0.0-alpha.11](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.10...v1.0.0-alpha.11) (2021-10-13)
|
|
143
|
+
|
|
144
|
+
**Note:** Version bump only for package @nymphjs/tilmeld-client
|
|
145
|
+
|
|
146
|
+
# [1.0.0-alpha.10](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.9...v1.0.0-alpha.10) (2021-10-12)
|
|
147
|
+
|
|
148
|
+
**Note:** Version bump only for package @nymphjs/tilmeld-client
|
|
149
|
+
|
|
150
|
+
# [1.0.0-alpha.9](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.8...v1.0.0-alpha.9) (2021-10-12)
|
|
151
|
+
|
|
152
|
+
**Note:** Version bump only for package @nymphjs/tilmeld-client
|
|
153
|
+
|
|
154
|
+
# [1.0.0-alpha.8](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.7...v1.0.0-alpha.8) (2021-10-12)
|
|
155
|
+
|
|
156
|
+
**Note:** Version bump only for package @nymphjs/tilmeld-client
|
|
157
|
+
|
|
158
|
+
# [1.0.0-alpha.7](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.6...v1.0.0-alpha.7) (2021-10-05)
|
|
159
|
+
|
|
160
|
+
**Note:** Version bump only for package @nymphjs/tilmeld-client
|
|
161
|
+
|
|
162
|
+
# [1.0.0-alpha.6](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.5...v1.0.0-alpha.6) (2021-10-05)
|
|
163
|
+
|
|
164
|
+
**Note:** Version bump only for package @nymphjs/tilmeld-client
|
|
165
|
+
|
|
166
|
+
# [1.0.0-alpha.5](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.4...v1.0.0-alpha.5) (2021-09-30)
|
|
167
|
+
|
|
168
|
+
**Note:** Version bump only for package @nymphjs/tilmeld-client
|
|
169
|
+
|
|
6
170
|
# [1.0.0-alpha.4](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.3...v1.0.0-alpha.4) (2021-09-27)
|
|
7
171
|
|
|
8
172
|
### Features
|
package/README.md
CHANGED
|
@@ -14,7 +14,7 @@ You can find UMD in `dist`, or TS source in `src`.
|
|
|
14
14
|
|
|
15
15
|
## Usage
|
|
16
16
|
|
|
17
|
-
The Tilmeld client contains the client versions of the `User` and `Group` entities. It also contains helpers, `
|
|
17
|
+
The Tilmeld client contains the client versions of the `User` and `Group` entities. It also contains helpers, `login`, `register`, and `checkUsername`.
|
|
18
18
|
|
|
19
19
|
Once you've initialized Nymph Client, set the User and Group classes on it.
|
|
20
20
|
|
|
@@ -29,6 +29,21 @@ nymph.addEntityClass(User);
|
|
|
29
29
|
nymph.addEntityClass(Group);
|
|
30
30
|
```
|
|
31
31
|
|
|
32
|
+
If you're running more than one instance of Nymph client, you can clone the classes and add those instead. This will keep event listeners and Tilmeld client config separated.
|
|
33
|
+
|
|
34
|
+
```ts
|
|
35
|
+
import { Nymph } from '@nymphjs/client';
|
|
36
|
+
import { User, Group } from '@nymphjs/tilmeld-client';
|
|
37
|
+
|
|
38
|
+
const nymph = new Nymph({
|
|
39
|
+
restUrl: 'https://yournymphrestserver/path/to/your/endpoint',
|
|
40
|
+
});
|
|
41
|
+
const UserClone = User.clone();
|
|
42
|
+
nymph.addEntityClass(UserClone);
|
|
43
|
+
const GroupClone = Group.clone();
|
|
44
|
+
nymph.addEntityClass(GroupClone);
|
|
45
|
+
```
|
|
46
|
+
|
|
32
47
|
# License
|
|
33
48
|
|
|
34
49
|
Copyright 2021 SciActive Inc
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@nymphjs/client")):"function"==typeof define&&define.amd?define(["@nymphjs/client"],t):"object"==typeof exports?exports["@nymphjs/tilmeld-client"]=t(require("@nymphjs/client")):e["@nymphjs/tilmeld-client"]=t(e["@nymphjs/client"])}(this,(function(e){return(()=>{"use strict";var t={848:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(i,s){function o(e){try{a(n.next(e))}catch(e){s(e)}}function l(e){try{a(n.throw(e))}catch(e){s(e)}}function a(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,l)}a((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0});const i=r(196);class s extends i.Entity{constructor(e){super(e),null==e&&(this.$data.enabled=!0,this.$data.abilities=[])}static factory(e){const t=Object.create(null,{factory:{get:()=>super.factory}});return n(this,void 0,void 0,(function*(){return yield t.factory.call(this,e)}))}static factorySync(e){return super.factorySync(e)}$checkGroupname(){return n(this,void 0,void 0,(function*(){return yield this.$serverCall("$checkGroupname",[],!0)}))}$checkEmail(){return n(this,void 0,void 0,(function*(){return yield this.$serverCall("$checkEmail",[],!0)}))}$getAvatar(){return n(this,void 0,void 0,(function*(){return yield this.$serverCall("$getAvatar",[],!0)}))}$getChildren(){return n(this,void 0,void 0,(function*(){return yield this.$serverCall("$getChildren",[],!0)}))}$getDescendants(e=!1){return n(this,void 0,void 0,(function*(){return yield this.$serverCall("$getDescendants",[e],!0)}))}$getLevel(){return n(this,void 0,void 0,(function*(){return yield this.$serverCall("$getLevel",[],!0)}))}$isDescendant(e){return n(this,void 0,void 0,(function*(){return yield this.$serverCall("$isDescendant",[e],!0)}))}static getPrimaryGroups(e,t){return n(this,void 0,void 0,(function*(){return yield this.serverCallStatic("getPrimaryGroups",[{options:e,class:this.class},t])}))}static getSecondaryGroups(e,t){return n(this,void 0,void 0,(function*(){return yield this.serverCallStatic("getSecondaryGroups",[{options:e,class:this.class},t])}))}}t.default=s,s.class="Group"},178:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(i,s){function o(e){try{a(n.next(e))}catch(e){s(e)}}function l(e){try{a(n.throw(e))}catch(e){s(e)}}function a(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,l)}a((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0});const i=r(196);let s=null;class o extends i.Entity{constructor(e){super(e),null==e&&(this.$data.enabled=!0,this.$data.abilities=[],this.$data.groups=[],this.$data.inheritAbilities=!0)}static set nymph(e){this.nymphValue=e,this.removeNymphResponseListener&&this.removeNymphResponseListener(),this.removeNymphResponseListener=this.nymph.on("response",(e=>this.handleToken(e))),this.handleToken()}static get nymph(){return this.nymphValue}static factory(e){const t=Object.create(null,{factory:{get:()=>super.factory}});return n(this,void 0,void 0,(function*(){return yield t.factory.call(this,e)}))}static factoryUsername(e){return n(this,void 0,void 0,(function*(){const t=new this;if(null!=e){const t=yield this.nymph.getEntity({class:this},{type:"&",ilike:["username",e.replace(/([\\%_])/g,(e=>`\\${e}`))]});if(null!=t)return t}return t}))}static factorySync(e){return super.factorySync(e)}$checkUsername(){return n(this,void 0,void 0,(function*(){return yield this.$serverCall("$checkUsername",[],!0)}))}$checkEmail(){return n(this,void 0,void 0,(function*(){return yield this.$serverCall("$checkEmail",[],!0)}))}$checkPhone(){return n(this,void 0,void 0,(function*(){return yield this.$serverCall("$checkPhone",[],!0)}))}$getAvatar(){return n(this,void 0,void 0,(function*(){return yield this.$serverCall("$getAvatar",[],!0)}))}$register(e){return n(this,void 0,void 0,(function*(){const t=this.constructor,r=yield this.$serverCall("$register",[e]);if(r.result)for(let e=0;e<t.registerCallbacks.length;e++)t.registerCallbacks[e]&&t.registerCallbacks[e](this);if(r.loggedin){t.currentUser=this,t.handleToken();for(let e=0;e<t.loginCallbacks.length;e++)t.loginCallbacks[e]&&t.loginCallbacks[e](this)}return r}))}$logout(){return n(this,void 0,void 0,(function*(){const e=this.constructor,t=yield this.$serverCall("$logout",[]);if(t.result){e.currentUser=void 0,e.handleToken();for(let t=0;t<e.logoutCallbacks.length;t++)e.logoutCallbacks[t]&&e.logoutCallbacks[t](this)}return t}))}$gatekeeper(e){return n(this,void 0,void 0,(function*(){return yield this.$serverCall("$gatekeeper",[e],!0)}))}$changePassword(e){return n(this,void 0,void 0,(function*(){return yield this.$serverCall("$changePassword",[e])}))}static current(e){return n(this,void 0,void 0,(function*(){return void 0!==this.currentUser?this.currentUser:(this.currentUserPromise||(this.currentUserPromise=this.serverCallStatic("current",[!1]).then((e=>(this.currentUser=null!=e?e:void 0,this.currentUserPromise=void 0,e)))),yield this.currentUserPromise,null==this.currentUser?e?this.factorySync():null:this.currentUser)}))}static loginUser(e){return n(this,void 0,void 0,(function*(){const t=yield this.serverCallStatic("loginUser",[e]);if(t.result){this.currentUser=t.user,this.handleToken();for(let e=0;e<this.loginCallbacks.length;e++)this.loginCallbacks[e]&&this.loginCallbacks[e](t.user)}return t}))}static sendRecovery(e){return n(this,void 0,void 0,(function*(){return yield this.serverCallStatic("sendRecovery",[e])}))}static recover(e){return n(this,void 0,void 0,(function*(){return yield this.serverCallStatic("recover",[e])}))}static getClientConfig(){return n(this,void 0,void 0,(function*(){return this.clientConfig?this.clientConfig:(this.clientConfigPromise||(this.clientConfigPromise=this.serverCallStatic("getClientConfig",[]).then((e=>(this.clientConfig=e,this.clientConfigPromise=void 0,e)))),yield this.clientConfigPromise)}))}static handleToken(e){let t=null;const r=/(?:(?:^|.*;\s*)TILMELDAUTH\s*=\s*([^;]*).*$)|^.*$/;if(e&&e.headers.has("X-TILMELDAUTH"))t=e.headers.get("X-TILMELDAUTH");else{if("undefined"==typeof document||!document.cookie.match(r))return;t=document.cookie.replace(r,"$1")}if(s!==t)if(null==t||""===t)null!=s&&(this.nymph.setXsrfToken(null),this.nymph.pubsub&&this.nymph.pubsub.setToken(null),s=null);else{const e=t.split(".")[1].replace(/-/g,"+").replace(/_/g,"/"),r="undefined"==typeof atob?Buffer.from(e,"base64").toString("binary"):atob(e),n=JSON.parse(r);this.nymph.setXsrfToken(n.xsrfToken),this.nymph.pubsub&&this.nymph.pubsub.setToken(t),s=t}}static on(e,t){const r=e+"Callbacks";if(!this.hasOwnProperty(r))throw new Error("Invalid event type.");return this[r].push(t),()=>this.off(e,t)}static off(e,t){const r=e+"Callbacks";if(!this.hasOwnProperty(r))return!1;const n=this[r].indexOf(t);return n>-1&&this[r].splice(n,1),!0}}t.default=o,o.class="User",o.registerCallbacks=[],o.loginCallbacks=[],o.logoutCallbacks=[]},13:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(i,s){function o(e){try{a(n.next(e))}catch(e){s(e)}}function l(e){try{a(n.throw(e))}catch(e){s(e)}}function a(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,l)}a((n=n.apply(e,t||[])).next())}))},i=this&&this.__rest||function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(n=Object.getOwnPropertySymbols(e);i<n.length;i++)t.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(r[n[i]]=e[n[i]])}return r},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.checkUsername=t.register=t.login=t.getClientConfig=void 0;const o=s(r(178));let l=null,a=null;function c(){return n(this,void 0,void 0,(function*(){return l||(a||(a=o.default.getClientConfig().then((e=>l=e))),yield a)}))}t.getClientConfig=c,t.login=function(e,t){var r;return n(this,void 0,void 0,(function*(){if(""===e)throw new Error("You need to enter a username.");if(""===t)throw new Error("You need to enter a password");try{const r=yield o.default.loginUser({username:e,password:t}),{result:n}=r,s=i(r,["result"]);if(!n)throw new Error(s.message);return s}catch(e){throw new Error(null!==(r=null==e?void 0:e.message)&&void 0!==r?r:"An error occurred.")}}))},t.register=function(e){var t;return n(this,void 0,void 0,(function*(){if(""===e.username)throw new Error("You need to enter a username.");if(!e.usernameVerified)throw new Error("The username you entered is not valid.");if(e.password!==e.password2)throw new Error("Your passwords do not match.");if(""===e.password)throw new Error("You need to enter a password");let r=o.default.factorySync();r.username=e.username;const n=yield c();n.emailUsernames?r.email=e.username:-1!==n.regFields.indexOf("email")&&(r.email=e.email),-1!==n.regFields.indexOf("name")&&(r.nameFirst=e.nameFirst,r.nameLast=e.nameLast),-1!==n.regFields.indexOf("phone")&&(r.phone=e.phone);try{const t=yield r.$register({password:e.password}),{result:n}=t,s=i(t,["result"]);if(!n)throw new Error(s.message);return Object.assign(Object.assign({},s),{user:r})}catch(e){throw new Error(null!==(t=null==e?void 0:e.message)&&void 0!==t?t:"An error occurred.")}}))},t.checkUsername=function(e){var t;return n(this,void 0,void 0,(function*(){let r=o.default.factorySync();r.username=e,(yield c()).emailUsernames&&(r.email=e);try{const e=yield r.$checkUsername(),{result:t}=e,n=i(e,["result"]);if(!t)throw new Error(n.message);return n}catch(e){throw new Error(null!==(t=null==e?void 0:e.message)&&void 0!==t?t:"An error occurred.")}}))}},568:function(e,t,r){var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.User=t.Group=void 0,i(r(848),t);const o=s(r(848));t.Group=o.default,i(r(13),t),i(r(178),t);const l=s(r(178));t.User=l.default},196:t=>{t.exports=e}},r={};return function e(n){var i=r[n];if(void 0!==i)return i.exports;var s=r[n]={exports:{}};return t[n].call(s.exports,s,s.exports,e),s.exports}(568)})()}));
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@nymphjs/client")):"function"==typeof define&&define.amd?define(["@nymphjs/client"],t):"object"==typeof exports?exports["@nymphjs/tilmeld-client"]=t(require("@nymphjs/client")):e["@nymphjs/tilmeld-client"]=t(e["@nymphjs/client"])}(this,(function(e){return(()=>{"use strict";var t={848:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(i,s){function o(e){try{l(n.next(e))}catch(e){s(e)}}function a(e){try{l(n.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,a)}l((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0});const i=r(778);class s extends i.Entity{constructor(e){super(e),null==e&&(this.$data.enabled=!0,this.$data.abilities=[])}static clone(){return class extends s{}}static factory(e){const t=Object.create(null,{factory:{get:()=>super.factory}});return n(this,void 0,void 0,(function*(){return yield t.factory.call(this,e)}))}static factorySync(e){return super.factorySync(e)}$checkGroupname(){return n(this,void 0,void 0,(function*(){return yield this.$serverCall("$checkGroupname",[],!0)}))}$checkEmail(){return n(this,void 0,void 0,(function*(){return yield this.$serverCall("$checkEmail",[],!0)}))}$getAvatar(){return n(this,void 0,void 0,(function*(){return yield this.$serverCall("$getAvatar",[],!0)}))}$getChildren(){return n(this,void 0,void 0,(function*(){return yield this.$serverCall("$getChildren",[],!0)}))}$getDescendants(e=!1){return n(this,void 0,void 0,(function*(){return yield this.$serverCall("$getDescendants",[e],!0)}))}$getLevel(){return n(this,void 0,void 0,(function*(){return yield this.$serverCall("$getLevel",[],!0)}))}$isDescendant(e){return n(this,void 0,void 0,(function*(){return yield this.$serverCall("$isDescendant",[e],!0)}))}static getPrimaryGroups(e,t){return n(this,void 0,void 0,(function*(){return yield this.serverCallStatic("getPrimaryGroups",[{options:e,class:this.class},t])}))}static getSecondaryGroups(e,t){return n(this,void 0,void 0,(function*(){return yield this.serverCallStatic("getSecondaryGroups",[{options:e,class:this.class},t])}))}}t.default=s,s.class="Group"},178:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(i,s){function o(e){try{l(n.next(e))}catch(e){s(e)}}function a(e){try{l(n.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,a)}l((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0});const i=r(778);let s=null;class o extends i.Entity{constructor(e){super(e),null==e&&(this.$data.enabled=!0,this.$data.abilities=[],this.$data.groups=[],this.$data.inheritAbilities=!0)}static set nymph(e){this.nymphValue=e,this.removeNymphResponseListener&&this.removeNymphResponseListener(),this.removeNymphResponseListener=this.nymph.on("response",(e=>this.handleToken(e))),this.handleToken()}static get nymph(){return this.nymphValue}static clone(){class e extends o{}return e.registerCallbacks=[],e.loginCallbacks=[],e.logoutCallbacks=[],e}static factory(e){const t=Object.create(null,{factory:{get:()=>super.factory}});return n(this,void 0,void 0,(function*(){return yield t.factory.call(this,e)}))}static factoryUsername(e){return n(this,void 0,void 0,(function*(){const t=new this;if(null!=e){const t=yield this.nymph.getEntity({class:this},{type:"&",ilike:["username",e.replace(/([\\%_])/g,(e=>`\\${e}`))]});if(null!=t)return t}return t}))}static factorySync(e){return super.factorySync(e)}$checkUsername(){return n(this,void 0,void 0,(function*(){return yield this.$serverCall("$checkUsername",[],!0)}))}$checkEmail(){return n(this,void 0,void 0,(function*(){return yield this.$serverCall("$checkEmail",[],!0)}))}$checkPhone(){return n(this,void 0,void 0,(function*(){return yield this.$serverCall("$checkPhone",[],!0)}))}$getAvatar(){return n(this,void 0,void 0,(function*(){return yield this.$serverCall("$getAvatar",[],!0)}))}$register(e){return n(this,void 0,void 0,(function*(){const t=this.constructor,r=yield this.$serverCall("$register",[e]);if(r.result)for(let e=0;e<t.registerCallbacks.length;e++)t.registerCallbacks[e]&&t.registerCallbacks[e](this);if(r.loggedin){t.handleToken();for(let e=0;e<t.loginCallbacks.length;e++)t.loginCallbacks[e]&&t.loginCallbacks[e](this)}return r}))}$logout(){return n(this,void 0,void 0,(function*(){const e=this.constructor,t=yield this.$serverCall("$logout",[]);if(t.result){e.handleToken();for(let t=0;t<e.logoutCallbacks.length;t++)e.logoutCallbacks[t]&&e.logoutCallbacks[t](this)}return t}))}$gatekeeper(e){return n(this,void 0,void 0,(function*(){return yield this.$serverCall("$gatekeeper",[e],!0)}))}$changePassword(e){return n(this,void 0,void 0,(function*(){return yield this.$serverCall("$changePassword",[e])}))}static current(e){return n(this,void 0,void 0,(function*(){const t=yield this.serverCallStatic("current",[!1]);return null==t?e?this.factorySync():null:t}))}static loginUser(e){return n(this,void 0,void 0,(function*(){const t=yield this.serverCallStatic("loginUser",[e]);if(t.result){this.handleToken();for(let e=0;e<this.loginCallbacks.length;e++)this.loginCallbacks[e]&&this.loginCallbacks[e](t.user)}return t}))}static sendRecovery(e){return n(this,void 0,void 0,(function*(){return yield this.serverCallStatic("sendRecovery",[e])}))}static recover(e){return n(this,void 0,void 0,(function*(){return yield this.serverCallStatic("recover",[e])}))}static getClientConfig(){return n(this,void 0,void 0,(function*(){return this.clientConfig?this.clientConfig:(this.clientConfigPromise||(this.clientConfigPromise=this.serverCallStatic("getClientConfig",[]).then((e=>(this.clientConfig=e,this.clientConfigPromise=void 0,e)))),yield this.clientConfigPromise)}))}static handleToken(e){let t=null;const r=/(?:(?:^|.*;\s*)TILMELDAUTH\s*=\s*([^;]*).*$)|^.*$/;if(e&&e.headers.has("X-TILMELDAUTH"))t=e.headers.get("X-TILMELDAUTH");else{if("undefined"==typeof document||!document.cookie.match(r))return;t=document.cookie.replace(r,"$1")}if(s!==t)if(null==t||""===t)null!=s&&(this.nymph.setXsrfToken(null),this.nymph.pubsub&&this.nymph.pubsub.setToken(null),s=null);else{const e=t.split(".")[1].replace(/-/g,"+").replace(/_/g,"/"),r="undefined"==typeof atob?Buffer.from(e,"base64").toString("binary"):atob(e),n=JSON.parse(r);this.nymph.setXsrfToken(n.xsrfToken),this.nymph.pubsub&&this.nymph.pubsub.setToken(t),s=t}}static on(e,t){const r=e+"Callbacks";if(!(r in this))throw new Error("Invalid event type.");return this[r].push(t),()=>this.off(e,t)}static off(e,t){const r=e+"Callbacks";if(!(r in this))return!1;const n=this[r].indexOf(t);return n>-1&&this[r].splice(n,1),!0}}t.default=o,o.class="User",o.registerCallbacks=[],o.loginCallbacks=[],o.logoutCallbacks=[]},13:function(e,t){var r=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(i,s){function o(e){try{l(n.next(e))}catch(e){s(e)}}function a(e){try{l(n.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,a)}l((n=n.apply(e,t||[])).next())}))},n=this&&this.__rest||function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(n=Object.getOwnPropertySymbols(e);i<n.length;i++)t.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(r[n[i]]=e[n[i]])}return r};Object.defineProperty(t,"__esModule",{value:!0}),t.checkUsername=t.register=t.login=void 0,t.login=function(e,t,i,s){var o;return r(this,void 0,void 0,(function*(){if(""===t)throw new Error("You need to enter a username.");if(""===i)throw new Error("You need to enter a password");try{const r=yield e.loginUser(Object.assign({username:t,password:i},s?{additionalData:s}:{})),{result:o}=r,a=n(r,["result"]);if(!o)throw new Error(a.message);return a}catch(e){throw new Error(null!==(o=null==e?void 0:e.message)&&void 0!==o?o:"An error occurred.")}}))},t.register=function(e,t,i){var s;return r(this,void 0,void 0,(function*(){if(""===t.username)throw new Error("You need to enter a username.");if(!t.usernameVerified)throw new Error("The username you entered is not valid.");if(t.password!==t.password2)throw new Error("Your passwords do not match.");if(""===t.password)throw new Error("You need to enter a password");let r=e.factorySync();r.username=t.username;const o=i||(yield e.getClientConfig());o.emailUsernames?r.email=t.username:-1!==o.regFields.indexOf("email")&&(r.email=t.email),-1!==o.regFields.indexOf("name")&&(r.nameFirst=t.nameFirst,r.nameLast=t.nameLast),-1!==o.regFields.indexOf("phone")&&(r.phone=t.phone);try{const e=yield r.$register(Object.assign({password:t.password},t.additionalData?{additionalData:t.additionalData}:{})),{result:i}=e,s=n(e,["result"]);if(!i)throw new Error(s.message);return Object.assign(Object.assign({},s),{user:r})}catch(e){throw new Error(null!==(s=null==e?void 0:e.message)&&void 0!==s?s:"An error occurred.")}}))},t.checkUsername=function(e,t,i){var s;return r(this,void 0,void 0,(function*(){let r=e.factorySync();r.username=t,(i||(yield e.getClientConfig())).emailUsernames&&(r.email=t);try{const e=yield r.$checkUsername(),{result:t}=e,i=n(e,["result"]);if(!t)throw new Error(i.message);return i}catch(e){throw new Error(null!==(s=null==e?void 0:e.message)&&void 0!==s?s:"An error occurred.")}}))}},568:function(e,t,r){var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.User=t.Group=void 0,i(r(848),t);const o=s(r(848));t.Group=o.default,i(r(13),t),i(r(178),t);const a=s(r(178));t.User=a.default},778:t=>{t.exports=e}},r={};return function e(n){var i=r[n];if(void 0!==i)return i.exports;var s=r[n]={exports:{}};return t[n].call(s.exports,s,s.exports,e),s.exports}(568)})()}));
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","mappings":"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","sources":["webpack://@nymphjs/tilmeld-client/webpack/universalModuleDefinition","webpack://@nymphjs/tilmeld-client/./lib/Group.js","webpack://@nymphjs/tilmeld-client/./lib/User.js","webpack://@nymphjs/tilmeld-client/./lib/helpers.js","webpack://@nymphjs/tilmeld-client/./lib/index.js","webpack://@nymphjs/tilmeld-client/external \"@nymphjs/client\"","webpack://@nymphjs/tilmeld-client/webpack/bootstrap","webpack://@nymphjs/tilmeld-client/webpack/startup"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"@nymphjs/client\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"@nymphjs/client\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"@nymphjs/tilmeld-client\"] = factory(require(\"@nymphjs/client\"));\n\telse\n\t\troot[\"@nymphjs/tilmeld-client\"] = factory(root[\"@nymphjs/client\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE__196__) {\nreturn ","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst client_1 = require(\"@nymphjs/client\");\nclass Group extends client_1.Entity {\n constructor(guid) {\n super(guid);\n if (guid == null) {\n this.$data.enabled = true;\n this.$data.abilities = [];\n }\n }\n static factory(guid) {\n const _super = Object.create(null, {\n factory: { get: () => super.factory }\n });\n return __awaiter(this, void 0, void 0, function* () {\n return (yield _super.factory.call(this, guid));\n });\n }\n static factorySync(guid) {\n return super.factorySync(guid);\n }\n $checkGroupname() {\n return __awaiter(this, void 0, void 0, function* () {\n return yield this.$serverCall('$checkGroupname', [], true);\n });\n }\n $checkEmail() {\n return __awaiter(this, void 0, void 0, function* () {\n return yield this.$serverCall('$checkEmail', [], true);\n });\n }\n $getAvatar() {\n return __awaiter(this, void 0, void 0, function* () {\n return yield this.$serverCall('$getAvatar', [], true);\n });\n }\n $getChildren() {\n return __awaiter(this, void 0, void 0, function* () {\n return yield this.$serverCall('$getChildren', [], true);\n });\n }\n $getDescendants(andSelf = false) {\n return __awaiter(this, void 0, void 0, function* () {\n return yield this.$serverCall('$getDescendants', [andSelf], true);\n });\n }\n $getLevel() {\n return __awaiter(this, void 0, void 0, function* () {\n return yield this.$serverCall('$getLevel', [], true);\n });\n }\n $isDescendant(givenGroup) {\n return __awaiter(this, void 0, void 0, function* () {\n return yield this.$serverCall('$isDescendant', [givenGroup], true);\n });\n }\n static getPrimaryGroups(options, selectors) {\n return __awaiter(this, void 0, void 0, function* () {\n return yield this.serverCallStatic('getPrimaryGroups', [\n { options, class: this.class },\n selectors,\n ]);\n });\n }\n static getSecondaryGroups(options, selectors) {\n return __awaiter(this, void 0, void 0, function* () {\n return yield this.serverCallStatic('getSecondaryGroups', [\n { options, class: this.class },\n selectors,\n ]);\n });\n }\n}\nexports.default = Group;\nGroup.class = 'Group';\n//# sourceMappingURL=Group.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst client_1 = require(\"@nymphjs/client\");\nlet currentToken = null;\nclass User extends client_1.Entity {\n constructor(guid) {\n super(guid);\n if (guid == null) {\n this.$data.enabled = true;\n this.$data.abilities = [];\n this.$data.groups = [];\n this.$data.inheritAbilities = true;\n }\n }\n static set nymph(value) {\n this.nymphValue = value;\n if (this.removeNymphResponseListener) {\n this.removeNymphResponseListener();\n }\n this.removeNymphResponseListener = this.nymph.on('response', (response) => this.handleToken(response));\n this.handleToken();\n }\n static get nymph() {\n return this.nymphValue;\n }\n static factory(guid) {\n const _super = Object.create(null, {\n factory: { get: () => super.factory }\n });\n return __awaiter(this, void 0, void 0, function* () {\n return (yield _super.factory.call(this, guid));\n });\n }\n static factoryUsername(username) {\n return __awaiter(this, void 0, void 0, function* () {\n const entity = new this();\n if (username != null) {\n const entity = yield this.nymph.getEntity({\n class: this,\n }, {\n type: '&',\n ilike: ['username', username.replace(/([\\\\%_])/g, (s) => `\\\\${s}`)],\n });\n if (entity != null) {\n return entity;\n }\n }\n return entity;\n });\n }\n static factorySync(guid) {\n return super.factorySync(guid);\n }\n $checkUsername() {\n return __awaiter(this, void 0, void 0, function* () {\n return yield this.$serverCall('$checkUsername', [], true);\n });\n }\n $checkEmail() {\n return __awaiter(this, void 0, void 0, function* () {\n return yield this.$serverCall('$checkEmail', [], true);\n });\n }\n $checkPhone() {\n return __awaiter(this, void 0, void 0, function* () {\n return yield this.$serverCall('$checkPhone', [], true);\n });\n }\n $getAvatar() {\n return __awaiter(this, void 0, void 0, function* () {\n return yield this.$serverCall('$getAvatar', [], true);\n });\n }\n $register(data) {\n return __awaiter(this, void 0, void 0, function* () {\n const UserClass = this.constructor;\n const response = yield this.$serverCall('$register', [data]);\n if (response.result) {\n for (let i = 0; i < UserClass.registerCallbacks.length; i++) {\n UserClass.registerCallbacks[i] && UserClass.registerCallbacks[i](this);\n }\n }\n if (response.loggedin) {\n UserClass.currentUser = this;\n UserClass.handleToken();\n for (let i = 0; i < UserClass.loginCallbacks.length; i++) {\n UserClass.loginCallbacks[i] && UserClass.loginCallbacks[i](this);\n }\n }\n return response;\n });\n }\n $logout() {\n return __awaiter(this, void 0, void 0, function* () {\n const UserClass = this.constructor;\n const response = yield this.$serverCall('$logout', []);\n if (response.result) {\n UserClass.currentUser = undefined;\n UserClass.handleToken();\n for (let i = 0; i < UserClass.logoutCallbacks.length; i++) {\n UserClass.logoutCallbacks[i] && UserClass.logoutCallbacks[i](this);\n }\n }\n return response;\n });\n }\n $gatekeeper(ability) {\n return __awaiter(this, void 0, void 0, function* () {\n return yield this.$serverCall('$gatekeeper', [ability], true);\n });\n }\n $changePassword(data) {\n return __awaiter(this, void 0, void 0, function* () {\n return yield this.$serverCall('$changePassword', [data]);\n });\n }\n static current(returnObjectIfNotExist) {\n return __awaiter(this, void 0, void 0, function* () {\n if (this.currentUser !== undefined) {\n return this.currentUser;\n }\n if (!this.currentUserPromise) {\n this.currentUserPromise = this.serverCallStatic('current', [false]).then((user) => {\n this.currentUser = user !== null && user !== void 0 ? user : undefined;\n this.currentUserPromise = undefined;\n return user;\n });\n }\n yield this.currentUserPromise;\n if (this.currentUser == null) {\n return returnObjectIfNotExist ? this.factorySync() : null;\n }\n return this.currentUser;\n });\n }\n static loginUser(data) {\n return __awaiter(this, void 0, void 0, function* () {\n const response = yield this.serverCallStatic('loginUser', [data]);\n if (response.result) {\n this.currentUser = response.user;\n this.handleToken();\n for (let i = 0; i < this.loginCallbacks.length; i++) {\n this.loginCallbacks[i] && this.loginCallbacks[i](response.user);\n }\n }\n return response;\n });\n }\n static sendRecovery(data) {\n return __awaiter(this, void 0, void 0, function* () {\n return yield this.serverCallStatic('sendRecovery', [data]);\n });\n }\n static recover(data) {\n return __awaiter(this, void 0, void 0, function* () {\n return yield this.serverCallStatic('recover', [data]);\n });\n }\n static getClientConfig() {\n return __awaiter(this, void 0, void 0, function* () {\n if (this.clientConfig) {\n return this.clientConfig;\n }\n if (!this.clientConfigPromise) {\n this.clientConfigPromise = this.serverCallStatic('getClientConfig', []).then((config) => {\n this.clientConfig = config;\n this.clientConfigPromise = undefined;\n return config;\n });\n }\n return yield this.clientConfigPromise;\n });\n }\n static handleToken(response) {\n let token = null;\n const authCookiePattern = /(?:(?:^|.*;\\s*)TILMELDAUTH\\s*=\\s*([^;]*).*$)|^.*$/;\n if (response && response.headers.has('X-TILMELDAUTH')) {\n token = response.headers.get('X-TILMELDAUTH');\n }\n else if (typeof document !== 'undefined' &&\n document.cookie.match(authCookiePattern)) {\n token = document.cookie.replace(authCookiePattern, '$1');\n }\n else {\n return;\n }\n if (currentToken !== token) {\n if (token == null || token === '') {\n if (currentToken != null) {\n this.nymph.setXsrfToken(null);\n if (this.nymph.pubsub) {\n this.nymph.pubsub.setToken(null);\n }\n currentToken = null;\n }\n }\n else {\n const base64Url = token.split('.')[1];\n const base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');\n const json = typeof atob === 'undefined'\n ? Buffer.from(base64, 'base64').toString('binary')\n : atob(base64);\n const jwt = JSON.parse(json);\n this.nymph.setXsrfToken(jwt.xsrfToken);\n if (this.nymph.pubsub) {\n this.nymph.pubsub.setToken(token);\n }\n currentToken = token;\n }\n }\n }\n static on(event, callback) {\n const prop = (event + 'Callbacks');\n if (!this.hasOwnProperty(prop)) {\n throw new Error('Invalid event type.');\n }\n this[prop].push(callback);\n return () => this.off(event, callback);\n }\n static off(event, callback) {\n const prop = (event + 'Callbacks');\n if (!this.hasOwnProperty(prop)) {\n return false;\n }\n const i = this[prop].indexOf(callback);\n if (i > -1) {\n this[prop].splice(i, 1);\n }\n return true;\n }\n}\nexports.default = User;\nUser.class = 'User';\nUser.registerCallbacks = [];\nUser.loginCallbacks = [];\nUser.logoutCallbacks = [];\n//# sourceMappingURL=User.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.checkUsername = exports.register = exports.login = exports.getClientConfig = void 0;\nconst User_1 = __importDefault(require(\"./User\"));\nlet clientConfig = null;\nlet clientConfigPromise = null;\nfunction getClientConfig() {\n return __awaiter(this, void 0, void 0, function* () {\n if (clientConfig) {\n return clientConfig;\n }\n if (!clientConfigPromise) {\n clientConfigPromise = User_1.default.getClientConfig().then((config) => (clientConfig = config));\n }\n return yield clientConfigPromise;\n });\n}\nexports.getClientConfig = getClientConfig;\nfunction login(username, password) {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n if (username === '') {\n throw new Error('You need to enter a username.');\n }\n if (password === '') {\n throw new Error('You need to enter a password');\n }\n try {\n const _b = yield User_1.default.loginUser({\n username,\n password,\n }), { result } = _b, response = __rest(_b, [\"result\"]);\n if (!result) {\n throw new Error(response.message);\n }\n return response;\n }\n catch (e) {\n throw new Error((_a = e === null || e === void 0 ? void 0 : e.message) !== null && _a !== void 0 ? _a : 'An error occurred.');\n }\n });\n}\nexports.login = login;\nfunction register(userDetails) {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n if (userDetails.username === '') {\n throw new Error('You need to enter a username.');\n }\n if (!userDetails.usernameVerified) {\n throw new Error('The username you entered is not valid.');\n }\n if (userDetails.password !== userDetails.password2) {\n throw new Error('Your passwords do not match.');\n }\n if (userDetails.password === '') {\n throw new Error('You need to enter a password');\n }\n let user = User_1.default.factorySync();\n user.username = userDetails.username;\n const config = yield getClientConfig();\n if (config.emailUsernames) {\n user.email = userDetails.username;\n }\n else if (config.regFields.indexOf('email') !== -1) {\n user.email = userDetails.email;\n }\n if (config.regFields.indexOf('name') !== -1) {\n user.nameFirst = userDetails.nameFirst;\n user.nameLast = userDetails.nameLast;\n }\n if (config.regFields.indexOf('phone') !== -1) {\n user.phone = userDetails.phone;\n }\n try {\n const _b = yield user.$register({\n password: userDetails.password,\n }), { result } = _b, response = __rest(_b, [\"result\"]);\n if (!result) {\n throw new Error(response.message);\n }\n return Object.assign(Object.assign({}, response), { user });\n }\n catch (e) {\n throw new Error((_a = e === null || e === void 0 ? void 0 : e.message) !== null && _a !== void 0 ? _a : 'An error occurred.');\n }\n });\n}\nexports.register = register;\nfunction checkUsername(username) {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n let user = User_1.default.factorySync();\n user.username = username;\n const config = yield getClientConfig();\n if (config.emailUsernames) {\n user.email = username;\n }\n try {\n const _b = yield user.$checkUsername(), { result } = _b, response = __rest(_b, [\"result\"]);\n if (!result) {\n throw new Error(response.message);\n }\n return response;\n }\n catch (e) {\n throw new Error((_a = e === null || e === void 0 ? void 0 : e.message) !== null && _a !== void 0 ? _a : 'An error occurred.');\n }\n });\n}\nexports.checkUsername = checkUsername;\n//# sourceMappingURL=helpers.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.User = exports.Group = void 0;\n__exportStar(require(\"./Group\"), exports);\nconst Group_1 = __importDefault(require(\"./Group\"));\nexports.Group = Group_1.default;\n__exportStar(require(\"./helpers\"), exports);\n__exportStar(require(\"./User\"), exports);\nconst User_1 = __importDefault(require(\"./User\"));\nexports.User = User_1.default;\n//# sourceMappingURL=index.js.map","module.exports = __WEBPACK_EXTERNAL_MODULE__196__;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(568);\n"],"names":["root","factory","exports","module","require","define","amd","this","__WEBPACK_EXTERNAL_MODULE__196__","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","apply","Object","defineProperty","client_1","Group","Entity","constructor","guid","super","$data","enabled","abilities","_super","create","get","call","factorySync","$checkGroupname","$serverCall","$checkEmail","$getAvatar","$getChildren","$getDescendants","andSelf","$getLevel","$isDescendant","givenGroup","options","selectors","serverCallStatic","class","default","currentToken","User","groups","inheritAbilities","nymphValue","removeNymphResponseListener","nymph","on","response","handleToken","username","entity","getEntity","type","ilike","replace","s","$checkUsername","$checkPhone","$register","data","UserClass","i","registerCallbacks","length","loggedin","currentUser","loginCallbacks","$logout","undefined","logoutCallbacks","$gatekeeper","ability","$changePassword","returnObjectIfNotExist","currentUserPromise","user","clientConfig","clientConfigPromise","config","token","authCookiePattern","headers","has","document","cookie","match","setXsrfToken","pubsub","setToken","base64","split","json","atob","Buffer","from","toString","jwt","JSON","parse","xsrfToken","event","callback","prop","hasOwnProperty","Error","push","off","indexOf","splice","__rest","t","p","prototype","getOwnPropertySymbols","propertyIsEnumerable","__importDefault","mod","__esModule","checkUsername","register","login","getClientConfig","User_1","password","_a","_b","loginUser","message","userDetails","usernameVerified","password2","emailUsernames","email","regFields","nameFirst","nameLast","phone","assign","__createBinding","o","m","k","k2","enumerable","__exportStar","Group_1","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"index.js","mappings":"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","sources":["webpack://@nymphjs/tilmeld-client/webpack/universalModuleDefinition","webpack://@nymphjs/tilmeld-client/./lib/Group.js","webpack://@nymphjs/tilmeld-client/./lib/User.js","webpack://@nymphjs/tilmeld-client/./lib/helpers.js","webpack://@nymphjs/tilmeld-client/./lib/index.js","webpack://@nymphjs/tilmeld-client/external umd \"@nymphjs/client\"","webpack://@nymphjs/tilmeld-client/webpack/bootstrap","webpack://@nymphjs/tilmeld-client/webpack/startup"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"@nymphjs/client\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"@nymphjs/client\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"@nymphjs/tilmeld-client\"] = factory(require(\"@nymphjs/client\"));\n\telse\n\t\troot[\"@nymphjs/tilmeld-client\"] = factory(root[\"@nymphjs/client\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE__778__) {\nreturn ","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst client_1 = require(\"@nymphjs/client\");\nclass Group extends client_1.Entity {\n constructor(guid) {\n super(guid);\n if (guid == null) {\n this.$data.enabled = true;\n this.$data.abilities = [];\n }\n }\n static clone() {\n class GroupClone extends Group {\n }\n return GroupClone;\n }\n static factory(guid) {\n const _super = Object.create(null, {\n factory: { get: () => super.factory }\n });\n return __awaiter(this, void 0, void 0, function* () {\n return (yield _super.factory.call(this, guid));\n });\n }\n static factorySync(guid) {\n return super.factorySync(guid);\n }\n $checkGroupname() {\n return __awaiter(this, void 0, void 0, function* () {\n return yield this.$serverCall('$checkGroupname', [], true);\n });\n }\n $checkEmail() {\n return __awaiter(this, void 0, void 0, function* () {\n return yield this.$serverCall('$checkEmail', [], true);\n });\n }\n $getAvatar() {\n return __awaiter(this, void 0, void 0, function* () {\n return yield this.$serverCall('$getAvatar', [], true);\n });\n }\n $getChildren() {\n return __awaiter(this, void 0, void 0, function* () {\n return yield this.$serverCall('$getChildren', [], true);\n });\n }\n $getDescendants(andSelf = false) {\n return __awaiter(this, void 0, void 0, function* () {\n return yield this.$serverCall('$getDescendants', [andSelf], true);\n });\n }\n $getLevel() {\n return __awaiter(this, void 0, void 0, function* () {\n return yield this.$serverCall('$getLevel', [], true);\n });\n }\n $isDescendant(givenGroup) {\n return __awaiter(this, void 0, void 0, function* () {\n return yield this.$serverCall('$isDescendant', [givenGroup], true);\n });\n }\n static getPrimaryGroups(options, selectors) {\n return __awaiter(this, void 0, void 0, function* () {\n return yield this.serverCallStatic('getPrimaryGroups', [\n { options, class: this.class },\n selectors,\n ]);\n });\n }\n static getSecondaryGroups(options, selectors) {\n return __awaiter(this, void 0, void 0, function* () {\n return yield this.serverCallStatic('getSecondaryGroups', [\n { options, class: this.class },\n selectors,\n ]);\n });\n }\n}\nexports.default = Group;\nGroup.class = 'Group';\n//# sourceMappingURL=Group.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst client_1 = require(\"@nymphjs/client\");\nlet currentToken = null;\nclass User extends client_1.Entity {\n constructor(guid) {\n super(guid);\n if (guid == null) {\n this.$data.enabled = true;\n this.$data.abilities = [];\n this.$data.groups = [];\n this.$data.inheritAbilities = true;\n }\n }\n static set nymph(value) {\n this.nymphValue = value;\n if (this.removeNymphResponseListener) {\n this.removeNymphResponseListener();\n }\n this.removeNymphResponseListener = this.nymph.on('response', (response) => this.handleToken(response));\n this.handleToken();\n }\n static get nymph() {\n return this.nymphValue;\n }\n static clone() {\n class UserClone extends User {\n }\n UserClone.registerCallbacks = [];\n UserClone.loginCallbacks = [];\n UserClone.logoutCallbacks = [];\n return UserClone;\n }\n static factory(guid) {\n const _super = Object.create(null, {\n factory: { get: () => super.factory }\n });\n return __awaiter(this, void 0, void 0, function* () {\n return (yield _super.factory.call(this, guid));\n });\n }\n static factoryUsername(username) {\n return __awaiter(this, void 0, void 0, function* () {\n const entity = new this();\n if (username != null) {\n const entity = yield this.nymph.getEntity({\n class: this,\n }, {\n type: '&',\n ilike: ['username', username.replace(/([\\\\%_])/g, (s) => `\\\\${s}`)],\n });\n if (entity != null) {\n return entity;\n }\n }\n return entity;\n });\n }\n static factorySync(guid) {\n return super.factorySync(guid);\n }\n $checkUsername() {\n return __awaiter(this, void 0, void 0, function* () {\n return yield this.$serverCall('$checkUsername', [], true);\n });\n }\n $checkEmail() {\n return __awaiter(this, void 0, void 0, function* () {\n return yield this.$serverCall('$checkEmail', [], true);\n });\n }\n $checkPhone() {\n return __awaiter(this, void 0, void 0, function* () {\n return yield this.$serverCall('$checkPhone', [], true);\n });\n }\n $getAvatar() {\n return __awaiter(this, void 0, void 0, function* () {\n return yield this.$serverCall('$getAvatar', [], true);\n });\n }\n $register(data) {\n return __awaiter(this, void 0, void 0, function* () {\n const UserClass = this.constructor;\n const response = yield this.$serverCall('$register', [data]);\n if (response.result) {\n for (let i = 0; i < UserClass.registerCallbacks.length; i++) {\n UserClass.registerCallbacks[i] && UserClass.registerCallbacks[i](this);\n }\n }\n if (response.loggedin) {\n UserClass.handleToken();\n for (let i = 0; i < UserClass.loginCallbacks.length; i++) {\n UserClass.loginCallbacks[i] && UserClass.loginCallbacks[i](this);\n }\n }\n return response;\n });\n }\n $logout() {\n return __awaiter(this, void 0, void 0, function* () {\n const UserClass = this.constructor;\n const response = yield this.$serverCall('$logout', []);\n if (response.result) {\n UserClass.handleToken();\n for (let i = 0; i < UserClass.logoutCallbacks.length; i++) {\n UserClass.logoutCallbacks[i] && UserClass.logoutCallbacks[i](this);\n }\n }\n return response;\n });\n }\n $gatekeeper(ability) {\n return __awaiter(this, void 0, void 0, function* () {\n return yield this.$serverCall('$gatekeeper', [ability], true);\n });\n }\n $changePassword(data) {\n return __awaiter(this, void 0, void 0, function* () {\n return yield this.$serverCall('$changePassword', [data]);\n });\n }\n static current(returnObjectIfNotExist) {\n return __awaiter(this, void 0, void 0, function* () {\n const currentUser = yield this.serverCallStatic('current', [false]);\n if (currentUser == null) {\n return returnObjectIfNotExist ? this.factorySync() : null;\n }\n return currentUser;\n });\n }\n static loginUser(data) {\n return __awaiter(this, void 0, void 0, function* () {\n const response = yield this.serverCallStatic('loginUser', [data]);\n if (response.result) {\n this.handleToken();\n for (let i = 0; i < this.loginCallbacks.length; i++) {\n this.loginCallbacks[i] && this.loginCallbacks[i](response.user);\n }\n }\n return response;\n });\n }\n static sendRecovery(data) {\n return __awaiter(this, void 0, void 0, function* () {\n return yield this.serverCallStatic('sendRecovery', [data]);\n });\n }\n static recover(data) {\n return __awaiter(this, void 0, void 0, function* () {\n return yield this.serverCallStatic('recover', [data]);\n });\n }\n static getClientConfig() {\n return __awaiter(this, void 0, void 0, function* () {\n if (this.clientConfig) {\n return this.clientConfig;\n }\n if (!this.clientConfigPromise) {\n this.clientConfigPromise = this.serverCallStatic('getClientConfig', []).then((config) => {\n this.clientConfig = config;\n this.clientConfigPromise = undefined;\n return config;\n });\n }\n return yield this.clientConfigPromise;\n });\n }\n static handleToken(response) {\n let token = null;\n const authCookiePattern = /(?:(?:^|.*;\\s*)TILMELDAUTH\\s*=\\s*([^;]*).*$)|^.*$/;\n if (response && response.headers.has('X-TILMELDAUTH')) {\n token = response.headers.get('X-TILMELDAUTH');\n }\n else if (typeof document !== 'undefined' &&\n document.cookie.match(authCookiePattern)) {\n token = document.cookie.replace(authCookiePattern, '$1');\n }\n else {\n return;\n }\n if (currentToken !== token) {\n if (token == null || token === '') {\n if (currentToken != null) {\n this.nymph.setXsrfToken(null);\n if (this.nymph.pubsub) {\n this.nymph.pubsub.setToken(null);\n }\n currentToken = null;\n }\n }\n else {\n const base64Url = token.split('.')[1];\n const base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');\n const json = typeof atob === 'undefined'\n ? Buffer.from(base64, 'base64').toString('binary')\n : atob(base64);\n const jwt = JSON.parse(json);\n this.nymph.setXsrfToken(jwt.xsrfToken);\n if (this.nymph.pubsub) {\n this.nymph.pubsub.setToken(token);\n }\n currentToken = token;\n }\n }\n }\n static on(event, callback) {\n const prop = (event + 'Callbacks');\n if (!(prop in this)) {\n throw new Error('Invalid event type.');\n }\n this[prop].push(callback);\n return () => this.off(event, callback);\n }\n static off(event, callback) {\n const prop = (event + 'Callbacks');\n if (!(prop in this)) {\n return false;\n }\n const i = this[prop].indexOf(callback);\n if (i > -1) {\n this[prop].splice(i, 1);\n }\n return true;\n }\n}\nexports.default = User;\nUser.class = 'User';\nUser.registerCallbacks = [];\nUser.loginCallbacks = [];\nUser.logoutCallbacks = [];\n//# sourceMappingURL=User.js.map","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.checkUsername = exports.register = exports.login = void 0;\nfunction login(User, username, password, additionalData) {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n if (username === '') {\n throw new Error('You need to enter a username.');\n }\n if (password === '') {\n throw new Error('You need to enter a password');\n }\n try {\n const _b = yield User.loginUser(Object.assign({ username,\n password }, (additionalData ? { additionalData } : {}))), { result } = _b, response = __rest(_b, [\"result\"]);\n if (!result) {\n throw new Error(response.message);\n }\n return response;\n }\n catch (e) {\n throw new Error((_a = e === null || e === void 0 ? void 0 : e.message) !== null && _a !== void 0 ? _a : 'An error occurred.');\n }\n });\n}\nexports.login = login;\nfunction register(User, userDetails, clientConfig) {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n if (userDetails.username === '') {\n throw new Error('You need to enter a username.');\n }\n if (!userDetails.usernameVerified) {\n throw new Error('The username you entered is not valid.');\n }\n if (userDetails.password !== userDetails.password2) {\n throw new Error('Your passwords do not match.');\n }\n if (userDetails.password === '') {\n throw new Error('You need to enter a password');\n }\n let user = User.factorySync();\n user.username = userDetails.username;\n const config = clientConfig || (yield User.getClientConfig());\n if (config.emailUsernames) {\n user.email = userDetails.username;\n }\n else if (config.regFields.indexOf('email') !== -1) {\n user.email = userDetails.email;\n }\n if (config.regFields.indexOf('name') !== -1) {\n user.nameFirst = userDetails.nameFirst;\n user.nameLast = userDetails.nameLast;\n }\n if (config.regFields.indexOf('phone') !== -1) {\n user.phone = userDetails.phone;\n }\n try {\n const _b = yield user.$register(Object.assign({ password: userDetails.password }, (userDetails.additionalData\n ? { additionalData: userDetails.additionalData }\n : {}))), { result } = _b, response = __rest(_b, [\"result\"]);\n if (!result) {\n throw new Error(response.message);\n }\n return Object.assign(Object.assign({}, response), { user });\n }\n catch (e) {\n throw new Error((_a = e === null || e === void 0 ? void 0 : e.message) !== null && _a !== void 0 ? _a : 'An error occurred.');\n }\n });\n}\nexports.register = register;\nfunction checkUsername(User, username, clientConfig) {\n var _a;\n return __awaiter(this, void 0, void 0, function* () {\n let user = User.factorySync();\n user.username = username;\n const config = clientConfig || (yield User.getClientConfig());\n if (config.emailUsernames) {\n user.email = username;\n }\n try {\n const _b = yield user.$checkUsername(), { result } = _b, response = __rest(_b, [\"result\"]);\n if (!result) {\n throw new Error(response.message);\n }\n return response;\n }\n catch (e) {\n throw new Error((_a = e === null || e === void 0 ? void 0 : e.message) !== null && _a !== void 0 ? _a : 'An error occurred.');\n }\n });\n}\nexports.checkUsername = checkUsername;\n//# sourceMappingURL=helpers.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.User = exports.Group = void 0;\n__exportStar(require(\"./Group\"), exports);\nconst Group_1 = __importDefault(require(\"./Group\"));\nexports.Group = Group_1.default;\n__exportStar(require(\"./helpers\"), exports);\n__exportStar(require(\"./User\"), exports);\nconst User_1 = __importDefault(require(\"./User\"));\nexports.User = User_1.default;\n//# sourceMappingURL=index.js.map","module.exports = __WEBPACK_EXTERNAL_MODULE__778__;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(568);\n"],"names":["root","factory","exports","module","require","define","amd","this","__WEBPACK_EXTERNAL_MODULE__778__","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","apply","Object","defineProperty","client_1","Group","Entity","constructor","guid","super","$data","enabled","abilities","_super","create","get","call","factorySync","$checkGroupname","$serverCall","$checkEmail","$getAvatar","$getChildren","$getDescendants","andSelf","$getLevel","$isDescendant","givenGroup","options","selectors","serverCallStatic","class","currentToken","User","groups","inheritAbilities","nymphValue","removeNymphResponseListener","nymph","on","response","handleToken","UserClone","registerCallbacks","loginCallbacks","logoutCallbacks","username","entity","getEntity","type","ilike","replace","s","$checkUsername","$checkPhone","$register","data","UserClass","i","length","loggedin","$logout","$gatekeeper","ability","$changePassword","returnObjectIfNotExist","currentUser","user","clientConfig","clientConfigPromise","config","undefined","token","authCookiePattern","headers","has","document","cookie","match","setXsrfToken","pubsub","setToken","base64","split","json","atob","Buffer","from","toString","jwt","JSON","parse","xsrfToken","event","callback","prop","Error","push","off","indexOf","splice","__rest","t","p","prototype","hasOwnProperty","getOwnPropertySymbols","propertyIsEnumerable","checkUsername","register","login","password","additionalData","_a","_b","loginUser","assign","message","userDetails","usernameVerified","password2","getClientConfig","emailUsernames","email","regFields","nameFirst","nameLast","phone","__createBinding","o","m","k","k2","enumerable","__exportStar","__importDefault","mod","__esModule","Group_1","default","User_1","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__"],"sourceRoot":""}
|
package/lib/Group.d.ts
CHANGED
|
@@ -20,6 +20,7 @@ export declare type CurrentGroupData = GroupData & {
|
|
|
20
20
|
export declare type AdminGroupData = CurrentGroupData;
|
|
21
21
|
export default class Group extends Entity<GroupData> {
|
|
22
22
|
static class: string;
|
|
23
|
+
static clone(): typeof Group;
|
|
23
24
|
constructor(guid?: string);
|
|
24
25
|
static factory(guid?: string): Promise<Group & GroupData>;
|
|
25
26
|
static factorySync(guid?: string): Group & GroupData;
|
package/lib/Group.js
CHANGED
|
@@ -18,6 +18,11 @@ class Group extends client_1.Entity {
|
|
|
18
18
|
this.$data.abilities = [];
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
|
+
static clone() {
|
|
22
|
+
class GroupClone extends Group {
|
|
23
|
+
}
|
|
24
|
+
return GroupClone;
|
|
25
|
+
}
|
|
21
26
|
static factory(guid) {
|
|
22
27
|
const _super = Object.create(null, {
|
|
23
28
|
factory: { get: () => super.factory }
|
package/lib/Group.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Group.js","sourceRoot":"","sources":["../src/Group.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,4CAA4D;AA8D5D,MAAqB,KAAM,SAAQ,eAAiB;
|
|
1
|
+
{"version":3,"file":"Group.js","sourceRoot":"","sources":["../src/Group.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,4CAA4D;AA8D5D,MAAqB,KAAM,SAAQ,eAAiB;IAUlD,YAAY,IAAa;QACvB,KAAK,CAAC,IAAI,CAAC,CAAC;QAEZ,IAAI,IAAI,IAAI,IAAI,EAAE;YAChB,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,KAA0B,CAAC,SAAS,GAAG,EAAE,CAAC;SACjD;IACH,CAAC;IAbM,MAAM,CAAC,KAAK;QACjB,MAAM,UAAW,SAAQ,KAAK;SAAG;QAEjC,OAAO,UAAU,CAAC;IACpB,CAAC;IAWD,MAAM,CAAO,OAAO,CAAC,IAAa;;;;;YAChC,OAAO,CAAC,MAAM,OAAM,OAAO,YAAC,IAAI,CAAC,CAAsB,CAAC;QAC1D,CAAC;KAAA;IAED,MAAM,CAAC,WAAW,CAAC,IAAa;QAC9B,OAAO,KAAK,CAAC,WAAW,CAAC,IAAI,CAAsB,CAAC;IACtD,CAAC;IAEY,eAAe;;YAI1B,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QAC7D,CAAC;KAAA;IAEY,WAAW;;YACtB,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QACzD,CAAC;KAAA;IAEY,UAAU;;YACrB,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QACxD,CAAC;KAAA;IAEY,YAAY;;YACvB,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QAC1D,CAAC;KAAA;IAEY,eAAe,CAC1B,OAAO,GAAG,KAAK;;YAEf,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;QACpE,CAAC;KAAA;IAEY,SAAS;;YACpB,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QACvD,CAAC;KAAA;IAEY,aAAa,CACxB,UAAwC;;YAExC,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,CAAC;QACrE,CAAC;KAAA;IAEM,MAAM,CAAO,gBAAgB,CAClC,OAAiB,EACjB,SAAsB;;YAEtB,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,EAAE;gBACrD,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;gBAC9B,SAAS;aACV,CAAC,CAAC;QACL,CAAC;KAAA;IAEM,MAAM,CAAO,kBAAkB,CACpC,OAAiB,EACjB,SAAsB;;YAEtB,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,EAAE;gBACvD,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;gBAC9B,SAAS;aACV,CAAC,CAAC;QACL,CAAC;KAAA;;AAhFH,wBAiFC;AA/Ee,WAAK,GAAG,OAAO,CAAC"}
|
package/lib/User.d.ts
CHANGED
|
@@ -48,16 +48,15 @@ export declare type AdminUserData = CurrentUserData & {
|
|
|
48
48
|
export default class User extends Entity<UserData> {
|
|
49
49
|
static set nymph(value: Nymph);
|
|
50
50
|
static get nymph(): Nymph;
|
|
51
|
-
|
|
51
|
+
protected static nymphValue: Nymph;
|
|
52
52
|
static class: string;
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
private static removeNymphResponseListener?;
|
|
53
|
+
protected static registerCallbacks: RegisterCallback[];
|
|
54
|
+
protected static loginCallbacks: LoginCallback[];
|
|
55
|
+
protected static logoutCallbacks: LogoutCallback[];
|
|
56
|
+
protected static clientConfig?: ClientConfig;
|
|
57
|
+
protected static clientConfigPromise?: Promise<ClientConfig>;
|
|
58
|
+
protected static removeNymphResponseListener?: () => void;
|
|
59
|
+
static clone(): typeof User;
|
|
61
60
|
constructor(guid?: string);
|
|
62
61
|
static factory(guid?: string): Promise<User & UserData>;
|
|
63
62
|
static factoryUsername(username?: string): Promise<User & UserData>;
|
|
@@ -77,6 +76,9 @@ export default class User extends Entity<UserData> {
|
|
|
77
76
|
$getAvatar(): Promise<string>;
|
|
78
77
|
$register(data: {
|
|
79
78
|
password: string;
|
|
79
|
+
additionalData?: {
|
|
80
|
+
[k: string]: any;
|
|
81
|
+
};
|
|
80
82
|
}): Promise<{
|
|
81
83
|
result: boolean;
|
|
82
84
|
loggedin: boolean;
|
|
@@ -99,6 +101,9 @@ export default class User extends Entity<UserData> {
|
|
|
99
101
|
static loginUser(data: {
|
|
100
102
|
username: string;
|
|
101
103
|
password: string;
|
|
104
|
+
additionalData?: {
|
|
105
|
+
[k: string]: any;
|
|
106
|
+
};
|
|
102
107
|
}): Promise<{
|
|
103
108
|
result: boolean;
|
|
104
109
|
message: string;
|
package/lib/User.js
CHANGED
|
@@ -32,6 +32,14 @@ class User extends client_1.Entity {
|
|
|
32
32
|
static get nymph() {
|
|
33
33
|
return this.nymphValue;
|
|
34
34
|
}
|
|
35
|
+
static clone() {
|
|
36
|
+
class UserClone extends User {
|
|
37
|
+
}
|
|
38
|
+
UserClone.registerCallbacks = [];
|
|
39
|
+
UserClone.loginCallbacks = [];
|
|
40
|
+
UserClone.logoutCallbacks = [];
|
|
41
|
+
return UserClone;
|
|
42
|
+
}
|
|
35
43
|
static factory(guid) {
|
|
36
44
|
const _super = Object.create(null, {
|
|
37
45
|
factory: { get: () => super.factory }
|
|
@@ -90,7 +98,6 @@ class User extends client_1.Entity {
|
|
|
90
98
|
}
|
|
91
99
|
}
|
|
92
100
|
if (response.loggedin) {
|
|
93
|
-
UserClass.currentUser = this;
|
|
94
101
|
UserClass.handleToken();
|
|
95
102
|
for (let i = 0; i < UserClass.loginCallbacks.length; i++) {
|
|
96
103
|
UserClass.loginCallbacks[i] && UserClass.loginCallbacks[i](this);
|
|
@@ -104,7 +111,6 @@ class User extends client_1.Entity {
|
|
|
104
111
|
const UserClass = this.constructor;
|
|
105
112
|
const response = yield this.$serverCall('$logout', []);
|
|
106
113
|
if (response.result) {
|
|
107
|
-
UserClass.currentUser = undefined;
|
|
108
114
|
UserClass.handleToken();
|
|
109
115
|
for (let i = 0; i < UserClass.logoutCallbacks.length; i++) {
|
|
110
116
|
UserClass.logoutCallbacks[i] && UserClass.logoutCallbacks[i](this);
|
|
@@ -125,28 +131,17 @@ class User extends client_1.Entity {
|
|
|
125
131
|
}
|
|
126
132
|
static current(returnObjectIfNotExist) {
|
|
127
133
|
return __awaiter(this, void 0, void 0, function* () {
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
}
|
|
131
|
-
if (!this.currentUserPromise) {
|
|
132
|
-
this.currentUserPromise = this.serverCallStatic('current', [false]).then((user) => {
|
|
133
|
-
this.currentUser = user !== null && user !== void 0 ? user : undefined;
|
|
134
|
-
this.currentUserPromise = undefined;
|
|
135
|
-
return user;
|
|
136
|
-
});
|
|
137
|
-
}
|
|
138
|
-
yield this.currentUserPromise;
|
|
139
|
-
if (this.currentUser == null) {
|
|
134
|
+
const currentUser = yield this.serverCallStatic('current', [false]);
|
|
135
|
+
if (currentUser == null) {
|
|
140
136
|
return returnObjectIfNotExist ? this.factorySync() : null;
|
|
141
137
|
}
|
|
142
|
-
return
|
|
138
|
+
return currentUser;
|
|
143
139
|
});
|
|
144
140
|
}
|
|
145
141
|
static loginUser(data) {
|
|
146
142
|
return __awaiter(this, void 0, void 0, function* () {
|
|
147
143
|
const response = yield this.serverCallStatic('loginUser', [data]);
|
|
148
144
|
if (response.result) {
|
|
149
|
-
this.currentUser = response.user;
|
|
150
145
|
this.handleToken();
|
|
151
146
|
for (let i = 0; i < this.loginCallbacks.length; i++) {
|
|
152
147
|
this.loginCallbacks[i] && this.loginCallbacks[i](response.user);
|
|
@@ -220,7 +215,7 @@ class User extends client_1.Entity {
|
|
|
220
215
|
}
|
|
221
216
|
static on(event, callback) {
|
|
222
217
|
const prop = (event + 'Callbacks');
|
|
223
|
-
if (!
|
|
218
|
+
if (!(prop in this)) {
|
|
224
219
|
throw new Error('Invalid event type.');
|
|
225
220
|
}
|
|
226
221
|
this[prop].push(callback);
|
|
@@ -228,7 +223,7 @@ class User extends client_1.Entity {
|
|
|
228
223
|
}
|
|
229
224
|
static off(event, callback) {
|
|
230
225
|
const prop = (event + 'Callbacks');
|
|
231
|
-
if (!
|
|
226
|
+
if (!(prop in this)) {
|
|
232
227
|
return false;
|
|
233
228
|
}
|
|
234
229
|
const i = this[prop].indexOf(callback);
|
package/lib/User.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"User.js","sourceRoot":"","sources":["../src/User.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,4CAAgD;AA+HhD,IAAI,YAAY,GAAkB,IAAI,CAAC;AAEvC,MAAqB,IAAK,SAAQ,eAAgB;
|
|
1
|
+
{"version":3,"file":"User.js","sourceRoot":"","sources":["../src/User.ts"],"names":[],"mappings":"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"}
|
package/lib/helpers.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import type UserClass from './User';
|
|
2
|
+
import type { ClientConfig, CurrentUserData } from './User';
|
|
2
3
|
export declare type RegistrationDetails = {
|
|
3
4
|
username: string;
|
|
4
5
|
password: string;
|
|
@@ -8,11 +9,15 @@ export declare type RegistrationDetails = {
|
|
|
8
9
|
nameFirst?: string;
|
|
9
10
|
nameLast?: string;
|
|
10
11
|
phone?: string;
|
|
12
|
+
additionalData?: {
|
|
13
|
+
[k: string]: any;
|
|
14
|
+
};
|
|
11
15
|
};
|
|
12
|
-
export declare function
|
|
13
|
-
|
|
16
|
+
export declare function login(User: typeof UserClass, username: string, password: string, additionalData?: {
|
|
17
|
+
[k: string]: any;
|
|
18
|
+
}): Promise<{
|
|
14
19
|
message: string;
|
|
15
|
-
user?: (
|
|
20
|
+
user?: (UserClass & import("./User").UserData & {
|
|
16
21
|
abilities?: string[] | undefined;
|
|
17
22
|
email?: string | undefined;
|
|
18
23
|
phone?: string | undefined;
|
|
@@ -20,22 +25,22 @@ export declare function login(username: string, password: string): Promise<{
|
|
|
20
25
|
abilities?: string[] | undefined;
|
|
21
26
|
email?: string | undefined;
|
|
22
27
|
phone?: string | undefined;
|
|
23
|
-
user?: (
|
|
28
|
+
user?: (UserClass & import("./User").UserData & any) | null | undefined;
|
|
24
29
|
}) | undefined;
|
|
25
30
|
groups?: (import("./Group").default & import("./Group").GroupData & {
|
|
26
31
|
abilities?: string[] | undefined;
|
|
27
32
|
email?: string | undefined;
|
|
28
33
|
phone?: string | undefined;
|
|
29
|
-
user?: (
|
|
34
|
+
user?: (UserClass & import("./User").UserData & any) | null | undefined;
|
|
30
35
|
})[] | undefined;
|
|
31
36
|
inheritAbilities?: boolean | undefined;
|
|
32
37
|
}) | undefined;
|
|
33
38
|
}>;
|
|
34
|
-
export declare function register(userDetails: RegistrationDetails): Promise<{
|
|
39
|
+
export declare function register(User: typeof UserClass, userDetails: RegistrationDetails, clientConfig?: ClientConfig): Promise<{
|
|
35
40
|
loggedin: boolean;
|
|
36
41
|
message: string;
|
|
37
|
-
user?:
|
|
42
|
+
user?: UserClass & CurrentUserData;
|
|
38
43
|
}>;
|
|
39
|
-
export declare function checkUsername(username: string): Promise<{
|
|
44
|
+
export declare function checkUsername(User: typeof UserClass, username: string, clientConfig?: ClientConfig): Promise<{
|
|
40
45
|
message: string;
|
|
41
46
|
}>;
|
package/lib/helpers.js
CHANGED
|
@@ -19,27 +19,9 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
19
19
|
}
|
|
20
20
|
return t;
|
|
21
21
|
};
|
|
22
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
23
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
24
|
-
};
|
|
25
22
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.checkUsername = exports.register = exports.login =
|
|
27
|
-
|
|
28
|
-
let clientConfig = null;
|
|
29
|
-
let clientConfigPromise = null;
|
|
30
|
-
function getClientConfig() {
|
|
31
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
32
|
-
if (clientConfig) {
|
|
33
|
-
return clientConfig;
|
|
34
|
-
}
|
|
35
|
-
if (!clientConfigPromise) {
|
|
36
|
-
clientConfigPromise = User_1.default.getClientConfig().then((config) => (clientConfig = config));
|
|
37
|
-
}
|
|
38
|
-
return yield clientConfigPromise;
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
exports.getClientConfig = getClientConfig;
|
|
42
|
-
function login(username, password) {
|
|
23
|
+
exports.checkUsername = exports.register = exports.login = void 0;
|
|
24
|
+
function login(User, username, password, additionalData) {
|
|
43
25
|
var _a;
|
|
44
26
|
return __awaiter(this, void 0, void 0, function* () {
|
|
45
27
|
if (username === '') {
|
|
@@ -49,10 +31,8 @@ function login(username, password) {
|
|
|
49
31
|
throw new Error('You need to enter a password');
|
|
50
32
|
}
|
|
51
33
|
try {
|
|
52
|
-
const _b = yield
|
|
53
|
-
|
|
54
|
-
password,
|
|
55
|
-
}), { result } = _b, response = __rest(_b, ["result"]);
|
|
34
|
+
const _b = yield User.loginUser(Object.assign({ username,
|
|
35
|
+
password }, (additionalData ? { additionalData } : {}))), { result } = _b, response = __rest(_b, ["result"]);
|
|
56
36
|
if (!result) {
|
|
57
37
|
throw new Error(response.message);
|
|
58
38
|
}
|
|
@@ -64,7 +44,7 @@ function login(username, password) {
|
|
|
64
44
|
});
|
|
65
45
|
}
|
|
66
46
|
exports.login = login;
|
|
67
|
-
function register(userDetails) {
|
|
47
|
+
function register(User, userDetails, clientConfig) {
|
|
68
48
|
var _a;
|
|
69
49
|
return __awaiter(this, void 0, void 0, function* () {
|
|
70
50
|
if (userDetails.username === '') {
|
|
@@ -79,9 +59,9 @@ function register(userDetails) {
|
|
|
79
59
|
if (userDetails.password === '') {
|
|
80
60
|
throw new Error('You need to enter a password');
|
|
81
61
|
}
|
|
82
|
-
let user =
|
|
62
|
+
let user = User.factorySync();
|
|
83
63
|
user.username = userDetails.username;
|
|
84
|
-
const config = yield getClientConfig();
|
|
64
|
+
const config = clientConfig || (yield User.getClientConfig());
|
|
85
65
|
if (config.emailUsernames) {
|
|
86
66
|
user.email = userDetails.username;
|
|
87
67
|
}
|
|
@@ -96,9 +76,9 @@ function register(userDetails) {
|
|
|
96
76
|
user.phone = userDetails.phone;
|
|
97
77
|
}
|
|
98
78
|
try {
|
|
99
|
-
const _b = yield user.$register({
|
|
100
|
-
|
|
101
|
-
|
|
79
|
+
const _b = yield user.$register(Object.assign({ password: userDetails.password }, (userDetails.additionalData
|
|
80
|
+
? { additionalData: userDetails.additionalData }
|
|
81
|
+
: {}))), { result } = _b, response = __rest(_b, ["result"]);
|
|
102
82
|
if (!result) {
|
|
103
83
|
throw new Error(response.message);
|
|
104
84
|
}
|
|
@@ -110,12 +90,12 @@ function register(userDetails) {
|
|
|
110
90
|
});
|
|
111
91
|
}
|
|
112
92
|
exports.register = register;
|
|
113
|
-
function checkUsername(username) {
|
|
93
|
+
function checkUsername(User, username, clientConfig) {
|
|
114
94
|
var _a;
|
|
115
95
|
return __awaiter(this, void 0, void 0, function* () {
|
|
116
|
-
let user =
|
|
96
|
+
let user = User.factorySync();
|
|
117
97
|
user.username = username;
|
|
118
|
-
const config = yield getClientConfig();
|
|
98
|
+
const config = clientConfig || (yield User.getClientConfig());
|
|
119
99
|
if (config.emailUsernames) {
|
|
120
100
|
user.email = username;
|
|
121
101
|
}
|
package/lib/helpers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nymphjs/tilmeld-client",
|
|
3
|
-
"version": "1.0.0-alpha.
|
|
3
|
+
"version": "1.0.0-alpha.40",
|
|
4
4
|
"description": "NymphJS - Tilmeld Client",
|
|
5
5
|
"browser": "dist/index.js",
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -37,16 +37,16 @@
|
|
|
37
37
|
"license": "Apache-2.0",
|
|
38
38
|
"devDependencies": {
|
|
39
39
|
"@tsconfig/recommended": "^1.0.1",
|
|
40
|
-
"@types/jest": "^27.0
|
|
41
|
-
"jest": "^27.
|
|
42
|
-
"ts-jest": "^27.
|
|
43
|
-
"ts-loader": "^9.2.
|
|
44
|
-
"typescript": "^4.
|
|
45
|
-
"webpack": "^5.
|
|
46
|
-
"webpack-cli": "^4.
|
|
40
|
+
"@types/jest": "^27.4.0",
|
|
41
|
+
"jest": "^27.4.7",
|
|
42
|
+
"ts-jest": "^27.1.2",
|
|
43
|
+
"ts-loader": "^9.2.6",
|
|
44
|
+
"typescript": "^4.5.4",
|
|
45
|
+
"webpack": "^5.65.0",
|
|
46
|
+
"webpack-cli": "^4.9.1"
|
|
47
47
|
},
|
|
48
48
|
"dependencies": {
|
|
49
|
-
"@nymphjs/client": "^1.0.0-alpha.
|
|
49
|
+
"@nymphjs/client": "^1.0.0-alpha.40"
|
|
50
50
|
},
|
|
51
|
-
"gitHead": "
|
|
51
|
+
"gitHead": "adb06997bb35778bfc93f147098eca46b6c7690a"
|
|
52
52
|
}
|
package/src/Group.ts
CHANGED
|
@@ -64,6 +64,12 @@ export default class Group extends Entity<GroupData> {
|
|
|
64
64
|
// The name of the server class
|
|
65
65
|
public static class = 'Group';
|
|
66
66
|
|
|
67
|
+
public static clone(): typeof Group {
|
|
68
|
+
class GroupClone extends Group {}
|
|
69
|
+
|
|
70
|
+
return GroupClone;
|
|
71
|
+
}
|
|
72
|
+
|
|
67
73
|
constructor(guid?: string) {
|
|
68
74
|
super(guid);
|
|
69
75
|
|
package/src/User.ts
CHANGED
|
@@ -145,17 +145,29 @@ export default class User extends Entity<UserData> {
|
|
|
145
145
|
public static get nymph() {
|
|
146
146
|
return this.nymphValue;
|
|
147
147
|
}
|
|
148
|
-
|
|
148
|
+
protected static nymphValue: Nymph;
|
|
149
149
|
// The name of the server class
|
|
150
150
|
public static class = 'User';
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
151
|
+
protected static registerCallbacks: RegisterCallback[] = [];
|
|
152
|
+
protected static loginCallbacks: LoginCallback[] = [];
|
|
153
|
+
protected static logoutCallbacks: LogoutCallback[] = [];
|
|
154
|
+
protected static clientConfig?: ClientConfig;
|
|
155
|
+
protected static clientConfigPromise?: Promise<ClientConfig>;
|
|
156
|
+
protected static removeNymphResponseListener?: () => void;
|
|
157
|
+
|
|
158
|
+
public static clone(): typeof User {
|
|
159
|
+
class UserClone extends User {
|
|
160
|
+
protected static nymphValue: Nymph;
|
|
161
|
+
protected static registerCallbacks: RegisterCallback[] = [];
|
|
162
|
+
protected static loginCallbacks: LoginCallback[] = [];
|
|
163
|
+
protected static logoutCallbacks: LogoutCallback[] = [];
|
|
164
|
+
protected static clientConfig?: ClientConfig;
|
|
165
|
+
protected static clientConfigPromise?: Promise<ClientConfig>;
|
|
166
|
+
protected static removeNymphResponseListener?: () => void;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
return UserClone;
|
|
170
|
+
}
|
|
159
171
|
|
|
160
172
|
constructor(guid?: string) {
|
|
161
173
|
super(guid);
|
|
@@ -222,6 +234,7 @@ export default class User extends Entity<UserData> {
|
|
|
222
234
|
|
|
223
235
|
public async $register(data: {
|
|
224
236
|
password: string;
|
|
237
|
+
additionalData?: { [k: string]: any };
|
|
225
238
|
}): Promise<{ result: boolean; loggedin: boolean; message: string }> {
|
|
226
239
|
const UserClass = this.constructor as typeof User;
|
|
227
240
|
const response = await this.$serverCall('$register', [data]);
|
|
@@ -231,7 +244,6 @@ export default class User extends Entity<UserData> {
|
|
|
231
244
|
}
|
|
232
245
|
}
|
|
233
246
|
if (response.loggedin) {
|
|
234
|
-
UserClass.currentUser = this;
|
|
235
247
|
UserClass.handleToken();
|
|
236
248
|
for (let i = 0; i < UserClass.loginCallbacks.length; i++) {
|
|
237
249
|
UserClass.loginCallbacks[i] && UserClass.loginCallbacks[i](this);
|
|
@@ -244,7 +256,6 @@ export default class User extends Entity<UserData> {
|
|
|
244
256
|
const UserClass = this.constructor as typeof User;
|
|
245
257
|
const response = await this.$serverCall('$logout', []);
|
|
246
258
|
if (response.result) {
|
|
247
|
-
UserClass.currentUser = undefined;
|
|
248
259
|
UserClass.handleToken();
|
|
249
260
|
for (let i = 0; i < UserClass.logoutCallbacks.length; i++) {
|
|
250
261
|
UserClass.logoutCallbacks[i] && UserClass.logoutCallbacks[i](this);
|
|
@@ -273,28 +284,17 @@ export default class User extends Entity<UserData> {
|
|
|
273
284
|
public static async current(
|
|
274
285
|
returnObjectIfNotExist?: boolean
|
|
275
286
|
): Promise<(User & CurrentUserData) | null> {
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
}
|
|
279
|
-
if (!this.currentUserPromise) {
|
|
280
|
-
this.currentUserPromise = this.serverCallStatic('current', [false]).then(
|
|
281
|
-
(user: (User & CurrentUserData) | null) => {
|
|
282
|
-
this.currentUser = user ?? undefined;
|
|
283
|
-
this.currentUserPromise = undefined;
|
|
284
|
-
return user;
|
|
285
|
-
}
|
|
286
|
-
);
|
|
287
|
-
}
|
|
288
|
-
await this.currentUserPromise;
|
|
289
|
-
if (this.currentUser == null) {
|
|
287
|
+
const currentUser = await this.serverCallStatic('current', [false]);
|
|
288
|
+
if (currentUser == null) {
|
|
290
289
|
return returnObjectIfNotExist ? this.factorySync() : null;
|
|
291
290
|
}
|
|
292
|
-
return
|
|
291
|
+
return currentUser;
|
|
293
292
|
}
|
|
294
293
|
|
|
295
294
|
public static async loginUser(data: {
|
|
296
295
|
username: string;
|
|
297
296
|
password: string;
|
|
297
|
+
additionalData?: { [k: string]: any };
|
|
298
298
|
}): Promise<{
|
|
299
299
|
result: boolean;
|
|
300
300
|
message: string;
|
|
@@ -302,7 +302,6 @@ export default class User extends Entity<UserData> {
|
|
|
302
302
|
}> {
|
|
303
303
|
const response = await this.serverCallStatic('loginUser', [data]);
|
|
304
304
|
if (response.result) {
|
|
305
|
-
this.currentUser = response.user;
|
|
306
305
|
this.handleToken();
|
|
307
306
|
for (let i = 0; i < this.loginCallbacks.length; i++) {
|
|
308
307
|
this.loginCallbacks[i] && this.loginCallbacks[i](response.user);
|
|
@@ -400,7 +399,7 @@ export default class User extends Entity<UserData> {
|
|
|
400
399
|
: T extends 'logout'
|
|
401
400
|
? 'logoutCallbacks'
|
|
402
401
|
: never;
|
|
403
|
-
if (!
|
|
402
|
+
if (!(prop in this)) {
|
|
404
403
|
throw new Error('Invalid event type.');
|
|
405
404
|
}
|
|
406
405
|
// @ts-ignore: The callback should always be the right type here.
|
|
@@ -425,7 +424,7 @@ export default class User extends Entity<UserData> {
|
|
|
425
424
|
: T extends 'logout'
|
|
426
425
|
? 'logoutCallbacks'
|
|
427
426
|
: never;
|
|
428
|
-
if (!
|
|
427
|
+
if (!(prop in this)) {
|
|
429
428
|
return false;
|
|
430
429
|
}
|
|
431
430
|
// @ts-ignore: The callback should always be the right type here.
|
package/src/helpers.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import type UserClass from './User';
|
|
2
|
+
import type { ClientConfig, CurrentUserData } from './User';
|
|
2
3
|
|
|
3
4
|
export type RegistrationDetails = {
|
|
4
5
|
/**
|
|
@@ -33,24 +34,18 @@ export type RegistrationDetails = {
|
|
|
33
34
|
* The new user's phone number.
|
|
34
35
|
*/
|
|
35
36
|
phone?: string;
|
|
37
|
+
/**
|
|
38
|
+
* Additional data to be included in the request.
|
|
39
|
+
*/
|
|
40
|
+
additionalData?: { [k: string]: any };
|
|
36
41
|
};
|
|
37
42
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
}
|
|
45
|
-
if (!clientConfigPromise) {
|
|
46
|
-
clientConfigPromise = User.getClientConfig().then(
|
|
47
|
-
(config) => (clientConfig = config)
|
|
48
|
-
);
|
|
49
|
-
}
|
|
50
|
-
return await clientConfigPromise;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
export async function login(username: string, password: string) {
|
|
43
|
+
export async function login(
|
|
44
|
+
User: typeof UserClass,
|
|
45
|
+
username: string,
|
|
46
|
+
password: string,
|
|
47
|
+
additionalData?: { [k: string]: any }
|
|
48
|
+
) {
|
|
54
49
|
if (username === '') {
|
|
55
50
|
throw new Error('You need to enter a username.');
|
|
56
51
|
}
|
|
@@ -62,6 +57,7 @@ export async function login(username: string, password: string) {
|
|
|
62
57
|
const { result, ...response } = await User.loginUser({
|
|
63
58
|
username,
|
|
64
59
|
password,
|
|
60
|
+
...(additionalData ? { additionalData } : {}),
|
|
65
61
|
});
|
|
66
62
|
if (!result) {
|
|
67
63
|
throw new Error(response.message);
|
|
@@ -72,10 +68,14 @@ export async function login(username: string, password: string) {
|
|
|
72
68
|
}
|
|
73
69
|
}
|
|
74
70
|
|
|
75
|
-
export async function register(
|
|
71
|
+
export async function register(
|
|
72
|
+
User: typeof UserClass,
|
|
73
|
+
userDetails: RegistrationDetails,
|
|
74
|
+
clientConfig?: ClientConfig
|
|
75
|
+
): Promise<{
|
|
76
76
|
loggedin: boolean;
|
|
77
77
|
message: string;
|
|
78
|
-
user?:
|
|
78
|
+
user?: UserClass & CurrentUserData;
|
|
79
79
|
}> {
|
|
80
80
|
if (userDetails.username === '') {
|
|
81
81
|
throw new Error('You need to enter a username.');
|
|
@@ -91,9 +91,9 @@ export async function register(userDetails: RegistrationDetails): Promise<{
|
|
|
91
91
|
}
|
|
92
92
|
|
|
93
93
|
// Create a new user.
|
|
94
|
-
let user = User.factorySync() as
|
|
94
|
+
let user = User.factorySync() as UserClass & CurrentUserData;
|
|
95
95
|
user.username = userDetails.username;
|
|
96
|
-
const config = await getClientConfig();
|
|
96
|
+
const config = clientConfig || (await User.getClientConfig());
|
|
97
97
|
|
|
98
98
|
if (config.emailUsernames) {
|
|
99
99
|
user.email = userDetails.username;
|
|
@@ -111,6 +111,9 @@ export async function register(userDetails: RegistrationDetails): Promise<{
|
|
|
111
111
|
try {
|
|
112
112
|
const { result, ...response } = await user.$register({
|
|
113
113
|
password: userDetails.password,
|
|
114
|
+
...(userDetails.additionalData
|
|
115
|
+
? { additionalData: userDetails.additionalData }
|
|
116
|
+
: {}),
|
|
114
117
|
});
|
|
115
118
|
if (!result) {
|
|
116
119
|
throw new Error(response.message);
|
|
@@ -121,11 +124,15 @@ export async function register(userDetails: RegistrationDetails): Promise<{
|
|
|
121
124
|
}
|
|
122
125
|
}
|
|
123
126
|
|
|
124
|
-
export async function checkUsername(
|
|
125
|
-
|
|
127
|
+
export async function checkUsername(
|
|
128
|
+
User: typeof UserClass,
|
|
129
|
+
username: string,
|
|
130
|
+
clientConfig?: ClientConfig
|
|
131
|
+
) {
|
|
132
|
+
let user = User.factorySync() as UserClass & CurrentUserData;
|
|
126
133
|
user.username = username;
|
|
127
134
|
|
|
128
|
-
const config = await getClientConfig();
|
|
135
|
+
const config = clientConfig || (await User.getClientConfig());
|
|
129
136
|
if (config.emailUsernames) {
|
|
130
137
|
user.email = username;
|
|
131
138
|
}
|