@nymphjs/tilmeld-client 1.0.0-alpha.2 → 1.0.0-alpha.20
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 +81 -0
- package/README.md +13 -0
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/lib/Group.d.ts +2 -1
- package/lib/Group.js +4 -5
- package/lib/Group.js.map +1 -1
- package/lib/User.d.ts +6 -3
- package/lib/User.js +50 -46
- package/lib/User.js.map +1 -1
- package/package.json +10 -10
- package/src/Group.ts +7 -8
- package/src/User.ts +64 -61
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,87 @@
|
|
|
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.20](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.19...v1.0.0-alpha.20) (2021-11-24)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @nymphjs/tilmeld-client
|
|
9
|
+
|
|
10
|
+
# [1.0.0-alpha.19](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.18...v1.0.0-alpha.19) (2021-11-18)
|
|
11
|
+
|
|
12
|
+
### Features
|
|
13
|
+
|
|
14
|
+
- update smui and other packages to latest versions ([2465340](https://github.com/sciactive/nymphjs/commit/24653400d887bc04c41c3c4ee0c73ce2f2289e0d))
|
|
15
|
+
|
|
16
|
+
# [1.0.0-alpha.18](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.17...v1.0.0-alpha.18) (2021-11-09)
|
|
17
|
+
|
|
18
|
+
**Note:** Version bump only for package @nymphjs/tilmeld-client
|
|
19
|
+
|
|
20
|
+
# [1.0.0-alpha.17](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.16...v1.0.0-alpha.17) (2021-10-14)
|
|
21
|
+
|
|
22
|
+
**Note:** Version bump only for package @nymphjs/tilmeld-client
|
|
23
|
+
|
|
24
|
+
# [1.0.0-alpha.16](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.15...v1.0.0-alpha.16) (2021-10-14)
|
|
25
|
+
|
|
26
|
+
### Bug Fixes
|
|
27
|
+
|
|
28
|
+
- don't ignore built files in npm packages ([7d688db](https://github.com/sciactive/nymphjs/commit/7d688dbec362f1f71fb451a1d0dbcaecc15d99fc))
|
|
29
|
+
|
|
30
|
+
# [1.0.0-alpha.15](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.14...v1.0.0-alpha.15) (2021-10-14)
|
|
31
|
+
|
|
32
|
+
**Note:** Version bump only for package @nymphjs/tilmeld-client
|
|
33
|
+
|
|
34
|
+
# [1.0.0-alpha.14](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.13...v1.0.0-alpha.14) (2021-10-14)
|
|
35
|
+
|
|
36
|
+
**Note:** Version bump only for package @nymphjs/tilmeld-client
|
|
37
|
+
|
|
38
|
+
# [1.0.0-alpha.13](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.12...v1.0.0-alpha.13) (2021-10-14)
|
|
39
|
+
|
|
40
|
+
**Note:** Version bump only for package @nymphjs/tilmeld-client
|
|
41
|
+
|
|
42
|
+
# [1.0.0-alpha.12](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.11...v1.0.0-alpha.12) (2021-10-13)
|
|
43
|
+
|
|
44
|
+
**Note:** Version bump only for package @nymphjs/tilmeld-client
|
|
45
|
+
|
|
46
|
+
# [1.0.0-alpha.11](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.10...v1.0.0-alpha.11) (2021-10-13)
|
|
47
|
+
|
|
48
|
+
**Note:** Version bump only for package @nymphjs/tilmeld-client
|
|
49
|
+
|
|
50
|
+
# [1.0.0-alpha.10](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.9...v1.0.0-alpha.10) (2021-10-12)
|
|
51
|
+
|
|
52
|
+
**Note:** Version bump only for package @nymphjs/tilmeld-client
|
|
53
|
+
|
|
54
|
+
# [1.0.0-alpha.9](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.8...v1.0.0-alpha.9) (2021-10-12)
|
|
55
|
+
|
|
56
|
+
**Note:** Version bump only for package @nymphjs/tilmeld-client
|
|
57
|
+
|
|
58
|
+
# [1.0.0-alpha.8](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.7...v1.0.0-alpha.8) (2021-10-12)
|
|
59
|
+
|
|
60
|
+
**Note:** Version bump only for package @nymphjs/tilmeld-client
|
|
61
|
+
|
|
62
|
+
# [1.0.0-alpha.7](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.6...v1.0.0-alpha.7) (2021-10-05)
|
|
63
|
+
|
|
64
|
+
**Note:** Version bump only for package @nymphjs/tilmeld-client
|
|
65
|
+
|
|
66
|
+
# [1.0.0-alpha.6](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.5...v1.0.0-alpha.6) (2021-10-05)
|
|
67
|
+
|
|
68
|
+
**Note:** Version bump only for package @nymphjs/tilmeld-client
|
|
69
|
+
|
|
70
|
+
# [1.0.0-alpha.5](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.4...v1.0.0-alpha.5) (2021-09-30)
|
|
71
|
+
|
|
72
|
+
**Note:** Version bump only for package @nymphjs/tilmeld-client
|
|
73
|
+
|
|
74
|
+
# [1.0.0-alpha.4](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.3...v1.0.0-alpha.4) (2021-09-27)
|
|
75
|
+
|
|
76
|
+
### Features
|
|
77
|
+
|
|
78
|
+
- use new instances of nymph for server and pubsub requests ([0c18fab](https://github.com/sciactive/nymphjs/commit/0c18faba2b55fe82c16806d221fc54d2cd42c992))
|
|
79
|
+
|
|
80
|
+
# [1.0.0-alpha.3](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.2...v1.0.0-alpha.3) (2021-09-22)
|
|
81
|
+
|
|
82
|
+
### Features
|
|
83
|
+
|
|
84
|
+
- migrate Tilmeld Client to new instance based Nymph Client ([dffe83b](https://github.com/sciactive/nymphjs/commit/dffe83b3900171a56d703cd491536b5d21360198))
|
|
85
|
+
- move to fully instance based design, no more globals ([c036220](https://github.com/sciactive/nymphjs/commit/c0362209b90a475b8b85269a829b0ec6bed4465f))
|
|
86
|
+
|
|
6
87
|
# [1.0.0-alpha.2](https://github.com/sciactive/nymphjs/compare/v1.0.0-alpha.1...v1.0.0-alpha.2) (2021-09-21)
|
|
7
88
|
|
|
8
89
|
**Note:** Version bump only for package @nymphjs/tilmeld-client
|
package/README.md
CHANGED
|
@@ -16,6 +16,19 @@ You can find UMD in `dist`, or TS source in `src`.
|
|
|
16
16
|
|
|
17
17
|
The Tilmeld client contains the client versions of the `User` and `Group` entities. It also contains helpers, `getClientConfig`, `login`, `register`, and `checkUsername`.
|
|
18
18
|
|
|
19
|
+
Once you've initialized Nymph Client, set the User and Group classes on it.
|
|
20
|
+
|
|
21
|
+
```ts
|
|
22
|
+
import { Nymph } from '@nymphjs/client';
|
|
23
|
+
import { User, Group } from '@nymphjs/tilmeld-client';
|
|
24
|
+
|
|
25
|
+
const nymph = new Nymph({
|
|
26
|
+
restUrl: 'https://yournymphrestserver/path/to/your/endpoint',
|
|
27
|
+
});
|
|
28
|
+
nymph.addEntityClass(User);
|
|
29
|
+
nymph.addEntityClass(Group);
|
|
30
|
+
```
|
|
31
|
+
|
|
19
32
|
# License
|
|
20
33
|
|
|
21
34
|
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,o){function s(e){try{a(n.next(e))}catch(e){o(e)}}function l(e){try{a(n.throw(e))}catch(e){o(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(s,l)}a((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0});const i=r(196);class o 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 o.serverCallStatic("getPrimaryGroups",[{options:e,class:o.class},t])}))}static getSecondaryGroups(e,t){return n(this,void 0,void 0,(function*(){return yield o.serverCallStatic("getSecondaryGroups",[{options:e,class:o.class},t])}))}}t.default=o,o.class="Group",i.Nymph.setEntityClass(o.class,o)},178:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function s(e){try{a(n.next(e))}catch(e){o(e)}}function l(e){try{a(n.throw(e))}catch(e){o(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(s,l)}a((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0});const i=r(196);let o=null;class s extends i.Entity{constructor(e){super(e),null==e&&(this.$data.enabled=!0,this.$data.abilities=[],this.$data.groups=[],this.$data.inheritAbilities=!0)}static init(){this.removeNymphResponseListener&&this.removeNymphResponseListener(),this.removeNymphResponseListener=i.Nymph.on("response",(e=>s.handleToken(e))),s.handleToken()}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 i.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=yield this.$serverCall("$register",[e]);if(t.result)for(let e=0;e<s.registerCallbacks.length;e++)s.registerCallbacks[e]&&s.registerCallbacks[e](this);if(t.loggedin){s.currentUser=this,s.handleToken();for(let e=0;e<s.loginCallbacks.length;e++)s.loginCallbacks[e]&&s.loginCallbacks[e](this)}return t}))}$logout(){return n(this,void 0,void 0,(function*(){const e=yield this.$serverCall("$logout",[]);if(e.result){s.currentUser=void 0,s.handleToken();for(let e=0;e<s.logoutCallbacks.length;e++)s.logoutCallbacks[e]&&s.logoutCallbacks[e](this)}return e}))}$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!==s.currentUser?s.currentUser:(s.currentUserPromise||(s.currentUserPromise=s.serverCallStatic("current",[!1]).then((e=>(s.currentUser=null!=e?e:void 0,s.currentUserPromise=void 0,e)))),yield s.currentUserPromise,null==s.currentUser?e?s.factorySync():null:s.currentUser)}))}static loginUser(e){return n(this,void 0,void 0,(function*(){const t=yield s.serverCallStatic("loginUser",[e]);if(t.result){s.currentUser=t.user,s.handleToken();for(let e=0;e<s.loginCallbacks.length;e++)s.loginCallbacks[e]&&s.loginCallbacks[e](t.user)}return t}))}static sendRecovery(e){return n(this,void 0,void 0,(function*(){return yield s.serverCallStatic("sendRecovery",[e])}))}static recover(e){return n(this,void 0,void 0,(function*(){return yield s.serverCallStatic("recover",[e])}))}static getClientConfig(){return n(this,void 0,void 0,(function*(){return s.clientConfig?s.clientConfig:(s.clientConfigPromise||(s.clientConfigPromise=s.serverCallStatic("getClientConfig",[]).then((e=>(s.clientConfig=e,s.clientConfigPromise=void 0,e)))),yield s.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(o!==t)if(null==t||""===t)null!=o&&(i.Nymph.setXsrfToken(null),i.PubSub.isConfigured()&&i.PubSub.setToken(null),o=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);i.Nymph.setXsrfToken(n.xsrfToken),i.PubSub.isConfigured()&&i.PubSub.setToken(t),o=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=s,s.class="User",s.registerCallbacks=[],s.loginCallbacks=[],s.logoutCallbacks=[],i.Nymph.setEntityClass(s.class,s),s.init()},13:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(i,o){function s(e){try{a(n.next(e))}catch(e){o(e)}}function l(e){try{a(n.throw(e))}catch(e){o(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(s,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},o=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 s=o(r(178));let l=null,a=null;function c(){return n(this,void 0,void 0,(function*(){return l||(a||(a=s.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 s.default.loginUser({username:e,password:t}),{result:n}=r,o=i(r,["result"]);if(!n)throw new Error(o.message);return o}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=s.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,o=i(t,["result"]);if(!n)throw new Error(o.message);return Object.assign(Object.assign({},o),{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=s.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)},o=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 s=o(r(848));t.Group=s.default,i(r(13),t),i(r(178),t);const l=o(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 o=r[n]={exports:{}};return t[n].call(o.exports,o,o.exports,e),o.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{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(778);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(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 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},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 Group.serverCallStatic('getPrimaryGroups', [\n { options, class: Group.class },\n selectors,\n ]);\n });\n }\n static getSecondaryGroups(options, selectors) {\n return __awaiter(this, void 0, void 0, function* () {\n return yield Group.serverCallStatic('getSecondaryGroups', [\n { options, class: Group.class },\n selectors,\n ]);\n });\n }\n}\nexports.default = Group;\nGroup.class = 'Group';\nclient_1.Nymph.setEntityClass(Group.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 init() {\n if (this.removeNymphResponseListener) {\n this.removeNymphResponseListener();\n }\n this.removeNymphResponseListener = client_1.Nymph.on('response', (response) => User.handleToken(response));\n User.handleToken();\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 client_1.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 response = yield this.$serverCall('$register', [data]);\n if (response.result) {\n for (let i = 0; i < User.registerCallbacks.length; i++) {\n User.registerCallbacks[i] && User.registerCallbacks[i](this);\n }\n }\n if (response.loggedin) {\n User.currentUser = this;\n User.handleToken();\n for (let i = 0; i < User.loginCallbacks.length; i++) {\n User.loginCallbacks[i] && User.loginCallbacks[i](this);\n }\n }\n return response;\n });\n }\n $logout() {\n return __awaiter(this, void 0, void 0, function* () {\n const response = yield this.$serverCall('$logout', []);\n if (response.result) {\n User.currentUser = undefined;\n User.handleToken();\n for (let i = 0; i < User.logoutCallbacks.length; i++) {\n User.logoutCallbacks[i] && User.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 (User.currentUser !== undefined) {\n return User.currentUser;\n }\n if (!User.currentUserPromise) {\n User.currentUserPromise = User.serverCallStatic('current', [false]).then((user) => {\n User.currentUser = user !== null && user !== void 0 ? user : undefined;\n User.currentUserPromise = undefined;\n return user;\n });\n }\n yield User.currentUserPromise;\n if (User.currentUser == null) {\n return returnObjectIfNotExist ? User.factorySync() : null;\n }\n return User.currentUser;\n });\n }\n static loginUser(data) {\n return __awaiter(this, void 0, void 0, function* () {\n const response = yield User.serverCallStatic('loginUser', [data]);\n if (response.result) {\n User.currentUser = response.user;\n User.handleToken();\n for (let i = 0; i < User.loginCallbacks.length; i++) {\n User.loginCallbacks[i] && User.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 User.serverCallStatic('sendRecovery', [data]);\n });\n }\n static recover(data) {\n return __awaiter(this, void 0, void 0, function* () {\n return yield User.serverCallStatic('recover', [data]);\n });\n }\n static getClientConfig() {\n return __awaiter(this, void 0, void 0, function* () {\n if (User.clientConfig) {\n return User.clientConfig;\n }\n if (!User.clientConfigPromise) {\n User.clientConfigPromise = User.serverCallStatic('getClientConfig', []).then((config) => {\n User.clientConfig = config;\n User.clientConfigPromise = undefined;\n return config;\n });\n }\n return yield User.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 client_1.Nymph.setXsrfToken(null);\n if (client_1.PubSub.isConfigured()) {\n client_1.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 client_1.Nymph.setXsrfToken(jwt.xsrfToken);\n if (client_1.PubSub.isConfigured()) {\n client_1.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 = [];\nclient_1.Nymph.setEntityClass(User.class, User);\nUser.init();\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","Nymph","setEntityClass","currentToken","User","groups","inheritAbilities","removeNymphResponseListener","on","response","handleToken","username","entity","getEntity","type","ilike","replace","s","$checkUsername","$checkPhone","$register","data","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","isConfigured","setToken","base64","split","json","atob","Buffer","from","toString","jwt","JSON","parse","xsrfToken","event","callback","prop","hasOwnProperty","Error","push","off","indexOf","splice","init","__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 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__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","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","default","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":""}
|
package/lib/Group.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Entity, Options, Selector } from '@nymphjs/client';
|
|
2
|
-
import User
|
|
2
|
+
import type User from './User';
|
|
3
|
+
import type { CurrentUserData } from './User';
|
|
3
4
|
export declare type GroupData = {
|
|
4
5
|
groupname?: string;
|
|
5
6
|
name?: string;
|
package/lib/Group.js
CHANGED
|
@@ -66,16 +66,16 @@ class Group extends client_1.Entity {
|
|
|
66
66
|
}
|
|
67
67
|
static getPrimaryGroups(options, selectors) {
|
|
68
68
|
return __awaiter(this, void 0, void 0, function* () {
|
|
69
|
-
return yield
|
|
70
|
-
{ options, class:
|
|
69
|
+
return yield this.serverCallStatic('getPrimaryGroups', [
|
|
70
|
+
{ options, class: this.class },
|
|
71
71
|
selectors,
|
|
72
72
|
]);
|
|
73
73
|
});
|
|
74
74
|
}
|
|
75
75
|
static getSecondaryGroups(options, selectors) {
|
|
76
76
|
return __awaiter(this, void 0, void 0, function* () {
|
|
77
|
-
return yield
|
|
78
|
-
{ options, class:
|
|
77
|
+
return yield this.serverCallStatic('getSecondaryGroups', [
|
|
78
|
+
{ options, class: this.class },
|
|
79
79
|
selectors,
|
|
80
80
|
]);
|
|
81
81
|
});
|
|
@@ -83,5 +83,4 @@ class Group extends client_1.Entity {
|
|
|
83
83
|
}
|
|
84
84
|
exports.default = Group;
|
|
85
85
|
Group.class = 'Group';
|
|
86
|
-
client_1.Nymph.setEntityClass(Group.class, Group);
|
|
87
86
|
//# sourceMappingURL=Group.js.map
|
package/lib/Group.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Group.js","sourceRoot":"","sources":["../src/Group.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"Group.js","sourceRoot":"","sources":["../src/Group.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,4CAA4D;AA8D5D,MAAqB,KAAM,SAAQ,eAAiB;IAIlD,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;IAED,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;;AA1EH,wBA2EC;AAzEe,WAAK,GAAG,OAAO,CAAC"}
|
package/lib/User.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { Entity } from '@nymphjs/client';
|
|
2
|
-
import Group
|
|
1
|
+
import { Nymph, Entity } from '@nymphjs/client';
|
|
2
|
+
import type Group from './Group';
|
|
3
|
+
import type { AdminGroupData, CurrentGroupData } from './Group';
|
|
3
4
|
export declare type EventType = 'register' | 'login' | 'logout';
|
|
4
5
|
export declare type RegisterCallback = (user: User & CurrentUserData) => void;
|
|
5
6
|
export declare type LoginCallback = (user: User & CurrentUserData) => void;
|
|
@@ -45,6 +46,9 @@ export declare type AdminUserData = CurrentUserData & {
|
|
|
45
46
|
passwordTemp?: string;
|
|
46
47
|
};
|
|
47
48
|
export default class User extends Entity<UserData> {
|
|
49
|
+
static set nymph(value: Nymph);
|
|
50
|
+
static get nymph(): Nymph;
|
|
51
|
+
private static nymphValue;
|
|
48
52
|
static class: string;
|
|
49
53
|
private static registerCallbacks;
|
|
50
54
|
private static loginCallbacks;
|
|
@@ -54,7 +58,6 @@ export default class User extends Entity<UserData> {
|
|
|
54
58
|
private static currentUser?;
|
|
55
59
|
private static currentUserPromise?;
|
|
56
60
|
private static removeNymphResponseListener?;
|
|
57
|
-
static init(): void;
|
|
58
61
|
constructor(guid?: string);
|
|
59
62
|
static factory(guid?: string): Promise<User & UserData>;
|
|
60
63
|
static factoryUsername(username?: string): Promise<User & UserData>;
|
package/lib/User.js
CHANGED
|
@@ -21,12 +21,16 @@ class User extends client_1.Entity {
|
|
|
21
21
|
this.$data.inheritAbilities = true;
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
|
-
static
|
|
24
|
+
static set nymph(value) {
|
|
25
|
+
this.nymphValue = value;
|
|
25
26
|
if (this.removeNymphResponseListener) {
|
|
26
27
|
this.removeNymphResponseListener();
|
|
27
28
|
}
|
|
28
|
-
this.removeNymphResponseListener =
|
|
29
|
-
|
|
29
|
+
this.removeNymphResponseListener = this.nymph.on('response', (response) => this.handleToken(response));
|
|
30
|
+
this.handleToken();
|
|
31
|
+
}
|
|
32
|
+
static get nymph() {
|
|
33
|
+
return this.nymphValue;
|
|
30
34
|
}
|
|
31
35
|
static factory(guid) {
|
|
32
36
|
const _super = Object.create(null, {
|
|
@@ -40,7 +44,7 @@ class User extends client_1.Entity {
|
|
|
40
44
|
return __awaiter(this, void 0, void 0, function* () {
|
|
41
45
|
const entity = new this();
|
|
42
46
|
if (username != null) {
|
|
43
|
-
const entity = yield
|
|
47
|
+
const entity = yield this.nymph.getEntity({
|
|
44
48
|
class: this,
|
|
45
49
|
}, {
|
|
46
50
|
type: '&',
|
|
@@ -78,17 +82,18 @@ class User extends client_1.Entity {
|
|
|
78
82
|
}
|
|
79
83
|
$register(data) {
|
|
80
84
|
return __awaiter(this, void 0, void 0, function* () {
|
|
85
|
+
const UserClass = this.constructor;
|
|
81
86
|
const response = yield this.$serverCall('$register', [data]);
|
|
82
87
|
if (response.result) {
|
|
83
|
-
for (let i = 0; i <
|
|
84
|
-
|
|
88
|
+
for (let i = 0; i < UserClass.registerCallbacks.length; i++) {
|
|
89
|
+
UserClass.registerCallbacks[i] && UserClass.registerCallbacks[i](this);
|
|
85
90
|
}
|
|
86
91
|
}
|
|
87
92
|
if (response.loggedin) {
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
for (let i = 0; i <
|
|
91
|
-
|
|
93
|
+
UserClass.currentUser = this;
|
|
94
|
+
UserClass.handleToken();
|
|
95
|
+
for (let i = 0; i < UserClass.loginCallbacks.length; i++) {
|
|
96
|
+
UserClass.loginCallbacks[i] && UserClass.loginCallbacks[i](this);
|
|
92
97
|
}
|
|
93
98
|
}
|
|
94
99
|
return response;
|
|
@@ -96,12 +101,13 @@ class User extends client_1.Entity {
|
|
|
96
101
|
}
|
|
97
102
|
$logout() {
|
|
98
103
|
return __awaiter(this, void 0, void 0, function* () {
|
|
104
|
+
const UserClass = this.constructor;
|
|
99
105
|
const response = yield this.$serverCall('$logout', []);
|
|
100
106
|
if (response.result) {
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
for (let i = 0; i <
|
|
104
|
-
|
|
107
|
+
UserClass.currentUser = undefined;
|
|
108
|
+
UserClass.handleToken();
|
|
109
|
+
for (let i = 0; i < UserClass.logoutCallbacks.length; i++) {
|
|
110
|
+
UserClass.logoutCallbacks[i] && UserClass.logoutCallbacks[i](this);
|
|
105
111
|
}
|
|
106
112
|
}
|
|
107
113
|
return response;
|
|
@@ -119,31 +125,31 @@ class User extends client_1.Entity {
|
|
|
119
125
|
}
|
|
120
126
|
static current(returnObjectIfNotExist) {
|
|
121
127
|
return __awaiter(this, void 0, void 0, function* () {
|
|
122
|
-
if (
|
|
123
|
-
return
|
|
128
|
+
if (this.currentUser !== undefined) {
|
|
129
|
+
return this.currentUser;
|
|
124
130
|
}
|
|
125
|
-
if (!
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
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;
|
|
129
135
|
return user;
|
|
130
136
|
});
|
|
131
137
|
}
|
|
132
|
-
yield
|
|
133
|
-
if (
|
|
134
|
-
return returnObjectIfNotExist ?
|
|
138
|
+
yield this.currentUserPromise;
|
|
139
|
+
if (this.currentUser == null) {
|
|
140
|
+
return returnObjectIfNotExist ? this.factorySync() : null;
|
|
135
141
|
}
|
|
136
|
-
return
|
|
142
|
+
return this.currentUser;
|
|
137
143
|
});
|
|
138
144
|
}
|
|
139
145
|
static loginUser(data) {
|
|
140
146
|
return __awaiter(this, void 0, void 0, function* () {
|
|
141
|
-
const response = yield
|
|
147
|
+
const response = yield this.serverCallStatic('loginUser', [data]);
|
|
142
148
|
if (response.result) {
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
for (let i = 0; i <
|
|
146
|
-
|
|
149
|
+
this.currentUser = response.user;
|
|
150
|
+
this.handleToken();
|
|
151
|
+
for (let i = 0; i < this.loginCallbacks.length; i++) {
|
|
152
|
+
this.loginCallbacks[i] && this.loginCallbacks[i](response.user);
|
|
147
153
|
}
|
|
148
154
|
}
|
|
149
155
|
return response;
|
|
@@ -151,27 +157,27 @@ class User extends client_1.Entity {
|
|
|
151
157
|
}
|
|
152
158
|
static sendRecovery(data) {
|
|
153
159
|
return __awaiter(this, void 0, void 0, function* () {
|
|
154
|
-
return yield
|
|
160
|
+
return yield this.serverCallStatic('sendRecovery', [data]);
|
|
155
161
|
});
|
|
156
162
|
}
|
|
157
163
|
static recover(data) {
|
|
158
164
|
return __awaiter(this, void 0, void 0, function* () {
|
|
159
|
-
return yield
|
|
165
|
+
return yield this.serverCallStatic('recover', [data]);
|
|
160
166
|
});
|
|
161
167
|
}
|
|
162
168
|
static getClientConfig() {
|
|
163
169
|
return __awaiter(this, void 0, void 0, function* () {
|
|
164
|
-
if (
|
|
165
|
-
return
|
|
170
|
+
if (this.clientConfig) {
|
|
171
|
+
return this.clientConfig;
|
|
166
172
|
}
|
|
167
|
-
if (!
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
173
|
+
if (!this.clientConfigPromise) {
|
|
174
|
+
this.clientConfigPromise = this.serverCallStatic('getClientConfig', []).then((config) => {
|
|
175
|
+
this.clientConfig = config;
|
|
176
|
+
this.clientConfigPromise = undefined;
|
|
171
177
|
return config;
|
|
172
178
|
});
|
|
173
179
|
}
|
|
174
|
-
return yield
|
|
180
|
+
return yield this.clientConfigPromise;
|
|
175
181
|
});
|
|
176
182
|
}
|
|
177
183
|
static handleToken(response) {
|
|
@@ -190,9 +196,9 @@ class User extends client_1.Entity {
|
|
|
190
196
|
if (currentToken !== token) {
|
|
191
197
|
if (token == null || token === '') {
|
|
192
198
|
if (currentToken != null) {
|
|
193
|
-
|
|
194
|
-
if (
|
|
195
|
-
|
|
199
|
+
this.nymph.setXsrfToken(null);
|
|
200
|
+
if (this.nymph.pubsub) {
|
|
201
|
+
this.nymph.pubsub.setToken(null);
|
|
196
202
|
}
|
|
197
203
|
currentToken = null;
|
|
198
204
|
}
|
|
@@ -204,9 +210,9 @@ class User extends client_1.Entity {
|
|
|
204
210
|
? Buffer.from(base64, 'base64').toString('binary')
|
|
205
211
|
: atob(base64);
|
|
206
212
|
const jwt = JSON.parse(json);
|
|
207
|
-
|
|
208
|
-
if (
|
|
209
|
-
|
|
213
|
+
this.nymph.setXsrfToken(jwt.xsrfToken);
|
|
214
|
+
if (this.nymph.pubsub) {
|
|
215
|
+
this.nymph.pubsub.setToken(token);
|
|
210
216
|
}
|
|
211
217
|
currentToken = token;
|
|
212
218
|
}
|
|
@@ -237,6 +243,4 @@ User.class = 'User';
|
|
|
237
243
|
User.registerCallbacks = [];
|
|
238
244
|
User.loginCallbacks = [];
|
|
239
245
|
User.logoutCallbacks = [];
|
|
240
|
-
client_1.Nymph.setEntityClass(User.class, User);
|
|
241
|
-
User.init();
|
|
242
246
|
//# sourceMappingURL=User.js.map
|
package/lib/User.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"User.js","sourceRoot":"","sources":["../src/User.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"User.js","sourceRoot":"","sources":["../src/User.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.20",
|
|
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.0.
|
|
43
|
-
"ts-loader": "^9.2.
|
|
44
|
-
"typescript": "^4.
|
|
45
|
-
"webpack": "^5.
|
|
46
|
-
"webpack-cli": "^4.
|
|
40
|
+
"@types/jest": "^27.0.2",
|
|
41
|
+
"jest": "^27.3.1",
|
|
42
|
+
"ts-jest": "^27.0.7",
|
|
43
|
+
"ts-loader": "^9.2.6",
|
|
44
|
+
"typescript": "^4.5.2",
|
|
45
|
+
"webpack": "^5.64.1",
|
|
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.20"
|
|
50
50
|
},
|
|
51
|
-
"gitHead": "
|
|
51
|
+
"gitHead": "4191b5824ea6ef71557f2357a30069d5d4e98a89"
|
|
52
52
|
}
|
package/src/Group.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Entity, Options, Selector } from '@nymphjs/client';
|
|
2
2
|
|
|
3
|
-
import User
|
|
3
|
+
import type User from './User';
|
|
4
|
+
import type { CurrentUserData } from './User';
|
|
4
5
|
|
|
5
6
|
export type GroupData = {
|
|
6
7
|
/**
|
|
@@ -119,8 +120,8 @@ export default class Group extends Entity<GroupData> {
|
|
|
119
120
|
options?: Options,
|
|
120
121
|
selectors?: Selector[]
|
|
121
122
|
): Promise<(Group & GroupData)[]> {
|
|
122
|
-
return await
|
|
123
|
-
{ options, class:
|
|
123
|
+
return await this.serverCallStatic('getPrimaryGroups', [
|
|
124
|
+
{ options, class: this.class },
|
|
124
125
|
selectors,
|
|
125
126
|
]);
|
|
126
127
|
}
|
|
@@ -129,11 +130,9 @@ export default class Group extends Entity<GroupData> {
|
|
|
129
130
|
options?: Options,
|
|
130
131
|
selectors?: Selector[]
|
|
131
132
|
): Promise<(Group & GroupData)[]> {
|
|
132
|
-
return await
|
|
133
|
-
{ options, class:
|
|
133
|
+
return await this.serverCallStatic('getSecondaryGroups', [
|
|
134
|
+
{ options, class: this.class },
|
|
134
135
|
selectors,
|
|
135
136
|
]);
|
|
136
137
|
}
|
|
137
138
|
}
|
|
138
|
-
|
|
139
|
-
Nymph.setEntityClass(Group.class, Group);
|
package/src/User.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { Nymph, Entity
|
|
1
|
+
import { Nymph, Entity } from '@nymphjs/client';
|
|
2
2
|
|
|
3
|
-
import Group
|
|
3
|
+
import type Group from './Group';
|
|
4
|
+
import type { AdminGroupData, CurrentGroupData } from './Group';
|
|
4
5
|
|
|
5
6
|
export type EventType = 'register' | 'login' | 'logout';
|
|
6
7
|
export type RegisterCallback = (user: User & CurrentUserData) => void;
|
|
@@ -127,6 +128,24 @@ export type AdminUserData = CurrentUserData & {
|
|
|
127
128
|
let currentToken: string | null = null;
|
|
128
129
|
|
|
129
130
|
export default class User extends Entity<UserData> {
|
|
131
|
+
/**
|
|
132
|
+
* Adds listeners to Nymph to handle authentication changes.
|
|
133
|
+
*/
|
|
134
|
+
public static set nymph(value: Nymph) {
|
|
135
|
+
this.nymphValue = value;
|
|
136
|
+
|
|
137
|
+
if (this.removeNymphResponseListener) {
|
|
138
|
+
this.removeNymphResponseListener();
|
|
139
|
+
}
|
|
140
|
+
this.removeNymphResponseListener = this.nymph.on('response', (response) =>
|
|
141
|
+
this.handleToken(response)
|
|
142
|
+
);
|
|
143
|
+
this.handleToken();
|
|
144
|
+
}
|
|
145
|
+
public static get nymph() {
|
|
146
|
+
return this.nymphValue;
|
|
147
|
+
}
|
|
148
|
+
private static nymphValue: Nymph;
|
|
130
149
|
// The name of the server class
|
|
131
150
|
public static class = 'User';
|
|
132
151
|
private static registerCallbacks: RegisterCallback[] = [];
|
|
@@ -138,20 +157,6 @@ export default class User extends Entity<UserData> {
|
|
|
138
157
|
private static currentUserPromise?: Promise<(User & CurrentUserData) | null>;
|
|
139
158
|
private static removeNymphResponseListener?: () => void;
|
|
140
159
|
|
|
141
|
-
/**
|
|
142
|
-
* No need to call this function yourself. It is called when the class is
|
|
143
|
-
* loaded. It adds listeners to Nymph to handle authentication changes.
|
|
144
|
-
*/
|
|
145
|
-
public static init() {
|
|
146
|
-
if (this.removeNymphResponseListener) {
|
|
147
|
-
this.removeNymphResponseListener();
|
|
148
|
-
}
|
|
149
|
-
this.removeNymphResponseListener = Nymph.on('response', (response) =>
|
|
150
|
-
User.handleToken(response)
|
|
151
|
-
);
|
|
152
|
-
User.handleToken();
|
|
153
|
-
}
|
|
154
|
-
|
|
155
160
|
constructor(guid?: string) {
|
|
156
161
|
super(guid);
|
|
157
162
|
|
|
@@ -170,7 +175,7 @@ export default class User extends Entity<UserData> {
|
|
|
170
175
|
static async factoryUsername(username?: string): Promise<User & UserData> {
|
|
171
176
|
const entity = new this();
|
|
172
177
|
if (username != null) {
|
|
173
|
-
const entity = await
|
|
178
|
+
const entity = await this.nymph.getEntity(
|
|
174
179
|
{
|
|
175
180
|
class: this,
|
|
176
181
|
},
|
|
@@ -218,29 +223,31 @@ export default class User extends Entity<UserData> {
|
|
|
218
223
|
public async $register(data: {
|
|
219
224
|
password: string;
|
|
220
225
|
}): Promise<{ result: boolean; loggedin: boolean; message: string }> {
|
|
226
|
+
const UserClass = this.constructor as typeof User;
|
|
221
227
|
const response = await this.$serverCall('$register', [data]);
|
|
222
228
|
if (response.result) {
|
|
223
|
-
for (let i = 0; i <
|
|
224
|
-
|
|
229
|
+
for (let i = 0; i < UserClass.registerCallbacks.length; i++) {
|
|
230
|
+
UserClass.registerCallbacks[i] && UserClass.registerCallbacks[i](this);
|
|
225
231
|
}
|
|
226
232
|
}
|
|
227
233
|
if (response.loggedin) {
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
for (let i = 0; i <
|
|
231
|
-
|
|
234
|
+
UserClass.currentUser = this;
|
|
235
|
+
UserClass.handleToken();
|
|
236
|
+
for (let i = 0; i < UserClass.loginCallbacks.length; i++) {
|
|
237
|
+
UserClass.loginCallbacks[i] && UserClass.loginCallbacks[i](this);
|
|
232
238
|
}
|
|
233
239
|
}
|
|
234
240
|
return response;
|
|
235
241
|
}
|
|
236
242
|
|
|
237
243
|
public async $logout(): Promise<{ result: boolean; message: string }> {
|
|
244
|
+
const UserClass = this.constructor as typeof User;
|
|
238
245
|
const response = await this.$serverCall('$logout', []);
|
|
239
246
|
if (response.result) {
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
for (let i = 0; i <
|
|
243
|
-
|
|
247
|
+
UserClass.currentUser = undefined;
|
|
248
|
+
UserClass.handleToken();
|
|
249
|
+
for (let i = 0; i < UserClass.logoutCallbacks.length; i++) {
|
|
250
|
+
UserClass.logoutCallbacks[i] && UserClass.logoutCallbacks[i](this);
|
|
244
251
|
}
|
|
245
252
|
}
|
|
246
253
|
return response;
|
|
@@ -266,23 +273,23 @@ export default class User extends Entity<UserData> {
|
|
|
266
273
|
public static async current(
|
|
267
274
|
returnObjectIfNotExist?: boolean
|
|
268
275
|
): Promise<(User & CurrentUserData) | null> {
|
|
269
|
-
if (
|
|
270
|
-
return
|
|
276
|
+
if (this.currentUser !== undefined) {
|
|
277
|
+
return this.currentUser;
|
|
271
278
|
}
|
|
272
|
-
if (!
|
|
273
|
-
|
|
279
|
+
if (!this.currentUserPromise) {
|
|
280
|
+
this.currentUserPromise = this.serverCallStatic('current', [false]).then(
|
|
274
281
|
(user: (User & CurrentUserData) | null) => {
|
|
275
|
-
|
|
276
|
-
|
|
282
|
+
this.currentUser = user ?? undefined;
|
|
283
|
+
this.currentUserPromise = undefined;
|
|
277
284
|
return user;
|
|
278
285
|
}
|
|
279
286
|
);
|
|
280
287
|
}
|
|
281
|
-
await
|
|
282
|
-
if (
|
|
283
|
-
return returnObjectIfNotExist ?
|
|
288
|
+
await this.currentUserPromise;
|
|
289
|
+
if (this.currentUser == null) {
|
|
290
|
+
return returnObjectIfNotExist ? this.factorySync() : null;
|
|
284
291
|
}
|
|
285
|
-
return
|
|
292
|
+
return this.currentUser;
|
|
286
293
|
}
|
|
287
294
|
|
|
288
295
|
public static async loginUser(data: {
|
|
@@ -293,12 +300,12 @@ export default class User extends Entity<UserData> {
|
|
|
293
300
|
message: string;
|
|
294
301
|
user?: User & CurrentUserData;
|
|
295
302
|
}> {
|
|
296
|
-
const response = await
|
|
303
|
+
const response = await this.serverCallStatic('loginUser', [data]);
|
|
297
304
|
if (response.result) {
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
for (let i = 0; i <
|
|
301
|
-
|
|
305
|
+
this.currentUser = response.user;
|
|
306
|
+
this.handleToken();
|
|
307
|
+
for (let i = 0; i < this.loginCallbacks.length; i++) {
|
|
308
|
+
this.loginCallbacks[i] && this.loginCallbacks[i](response.user);
|
|
302
309
|
}
|
|
303
310
|
}
|
|
304
311
|
return response;
|
|
@@ -308,7 +315,7 @@ export default class User extends Entity<UserData> {
|
|
|
308
315
|
recoveryType: 'username' | 'password';
|
|
309
316
|
account: string;
|
|
310
317
|
}): Promise<{ result: boolean; message: string }> {
|
|
311
|
-
return await
|
|
318
|
+
return await this.serverCallStatic('sendRecovery', [data]);
|
|
312
319
|
}
|
|
313
320
|
|
|
314
321
|
public static async recover(data: {
|
|
@@ -316,24 +323,24 @@ export default class User extends Entity<UserData> {
|
|
|
316
323
|
secret: string;
|
|
317
324
|
password: string;
|
|
318
325
|
}): Promise<{ result: boolean; message: string }> {
|
|
319
|
-
return await
|
|
326
|
+
return await this.serverCallStatic('recover', [data]);
|
|
320
327
|
}
|
|
321
328
|
|
|
322
329
|
public static async getClientConfig(): Promise<ClientConfig> {
|
|
323
|
-
if (
|
|
324
|
-
return
|
|
330
|
+
if (this.clientConfig) {
|
|
331
|
+
return this.clientConfig;
|
|
325
332
|
}
|
|
326
|
-
if (!
|
|
327
|
-
|
|
333
|
+
if (!this.clientConfigPromise) {
|
|
334
|
+
this.clientConfigPromise = this.serverCallStatic(
|
|
328
335
|
'getClientConfig',
|
|
329
336
|
[]
|
|
330
337
|
).then((config) => {
|
|
331
|
-
|
|
332
|
-
|
|
338
|
+
this.clientConfig = config;
|
|
339
|
+
this.clientConfigPromise = undefined;
|
|
333
340
|
return config;
|
|
334
341
|
});
|
|
335
342
|
}
|
|
336
|
-
return await
|
|
343
|
+
return await this.clientConfigPromise;
|
|
337
344
|
}
|
|
338
345
|
|
|
339
346
|
private static handleToken(response?: Response) {
|
|
@@ -353,9 +360,9 @@ export default class User extends Entity<UserData> {
|
|
|
353
360
|
if (currentToken !== token) {
|
|
354
361
|
if (token == null || token === '') {
|
|
355
362
|
if (currentToken != null) {
|
|
356
|
-
|
|
357
|
-
if (
|
|
358
|
-
|
|
363
|
+
this.nymph.setXsrfToken(null);
|
|
364
|
+
if (this.nymph.pubsub) {
|
|
365
|
+
this.nymph.pubsub.setToken(null);
|
|
359
366
|
}
|
|
360
367
|
currentToken = null;
|
|
361
368
|
}
|
|
@@ -367,9 +374,9 @@ export default class User extends Entity<UserData> {
|
|
|
367
374
|
? Buffer.from(base64, 'base64').toString('binary') // node
|
|
368
375
|
: atob(base64); // browser
|
|
369
376
|
const jwt = JSON.parse(json);
|
|
370
|
-
|
|
371
|
-
if (
|
|
372
|
-
|
|
377
|
+
this.nymph.setXsrfToken(jwt.xsrfToken);
|
|
378
|
+
if (this.nymph.pubsub) {
|
|
379
|
+
this.nymph.pubsub.setToken(token);
|
|
373
380
|
}
|
|
374
381
|
currentToken = token;
|
|
375
382
|
}
|
|
@@ -430,7 +437,3 @@ export default class User extends Entity<UserData> {
|
|
|
430
437
|
return true;
|
|
431
438
|
}
|
|
432
439
|
}
|
|
433
|
-
|
|
434
|
-
Nymph.setEntityClass(User.class, User);
|
|
435
|
-
|
|
436
|
-
User.init();
|